CPU執(zhí)行一條指令的簡(jiǎn)單過(guò)程
2022-04-16 23:59 作者:我愛(ài)計(jì)算機(jī)科學(xué) | 我要投稿

圖1是一張CPU的結(jié)構(gòu)圖。
在圖1基礎(chǔ)上,這里轉(zhuǎn)載一個(gè)說(shuō)明cpu執(zhí)行一條指令的說(shuō)明圖。

將圖2和圖1對(duì)比一下,圖1中的PC程序計(jì)數(shù)器就是圖2中的IP寄存器。
圖2中的第一條指令占3個(gè)字節(jié)

指令機(jī)器碼是

一條指令的執(zhí)行步驟是:
1:把 CS:IP 內(nèi)容送入地址加法器,計(jì)算得到 20 位的物理地址 20000H;
控制電路把 20 位的地址,送入到地址總線;
2:內(nèi)存中 20000H 單元處的指令 B8 23 01,經(jīng)過(guò)數(shù)據(jù)總線被送到指令緩沖區(qū);
3:指令偏移寄存器 IP 的值要加 3,指向下一條等待被執(zhí)行的偏移地址(因?yàn)橹噶畲a B8 代表當(dāng)前指令的長(zhǎng)度是 3 個(gè)字節(jié));
4:執(zhí)行指令緩沖區(qū)中的指令: 把數(shù)值 0123H 送入寄存器 AX 中;
以上就是一條指令的執(zhí)行最基本步驟,當(dāng)然,現(xiàn)代處理器的指令執(zhí)行流程,比這里的要復(fù)雜的多得多。
注意觀察圖2和以上步驟,我們注意到,IP寄存器中地址的改變是在原指令執(zhí)行之前完成的,所以PC寄存器中的內(nèi)容一直是下一條將要執(zhí)行的指令的地址。
標(biāo)簽: