<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機執行指令的過(guò)程

單片機執行指令的過(guò)程

作者: 時(shí)間:2013-03-04 來(lái)源:網(wǎng)絡(luò ) 收藏

執行程序的過(guò)程,實(shí)際上就是執行我們所編制程序的過(guò)程。即逐條指令的過(guò)程。計算機每執行一條指令都可分為三個(gè)階段進(jìn)行。即取指令-----分析指令-----。

取指令的任務(wù)是:根據程序PC中的值從程序存儲器讀出現行指令,送到指令寄存器。

分析指令階段的任務(wù)是:將指令寄存器中的指令操作碼取出后進(jìn)行譯碼,分析其指令性質(zhì)。如指令要求操作數,則尋找操作數地址。

計算機執行程序的過(guò)程實(shí)際上就是逐條指令地重復上述操作過(guò)程,直至遇到停機指令可循環(huán)等待指令。

一般計算機進(jìn)行工作時(shí),首先要通過(guò)外部設備把程序和數據通過(guò)輸入接口電路和數據總線(xiàn)送入到存儲器,然后逐條取出執行。但中的程序一般事先我們都已通過(guò)寫(xiě)入器固化在片內或片外程序存儲器中。因而一開(kāi)機即可。

下面我們將舉個(gè)實(shí)例來(lái)說(shuō)明指令的執行過(guò)程:

開(kāi)機時(shí),程序計算器PC變?yōu)?000H。然后在時(shí)序電路作用下自動(dòng)進(jìn)入執行程序過(guò)程。執行過(guò)程實(shí)際上就是取出指令(取

出存儲器中事先存放的指令階段)和(分析和執行指令)的循環(huán)過(guò)程。

例如執行指令:MOV A,#0E0H,其機器碼為“74H E0H”,該指令的功能是把操作數E0H送入累加器,

0000H單元中已存放74H,0001H單元中已存放E0H。當單片機開(kāi)始運行時(shí),首先是進(jìn)入取指階段,其次序是:

1 程序的內容(這時(shí)是0000H)送到地址寄存器;

2 程序的內容自動(dòng)加1(變?yōu)?001H);

3 地址寄存器的內容(0000H)通過(guò)內部地址總線(xiàn)送到存儲器,以存儲器中地址譯碼電跟,使地址為0000H的單元被選中;

4 CPU使讀控制線(xiàn)有效;

5 在讀命令控制下被選中存儲器單元的內容(此時(shí)應為74H)送到內部數據總線(xiàn)上,因為是取指階段,所以該內容通過(guò)數據總線(xiàn)被送到指令寄存器。

至此,取指階段完成,進(jìn)入譯碼分析和執行指令階段。

由于本次進(jìn)入指令寄存器中的內容是74H(操作碼),以譯碼器譯碼后單片機就會(huì )知道該指令是要將一個(gè)數送到A累加器,而該數是在這個(gè)代碼的下一個(gè)存儲單元。所以,執行該指令還必須把數據(E0H)從存儲器中取出送到CPU,即還要在存儲器中取第二個(gè)字節。其過(guò)程與取指階段很相似,只是此時(shí)PC已為0001H。指令譯碼器結合時(shí)序部件,產(chǎn)生74H操作碼的微操作系列,使數字E0H從0001H單元取出。因為指令是要求把取得的數送到A累加器,所以取出的數字經(jīng)內部數據總線(xiàn)進(jìn)入A累加器,而不是進(jìn)入指令寄存器。至此,一條指令的執行完畢。單片機中PC=0002H,PC在CPU每次向存儲器取指或取數時(shí)自動(dòng)加1,單片機又進(jìn)入下一取指階段。這一過(guò)程一直重復下去,直至收到暫停指令或循環(huán)等待指令暫停。CPU就是這樣一條一條地執行指令,完成所有規定的功能。



關(guān)鍵詞: 單片機 執行指令 計數器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>