1、cpu中央处理器中英文对照外文翻译文献中英文资料翻译中央处理器设计摘要CPU(中央处理单元)是数字计算机的重要组成部分, 其目的是对从内存中接收的指令进行译码,同时对存储于内部寄存器、存储器或输入输出接口单元的数据执行传输、算术运算、逻辑运算以及控制操作。在外部,CPU为转换指令数据和控制信息提供一个或多个总线并从组件连接到它。在通用计算机开始的第一章,CPU作为处理器的一部分被屏蔽了。但是CPU有可能出现在很多电脑之间,小,相对简单的所谓微控制器的计算机被用在电脑和其他数字化系统中,以执行限制或专门任务。例如,一个微控制器出现在普通电脑的键盘和检测器中,但是这些组件也被屏蔽。在这种微控制器中
2、,与我们在这一章中所讨论的CPU可能十分不同。字长也许更短,(或者说4或8个字节),编制数量少,指令集有限。相对而言,性能差,但对完成任务来说足够了。最重要的是它的微控制器的成本很低,符合成本效益。在接下去的几页里,我考虑的是两个计算机的CPU,一个是一个复杂指令集计算机( CISC),另一个是精简指令集计算机(RISC)。在详细的设计检查之后,我们比较了两个CPU的性能,并提交了用来提高性能的一些方法的简要概述。最后,我们讨论了关于一般数字系统设计的设计思路。1双CPU的设计正如我们前一章提到的,一个典型的CPU通常被分成两部分:数据路径和控制单元。该数据路径由一个功能单元、登记册和内部总线
3、组成,为在功能单元、存储器以及其他计算机组件之间提供转移信息的途径。这个数据途径有可能是流水线,也有可能不是。控制单元由一个程序计数器,一个指令寄存器,控制逻辑,和可能有其他硬或微程序组成。如果数据途径是流水线那么控制单元也有可能是流水线。电脑的CPU是一个部分,要么是复杂指令集计算机( CISC),要么是精简指令集计算机(RISC),有自己的指令集架构。 本章的目的是提交两个CPU的设计,用来说明指令集,数据路径,和控制单元的构造特征的合并。该设计将自上而下,但随着先前组件设计的重新使用,来说明指令集构架在数据路径和控制单元上的影响,数据路径上的单元的影响力。这些材料广泛使用了表格和图表。虽
4、然我们重用和改变部分来自其他国家的设计,其他章节的背景信息,此处不再重复。但是,参考资料可以在这本书的前几节里找到详细的信息。这两个CPU是为了一个带有微程序控制单元的使用非流水线数据路径的复杂指令集计算机( CISC)和一个带有硬控制单元的使用流水线数据路径的精简指令集计算机(RISC)而提出的。这些是两个截然不同指令集架构,数据路径和控制单元的组合。2复杂指令集计算机我们提交的第一个设计就是为一个带有非流水线数据路径和微程序的控制单元的复杂指令集计算机而设计的。我们以介绍指令集构架为开端,它包括CPU的注册设置,教学形式,和处理方式。复杂指令集计算机( CISC)的指令集构架的性质是通过它
5、的内存到内存进行数据存取操作指示8个处理模式,两长指令格式和指令集,来为它们的执行获得重要的运行序列。我们为实施复杂指令集计算机( CISC)构架而设计一个数据路径。这个数据路径是基于最初描述的7-9节里,并纳入了8-10节里的CPU中。对登记档案,功能单元以及总线进行修改来支持现有的指令集构架。一旦数据路径被明确,被设计的一个控制单元就去完成指令集构架的执行。控制单元的设计必须涉及硬件组织和微程序组织的一个协调的定义。特别是把微程序分成微线路,然而同时也设计了它们相互影响的音序器,这是设计的关键部分。即使是指令集领域和有联系的同代码的这种协调一致的努力。以下是硬件和微代码组织的定义,我们详细
6、描述的是为运行代表的微型代码个微型线路的基本部分。2.1指令集构架图1显示了程序员获得的一套复杂指令集计算机( CISC)的寄存器。所有的注册有16位。这个注册文件有8个寄存器,从R0到R7。R0是一个寄存器,当它被作为目的来使用,作为来源和抛弃的结果来使用时她总是提供零价值。除了注册文件,还有一个程序计数器pc和堆栈指针SP。堆栈指针的出现的情况表明内存堆栈是构架的一部分。最后登记的是处理器状态寄存器PSR,它包括最右边的五个位的信息;剩下的都被假定包含0.该处理器状态寄存器包含四个存储状态位值Z,N,C,和V,他们分别位于0-3之间。另外,一个存储中断使得EI处在4的位置上。图1包含了42
7、个通过指令集进行的操作。每个操作都一个记忆和精心挑选的同位代码。根据一些明确的操作和是否分开操作,将这些操作分成4组。另外,这些状态位受到被列开的操作的影响。 图1图2给出了CPU的指令格式。通用指令格式的有五个领域。首先,OPCODE是指定的操作。接下去的两个是MODE 和 S,是被用来确定运算的地址。最后两个领域是SRC和DST,分别是3位的来源登记和目的地登记领域。此外,还有一个可选的第二个字母W,随着一些作为一个操作或一个地址的指示而出现的,而不是随着其他出现的。图2OPCODE的前两位,IR(15:14),确定了一些明确的操作和格式领域的如何使用。当这些位是00时 ,要么是没有被要求
8、的操作要么是被OPCODE隐含的操作的位置。正如图2(b)显示的,只有OPCODE领域的是需要的。右边的4个OPCODE位可以指定多达16个操作或带有暗示的操作地址。如果IR是(15:14)是01,指令有一个操作,且是数据传输或数据操作指令。因为有了一个操作,MODE领域就会为获得它而指定处理方式。单处理可能会涉及DST格式里的注册地址,所以DST领域也会被引出。S领域和SRC领域涉及到两个运算的同时出现,因此不被用于典型的单一的操作指示。但是,切换指令要求有一个切换数额来只是到底切换多少位。为获得最大的灵活性,这个切换数额是只针对像来源运算一样的的运算。因此,SAH领域和S领域是一个完整的1
9、6位运算,但它们的值只有0-15是有意义的。对带有单一运算的16位指令来说有足够的OPCODE位。图2给出了指定通过MODE领域的处理方式。MODE的前两位指定了4中不同的处理类型:注册、立即、索引以及相关的程序计数器PC。MODE的第三位明确是否地址是通过这些被用作间接处理的模式而形成。一个例外就是直接处理,它是通过运用间接立即类型而获得的。否则,如果第三位等于0的,间接处理就不适用,而如果等于1 ,间接处理就适用。对指令的注册类型来说,MONE(2:1)=00和这个W字母是不需要的。因为运算或处理是来自注册。表格的第三栏提供了注册转换为针对一个操作指令的每个处理模式的声明。 如果IR(15
10、:14) 等于10,然后有两个地址被用来正确的指令。通用指令的所有领域,其中包括S和SRC,被用于为所有指令的案件。其中一个地址,无论是来源或目的地,都使用处理模式。如果S等于0,那么来源使用被MODE指定的处理模式,且来源是注册的。如果S等于1那么目的地使用处理方式,且来源是注册的。注册转换为处理结果的描述在在表2第四次和第五次栏已给出了。此外,根据MODE领域的内容,第二个指令字母W是一个地址或立即操作,有可能存在,也有可能不存在。 带有IR(15:14)=11的指令是分流的。对切换来说除了S领域和SHA领域,它的格式和IR(15:14)=01一样的。对于这个类型的所有指令,目的地的地址(
11、而不是操作)成为新的地址放置程序计数器PC里。因此,注册模式对分支指令是无效的。 在进行下一步之前,明确数据路径来支持指令集构架,我们将简要的说明构架的特征来界定是复杂指令集计算机( CISC)或是精简指令集计算机(RISC)。在第9章里给出的大部分操作都被包括在指令集里。一些不会显示的操作是多余的。同样的动作可以通过使用带有显示指令的适当的处理模式来实现。例如,LD, ST, IN, 和 OUT都可以通过使用在内存映射结构里的MOVE指令来实现。通过查看指令的格式,我们发现大部分指令可以从来自内存的操作上进行直接操作。有8个处理模式和两种不同长度的指令格式。此外,有些的指示执行复杂的行动可被
12、视为很可能会超过一个时钟周期执行的步骤的行动。这些特征明确指出这是一个复杂指令集计算机( CISC)的架构。2.2数据路径组织不是从头开始,我们将重新使用非流水线数据路径被雇用在第8-10节里的微程序控制器,并进行修改。该数据路径显示在第8-10节,和新的数据路径,是给出的图10-6的基础上进行修改的。我们对待每个反复修改的数据路径,都是以注册文件为开端的。在第8-10节里,注册R8是被作为临时的存储位置。在新的微程序的架构,有复杂的指示要跨越许多时钟周期和执行复杂的动作。因此,更多的临时存储需要通过微程序来使用。为了满足这个需要,我们扩展了注册文件从9登记到16.前8个登记,R0-R7,对计
13、算机程序员来说是可见的。接下去的8个登记,R8-R15,是被用来作为微程序的临时存储,并从程序员那就被隐藏。图3提供了一个带有临时登记屏蔽的扩展注册文件的地图。如前所述,编程R0提供的是一个常数0.编程R1到R7可提供给程序员使用,编程R8到R15提供通用的临时存储被微程序使用,最后4个编程,R12到R15具有特殊的用途:保持简单的微型代码,标准的位置对存储的操作和被为大多数指令而执行的微代码所使用的地址来说是必不可少的。因此,R12是源地址SA,R13是源数据SD,R14是目的地地址DA,R15是目的地数据DD。 我们不能进入8个基于在指令集内可用3位登记地址的临时登记册。为了解决这个问题,
14、首先,我们提供了来自微指令的4位注册地址,其次,选择来自这些地址和微指令集的指令之间的微指令位。此外,允许注册地址的灵活性通过DST成为来源和通过SRC成为目的地,他们是需要操作结果的允可来直接存放在内存中。为了完成这个目标,我们通过增加图4所示的逻辑来修改登记档案。该指令集架构使用两个地址,一个图3是来源操作,一个是像目的地一样的其他来源。该登记册档案使用B地址的来源,以及A和D处理的文件连接在一起,从而使其他来源和目的地使用同一个地址。虽然在微指令水平上的地址从3个减少到2个是没必要的,但对在微指令中的注册地址和指令格式中的匹配使用的登记领域的位的数量的减少还是必要的。一个四倍的2比1的多
15、路复用器附属在两个地址一个一个的输入到注册文件中,在来自微指令的地址和指令的地址之间进行选择。在微指令中有5位的空间是用来合并目的地和来源地址的DSA,再增加5位空间给B地址SB。每个领域的第一个位是在微指令(0)中的登记地址和指令(0)中的登记地址之间进行选择的。如果一个指令地址被选定了,不管它是被增加的4倍2比1多功能器确定的DST还是 SRC。这个多路复用器是被第二位的DST或是 SRC控制的,取决于它们之间的一个在任何一个微指令中的第一位一个1,从而确保正确的第二位是用来确定注册地址的。0被附加到DST 和 SRC的这个三位领域的左边致使它们能狗处理RO到R7.加上其中选择来源地址的第
16、一位,是来自包括四个位的的微指令的地址以致所有的17个编程都能被达到。对注册文档最后的改变就是取代在带有在线上他们输入的开放的集成电路和带有在线上他们输出的不变的0值的文件中的存储元素R0。登记档案结果的一个特征显示在图10-4( b)中。在8个被提供的切换指令的基础上,我们发现来自第8-10节的切换器我们需要进行修改。这个修改涉及到切换逻辑的最终的位。对于合乎逻辑的切换,0要向前面一样被插入。对于右边的算术转变,她写的位是即将来的位,对于左边算术的转变,0是即将来的位。旋转切换要求来自与被给定的切换器的终端相反的位。最后,随着执行要的旋转是作为切换器的两端的一个输入而提供执行触发器的输出。这
17、些输入是由两个4比1多路复用器提供的,它们是MUX R 和MUX L,添加到一个基本的16位切换器中,所有这些都显示在图5(a)。同时,来自输入操作的适当的这些输入是由两个4比1多路复用器提供的,它们是MUX R 和MUX L,添加到一个基本的16位切换器中,所有这些都显示在图5(a)。同时,来自输入操作的适当的结束位必须送交执行触发器。一个2比1多路复用器MUX SO选择的结束位来传递到执行触发器。新的切换器的特征是在第8-10部分上代替了原来的切换器,看在图5(b)。对最初的数据路径的所有修改都显示在图5上。作为设计过程的一个部分,新的数据路径需要进行检查,以确保它具有执行指令集和处理方式
18、的所有必要的能力。当然,一些已经做出的决定就不需要再进行讨论了。例如,没有专门的乘法和部分硬件,这些操作必须被微程序执行从而控制数据路径。2.3微程序控制组织微程序控制单元伴随着图4和图5的数据路径。这个控制由四个主要部分组成。其中之一是控制单元登记:指令登记IR,程序计数器PC和堆栈指针度SP。 在一些设计PC和SP是逻辑的,它们包含在注册文件中,因此是数据路径的一部分。这里,因为它们被注册文件分开了,被并最初的程序控制使用,我们已用控制来包含他们。在控制范围内的次序是由微型程序装置提供的,它包括两个登记:控制处理登记CAR和副程式分支机构登记SBR。微程序的程序计数器,控制处理登记CAR按
19、顺序的到达下一个地址或者平行登录。随着平行登录,地址可以被设置成任何值和下一个地址,她来自包括在微图4指令里的下一地址领域的三个来源。微线路有子线路,就像程序。为了区分它们,我们把微线路叫做微程序微子线路。SBR被用来存储关于CAR的下一代地址,同时一个微子线路是在微路线的要求下为了使微程序执行转向下一个微指令。控制单元的最后一部分是指令解码器,它由组合逻辑组成,它也是CAR的下一个地址的来源。2.4微程序结构我们对微程序进行了自上而下的设计。最高一层由一个像ASM的图组成,给出了一个流动的微线路。这些线路有跟在第8-10部分中流水线CPU阶段相似的标签。但是,在这种情况下,不是表现单一的带有
20、组合逻辑的计数器,路线要求在多个周期上使用相同的硬件。在某种程度上,流动之间和路线范围内跟指令和他们的解码器是密切相关的。由于测绘光盘可用来分流的同时带有一种格式一个数据传输和操作动作,它可以通过使用测绘光盘方便的控制整个微线路之间的流动。这个流动显示在图10-8中,这个图表并不是严格的ASM图,因为每个矩形框对应的微线路代表了不同的国家而不是一个单一的国家以及对应的是多计时周期而不是单一的周期。每个指令的执行都以指令获取微指令为开端的。PC提供了地址以及已经更新的下一个地址。获取的指令被放置在IR中。指令解码过程是以使用MUX M和测绘光盘为开始的。当MM等于0时,只有前三个OPCODE的位
21、被使用,其余的位都设置为0。此外,除非前两个等于01,否则从左边起的第三位被忽视。一个五条分支的结果。这个分支被图中的五个二进制决策框代替。由于OPCODE的位是被用来指指令正在被解码的运算,在三种情况下,这个分支的目的是微线路去获取运算。在另一种情况下,程序分支地址被获取。在最后的情况下,图中的分支直接去执行。有三条途径去解除障碍取决于决策框制定的决策。这些途径维护来自在指令获取中的操作码(OPCODE)的三个位的解码,以获得转化数额参数。在两个操作撷取的最后有一个额外的决策要求。在我五个决策中的四个,一个获取操作路线是要进行的。根据操作码(OPCODE)的前三个位,要么一个单一的操作,两个
22、操作(或者一个操作加一个参数),要么一个分支地址,这二者选其一。一个操作地址和参数值被放在登记的R12到R15 (SA, SD, DA, and DD)中的为它们保留的位置。这四个执行路线表明操作在这些标准的注册位置里,以及在大多情况下,利用它们产生一个留在标准位置DD的结果。反馈路线也是使用这个标准登记位置来发现结果和它的地址。继其执行,在目的地中,大部分操作去存放结果是必要的。这个是被反馈微线路完成的。但是,一些操作没有结果写入程序中。这些操作的存在明显领先于直接引导的路径,这些路径从零操作执行,程序分支和两个操作执行到中断处理。在每个执行微线路之后,在获取下一个指令之前该程序进入了中断。
23、3.综述在这篇文章中,我们检查了两个CPU的设计:复杂指令集计算机( CISC)或是精简指令集计算机(RISC)。复杂指令集计算机( CISC)控制单元包括一个堆栈指针除了程序计数器。控制微程序位于光盘ROM中,以及一个多路复用器的组合和一个光盘ROM提供快速的指令解码。控制单元还具有广泛的跳跃和有条件的分支能力,包括微型子路线的一个层次。关于控制的微程序被模块化以致在执行关于指令的微程序中共享许多微型子路线。精简指令集计算机(RISC)控制单元是流水线的,以及已添加专门的硬件去处理分支。流水线的CPU都有数据和控制风险问题能力。我们研究任何形式的风险,像软件和硬件一页提出每个解决方案。在讨论
24、了复杂指令集计算机( CISC)或是精简指令集计算机(RISC)的性能之后,我们谈到了一些先进的概念,包括并行执行单位,带有流水线的微程序控制器组合,超流水线处理器,超标量处理器,以及高性能的预测和投机技术。最后,我们把本文中的设计技术和广泛的数字系统设计联系起来。图5参考文献1DIETMEYER,DL,Logic Design ofDigital Systems,3rd edBoston,MA: AllvnBacon,19882MANO,MMComputer Engineering:Hardware DesignEnglewood Cliffs,NJ: Prentice Hall,19883
25、HAMACHER,V C,VRANESIC,ZG,AND ZAKYSGComputer Organization, 3rd edNew York,Ny-McGrawHill,19904HENNESSY-工L,AND PATTERSON,DAComputer Architecture:A Quantitative Approach,2nd edSan Francisco,CA:Morgan Kaufmann,19965KANEGAND HEINRICH,1MIPS RISc ArchitectureEnglewood Cliffs,NJ: Prentice Hall,19926SPARC INT
26、ERNATIONALINCThe SP4尺C Architecture Manual:Version Englewood Clifts,NJ:Prentice Hall1992CENTROL PROCESSINGUNIT DESIGNSABSTRACTThe CPU is the key component of a digital computer. Its purpose is to decode instruction receied from memory and perform transfers, arithmetic, logic, and control operations
27、with data stored in internal registers, memory, or I/O interface units. Externally, the CPU provides one or more buses for transferring instructions, data, and control information to and from components connected to it. In the generic computer at the beginning of chapter 1, the CPU is a part of the
28、processor and is heavily shaded. CPUs, however, may also appear in computers. Small, relatively simple computers called microcontrollers are used in computers and in other digital systems to perform limited or specialized tasks. For example, a microcontroller is present in the keyboard and in the mo
29、nitor in the generic computer; thus, these components are also shaded. In such microcontrollers, the CPU may be quite different from those discussed in this chapter. The word lengths may be short (say, four or eight bits),the number of registers small, and the instruction sets limited. Performance,
30、relatively speaking, is poor, but adequate for the task. Most important, the cost of these microcontrollers is very low, making their use cost effective.In the following pages, we consider two computer CPUs, one for a complex instruction set computer (CISC) and the other for a reduced instruction se
31、t computer (RISC). After a detailed examination of the designs, we compare the performance of the two CPUs and present a brief overview of some methods used to enhance that performance. Finally, we relate the design ideas discussed to general digital system design.1、 Two CPU designs As mentioned in
32、previous chapters, atypical CPU is usually divided into two parts: the datapath and the control unit. The datapath consists of a function unit, registers, and internal buses that provide pathways for the transfer of information between the registers, the function unit, and other computer components. The datapath may or may not be pipelined. The control unit consists of a program counter, an instruction register, and control logic, and may be other hardwired or microprogramme
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1