微型計算機技術(shù)與匯編語言程序設計:第3章 80x86微處理器_第1頁
微型計算機技術(shù)與匯編語言程序設計:第3章 80x86微處理器_第2頁
微型計算機技術(shù)與匯編語言程序設計:第3章 80x86微處理器_第3頁
微型計算機技術(shù)與匯編語言程序設計:第3章 80x86微處理器_第4頁
微型計算機技術(shù)與匯編語言程序設計:第3章 80x86微處理器_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、教學內(nèi)容 本章在簡要介紹80 x86系列微處理器的發(fā)展概況及其性能特性的基礎(chǔ)上,首先重點介紹8086/8088 CPU的內(nèi)部結(jié)構(gòu)、寄存器結(jié)構(gòu)、引腳功能以及存儲器管理等。具體內(nèi)容如下: 1、80 x86微處理器簡介2、8086/8088微處理器3、8086/8088存儲器和I/O組織學習要求 微處理器(CPU)是構(gòu)成微型計算機的核心部件,是全機的控制中心,它控制全機各功能部件協(xié)調(diào)工作,它的性能決定了整個微型計算機的性能和系統(tǒng)結(jié)構(gòu)。因此,學習和掌握微處理器的內(nèi)部結(jié)構(gòu)和工作原理是學習“微型計算機原理”的重要基礎(chǔ)。本章具體學習要求如下:1、掌握8086/8088CPU的內(nèi)部結(jié)構(gòu)及工作原理。2、掌握80

2、86/8088CPU中14個寄存器的分類、作用及有關(guān) 寄存器的特定用法。3、掌握8086/8088存儲器的分段管理方式;掌握邏輯地址、 物理地址的概念以及如何由邏輯地址求物理地址。4、了解8086/8088CPU的引腳及其功能。 第3章 80 x86微處理器 (本章授課學時:8H) 3.1 80 x86微處理器簡介3.2 8086/8088微處理器3.3 8086/8088存儲器和I/O組織 3.1 80 x86微處理器簡介 80 x86微處理器是美國Intel 公司生產(chǎn)的系列微處理器。該公司成立于1968年,1969年就設計了4位的4004 芯片,1973年開發(fā)出8位的8080芯片,1978

3、年正式推出16位的8086微處理器芯片,由此開始了Intel公司的80 x86系列微處理器的生產(chǎn)歷史。本節(jié)簡要介紹Intel公司80 x86系列微處理器的發(fā)展過程及其特性。 表3.1給出了80 x86系列微處理器概況。下面通過對表中有關(guān)技術(shù)數(shù)據(jù)的分析來說明Intel 80 x86系列微處理器的發(fā)展情況。 表3.1 80 x86系列微處理器概況 集成度CPU芯片中所包含的晶體管數(shù)。主頻芯片所使用的主時鐘頻率,它直接影響計算機的運行速度。數(shù)據(jù)總線計算機中各個組成部件間進行數(shù)據(jù)傳送時的公共通道,“內(nèi)數(shù)據(jù)總線寬度”是指CPU芯片內(nèi)部數(shù)據(jù)傳送的寬度(位數(shù)),“外數(shù)據(jù)總線寬度”是指CPU與外部交換數(shù)據(jù)時的

4、數(shù)據(jù)寬度,顯然,數(shù)據(jù)總線位數(shù)越多,數(shù)據(jù)交換的速度就越快。 基本概念地址總線在對存儲器或I/O端口進行訪問時,傳送由CPU提供的要訪問的存儲單元或I/O端口的地址信息的總線,其寬度決定了處理器能直接訪問的主存容量大小。如8086有20根地址線,使用這20根地址線上不同地址信息的組合,可直接對220=1M個存儲單元進行訪問;Pentium II有36根地址線,因此它可直接尋址的最大地址范圍為236=64G。 高速緩沖存儲器Cache 的使用,大大減少了CPU讀取指令和操作數(shù)所需的時間,使CPU的執(zhí)行速度顯著提高。為了滿足微型計算機對存儲器系統(tǒng)高速度、大容量、低成本的要求,目前,微型計算機系統(tǒng)采用如

5、圖3.1所示的三級存儲器組織結(jié)構(gòu),即由高速緩沖存儲器Cache、主存和外存組成。 高速緩沖存儲器(Cache)微處理器CPU主存儲器(主存)外存儲器(外存)圖3.1 存儲器三級結(jié)構(gòu) 主存 當前正在執(zhí)行的程序或要使用的數(shù)據(jù)必須從外存調(diào)入主存后才能被CPU讀取并執(zhí)行,主存容量通常為MB級;外存當前沒有使用的程序可存入外存,外存的容量通常很大,可達GB甚至TB級;Cache(高速緩沖存儲器)最大特點是存取速度快,但容量較小,通常為KB級,將當前使用頻率較高的程序和數(shù)據(jù)通過一定的替換機制從主存放入Cache,CPU在取指令或讀取操作數(shù)時,同時對Cache和主存進行訪問,如果Cache命中,則終止對主存

6、的訪問,直接從Cache中將指令或數(shù)據(jù)送CPU處理,由于Cache的速度比主存快得多。Cache的使用大大提高了CPU讀取指令或數(shù)據(jù)的速度。 各種型號的Intel公司的CPU1978年 確立x86地位創(chuàng)造商業(yè)奇跡的CPU8086 各種型號的Intel公司的CPU1982年 俗稱“286”CPU80286 各種型號的Intel公司的CPU使用80286的電腦 各種型號的Intel公司的CPU1985年 真帶領(lǐng)我們進入32位時代的CPU80386 各種型號的Intel公司的CPU1989年 首嘗RISC, 性能提升4倍的CPU80486 各種型號的Intel公司的CPU1993年 第一款與數(shù)字無關(guān)

7、的CPUPentium 各種型號的Intel公司的CPU2000年 空前強大經(jīng)久不衰的系列CPUPentium 4 3.2 8086/8088微處理器 8086是Intel系列的16位微處理器。使用HMOS工藝制造,芯片上集成了2.9萬個晶體管,用單一的+5V電源供電,封裝在標準的40引腳雙列直插式管殼內(nèi),時鐘頻率5MHz10MHz。 3.2 8086/8088微處理器 8086有16條數(shù)據(jù)總線,可以處理8位或16位數(shù)據(jù)。有20條地址總線,可以直接尋址1M(220)字節(jié)的存儲單元。在8086推出后不久,為方便原8位機用戶,Intel公司很快推出了8088微處理器,其指令系統(tǒng)與8086完全兼容,

8、CPU內(nèi)部結(jié)構(gòu)仍為16位,但外部數(shù)據(jù)總線是8位的,這樣設計的目的主要是為了與原有的8位外圍接口芯片兼容。并以8088為CPU組成了IBM PC、PC/XT等準16位微型計算機,由于其性能價格比高,很快占領(lǐng)了市場。 3.2.1 8086/8088內(nèi)部結(jié)構(gòu) 從功能上講,8086CPU內(nèi)部結(jié)構(gòu)可分為兩部分:1、總線接口單元BIU(Bus Interface Unit)負責完成CPU與存儲器或I/O設備之間的數(shù)據(jù)傳送。2、執(zhí)行單元EU(Execution Unit)不與系統(tǒng)外部直接相連,它的功能只是負責執(zhí)行指令。圖3.2 8086CPU內(nèi)部結(jié)構(gòu)框圖 3.2.1 8086/8088內(nèi)部結(jié)構(gòu) 一總線接口單

9、元BIU總線接口單元BIU的任務: 讀指令指令隊列出現(xiàn)空字節(jié)(8088 1個空字節(jié),8086 2個空字節(jié))時,從內(nèi)存取出后續(xù)指令。BIU取指令時,并不影響EU的執(zhí)行,兩者并行工作,大大提高了CPU的執(zhí)行速度。 讀操作數(shù)EU需要從內(nèi)存或外設端口讀取操作數(shù)時,根據(jù)EU給出的地址從內(nèi)存或外設端口讀取數(shù)據(jù)供EU使用。 寫操作數(shù)EU的運算結(jié)果、數(shù)據(jù)或控制命令等由BIU送往指定的內(nèi)存單元或外設端口。總線接口單元(BIU)的組成1、4個16位段寄存器:代碼段寄存器CS(Code Segment)、數(shù)據(jù)段寄存器DS(Data Segment)、堆棧段寄存器SS(Stack Segment)和附加數(shù)據(jù)段寄存器E

10、S(Extra Segment);2、一個16位的指令指針寄存器IP(Instruction Pointer);3、一個20位地址加法器;4、6字節(jié)指令隊列緩沖器;5、一個與EU通訊的內(nèi)部寄存器以及總線控制電路等。 1段寄存器 8086CPU的地址引腳有20根,能提供20位的地址信息,可直接對1M個存儲單元進行訪問,但CPU內(nèi)部可用來提供地址信息的寄存器都是16位的,那么如何用16位寄存器實現(xiàn)20位地址的尋址呢?8086/8088采用了段結(jié)構(gòu)的內(nèi)存管理的方法。 將指令代碼和數(shù)據(jù)分別存儲在代碼段、數(shù)據(jù)段、堆棧段、附加數(shù)據(jù)段中,這些段的段地址分別由段寄存器CS、DS、SS、ES提供,而代碼或數(shù)據(jù)在

11、段內(nèi)的偏移地址則由有關(guān)寄存器或立即數(shù)給出。 代碼段寄存器CS存儲程序當前使用的代碼段的段地址。代碼段用來存放程序的指令代碼。下一條要讀取指令在代碼段中的偏移地址由指令指針寄存器IP提供; 數(shù)據(jù)段寄存器DS用來存放程序當前使用的數(shù)據(jù)段的段地址。一般來說,程序中所用到的原始數(shù)據(jù)、中間結(jié)果以及最終結(jié)果都存放在數(shù)據(jù)段中; 堆棧段寄存器SS用來存放程序當前所使用的堆棧段的段地址。堆棧是在存儲器中開辟的一個特定區(qū)域; 附加數(shù)據(jù)段寄存器ES用來存放程序當前使用的附加數(shù)據(jù)段的段地址。附加數(shù)據(jù)段通常用于存放字符串操作時的目的字符串。 程序員在編寫匯編語言源程序時,應該按照上述規(guī)定將程序的各個部分放在規(guī)定的段內(nèi)。

12、每個源程序必須至少有一個代碼段,而數(shù)據(jù)段、堆棧段和附加數(shù)據(jù)段則根據(jù)程序的需要決定是否設置。 2指令指針寄存器 指令指針寄存器IP用來存放下一條要讀取的指令在代碼段中的偏移地址。IP在程序運行中能自動加1修正,從而使其始終存放的是下一條要讀取的指令在代碼段的偏移地址。由于CS和IP的內(nèi)容決定了程序的執(zhí)行順序,因此程序員不能直接用賦值指令對其內(nèi)容進行修改。有些指令能使IP和CS的值改變(如跳轉(zhuǎn)指令)或使其值壓入堆?;驈亩褩V袕棾龌謴驮担ㄈ缱映绦蛘{(diào)用指令和返回指令)。 320位地址加法器 8086/8088CPU在對存儲單元進行訪問以讀取指令或讀/寫操作數(shù)時,必須在地址總線上提供20位的地址信息,

13、以便選中對應的存儲單元。那么,CPU是如何產(chǎn)生20位地址的呢? CPU提供的用來對存儲單元進行訪問的20位地址是由BIU中的地址加法器產(chǎn)生的。 存儲器中每個存儲單元的地址可有以下兩種表示方式: 邏輯地址:其表達形式為“段地址:段內(nèi)偏移地址”。段內(nèi)偏移地址又稱為“有效地址EA(Effective Address)。在讀指令時,段地址由代碼段寄存器CS提供,當前要讀取指令在代碼段中的偏移地址由指令指針寄存器IP提供;在讀取或存儲操作數(shù)時,根據(jù)具體操作,段地址由DS、ES或SS提供,段內(nèi)偏移地址由指令給出。 物理地址:CPU與存儲器進行數(shù)據(jù)交換時在地址總線上提供的20位地址信息稱為物理地址。物理地址

14、的形成過程如圖3.3所示。當由IP提供或由EU根據(jù)指令所提供尋址方式計算出尋址單元的16位段內(nèi)偏移地址后,把該偏移地址和段寄存器內(nèi)容左移四位后(相當于乘以10H)得到的段基址(段內(nèi)第一個存儲單元的物理地址)同時送到BIU中的地址加法器,形成一個20位的物理地址,從而實現(xiàn)對存儲單元的訪問。由邏輯地址求物理地址的公式為:物理地址=段地址10H+段內(nèi)偏移地址 如假設當前(CS)=20A8H,(IP)=2008H,那么,下一條從內(nèi)存中讀取的指令所在存儲單元的物理地址為:20A8H10H+ 2008H=22A88H。 圖3.3 物理地址的形成 4. 指令隊列緩沖器 8086的指令隊列有6個字節(jié),8088

15、的指令隊列有4個字節(jié)。對8086而言,當指令隊列出現(xiàn)2個空字節(jié),對8088而言,指令隊列出現(xiàn)1個空字節(jié)時,BIU就自動執(zhí)行一次取指令周期,將下一條要執(zhí)行的指令從內(nèi)存單元讀入指令隊列。它們采用“先進先出”原則,按順序存放,并按順序取到EU中去執(zhí)行。 指令隊列的引入使得EU和BIU可并行工作,即BIU在讀指令時,并不影響EU單元執(zhí)行指令,EU單元可以連續(xù)不斷地直接從指令隊列中取到要執(zhí)行的指令代碼,從而減少了CPU為取指令而等待的時間,提高了CPU的利用率,加快了整機的運行速度。 Debug中使用反匯編命令得到的addxy.exe程序代碼在內(nèi)存中的存放情況.請大家注意理解邏輯地址與物理地址的概念(c

16、s):(ip)Debug中使用反匯編命令得到的addxy.exe程序中變量在內(nèi)存中的存放情況.請大家注意理解邏輯地址與物理地址的概念運行ADDXY.asm 二執(zhí)行單元EU 執(zhí)行單元EU不與系統(tǒng)外部直接相連,它的功能只是負責執(zhí)行指令。執(zhí)行的指令從BIU的指令隊列緩沖器中直接得到,執(zhí)行指令時若需要從存儲器或I/O端口讀寫操作數(shù)時,由EU向BIU發(fā)出請求,再由BIU對存儲器或I/O端口進行訪問。 執(zhí)行單元EU由下列部件組成:1. 16位算術(shù)邏輯單元(ALU):進行算術(shù)和邏輯運算。2. 16位標志寄存器FLAGS:存放CPU運算的狀態(tài)和控制標志。3. 數(shù)據(jù)暫存寄存器:暫存參加運算的數(shù)據(jù)4. 通用寄存器:包括4個16位數(shù)據(jù)寄存器AX、BX、CX、DX和 4個16位指針與變址寄存器SP、BP與SI、DI。5. EU控制電路:它是控制、定時與狀態(tài)

溫馨提示

  • 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

提交評論