chap4计算机组成原理_第1页
chap4计算机组成原理_第2页
chap4计算机组成原理_第3页
chap4计算机组成原理_第4页
chap4计算机组成原理_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

控制器:包括:

程序计数器(PC)

指令寄存器(IR)

指令译码器

时序产生器

操作控制器是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。主要功能:从内存中取出一条指令,并指出下一条指令在内存中的位置。对指令进行译码或测试,并产生相应的控制信号。输出相应的控制信号,指挥并控制CPU,内存和I/O之间的数据流动的方向。运算器包括:算术逻辑单位(ALU)累加寄存器(AC)数据缓冲寄存器(DR)状态条件寄存器(PSW)是数据加工处理部件。运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件。主要功能:执行所有的算术运算。执行所有的逻辑运算,并进行逻辑测试。算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC存储器

I/OCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制ccccc缓冲寄存器DRCPU的功能和组成CPU的主要寄存器累加寄存器ACAC通常简称为累加器。功能是:当运算器的算术逻辑单元(ALU)执行全部算术和逻辑运算时,为ALU提供一个工作区。累加寄存器暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。

2.指令寄存器IR指令寄存器用来保存当前正在执行的一条指令。存放从内存中取出的指令;其中指令的操作码送到指令译码器,译码后输出控制信号。

程序计数器PC程序计数器中存放的是下一条指令在内存中的地址。

若程序顺序执行:PCPC+1;若程序有跳转:PCPC+偏移地址。状态条件寄存器PSW

状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,同时状态条件寄存器还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。

O溢出D方向I中断允许T追踪

S符号Z零A辅助进位P奇偶

C进位

ODITSZAPCCPU的功能和组成

地址寄存器AR

地址寄存器用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。

缓冲寄存器DR

缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在缓冲寄存器中。

CPU的功能(4)数据加工:对数据进行算术运算和逻辑运算处理。完成数据的加工处理,这是CPU的根本的任务。(1)指令控制:程序是指令的有序集合,保证机器按规定的顺序执行程序。(2)操作控制:CPU管理并产生由内存取出的每条指令的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。(3)时间控制:对各种操作实施时间上的控制,计算机中各种指令的操作信号均受到时间的严格控制。指令周期程序的执行过程:

冯.诺依曼结构的计算机执行程序的顺序:

1.

从程序首地址开始。2.分步执行每一条指令,并形成下条待执行指令的地址。3.自动地连续执行指令,直到程序的最后一条指令。指令周期—读取指令指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器—分析指令—按指令规定内容执行指令不同指令的操作步骤数和具体操作内容差异很大—检查有无中断请求若无,则转入下一条指令的执行过程形成下一条指令地址指令的执行过程中断检测点指令周期的基本概念指令周期:CPU每取出并执行一条指令,都要完成一系列的操作,这一系列操作所需用的时间通常叫做一个指令周期。机器周期:机器周期也称为CPU周期。通常用内存中读取一个指令字的最短时间来规定CPU周期。指令周期常常用若干个CPU周期数来表示,时钟周期:一个CPU周期时间又包含有若干个时钟周期(通常称为节拍脉冲或T周期,它是处理操作的最基本单位)。这些时钟周期的总和则规定了一个CPU周期的时间宽度。指令周期T周期CPU周期CPU周期T1T2T3T4(取指令)(执行指令)取指令执行指令指令周期指令周期下面以一个简单的程序来具体认识每一条指令的指令周期和执行过程。内存地址内存内容助记符所完成的操作020250000CLA将累加器的内容清零021030030ADD30(Ac)+(30)Ac022021040STA40(Ac)(40)023000000NOP024140021JMP2121→PC

030000006

031

040存和数单元

CLA指令的指令周期非访内指令需要两个CPU周期:第一个CPU周期:取指令阶段,CPU完成三件事:(1)从内存取出指令;(2)对程序计数器PC加1,以便为取下一条指令做好准备;(3)对指令操作码进行译码或测试,以便确定进行什么操作。第二个CPU周期:执行指令阶段,将累加器Ac的内容清零。

一个CPU周期

一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码执行指令取下条指令PC+1指令周期算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+10000202021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021指令周期算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021指令周期ADD指令的指令周期ADD指令的指令周期由三个CPU周期组成。第一个CPU周期:取指令阶段。和CLA指令相同。第二个CPU周期:将操作数的地址送往地址寄存器并完成地址译码。第三个CPU周期:从内存取出操作数并执行相加的操作。

指令周期一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码送操作数地址取下条指令PC+1取出操作数执行加操作一个CPU周期指令周期算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000021ADDADD300000210000220000300000060+6=6000006指令周期STA指令的指令周期STA指令的指令周期由三个CPU周期组成。第一个CPU周期:取指令阶段,其过程和CLA指令、ADD指令完全一样,不同的是此阶段中程序计数器加1后变为023,因而为取第四条指令做好了准备。我们假定,第一个CPU周期后结束,“STA40”指令已放入指令寄存器并完成译码测试。第二个CPU周期:送操作数地址。第三个CPU周期:累加寄存器的内容传送到缓冲寄存器,然后再存入到所选定的存储单元中。指令周期算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000022STASTA40000022000023000040000006000006000006指令周期NOP指令和JMP指令的指令周期NOP指令是一条空指令,包含两个CPU周期。第一个周期:取指令。第二个周期:执行指令,因是空指令,所以操作控制器不发出任何控制信号。JMP指令由两个CPU周期组成。第一个周期:取指令周期,同其他指令。第二个周期:执行阶段,CPU把指令寄存器中的地址码部分21送到程序计数器,从而用新内容21代替PC原先的内容25,这样,下一条指令将不从25单元中读出,而从21单元开始读出并执行,从而改变了程序原先的执行顺序。指令周期算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000024JMP21JMP21000024000021000006000006000025000021注意

执行“JMP21”指令时,我们此处所给的四条指令组成的程序进入了死循环,除非人为停机,否则这个程序将无休止地运行下去,因而内存单元40中的和数将一直不断地发生变化。当然,我们此处所举的转移地址21是随意的,仅仅用来说明转移指令能够改变程序的执行顺序而已。指令周期用方框图语言表示指令周期

在进行计算机设计时,可以采用方框图语言来表示一条指令的指令周期。

一个方框代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制。一个菱形符号代表某种判别或测试,不过时间上它依附于它前面一个方框的CPU周期,而不单独占用一个CPU周期。符号“~”代表一个公操作。~~PC→AR→ABUSDBUS→DR→IRPC+1译码或测试0→ACIR→ARIR→ARIR→PCPC→ARAR→ABUSDBUS→DRRD→ALUALU→ACAR→ABUSAC→DRDR→DBUS~~~CLAADD

STAJMPNOP注意:各类信息的传送路径指令:M----DBUS------DR-----IR地址:PC----AR----ABUS-----(取决于寻址方式)数据:寄存器----寄存器总线直接传送寄存器----存储器Ri----DBUS----DR-----M存储器----寄存器M-----DR------BUS----Ri例:如图所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。1.“ADDR2,R0”指令完成(R0)+(R2)→R0功能操作。假设该指令的地址已放入PC中。2.“SUBR1,R3”指令完成(R3)-(R1)→R3的功能操作。IRPCARDRR0R1R2R3MABALUIRiIRoPCiPCoARiDRiDRoR0iR0oR3iR3oXiYiA总线B总线G+-R/WPC→ARM→DRDR→IRR2→YR0→XR0+R2→R0~PC→ARM→DRDR→IRR3→YR1→XR3+R1→R3~PC0,G,ARiDR0,G,IRiR20,G,YiR00,G,Xi+,G,R0i

R/W=RR3o,G,YiR1o,G,Xi-,G,R3iIRPCARDRR0R1R2R3MABALUIRiIRoPCiPCoARiDRiDRoR0iR0oR3iR3oXiYiG+-R/W习题:参见图中的数据通路。画出存数指令“STAR1,(R2)”的指令周期流程图,其含义是将寄存器R1的内容传送至(R2)为地址的主存单元中。标出个为操作信号序列。IRPCARDRR0R1R2R3MABALUIRiIRoPCiPCoARiDRiDRoR0iR0oR3iR3oXiYiA总线B总线G+-R/WPC→ARM→DRDR→IRR2→ARR1→DRDR→M~PC0,G,ARiDR0,G,IRiR20,G,ARiR10,G,DRiR/W=W

R/W=R参见图中的数据通路,画出取数指令“LDA(R3),R0”的指令周期流程图,其含义是将(R3)为地址主存单元的内容取至寄存器R0中。标出个为操作信号序列。IRPCARDRR0R1R2R3MABALUIRiIRoPCiPCoARiDRiDRoR0iR0oR3iR3oXiYiA总线B总线G+-R/WPC→ARM→DRDR→IRR3→ARM→DRDR→R0~PC0,G,ARiDR0,G,IRiR30,G,ARiDR0,G,R0IR/W=R

R/W=RCPU的基本构成:控制器,运算器,寄存器(cache,指令缓存)寄存器的类型:指令寄存器(IP)程序计数器(PC)数据寄存器(DR)地址寄存器(AR)状态寄存器(SR)数据通路:总线结构(单总线,双总线,多总线)专用通路(如MIPS)数据通路示例:总线结构控制信号:R1out:R1的输出控制R1in: R1的输入控制Yin: Y的输入控制IRin: IR的输入控制IRout: IR的输出控制PCin:PC的输入控制PCout: PC的输出控制PC+1: PC计数更新控制ADD: ALU加法操作控制

专用通路结构专用通路结构控制信号:MemRead 存储器读MemWrite 存储器写ALUOp 运算操作码ALUSrc ALU数据选择PCWrite PC写PCSource PC输入选择RegWrite 数据寄存器写MemtoReg写数据选择RegDst 写寄存器选择Irwrite 指令寄存器Jump 选择转移地址指令的执行过程

一、运算指令的执行过程专用通路结构:如add$1,$2,$3(1)取指令。IR=Memory[PC]PC=PC+4一、运算指令的执行过程专用通路结构:如add$1,$2,$3(2)指令译码及读取操作数。A=R[IR[25:21]]B=R[IR[20:16]]一、运算指令的执行过程专用通路结构:如add$1,$2,$3(3)执行。ALUoutput=A+B一、运算指令的执行过程专用通路结构:如add$1,$2,$3(4)写回。R[IR[15:11]]=ALUoutput一、运算指令的执行过程单总线结构:如ADDR3,R1,R2(1)PC→MAR(2)PC+1→PC一、运算指令的执行过程单总线结构:如ADDR3,R1,R2(1)PC→MAR(2)PC+1→PC(3)DBUS→MDR(4)MDR→IR一、运算指令的执行过程单总线结构:如ADDR3,R1,R2(1)PC→MAR(2)PC+1→PC(3)DBUS→MDR(4)MDR→IR(5)R1→Y一、运算指令的执行过程单总线结构:如ADDR3,R1,R2(1)PC→MAR(2)PC+1→PC(3)DBUS→MDR(4)MDR→IR(5)R1→Y(6)R2+Y→Z一、运算指令的执行过程单总线结构:如ADDR3,R1,R2(1)PC→MAR(2)PC+1→PC(3)DBUS→MDR(4)MDR→IR(5)R1→Y(6)R2+Y→Z(7)Z→R3二、访存指令的执行过程专用通路结构读操作:如lw$1,off($2)(1)取指令。IR=Memory[PC]PC=PC+4二、访存指令的执行过程专用通路结构读操作:如lw$1,off($2)(2)指令译码。A=R[IR[25:21]]二、访存指令的执行过程专用通路结构读操作:如lw$1,off($2)(3)计算地址。ALUoutput=A+Sign-extend(IR[15:0])二、访存指令的执行过程专用通路结构读操作:如lw$1,off($2)(4)访存。Memory-data=Memory[ALUoutput]二、访存指令的执行过程专用通路结构读操作:如lw$1,off($2)(5)写回。R[IR[20:16]]=Memory-data二、访存指令的执行过程专用通路结构写操作:如Store$1,offs($2)

(1)IR=Memory[PC] PC=PC+4二、访存指令的执行过程专用通路结构写操作:如Store$1,offs($2)

(2) A=R[IR[25:21]]

B=R[IR[20:16]]二、访存指令的执行过程专用通路结构写操作:如Store$1,offs($2)

(3)ALUoutput=A+Sign-extend(IR[15:0])二、访存指令的执行过程专用通路结构写操作:如Store$1,offs($2)

(4)Memory[ALUoutput]=B二、访存指令的执行过程单总线结构:

读操作:如LOADR1,mem

(1)PC→MAR

(2)PC+1→PC二、访存指令的执行过程单总线结构:

读操作:如LOADR1,mem

(1)PC→MAR

(2)PC+1→PC

(3)DBUS→MDR

(4)MDR→IR二、访存指令的执行过程单总线结构:

读操作:如LOADR1,mem

(1)PC→MAR

(2)PC+1→PC

(3)DBUS→MDR

(4)MDR→IR

(5)IR(地址段)→MAR,读存储器二、访存指令的执行过程单总线结构:

读操作:如LOADR1,mem

(1)PC→MAR

(2)PC+1→PC

(3)DBUS→MDR

(4)MDR→IR

(5)IR(地址段)→MAR,读存储器

(6)DBUS→MDR

(7)MDR→R1二、访存指令的执行过程单总线结构:

写操作:如STORER1,mem

(1)PC→MAR

(2)PC+1→PC二、访存指令的执行过程单总线结构:

写操作:如STORER1,mem

(1)PC→MAR

(2)PC+1→PC

(3)DBUS→MDR

(4)MDR→IR二、访存指令的执行过程单总线结构:

写操作:如STORER1,mem

(1)PC→MAR

(2)PC+1→PC

(3)DBUS→MDR

(4)MDR→IR

(5)IR(地址段)→MAR二、访存指令的执行过程单总线结构:

写操作:如STORER1,mem

(1)PC→MAR

(2)PC+1→PC

(3)DBUS→MDR

(4)MDR→IR

(5)IR(地址段)→MAR

(6)R1→MDR,写存储器三、控制指令的执行过程专用通路结构如无条件转移指令操作:JTarget(1)IR=Memory[PC]三、控制指令的执行过程专用通路结构如无条件转移指令操作:JTargetPC=(IR[25:0]<<2)|PC+4[31:28]三、控制指令的执行过程单总线结构:如BRoffs

(1)PC→MAR

(2)PC+1→PC三、控制指令的执行过程单总线结构:如BRoffs

(1)PC→MAR

(2)PC+1→PC

(3)DBUS→MDR

(4)MDR→IR三、控制指令的执行过程单总线结构:如BRoffs

(1)PC→MAR

(2)PC+1→PC

(3)DBUS→MDR

(4)MDR→IR(5)PC→Y三、控制指令的执行过程单总线结构:如BRoffs

(1)PC→MAR

(2)PC+1→PC

(3)DBUS→MDR

(4)MDR→IR

(5)PC→Y(6)Y+IR(地址段)→Z三、控制指令的执行过程单总线结构:如BRoffs

(1)PC→MAR

(2)PC+1→PC

(3)DBUS→MDR

(4)MDR→IR

(5)PC→Y (6)Y+IR(地址段)→Z(7)Z→PC三、控制指令的执行过程条件转移指令操作,有条件地修改PC方式:条件码,条件寄存器,比较与转移专用通路结构:如beq$1,$2,offs(1)IR=Memory[PC]PC=PC+4三、控制指令的执行过程专用通路结构:如beq$1,$2,offs(2)A=R[IR[25:21]]B=R[IR[20:16]]Target=PC+(Sign-extend(IR[15:0])<<2)三、控制指令的执行过程专用通路结构:如beq$1,$2,offs(3)if(A==B)PC=Target三、控制指令的执行过程单总线结构:BNEoffs(1)PC→MAR(2)PC+1→PC三、控制指令的执行过程单总线结构:BNEoffs(1)PC→MAR(2)PC+1→PC(3)DBUS→MDR(4)MDR→IR三、控制指令的执行过程单总线结构:BNEoffs(1)PC→MAR(2)PC+1→PC(3)DBUS→MDR(4)MDR→IR(5)if(!Z)PC→Y;elsegotoEND三、控制指令的执行过程单总线结构:BNEoffs(1)PC→MAR(2)PC+1→PC(3)DBUS→MDR(4)MDR→IR(5)if(!Z)PC→Y;elsegotoEND(6)Y+IR(地址段)→Z三、控制指令的执行过程单总线结构:BNEoffs(1)PC→MAR(2)PC+1→PC(3)DBUS→MDR(4)MDR→IR(5)if(!Z)PC→Y;elsegotoEND(6)Y+IR(地址段)→Z(7)Z→PC操作控制器和时序产生器数据通路:通常把寄存器之间传送信息的通路称为“数据通路”。操作控制器:根据指令操作码和时序信号,产生各种操作信号,以便正确建立数据通路,从而完成取指令和执行指令的操作。时序产生器:因为计算机高速地进行工作,每一个动作的时间是非常严格的,不能有任何差错。时序产生器的作用,就是对各种操作实施时间上的控制。时序产生器和控制方式时序信号的作用和体制计算机的协调动作需要时间标志,而时间标志则是用时序信号来体

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论