Introduction to Computing Systems: Form Bits & Gates to C/C++ &Beyond, Third Edition 计算机系统概论(原书第三版)四

发布于:2022-11-14 ⋅ 阅读:(772) ⋅ 点赞:(1)

四 、数据通路

在这里插入图片描述



------前言

对照着:二、LC-3的指令集及其在C.2图中的具体内容,来看这节内容。

“谁敢看不起你双非的,你把这本书拿出来,打开C.2、C.7图让他跑一跑。”


一、在数据通路中的各指令

1.Fig C.3

(1).ADD

——首先在FigC.8左侧找到IR[4:0]和IR[5]两根线路,其中IR[4:0]经过SEXT后符号扩展成16位,沿着线路与寄存器组来的16位信号到达SR2MUX多路选择器,在IR[5]控制信号的作用下来选择两种ADD操作的类型。——在将选择出的16位信号与寄存器组另外输出的16位信号在算术逻辑部件(ALU)的处理下得出结果,在ALU门控信号的控制下输出到总线。

(2). AND

同上。

(3). NOT

在这里插入图片描述

(4). LEA

LEA指令是9位立即数偏移成16位,所以会走IR[8:0]那条线路,经SEXT偏移成16位,在2位ADDR2MUX控制信号的选择下,与旁边经ADDR1MUX选择得到的PC一起加载到算术逻辑部件,最终得到目的地址。之后可以在2位控制信号的选择下经PCMUX载入PC寄存器,也可以经MARMUX的选择下输入总线,准备访问内存。

(5). LD

LD指令也走IR[8:0]那条线路,经SEXT偏移成16位,在2位ADDR2MUX控制信号的选择下,与旁边经ADDR1MUX选择得到的 PC一起加载到算术逻辑部件,最终得到目的地址。

(6). LDR

LDR指令走IR[5:0]那条线路,经SEXT偏移成16位,在2位ADDR2MUX控制信号的选择下,与旁边经ADDR1MUX选择得到的源寄存器地址一起加载到算术逻辑部件,然后得到目的地址。

(7). LDI

LDI指令也走IR[8:0]那条线路,经SEXT偏移成16位,在2位ADDR2MUX控制信号的选择下,与旁边经ADDR1MUX选择得到的 PC一起加载到算术逻辑部件,然后得到中继地址。经MARMUX和门控信号的安排下输入总线,在MAR载入信号就绪时写入MAR寄存器,在地址控制逻辑部件的控制下访问内存,并将目的地址装载到MDR寄存器,通过门控信号再次传入总线回到PCMUX,最终加载到PC寄存器中。

(8). STI

——STI指令也走IR[8:0]那条线路,经SEXT偏移成16位,在2位ADDR2MUX控制信号的选择下,与旁边经ADDR1MUX选择得到的PC一起加载到算术逻辑部件,然后得到中继地址。——中继地址经MARMUX和门控信号的安排下输入总线,在MAR载入信号就绪时写入MAR寄存器,在地址控制逻辑部件的控制下访问内存,并将目的地址装载到MDR寄存器。——MDR经过MDR门控信号将目的地址传回MAR中,储存需储存数据的源寄存器从寄存器组开始通过ALU、GateALU将所需数据存入MDR中。——在地址控制逻辑部件的控制下访问内存,将MDR的数据装载到MAR所指向的内存单元。

(9). STR

——STR指令走IR[5:0]那条线路,经SEXT偏移成16位,在2位ADDR2MUX控制信号的选择下,与旁边经ADDR1MUX选择得到的基址寄存器所存内容一起加载到算术逻辑部件,最终得到目的地址。——目的地址经MARMUX和门控信号的安排下输入总线,在MAR载入信号就绪时写入MAR寄存器。——储存需储存数据的源寄存器从寄存器组开始通过ALU、GateALU将所需数据存入MDR中。——在地址控制逻辑部件的控制下访问内存,将MDR的数据装载到MAR所指向的内存单元。

(10). ST

——ST指令走IR[8:0]那条线路,经SEXT偏移成16位,在2位ADDR2MUX控制信号的选择下,与旁边经ADDR1MUX选择得到的PC所存内容一起加载到算术逻辑部件,最终得到目的地址。——目的地址经MARMUX和门控信号的安排下输入总线,在MAR载入信号就绪时写入MAR寄存器。——储存需储存数据的源寄存器从寄存器组开始通过ALU、GateALU将所需数据存入MDR中。——在地址控制逻辑部件的控制下访问内存,将MDR的数据装载到MAR所指向的内存单元。

(11). JSRR&JSR

——JSR指令走IR[10:0]那条线路,经SEXT偏移成16位,在2位ADDR2MUX控制信号的选择下,与旁边经ADDR1MUX选择得到的PC所存内容一起加载到算术逻辑部件,最终得到目的地址。
——JSRR指令走IR[5:0]那条线路旁边的0线路,在2位ADDR2MUX控制信号的选择下,将旁边经ADDR1MUX选择得到的基址寄存器内容一起加载到算术逻辑部件,使基址寄存器里的内容作为目的地址。

(12). JMP&RET

JMP指令走IR[5:0]那条线路旁边的0线路,在2位ADDR2MUX控制信号的选择下,将旁边经ADDR1MUX选择得到的基址寄存器内容一起加载到算术逻辑部件,使基址寄存器里的内容作为PC内容。

(13). BR

在这里插入图片描述

2.Fig C.8红色部分

(1).RTI&TRAP&1101&中断

自己走走吧,文章先水出来,期末完了再改。


本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到