第2章8086和奔騰系列微處理器原理初步_第1頁
第2章8086和奔騰系列微處理器原理初步_第2頁
第2章8086和奔騰系列微處理器原理初步_第3頁
第2章8086和奔騰系列微處理器原理初步_第4頁
第2章8086和奔騰系列微處理器原理初步_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2.8086和奔騰系列微處理器原理初步2.18086的編程結(jié)構(gòu)

2.28086的引腳信號和工作模式

2.38086的存儲器編址2.4奔騰系列微處理器特點

《微》第2章本章學(xué)習(xí)要求1、掌握8086CPU的內(nèi)部結(jié)構(gòu)3、掌握8086CPU的兩種工作模式2、掌握8086CPU對存儲器的分段管理的基本概念4、了解奔騰系列微處理器的特點2.18086CPU的內(nèi)部結(jié)構(gòu)(編程結(jié)構(gòu))從功能上看,CPU可以分為兩大部分:1、總線接口部件BIU(BusInterfaceUnit)2、執(zhí)行部件EU(ExecutionUnit)

8086CPU內(nèi)部結(jié)構(gòu)框圖如下所示:8086CPU的內(nèi)部結(jié)構(gòu)框圖一.總線接口部件

總線接口部件負(fù)責(zé)與存儲器、I/O接口傳送數(shù)據(jù),包括物理地址的形成、預(yù)取指令、指令隊列排隊、讀/寫操作數(shù)和總線控制等??偩€接口部件由下列4部分組成:

①4個段地址寄存器(CS、DS、ES、SS) ②16位的指令指針寄存器IP(InstructionPointer) ③20位的地址加法器 ④6字節(jié)的指令隊列緩沖器二.執(zhí)行部件執(zhí)行部件負(fù)責(zé)指令的執(zhí)行。由下列4部分組成:①4個通用寄存器,即AX、BX、CX、DX;②4個專用寄存器,即基數(shù)指針寄存器BP(basepointer)堆棧指針寄存器SP(stackpointer)源變址寄存器SI(sourceindex)目的變址寄存器DI(destinationindex);③標(biāo)志寄存器;④

算術(shù)邏輯部件ALU(arithmeticlogicunit)。

8086內(nèi)部寄存器有:

4個通用寄存器和4個專用寄存器

1個指令指針寄存器

1個標(biāo)志寄存器

4個段寄存器1、4個16位的通用寄存器AX、BX、CX、DX它們還可以分成高8位和低8位兩個獨立的寄存器:AH BH CH DHAL BL CL DL對其中某8位的操作,并不影響另外對應(yīng)8位的數(shù)據(jù)每個寄存器又有它們各自的專用目的:AX--累加器(Accumulator),使用頻度最高,用于算術(shù)、邏輯運算以及與外設(shè)傳送信息等BX--基址寄存器,常用做存放存儲器地址CX--計數(shù)器,作為循環(huán)和串操作等指令中的隱含計數(shù)器DX--數(shù)據(jù)寄存器,常用來存放雙字長數(shù)據(jù)的高16位,或存放外設(shè)端口地址。2、變址寄存器SI、DI變址寄存器常用于存儲器尋址時提供地址:SI是源變址寄存器(sourceindex)DI是目的變址寄存器(destinationindex)串操作類指令中,SI和DI具有特別的功能。3、指針寄存器SP、BP指針寄存器用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù)。SP為堆棧指針寄存器(StackPointer),指示棧頂?shù)钠频刂?。SP不能再用于其他目的,具有專用目的。BP為基址指針寄存器(BasePointer),表示數(shù)據(jù)在堆棧段中的基地址。SP和BP寄存器與SS段寄存器聯(lián)合使用以確定堆棧段中的存儲單元地址。4、段寄存器CS、DS、ES、SSDS數(shù)據(jù)段寄存器(DataSegment)CS代碼段寄存器(CodeSegment)ES附加段寄存器(ExtraSegment)SS堆棧段寄存器(StackSegment)這些段寄存器的內(nèi)容與有效地址一起,用于確定內(nèi)存的物理地址。通常用CS、DS、ES以及SS用于確定代碼段、數(shù)據(jù)段、附加段以及堆棧段的基地址。

5、指令指針寄存器IP(InstructionPointer)指令指針寄存器IP,指示代碼段中下一條要執(zhí)行指令的偏移地址。它與代碼段寄存器CS聯(lián)用,確定下一條指令的物理地址。計算機(jī)通過CS和IP寄存器來控制指令序列的執(zhí)行流程。IP寄存器是一個專用寄存器。6、標(biāo)志寄存器FLAGS標(biāo)志(Flag)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式。8086處理器的各種標(biāo)志形成了一個16位的標(biāo)志寄存器FLAGS。OF111512DF10IF9TF8SF7ZF65AF43PF21CF0

程序設(shè)計需要利用標(biāo)志的狀態(tài)標(biāo)志寄存器中共有9個位用作標(biāo)志,7個位未作使用標(biāo)志的分類:分為狀態(tài)標(biāo)志和控制標(biāo)志6個狀態(tài)標(biāo)志:用來記錄程序運行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將相應(yīng)地設(shè)置它的狀態(tài)。共有6個狀態(tài)標(biāo)志位:CF

ZF

SF

PF

OF

AF3個控制標(biāo)志:可由程序根據(jù)需要用指令設(shè)置,用于控制處理器執(zhí)行指令的方式DF

IF

TFOF111512DF10IF9TF8SF7ZF65AF43PF21CF0進(jìn)位標(biāo)志CF(CarryFlag)當(dāng)運算結(jié)果的最高有效位有進(jìn)位(加法)或借位(減法)時,進(jìn)位標(biāo)志置1,即CF=1;否則CF=0。49H+6DH=例:?B6H,沒有進(jìn)位:CF=0BBH+6AH=(1)25H,有進(jìn)位:CF=1?零標(biāo)志ZF(ZeroFlag)若運算結(jié)果為0,則ZF=1;否則ZF=049H+6DH=B6H,結(jié)果不是零:ZF=075H+8BH=(1)00H,結(jié)果是零:ZF=1注意:ZF為1表示的運算結(jié)果是0例:符號標(biāo)志SF(SignFlag)運算結(jié)果最高位為1,則SF=1;否則SF=0有符號數(shù)據(jù)用最高有效位表示數(shù)據(jù)的符號所以,最高有效位就是符號標(biāo)志的狀態(tài)奇偶標(biāo)志PF(ParityFlag)當(dāng)運算結(jié)果的低8位(最低字節(jié))中“1”的個數(shù)為偶數(shù)時,PF=1;否則PF=03AH+7CH=B6H=10110110B結(jié)果中有5個1,是奇數(shù):PF=0PF標(biāo)志僅反映最低8位中“1”的個數(shù)是

偶或奇,即使是進(jìn)行16位字操作例:溢出標(biāo)志OF(OverflowFlag)若算術(shù)運算的結(jié)果有溢出,則OF=1;否則OF=049H+6DH=B6H,產(chǎn)生溢出:OF=175H+8BH=(1)26H,沒有溢出:OF=0例:什么是溢出?處理器內(nèi)部以補(bǔ)碼表示有符號數(shù)8位補(bǔ)碼表達(dá)的整數(shù)范圍是:+127~-12816位補(bǔ)碼表達(dá)的范圍是:+32767~-32768如果運算結(jié)果超出這個范圍,就產(chǎn)生了溢出有溢出,說明有符號數(shù)的運算結(jié)果不正確49H+6DH=B6H,就是73+109=182,已經(jīng)超出-128~+127范圍,產(chǎn)生溢出,故OF=1;另一方面,補(bǔ)碼B6H表達(dá)真值是-74,顯然運算結(jié)果也不正確。溢出和進(jìn)位的區(qū)別:溢出標(biāo)志OF和進(jìn)位標(biāo)志CF是兩個意義不同的標(biāo)志。進(jìn)位標(biāo)志表示無符號數(shù)運算結(jié)果是否超出范圍,運算結(jié)果仍然正確。溢出標(biāo)志表示有符號數(shù)運算結(jié)果是否超出范圍,運算結(jié)果已經(jīng)不正確。溢出和進(jìn)位的對比:例1:49H+6DH=B6H無符號數(shù)運算: 73+109=182 范圍內(nèi),無進(jìn)位有符號數(shù)運算: 73+109=182 范圍外,有溢出例2:BBH+6AH=(1)25H無符號數(shù)運算: 187+106=293 范圍外,有進(jìn)位有符號數(shù)運算: -69+106=37 范圍內(nèi),無溢出溢出的判斷:判斷運算結(jié)果是否溢出有一個簡單的規(guī)則:只有當(dāng)兩個相同符號數(shù)相加(包括不同符號數(shù)相減),而運算結(jié)果的符號與原數(shù)據(jù)符號相反時,產(chǎn)生溢出,因為,此時的運算結(jié)果顯然不正確。其他情況下,則不會產(chǎn)生溢出輔助進(jìn)位標(biāo)志AF(AuxiliaryCarryFlag)49H+6DH=B6H,D3有進(jìn)位:AF=1這個標(biāo)志主要由處理器內(nèi)部使用,用于十進(jìn)制算術(shù)運算調(diào)整指令中,用戶一般不必關(guān)心。若算術(shù)運算時D3位(低半字節(jié))有進(jìn)位或借位,則AF=1;否則AF=0例:方向標(biāo)志DF(DirectionFlag)用于串操作指令中,控制地址的變化方向:設(shè)置DF=0,存儲器地址自動增加;設(shè)置DF=1,存儲器地址自動減少。中斷允許標(biāo)志IF(Interrupt-enableFlag)用于控制外部可屏蔽中斷是否可以被處理器響應(yīng):設(shè)置IF=1,則允許中斷;設(shè)置IF=0,則禁止中斷。跟蹤標(biāo)志TF(TrapFlag)用于控制處理器進(jìn)入單步操作方式:設(shè)置TF=0,處理器正常工作;設(shè)置TF=1,處理器單步執(zhí)行指令。單步執(zhí)行指令:處理器在每條指令執(zhí)行結(jié)束時,便產(chǎn)生一個編號為1的內(nèi)部中斷這種內(nèi)部中斷稱為單步中斷所以TF也稱為單步標(biāo)志利用單步中斷可對程序進(jìn)行逐條指令的調(diào)試這種逐條指令調(diào)試程序的方法就是單步調(diào)試一、8086CPU的引腳及其功能8086CPU的40條引腳信號按功能可分為四類,它們是:地址總線數(shù)據(jù)總線控制總線其它(時鐘與電源)

2.28086CPU的引腳和工作模式1、最小模式和最大模式概念(1)最小模式:

在系統(tǒng)中只有一個微處理器。(2)最大模式:

兩個或多個微處理器(主處理器、協(xié)處理器)為了盡可能的適應(yīng)各種應(yīng)用場合,設(shè)計8086CPU時,使其能具有兩種工作模式,即最小模式和最大模式。2、8086的引腳信號(1)最小模式(MN/MX接+5V)①AD15~AD0,地址/數(shù)據(jù)總線②A19/S6~A16/S3,地址/狀態(tài)總線

③BHE/S7,高8位數(shù)據(jù)允許/狀態(tài)線④MN/MX,最小/最大模式控制信號,輸入⑤RD,讀信號⑥WR,寫信號⑦M(jìn)/IO,存儲器/輸入輸出控制信號

⑧ALE,地址鎖存允許信號⑨READY(Ready),準(zhǔn)備就緒信號⑩INTR,可屏蔽中斷請求信號?INTA,中斷響應(yīng)信號?NMI,非屏蔽中斷請求信號?RESET,系統(tǒng)復(fù)位信號?DEN,數(shù)據(jù)允許信號?DT/R,數(shù)據(jù)發(fā)送/接收控制信號?HOLD,總線保持請求信號輸入?HLDA,總線保持響應(yīng)信號?TEST,測試信號?CLK,時鐘輸入信號?VCC(+5V),GND

(2)最大模式(MN/MX接地)8086CPU工作在最大模式時,其24~31引腳需重新定義,如表2-4所示:

①Q(mào)S1/QS0,指令隊列狀態(tài)信號。②S2、S1、S0,總線周期狀態(tài)信號。③LOCK,總線封鎖信號。④RQ/GT1和RQ/GT0,總線請求信號輸入/總線請求信號允許輸出。一、主存儲器的分段機(jī)制原因:由于CPU地址線數(shù)(20位)與寄存器位數(shù)、數(shù)據(jù)線數(shù)(16位)的差異。為了提高主存儲器容量,必須采用分段機(jī)制8086CPU有20條地址線最大可尋址空間為220=1MB物理地址范圍從00000H~FFFFFH8086CPU將1MB空間分成許多邏輯段(Segment)每個段最大限制為64KB(216B)每個段首個單元物理地址的低4位為0000這樣,一個存儲單元除具有一個唯一的物理地址外,還具有多個邏輯地址(在不同的段中)2.38086CPU的存儲器編址對應(yīng)每個物理存儲單元都有一個唯一的20位編號,就是物理地址,從00000H~FFFFFH。分段后在用戶編程時,采用邏輯地址(即段首地址加段內(nèi)偏移地址),其形式為:段基地址

:段內(nèi)偏移地址分隔符二、物理地址和邏輯地址邏輯地址:段基地址(段首地址)說明邏輯段在主存中的起始位置。(但起始位置不是任意的)8086規(guī)定段地址必須是模16地址:xxxx0H。省略低4位0000,段地址就可以用16位數(shù)據(jù)表示,就能用16位段寄存器表達(dá)段地址。偏移地址說明主存單元距離段起始位置的偏移量。每段不超過64KB,偏移地址也可用16位數(shù)據(jù)表示。段基地址:段內(nèi)偏移地址問題:在20位的8086系統(tǒng)下,主存儲器的最大容量可以是多少?32位的80386/80486/Pentium系列呢?物理地址和邏輯地址的轉(zhuǎn)換將邏輯地址中的段地址左移4位,加上偏移地址就得到20位物理地址。一個物理地址可以有多個邏輯地址邏輯地址 1460:100、1380:F00物理地址 14700H14700H14600H+100H14700H13800H+F00H14700H段地址左移4位加上偏移地址得到物理地址三、8086對存儲器的訪問2.4.1、Pentium的性能與先進(jìn)技術(shù)2.4.2、Pentium的原理結(jié)構(gòu)2.4.3、Pentium的寄存器2.4.4、Pentium的技術(shù)發(fā)展2.4奔騰系列微處理器特點介紹2.4.1

Pentium的性能與先進(jìn)技術(shù)1993年3月Intel公司推出了第五代微處理器Pentium,Pentium是微處理器本質(zhì)上的一次創(chuàng)新。

Pentium采用了0.8μm雙極性互補(bǔ)金屬氧化半導(dǎo)體(BiCMOS)技術(shù),它屬于單芯片超標(biāo)量流水線微處理器,片內(nèi)集成了多達(dá)310萬個晶體管,工作電壓+5V,功耗15W。片內(nèi)時鐘頻率(微處理器主頻)與片外總線的時鐘頻率相等,均為60MHz或66MHz兩種。

Pentium通往外部存儲器的數(shù)據(jù)總線為64位,CPU內(nèi)部總線的寬度為32位(屬于32位微處理器)。外部64位數(shù)據(jù)總線(D63-D0)每次可同時傳輸8字節(jié)的二進(jìn)制信息,若選用主總線時鐘頻率66MHz計算,即存儲器總線的時鐘頻率也為66MHz,則Pentium與主存儲器交換數(shù)據(jù)的速率可為528MB/S。一、PentiumCPU內(nèi)部的主要部件①總線接口部件BIU②U流水線和V流水線③指令高速緩沖存儲器Cache④數(shù)據(jù)高速緩沖存儲器Cache⑤指令預(yù)取部件⑥指令譯碼器⑦浮點處理部件FPU⑧分支目標(biāo)緩沖器BTB⑨微程序控制器中的控制ROM⑩寄存器組2.4.2

Pentium的原理結(jié)構(gòu)執(zhí)行部件EU二、PentiumCPU的原理結(jié)構(gòu)圖

Pentium的寄存器可以分為三組:①基本寄存器組:包括通用寄存器、指令指針寄存器、標(biāo)志寄存器以及段寄存器。②系統(tǒng)寄存器組:包括地址寄存器、控制寄存器、調(diào)試寄存器和測試寄存器。③浮點寄存器組:包括數(shù)據(jù)寄存器、控制字寄存器、狀態(tài)寄存器、指令指針寄存器和數(shù)據(jù)指針寄存器以及標(biāo)記字寄存器。2.4.3

Pentium的寄存器

PentiumCPU的基本寄存器組包括通用寄存器、段寄存器、指令指針寄存器和標(biāo)志寄存器:1、通用寄存器

一、基本寄存器組Pentium通用寄存器如圖所示,它兼容8086CPU原來的8個16位通用寄存器以及原來的8個8位的寄存器,而且將原來的8個16位通用寄存器AX、BX、CX、DX、SI、DI、BP、SP均擴(kuò)展成32位的寄存器EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP。既可以使用保留的8位和16位寄存器,還可以使用32位寄存器。2、段寄存器及其段描述符高速緩存器段寄存器及段描述符高速緩存器如圖所示,Pentium系列CPU有6個16位段寄存器,每個段寄存器對應(yīng)有一個64位的描述符,用戶不可見。6個段寄存器的長度均為16位。除CS和SS分別是代碼段寄存器和堆棧段寄存器之外,其余的DS、ES、FS、GS都是數(shù)據(jù)段寄存器。

每個段對應(yīng)一個段描述符(8個字節(jié)),6個段描述符存放在CPU內(nèi)的段描述符高速緩存器中,它們均由內(nèi)存的描述符表中拷貝而成,以便CPU訪問某一段時,均按存放在CPU內(nèi)該段的段描述符所描述的信息進(jìn)行操作。段描述符:段描述符的組成:PentiumCPU中有一個32位的指令指針寄存器(EIP)和一個32位的標(biāo)志寄存器(EFLAGS),如圖3-6所示:3、指令指針寄存器和標(biāo)志寄存器EIP保存下一條待執(zhí)行指令所在代碼段內(nèi)的偏移值,也就是偏離代碼段首地址的字節(jié)地址數(shù)值。EIP的低16位為IP。EFLAGS在808616位FLAGS基礎(chǔ)上擴(kuò)充了高16位,其中,F(xiàn)LAGSb11~b0中保留了8086CPU中6個狀態(tài)標(biāo)志和3個控制標(biāo)志,增加了NT與IOPL,高16位中新增了6個標(biāo)志位。這些擴(kuò)充標(biāo)志位的含義參考課本。Pentium的系統(tǒng)寄存器組包括4個表所對應(yīng)的4個基地址寄存器GDTR、IDTR、LDTR、TR,也稱為4個表寄存器,還包括5個控制寄存器CR0、CR1、CR2、CR3、CR4。系統(tǒng)寄存器組中的所有寄存器都不可能被用戶訪問,只能由特權(quán)級為0的操作系統(tǒng)程序訪問。二、系統(tǒng)寄存器組(P51)4個表寄存器如圖所示:

1、表基地址寄存器(1)GDTR(GlobalDescriptorTableRegister):全局描述符表寄存器。共有48位,其中,高32位保存全局描述符表的線性基地址,低16位是表限字段,即限制表的最大長度為6

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論