歡迎您訪問貴州自考網!  今天是 考生中心 登錄注冊  網站導航

貴州省自考網

微型計算機原理及應用學習筆記 微型計算機的工

來源:貴州自考網 發表時間:2018-06-19   【 【貴州自考網:貴州自考考試第一門戶網】

一、一個模型機
為了使初學者了解微型計算機的工作過程,我們以圖1-5所示的簡化的模型機為例進行說明。為簡明起見,圖中只畫出內存儲器和微處理器,并假定要執行的程序以及數據已存入內存儲器中。



圖1-5  一個模型機

圖中微處理器由三部分組成:
(1)控制器。由指令寄存器IR(Instruction Register)、指令譯碼器ID(Instruction Decoder)和可編程邏輯陣列PLA(Programmable Logic Array)組成,由PLA產生控制信號。
(2)運算器。其中算術邏輯部件ALU的兩個輸入端表示為I1和I2,I1由累加器AL提供,I2可以來自寄存器BL,也可來自數據寄存器DR(Data Register)提供的從內存儲器讀出的內容。輸出端表示為O,輸出運算結果,通過數據總線傳送到指定的目的地。標志寄存器F(Flag)用來存放運算結果的某些特征。

(3)寄存器組。模型機的微處理器中的寄存器只畫出AL、BL、AR、DR和IP,要執行的指令地址由指令指針IP(Instruction Pointer)給出,送地址寄存器AR(Address Register), 再通過微處理器的地址總線AB(Address Bus)尋址內存儲器中相應的存儲單元,從中讀出一條指令的指令代碼由微處理器的數據總線DB(Data Bus)送數據寄存器DR,再經過指令寄存器IR、指今譯碼器ID和定時控制電路PLA發出執行該指令所需的各種控制信號。
模型機中存儲器結構如圖1-6所示。



圖1-6  模型機中存儲器結構


存儲器由1024(1K)個單元組成,用三位16進制數000H~3FFH表示各單元的地址,每個單元存放8位二進制信息(用二位16進制數表示)。由地址總線AB上送來的內存地址(10位二進制數),經過內存儲器中的地址譯碼器譯碼后選中對應的內存單元,然后可對該單元進行指令所要求的讀或寫操作。
以讀操作為例:
設在內存010H單元中的內容為5AH(01011010B),現要將其讀出。首先,微處理器中地址寄存器給出地址010H,送上地址總線AB送入內存儲器,經內存中地址譯碼器譯碼后,選中010H單元,同時微處理器中PLA發出存儲器讀的控制命令前一單元fix = v ns = "urn:schemas-microsoft-com:vml" /> ,在該信號作用下將010H單元內容5AH送上數據總線并傳送到微處理器中的數據寄存器DR,根據指令要求送到目的地。上述存儲器讀過程見圖l-7所示。

圖1-7  存儲器的讀操作
二、模型機中指令的執行過程
模型機中指令的執行過程可用三條匯編指令形式表示的程序表示,即為
MOV AL,09H
ADD AL,12H
HLT
第一條指令 MOV AL,09H是把立即數09H送入累加器AL;第2條指令ADD AL,12H是把AL中的內容(即上一條指令操作結果AL=09H)同立即數12H相加,結果為09H+12H=IBH存入AL中;第三條指令HLT為暫停指令。可見這三條指令的功能為把09H和12H(即10進制數18)相加后存放在AL中。
微處理器只能識別機器碼,上述指令以機器碼形式表示如下
MOV AL,09H——10110000B(B表示二進制碼)
                 00001001B
ADD AL,12H——00000100B
         HLT——11110100B
三條指令共5個字節,存放在內存儲器中000H~004H  5個存儲單元中,如圖1-8所示。
1. 取第一條指令操作碼的操作過程
操作過程如圖1-9所示。
首先將第一條指令第一字節的地址000H賦予IP,然后進入第一條指令的取指操作(實際上是取操作碼)。
1)IP的值000H送入地址寄存器AR;
2)IP的內容自動加1,即000H變為001H;



圖1-8  指令在內存中存放示意圖



圖1-9  取第一條指令操作碼的操作過程

3)地址寄存器AR將地址碼000H通過地址總線送到存儲器,經譯碼后選中000H單元;
4)微處理器給出讀命令 ;
5)所選中的000H單元內容B0H送上數據總線;
6)數據總線上的數據B0H送上數據寄存器DR;
7)因是取指操作,取出的是指令操作碼B0H,即由DR送到指令寄存器IR;
8)IR中的操作碼經指令澤碼器ID譯碼后,通過PLA發出執行該指令的有關控制命令。
第一條指令的操作碼B0H經譯碼后知道這是一條把立即數09H送累加器AL的指令,立即數09H在指令的第二字節中,則執行第一條指令就是從內存中取出指令第二字節(即09H)送入AL。
2. 執行第一條指令(即取第一條指令第二字節)的操作過程
操作過程如圖1-10所示。
                     
圖1-10  執行第一條指令的操作過程
1)將IP的內容001H送入AR;
2)IP的內容自動加1(002H);
3)AR通過地址總線AB把地址碼00lH送到內存儲器,經地址譯碼后選中相應的存儲單元;
4)微處理器給出讀命令 ;
5)所選中的001H單元內容09H送上數據總線DB;
6)DB上的數據09H送上數據寄存器DR;
7)由指令操作碼的譯碼可知,指令要求把第二字節的數據送入累加器AL,則DR上的數據09H通過內部總線送到AL。則第一條指令的執行過程全部完成。
然后,進入第二條指令的取操作碼階段,以及第二條指令的執行階段,如圖1-11和圖1-12所示。具體過程不再贅述。

                                                    
           圖1-11  取第二條指令操作碼的操作過程




                   圖1-12    執行第二條指令的操作過程

至此,該程序段的主要工作(09H+12H=1BH送入AL)已經完成,第三條指令HLT只是告訴微處理器進入“暫停”階段。這是通過第三條指令HLT的機器碼F4H的取指、譯碼后實現的,具體操作過程同前述有關操作。



 


TAG標簽:

貴州自考便捷服務

貴州自學考試專題

更多>>
混合过关规则