第三章 cpu的设计

第三章 cpu的设计

ID:20499980

大小:115.50 KB

页数:20页

时间:2018-10-13

第三章 cpu的设计_第1页
第三章 cpu的设计_第2页
第三章 cpu的设计_第3页
第三章 cpu的设计_第4页
第三章 cpu的设计_第5页
资源描述:

《第三章 cpu的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第三章CPU的设计3.1引言如果说前面指令集的设计是计算机处理器设计的蓝图,那么如何实现将直接影响到指令集的性能,而处理器实现中的一些问题也会或多或少地影响到指令集的设计。RISC思想的提出,就是针对CISC指令集处理器实现中的困难,从简化指令集出发,降低处理器实现的复杂度,达到降低处理器的开发成本,提高处理器并行度的目的。处理器实现直接影响到两个重要的性能指标:每条指令实现时钟数(clockperinstruction,CPI)和时钟频率。正象一个木桶能装水的多少取决于它最短一块木头的长度,处理器中各部件最慢

2、的一个决定了处理器的时钟频率,所以处理器的设计必须使每个部件都能以相近的速率协调运行。通常,我们把处理器又分为两部分:一部分执行算术逻辑运算,以完成"计算机"的计算功能,通常称为数据通道,另一部分则解释计算机机器指令代码,并按这些代码发出控制信号控制数据通道的工作以完成指令,称为控制器。前者由ALU(算术逻辑运算模块,Arithmeticlogicunit)和一些寄存器构成,为处理器工作时数据实际流过的路径,故称为数据通道;后一部分则是处理器中的主控部分,是将指令转换为实际硬件动作的桥梁,故而设计上最复杂,也最

3、容易体现一种处理器的特色。一般处理器的设计主要就是指控制器设计。3.2数据通道(datapath)数据通道是处理器中处理数据的部件,数据从主存取出,经数据通道的处理,得到所需要的结果后,再送回主存存放。整个数据通道的执行受控制器的控制,实际上也就是受指令的控制。图3.1典型的数据通道组成示意图图3.1是一个典型的数据通道组成示意图,在图中也表示出了控制器、主存与数据通道的密切关系,数据通道本身由一个算术逻辑部件(ArithmeticLogicUnits,ALU)和一些寄存器组成,并包括两者间的通信渠道。在冯·纽

4、曼体系中,程序数据的地位是等同的,一起存储在主存中,为了得到适由数据通道执行的指令,首先必须在主存中寻找到指令。这项工作由一个叫程序计数器(ProgramCounter,PC)的部件来完成。PC是一个专用的寄存器,存放当前所执行指令的地址,供控制器读取指令时使用。同时,这个寄存器必须随时改变存放的内容,以便使程序能按序执行下去。比如,在正常情况下,每条指令执行前都必须将PC中的值增加一个指令长度,取顺序执行的下一条指令,这项工作则由ALU完成。ALU不仅是一个可以完成PC递增功能的部件,还是一个通用的计算功能模

5、块。它能独立完成所有的基本运算如加,减,与,或,异或和移位等,另外还可以在控制器的控制下完成一些更复杂的运算如乘除等,同时也能够对数据不加处理而直接传送。由于冯纽曼体系计算机的基本功能就是数值计算,因此ALU具有十分重要的地位。与寄存器部件不同,它是一种非记忆的逻辑部件,其输出完全依赖于当前输入;而寄存器部件则具有内部状态,其输出由当前输入和内部状态共同决定,建去的输入会影响内部状态,从而使寄存器具有记忆。MAR和MDR是为了访问内存而设的。MAR即MemoryAddressRegister,存放访问内存的地址

6、,MDR则是memorydataregister,存放从内存取回的数据,它们的作用在后面还要讲到。此外,Temp是一个数据访问中起着暂存作用的寄存器,IAR专为中断使用。上述这些寄存器为专用寄存器,它们的特点是一般对用户是透明的,用户或者不能直接控制它们的内容(如PC和IAR),或者完全是处理器内部实现的细节,用户根本不知道它们的存在(如MAR,MDR,Temp等)。这些寄存器为了完成处理器的某些特定功能而设,而不能自由地用于数据计算,这也是专用寄存器这个名称的来由。与专用寄存器相对应的是通用寄存器,顾名思义,

7、它们就是能被用户自动地用于数据计算中的寄存器。在许多计算机中,以R1,R2...Rn来命名它们,它们的使用没有差别。多个通用寄存器合起来组成一个寄存器堆(registerfile),它们也是存贮器层次结构中的最高层,属于最小也是最快的数据暂存部件。因此,如何最大限度地在计算中利用通用寄存器是提高编译器性能的关键。内部总线将各寄存器与ALU连接起来,在我们的例子中,这样的总线共有三条:两条源总线S1,S2和一条目的总线Dest。S1,S2传递ALU的源操作数级ALU,Dest则将ALU运算的结果送回各寄存器,这时

8、,ALU若执行直接传输功能(PASS1,将S1上的数据传到Dest或PASS2,将S2上的数据传到Dest),就可以作为源和目的总线间的传输通道,完成数据在寄存器间的数据传递。通用寄存器、一部分专用寄存器(如PC和IAR)和标志寄存器flag加在一起,就构成了程序状态(state)的主要部分,如果我们能保存这些寄存器的内容也就是说程序状态,那么以后我们只要将这些寄存器的值如数恢复成原先

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。