1.運算器
運算器由運算部件算術邏輯單元(Arithmetic-LogicalUnit,簡稱ALU)累加器和寄存器等幾部分組成。ALU的作用是把傳來的數據進行算術或邏輯運算,輸入來源為兩個8位數據,分別來自累加器和數據寄
存器。ALU能完成對這兩個數據進行加減與或比較大小等操作,*后將結果存入累加器。例如,兩個數6和7相加,在相加之前,操作數6放在累加器中,7放在數據寄存器中,當執(zhí)行加法指令時,ALU即把
兩個數相加并把結果13存入累加器,取代累加器原來的內容。
運算器有兩個功能:(1)執(zhí)行各種算術運算。(2)執(zhí)行各種邏輯運算,并進行邏輯測試,如零值測試或兩個值的比較。
運算器所執(zhí)行全部操作都是由控制器發(fā)出的控制信號來指揮的,并且,一個算術操作產生一個運算結果,一個邏輯操作產生一個判決。
2.控制器
控制器由程序計數器指令寄存器指令譯碼器時序發(fā)生器和操作控制器等組成,是發(fā)布命令的決策機構,即協調和指揮整個微機系統的操作。其主要功能有:
(1)從內存中取出一條指令,并指出下一條指令在內存中的位置。
(2)對指令進行譯碼和測試,并產生相應的操作控制信號,以便于執(zhí)行規(guī)定的動作。
(3)指揮并控制CPU內存和輸入輸出設備之間數據流動的方向。
微處理器內通過內部總線把ALU計數器寄存器和控制部分互聯,并通過外部總線與外部的存儲器輸入輸出接口電路聯接。外部總線又稱為系統總線,分為數據總線DB地址總線AB和控制總線CB。通過輸入
輸出接口電路,實現與各種外圍設備連接。
3.主要寄存器
(1)累加器A
累加器A是微處理器中使用*頻繁的寄存器。在算術和邏輯運算時它有雙功能:運算前,用于保存一個操作數;運算后,用于保存所得的和差或邏輯運算結果。
(2)數據寄存器DR
數據寄存器通過數據總線向存儲器和輸入/輸出設備送(寫)或取(讀)數據的暫存單元。它可以保存一條正在譯碼的指令,也可以保存正在送往存儲器中存儲的一個數據字節(jié)等等。
(3)指令寄存器IR和指令譯碼器ID
指令包括操作碼和操作數。
指令寄存器是用來保存當前正在執(zhí)行的一條指令。當執(zhí)行一條指令時,先把它從內存中取到數據寄存器中,然后再傳送到指令寄存器。當系統執(zhí)行給定的指令時,必須對操作碼進行譯碼,以確定所要求的操作,指
令譯碼器就是負責這項工作的。其中,指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。
(4)程序計數器PC
PC用于確定下一條指令的地址,以保證程序能夠連續(xù)地執(zhí)行下去,因此通常又被稱為指令地址計數器。在程序開始執(zhí)行前必須將程序的*條指令的內存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執(zhí)行指令的地址。
(5)地址寄存器AR
地址寄存器用于保存當前CPU所要訪問的內存單元或I/O設備的地址。由于內存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地址信息,直到內存讀/寫操作完成為止。
顯然,當CPU向存儲器存數據CPU從內存取數據和CPU從內存讀出指令時,都要用到地址寄存器和數據寄存器。同樣,如果把外圍設備的地址作為內存地址單元來看的話,那么當CPU和外圍設備交換信息時,也
需要用到地址寄存器和數據寄存器。