寄存器又分為內(nèi)部寄存器與外部寄存器,所謂內(nèi)部寄存器,其實(shí)也是一些小的存儲單元,也能存儲數(shù)據(jù)。但同存儲器相比,寄存器又有自己獨(dú)有的特點(diǎn):
、 寄存器位于CPU內(nèi)部,數(shù)量很少,僅十四個;
、 寄存器所能存儲的數(shù)據(jù)不一定是8bit,有一些寄存器可以存儲16bit數(shù)據(jù),對于386/486處理器中的一些寄存器則能存儲32bit數(shù)據(jù);
、 每個內(nèi)部寄存器都有一個名字,而沒有類似存儲器的地址編號。
寄存器的功能十分重要,CPU對存儲器中的數(shù)據(jù)進(jìn)行處理時,往往先把數(shù)據(jù)取到內(nèi)部寄存器中,而后再作處理。關(guān)于各個寄存器的具體問題后面會深入討論。
外部寄存器是計算機(jī)中其它一些部件上用于暫存數(shù)據(jù)的寄存器,它與CPU之間通過"端口"交換數(shù)據(jù),所以外部寄存器具有寄存器和內(nèi)存儲器雙重特點(diǎn)。有些時候我們常把外部寄存器就稱為"端口",這種說法不太嚴(yán)格,但經(jīng)常這樣說。
外部寄存器雖然也用于存放數(shù)據(jù),但是它保存的數(shù)據(jù)具有特殊的用途。某些寄存器中各個位的0、1狀態(tài)反映了外部設(shè)備的工作狀態(tài)或方式;還有一些寄存器中的各個位可對外部設(shè)備進(jìn)行控制;也有一些端口作為CPU同外部設(shè)備交換數(shù)據(jù)的通路。所以說,端口是CPU和外設(shè)間的聯(lián)系橋梁。
CPU對端口的訪問也是依據(jù)端口的"編號"(地址),這一點(diǎn)又和訪問存儲器一樣。不過考慮到機(jī)器所聯(lián)接的外設(shè)數(shù)量并不多,所以在設(shè)計機(jī)器的時候僅安排了1024個端口地址,端口地址范圍為0--3FFH。
1.存于寄存器內(nèi)的地址可用來指向內(nèi)存的某個位置即尋址;
2.可將寄存器內(nèi)的數(shù)據(jù)執(zhí)行算術(shù)及邏輯運(yùn)算;
3.可以用來讀寫數(shù)據(jù)到電腦的周邊設(shè)備。