第2章 十六位微處理器_第1頁
第2章 十六位微處理器_第2頁
第2章 十六位微處理器_第3頁
第2章 十六位微處理器_第4頁
第2章 十六位微處理器_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第二章十六位微處理器§2.1概述§2.28088微處理器的結(jié)構(gòu)§2.38088微處理器的存貯器組織§2.4系統(tǒng)組成習(xí)題§2-1概

述一、建立4字節(jié)的指令預(yù)取隊(duì)列在以前的8位微處理器中,CPU的工作過程是這樣的:通過總線從存貯器中取出一條指令,然后執(zhí)行一條指令,如圖2-1(a)所示。在這種工作方式中,總線的利用率是很低的。圖2-1一般8位處理器和8088處理器指令執(zhí)行過程對比為此在8088微處理器中,設(shè)置了一個(gè)4字節(jié)的指令預(yù)取隊(duì)列,CPU要執(zhí)行的指令是從隊(duì)列中取得的,而取指令的操作是由總線接口單元承擔(dān)的。以此將取指和執(zhí)行指令這兩個(gè)操作分別由兩處獨(dú)立的功能單元來完成。一旦總線接口單元發(fā)現(xiàn)隊(duì)列中有兩個(gè)字節(jié)以上的空位置時(shí),就會自動地到存貯器中去取2個(gè)指令代碼填充到指令預(yù)取隊(duì)列中。這樣,8088微處理器取指令和執(zhí)行指令就可以并行進(jìn)行(如圖2-1(b)所示),從而提高了微處理器的指令執(zhí)行速度,并使得總線利用率有了明顯的提高。二、設(shè)立地址段寄存器8088微處理器內(nèi)部的地址線只有16位,因此能夠由ALU提供的地址空間最大只能為64k。

三、在結(jié)構(gòu)上和指令設(shè)置方面支持多微處理器系統(tǒng)眾所周知,利用8088的指令系統(tǒng)進(jìn)行復(fù)雜的運(yùn)算,如多字節(jié)的浮點(diǎn)運(yùn)算,超越函數(shù)的運(yùn)算等往往是很費(fèi)時(shí)間的,為了彌補(bǔ)這一缺陷,人們開發(fā)了專門用于浮點(diǎn)運(yùn)算的協(xié)處理器8087。將8088和8087結(jié)合起來,就可以組成運(yùn)算速度很高的處理單元。另一方面,為了能用8088微處理器構(gòu)成一個(gè)共享總線的多微處理器系統(tǒng)結(jié)構(gòu),以提高微型計(jì)算機(jī)的性能,同樣在微處理器的結(jié)構(gòu)上和指令系統(tǒng)方面作了統(tǒng)一考慮??傊?8088微處理器不僅使微處理器的內(nèi)部寄存器擴(kuò)充至16位,從而使尋址能力和算術(shù)邏輯運(yùn)算能力有了進(jìn)一步提高;而且由于采取了上述一些措施,使微處理器的綜合性能與8位微處理器相比,有了明顯的提高?!?-28088微處理器的結(jié)構(gòu)一、8088微處理器的引腳及其功能8088微處理器芯片是一塊具有40個(gè)引腳的集成電路塊,其各引腳定義如圖2-2所示。為了減少引腳,如圖2-2所示,許多引腳具有雙重定義,即具有復(fù)用功能。圖2-28088微處理器芯片引腳圖1.最小模式——它是CPU的輸出(三態(tài))控制信號,用來區(qū)分當(dāng)前操作是訪問存貯器還是訪問I/O端口?!荂PU的輸出控制信號(三態(tài)),當(dāng)該引腳輸出為低電平時(shí),表示CPU正處于寫存貯器或?qū)慖/O端口狀態(tài)。

——該引腳是CPU的輸出控制信號(三態(tài))。

——它是CPU的輸出控制信號(三態(tài))。ALE——

它是CPU的輸出控制信號(三態(tài)),高電平有效。

——它是CPU的中斷響應(yīng)信號,低電平有效。

HOLD——是CPU的總線請求信號,高電平有效。

HLDA——是CPU的總線響應(yīng)信號,高電平有效。2.最大模式8088微處理器在最大模式情況下,通過8288總線控制器對狀態(tài)信息碼

的譯碼,能產(chǎn)生多總線(MULTIBUS)所定義的總線時(shí)序和控制信號,從而系統(tǒng)可以構(gòu)成多微處理器系統(tǒng)結(jié)構(gòu)?!鼈兪荂PU輸出的狀態(tài)信號(三態(tài)),其狀態(tài)編碼如表2-2所示。表2-1狀態(tài)編碼表2-2的狀態(tài)編碼——它們是總線請求允許引腳?!び善渌目偩€控制設(shè)備產(chǎn)生一個(gè)寬度為一個(gè)時(shí)種周期的負(fù)向總線請求脈沖送給引腳。相當(dāng)于HOLD信號。·CPU檢測到這個(gè)請求信號后,在下一個(gè)T4或T1期間,在同一個(gè)引腳輸出寬度為一個(gè)時(shí)鐘周期的負(fù)向脈沖給請求總線的設(shè)備,作為總線響應(yīng)信號,相當(dāng)于HLDA信號。這樣從下一個(gè)時(shí)鐘周期開始,CPU就釋放總線?!た偩€請求設(shè)備在對總線操作結(jié)束后,再產(chǎn)生一個(gè)寬度為一個(gè)時(shí)鐘周期的負(fù)向脈沖,通過該引腳送給CPU,它表示總線請求已結(jié)束。CPU檢測到該結(jié)束信號后,在下一個(gè)時(shí)鐘周期開始又控制了總線,繼續(xù)執(zhí)行剛才因其它總線設(shè)備請求總線而暫停的操作?!且粋€(gè)總線封鎖信號,低電平有效。當(dāng)該信號有效時(shí),別的總線控制設(shè)備的總線請求信號將被封鎖,不能獲得對系統(tǒng)總線的控制。信號由前綴指令“LOCK”使其有效,直至下一條指令執(zhí)行完畢。

QS1、QS0——它是CPU輸出的隊(duì)列狀態(tài)信號。根據(jù)該狀態(tài)信號輸出,從外部可以跟蹤C(jī)PU內(nèi)部的指令隊(duì)列。QS1、QS0的編碼如表2-3所示。隊(duì)列狀態(tài)在CLK周期期間有效。

HIGH——在最大模式時(shí)始終為高電平輸出。如上所述,引腳24~31及引腳33~34隨著不同模式有不同的定義。下面再說明一下其余引腳的功能。

AD7~AD0——它們是地址、

數(shù)據(jù)多路復(fù)用的輸入輸出信號線(三態(tài))。

A15~A8——它們是高8位地址信號(輸出,三態(tài)),在存貯器訪問或I/O訪問期間均輸出高8位有效地址。

A19/S6、A18/S5、A17/S4、A16/S3——這4條引腳也是多路復(fù)用輸出(三態(tài))。表2-3QS1、QS0的狀態(tài)編碼表2-4S4、S3的狀態(tài)編碼——它是讀選通輸出信號(三態(tài)),低電平有效。當(dāng)其有效時(shí),表示CPU正在進(jìn)行存貯器讀或I/O讀操作。

READY——它是準(zhǔn)備就緒輸入信號,高電平有效。

INTR——它是可屏蔽中斷請求信號輸入線,高電平有效?!强捎肳AIT指令對該引腳進(jìn)行測試的輸入信號線,低電平有效。

NMI——它是非屏蔽中斷輸入信號,邊沿觸發(fā),正跳變有效。

RESET——它是CPU的復(fù)位輸入信號,高電平有效。為使CPU完成內(nèi)部復(fù)位過程,該信號保持有效至少要4個(gè)時(shí)鐘周期。復(fù)位后CPU內(nèi)部寄存器的狀態(tài)如表2-5所示。各引腳的狀態(tài)如表2-6所示。表2-5復(fù)位后的內(nèi)部寄存器狀態(tài)表2-6復(fù)位后各引腳的狀態(tài)

CLK——這個(gè)是時(shí)鐘信號輸入端。由它提供CPU和總線控制器的定時(shí)信號。8088的標(biāo)準(zhǔn)時(shí)鐘頻率為5MHz。

Vcc——它是5V電源輸入引腳。

GND——它是接地端。二、8088微處理器的內(nèi)部結(jié)構(gòu)8088微處理器內(nèi)部分為兩個(gè)部分:執(zhí)行單元(EU)和總線接口單元(BIU),如圖2-3所示。

EU單元負(fù)責(zé)指令的執(zhí)行,它包括ALU(運(yùn)算器)、通用寄存器和狀態(tài)寄存器等,主要進(jìn)行16位的各種運(yùn)算及有效地址的計(jì)算。

BIU單元負(fù)責(zé)與存貯器、I/O的接口,它由段寄存器、指令指針、地址加法器和指令隊(duì)列緩沖器組成。圖2-38088微處理器內(nèi)部結(jié)構(gòu)在8088處理器中,用戶能用指令改變其內(nèi)容的,主要是一組內(nèi)部寄存器,其結(jié)構(gòu)如圖2-4所示。1.數(shù)據(jù)寄存器8088有4個(gè)16位的數(shù)據(jù)寄存器,可以存放16位的操作數(shù)。其中AX為累加器,其它三個(gè)盡管也可以存放16位操作數(shù),但它們的用途都有區(qū)別。具體說明如表2-7所示。2.指針寄存器8088的指針寄存器有2個(gè):SP是堆棧指針寄存器,由它和堆棧段寄存器一起就可以確定堆棧在內(nèi)存中的位置。BP是基數(shù)指針寄存器,它通常存放基地址,使得8088的尋址更加靈活。3.變址寄存器

SI是源變址寄存器,DI是目的變址寄存器,它們都用于指令的變址尋址。顧名思義,SI通常指向源操作數(shù),而DI通常指向目的操作數(shù)。圖2-48088內(nèi)部寄存器表2-7內(nèi)部數(shù)據(jù)寄存器的主要用途4.控制寄存器8088的控制寄存器有2個(gè):IP是指令指針寄存器,用來控制CPU的指令執(zhí)行順序。它和代碼段寄存器CS一起可以確定當(dāng)前所要取的指令的內(nèi)存地址。PSW是狀態(tài)寄存器,存放CPU的各種狀態(tài)標(biāo)志,現(xiàn)用的只有9位,它們是:·C——進(jìn)位標(biāo)志位。當(dāng)加法時(shí)出現(xiàn)進(jìn)位或減法時(shí)出現(xiàn)借位,該標(biāo)志位置1;否則清0?!——奇偶標(biāo)志位。當(dāng)結(jié)果的低8位中1的個(gè)數(shù)為偶數(shù)時(shí),則該標(biāo)志位置1;否則清0?!——半加標(biāo)志位。在加法時(shí),當(dāng)位3需向位4位進(jìn)位,或在減法時(shí)位3需向位4借位時(shí),該標(biāo)志位就置1;否則清0。該標(biāo)志位通常用于BCD算術(shù)運(yùn)算結(jié)果的調(diào)整。·Z——零標(biāo)志位。運(yùn)算結(jié)果各位都為0時(shí),則該標(biāo)志位置1;否則清0。·S——符號標(biāo)志位。當(dāng)運(yùn)算結(jié)果,其最高位為1,則S標(biāo)志位置1;否則清0?!——陷井標(biāo)志位(單步標(biāo)志位)。當(dāng)該位置1時(shí),將使8088進(jìn)入單步指令工作方式?!——中斷允許標(biāo)志位。如果該位置1,則處理器可以響應(yīng)可屏蔽中斷。否則就不能響應(yīng)可屏蔽中斷?!——方向標(biāo)志位。當(dāng)該位置1時(shí),串操作指令為自動減量指令,也就是從高地址到低地址處理字符串。否則串操作指令為自動增量指令?!——溢出標(biāo)志位。5.段寄存器8088微處理器具有4個(gè)段寄存器:代碼段寄存器CS;數(shù)據(jù)段寄存器DS;堆棧段寄存器SS;附加段寄存器ES。這些段寄存器的內(nèi)容與有效的地址偏移量一起即可確定內(nèi)存的物理地址。通常CS劃定并控制程序區(qū);DS和ES控制數(shù)據(jù)區(qū);SS控制堆棧區(qū)。§2-38088微處理器的存貯器組織一、由段寄存器、段偏移地址確定物理地址8088可以具有1M字節(jié)的內(nèi)存空間,可是內(nèi)部寄存器都只有16位,很顯然,不采取特殊措施,是不能尋址1M字節(jié)存貯空間的。如圖2-5所示,20位的段內(nèi)物理地址是由段寄存器內(nèi)容左移4位然后加上16位的段內(nèi)偏移地址形成的。圖2-5物理地址的生成下面以處理器復(fù)位后的啟動地址生成為例,來說明物理地址的計(jì)算方法。在取指令代碼時(shí),段寄存器用CS,偏移地址用指令指針(IP)的內(nèi)容。由表2-5可知,8088復(fù)位后,IP=0000H,CS=FFFFH。根據(jù)物理地址計(jì)算公式就有:(CS)左移4位+IP=FFFF0H+0000H

=FFFF0H二、段寄存器的使用段寄存器的設(shè)立不僅使8088的存貯空間擴(kuò)大到1M字節(jié),而且為信息的按特殊分段存貯帶來了方便。圖2-6示出了各段寄存器的使用情況。在8088微處理器中,對各類訪問存貯器時(shí)所要使用的段寄存器和段內(nèi)有效偏移地址來源,作了一些具體的規(guī)定。它們的基本約定如表2-8所示。下面我們對表中的內(nèi)容作一具體說明。圖2-6各段寄存器使用情況①在各種類型的存貯器訪問中,其段地址要么由“默認(rèn)”的段寄存器提供,要么由“指定”的段寄存器提供。所謂默認(rèn)段寄存器是指在指令中不用專門的信息來指定使用某一個(gè)段寄存器的情況,這時(shí)就由默認(rèn)段寄存器來提供訪問內(nèi)存的段地址。表2-8段寄存器使用時(shí)的一些基本約定②段寄存器DS、ES和SS的內(nèi)容是用傳送指令送入的,但任何傳送指令不能向段寄存器CS送數(shù)。③表中“段內(nèi)偏移地址”一欄指明,除了有兩種類型訪問存貯器是“依尋址方式求得有效地址”外,其它都指明使用一個(gè)16位的指針寄存器或變址寄存器。§2-4系統(tǒng)組成一、微型計(jì)算機(jī)的結(jié)構(gòu)以8088(86)為CPU的微型計(jì)算機(jī)的結(jié)構(gòu)如圖2-7所示。從圖2-7可以看到,微型計(jì)算機(jī)主要由被稱為中央處理單元(CPU)的微處理器、用來存貯程序和數(shù)據(jù)的內(nèi)部存貯器(M)、與外部設(shè)備相聯(lián)接的接口及系統(tǒng)總線構(gòu)成。圖2-7微型計(jì)算機(jī)結(jié)構(gòu)框圖由于8088(86)處理器的地址線和數(shù)據(jù)線是復(fù)用的,在計(jì)算機(jī)工作過程中必須將這些信號分開。同時(shí),這種微處理器可以工作在最小模式和最大模式兩種模式之下。二、系統(tǒng)總線的構(gòu)成為了構(gòu)成系統(tǒng)總線,必須首先弄清8088(86)微處理器各引線信號的時(shí)分復(fù)用過程。為此,讓我們來簡要說明8088的總線周期(8086與此十分類似)。1.總線周期8088的讀總線周期和寫總線周期分別表示在圖2-8和圖2-9中。由圖中可知,正常的8088(86)總線周期,不管是讀還是寫,都用4個(gè)時(shí)鐘周期(T)。在T1期間地址與數(shù)據(jù)復(fù)用信號線送出相應(yīng)地址AD0~AD7,同時(shí)送出地址鎖存允許信號ALE。圖2-88088的讀總線周期圖2-98088的寫總線周期2.鎖存器與驅(qū)動器在形成8088(86)系統(tǒng)總線時(shí),常用到具有三態(tài)輸出的信號鎖存器8282和8283。8282與8283除前者是反相輸出后者是正相輸出外,其他性能完全一樣。其引線如圖2-10所示。圖2-10總線鎖存器

從圖2-11中可以看到,是低電平有效,T是三態(tài)門傳送方向控制。當(dāng)=0、T=0時(shí),由B邊向A邊傳送;

=0,T=1時(shí),由A邊向B邊傳送。當(dāng)=1時(shí),A、B邊均處于高阻狀態(tài)。類似于這樣的器件還有經(jīng)常使用的74LS245。

圖2-11雙向三態(tài)門驅(qū)動器

3.系統(tǒng)總線的形成(1)在最小模式下當(dāng)8088工作在最小模式下,系統(tǒng)總線形成如圖2-12。圖2-128088最小模式下總線形成(2)在最大模式下為了實(shí)現(xiàn)最大模式下工作,形成系統(tǒng)總線要使用廠家提供總線控制器8288(詳見第六章)??偩€形成如圖2-13所示。圖2-138088最大模式下系統(tǒng)總線形成如前所述,當(dāng)系統(tǒng)總線形成之后,構(gòu)成微型機(jī)的內(nèi)存及各種接口就可以直接與系統(tǒng)總線相連接,從而構(gòu)成所需微型機(jī)系統(tǒng)。在后面的章節(jié)中我們就直接采用系統(tǒng)總線信號來敘述問題,不再做出說明。(3)PC/XT微型機(jī)總線的形成在PC/XT微型計(jì)算機(jī)中,8088CPU同樣是工作在最大模式之下。但

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論