1、某指令系统指令长16位,每个操作数的地址码长6位,指令分为无操作数、单操作数和双操作数三类。若双操作数指令有K条,无操作数指令有L条,问单操作数指令最多可能有多少条?
解:在双操作数指令中,操作码还剩下24-K个。
因为无操作数指令有L条,故需要用至地址单操作数指令的操作码 [L/26]+1个。 所以单操作数指令最多可能有(24-K)*26- [L/26]+1条。
2、已知Pentium微处理器各段寄存器的内容如下:DS=0800H,CS=1800H,SS=4000H,ES=3000H。SP=00F8H,又disp字段的内容为2000H。请计算: (1) 执行MOV指令,且已知为直接寻址,请计算有效地址。
(2) IP(指令指针)的内容为1440,请计算出下一条指令的地址(假设顺序执行)。 (3) 今将某16位寄存器内容直接送入堆栈,请计算出接收数据的存储器地址。 解:(1)有效地址=DS*10H+DISP=8000H+2000H=A000H (2)下一条指令的地址=CS*10H+1440+“1” (3)SP=00F8H-2=00F6H
3、CPU结构如图所示,其中有一个累加寄存器AC、一个状态条件寄存器和其他四个寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。要求: (1) 标明图中a,b,c,d四个寄存器的名称。 (2) 简述指令从主存取到控制器的数据通路。
(3) 简述数据在运算器和主存之间进行存/取访问的数据通路。
解:(1)A—数据寄存器 B——指令寄存器 C——地址寄存器 D——程序计数器(PC) (2)PC→地址寄存器→M→指令寄存器
(3)存:地址寄存器→M;AC→数据寄存器→write 取:地址寄存器→M→数据寄存器→ALU→AC
4、参照P126图4.11(可添加数据线,DISP在下一个单元)画出下述3条指令的流程图: (1) Jmp Disp(相对寻址) 功能:(PC)+Disp→PC
(2) Load rd @rs(间接寻址) 功能:((rs)) →rd (3) Add @rd rs(寄存器寻址) 功能:(rs) →(rd)
解:控制输入输出。M_data_out可送入A,ALU可送入PC(添加二条数据线) start MAR←(PC) M_address←(MAR) Write_Read=‘0’ 取指令 IR(15…8)←M_data_in IR(7…0)←”00000000” PC←(PC+1) decode JMP LOAD 译码 MAR ←(PC) MAR←(rs) MAR←(rd) MDR←(rs) M_address←(MAR) M_address←(MAR) Write_Read=‘0’ Write_Read=‘0’ 执行 A←M_data_in ←PC ALU M_address←(MAR) 送结果 M_data_out←(MDR) ←ALU PCrd←M_data_in Write_Read=‘1’
5、假设某计算机采用4级流水线(取指、译码、执行、送结果),其中译码可同时完成从寄存器取数的操作,并假设存储器的读/写操作(允许同时取指和取数)可在一个机器周期内完成,问顺序执行上题的3条指令,总共需要多少周期? 解: Jmp Load Add 1 取指令 2 译码 取指令 3 执行 译码 取指令 4 送结果 执行 译码 5 取指令 6 译码 取指令 7 执行 译码 8 送结果 执行 9 送结果
百度搜索“yundocx”或“云文档网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,云文档网,提供经典综合文库作业4参考答案在线全文阅读。
最新更新: