1.控制器的功能
(1)取指令(指令地址酱吝,控制信號(hào))
(2)分析指令(解釋指令也殖,指令譯碼)
(3)執(zhí)行指令
(4)控制程序和數(shù)據(jù)的輸入與結(jié)果輸出
(5)對(duì)異常情況和某些請(qǐng)求的處理(“中斷請(qǐng)求”信號(hào))
2.控制器的組成
(1)程序計(jì)數(shù)器(PC)
即指令地址寄存器。用來(lái)存放當(dāng)前正在執(zhí)行的指令地址或即將要執(zhí)行的下一條指令地址务热。
(2)指令寄存器(IR)
存放當(dāng)前正在執(zhí)行的指令忆嗜。
(3)指令譯碼器或操作碼譯碼器
對(duì)指令寄存器中的操作碼進(jìn)行分析解釋?zhuān)a(chǎn)生相應(yīng)的控制信號(hào)。
(4)脈沖源及啟停線(xiàn)路
(5)時(shí)序控制信號(hào)形成部件
3.指令執(zhí)行過(guò)程
加法指令:
ADD? rs,rd? rs1? disp
功能:
將寄存器(rs)中的一個(gè)數(shù)與存儲(chǔ)器中的一個(gè)數(shù)(地址為(rs1)+ disp)相加崎岂,結(jié)果放在rd中捆毫,rs與rd為同一寄存器。
執(zhí)行過(guò)程:
(1)取指令
從存儲(chǔ)器取指令冲甘,送入指令寄存器绩卤,并進(jìn)行操作碼譯碼(分析指令)途样。程序計(jì)數(shù)器加1,為下一條指令做好準(zhǔn)備濒憋。
(2)計(jì)算操作數(shù)地址
在ALU計(jì)算數(shù)據(jù)地址(將rs1內(nèi)容與disp送ALU何暇,加法命令送ALU),將計(jì)算得到的有效地址(EA)送入地址寄存器(AR)凛驮。
(3)取操作數(shù)
將地址寄存器內(nèi)容送地址總線(xiàn)裆站,同時(shí)發(fā)訪(fǎng)存讀命令,存儲(chǔ)器讀出數(shù)據(jù)送數(shù)據(jù)總線(xiàn)后黔夭,打入數(shù)據(jù)寄存器宏胯。
(4)執(zhí)行加法運(yùn)算
兩個(gè)源操作數(shù)送ALU進(jìn)行加法運(yùn)算,結(jié)果送寄存器本姥,并根據(jù)運(yùn)算結(jié)果置狀態(tài)位N肩袍、Z、V扣草、C了牛。其中:
N(負(fù)數(shù)):當(dāng)運(yùn)算結(jié)果為負(fù)數(shù)時(shí)颜屠,置1辰妙,否則為0。
Z(零):當(dāng)運(yùn)算結(jié)果為零時(shí)甫窟,置1密浑,否則為0。
V(溢出):當(dāng)運(yùn)算結(jié)果溢出時(shí)粗井,置1尔破,否則為0。
C(進(jìn)位):當(dāng)加法運(yùn)算產(chǎn)生進(jìn)位信號(hào)或減法運(yùn)算產(chǎn)生借位信號(hào)時(shí)浇衬,置1懒构,否則為0。
執(zhí)行一條指令的過(guò)程實(shí)際上就是執(zhí)行這條指令所對(duì)應(yīng)的微指令的過(guò)程耘擂。
步驟:
接上圖:
(2)加法運(yùn)算:“+”(13)
(3)送結(jié)果:ALU→GR(17)
微指令由控制字段(23位)和下址字段組成胆剧。
機(jī)器加電后,首先由reset信號(hào)在程序計(jì)數(shù)器PC內(nèi)置入開(kāi)機(jī)后執(zhí)行的操作系統(tǒng)第一條指令的地址醉冤,同時(shí)在微指令寄存器內(nèi)置入一條“取指”微指令秩霍,并將其他一些有關(guān)的狀態(tài)位或寄存器置于初始狀態(tài)。