計算機原理 6.6 總線結構cpu指令周期


1、單總線結構CPU

 

 

 

 

 

 

 

 

 首先說一下取指令如何完成:

首先將PC的值取出,這個動作我們需要給出一個PC out的信號,控制三態門值輸出到總線,然后再由總線輸入AR中,同樣需要一個ARin的寫使能控制信號,在下一個時鍾到來時,就會將對應的PC值輸入到AR,同時PC的值要完成加1的操作,通過總線傳輸到x端,同樣需要一個Xin的控制信號,時鍾到來后,PC的值就會寫入X中,這是第一個時鍾干的事,就是將PC的值存入AR和X中。

下一個時鍾周期,我們要干什么呢?我們要通過AR來訪問內存,同時將PC的值加1,具體操作就是,給ALU的運算選擇信號+1,讓pc的值加上1送到結果Z,要想讓結果寫入Z,必須在時鍾到來后才可以,因為Z沒有寫使能,所以時鍾到來后,一定會鎖存。同時在內存處,給出讀信號,主存就可以進行相應的工作,這是第二拍。

第三拍,我們要將PC運算的結果Z的值送回PC,並且我們要把內存中對應的數據寫入到DR中。首先將Z的值送回PC,給出Zou信號,將Z的值傳輸到數據總線,再給出一個PCin,等第三個時鍾到來后,Z的值就會寫入到PC中了,然后將主存中的數據寫入到DR中,給出DRin信號,當第三個時鍾到來后,數據就寫入到DR中了。

第四個時鍾周期,需要把DR寫入到IR,我們給出DRout,將DR的值寫入到總線,再給出IRin,第四個時鍾到了后,就會把DR的值寫入到IR中。到此取指令就完成了,然后再將指令送到指令譯碼器生成操作控制信號,由時序產生器控制時序,由操作控制器產生各功能部件所需要的控制信號序列,這些都是執行指令的事了。

 

下面,以LOAD  R0,6#    指令為例,詳細講下執行指令的具體過程,這條指令的作用是將6號存儲單元取出以后送到R0中,因為6是存在指令里邊的,所以將6從指令寄存器的地址碼部分取出,然后訪問主存,最后將對應的數據送到寄存器中,首先我們應該把6從IR中取出來,把6送入到AR中去訪存,具體操作是給出IRout信號,將6輸出到總線,送到AR的輸入端,給出ARin,當第一個時鍾到達后,就可以將6寫入到AR中,當6在AR里,下一步就給出內存讀信號,當第二個時鍾到達后,就會鎖存,內存就會開始讀,第三拍我們就將數據取出,送到DR中,需要給出DRin信號,第三個時鍾到達后,就可以將數據寫入到DR中,在第四拍時,需要將DR的值送入到R0寄存器,給出DRout信號,將DR的值輸入到總線,然后給出R0in,在第四個時鍾到達時,將DR的值寫入到R0中

,指令執行結束,現在R0中存放的就是6號單元的數據。

 

1、MOVE指令執行數據通路

 

 2、ADD指令執行數據通路

 

 3、STORE指令 數據通路

 

 4、JMP指令數據通路

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM