計(jì)算機(jī)硬件基礎(chǔ)講義 (3).ppt_第1頁
計(jì)算機(jī)硬件基礎(chǔ)講義 (3).ppt_第2頁
計(jì)算機(jī)硬件基礎(chǔ)講義 (3).ppt_第3頁
計(jì)算機(jī)硬件基礎(chǔ)講義 (3).ppt_第4頁
計(jì)算機(jī)硬件基礎(chǔ)講義 (3).ppt_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章 8086/8086微處理器 (10學(xué)時(shí)) 第三章 匯編語言程序設(shè)計(jì) (7學(xué)時(shí)) 第四章 PC機(jī)的總線結(jié)構(gòu)和時(shí)序 (3學(xué)時(shí)) 第五章 微機(jī)接口技術(shù)概述 (5學(xué)時(shí)) 第六章 中斷技術(shù) (4學(xué)時(shí)) 第七章 并行輸入/輸出接口 (4學(xué)時(shí)) 第八章 數(shù)/模、模/ 數(shù)轉(zhuǎn)換接口 (6學(xué)時(shí)) 第九章 半導(dǎo)體存儲(chǔ)器 (2學(xué)時(shí)) 第十章 高檔微處理器 ( 2學(xué)時(shí)),第二章 8086/8088微處理器 第一節(jié) 8086/8088微處理器的結(jié)構(gòu) 第二節(jié) 8086/8088的尋址方式 第三節(jié) 8086/8088的指令系統(tǒng) 第四節(jié) DOS操作系統(tǒng)簡(jiǎn)介,第一節(jié) 8086/8088微處理器的結(jié)構(gòu) 一、簡(jiǎn)介 二、808

2、6/8088的編程結(jié)構(gòu) 1. 總線接口部件 2. 執(zhí)行部件 3. 工作原理 三、8086/8088的寄存器組 介紹調(diào)試程序DEBUG 四、8086/8088的存儲(chǔ)器組織 1. 內(nèi)存物理地址的形成 2. 內(nèi)存單元內(nèi)容的存放及表示 五、8086/8088的I/O組織,一、8086/8088簡(jiǎn)介 Intel 系列 的16位CPU 雙列直插式封裝 40根引腳 工作頻率為4.77MHz 10MHz 工作電源+5V,8086 : 對(duì)外有16根數(shù)據(jù)線,20根地址線 可尋址的內(nèi)存單元數(shù) 220 = 1M 內(nèi)存地址范圍00000 FFFFFH 8088 : 內(nèi)部寄存器、運(yùn)算部件及 內(nèi)部操作均按16位設(shè)計(jì), 除對(duì)

3、外數(shù)據(jù)線為8根外,其余與8086基本相同。 為與當(dāng)時(shí)已有的8 位外設(shè)接口芯片兼容。 IBM PC、IBP PC/XT 采用8088CPU,二、8086/8088的編程結(jié)構(gòu) 編程結(jié)構(gòu): 指從程序員和使用者的角度看到的結(jié)構(gòu)。 與芯片內(nèi)部的物理結(jié)構(gòu)和實(shí)際布局有區(qū)別。,某CPU芯片內(nèi)部實(shí)物圖,1. 總線接口部件BIU (Bus Interface Unit) 運(yùn)輸部門 2. 執(zhí)行部件EU (Execute Unit) 加工部門 3. 工作原理,1. 總線接口部件 BIU 構(gòu)成部分 4個(gè)16位段寄存器: CS,DS,ES,SS 16位IP指令指針寄存器 地址加法器 4字節(jié)的指令隊(duì)列 ( 8086的指令隊(duì)

4、列為6字節(jié) ),BIU主要功能 負(fù)責(zé)與存儲(chǔ)器、I/O接口傳遞數(shù)據(jù) 具體完成: 1)從內(nèi)存取指令,送到指令隊(duì)列, 2)配合執(zhí)行部件從指定的內(nèi)存單元 或I/O端口取數(shù)據(jù), 3)將執(zhí)行部件的操作結(jié)果送到 指定的內(nèi)存單元或I/O端口。,2執(zhí)行部件EU 構(gòu)成部分: 8個(gè)16位寄存器: AX、BX、CX、DX SP、BP、DI、SI 1個(gè)標(biāo)志寄存器PSW 1個(gè)算術(shù)邏輯運(yùn)算部件ALU 主要功能 執(zhí)行部件負(fù)責(zé)指令的執(zhí)行。 (包括算術(shù)、邏輯運(yùn)算,控制命令等),3. 工作原理 計(jì)算機(jī)的工作過程是: 取指令, 執(zhí)行指令,CPU 總線 內(nèi)存,總線接口部件和執(zhí)行部件 可并行工作,提高工作效率。 指令的提取和執(zhí)行分別 由

5、BIU和EU完成。 BIU和EU相互獨(dú)立又相互配合 1) 當(dāng)指令隊(duì)列有一個(gè)空字節(jié)時(shí), BIU自動(dòng)把指令取到指令隊(duì)列中 2) 執(zhí)行部件總是從指令隊(duì)列前部 提出指令去執(zhí)行。 3) 如果在執(zhí)行指令的過程中, 需要訪問內(nèi)存或I/O端口, EU會(huì)請(qǐng)求BIU去完成存取操作。,由于有指令隊(duì)列的存在, 在EU執(zhí)行指令的同時(shí),BIU可取指令, 即BIU和EU可處于并行工作狀態(tài)。,BIU EU,三、8086/8088的寄存器組 共有14個(gè)16位寄存器, 其中: AX、BX、CX、DX 又可分成兩個(gè) 8 位寄存器。 其它10個(gè)只能作為16位寄存器。,狀態(tài)標(biāo)志寄存器PSW (Program Status Word)

6、16位寄存器,包含9個(gè)標(biāo)志 各標(biāo)志在標(biāo)志寄存器中的位置如下: 用了其中的9位,其它7位在8086/8088中無意義。,9個(gè)標(biāo)志按其作用分狀態(tài)標(biāo)志和控制標(biāo)志兩類 狀態(tài)標(biāo)志:OF、SF、ZF、AF、PF、CF 共6個(gè) 記錄指令運(yùn)行過程或運(yùn)算結(jié)果的狀態(tài)信息。 常作為后續(xù)轉(zhuǎn)移指令的控制條件,又稱為條件碼。 控制標(biāo)志: DF、IF、TF 共3個(gè) 作用是控制CPU 的操作。,各狀態(tài)標(biāo)志的含義:,CF:進(jìn)位標(biāo)志(Carry Flag) 反應(yīng)運(yùn)算過程中,最高位是否產(chǎn)生進(jìn)位/借位。 (最高位,對(duì)字節(jié)操作指D7位 ,對(duì)字操作指D15位) 加法,最高有效位有進(jìn)位CF1,否則CF0 減法,最高有效位有借位CF1,否則

7、CF0 AF:輔助進(jìn)位標(biāo)志(Auxiliary Carry Flag) 反應(yīng)運(yùn)算過程中,對(duì)字節(jié)操作D3位 是否產(chǎn)生進(jìn)位。 對(duì)字操作D7位 有進(jìn)位或借位時(shí),AF1,否則AF0。,ZF:零標(biāo)志(Zero Flag) 反應(yīng)運(yùn)算結(jié)果是否為0。 運(yùn)算結(jié)果為 0 時(shí),ZF1,否則ZF0 SF:符號(hào)標(biāo)志(Sign Flag) 反應(yīng)運(yùn)算結(jié)果的符號(hào)位。 對(duì)字節(jié)操作 SFD7 對(duì)字操作SFD15,OF:溢出標(biāo)志(Overflow Flag) 反應(yīng)運(yùn)算過程中是否產(chǎn)生溢出。 產(chǎn)生溢出,OF1,否則為0。 PF:奇偶標(biāo)志(Parity Flag) 反應(yīng)運(yùn)算結(jié)果中“1”的個(gè)數(shù)情況。 有偶數(shù)個(gè)“1”時(shí),PF1, 否則PF0

8、。,最高位D7位產(chǎn)生進(jìn)位: CF = 1 D3位產(chǎn)生進(jìn)位: AF = 1 相加的結(jié)果為44H, 不為0: ZF = 0 結(jié)果的最高位為0: SF = 0 兩負(fù)數(shù)相加結(jié)果為正,溢出: OF = 1 結(jié)果中有2個(gè)1,偶數(shù)個(gè)1: PF = 1,1 0 0 1 1 1,各控制標(biāo)志作用(以后用到再介紹):,DF:方向標(biāo)志 在串操作指令中控制地址變化的方向。 當(dāng)DF1時(shí),地址遞減;當(dāng)DF時(shí),地址遞增。 IF:中斷標(biāo)志 當(dāng)IF1時(shí),允許CPU響應(yīng)可屏蔽中斷申請(qǐng)。 當(dāng)IF時(shí),禁止CPU響應(yīng)可屏蔽中斷申請(qǐng)。 TF:跟蹤標(biāo)志 為調(diào)試程序設(shè)置的一個(gè)控制標(biāo)志。 當(dāng)TF1時(shí),CPU按單步方式執(zhí)行指令。,調(diào)試程序DEBU

9、G DEBUG.exe 是 DOS提供的一個(gè)調(diào)試匯編語言程序的程序 每個(gè)版本的DOS都帶有該程序。 DEBUG程序采用的是命令行方式 使用不方便,但實(shí)用性強(qiáng) 是學(xué)習(xí)匯編語言程序、計(jì)算機(jī)硬件等課程的有效工具 其他調(diào)試程序: Turbo Debugger ( TD.exe ) Code View Softice,DEBUG 主要命令一覽,DEBUG程序的具體作用: 1. 查看/修改寄存器, 內(nèi)存單元的內(nèi)容; 2. 學(xué)習(xí)尋址方式和指令系統(tǒng) ; 3. 了解計(jì)算機(jī)取指令, 執(zhí)行指令的工作過程; 4. 調(diào)試有問題的匯編語言程序。,注意:DEBUG下符號(hào)與標(biāo)志的對(duì)應(yīng)關(guān)系 實(shí)驗(yàn)指導(dǎo)書P95,D:DEBUG ;

10、進(jìn)入DEBUG -R ;查看當(dāng)前各寄存器的內(nèi)容 AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=1271 ES=1271 SS=1271 CS=1271 IP=0100 NV UP EI PL NZ NA PO NC 1271:0100 B83412 MOV AX,1234 -D 0 : 0 ;查看0:07FH內(nèi)存塊的內(nèi)容 0000:0000 9E 0F C9 00 65 04 70 00-16 00 EB 07 65 04 70 00 .e.p.e.p. 0000:0010 65 04 70 00 54 F

11、F 00 F0-58 7F 00 F0 F5 E7 00 F0 e.p.T.X. 、 -U FFFF : 0 ;反匯編FFFF:0 處的指令 FFFF:0000 CD19 INT 19 FFFF:0002 E000 LOOPNZ 0004 、,課后可參照下列步驟做實(shí)驗(yàn):,-A ;匯編一條指令 1271:0100 MOV AX,1234 1271:0103 -T =100 ;執(zhí)行該指令 AX=1234 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=1271 ES=1271 SS=1271 CS=1271 IP=0103 NV

12、 UP EI PL NZ NA PO NC 1271:0103 E9C300 JMP 01C9 -R ;查看指令執(zhí)行后結(jié)果 AX=1234 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=1271 ES=1271 SS=1271 CS=1271 IP=0103 NV UP EI PL NZ NA PO NC -Q ;退出DEBUG D:,四、8086/8088的存儲(chǔ)器組織 1. 內(nèi)存物理地址的形成 2. 內(nèi)存單元內(nèi)容的存放及表示,1.內(nèi)存物理地址的形成 取指令、取數(shù)、存數(shù)時(shí),都要訪問內(nèi)存, 被訪問內(nèi)存單元的地址由CPU提供。

13、,8086/8088有20根地址線, 可尋址220 =1M個(gè)內(nèi)存單元, 而CPU內(nèi)部寄存器均為16位, 故: 20位的地址需由 一個(gè)附加部件完成。 這個(gè)部件就是地址加法器。,地址加法器的工作原理 可表示為: 物理地址PA = 段地址 偏移地址 = ( 段寄存器 ) 16 + 偏移地址 = ( 段寄存器 ) 10H + 偏移地址 即段寄存器的內(nèi)容左移4位,加上偏移地址,物理地址PA = 段地址 偏移地址 = ( 段寄存器 ) 10H + 偏移地址 段寄存器有4個(gè): DS、ES、CS、SS 偏移地址由 IP、SP、BX、BP、SI、DI 或一個(gè)8位或16位二進(jìn)制數(shù)得到。 這種存儲(chǔ)器管理方式叫分段編

14、址。,物理地址PA = 段地址 偏移地址 = ( 段寄存器 ) 10H + 偏移地址 或段寄存器的內(nèi)容左移4位,加上偏移地址 例:某內(nèi)存單元的段地址由DS、偏移地址由BX給出。 若( DS) = 2000H, ( BX) = 1000H,計(jì)算其物理地址。 PA = ( DS ) 10H + ( BX ) = 2000H 10H + 1000H = 21000H,要點(diǎn):,(段地址由16位的段寄存器給出,可將段地址直接用16位表示),物理地址20位,段地址20位,偏移地址16位。,物理地址PA = 段地址 偏移地址 = ( 段寄存器 ) 10H + 偏移地址,由16位段寄存器決定有216 = 64

15、 K個(gè)段值 由16位偏移地址決定每個(gè)段的大小為0 64K 每個(gè)段最大64 K,但不一定是64 K,可據(jù)需要分配。,用( )表示內(nèi)存單元的內(nèi)容: ( 21000H ) = 0FH ( 2000:1000H ) = 0FH ( DS:BX ) = 0FH,指令的地址固定由CS和IP兩個(gè)寄存器決定。 (代碼段寄存器和指令指針寄存器),例 開機(jī)或RESET復(fù)位后,( CS ) = FFFFH,( IP ) = 0,故8086/8088執(zhí)行的第一條指令所在內(nèi)存的地址為: PA = ( CS ) 10H + ( IP ) = FFFF H 10H + 0 = FFFF0H,D: DEBUG ;進(jìn)入DEBU

16、G -U FFFF:0 ;反匯編FFFF:0處的指令 、 ;顯示指令 - Q ;退出DEBUG,實(shí)驗(yàn):在DEBUG下查看開機(jī)后執(zhí)行的第一條指令,討論: 1. 開機(jī)后的第一條指令應(yīng)該在內(nèi)存的什么區(qū)域? ROM還是RAM? 為什么? 2. 開機(jī)后執(zhí)行的第一條指令的地址是否固定?為什么?,每個(gè)內(nèi)存單元有唯一的物理地址, 但可由不同的段地址和偏移地址構(gòu)成。(實(shí)驗(yàn)二內(nèi)容),例 某內(nèi)存操作的段值由 DS 給出,偏移值由BX給出。,若 ( DS ) = 1000H ,( BX ) = 0150H, 則: PA = ( DS ) 10H + ( BX ) = 1000 H 10H + 0150H = 1015

17、0H,若 ( DS ) = 1010H ,( BX ) = 0050H, 則: PA = ( DS ) 10H + ( BX ) = 1010 H 10H + 0050H = 10150H,物理地址相同,就選中同一單元,2內(nèi)存單元內(nèi)容的存放及表示,表示為: ( 01000H ) = 1EH ( 01001H ) = 2FH,8086/8088是16位CPU,可對(duì)內(nèi)存進(jìn)行字節(jié)或字操作,例 將字?jǐn)?shù)據(jù)1234H寫入從02000H開始的內(nèi)存單元,當(dāng)往內(nèi)存寫一個(gè)字?jǐn)?shù)據(jù)時(shí),寫入規(guī)則是:,寫入的結(jié)果: ( 02000H ) = 34H ( 02001H ) = 12H,低字節(jié)到低地址單元 高字節(jié)到高地址單元

18、,D:DEBUG ;進(jìn)入DEBUG - A ;匯編一條傳送指令 1693:0100 MOV word ptr0, 1234 1693:0106 -T ;執(zhí)行該指令 AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=1693 ES=1693 SS=1693 CS=1693 IP=0106 NV UP EI PL NZ NA PO NC 1693:0106 50 PUSH AX -D DS:0 ;查看結(jié)果 1693:0000 34 12 FF 9E 00 9A EE FE-1D F0 4F 03 18 10 8A 03 1693:0010 18 10 17 03 18 10 23 0E-01 01 01 00 02 FF FF FF -Q ;退出DEBUG,實(shí)驗(yàn):在DEBUG下查看數(shù)據(jù)在

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論