版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第2章章微型計(jì)算機(jī)的基本組成電路微型計(jì)算機(jī)的基本組成電路2.1算術(shù)邏輯單元算術(shù)邏輯單元2.2觸發(fā)器觸發(fā)器2.3寄存器寄存器2.4三態(tài)輸出電路三態(tài)輸出電路2.5總線結(jié)構(gòu)總線結(jié)構(gòu)2.6存儲(chǔ)器存儲(chǔ)器習(xí)題習(xí)題任何一個(gè)復(fù)雜的電路系統(tǒng)都可以劃分為若干電路,這任何一個(gè)復(fù)雜的電路系統(tǒng)都可以劃分為若干電路,這些電路大都由一些典型的電路組成。微型計(jì)算機(jī)就些電路大都由一些典型的電路組成。微型計(jì)算機(jī)就是由若干典型電路通過精心設(shè)計(jì)而組成的,各個(gè)典是由若干典型電路通過精心設(shè)計(jì)而組成的,各個(gè)典型電路在整體電路系統(tǒng)中又稱為基本電路部件。型電路在整體電路系統(tǒng)中又稱為基本電路部件。本章就是對(duì)微型計(jì)算機(jī)中最常見的基本電路部件的名
2、本章就是對(duì)微型計(jì)算機(jī)中最常見的基本電路部件的名稱及電路原理作一簡(jiǎn)單介紹。這些基本電路中最主稱及電路原理作一簡(jiǎn)單介紹。這些基本電路中最主要的是算術(shù)邏輯單元要的是算術(shù)邏輯單元(arithmatic logical unit,ALU)、觸發(fā)器觸發(fā)器(trigger)、寄存器、寄存器(register)、存儲(chǔ)器、存儲(chǔ)器(memory) 及總線結(jié)構(gòu)等。在本章中,數(shù)據(jù)在這些及總線結(jié)構(gòu)等。在本章中,數(shù)據(jù)在這些部件之間的流通過程以及部件之間的流通過程以及“控制字控制字”的概念也將逐的概念也將逐步地引出。所有這些內(nèi)容都是組成微型計(jì)算機(jī)的硬步地引出。所有這些內(nèi)容都是組成微型計(jì)算機(jī)的硬件基礎(chǔ)。件基礎(chǔ)。2.1 算術(shù)邏
3、輯單元算術(shù)邏輯單元(ALU)算術(shù)邏輯單元用來完成算術(shù)運(yùn)算、邏輯判斷、邏輯算術(shù)邏輯單元用來完成算術(shù)運(yùn)算、邏輯判斷、邏輯運(yùn)算和信息傳遞的部件,或者說是數(shù)據(jù)處理的部運(yùn)算和信息傳遞的部件,或者說是數(shù)據(jù)處理的部件。件。它由加法器、移位電路、邏輯運(yùn)算部件、寄存器等它由加法器、移位電路、邏輯運(yùn)算部件、寄存器等電路構(gòu)成。由于任何數(shù)學(xué)運(yùn)算最終可以用加法和電路構(gòu)成。由于任何數(shù)學(xué)運(yùn)算最終可以用加法和移位這兩種基本操作來完成。因而加法器是移位這兩種基本操作來完成。因而加法器是ALU的核心部件。寄存器用來暫時(shí)存放參加運(yùn)算的操的核心部件。寄存器用來暫時(shí)存放參加運(yùn)算的操作數(shù)和運(yùn)算結(jié)果。作數(shù)和運(yùn)算結(jié)果。在計(jì)算機(jī)內(nèi),各種數(shù)據(jù)都
4、用若干個(gè)在計(jì)算機(jī)內(nèi),各種數(shù)據(jù)都用若干個(gè)“0”或或“1”組成的二進(jìn)制代碼表示。如果這一組二進(jìn)制碼組成的二進(jìn)制代碼表示。如果這一組二進(jìn)制碼是作為一個(gè)整體來處理,它的位數(shù)稱為字長(是作為一個(gè)整體來處理,它的位數(shù)稱為字長(Word size),位的單位稱為比特(),位的單位稱為比特(Bit)。如果)。如果這一組二進(jìn)制碼由這一組二進(jìn)制碼由16位組成,其字長為位組成,其字長為16比特比特。不同類型的計(jì)算機(jī)的字長是不同的?,F(xiàn)在常。不同類型的計(jì)算機(jī)的字長是不同的?,F(xiàn)在常用的微型機(jī)字長為用的微型機(jī)字長為32位、位、64位。位。字長的多少影響著計(jì)算的精度和速度。字長的多少影響著計(jì)算的精度和速度。計(jì)算機(jī)的運(yùn)算速度是
5、計(jì)算機(jī)的運(yùn)算速度是ALU的又一技術(shù)指標(biāo)。的又一技術(shù)指標(biāo)。運(yùn)算運(yùn)算速度是指每秒鐘內(nèi)機(jī)器能執(zhí)行的指令次數(shù),單速度是指每秒鐘內(nèi)機(jī)器能執(zhí)行的指令次數(shù),單位是次位是次/秒。計(jì)算機(jī)的運(yùn)算速度不僅取決于秒。計(jì)算機(jī)的運(yùn)算速度不僅取決于ALU。還與存儲(chǔ)器的存取時(shí)間等因素有關(guān)。目前。還與存儲(chǔ)器的存取時(shí)間等因素有關(guān)。目前CPU的運(yùn)行速度常用主頻來表示,如的運(yùn)行速度常用主頻來表示,如300MHz、450MHz、 600MHz等,頻率越高運(yùn)行速度越快。等,頻率越高運(yùn)行速度越快。ALU的符號(hào)一般畫成圖的符號(hào)一般畫成圖2.1那樣。那樣。A和和B為兩個(gè)二進(jìn)制為兩個(gè)二進(jìn)制數(shù),數(shù),S為其運(yùn)算結(jié)果,為其運(yùn)算結(jié)果,control為控
6、制信號(hào)為控制信號(hào)(見圖見圖1.9的控制線端的控制線端SUB)。圖圖2.12.2 觸發(fā)器觸發(fā)器觸發(fā)器觸發(fā)器(trigger)是計(jì)算機(jī)的記憶裝置的基本單元,也可是計(jì)算機(jī)的記憶裝置的基本單元,也可說是記憶細(xì)胞。觸發(fā)器可以組成寄存器,寄存器又可說是記憶細(xì)胞。觸發(fā)器可以組成寄存器,寄存器又可以組成存儲(chǔ)器。寄存器和存儲(chǔ)器統(tǒng)稱為計(jì)算機(jī)的記憶以組成存儲(chǔ)器。寄存器和存儲(chǔ)器統(tǒng)稱為計(jì)算機(jī)的記憶裝置。裝置。微型計(jì)算機(jī)所用觸發(fā)器一般用晶體管元件而不用磁性元微型計(jì)算機(jī)所用觸發(fā)器一般用晶體管元件而不用磁性元件。這是因?yàn)榫w管元件可以制成大規(guī)模的集成電路,件。這是因?yàn)榫w管元件可以制成大規(guī)模的集成電路,體積可以更小些。體積可
7、以更小些。下面簡(jiǎn)要地介紹一下下面簡(jiǎn)要地介紹一下RS觸發(fā)器、觸發(fā)器、D觸發(fā)器和觸發(fā)器和JK觸發(fā)器,觸發(fā)器,因?yàn)檫@些類型的觸發(fā)器是計(jì)算機(jī)中最常見的基本元件。因?yàn)檫@些類型的觸發(fā)器是計(jì)算機(jī)中最常見的基本元件。2.2.1 RS觸發(fā)器觸發(fā)器RS觸發(fā)器可以用兩個(gè)與非門來組成,如圖觸發(fā)器可以用兩個(gè)與非門來組成,如圖2.2所示。當(dāng)所示。當(dāng)S=1而而R=0時(shí),時(shí),Q=1(Q=0)稱為置位;當(dāng)稱為置位;當(dāng)S=0而而R=1時(shí),時(shí),Q=0(Q=1)稱為復(fù)位。稱為復(fù)位。為了作圖方便,以后我們就只用方塊來表示,如圖為了作圖方便,以后我們就只用方塊來表示,如圖2.3就就是是RS觸發(fā)器的符號(hào)。觸發(fā)器的符號(hào)。S端一般稱為置位端,
8、使端一般稱為置位端,使Q=1(Q=0),R端一般稱為復(fù)位端,使端一般稱為復(fù)位端,使Q=0(Q=1)。時(shí)標(biāo)時(shí)標(biāo)RS觸發(fā)器觸發(fā)器為了使觸發(fā)器在整個(gè)機(jī)器中能和其他為了使觸發(fā)器在整個(gè)機(jī)器中能和其他部件協(xié)調(diào)工作,部件協(xié)調(diào)工作,RS觸發(fā)器經(jīng)常有外加的時(shí)標(biāo)脈沖,如觸發(fā)器經(jīng)常有外加的時(shí)標(biāo)脈沖,如圖圖2.4所示。所示。圖圖2.2圖圖2.3觸發(fā)器的非端或0端觸發(fā)器的原端或1端對(duì)對(duì)RS觸發(fā)器歸納為以下幾點(diǎn):觸發(fā)器歸納為以下幾點(diǎn):1、基本、基本RS觸發(fā)器具有置位、復(fù)位和保持(記憶)觸發(fā)器具有置位、復(fù)位和保持(記憶)的功能;的功能;2、基本、基本RS觸發(fā)器的觸發(fā)信號(hào)是低電平有效,屬于觸發(fā)器的觸發(fā)信號(hào)是低電平有效,屬于電
9、平觸發(fā)方式;電平觸發(fā)方式;3、基本、基本RS觸發(fā)器存在約束條件(觸發(fā)器存在約束條件(R+S=1),由于),由于兩個(gè)與非門的延遲時(shí)間無法確定,當(dāng)兩個(gè)與非門的延遲時(shí)間無法確定,當(dāng)R=S=0時(shí),時(shí),將導(dǎo)致下一狀態(tài)的不確定。將導(dǎo)致下一狀態(tài)的不確定。4、當(dāng)輸入信號(hào)發(fā)生變化時(shí),輸出即刻會(huì)發(fā)生變化、當(dāng)輸入信號(hào)發(fā)生變化時(shí),輸出即刻會(huì)發(fā)生變化,抗干擾性較差。,抗干擾性較差。圖圖2.4此圖中的此圖中的CLK即為時(shí)標(biāo)脈沖。它與置位信號(hào)脈沖即為時(shí)標(biāo)脈沖。它與置位信號(hào)脈沖S同同時(shí)加到一個(gè)與門的兩個(gè)輸入端;而與復(fù)位信號(hào)脈沖時(shí)加到一個(gè)與門的兩個(gè)輸入端;而與復(fù)位信號(hào)脈沖同時(shí)加到另一個(gè)與門的兩個(gè)輸入端。這樣,無論是同時(shí)加到另一
10、個(gè)與門的兩個(gè)輸入端。這樣,無論是置位還是復(fù)位,都必須在時(shí)標(biāo)脈沖端為高電位時(shí)才置位還是復(fù)位,都必須在時(shí)標(biāo)脈沖端為高電位時(shí)才能進(jìn)行。能進(jìn)行。2.2.2 D觸發(fā)器觸發(fā)器RS觸發(fā)器有兩個(gè)輸入端觸發(fā)器有兩個(gè)輸入端S和和R。為了存儲(chǔ)一個(gè)高。為了存儲(chǔ)一個(gè)高電位,就需要一個(gè)高電位輸入的電位,就需要一個(gè)高電位輸入的S端;為了存端;為了存儲(chǔ)一個(gè)低電位,就需要另一個(gè)高電位輸入的儲(chǔ)一個(gè)低電位,就需要另一個(gè)高電位輸入的R端。這在很多應(yīng)用中是不很方便的。端。這在很多應(yīng)用中是不很方便的。D觸發(fā)器觸發(fā)器是在是在RS觸發(fā)器的基礎(chǔ)上引伸出來的,它只需一觸發(fā)器的基礎(chǔ)上引伸出來的,它只需一個(gè)輸入端口,圖個(gè)輸入端口,圖2.5就是就是D
11、觸發(fā)器的原理。觸發(fā)器的原理。當(dāng)當(dāng)D端為高電位時(shí),端為高電位時(shí),S端為高電位,而通過非門后加端為高電位,而通過非門后加到到R端的就是低電位,所以此時(shí)端的就是低電位,所以此時(shí)Q端就是高電位,端就是高電位,稱為置位。當(dāng)稱為置位。當(dāng)D端為低電位時(shí),端為低電位時(shí),S端為低電位,同端為低電位,同時(shí)時(shí)R端變?yōu)楦唠娢?,所以端變?yōu)楦唠娢?,所以Q端是低電位,稱為復(fù)位。端是低電位,稱為復(fù)位。圖圖2.5無時(shí)標(biāo)的無時(shí)標(biāo)的D觸發(fā)器是不能協(xié)調(diào)運(yùn)行的,圖觸發(fā)器是不能協(xié)調(diào)運(yùn)行的,圖2.6所示是如所示是如何為何為D觸發(fā)器加上時(shí)標(biāo)的電路。此圖和圖觸發(fā)器加上時(shí)標(biāo)的電路。此圖和圖2.4的道理的道理是一樣的,也是增加兩個(gè)與門就可以接受時(shí)
12、標(biāo)脈沖是一樣的,也是增加兩個(gè)與門就可以接受時(shí)標(biāo)脈沖CLK的控制。的控制。圖圖2.6時(shí)標(biāo)脈沖時(shí)標(biāo)脈沖CLKCLK一般都是方波,在一般都是方波,在CLKCLK處于正半周內(nèi)的處于正半周內(nèi)的任何瞬間,觸發(fā)器都有翻轉(zhuǎn)的可能。這樣計(jì)算機(jī)的任何瞬間,觸發(fā)器都有翻轉(zhuǎn)的可能。這樣計(jì)算機(jī)的動(dòng)作就不可能整齊劃一。我們總是想由時(shí)標(biāo)動(dòng)作就不可能整齊劃一。我們總是想由時(shí)標(biāo)CLKCLK來來指揮整個(gè)機(jī)器的行動(dòng)。因此,采用時(shí)標(biāo)邊緣觸發(fā)的指揮整個(gè)機(jī)器的行動(dòng)。因此,采用時(shí)標(biāo)邊緣觸發(fā)的方式就可以得到準(zhǔn)確劃一的動(dòng)作。圖方式就可以得到準(zhǔn)確劃一的動(dòng)作。圖2.72.7就是邊緣就是邊緣觸發(fā)的觸發(fā)的D D觸發(fā)器的電路原理圖。觸發(fā)器的電路原理圖。
13、圖圖2.7圖圖2.7與圖與圖2.6的區(qū)別僅為增加了一個(gè)的區(qū)別僅為增加了一個(gè)RC微分電路,微分電路,它能使方波電壓信號(hào)的前沿產(chǎn)生正尖峰,后沿產(chǎn)生它能使方波電壓信號(hào)的前沿產(chǎn)生正尖峰,后沿產(chǎn)生負(fù)尖峰。這樣,在負(fù)尖峰。這樣,在D端輸入信號(hào)建立之后,當(dāng)時(shí)標(biāo)端輸入信號(hào)建立之后,當(dāng)時(shí)標(biāo)脈沖的前沿到達(dá)的瞬間,觸發(fā)器才產(chǎn)生翻轉(zhuǎn)動(dòng)作。脈沖的前沿到達(dá)的瞬間,觸發(fā)器才產(chǎn)生翻轉(zhuǎn)動(dòng)作。如果如果D輸入端的信號(hào)是在時(shí)標(biāo)脈沖前沿到達(dá)之后才輸入端的信號(hào)是在時(shí)標(biāo)脈沖前沿到達(dá)之后才建立起來的,則雖然仍在時(shí)標(biāo)脈沖的正半周時(shí)間內(nèi),建立起來的,則雖然仍在時(shí)標(biāo)脈沖的正半周時(shí)間內(nèi),也不能影響觸發(fā)器的狀態(tài),而必須留到下一個(gè)時(shí)標(biāo)也不能影響觸發(fā)器的
14、狀態(tài),而必須留到下一個(gè)時(shí)標(biāo)脈沖的正半周的前沿到達(dá)時(shí)才起作用。這樣就可以脈沖的正半周的前沿到達(dá)時(shí)才起作用。這樣就可以使整個(gè)計(jì)算機(jī)運(yùn)行在高度準(zhǔn)確的協(xié)調(diào)節(jié)拍之中。使整個(gè)計(jì)算機(jī)運(yùn)行在高度準(zhǔn)確的協(xié)調(diào)節(jié)拍之中。觸發(fā)器的預(yù)置和清除:在一些電路中,有時(shí)需要預(yù)觸發(fā)器的預(yù)置和清除:在一些電路中,有時(shí)需要預(yù)先給某個(gè)觸發(fā)器置位先給某個(gè)觸發(fā)器置位(即置即置1)或清除或清除(即置即置0),而與,而與時(shí)標(biāo)脈沖以及時(shí)標(biāo)脈沖以及D輸入端信號(hào)無關(guān),這就是所謂預(yù)置輸入端信號(hào)無關(guān),這就是所謂預(yù)置和清除。這種電路很簡(jiǎn)單,只要在圖和清除。這種電路很簡(jiǎn)單,只要在圖2.7的電路中的電路中增加兩個(gè)或門就可以實(shí)現(xiàn),如圖增加兩個(gè)或門就可以實(shí)現(xiàn),如
15、圖2.8所示。所示。圖圖2.8邊緣觸發(fā)的邊緣觸發(fā)的D觸發(fā)器在計(jì)算機(jī)電路圖中常用圖觸發(fā)器在計(jì)算機(jī)電路圖中常用圖2.9的的符號(hào)來表示。符號(hào)來表示。圖圖2.9圖圖2.9(a)為正邊緣觸發(fā)的符號(hào),而圖為正邊緣觸發(fā)的符號(hào),而圖2.9(b)為負(fù)邊緣為負(fù)邊緣觸發(fā)的符號(hào)。此二符號(hào)之差別在于后者增加了一觸發(fā)的符號(hào)。此二符號(hào)之差別在于后者增加了一個(gè)所謂汽泡個(gè)所謂汽泡“”。這實(shí)際上是在。這實(shí)際上是在D觸發(fā)器的時(shí)觸發(fā)器的時(shí)標(biāo)標(biāo)CLK的微分電路之后再串聯(lián)一個(gè)非門的微分電路之后再串聯(lián)一個(gè)非門(反相器反相器)的簡(jiǎn)化符號(hào)。圖的簡(jiǎn)化符號(hào)。圖2.9(c)與前二圖之差別,也在于其與前二圖之差別,也在于其增加了兩個(gè)汽泡增加了兩個(gè)汽泡
16、“”,這也是代表了增加兩個(gè),這也是代表了增加兩個(gè)非門于非門于PRESET和和CLR端。這樣,就必須是低電端。這樣,就必須是低電平到來才能經(jīng)非門轉(zhuǎn)換成高電平去進(jìn)行預(yù)置和清平到來才能經(jīng)非門轉(zhuǎn)換成高電平去進(jìn)行預(yù)置和清除作用。除作用。2.2.3 JK觸發(fā)器觸發(fā)器JK觸發(fā)器是組成計(jì)數(shù)器的理想記憶元件,這里觸發(fā)器是組成計(jì)數(shù)器的理想記憶元件,這里就就JK觸發(fā)器的電路原理作一簡(jiǎn)要介紹。觸發(fā)器的電路原理作一簡(jiǎn)要介紹。在在RS觸發(fā)器前面增加兩個(gè)與門,并從輸出觸發(fā)器前面增加兩個(gè)與門,并從輸出(Q和和Q)到輸入到輸入(與門的輸入端與門的輸入端)作交叉反饋,即可得到作交叉反饋,即可得到JK觸發(fā)器如圖觸發(fā)器如圖2.10所
17、示。圖中的所示。圖中的CLK輸入端串輸入端串有有RC電路也是為了獲得正邊緣觸發(fā)的工作方電路也是為了獲得正邊緣觸發(fā)的工作方式的。這個(gè)電路的工作過程是:式的。這個(gè)電路的工作過程是:圖圖2.10(1) 當(dāng)當(dāng)J=0,K=0,即,即J和和K都是低電平時(shí),兩個(gè)與門都是低電平時(shí),兩個(gè)與門都被阻塞,無論此時(shí)都被阻塞,無論此時(shí)Q和和Q是什么狀態(tài),由于是什么狀態(tài),由于S和和R也也是低電平,所以不會(huì)改變是低電平,所以不會(huì)改變Q和和Q的狀態(tài),這種狀態(tài)稱的狀態(tài),這種狀態(tài)稱為保持閉鎖狀態(tài)。為保持閉鎖狀態(tài)。(2) J=0,K=1,即,即J為低電平而為低電平而K為高電平。此時(shí)上面為高電平。此時(shí)上面的與門被阻塞,即的與門被阻塞
18、,即S不可能為高電平,所以也無置不可能為高電平,所以也無置位位(即使即使Q=1)的可能。如果此時(shí)的可能。如果此時(shí)Q=1,則反饋至下面,則反饋至下面的與門。在下一個(gè)的與門。在下一個(gè)CLK的正脈沖邊沿到達(dá)時(shí),觸發(fā)的正脈沖邊沿到達(dá)時(shí),觸發(fā)器就產(chǎn)生復(fù)位動(dòng)作器就產(chǎn)生復(fù)位動(dòng)作(Q=0,Q=1)。如果。如果Q原來為低電原來為低電平平(Q=0,Q=1),則反饋至下面的與門而使其也被阻,則反饋至下面的與門而使其也被阻塞,所以即使塞,所以即使K=1,也沒有任何動(dòng)作產(chǎn)生,觸發(fā)器,也沒有任何動(dòng)作產(chǎn)生,觸發(fā)器仍處于復(fù)位狀態(tài)仍處于復(fù)位狀態(tài)(Q=0,Q=1)。(3) J=1,K=0,即,即J為高電平而為高電平而K為低電平。
19、此時(shí)下面的為低電平。此時(shí)下面的與門被阻塞,即與門被阻塞,即R不可能為高電平,所以也無復(fù)位不可能為高電平,所以也無復(fù)位(即即使使Q=0)的可能。如果此時(shí)的可能。如果此時(shí)Q=0,而,而Q=1,則反饋至上,則反饋至上面的與門,在下一個(gè)面的與門,在下一個(gè)CLK的正脈沖邊緣到達(dá)時(shí),觸發(fā)的正脈沖邊緣到達(dá)時(shí),觸發(fā)器就產(chǎn)生置位動(dòng)作器就產(chǎn)生置位動(dòng)作(Q=1,Q=0)。如果。如果Q原來為高電平原來為高電平(Q=1,Q=0),則反饋至上面的與門而將其阻塞,這樣,則反饋至上面的與門而將其阻塞,這樣上下兩個(gè)與門都被阻塞了,觸發(fā)器就仍處于置位狀態(tài)上下兩個(gè)與門都被阻塞了,觸發(fā)器就仍處于置位狀態(tài)(Q=1,Q=0)。(4) J
20、=1,K=1,即,即J,K同為高電平,則可能使觸同為高電平,則可能使觸發(fā)器置位發(fā)器置位(Q=1,Q=0)或復(fù)位或復(fù)位(Q=0,Q=1)。也就。也就是說,如果原來的狀態(tài)為是說,如果原來的狀態(tài)為Q=0,Q=1,在,在J=1及及K=1而且在而且在CLK的正邊緣脈沖到達(dá)時(shí),就會(huì)翻的正邊緣脈沖到達(dá)時(shí),就會(huì)翻轉(zhuǎn)到轉(zhuǎn)到Q=1,Q=0。反之,如果原來的狀態(tài)為。反之,如果原來的狀態(tài)為Q=1,Q=0,在,在J=1及及K=1而且在而且在CLK的正邊緣脈沖的正邊緣脈沖到達(dá)時(shí),就會(huì)翻轉(zhuǎn)到到達(dá)時(shí),就會(huì)翻轉(zhuǎn)到Q=0,Q=1。所謂翻轉(zhuǎn),就。所謂翻轉(zhuǎn),就是觸發(fā)器的狀態(tài)改變的意思。是觸發(fā)器的狀態(tài)改變的意思。圖圖2.11 JK觸發(fā)
21、器的符號(hào)觸發(fā)器的符號(hào)JKQ動(dòng)作動(dòng)作00保持原狀保持原狀自鎖狀態(tài)自鎖狀態(tài)010復(fù)位復(fù)位101置位置位11原狀態(tài)的反碼原狀態(tài)的反碼翻轉(zhuǎn)翻轉(zhuǎn)2.3 寄存器寄存器寄存器寄存器(register)是由觸發(fā)器組成的。一個(gè)觸發(fā)器就是一個(gè)是由觸發(fā)器組成的。一個(gè)觸發(fā)器就是一個(gè)一位寄存器。由多個(gè)觸發(fā)器可以組成一個(gè)多位寄存器。一位寄存器。由多個(gè)觸發(fā)器可以組成一個(gè)多位寄存器。寄存器由于其在計(jì)算機(jī)中的作用之不同而具有不同的寄存器由于其在計(jì)算機(jī)中的作用之不同而具有不同的功能,從而被命名為不同的名稱。常見的寄存器有:功能,從而被命名為不同的名稱。常見的寄存器有:緩沖寄存器緩沖寄存器用以暫存數(shù)據(jù);用以暫存數(shù)據(jù);移位寄存器移位
22、寄存器能夠能夠?qū)⑵渌娴臄?shù)據(jù)一位一位地向左或向右移;將其所存的數(shù)據(jù)一位一位地向左或向右移;計(jì)數(shù)器計(jì)數(shù)器一個(gè)計(jì)數(shù)脈沖到達(dá)時(shí),會(huì)按二進(jìn)制數(shù)的規(guī)律累計(jì)脈一個(gè)計(jì)數(shù)脈沖到達(dá)時(shí),會(huì)按二進(jìn)制數(shù)的規(guī)律累計(jì)脈沖數(shù);沖數(shù);累加器累加器用以暫存每次在用以暫存每次在ALU中計(jì)算的中間中計(jì)算的中間結(jié)果。結(jié)果。下面分別介紹這些寄存器的工作原理及其電路結(jié)構(gòu)。下面分別介紹這些寄存器的工作原理及其電路結(jié)構(gòu)。2.3.1 緩沖寄存器緩沖寄存器其基本工作原理為:設(shè)有一個(gè)二進(jìn)制數(shù),共有其基本工作原理為:設(shè)有一個(gè)二進(jìn)制數(shù),共有4位數(shù):位數(shù):X=X3X2X1X0要存到這個(gè)緩沖寄存器要存到這個(gè)緩沖寄存器(buffer)中去,此寄存器是由中去
23、,此寄存器是由4個(gè)個(gè)D觸觸發(fā)器組成的。將發(fā)器組成的。將X0,X1,X2,X3分別送到各個(gè)觸發(fā)器的分別送到各個(gè)觸發(fā)器的D0,D1,D2,D3端去,只要端去,只要CLK的正前沿還未到來,則的正前沿還未到來,則Q0,Q1,Q2,Q3就不受就不受X0,X1,X2,X3的影響而保持其原有的影響而保持其原有的數(shù)據(jù)。只有當(dāng)?shù)臄?shù)據(jù)。只有當(dāng)CLK的正前沿來到時(shí),的正前沿來到時(shí),Q0,Q1,Q2,Q3才接受才接受D0,D1,D2,D3的影響,而變成:的影響,而變成:圖圖2.12Q0=X0Q1=X1Q2=X2Q3=X3結(jié)果就是:結(jié)果就是:Q=Q3Q2Q1Q0=X 3X2X1X0=X這就叫做將數(shù)據(jù)這就叫做將數(shù)據(jù)X裝到
24、寄存器中去了。如要將此數(shù)據(jù)送裝到寄存器中去了。如要將此數(shù)據(jù)送至其他記憶元件去,則可由至其他記憶元件去,則可由Y0,Y1,Y2,Y3各條引各條引線引出去。線引出去。可控緩沖寄存器:圖可控緩沖寄存器:圖2.12的緩沖寄存器的數(shù)據(jù)的緩沖寄存器的數(shù)據(jù)X輸入到輸入到Q只是受只是受CLK的節(jié)拍管理,即只要一將的節(jié)拍管理,即只要一將X各位加到寄存各位加到寄存器各位的器各位的D輸入端,時(shí)標(biāo)節(jié)拍一到,就會(huì)立即送到輸入端,時(shí)標(biāo)節(jié)拍一到,就會(huì)立即送到Q去。去。這有時(shí)是不利而有害的,因?yàn)橐苍S我們還想讓早已存這有時(shí)是不利而有害的,因?yàn)橐苍S我們還想讓早已存在其中的數(shù)據(jù)多留一些時(shí)間,但由于不可控之故,在在其中的數(shù)據(jù)多留一些
25、時(shí)間,但由于不可控之故,在CLK正前沿一到就會(huì)立即被來到門口的數(shù)據(jù)正前沿一到就會(huì)立即被來到門口的數(shù)據(jù)X替代掉。替代掉。為此,我們必須為這個(gè)寄存器增設(shè)一個(gè)可控的為此,我們必須為這個(gè)寄存器增設(shè)一個(gè)可控的“門門”。這個(gè)。這個(gè)“門門”的基本原理如圖的基本原理如圖2.13所示,它所示,它是由兩個(gè)與門一個(gè)或門以及一個(gè)非門所組成的。是由兩個(gè)與門一個(gè)或門以及一個(gè)非門所組成的。圖圖2.13在在X0端送入數(shù)據(jù)端送入數(shù)據(jù)(0或或1)后,后,如如LOAD端端(以下簡(jiǎn)稱為以下簡(jiǎn)稱為L端端)為低電位為低電位,則右邊的與門被阻塞,則右邊的與門被阻塞,X0過不去,過不去,而原來已存在此位中的數(shù)據(jù)由而原來已存在此位中的數(shù)據(jù)由Q
26、0送至左邊的與門。送至左邊的與門。此與門的另一端輸入從非門引來的與此與門的另一端輸入從非門引來的與L端反相的電端反相的電平,即高電位。所以平,即高電位。所以Q0的數(shù)據(jù)可以通過左邊的與門,的數(shù)據(jù)可以通過左邊的與門,再經(jīng)或門而送達(dá)再經(jīng)或門而送達(dá)D0端。這就形成自鎖,即既存的數(shù)端。這就形成自鎖,即既存的數(shù)據(jù)能夠可靠地存在其中而不會(huì)丟失。據(jù)能夠可靠地存在其中而不會(huì)丟失。如如L端為高電位端為高電位,則左邊與門被阻塞而右邊與門可,則左邊與門被阻塞而右邊與門可讓讓X0通過,這樣通過,這樣Q0的既存數(shù)據(jù)不再受到自鎖,而的既存數(shù)據(jù)不再受到自鎖,而X0可以到達(dá)可以到達(dá)D0端。只要端。只要CLK的正前沿一到達(dá),的正
27、前沿一到達(dá),X0即被送到即被送到Q0去,這時(shí)就叫做裝入去,這時(shí)就叫做裝入(LOAD)。一旦。一旦裝入之后,裝入之后,L端又降至低電平,則利用左邊的與端又降至低電平,則利用左邊的與門,門,X0就能自鎖而穩(wěn)定地存在就能自鎖而穩(wěn)定地存在Q0中。中。要記住,以后我們一提到要記住,以后我們一提到“L門門”,大家就要想到圖,大家就要想到圖2.13的電路結(jié)構(gòu)及其作用:的電路結(jié)構(gòu)及其作用:高電平時(shí)使數(shù)據(jù)裝入,高電平時(shí)使數(shù)據(jù)裝入,低電平時(shí),數(shù)據(jù)自鎖在其中。低電平時(shí),數(shù)據(jù)自鎖在其中。對(duì)于多位的寄存器,每位各自有一套如圖對(duì)于多位的寄存器,每位各自有一套如圖2.13一樣的一樣的電路。不過只用一個(gè)非門,并且只有一個(gè)電路
28、。不過只用一個(gè)非門,并且只有一個(gè)LOAD輸輸入端,如圖入端,如圖2.14所示。所示。圖圖2.14可控緩沖寄存器的符號(hào)一般畫成圖可控緩沖寄存器的符號(hào)一般畫成圖2.15那樣,那樣,LOAD為其控制門,而為其控制門,而CLR為高電平時(shí)則可用以清除,使為高電平時(shí)則可用以清除,使其中各位變?yōu)槠渲懈魑蛔優(yōu)?。圖圖2.152.3.2 移位寄存器移位寄存器移位寄存器移位寄存器(shifting register)能將其所存儲(chǔ)的數(shù)能將其所存儲(chǔ)的數(shù)據(jù)逐位向左或向右移動(dòng),以達(dá)到計(jì)算機(jī)在運(yùn)行據(jù)逐位向左或向右移動(dòng),以達(dá)到計(jì)算機(jī)在運(yùn)行過程中所需的功能,例如用來判斷最左邊的位過程中所需的功能,例如用來判斷最左邊的位是是0或
29、或1等。電路原理圖如圖等。電路原理圖如圖2.16所示。所示。圖圖2.16左移寄存器如圖左移寄存器如圖2.16(a)所示,當(dāng)所示,當(dāng)Din=1而送至最右邊而送至最右邊的第的第1位時(shí),位時(shí),D0即為即為1,當(dāng),當(dāng)CLK的正前沿到達(dá)時(shí),的正前沿到達(dá)時(shí),Q0即等于即等于1。同時(shí)第。同時(shí)第2位的位的D1也等于也等于1。當(dāng)。當(dāng)CLK第第2個(gè)正前沿到達(dá)時(shí),個(gè)正前沿到達(dá)時(shí),Q1也等于也等于1。結(jié)果可得下列的左。結(jié)果可得下列的左移過程:移過程:CLK前沿未到前沿未到Q=Q3Q2Q1Q0=0000第第1前沿來到前沿來到Q=0001第第2前沿來到前沿來到Q=0011第第3前沿來到前沿來到Q=0111第第4前沿來到前
30、沿來到Q=1111第第5前沿來到,如此時(shí)前沿來到,如此時(shí)Din仍為仍為1,則,則Q不變,仍為不變,仍為1111。當(dāng)當(dāng)Q=1111之后,改變之后,改變Din,使,使Din=0,則結(jié)果將是把,則結(jié)果將是把0逐逐位左移:位左移:第第1前沿來到前沿來到Q=1110第第2前沿來到前沿來到Q=1100第第3前沿來到前沿來到Q=1000第第4前沿來到前沿來到Q=0000由此可見,由此可見,在左移寄存器中,每個(gè)時(shí)鐘脈沖都要把所在左移寄存器中,每個(gè)時(shí)鐘脈沖都要把所儲(chǔ)存的各位向左移動(dòng)一個(gè)數(shù)位。儲(chǔ)存的各位向左移動(dòng)一個(gè)數(shù)位。右移寄存器如圖右移寄存器如圖2.16(b)所示。圖所示。圖2.16(b)與圖與圖2.16(a)
31、之之差別僅在于各位的接法不同,而且輸入數(shù)據(jù)差別僅在于各位的接法不同,而且輸入數(shù)據(jù)Din是加是加到左邊第到左邊第1位的輸入端位的輸入端D3。根據(jù)上面的分析,當(dāng)。根據(jù)上面的分析,當(dāng)Din=1時(shí),隨著時(shí)鐘脈沖而逐步位移是這樣的:時(shí),隨著時(shí)鐘脈沖而逐步位移是這樣的:CLK前沿未到前沿未到Q=0000第第1前沿來到前沿來到Q=1000第第2前沿來到前沿來到Q=1100第第3前沿來到前沿來到Q=1110第第4前沿來到前沿來到Q=1111由此可見,由此可見,在右移寄存器中,每個(gè)時(shí)鐘脈沖都要把在右移寄存器中,每個(gè)時(shí)鐘脈沖都要把所存儲(chǔ)的各位向右移動(dòng)一個(gè)位置。所存儲(chǔ)的各位向右移動(dòng)一個(gè)位置??煽匾莆患拇嫫鳎汉途彌_寄
32、存器一樣,在整機(jī)運(yùn)行可控移位寄存器:和緩沖寄存器一樣,在整機(jī)運(yùn)行中,移位寄存器也需要另有控制電路,以保證其在中,移位寄存器也需要另有控制電路,以保證其在適當(dāng)時(shí)機(jī)才參與協(xié)調(diào)工作。這個(gè)電路也和圖適當(dāng)時(shí)機(jī)才參與協(xié)調(diào)工作。這個(gè)電路也和圖2.13一一樣,只要在每一位的電路上增加一個(gè)這樣的樣,只要在每一位的電路上增加一個(gè)這樣的LOAD門門(L門門)即可以達(dá)到控制的目的。即可以達(dá)到控制的目的。可控移位寄存器的符號(hào)如圖可控移位寄存器的符號(hào)如圖2.17所示,其中新出現(xiàn)的所示,其中新出現(xiàn)的符號(hào)的意義是:符號(hào)的意義是:SHL左移左移(shift to the left)SHR右移右移(shift to the ri
33、ght)圖圖2.172.3.3 計(jì)數(shù)器計(jì)數(shù)器計(jì)數(shù)器計(jì)數(shù)器(counter)也是由若干個(gè)觸發(fā)器組成的寄存器,它也是由若干個(gè)觸發(fā)器組成的寄存器,它的特點(diǎn)是能夠把存儲(chǔ)在其中的數(shù)字加的特點(diǎn)是能夠把存儲(chǔ)在其中的數(shù)字加1。計(jì)數(shù)器的種類很多,有行波計(jì)數(shù)器、同步計(jì)數(shù)器、環(huán)形計(jì)數(shù)器的種類很多,有行波計(jì)數(shù)器、同步計(jì)數(shù)器、環(huán)形計(jì)數(shù)器和程序計(jì)數(shù)器等。計(jì)數(shù)器和程序計(jì)數(shù)器等。(1) 行波計(jì)數(shù)器行波計(jì)數(shù)器(travelling wave counter) 的特點(diǎn)是:第的特點(diǎn)是:第1個(gè)時(shí)鐘脈沖促使其最低有效位個(gè)時(shí)鐘脈沖促使其最低有效位(least significant bit,LSB)加加1,由,由0變變1。第。第2個(gè)時(shí)鐘
34、脈沖促使最低有效位由個(gè)時(shí)鐘脈沖促使最低有效位由1變變0,同時(shí)推動(dòng)第同時(shí)推動(dòng)第2位,使其由位,使其由0變變1。同理,第。同理,第2位由位由1變變0時(shí)時(shí)又去推動(dòng)第又去推動(dòng)第3位,使其由位,使其由0變變1,這樣有如水波前進(jìn)一樣,這樣有如水波前進(jìn)一樣逐位進(jìn)位下去。圖逐位進(jìn)位下去。圖2.18就是由就是由JK觸發(fā)器組成的行波計(jì)觸發(fā)器組成的行波計(jì)數(shù)器的工作原理圖。數(shù)器的工作原理圖。圖圖2.18中的各位的中的各位的J,K輸入端都是懸浮的,這相當(dāng)輸入端都是懸浮的,這相當(dāng)于于J,K端都是置端都是置1的狀態(tài),亦即是各位都處于準(zhǔn)備的狀態(tài),亦即是各位都處于準(zhǔn)備翻轉(zhuǎn)的狀態(tài)。只要時(shí)鐘脈沖邊緣一到,最右邊的觸翻轉(zhuǎn)的狀態(tài)。只要
35、時(shí)鐘脈沖邊緣一到,最右邊的觸發(fā)器就會(huì)翻轉(zhuǎn),即發(fā)器就會(huì)翻轉(zhuǎn),即Q由由0轉(zhuǎn)為轉(zhuǎn)為1或由或由1轉(zhuǎn)為轉(zhuǎn)為0。各位的。各位的JK觸發(fā)器的時(shí)鐘脈沖輸入端都帶有一個(gè)觸發(fā)器的時(shí)鐘脈沖輸入端都帶有一個(gè)“氣泡氣泡”,這表示是串有一個(gè)反相門這表示是串有一個(gè)反相門(非門非門),這樣,只有時(shí)鐘,這樣,只有時(shí)鐘脈沖的后沿脈沖的后沿(產(chǎn)生負(fù)的尖峰電壓產(chǎn)生負(fù)的尖峰電壓)才能為其所接受。才能為其所接受。因此,可得計(jì)數(shù)步驟如下:因此,可得計(jì)數(shù)步驟如下:圖圖2.18開始時(shí)使開始時(shí)使CLR由高電位變至低電位由高電位變至低電位(這也是由于有這也是由于有“氣泡氣泡”在在CLR輸入端之故輸入端之故),則計(jì)數(shù)器全部清除,則計(jì)數(shù)器全部清除,所
36、以:所以:Q=Q3Q2Q1Q0=0000第第1時(shí)鐘后沿到時(shí)鐘后沿到Q=0001此此Q0由低電位由低電位(0)升至高電位升至高電位(1),產(chǎn)生的是電位上升,產(chǎn)生的是電位上升的變化,由于有的變化,由于有“氣泡氣泡”在第在第2位的時(shí)鐘脈沖輸入位的時(shí)鐘脈沖輸入端,所以第端,所以第2個(gè)觸發(fā)器不會(huì)翻轉(zhuǎn),必須在個(gè)觸發(fā)器不會(huì)翻轉(zhuǎn),必須在Q0由由1降為降為0時(shí)才會(huì)翻轉(zhuǎn)。接著:時(shí)才會(huì)翻轉(zhuǎn)。接著:第第2時(shí)鐘后沿到時(shí)鐘后沿到Q=0010第第3時(shí)鐘后沿到時(shí)鐘后沿到Q=0011第第4時(shí)鐘后沿到時(shí)鐘后沿到Q=0100第第5時(shí)鐘后沿到時(shí)鐘后沿到Q=0101第第6時(shí)鐘后沿到時(shí)鐘后沿到Q=0110第第7時(shí)鐘后沿到時(shí)鐘后沿到Q=0
37、111第第8時(shí)鐘后沿到時(shí)鐘后沿到Q=1000第第15時(shí)鐘后沿到時(shí)鐘后沿到Q=1111第第16時(shí)鐘后沿到時(shí)鐘后沿到Q=0000在第在第16個(gè)時(shí)鐘脈沖到時(shí),計(jì)數(shù)器復(fù)位至個(gè)時(shí)鐘脈沖到時(shí),計(jì)數(shù)器復(fù)位至0,因此這個(gè)計(jì)數(shù),因此這個(gè)計(jì)數(shù)器可以計(jì)由器可以計(jì)由0至至15的數(shù)。如果要計(jì)的數(shù)更多,就需要更的數(shù)。如果要計(jì)的數(shù)更多,就需要更多的位,即更多的多的位,即更多的JK觸發(fā)器來組成計(jì)數(shù)器。如觸發(fā)器來組成計(jì)數(shù)器。如8位計(jì)數(shù)位計(jì)數(shù)器可計(jì)由器可計(jì)由0至至255的數(shù),的數(shù),12位計(jì)數(shù)器可計(jì)由位計(jì)數(shù)器可計(jì)由0至至4 095的數(shù),的數(shù),16位則可計(jì)由位則可計(jì)由0至至65 535的數(shù)。圖的數(shù)。圖2.19是可控計(jì)數(shù)器的是可控計(jì)數(shù)
38、器的電路原理圖。電路原理圖。圖圖2.19圖圖2.18中的中的J,K輸入端是懸浮的,所以每次時(shí)鐘脈輸入端是懸浮的,所以每次時(shí)鐘脈沖到時(shí),它都要翻轉(zhuǎn)一次。圖沖到時(shí),它都要翻轉(zhuǎn)一次。圖2.19中的各個(gè)中的各個(gè)J,K輸輸入端連在一起引出來,由計(jì)數(shù)控制端入端連在一起引出來,由計(jì)數(shù)控制端COUNT的電的電位信號(hào)來控制。當(dāng)位信號(hào)來控制。當(dāng)COUNT為高電位時(shí),為高電位時(shí),JK觸發(fā)器觸發(fā)器才有翻轉(zhuǎn)的可能。當(dāng)才有翻轉(zhuǎn)的可能。當(dāng)COUNT為低電位時(shí)就不可能為低電位時(shí)就不可能翻轉(zhuǎn)。圖翻轉(zhuǎn)。圖2.20是這種計(jì)數(shù)器的符號(hào)。是這種計(jì)數(shù)器的符號(hào)。圖圖2.20(2) 同步計(jì)數(shù)器同步計(jì)數(shù)器 (synchronous count
39、er) 行波計(jì)數(shù)器的工作原理是在時(shí)鐘邊緣到來時(shí)開始計(jì)數(shù),行波計(jì)數(shù)器的工作原理是在時(shí)鐘邊緣到來時(shí)開始計(jì)數(shù),由右邊第一位由右邊第一位(LSB)開始,如有進(jìn)位的話則要一位一位開始,如有進(jìn)位的話則要一位一位的推進(jìn)。而每一位觸發(fā)器都需要建立時(shí)間的推進(jìn)。而每一位觸發(fā)器都需要建立時(shí)間tp(tp約為約為10納納秒秒)。如果是。如果是16位的計(jì)數(shù)器,則最大可能的計(jì)一個(gè)數(shù)的位的計(jì)數(shù)器,則最大可能的計(jì)一個(gè)數(shù)的時(shí)間為時(shí)間為160納秒,這就顯得太慢了。納秒,這就顯得太慢了。同步計(jì)數(shù)器是將時(shí)同步計(jì)數(shù)器是將時(shí)鐘脈沖同時(shí)加到各位的觸發(fā)器的時(shí)鐘輸入端鐘脈沖同時(shí)加到各位的觸發(fā)器的時(shí)鐘輸入端,而將前,而將前一位的輸出端一位的輸出端
40、(Q)接到下一位的接到下一位的JK端去。這樣可以使計(jì)端去。這樣可以使計(jì)數(shù)器計(jì)數(shù)時(shí)間只相當(dāng)于一個(gè)觸發(fā)器的建立時(shí)間數(shù)器計(jì)數(shù)時(shí)間只相當(dāng)于一個(gè)觸發(fā)器的建立時(shí)間tp,所以,所以同步計(jì)數(shù)器在很多微型機(jī)中常被使用。為了避免初學(xué)同步計(jì)數(shù)器在很多微型機(jī)中常被使用。為了避免初學(xué)者陷到電路分析中去,這里就不介紹具體線路了。者陷到電路分析中去,這里就不介紹具體線路了。(3) 環(huán)形計(jì)數(shù)器環(huán)形計(jì)數(shù)器(ring counter)也是由若干個(gè)觸發(fā)器組成的。也是由若干個(gè)觸發(fā)器組成的。不過,環(huán)形計(jì)數(shù)器與上述計(jì)數(shù)器不一樣,它只是僅有唯一的不過,環(huán)形計(jì)數(shù)器與上述計(jì)數(shù)器不一樣,它只是僅有唯一的一個(gè)位為高電位,即只有一位為一個(gè)位為高電位
41、,即只有一位為1,其他各位為,其他各位為0。圖。圖2.21是是由由D觸發(fā)器組成環(huán)形計(jì)數(shù)器的電路原理圖。觸發(fā)器組成環(huán)形計(jì)數(shù)器的電路原理圖。圖圖2.21當(dāng)當(dāng)CLR端有高電位輸入時(shí),除右邊第端有高電位輸入時(shí),除右邊第1位位(LSB)外,其他各外,其他各位全被置位全被置0(因清除電位因清除電位CLR都接至它們的都接至它們的CLR端端),而右,而右邊第邊第1位則被置位則被置1(因清除電位因清除電位CLR被引至其被引至其PR端端)。這就是。這就是說,開始時(shí)說,開始時(shí)Q0=1,而,而Q1,Q2,Q3全為全為0。因此,。因此,D1也等于也等于1,而,而D0=Q3=0。在時(shí)鐘脈沖正邊緣來到時(shí),則。在時(shí)鐘脈沖正邊
42、緣來到時(shí),則Q0=0,而,而Q1=1,其他各位仍為,其他各位仍為0。第。第2個(gè)時(shí)鐘脈沖前沿來到時(shí),個(gè)時(shí)鐘脈沖前沿來到時(shí),Q0=0,Q1=0,而,而Q2=1,Q3仍仍=0。這樣,隨著時(shí)鐘脈沖而。這樣,隨著時(shí)鐘脈沖而各位輪流置各位輪流置1,并且是在最后一位,并且是在最后一位(左邊第左邊第1位位)置置1之后又之后又回到右邊第回到右邊第1位,這就形成環(huán)形置位,所以稱為環(huán)形計(jì)數(shù)位,這就形成環(huán)形置位,所以稱為環(huán)形計(jì)數(shù)器。環(huán)形計(jì)數(shù)器的符號(hào)如圖器。環(huán)形計(jì)數(shù)器的符號(hào)如圖2.22所示。所示。圖圖2.22環(huán)形計(jì)數(shù)器不是用來計(jì)數(shù)用,而是用來發(fā)出順序環(huán)形計(jì)數(shù)器不是用來計(jì)數(shù)用,而是用來發(fā)出順序控制信號(hào)的,這在計(jì)算機(jī)的控制
43、器中是一個(gè)很重控制信號(hào)的,這在計(jì)算機(jī)的控制器中是一個(gè)很重要的部件。要的部件。(4) 程序計(jì)數(shù)器程序計(jì)數(shù)器(program counter) 也是一個(gè)行波計(jì)數(shù)也是一個(gè)行波計(jì)數(shù)器器(也可用同步計(jì)數(shù)器也可用同步計(jì)數(shù)器)。不過它不但可以從。不過它不但可以從0開始開始計(jì)數(shù),也可以將外來的數(shù)裝入其中,這就需要一個(gè)計(jì)數(shù),也可以將外來的數(shù)裝入其中,這就需要一個(gè)COUNT輸入端,也要有一個(gè)輸入端,也要有一個(gè)LOAD門,程序計(jì)數(shù)門,程序計(jì)數(shù)器的符號(hào)如圖器的符號(hào)如圖2.23所示。所示。圖圖2.232.3.4 累加器累加器累加器也是一個(gè)由多個(gè)觸發(fā)器組成的多位寄存器,累加器也是一個(gè)由多個(gè)觸發(fā)器組成的多位寄存器,累加器的
44、英文為累加器的英文為accumulator,譯作累加器,譯作累加器,似乎容易產(chǎn)生誤解,以為是在其中進(jìn)行算術(shù)加似乎容易產(chǎn)生誤解,以為是在其中進(jìn)行算術(shù)加法運(yùn)算。法運(yùn)算。其實(shí)它不進(jìn)行加法運(yùn)算,而是作為其實(shí)它不進(jìn)行加法運(yùn)算,而是作為ALU運(yùn)算過程的代數(shù)和的臨時(shí)存儲(chǔ)處。運(yùn)算過程的代數(shù)和的臨時(shí)存儲(chǔ)處。這種特這種特殊的寄存器在微型計(jì)算機(jī)的數(shù)據(jù)處理中擔(dān)負(fù)著殊的寄存器在微型計(jì)算機(jī)的數(shù)據(jù)處理中擔(dān)負(fù)著重要的任務(wù)。重要的任務(wù)。累加器除了能裝入及輸出數(shù)據(jù)外,還能使存儲(chǔ)其累加器除了能裝入及輸出數(shù)據(jù)外,還能使存儲(chǔ)其中的數(shù)據(jù)左移或右移,所以它又是一種移位寄中的數(shù)據(jù)左移或右移,所以它又是一種移位寄存器。累加器的符號(hào)如圖存器。累
45、加器的符號(hào)如圖2.24所示。所示。圖圖2.248086的寄存器結(jié)構(gòu)的寄存器結(jié)構(gòu)8086CPU內(nèi)部具有內(nèi)部具有14個(gè)個(gè)16位寄存器,用于提供運(yùn)位寄存器,用于提供運(yùn)算,控制指令執(zhí)行和對(duì)指令及操作數(shù)尋址。算,控制指令執(zhí)行和對(duì)指令及操作數(shù)尋址。包括通用寄存器、段寄存器、控制寄存器組。包括通用寄存器、段寄存器、控制寄存器組。AH ALBHBLCHCLDHDLSPBPSIDIIPFLAGSCSDSSSES07815AXBXCXDX累加器累加器基址寄存器基址寄存器計(jì)數(shù)寄存器計(jì)數(shù)寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器堆棧指針堆棧指針基址指針基址指針源變址寄存器源變址寄存器目的變址寄存器目的變址寄存器指令指針指令指針標(biāo)志寄
46、存器標(biāo)志寄存器代碼段寄存器代碼段寄存器數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器堆棧段寄存器堆棧段寄存器附加段段寄存器附加段段寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器地址指針和地址指針和變址寄存器變址寄存器控制寄存器組控制寄存器組段寄存器組段寄存器組通用寄存器組通用寄存器組一、通用寄存器組一、通用寄存器組8個(gè)個(gè)16位通用寄存器分為兩組:數(shù)據(jù)寄存器及地址位通用寄存器分為兩組:數(shù)據(jù)寄存器及地址指針和變址寄存器指針和變址寄存器數(shù)據(jù)寄存器包括數(shù)據(jù)寄存器包括AXAX、BXBX、CXCX和和DXDX。在指令的執(zhí)行過程中即可。在指令的執(zhí)行過程中即可用來寄存操作數(shù),也可用于寄存操作的結(jié)果。用來寄存操作數(shù),也可用于寄存操作的結(jié)果。它們中的每一
47、個(gè)又可將高它們中的每一個(gè)又可將高8 8位和低位和低8 8位分成獨(dú)立的兩個(gè)位分成獨(dú)立的兩個(gè)8 8位寄位寄存器來使用。存器來使用。1616位的數(shù)據(jù)寄存器主要用于存放數(shù)據(jù),也可以位的數(shù)據(jù)寄存器主要用于存放數(shù)據(jù),也可以用來存放地址。而用來存放地址。而8 8位寄存器(位寄存器(AHAH、ALAL、BHBH、BLBL、CHCH、CLCL、DHDH和和DLDL)只能用于存放數(shù)據(jù)。)只能用于存放數(shù)據(jù)。1、數(shù)據(jù)寄存器、數(shù)據(jù)寄存器地址指針和變址寄存器包括地址指針和變址寄存器包括SP、BP、SI和和DI。這組。這組寄存器在功能上的功能上的共同點(diǎn)是:在對(duì)寄存器寄存器在功能上的功能上的共同點(diǎn)是:在對(duì)寄存器操作數(shù)尋址時(shí),
48、用于形成操作數(shù)尋址時(shí),用于形成20位物理地址碼的組成部位物理地址碼的組成部分。在任何情況下,他們都不能獨(dú)立地形成訪問內(nèi)分。在任何情況下,他們都不能獨(dú)立地形成訪問內(nèi)存的地址碼,因?yàn)樗麄兌贾挥写娴牡刂反a,因?yàn)樗麄兌贾挥?6位。訪問存儲(chǔ)器的位。訪問存儲(chǔ)器的地址碼由段地址(存放在段寄存器中)和段內(nèi)偏移地址碼由段地址(存放在段寄存器中)和段內(nèi)偏移地址兩部分構(gòu)成。而這地址兩部分構(gòu)成。而這四個(gè)寄存器主要存放段內(nèi)偏四個(gè)寄存器主要存放段內(nèi)偏移地址的全部或一部分移地址的全部或一部分。下面來說明段寄存器和地。下面來說明段寄存器和地址形成的方法。址形成的方法。2、地址指針和變址寄存器、地址指針和變址寄存器SP(Sta
49、ck Pointer)堆棧指針。用于存放堆棧操作(壓堆棧指針。用于存放堆棧操作(壓入或彈出)地址的段內(nèi)偏移地址。其段地址由段寄入或彈出)地址的段內(nèi)偏移地址。其段地址由段寄存器存器SS提供。提供。BP(Base Pointer)基址指針。在某些間接尋址方式中,基址指針。在某些間接尋址方式中,BP用來存放段內(nèi)偏移地址的一部分。特別之的說明用來存放段內(nèi)偏移地址的一部分。特別之的說明的是,凡包含的是,凡包含BP的尋址方式中,無特別說明,其段的尋址方式中,無特別說明,其段地址由段寄存器地址由段寄存器SS提供。提供。SI(Source Index)和和DI(Destination Index)變址寄存器變
50、址寄存器。在某些間接尋址方式中,。在某些間接尋址方式中,SI和和DI用來存放段內(nèi)偏用來存放段內(nèi)偏移地址的全部或一部分。在字符串操作指令中,移地址的全部或一部分。在字符串操作指令中,SI用作源變址寄存器,用作源變址寄存器,DI用作目的變址寄存器。用作目的變址寄存器。寄存器名稱寄存器名稱特定用法特定用法AX,AL在乘法或除法指令中作累加器在乘法或除法指令中作累加器在在I/O指令中用作數(shù)據(jù)寄存器指令中用作數(shù)據(jù)寄存器AH在在LAFH指令中用作目的寄存器指令中用作目的寄存器AL在在BCD碼及碼及ASCII碼運(yùn)算指令中作累加器碼運(yùn)算指令中作累加器在在XLAT指令中作累加器指令中作累加器BX在間接尋址中作地
51、址寄存器在間接尋址中作地址寄存器在間接尋址中作基址寄存器在間接尋址中作基址寄存器在在XLAT指令中作為基址寄存器指令中作為基址寄存器CX在循環(huán)指令和字符串指令中作循環(huán)次數(shù)的計(jì)數(shù)寄存器在循環(huán)指令和字符串指令中作循環(huán)次數(shù)的計(jì)數(shù)寄存器,每作每作一次循環(huán)一次循環(huán),CX的內(nèi)容自動(dòng)減的內(nèi)容自動(dòng)減1CL在移位及循環(huán)移位指令中作移位位數(shù)及循環(huán)移位次數(shù)的計(jì)在移位及循環(huán)移位指令中作移位位數(shù)及循環(huán)移位次數(shù)的計(jì)數(shù)寄存器數(shù)寄存器DX在在I/O指令間接尋址時(shí)作地址寄存器指令間接尋址時(shí)作地址寄存器在乘法及除法指令中作輔助累加器(當(dāng)乘積或被除數(shù)為在乘法及除法指令中作輔助累加器(當(dāng)乘積或被除數(shù)為32位時(shí)存放高位時(shí)存放高16位)
52、位)通用寄存器的特定用法通用寄存器的特定用法寄存器名稱寄存器名稱特定用法特定用法BP在間接尋址中作為基址寄存器在間接尋址中作為基址寄存器SP在堆棧操作中作為堆棧指針在堆棧操作中作為堆棧指針SI在字符串指令中作源變址寄存器在字符串指令中作源變址寄存器在間接尋址中作地址寄存器在間接尋址中作地址寄存器在間接尋址中作變址寄存器在間接尋址中作變址寄存器DI在字符串指令中作為目的變址寄存器在字符串指令中作為目的變址寄存器在間接尋址中作地址寄存器在間接尋址中作地址寄存器在間接尋址中作變址寄存器在間接尋址中作變址寄存器續(xù)表二、段寄存器組二、段寄存器組訪問存儲(chǔ)器的地址碼由段地址和段內(nèi)偏移地址兩部分訪問存儲(chǔ)器的地
53、址碼由段地址和段內(nèi)偏移地址兩部分組成。段寄存器用來存放段地址??偩€接口組成。段寄存器用來存放段地址。總線接口BIU設(shè)設(shè)置置4個(gè)段寄存器。個(gè)段寄存器。CPU可以通過可以通過4個(gè)段寄存器訪問存?zhèn)€段寄存器訪問存儲(chǔ)器中儲(chǔ)器中4個(gè)不同的段。四個(gè)段寄存器分別是:個(gè)不同的段。四個(gè)段寄存器分別是:CS(Code Segment)代碼段寄存器。它存放當(dāng)前執(zhí)行程代碼段寄存器。它存放當(dāng)前執(zhí)行程序所在段的段地址。序所在段的段地址。CS的內(nèi)容左移四位再加上指令的內(nèi)容左移四位再加上指令指針指針I(yè)P的內(nèi)容就是下一條要執(zhí)行的指令地址。的內(nèi)容就是下一條要執(zhí)行的指令地址。DS(Data Segment)數(shù)據(jù)段寄存器。它存放當(dāng)前數(shù)
54、據(jù)段數(shù)據(jù)段寄存器。它存放當(dāng)前數(shù)據(jù)段的段地址。通常數(shù)據(jù)段用來存放數(shù)據(jù)和變量。的段地址。通常數(shù)據(jù)段用來存放數(shù)據(jù)和變量。DS的內(nèi)容左移四位再加上按指令中存儲(chǔ)器尋址方式計(jì)的內(nèi)容左移四位再加上按指令中存儲(chǔ)器尋址方式計(jì)算出來的偏移地址,即為對(duì)數(shù)據(jù)段制定單元讀寫的算出來的偏移地址,即為對(duì)數(shù)據(jù)段制定單元讀寫的地址。地址。SS(Stack Segment)堆棧段寄存器。它存放堆棧段的段堆棧段寄存器。它存放堆棧段的段地址。堆棧是存儲(chǔ)器中開辟的按后進(jìn)先出原則組織地址。堆棧是存儲(chǔ)器中開辟的按后進(jìn)先出原則組織的一個(gè)特別存儲(chǔ)區(qū)。主要用于調(diào)用子程序時(shí),保留的一個(gè)特別存儲(chǔ)區(qū)。主要用于調(diào)用子程序時(shí),保留返回主程序的地址和保存進(jìn)
55、入子程序?qū)⒁淖兤渲捣祷刂鞒绦虻牡刂泛捅4孢M(jìn)入子程序?qū)⒁淖兤渲档募拇嫫鞯膬?nèi)容。對(duì)堆棧進(jìn)行操作(壓入或彈出)的寄存器的內(nèi)容。對(duì)堆棧進(jìn)行操作(壓入或彈出)的地址由的地址由SS的左移四位再加上的左移四位再加上SP的內(nèi)容得到。的內(nèi)容得到。ES(Extra Segment)附加段寄存器。附加段是一個(gè)附加段寄存器。附加段是一個(gè)附加數(shù)據(jù)段。附加段是在進(jìn)行字符串操作是作附加數(shù)據(jù)段。附加段是在進(jìn)行字符串操作是作為目的區(qū)地址使用的,為目的區(qū)地址使用的,ES存放附加段的段地址存放附加段的段地址,DI存放目的區(qū)的偏移地址。存放目的區(qū)的偏移地址。DS和和ES都要由用都要由用戶用程序設(shè)置初值。若戶用程序設(shè)置初值。若DS
56、和和ES的初值相同,則的初值相同,則數(shù)據(jù)段和附加段重合。數(shù)據(jù)段和附加段重合。三、控制寄存器組三、控制寄存器組1、指令指針(、指令指針(Instruction Pointer)指令指針相當(dāng)于程序計(jì)數(shù)器指令指針相當(dāng)于程序計(jì)數(shù)器PC。它保存下一條要執(zhí)。它保存下一條要執(zhí)行的指令的偏移地址,用于調(diào)試程序。某些指令如行的指令的偏移地址,用于調(diào)試程序。某些指令如轉(zhuǎn)移指令、過程調(diào)用指令和返回指令等將改變轉(zhuǎn)移指令、過程調(diào)用指令和返回指令等將改變IP的的內(nèi)容。內(nèi)容。2、標(biāo)志寄存器(、標(biāo)志寄存器(FLAG)共共9個(gè)標(biāo)志寄存器。其中個(gè)標(biāo)志寄存器。其中6個(gè)是反映前一次涉及個(gè)是反映前一次涉及ALU操作結(jié)果的狀態(tài)標(biāo)志,操作
57、結(jié)果的狀態(tài)標(biāo)志,3個(gè)是控制個(gè)是控制CPU操作特征的操作特征的控制標(biāo)志??刂茦?biāo)志。CF(Carry Flag)進(jìn)位標(biāo)志。如果加法時(shí)最高位(對(duì)字進(jìn)位標(biāo)志。如果加法時(shí)最高位(對(duì)字節(jié)操作是節(jié)操作是D7 位,對(duì)字操作是位,對(duì)字操作是D15 )產(chǎn)生進(jìn)位或減法)產(chǎn)生進(jìn)位或減法時(shí)最高位產(chǎn)生錯(cuò)位,則時(shí)最高位產(chǎn)生錯(cuò)位,則CF=1,否則否則CF=0。PF(Parity Flag)奇偶標(biāo)志。如果操作結(jié)果的低奇偶標(biāo)志。如果操作結(jié)果的低8位中含位中含有偶數(shù)個(gè)有偶數(shù)個(gè)1,PF=1,否則,否則PF=0。AF(Auxiliary Carry Flag)輔助進(jìn)位標(biāo)志。如果在加法輔助進(jìn)位標(biāo)志。如果在加法時(shí)時(shí)D3 位有進(jìn)位或減法時(shí)位
58、有進(jìn)位或減法時(shí)D3 位有借位則位有借位則 AF=1,否則否則AF=0。ZF(Zero Flag)零標(biāo)志。如果運(yùn)算結(jié)果各位都為零。則零標(biāo)志。如果運(yùn)算結(jié)果各位都為零。則ZF=1,否則否則ZF=0。SF(Sign Flag)符號(hào)標(biāo)志。它總是和結(jié)果的最高位相同。因符號(hào)標(biāo)志。它總是和結(jié)果的最高位相同。因?yàn)樵谘a(bǔ)碼運(yùn)算時(shí)的最高位是符號(hào)位,所以運(yùn)算結(jié)果為負(fù)為在補(bǔ)碼運(yùn)算時(shí)的最高位是符號(hào)位,所以運(yùn)算結(jié)果為負(fù)時(shí),時(shí),SF=1,否則,否則SF=0。OF(Overflow Flag)溢出標(biāo)志。在加或者減運(yùn)算中結(jié)果超出溢出標(biāo)志。在加或者減運(yùn)算中結(jié)果超出8位或位或16位有符號(hào)數(shù)所能表示的范圍時(shí),產(chǎn)生溢出,位有符號(hào)數(shù)所能表示
59、的范圍時(shí),產(chǎn)生溢出,OF=1,否則否則OF=0。DF(Direction)方向標(biāo)志??捎弥噶铑A(yù)置。字符串操作指令方向標(biāo)志。可用指令預(yù)置。字符串操作指令執(zhí)行是受它的控制。當(dāng)執(zhí)行是受它的控制。當(dāng)DF=0時(shí),執(zhí)行串操作指令,變址時(shí),執(zhí)行串操作指令,變址寄存器地址自動(dòng)遞增;當(dāng)寄存器地址自動(dòng)遞增;當(dāng)DF=1時(shí),則變址寄存器地址自時(shí),則變址寄存器地址自動(dòng)遞減。則該標(biāo)志位可控制地址朝增大的方向或減小的動(dòng)遞減。則該標(biāo)志位可控制地址朝增大的方向或減小的方向改變。方向改變。IF(Interrupt Enable Flag)中斷允許標(biāo)志??捎弥噶铑A(yù)中斷允許標(biāo)志??捎弥噶铑A(yù)置。當(dāng)置。當(dāng)IF=1時(shí),時(shí),CPU可響應(yīng)可屏
60、蔽中斷請(qǐng)求;當(dāng)可響應(yīng)可屏蔽中斷請(qǐng)求;當(dāng)IF=0時(shí),時(shí),CPU不響應(yīng)可屏蔽中斷請(qǐng)求。不響應(yīng)可屏蔽中斷請(qǐng)求。TF(Trap Flag)陷阱標(biāo)志。若陷阱標(biāo)志。若TF=1,則,則CPU處于單步處于單步執(zhí)行指令工作方式。執(zhí)行指令工作方式。IBM PC系統(tǒng)中,用系統(tǒng)調(diào)試系統(tǒng)中,用系統(tǒng)調(diào)試程序程序DEBUG時(shí),時(shí),T命每執(zhí)行一條指令就自動(dòng)產(chǎn)生一命每執(zhí)行一條指令就自動(dòng)產(chǎn)生一次類型次類型1的內(nèi)部中斷。令就是利用這種中斷,服務(wù)的內(nèi)部中斷。令就是利用這種中斷,服務(wù)子程序的功能是顯示所有寄存器的當(dāng)前值和將要執(zhí)子程序的功能是顯示所有寄存器的當(dāng)前值和將要執(zhí)行的下一條指令。行的下一條指令。例:假如前一條指令執(zhí)行例:假如前一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度環(huán)保項(xiàng)目資金監(jiān)管與效果評(píng)價(jià)協(xié)議
- 二零二五年度企業(yè)實(shí)習(xí)生實(shí)習(xí)協(xié)議范本
- 二零二五年度城市環(huán)境監(jiān)控設(shè)備維護(hù)與數(shù)據(jù)分析合同
- 二零二五年度動(dòng)漫角色設(shè)計(jì)師授權(quán)使用合同
- 2025年度高新技術(shù)企業(yè)股份轉(zhuǎn)讓協(xié)議模板
- 二零二五年度互聯(lián)網(wǎng)醫(yī)院運(yùn)營代理委托書
- 2025年度股東致行動(dòng)人合作協(xié)議及公司重大事項(xiàng)決策條款
- 山東成品無邊泳池施工方案
- 冷卻塔的施工方案
- 地鐵混凝土施工方案
- 《數(shù)學(xué)課程標(biāo)準(zhǔn)》義務(wù)教育2022年修訂版(原版)
- 農(nóng)機(jī)維修市場(chǎng)前景分析
- 2024-2030年中國假睫毛行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- HG+20231-2014化學(xué)工業(yè)建設(shè)項(xiàng)目試車規(guī)范
- 匯款賬戶變更協(xié)議
- 電力系統(tǒng)動(dòng)態(tài)仿真與建模
- 蝦皮shopee新手賣家考試題庫及答案
- 四川省宜賓市2023-2024學(xué)年八年級(jí)上學(xué)期期末義務(wù)教育階段教學(xué)質(zhì)量監(jiān)測(cè)英語試題
- 價(jià)值醫(yī)療的概念 實(shí)踐及其實(shí)現(xiàn)路徑
- 2024年中國華能集團(tuán)燃料有限公司招聘筆試參考題庫含答案解析
- 《紅樓夢(mèng)》中的男性形象解讀
評(píng)論
0/150
提交評(píng)論