cpu设计-->简单cpu组成

从逻辑上讲,大家都知道计算机是由运算器、控制器、存储器、输入设备和输出设备组成的。这仅仅是一个极其概括的认识,是非专业的理解。对于想要设计CPU的人来说,这种粗浅的理解显然是差距太大了。即使是最简单的计算机CPU结构,也远不是“运算器和控制器统称CPU”的那种概念,而实际应该理解成:计算机的CPU是由控制单位、运算单位和存储单位构成的。什么是控制单位、运算单位和存储单位?在图 3-1中我们用三种颜色粗略地给出了一个简单的CPU结构,从左向右分别是控制单位、运算单位和存储单位。

控制单位有指令寄存器ir,还有控制逻辑control等。运算单位有运算器alu和它的前端寄存器A、B及各种运算控制逻辑。存储单位包含的器件较多,有程序存储器irom与程序计数器pc,数据存储器dram和地址寄存器mar,还有累加器da和输出寄存器out等。它们表示的仅是一个非常简单的CPU结构。这种结构将设备通过公共线路相互关联,公共使用的线路在我国一般称为总线。多个设备连接的公共线路中导线通常都会有多条,有时候人们也将多条导线组成的线路也叫总线。这种将多股线称为总线的叫法是一种习惯,实际上很容易区别。

用总线进行连接各种设备的结构称为总线结构。总线结构是计算机设计的一种基本结构,在相当长的时间内是计算机结构设计的标准。总线结构数据传递方式是广播式的。在总线上连接的设备,不能同时有2个,或者多于2个的设备向总线输送数据,这样会造成数据混乱。反过来,一个设备发送到总线上的数据,所有连接在总线上的其他设备都可以同时接收。

图 3-1中这个简单的计算机CPU用一个只读存储器irom放置程序,指令地址由寄存器pc指示。由于pc是专门指示指令地址的,习惯上人们称之为程序计数器。可进行读写的存储器dram是专门放置数据的,因而称为数据存储器。dram的存储单元地址由寄存器mar来指示,mar叫地址寄存器。独立的寄存器da用来临时存放数据,特别是存放一些指令执行的中间运算结果,人们一般称之为累加器。寄存器out用来保持输出数据,被称为输出寄存器。ALU是运算器,ALU一般可以进行算术运算和逻辑运等多种运算,A、B是它的前端寄存器,用以保持参与运算的数据。ALU实行运算时,参加运算的数据必须是稳定的,所以要有前端寄存器来保证数据的稳定性。

从逻辑上讲,irom、dram是这个计算机的存储器,它们和临时存放数据的mar、da、out和pc等寄存器构成了这个计算机的存储单位。存储单位是保存程序和数据的地方,长时间保存的数据要放在存储器当中,临时性保存的数据一般放在寄存器中。寄存器中的数据读写速度快,而对存储器中的数据进行读写,相对来说就慢一些。

ALU负责数据计算。各种运算的设备是不一样的,所以ALU的内部也很复杂。比如有算数加减法运算器,乘除法运算器、逻辑运算器、浮点数运算器和其他操作设备等。

控制单位最主要的是控制器,它当中最主要的有控制矩阵、时钟振荡器和节拍器等,指令寄存器是它进行指令分析时,保存指令的临时设备。人们不进行设计研究的时候,就把指令寄存器也放到控制器当中,而不单独提到它。以往的设计很少考虑程序转移的变化,所以将累加器、程序计数器等存储设备放到了控制单位一边,并将它们统称为控制器。本书将它们划归到存储单位一边,是考虑到程序快速转移的问题。这种划分看似简单,但却引发了计算机程序运行转换的革命性变化。这是我十几年前研究程序执行“死锁”想出的办法。这种划分,引出了多处理器CPU的动态变化问题。从前很多计算机设计都将运算器的前端寄存器A和B之一做为累加器,这样很方便使用前面指令运算结果。可世间的事情往往是有一利必有一弊,这种设计并不方便程序转移到其他处理器上执行,对多处理器同处一机的并行程序执行方式,还是将累加器独立出来会更好。有关这方面的问题,我们将在动态计算机的章节中阐述。

将累加器和程序计数器放入存储单位,可以使程序的指令之间变化在控制器和运算器上不留数据,这种情况我们称为指令间处理器无关。CPU的处理器是控制单位和运算单位的统称,又叫指令执行单位或处理器,用PU(Performance Unit)来记。CPU中去除PU,剩下来的部分就是存储单位,我们用MU(Memory Unit)来记。这样一来,计算机的CPU就是PU+MU组成的。

公共总线BUS是由多条导线组成的,导线的数量一般不少于运算器或寄存器的位数。现在流行的设计,都将总线导线的数量和运算器的位数一致,当实际用不到那么多导线时,就让部分导线临时闲置。

时间: 2024-10-28 20:52:49

cpu设计-->简单cpu组成的相关文章

简单CPU设计实践

目录 开始前的话. 3 总体组成. 3 运算器. 3 补码... 3 算术单元... 4 逻辑单元... 5 算术逻辑单元... 6 移位器... 7 运算器综合... 8 溢出判断... 9 运算器设计的总结和补充... 11 寄存器组. 11 注意事项... 11 使能端... 12 构建寄存器组... 12 控制器. 13 程序计数器... 14 指令寄存器... 14 数据通路设计... 14 控制字... 15 指令译码器... 16 状态寄存器... 18 控制器综合... 18 C

cpu设计-->cpu指令设计与全程逻辑分析

CPU指令设计,除了命名之外,更重要的是分析出指令如何才能够实现.对于图 3 1的CPU结构,如果指令是预先放到irom里的,那么,指令执行时要一条一条地从irom取出来,放到ir指令寄存器中,提供给control进行分析执行.每一条指令如何转变成机器动作,CPU的设计者必须认真地进行分析和规划.这一过程叫指令全程动作分析,简称指令全程分析. 我们针对图 3-1的结构,可以尝试设计一些用符号表示的汇编指令,然后对这些汇编指令如何实现,进行细致地分析.汇编指令的二进制数表示就是机器指令.汇编指令和

cpu设计-->cpu必须有哪些指令

从软件的角度来看CPU,似乎CPU 就是一连串的指令符号构成的.因而,我们设计一个CPU,首先就要考虑应该设计哪些指令.计算机的指令系统需要根据任务需求来规划,一般都会有算术运算指令.逻辑运算指令.数据传送指令.访问存储器指令.结构转移指令等. 我们设计一个简单的CPU,一般也要有加.减.乘.除这四种算数运算,所以该CPU要有加.减.乘.除运算的指令.其实任何一个CPU都不能缺少算术运算的功能,因而算术运算的指令对每一个CPU都是不能缺少的指令. 如果你是一个软件编程人员,那么你一定熟悉程序的基

单周期CPU设计

终于有点时间了,恰好多周期的设计也已经完成,其实只想写写多周期的,无奈单周期补上才好,哈哈哈~ -----+-----黄金分割线-----+----- 首先要理解什么叫单周期CPU(与后面多周期CPU对比)单周期CPU指的是一条指令的执行在一个时钟周期内完成,然后开始下一条指令的执行,即一条指令用一个时钟周期完成. 单周期CPU的功能:能够实现一些指令功能操作.需设计的指令与格式如下: ==>算术运算指令 (1)add rd , rs, rt  (说明:以助记符表示,是汇编指令:以代码表示,是机

多周期CPU设计

------更新一下bug(测试代码有毒)------- 和单周期CPU的设计相同,都是为了实现一系列的指令功能,但需要指出的是何为多周期(注意与前面写道的单周期的区别,这也是设计的关键之处) 多周期CPU指的是将整个CPU的执行过程分成几个阶段,每个阶段用一个时钟去完成,然后开始下一条指令的执行,而每种指令执行时所用的时钟数不尽相同,这就是所谓的多周期CPU. 理解完多周期与单周期的区别后,开始我们的多周期CPU设计之路(可以随时对应单周期的设计,注意联系与区别). 需要设计的指令及格式如下:

cpu设计过程

一款CPU是如何设计出来的? 前面一段,我们了解了芯片的制造过程,也就是如何从沙子中提取硅.把硅切成片,在片上通过离子注入实现PN结.实现各种二极管.三极管.CMOS管.从而实现千万门级大规模集成电路的大致流程.接下来,我们继续了解一下,一款CPU是如何设计出来的.集成电路设计一般分为模拟IC设计.数字IC设计以及数模混合等.而数字IC设计,比如设计一款ARM Soc CPU芯片的基本流程如下: 1)设计芯片规格:根据需求,设计出基本的框架.功能.模块划分.有些复杂的芯片可能还需要建模.使用MA

基于模型机的Micro cpu设计

第一章    模型机基本结构 由功能分析, 本次组成原理实验中设计的模型机包含下面这些部件:算术逻辑运算部件(ALU).程序计数器(PC).指令寄存器(IR).存储器(RAM).时序和微程序控制部件.模型机的数据通路为单总线结构,总线宽度为8位. 第二章    设计思想 1.基于状态机的模型机 如图1所示,整体模型机的设计采用了状态机的思想,将cpu的取指令.指令译码.指令执行所对应的操作拆分到各个状态中,并由此设计模型机的微操作. 图1 - 时钟控制信号状态机模型示意图 2.周期.节拍.脉冲制

cpu利用率和cpu 队列

SIP的第四期结束了,因为控制策略的丰富,早先的的压力测试结果已经无法反映在高并发和高压力下SIP的运行状况,因此需要重新作压力测试.跟在测试人员后面做了快一周的压力测试,压力测试的报告也正式出炉,本来也就算是告一段落,但第二天测试人员说要修改报告,由于这次作压力测试的同学是第一次作,有一个指标没有注意,因此需要修改几个测试结果.那个没有注意的指标就是load average,他和我一样开始只是注意了CPU,内存的使用状况,而没有太注意这个指标,这个指标与他们通常的限制(10左右)有差别.重新测

ARM CPU和X86 CPU的区别

CPU即中央处理器是一块超大规模的集成电路,是一台计算机的运算核心和控制核心,主要是解释计算机指令以及处理计算机软件中的数据.主要由运算器.控制器.寄存器三部分组成,担负处理指令.执行操作.控制时间.处理数据四大作用,如果没有CPU,工业主板将无法工作. 1.目前CPU主要由X86和ARM两大架构.不同架构间的差距非常大,而从最基本的逻辑角度来分类的话,可以被分为两大类,即 “复杂指令集”与“精简指令集”系统,也就是“CISC”与“RISC”. X86工控主板与ARM工控主板最主要区别是前者使用