【題目】
43.(13分)某16位計(jì)算機(jī)的主存按字節(jié)編址,存取單位為16位;采用16位定長(zhǎng)指令字格式;CPU采用單總線結(jié)構(gòu),主要部分如下圖所示。圖中R0~R3為通用寄存器;T為暫存器;SR為移位寄存器,可實(shí)現(xiàn)直送(mov)、左移一位(left)和右移一位(right)3種操作,控制信號(hào)為SRop,SR的輸出由信號(hào)SRout控制;ALU可實(shí)現(xiàn)直送A(mova)、A加B(add)、A減B(sub)、A與B(and)、A或B(or)、非A(not)、A加l(ine)7種操作指令格式結(jié)構(gòu)如下所示,控制信號(hào)為ALUop。
請(qǐng)回答下列問題。
(1)圖中哪些寄存器是程序員可見的?為何要設(shè)置暫存器T?
(2)控制信號(hào)ALUop和SRop的位數(shù)至少各是多少?
(3)控制信號(hào)SRout所控制部件的名稱或作用是什么?
(4)端點(diǎn)①~⑨中,哪些端點(diǎn)須連接到控制部件的輸出端?
(5)為完善單總線數(shù)據(jù)通路,需要在端點(diǎn)①~⑨中相應(yīng)的端點(diǎn)之間添加必要的連線。寫出連線的起點(diǎn)和終點(diǎn),以正確表示數(shù)據(jù)的流動(dòng)方向。
(6)為什么二路選擇器MUX的一個(gè)輸入端是2?
【答案要點(diǎn)】:
(1)程序員可見寄存器為通用寄存器(R0~R3)和PC。因?yàn)椴捎昧藛慰偩€結(jié)構(gòu),因此,若無暫存器T,則ALU的A、B端口會(huì)同時(shí)獲得兩個(gè)相同的數(shù)據(jù),使數(shù)據(jù)通路不能正常工作。
【評(píng)分說明】回答通用寄存器(R0~R3)指令格式結(jié)構(gòu)如下所示,給分;回答PC,給分;部分正確,酌情給分。設(shè)置暫存器T的原因若回答用于暫時(shí)存放端口A的數(shù)據(jù),則給分,其他答案,酌情給分。
(2)ALU共有7種操作,故其操作控制信號(hào)ALUop至少需要3位;移位寄存器有3種操作,其操作控制信號(hào)SRop至少需要2位。
(3)信號(hào)SRout所控制的部件是一個(gè)三態(tài)門,用于控制移位器與總線之間數(shù)據(jù)通路的連接與斷開。
【評(píng)分說明】只要回答出三態(tài)門或者控制連接/斷開,即給分。
(4)端口①、②、③、⑤、⑧須連接到控制部件輸出端。
【評(píng)分說明】答案包含④、⑥、⑦、⑨中任意一個(gè),不給分;答案不全酌情給分。
(5)連線1,⑥→⑨;連線2,⑦→④。
【評(píng)分說明】回答除上述連線以外的其他連線,酌情給分。
(6)因?yàn)槊織l指令的長(zhǎng)度為16位,按字節(jié)編址,所以每條指令占用2個(gè)內(nèi)存單元,順序執(zhí)行時(shí),下條指令地址為(PC)+2。MUX的一個(gè)輸入端為2,可便于執(zhí)行(PC)+2操作。