理解CU微操作命令(控制信号)

来源:互联网 发布:ubuntu安装python模块 编辑:程序博客网 时间:2024/05/21 12:50

《计算机组成原理》 II – 唐朔飞老师


1 理解微操作命令

连通

假设触发器1(D1)的输出通过导线连接到触发器2(D2)的输入。在时钟信号同步下,当给D1一个输入时,D2也将根据D1的输出作为输入产生一个对应的输出。


数据传输

如果要求D2的输出与D1输出一致,则需要在D1与D2连接的线路上加一个转换的电路T1。D1的输出经T1后成为与D1的输入一样的信号,那么D2的输出就跟D1一样。此时,这个过程就可以看做是将D1的数据 传输给了D2。数据的传输就是一个连通的过程。


控制信号 -- 微操作命令

在D1和D2实现数据传输的导线上再加一个门控电路M1,M1在默认状态下不具备数据传输(连通导线)的功能(引脚Cin的状态为0),只有使Cin为1时才连通导线。当给M1的Cin给一个1信号时,导线连通,D1的数据就通过导线传输给了D2。这里给Cin的信号就是一个控制导线连通的信号(微操作命令)。CPU内的CU会根据指令的操作码来产生一个或者一串这样的控制信号去作用在指定的门控电路的Cin之上,让数据能得到传输。这样的由CU产生的一个或者一串的信号就是一个微操作命令


指令周期包含多个微操作命令

组成指令周期的每个阶段(取指,间址,执行,中断各阶段)通常由多个微操作组成。这些微操作的执行由微操作命令来使能(驱动)。如完成取指过程,CU首先需要产生使能PC寄存器与MAR寄存器线路上的门控电路的控制信号,使PC内容传输给MAR;CU还需要产生使能存器被读的控制信号……等等。


2 微操作命令例

未采用CPU内部总线方式的数据通路和控制信号的关系如下图。图中未画出每个寄存器的输入或输出控制门,只标出了控制这些门电路的控制信号Ci。也未画出读写存储器的控制信号(涉及到时可认为CU与存储器MM是连通的)。省去了IR到MAR的数据通路(可认为IR到MAR的数据通路是通的)。可认为ACC寄存器到MDR寄存器的通路是通的。

Figure1. 未采用CPU内部总线方式的数据通路和控制信号


(1) 写出取指周期的全部微操作。

(2) 写出取数指令“LDA  M”、存数指令“STA  M”、加法指令“ADD  M”(M均为主存地址)在执行阶段所需的全部微操作。

(3) 当上述指令均为间接寻址时,写出执行这些指令所需的全部微操作。

(4) 写出无条件转移指令“JMP  Y”和结果为0则转指令“BAZ  Y”在执行阶段所需的全部微操作。


CU输出的控制信号的目的地为Ci指向的门电路。


(1) 取指阶段的微操作

[1] PC --> MAR:控制信号C0有效,打通PC寄存器与地址寄存器MAR的通路,PC内的数据传输到MAR中。

[2] 1 -- >R: CU向存储器发一个读信号,存储器处于可被读状态。

[3] MM(MAR) --> MDR :C1,C2控制信号有效,存储器之上的MAR地址的内容通过数据总线传输到MDR中。

[4] MDR-- >IR :  C3控制信号有效,MDR传输给IR。

[5] OP(IR)-->CU:将IR中指令的操作码字段传输给CU。

[6] (PC) + 1--> PC:PC内容自动加1。


(2)“LDA M”,“ STA M”,“ADD M”指令执行阶段的微操作

LDA              M:

[1] AD(IR) --> MAR:控制信号C5有效,IR指令中的地址码字段送给MAR。

[2] 1 -- >R:使能存存器被读状态。

[3] MM(MAR) --> MDR :C1,C2控制信号有效,存储器之上的MAR地址的内容通过数据总线传输到MDR中。

[4] MDR -->ACC:控制信号C12有效,将MDR中的数据存到ACC寄存器中。


STA        M:

[1] AD(IR) --> MAR:控制信号C5有效,IR指令中的地址码字段送给MAR。

[2] 1 -- >W:使能存存器被写状态。

[3] ACC -- >MDR:控制信号C12有效,将要写入存储器中M地址的数据写入MDR。

[4] MDR -- > MM(MAR):C1,C2控制信号有效,MDR中的数据写往存存器M的M地址之上。


ADD       M:

[1] AD(IR) --> MAR:控制信号C5有效,IR指令中的地址码字段送给MAR。

[2] 1 -- >R:使能存存器被读状态。

[3] MM(MAR) --> MDR :C1,C2控制信号有效,存储器之上的MAR地址的内容通过数据总线传输到MDR中。

[4] (ACC) + (MDR) -- > ACC:控制信号C7,C6有效,将读到的数据与ACC中的内容送到ALC相加,C8控制信号有效,将ALU相加的结果送入ACC中。


(3) M为间址时“LDA M”,“ STA M”,“ADD M”指令执行阶段的微操作

当M为间址时,需要增加间址周期的微操作。

[1] AD(IR) -- > MAR:控制信号C5有效,IR指令中的地址码字段送给MAR。

[2] 1 -- >R:使能存存器被读状态。

[3] MM(MAR) --> MDR :C1,C2控制信号有效,存储器之上的MAR地址的内容通过数据总线传输到MDR中。

此后,3条指令的第一个微操作都是MDR -->MAR,其余微操作不变。


(4) “JMP Y”,“BAZ Y”执行阶段的微操作

JMP              Y:

AD(IR) --> PC:控制信号C10有效,将IR内容中的地址码送往PC。


BAZ              Y:

Z·AD(IR) --> PC:当Z=1(结果为0)则将地址给PC。


[2014.10.22 - 15:43]
R《CC》Note Over.
2 0
原创粉丝点击