第五部分中央处理器例题_第1页
第五部分中央处理器例题_第2页
第五部分中央处理器例题_第3页
第五部分中央处理器例题_第4页
第五部分中央处理器例题_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原理

考研辅导第五部分中央处理器CPU例题【例1】2009年试题44某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如下图所示,图中所有控制信号为1时表示有效,为0时表示无效,例如控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1时表示允许数据从内部总线打入MDR。假设MAR的输出一直处于使能状态。加法指令“ADD(R1),R0”的功能为(R0)+((R1))→(R1),即将R0中的数据与R1的内容所指主存单元的数据相加,并将结果送入R1的内容所指主存单元中保存。【例1】2009年试题44【例1】2009年试题44下表给出了上述指令的取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。时钟功能有效控制信号C1MAR←(PC)PCout

,MARinC2MDR←M(MAR)PC←(PC)+1MemR,MDRinPC+1C3IR←(MDR)MDRout,IRinC4指令译码无【例1】2009年试题44-答案1时钟功能有效控制信号C1MAR←(PC)PCout

,MARinC2MDR←M(MAR)PC←(PC)+1MemR,MDRinEPC+1C3IR←(MDR)MDRout,IRinC4指令译码无C5MAR←(R1)R1out,MARinC6MDR←M(MAR)MemR,MDRinEC7A←(MDR)MDRout,AinC8AC←(R0)+AR0out,Add,ACinC9MDR←(AC)ACout,MDRinC10M(MAR)←(MDR)MDRoutE,MemW【例1】2009年试题44-答案2时钟功能有效控制信号C1MAR←(PC)PCout

,MARinC2MDR←M(MAR)PC←(PC)+1MemR,MDRinEPC+1C3IR←(MDR)MDRout,IRinC4指令译码无C5A←(R0)R0out,AinC6MAR←(R1)R1out,MARinC7MDR←M(MAR)MemR,MDRinEC8AC←(MDR)+AMDRout,Add,ACinC9MDR←(AC)ACout,MDRinC10M(MAR)←(MDR)MDRoutE,MemW【例2】控制器(大纲)下图是一个简化的CPU与主存连接结构示意图(图中省略了所有多路选择器)。其中有一个累加寄存器AC、一个状态寄存器和其他四个寄存器:主存地址寄存器MAR、主存数据寄存器MDR、程序计数器PC和指令寄存器IR,各部件及其之间的连线表示数据通路,箭头表示信息传送方向。要求:(1)请写出图中a、b、c、d四个寄存器的名称。(2)简述图中指令从主存取到控制器的过程。(3)说明数据从主存取出、运算、写回主存所经过的数据通路(假定数据地址已在MAR中)。【例2】控制器(大纲)(2)取指令PC→MAR,M(MAR)→MDR,MDR→IR,PC+1(3)取数、运算、写回M(MAR)→MDR,MDR→ALU,运算结果→AC,AC→MDR,MDR→M(MAR)MDRMARIRPC【例3】单总线控制器1设CPU内部结构如图下所示,此外还设有B、C、D、E、H、L6个寄存器(图中未画出),它们各自的输入和输出端都与内部总线相通,并分别受控制信号控制(如Bin为寄存器B的输入控制;Bout为寄存器B的输出控制),假设ALU的结果直接送入Z寄存器中。要求从取指令开始,写出完成下列指令所需的控制信号。ADD B,[C] (B)+((C))→BMOV AC,#data data→AC,data在指令第二字CUIRPCMARMDRACYALUZ…控制信号CPU

内部总线时钟控制信号…MDROutMDRinIRinPCinPCOutMARinACinACOutYinALUinZOutAMD+1ADD B,[C]时钟操作控制信号M1PC→

MAR,

M(MAR)→

MDR,PC+1PCout

,MARin,read,+1M2MDR→IRMDRout,IRinM3C→MAR,

M(MAR)→

MDRCout,MARin,readM4MDR→

YMDRout,YinM5B

+Y→ZBout,ALU(+)M6Z→BZout,BinMOV AC,#data时钟操作控制信号M1PC→

MAR,

M(MAR)→

MDR,PC+1PCout

,MARin,read,+1M2MDR→IRMDRout,IRinM3PC→

MAR,

M(MAR)→

MDR,PC+1PCout

,MARin,read,+1M4MDR→

AC无【例3】单总线控制器1扩展:(均为双字指令)ADDE,#dataADD[addr],FJMPdisp;PC+disp→PCMOVAC,[H+X];

X是变址寻址的形式地址,在指令第二字【例4】单总线控制器2某单总线计算机的主要部件如图所示,其中:LA—A输入选择器,LB—B输入选择器,C、D—暂存器。(1)请补充各部件间的主要连接线,并注明数据流动方向。(2)拟出指令ADD(R1),(R2)+的执行流程(含取指过程与确定后继指令地址)。该指令的含义是进行加法操作,源操作数地址和目的操作数地址分别在寄存器R1和R2中,目的操作数寻址方式为自增型寄存器间接寻址。连线功能:((R1))+((R2))→(R2),(R2)+1→R2PC→

MAR,M(MAR)→MDR,PC+1MDR→IRR1→MAR,M(MAR)→MDRMDR→LAR2→MAR,M(MAR)→MDRMDR→LBLA+LB→MDRMDR→M(MAR)R2→LALA+1→R2ADD(R1),(R2)+【例5】单总线控制器3设CPU中各部件及其相互连接关系如图2-5-6所示。图中W是写控制标志,R是读控制标志,R1和R2是暂存器。(1)假设要求在取指周期由ALU完成(PC)+1→PC的操作(即ALU可以对它的一个源操作数完成加1的运算)。要求以最少的节拍写出取指周期全部微操作控制信号及节拍安排。(2)写出指令ADD#a(#为立即寻址特征,隐含的操作数在ACC中)在执行阶段所需的微操作控制信号及节拍安排。【例5】单总线控制器3【例5】单总线控制器3(1)取指周期:PC→MAR,1→R,M(MAR)→MDR,PC+1→R2MDR→IRR2→PC(2)执行指令ADD#a(假设a在指令中的地址码字段)IR(addr)→R1ACC→内部bus,R1+ACC→R2R2→ACC【例6】双总线控制器1一CPU数据通路为双总线结构,如下图所示。图中连线有误。回答下列问题:(1)画出修正错误后的连线图,不能改变原有的双总线结构。(2)如要实现直接寻址方式,如何修改?(假设指令为双字,第二字是直接地址;或者假设指令为单字)(3)描述ADDaddr,R1指令从取指令开始的实现过程。指令的功能为(R1)+(addr)→addr【例6】双总线控制器1(2)直接寻址:指令为单字,则不需要更改(存在IR到MAR的通路);若为双字指令,在取出指令第二字后,要送入MAR,所以必须存在MDR到MAR之间的数据通路。方法:通过设置一个连通器连接双总线。【例6】双总线控制器1【例6】双总线控制器1(3)ADDaddr,R1单字指令:addr在地址码字段PC→MAR,M(MAR)→MDR,MDR→IR,PC+1IR(addr)→MAR,M(MAR)→MDRMDR→RAR1

bus,(R1)+(RA)

→MDRMDR→M(MAR)【例6】双总线控制器1(3)ADDaddr,R1双字指令:addr在指令第二字PC→MAR,M(MAR)→MDR,MDR→IR,PC+1PC→MAR,M(MAR)→MDR,PC+1MDR→MARM(MAR)→MDRMDR→RAR1

bus,(R1)+(RA)

→MDRMDR→M(MAR)【例7】双总线控制器2某计算机的CPU内部为双总线结构,如图所示,图中Y为暂存器,PC为程序计数器,MAR和MDR分别为存储器地址和数据寄存器,IR为指令寄存器。所有数据传送都通过ALU,ALU还具有下列功能。F=A; F=B F=A+1; F=B+1F=A-1; F=B-1写出转子指令(JSR)的取指和执行周期的微操作序列。JSR指令占两个字,第1个字是操作码,第2个字为子程序的入口地址。返回地址保存在存储器堆栈(上推堆栈)中,堆栈指针始终指向栈顶空单元。【例7】双总线控制器2堆栈概念堆栈:由若干个连续主存单元组成的先进后出(firstinlastout,即FILO)存储区。栈底:第1个放入堆栈的数据所存放的单元,栈底是固定不变的。栈顶:最近放入的数据所存放的单元;栈顶是随着数据的入栈和出栈在时刻变化;栈顶的地址由堆栈指针SP指明。存储器堆栈段栈底SP栈顶堆栈的结构一般计算机中,堆栈从高地址向低地址扩展,即栈底的地址总是大于或等于栈顶的地址,称为上推堆栈;也有少数计算机相反,称为下推堆栈。堆栈指针的管理:SP总是指向最后压入的有效数据SP总是指向栈顶的空单元对堆栈的访问与操作只对栈顶操作;两种操作:压入:PUSH指令;数据存入堆栈弹出:POP指令;从堆栈取出数据假设一堆栈:结构?数据字长为1B;存储器堆栈段栈底SP栈顶00000000H:0FFFFFFFFH:××××××××堆栈指令的实现弹出指令POPRi:从堆栈中弹出1个数据送Ri寄存器:((SP))→Ri,(SP)+1→SP思考:指令的两个操作,顺序互换?堆栈结构改变后,如何实现?压入指令PUSHRi:将Ri寄存器内容压入堆栈:(SP)-1→SP,(Ri)→(SP)存储器堆栈段栈底SP栈顶00000000H:0FFFFFFFFH:××××××××【例7】双总线控制器2取指令:PC→B,F=B,F→MAR,read,M(MAR)→MDRPC→B,F=B+1,F→PCMDR→B,F=B,F→IR执行指令:PC→B,F=B,F→MAR,read,M(MAR)→MDRPC→B,F=B+1,F→PCMDR→B,F=B,F→YSP→B,F=B,F→MARPC→B,F=B,F→MDR,write,MDR→M(MAR)SP→B,F=B-1,F→SPY→A,F=A,F→PC【例8】微指令某机采用微程序控制方式,微指令字长24位,采用水平型编码控制的微指令格式,断定方式。共有微命令30个,构成4个互斥类,各包含5

温馨提示

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

评论

0/150

提交评论