CPU通過(guò)總線連接的,除了存儲(chǔ)器外還包括3種芯片。
1、各種接口卡(網(wǎng)卡、顯卡等)上的接口芯片。
2、主板上的接口芯片。
3、其他芯片。
在這里芯片中又存在由CPU進(jìn)行讀寫的寄存器,它們有兩點(diǎn)共性:
1、都和CPU總線連接。
2、通過(guò)控制總線發(fā)出讀寫命令。
CPU把這些寄存器看成端口,并對(duì)它們編址。
CPU可以直接對(duì)3個(gè)地方的數(shù)據(jù)進(jìn)行直接讀寫,這其中就包括端口,這3個(gè)地方是:
1、CPU內(nèi)部寄存器。
2、內(nèi)存單元。
3、端口。
CPU通過(guò)端口地址來(lái)定位端口,它最多可以定位216個(gè)端口。
對(duì)端口讀寫的命令只有IN和OUT指令。
IN:從端口讀取數(shù)據(jù)。
OUT:向端口寫入數(shù)據(jù)。
CPU訪問(wèn)內(nèi)存和端口的方式大致相同,很簡(jiǎn)單沒(méi)啥可說(shuō)的,可參見P266所述。
IN和OUT只能使用AX和AL來(lái)存放從端口讀入和向端口輸出的數(shù)據(jù)。
P266~P267簡(jiǎn)單地介紹了一下CMOS,其實(shí)沒(méi)啥可看的。
CMOS是個(gè)芯片,其上有內(nèi)存RAM,還有電池。正是因?yàn)橛须姵兀娔X上的時(shí)鐘才不會(huì)在關(guān)機(jī)的時(shí)候停,內(nèi)存才能持久地保存著數(shù)據(jù)。
CMOS中的RAM中保存的是BIOS,所以可見BIOS并不是一個(gè)硬件,BIOS只不過(guò)是一個(gè)程序。所以我們平常說(shuō)的設(shè)置BIOS(就是一開機(jī)按F2或者DEL進(jìn)去的那個(gè)界面)也可以說(shuō)成是設(shè)置CMOS。
都是邏輯位移指令。
SHL(Shift
Logical Left):邏輯左移。
SHR(Shift
Logical Right):邏輯右移。
SHL作用:將寄存器或內(nèi)存單元中的數(shù)據(jù)向左移位,并將移出的最后一位寫入CF(Carry Flag,進(jìn)位寄存器),低位補(bǔ)0。
如果移動(dòng)位數(shù)大于1,必須將移動(dòng)位數(shù)存入CL(Count Low,計(jì)數(shù)寄存器)中。
SHR作用:將寄存器或內(nèi)存單元中的數(shù)據(jù)向右移位,并將移出的最后一位寫入CF(Carry Flag,進(jìn)位寄存器),高位補(bǔ)0。
這個(gè)沒(méi)什么好說(shuō)的,值得一說(shuō)的就是這個(gè)時(shí)間信息是用BCD碼存儲(chǔ)的。
所謂BCD碼就是用4位2進(jìn)制數(shù)字表示一個(gè)十進(jìn)制數(shù)字的方法,也是16進(jìn)制數(shù)字中從0~9的表示方法。