第2章IBMPC微型計算機_第1頁
第2章IBMPC微型計算機_第2頁
第2章IBMPC微型計算機_第3頁
第2章IBMPC微型計算機_第4頁
第2章IBMPC微型計算機_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章IBMPC微型計算機8086/8088CPU的基本結(jié)構(gòu)8086/8088CPU的寄存器組存貯器的分段結(jié)構(gòu)8086/8088CPU堆棧的組織第一節(jié)IBMPC微型計算機的基本結(jié)構(gòu)一、微型計算機系統(tǒng)1.微型計算機硬件組成

微處理器ROMRAM輸入設(shè)備輸出設(shè)備I/O接口I/O接口數(shù)據(jù)總線DB控制總線CB地址總線AB第一節(jié)IBMPC微型計算機的基本結(jié)構(gòu)一、微型計算機系統(tǒng)第一節(jié)IBMPC微型計算機的基本結(jié)構(gòu)一、微型計算機系統(tǒng)2.CPU對存儲器的操作

存儲器被劃分為若干個存儲單元,每個存儲單元從0開始順序編號。例如:一個存儲器有128個存儲單元,編號從0~127。對于大容量的存儲器一般還用以下單位來計量容量(用B來代表Byte)。1KB=1024B 1MB=1024KB1GB=1024MB 1TB=1024GB第一節(jié)IBMPC微型計算機的基本結(jié)構(gòu)一、微型計算機系統(tǒng)2.CPU對存儲器的操作

在計算機中專門有連接CPU和其他芯片的導線,通常稱為總線。物理上:一根根導線的集合;邏輯上劃分為:地址總線數(shù)據(jù)總線控制總線第一節(jié)IBMPC微型計算機的基本結(jié)構(gòu)一、微型計算機系統(tǒng)2.CPU對存儲器的操作

CPU在內(nèi)存中讀或?qū)懙臄?shù)據(jù)演示:讀演示寫演示第一節(jié)IBMPC微型計算機的基本結(jié)構(gòu)一、微型計算機系統(tǒng)2.CPU對存儲器的操作

CPU在內(nèi)存中讀或?qū)懙臄?shù)據(jù)演示:讀演示寫演示第一節(jié)IBMPC微型計算機的基本結(jié)構(gòu)一、微型計算機系統(tǒng)微型計算機系統(tǒng)組成

寄存器組算邏運算器控制電路微處理器隨機存儲器RAM只讀存儲器ROM存儲器輸入輸出接口并行接口串行接口數(shù)據(jù)總線地址總線控制總線系統(tǒng)總線微型計算機硬件操作系統(tǒng)語言處理程序數(shù)據(jù)庫系統(tǒng)其它系統(tǒng)軟件應用軟件微型計算機軟件微型計算機系統(tǒng)第一節(jié)IBMPC微型計算機的基本結(jié)構(gòu)二、8086/8088微處理器的功能結(jié)構(gòu)負責與M、I/O端口傳送數(shù)據(jù)負責指令的執(zhí)行第一節(jié)IBMPC微型計算機的基本結(jié)構(gòu)二、8086/8088微處理器的功能結(jié)構(gòu)一個典型的CPU由運算器、控制器、寄存器等器件組成,這些器件靠內(nèi)部總線相連。內(nèi)部總線實現(xiàn)CPU內(nèi)部各個器件之間的聯(lián)系。外部總線實現(xiàn)CPU和主板上其它器件的聯(lián)系。第二節(jié)8086/8088寄存器組AX寄存器稱為累加器。使用頻度最高。BX寄存器稱為基址寄存器。常用于存放存儲器地址。CX寄存器稱為計數(shù)器。一般作為循環(huán)或串操作等指令中的隱含計數(shù)器。DX寄存器稱為數(shù)據(jù)寄存器。常用來存放雙字數(shù)據(jù)的高16位,或存放外設(shè)端口地址。第二節(jié)8086/8088寄存器組一、通用寄存器1、數(shù)據(jù)寄存器AX、BX、CX、DX,用來保存操作數(shù)或運算結(jié)果等信息。一個16位寄存器可以存儲一個16位的數(shù)據(jù)。(數(shù)據(jù)的存放情況???)一個16位寄存器所能存儲的數(shù)據(jù)的最大值為多少?答案:216-1。第二節(jié)8086/8088寄存器組一、通用寄存器1、數(shù)據(jù)寄存器第二節(jié)8086/8088寄存器組一、通用寄存器1、數(shù)據(jù)寄存器8086上一代CPU中的寄存器都是8位的;為保證兼容性,這四個寄存器都可以分為兩個獨立的8位寄存器使用。AX可以分為AH和AL;BX可以分為BH和BL;CX可以分為CH和CL;DX可以分為DH和DL。第二節(jié)8086/8088寄存器組一、通用寄存器1、數(shù)據(jù)寄存器以AX為例,8086CPU的16位寄存器分為兩個8位寄存器的情況:第二節(jié)8086/8088寄存器組一、通用寄存器1、數(shù)據(jù)寄存器第二節(jié)8086/8088寄存器組一、通用寄存器2、變址和指針寄存器SI是源變址寄存器,DI是目的變址寄存器,在字符串操作中,SI和DI都具有自動增量或減量的功能。SP為堆棧指針寄存器,用于存放當前堆棧段中棧頂?shù)钠频刂?。BP為基址指針寄存器,用于存放堆棧段中某一存儲單元的偏移地址。

變址和指針寄存器包括SI、DI、SP、BP等4個16位寄存器,主要用于存放某個存儲單元的偏移地址。第二節(jié)8086/8088寄存器組二、段寄存器8086CPU的4個16位的段寄存器代碼段寄存器CS,數(shù)據(jù)段寄存器DS,堆棧段寄存器SS,附加數(shù)據(jù)段寄存器ES。段寄存器用來確定該段在內(nèi)存中的起始地址。代碼段用來存放程序的指令序列。

CS存放代碼段的段首址,指令指針寄存器IP指示代碼段中指令的偏移地址。第二節(jié)8086/8088寄存器組三、指令指針寄存器8086CPU中的指令指針I(yè)P,它總是保存下一次將要從主存中取出指令的偏移地址,偏移地址的值為該指令到所在段段首址的字節(jié)距離。在目標程序運行時,IP的內(nèi)容由微處理器硬件自動設(shè)置,程序不能直接訪問IP,但一些指令卻可改變IP的值,如轉(zhuǎn)移指令、子程序調(diào)用指令等。第二節(jié)8086/8088寄存器組四、標志寄存器FLAGS1514131211109876543210OFDFIFTFSFZFAFPFCF符號標志輔助進位標志奇偶標志進位標志溢出標志零標志方向標志中斷允許標志跟蹤標志控制標志狀態(tài)標志CF(cy/nc)——進位標志,運算結(jié)果最高位是否發(fā)生進(借)位。CF=1(cy)進(借)位;CF=0(nc)無進(借)位。AF(ac/na)——輔助進位標志,低4位向前有進(借)位。

AF=1(ac)進(借)位;AF=0(na)無進(借)位。ZF(zr/nz)——零標志,指出當前運算結(jié)果是否為0。

ZF=1(zr)當前運算結(jié)果為0;否則為非0(nz)。SF(ng/pl)——符號標志,表示補碼運算結(jié)果的正負號。

SF=1(ng)負值;SF=0(pl)正值。OF(ov/nv)——溢出標志,運算結(jié)果是否溢出。

OF=1(oc)結(jié)果超出運算長度的補碼表示范圍;OF=0(nv)無溢出。PF(pe/po)——奇/偶標志,運算結(jié)果低8位中1的個數(shù)的奇偶數(shù)。

PF=1(pe)運算結(jié)果低8位中1的個數(shù)為偶數(shù);否則為奇數(shù)(po)。狀態(tài)標志第二節(jié)8086/8088寄存器組DF(dn/up)——方向標志位,DF=1(dn)使串操作指令的變址寄存器自動減1,DF=1(up)使串操作指令的變址寄存器自動加1IF(ei/di)——允許中斷標志位,IF=1(ei),開中斷,可響應可屏蔽中斷,IF=0(di),關(guān)中斷。狀態(tài)標志第二節(jié)8086/8088寄存器組第二節(jié)8086/8088寄存器組四、標志寄存器FLAGSFLAGS應用舉例2345H+3219H=?0010001101000101+00110010000110010101010101011110SF=0PF=0CF=0AF=0ZF=0OF=034F5H+95EBH=?0011010011110101+10010101111010111100101011100000SF=1PF=0CF=0AF=1ZF=0OF=0第三節(jié)存儲器一、存儲器的組成在存儲器中以字節(jié)為單位存儲信息。為了正確地存放或取得信息,每一個字節(jié)單元給以一個唯一的存儲器地址,稱為物理地址。8086、8088的地址總線為20位,那么它們可訪問的字節(jié)單元地址范圍為:00000H~FFFFFH。一個存儲單元中存放的信息稱為該存儲單元的內(nèi)容。765432100000H10011111(0000H)=9FH0001H00100110(0001H)=26H0002H00011110(0002H)=1EH0003H11010111(0003H)=D7H第三節(jié)存儲器一、存儲器的組成存儲器第三節(jié)存儲器一、存儲器的組成

一個字存入存儲器要占有相繼的兩個字節(jié),存放時低位字節(jié)存入低地址,高位字節(jié)存入高地址。一個字怎樣存入存儲器呢?機器以偶地址訪問(讀/寫)存儲器。字單元地址用它的低地址來表示。765432100000H10011111(0000H)=9FH0001H00100110(0001H)=26H0002H00011110(0002H)=1EH0003H11010111(0003H)=D7H第三節(jié)存儲器一、存儲器的組成存儲器1514131211109876543210字1001111100100110

高位字節(jié)低位字節(jié)(0000H)=269FH(0002H)=D71EH(0001H)=1E26H

訪問兩次存儲器問題:(1)0地址單元中存放的字節(jié)型數(shù)據(jù)是多少?(2)0地址字單元中存放的字型數(shù)據(jù)是多少?(3)2地址字單元中存放的字節(jié)型數(shù)據(jù)是多少?(4)2地址單元中存放的字型數(shù)據(jù)是多少?(5)1地址字單元中存放的字型數(shù)據(jù)是多少?第三節(jié)存儲器一、存儲器的組成第三節(jié)存儲器二、存儲器的分段16位的寄存器如何尋址1MB的地址空間?可把1M字節(jié)地址空間劃成若干邏輯段。每個邏輯段必須滿足兩個條件:一是邏輯段的起始地址必須是16的倍數(shù);二是邏輯段的最大長度為64K。

1M字節(jié)地址空間最多可劃分成64K個邏輯段,最少也要劃分成16個邏輯段。邏輯段與邏輯段可以相連,也可以不連,還可以重疊。第三節(jié)存儲器二、存儲器的分段相連的段:C和D段不相連的段:A和B段相互重疊的段:B和C段第三節(jié)存儲器三、物理地址的形成20位物理地址由16位段地址和16位偏移地址組成。

物理地址:每個存儲單元的唯一的20位地址

段基值:段起始地址的高16位

偏移量:段內(nèi)相對于段起始地址的偏移值(16位)(有效地址EA)

物理地址=16

段基值+偏移量第三節(jié)存儲器三、物理地址的形成20位物理地址由16位段地址和16位偏移地址組成。

IBMPC中有4個專門存放段地址的段寄存器(16位)代碼段段寄存器CS數(shù)據(jù)段段寄存器DS堆棧段段寄存器SS附加段段寄存器ES

例:(DS)=3000H,EA=1234H,

物理地址

=

16

(DS)+

EA=31234H

存儲器8K代碼2K數(shù)據(jù)256堆棧02000H04800H04000H0200H0400H0480H邏輯段第三節(jié)存儲器三、物理地址的形成第三節(jié)存儲器三、物理地址的形成第三節(jié)存儲器三、物理地址的形成物理地址:C21A0H。第三節(jié)存儲器三、物理地址的形成例:給定一個存放數(shù)據(jù)的內(nèi)存單元的偏移地址是20C0H,(DS)=0C00EH,求出該內(nèi)存單元的物理地址。錯誤認識:內(nèi)存被劃分成了一個一個的段,每一個段有一個段地址。其實:內(nèi)存并沒有分段,段的劃分來自于CPU,由于8086CPU用“(段地址×16)+偏移地址=物理地

溫馨提示

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

評論

0/150

提交評論