第1章微型計算機(jī)系統(tǒng)_第1頁
第1章微型計算機(jī)系統(tǒng)_第2頁
第1章微型計算機(jī)系統(tǒng)_第3頁
第1章微型計算機(jī)系統(tǒng)_第4頁
第1章微型計算機(jī)系統(tǒng)_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

匯編語言程序?qū)嵱媒坛虖埡甑?章

微型計算機(jī)系統(tǒng)微型計算機(jī)(

puter)簡稱“微型機(jī)”、“微機(jī)”,也稱“微電腦”,是指以微處理器為基礎(chǔ),配以內(nèi)存儲器及輸入輸出(I/O)接口電路和相應(yīng)的輔助電路而構(gòu)成的裸機(jī)。由微型計算機(jī)配以相應(yīng)的外圍設(shè)備(如打印機(jī)、顯示器、磁盤機(jī)和磁帶機(jī)等)及其他專用電路、電源、面板、機(jī)架以及足夠的軟件構(gòu)成的系統(tǒng)叫做微型計算機(jī)系統(tǒng)(

puterSystem)。1.1微型計算機(jī)系統(tǒng)硬件結(jié)構(gòu)1.1.1

微型計算機(jī)系統(tǒng)的基本組成微型計算機(jī)由運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五大部分組成。其中存儲器又分主存儲器、輔助存儲器,通常我們把輸入設(shè)備及輸出設(shè)備統(tǒng)稱為外圍設(shè)備,而運算器和控制器又稱為中央處理器——CPU(Central

Processing

Unit)運算器存儲器控制器輸入設(shè)備輸出設(shè)備圖1-1

微型計算機(jī)硬件系統(tǒng)邏輯結(jié)構(gòu)1.運算器運算器是計算機(jī)中處理數(shù)據(jù)的核心部件,主要由執(zhí)行算術(shù)運算和邏輯運算的算術(shù)邏輯單元ALU(Arithmetic

Logic

Unit)、存放操作數(shù)和中間結(jié)果的寄存器組以及連接各部件的數(shù)據(jù)通路組成,用以完成各種算術(shù)運算和邏輯運算。在運算過程中,運算器不斷得到由主存儲器提供的數(shù)據(jù),運算后又把結(jié)果送回到主存儲器保存起來。整個運算過程是在控制器的統(tǒng)一指揮下,按程序中編排的操作順序進(jìn)行的。2.控制器控制器是計算機(jī)中控制管理的核心部件。主要由

程序計數(shù)器(PC)、指令寄存器(IR)、指令譯碼器(ID)、時序控制電路和微操作控制電路等

組成,在系統(tǒng)運行過程中,不斷地生成指令地址、取出指令、分析指令、向計算機(jī)的各個部件發(fā)出

微操作控制信號,指揮各個部件高速協(xié)調(diào)地工作。中央處理器(CPU)是計算機(jī)的核心部件。CPU和主存儲器是信息加工處理的主要部件,通常把這兩個部分合稱為主機(jī)。3.存儲器存儲器是用來存儲數(shù)據(jù)和程序的部件。根據(jù)功能的不同,存儲器一般分為主存儲器和輔存儲器兩種類型。主存儲器主存儲器(又稱為內(nèi)存儲器,簡稱為主存或內(nèi)存)用來存放正在運行的程序和數(shù)據(jù),可直接與運算器及控制器交換信息。按照存取方式,主存儲器又可分為隨機(jī)存取存儲器(RandomAccessMemory,RAM)和只讀存儲器(Read

Only

Memory,ROM)兩種。主存儲器由許多存儲單元組成,全部存儲單元按一定順序編號,稱為存儲器的地址。存儲器采取按地址存(寫)?。ㄗx)的工作方式,每個存儲單元存放一個單位長度的信息。輔存儲器輔存儲器(又稱為外存儲器,簡稱為輔存或外存)是用來存放多種大信息量的程序和數(shù)據(jù),可以長期保存,其特點是存儲容量大、成本低,但存取速度相對較慢。4.輸入/輸出設(shè)備輸入/輸出設(shè)備(簡稱I/O設(shè)備)又稱為外部設(shè)備,它是與計算機(jī)主機(jī)進(jìn)行信息交換,實現(xiàn)人機(jī)交互的硬件環(huán)境。輸入設(shè)備用于輸入人們要求計算機(jī)處理的數(shù)據(jù)、字符、文字、圖形、圖像、聲音等信息,以及處理這些信息所必需的程序,并把它們轉(zhuǎn)換成計算機(jī)能接受的形式(二進(jìn)制代碼)。常見的輸入設(shè)備有鍵盤、鼠標(biāo)、掃描儀、光筆、手寫板、麥克風(fēng)(輸入語音)等。輸出設(shè)備用于將計算機(jī)處理結(jié)果或中間結(jié)果,以人們可識別的形式(如顯示、打印、繪圖)表達(dá)出來。常見的輸出設(shè)備有顯示器、打印機(jī)、繪圖儀、音響設(shè)備等。輔(外)存儲器可以把存放的信息輸入到主機(jī),主機(jī)處理后的數(shù)據(jù)也可以存儲到輔(外)存儲器中。因此,輔(外)存儲設(shè)備既可以作為輸入設(shè)備,也可以作為輸出設(shè)備。1.1.2微型計算機(jī)系統(tǒng)的系統(tǒng)結(jié)構(gòu)存儲總線系統(tǒng)總線微處理器CPU存儲器(主存)輸入輸出接口I/O

電路外部設(shè)備時鐘信號圖1-2

微型計算機(jī)硬件系統(tǒng)結(jié)構(gòu)1.微處理器隨著人類科學(xué)技術(shù)水平的發(fā)展和提高,20世紀(jì)60年代末,半導(dǎo)體技術(shù)、微電子制作工藝有了突破性的發(fā)展,在此技術(shù)前提下,將計算機(jī)的運算器、控制器以及相關(guān)的部件集中制作在同一塊大規(guī)模或超大規(guī)模集成電路上,即構(gòu)成了整體的中央處理器,由于處理器的體積大大減小了,故稱為微處理器。習(xí)慣上一般把微處理器直接稱為CPU。1971年Intel公司研制推出的4004處理器芯片,標(biāo)志著微處理器的誕生。之后的30多年來,微處理器不斷向更高的層次發(fā)展,由最初的4004處理器(字長4位,主頻

1MHz),發(fā)展到現(xiàn)在的Pentium

IV處理器(字長64位,主頻3.6GHz或更高)。2.系統(tǒng)總線總線是將計算機(jī)各個部件聯(lián)系起來的一組公共信號線。采用總線結(jié)構(gòu)形式,具有系統(tǒng)結(jié)構(gòu)簡單、系統(tǒng)擴(kuò)展及更新容易、可靠性高等優(yōu)點,但由于必須在部件之間采用分時傳送操作,因而降低了系統(tǒng)的工作速度。微機(jī)的系統(tǒng)結(jié)構(gòu)中,連接各大部件之間的總線稱為系統(tǒng)總線。系統(tǒng)總線根據(jù)傳送的信號類型,分為數(shù)據(jù)總線、地址總線和控制總線三部分。數(shù)據(jù)總線數(shù)據(jù)總線(Data

BUS,DB)是傳送數(shù)據(jù)和指令代碼的信號線。數(shù)據(jù)總線是雙向的,即數(shù)據(jù)可傳送至CPU,也可從CPU傳送到其他部件。地址總線地址總線(Address

BUS,AB)是傳送CPU所要訪問的存儲單元或輸入/輸出接口地址的信號線。地址總線是單向的,因而通常地址總線是將地址從CPU傳送給存儲器或輸入/輸出接口??刂瓶偩€控制總線(Control

BUS,CB)是管理總線上活動的信號線??刂瓶偩€中的信號是用來實現(xiàn)CPU對其他部件的控制、狀態(tài)等信息的傳送以及中斷信號的傳送等。3.微型計算機(jī)和個人計算機(jī)根據(jù)微處理器的應(yīng)用領(lǐng)域,微處理器大致可以分為三類:通用高性能微處理器、嵌入式微處理器和微控制器。一般而言,通用處理器追求高性能,用于運行通用軟件,配備完備、復(fù)雜的操作系統(tǒng);嵌入式微處理器強(qiáng)調(diào)處理特定應(yīng)用問題,用于運行面向特定領(lǐng)域的專用程序,配備輕量級操作系統(tǒng),如移動電話、PDA(Personal

DigitalAssistant,個人數(shù)字助理)等電子設(shè)備;微控制器價位相對較低,在微處理器市場上需求量最大,主要用于汽車、空調(diào)、自動機(jī)械等領(lǐng)域的自控設(shè)備。通常所說的微型計算機(jī),其實特指的是以通用高性能微處理器為核心,配以存儲器和其他外設(shè)部件,并裝載完備的軟件系統(tǒng)的通用微型計算機(jī),簡稱微機(jī)。1.1.3微型計算機(jī)系統(tǒng)的性能指標(biāo)字長字長是指CPU能夠同時處理的比特(bit)數(shù)目。它直接關(guān)系到計算機(jī)的計算精度、功能和速度。字長越長,計算精度越高,處理能力越強(qiáng)。目前微型機(jī)字長有8位、16位、32位、64位。主頻主頻即CPU的時鐘頻率(CPU

Clock

Speed),是CPU內(nèi)核(整數(shù)和浮點數(shù)運算器)電路的實際運行頻率。一般稱為CPU運算時的工作頻率,簡稱主頻。主頻越高,單位時間內(nèi)完成的指令數(shù)也越多。目前主流的微型機(jī)CPU主頻是3.0GHz、3.2GHz。運算速度由于計算機(jī)執(zhí)行不同的運算所需的時間不同,只能用等效速度或平均速度來衡量。一般以計算機(jī)單位時間內(nèi)執(zhí)行的指令條數(shù)表示運算速度。單位是MIPS(每秒百萬條指令數(shù))。內(nèi)存容量內(nèi)存容量是指內(nèi)存儲器中能夠存儲信息的總字節(jié)數(shù),以KB、MB、GB為單位,反映了內(nèi)存儲器存儲數(shù)據(jù)的能力。內(nèi)存容量的大小直接影響計算機(jī)的整體性能。存取周期存取周期是指對內(nèi)存進(jìn)行一次讀/寫(取數(shù)據(jù)/存數(shù)據(jù))訪問操作所需的時間。1.1.4

微型計算機(jī)系統(tǒng)的性能評價系統(tǒng)的兼容性系統(tǒng)的兼容性一般包括硬件的兼容、數(shù)據(jù)和文件的兼容、系統(tǒng)程序和應(yīng)用程序的兼容、硬件和軟件的兼容等。對于用戶而言,兼容性越好,則越便于硬件和軟件的維護(hù)和使用;對機(jī)器而言,更有利于機(jī)器的普及和推廣。系統(tǒng)的可靠性和可維護(hù)性系統(tǒng)的可靠性是指系統(tǒng)在正常條件下不發(fā)生故障或失效的概率,一般用平均無故障時間來衡量。系統(tǒng)的可維護(hù)性指系統(tǒng)出了故障能否盡快恢復(fù),一般用平均修復(fù)時間來衡量。外設(shè)配置外設(shè)包括計算機(jī)的輸入和輸出設(shè)備,不同的外設(shè)配置將影響計算機(jī)性能的發(fā)揮。例如,顯示器有高、中、低分辨率之分,若使用分辨率較低的顯示器,將難以準(zhǔn)確還原顯示高質(zhì)量的圖片;硬盤的存儲量大小不同,選用低容量的硬盤,則系統(tǒng)就無法滿足大信息量的存儲需求。軟件配置軟件配置包括操作系統(tǒng)、工具軟件、程序設(shè)計語言、數(shù)據(jù)庫管理系統(tǒng)、網(wǎng)絡(luò)通信軟件、漢字軟件及其他各種應(yīng)用軟件等。計算機(jī)只有配備了必需的系統(tǒng)軟件和應(yīng)用軟件,才能高效率地完成相關(guān)任務(wù)。性能價格比性能一般指計算機(jī)的綜合性能,包括硬件、軟件等各方面;價格指購買整個計算

機(jī)系統(tǒng)的價格,包括硬件和軟件的價格。購買時應(yīng)該從性能、價格兩方面來考慮。性能價格比越高越好。1.2

8086/8088微處理器1.2.18086/8088微處理器的結(jié)構(gòu)8086主要特性16位微處理器,采用高速運算性能的HMOS工藝制造,芯片上集成了2.9萬只晶體管;40條引腳雙列直插式封裝;時鐘頻率為5MHz~10MHz,基本指令執(zhí)行時間為0.3μs~0.6μs;16根數(shù)據(jù)線和20根地址線,可尋址的地址空間達(dá)1MB;8086可以和浮點運算器、I/O處理器或其他處理器組成多處理器系統(tǒng),極大提高了系統(tǒng)的數(shù)據(jù)吞吐能力和數(shù)據(jù)處理能力;使用單一的+5V電源。2.8086微處理器的邏輯結(jié)構(gòu)8086微處理器分成兩大功能部件,即執(zhí)行部件(executionunit,EU)和總線接口部件(businterfaceunit,BIU),二者既可以協(xié)同工作又可以各自獨立工作。20

位總線控制邏輯8086總線狀態(tài)標(biāo)志寄存器∑AXBXCXDXALU

數(shù)據(jù)總線(16

位)暫存器ALU控制電路123456CSDSSSESIP內(nèi)部暫存器地址加法器指令隊列AHALBHBLCHCLDHDLSPBPSIDI16

位執(zhí)行部件

EU

總線接口部件

BIU圖1-3 8086微處理器的邏輯結(jié)構(gòu)(1)執(zhí)行部件EU執(zhí)行部件由一個16位的算術(shù)邏輯單元(ALU),8個16位的通用寄存器,一個16位的狀態(tài)標(biāo)志寄存器,一個數(shù)據(jù)暫存寄存器和執(zhí)行部件的控制電路組成。EU是程序中各條指令執(zhí)行的核心,完成從

BIU的指令隊列中取出指令代碼,經(jīng)指令譯碼器譯碼后執(zhí)行指令所規(guī)定的全部功能。執(zhí)行指令所得結(jié)果或執(zhí)行指令所需的數(shù)據(jù),都由EU向BIU發(fā)出命令,對存儲器或I/O接口進(jìn)行讀/寫操作。(2)總線接口部件BIU總線接口部件BIU由四個16位段地址寄存器(代碼段寄存器CS、數(shù)據(jù)段寄存器DS、堆棧段寄存器SS和附加段寄存器ES)、一個16位指令指針寄存器IP、一個6字節(jié)指令隊列緩沖器、20位地址加法器和總線控制電路組成。BIU負(fù)責(zé)與存儲器、

I/O接口電路連接,根據(jù)執(zhí)行部件EU的請求,完成CPU與存儲器或I/O設(shè)備之間的數(shù)據(jù)傳送。(3)EU和BIU的關(guān)系EU和BIU這兩個功能部件既可以協(xié)同工作又可以各自獨立工作的。大多數(shù)情況下,EU的執(zhí)行指令操作與BIU的取指令操作是在時間上重疊的,即

EU執(zhí)行某條指令操作時,BIU可同時進(jìn)行后繼指令的取指令操作,形成指令的流水線,如圖1-4所示。這樣,減少了CPU取指令的等待時間,加快了CPU執(zhí)行指令的速度,提高了系統(tǒng)總線的利用率。123456EU123456BIU總線執(zhí)行1執(zhí)行2執(zhí)行3執(zhí)行4執(zhí)行5執(zhí)行6忙忙忙忙忙忙取指1

取指2

取指3

取指4

取指5

取指6圖1-4

8086/8088指令流水線(4)8086與8088的區(qū)別8086微處理器與8088微處理器功能結(jié)構(gòu)基本相同,它們的指令系統(tǒng)完全相同,區(qū)別在于它們的BIU部件:8086的指令隊列有6個字節(jié),而8088的指令隊列有4個字節(jié)。8086數(shù)據(jù)總線為16位,而8088數(shù)據(jù)總線為8為。1.2.28086/8088的寄存器8086/8088CPU中可供編程使用的有14個16位寄存器,按其用途可分為3類:通用寄存器、段寄存器、指針和標(biāo)志寄存器。累加器基址寄存器AHALBHBLCHCLDHDLSPBPSIDIIPFLAGSCSDSSSES計數(shù)寄存器數(shù)據(jù)寄存器堆棧指針寄存器基址指針寄存器源變址寄存器目的變址寄存器指令指針寄存器標(biāo)志寄存器代碼段寄存器段寄存器堆棧段寄存器附加段寄存器圖1-5

8086CPU內(nèi)部寄存器結(jié)構(gòu)數(shù)據(jù)寄存器地址指針寄存器控制寄存器通用寄存器數(shù)據(jù)段寄存器1.通用寄存器通用寄存器分為數(shù)據(jù)寄存器與地址指針寄存器兩組。(1)數(shù)據(jù)寄存器數(shù)據(jù)寄存器一般用來存放16位數(shù)據(jù),主要用來保存操作數(shù)或運算結(jié)果等信息,數(shù)據(jù)寄存器節(jié)省了為存取操作數(shù)所需占用總線和訪問存儲器的時間。數(shù)據(jù)寄存器包括4個16位的寄存器AX(Accumulator,累加器)、BX(Base,基址寄存器)、CX(Counter,計數(shù)寄存器)和DX(Data,數(shù)據(jù)寄存器),其中的每一個又可根據(jù)需要將高8位和低8位分成獨立的兩個8位寄存器來使用,即AH、BH、CH、DH和AL、BL、CL、DL兩組,用于存放8位數(shù)據(jù),它們均可獨立尋址、獨立使用。一般使用AX和AL進(jìn)行操作最為普遍;BX是四個數(shù)據(jù)寄存器中惟一可作為存儲器指針使用的寄存器;CX在字符串操作和循環(huán)操作時,用它來控制重復(fù)循環(huán)的次數(shù),在移位操作時,CL寄存器用于保存移位的位數(shù);用使DX在進(jìn)行32位的乘除法操作時,用它來存放被除數(shù)的高

16位或余數(shù),也用于存放I/O端口的地址。(2)地址指針寄存器地址指針寄存器主要用于存放某個存儲單元地址的偏移,或某組存儲單元開始地址的偏移,即作為存儲器指針使用,作為通用寄存器,用于保存16位算術(shù)邏輯運算中的操作數(shù)和運算結(jié)果,有時運算結(jié)果就是需要的存儲單元地址的偏移。地址指針寄存器不能分解成8位寄存器使用。地址指針寄存器包括指針寄存器SP(Stack

Pointer,堆棧指針)、BP(BasePointer,基址指針)和變址寄存器SI(SourceIndex,源變址寄存器)、DI(Destination

Index,目的變址寄存器),都是16位寄存器,一般用來存放地址的偏移量,其中,SP用于存放堆棧段

中棧頂單元的偏移量;BP用于存放堆棧段中某一存儲單元的偏移量;SI用于存放數(shù)據(jù)段中某源操作數(shù)所在存儲單元相對段首地址的偏移量;DI用于存放數(shù)據(jù)段中某目的操作數(shù)所在存儲單元的偏移量。表1-1

通用寄存器的專門用途寄存器用

途AX字乘,字除,字I/OAL字節(jié)乘,字節(jié)除,字節(jié)I/O,查表轉(zhuǎn)換,十進(jìn)制運算AH字節(jié)乘,字節(jié)除BX存儲器指針CX數(shù)據(jù)串操作指令,循環(huán)指令CL變量移位,循環(huán)移位DX字乘,字除,間接I/OSI數(shù)據(jù)串操作指令,源指針DI數(shù)據(jù)串操作指令,目的指針BP存儲器指針,存取堆棧的指針SP堆棧指針2.控制寄存器指令指針I(yè)P

指令指針寄存器IP(InstructionPointer)是一個16位的寄存器,類似于8080/8085中的程序計數(shù)器PC(Program

Counter),IP存放EU要執(zhí)行的下一條指令的偏移地址,用以控制程序中指令的執(zhí)行順序,實現(xiàn)對代碼段指令的跟蹤。實際上接著要執(zhí)行的指令已被預(yù)取到指令隊列,除非發(fā)生轉(zhuǎn)移。在理解IP功能時,可不考慮指令隊列。標(biāo)志寄存器

8086/8088CPU中有一個16位的標(biāo)志寄存器,共9個標(biāo)志,用于反映處理器的狀態(tài)和運算結(jié)果的某些特征,其中6個用作狀態(tài)標(biāo)志,主要受加減運算和邏輯運算結(jié)果的影響,3個用作控制標(biāo)志,不受運算結(jié)果的影響。各標(biāo)志在標(biāo)志寄存器中的位置如圖1-6所示。15

14

13

12

11

10

9

8

7

6

5

4

3

2

10OFDFIFTFSFZFAFPFCF圖1-6

標(biāo)志寄存器狀態(tài)標(biāo)志進(jìn)位標(biāo)志(CarryFlag,CF):產(chǎn)生進(jìn)位或借位時,CF=1,否則為0。在進(jìn)行多字節(jié)運算、比較無符號數(shù)的大小和移位操作時,用到該標(biāo)志。CF也常作為子程序的出口參數(shù)之一。奇偶標(biāo)志(ParityFlag,PF):操作結(jié)果低八位中含1的個數(shù)為偶數(shù)時PF=1,否則為0。利用PF可以進(jìn)行奇偶校驗檢查,或產(chǎn)生奇偶校驗位。輔助進(jìn)位標(biāo)志(Auxiliary

Carry

Flag,AF):在進(jìn)行算術(shù)運算時,如低字節(jié)中低四位產(chǎn)生進(jìn)位或借位時AF=1,否則為0。十進(jìn)制算

術(shù)運算調(diào)整指令自動根據(jù)該標(biāo)志產(chǎn)生相應(yīng)的調(diào)整動作。零標(biāo)志位(Zero

Flag,ZF):當(dāng)操作結(jié)果為0時,ZF=1,否則為

0。在判斷運算結(jié)果是否為0時,用到該標(biāo)志。符號標(biāo)志(SignFlag,SF):操作結(jié)果看作有符號數(shù)時,結(jié)果為負(fù),SF=1,否則為0。該標(biāo)志用于反映運算結(jié)果的符號位溢出標(biāo)志(OverflowFlag,OF):當(dāng)運算結(jié)果超出補(bǔ)碼表示數(shù)的范圍時,即溢出,此時OF=1,否則為0。該標(biāo)志用于反映有符號數(shù)加減運算是否引起溢出??刂茦?biāo)志單步標(biāo)志(Trap

Flag,TF):當(dāng)TF=1時,

CPU在執(zhí)行完一條指令后產(chǎn)生單步中斷,然后由單步中斷服務(wù)程序把TF置0。單步中斷主要用于程序的調(diào)試。中斷允許標(biāo)志(Interrupt

Flag,IF):當(dāng)IF=1

時,允許CPU響應(yīng)可屏蔽外中斷請求;IF=0時,禁止CPU響應(yīng)可屏蔽外中斷。方向標(biāo)志(DirectionFlag,DF):用于串操作指令。DF=0時,串操作的地址指針自動遞增;

DF=1時,串操作的地址指針自動遞減。3.段寄存器8086/8088CPU共有4個16位的段寄存器,用來存放每一個邏輯段的段起始地址。8086/8088CPU依賴其內(nèi)部的4個段寄存器實現(xiàn)尋址1M

字節(jié)的物理空間。

8086/8088把1M字節(jié)地址空間分成若干邏輯段,當(dāng)前使用段的段值存放在段寄存器中。4個段寄存器具體功能如下:代碼段寄存器(CodeSegment,CS):用來存放當(dāng)前代碼段(將被執(zhí)行的程序)的首地址的高

16位,首地址的低4位為0。數(shù)據(jù)段寄存器(DataSegment,DS):用來存放當(dāng)前數(shù)據(jù)段(將被執(zhí)行程序所用操作數(shù))的首地址的高16位,首地址的低4位為0。附加段寄存器(ExtraSegment,ES):用來存放當(dāng)前附加段(將被執(zhí)行的程序所用操作數(shù))的首地址的高16位,首地址的低4位為0。堆棧段寄存器(StackSegment,SS):用來存放當(dāng)前堆棧段(將被執(zhí)行程序所用堆棧)的首地址的高16位,首地址的低4位為0。1.2.3

8086/8088的存儲器組織存儲器結(jié)構(gòu)512K×8奇地址存儲體00000H00002H...FFFFEH512K×8偶地址存儲體00001H00003H...FFFFFH圖1-7

8086存儲器的分體結(jié)構(gòu)存儲單元的地址以8086/8088為CPU的系統(tǒng)中,存儲器是以字節(jié)為單位進(jìn)行線性組織的,兩個相鄰的字節(jié)被稱為一個“字”。存放數(shù)據(jù)是以“高高低低”為原則。即若是以字節(jié)(8位)為單位的,將在存儲器中按順序排列存放;若存放的數(shù)據(jù)為一個字(16位)時,則將每一個字的低字節(jié)(低8位)存放在低地址中,高字節(jié)(高8位)存放在高地址中,并以低地址作為該字的地址。00000H…20000H…34H12H…20001H…FFFFFH存儲器圖1-8“高高低低”原則存儲示意3.存儲器分段∶∶00000H邏輯段A起點FFFFFH邏輯段B起點邏輯段C起點邏輯段D起點邏輯段A邏輯段B邏輯段C邏輯段D圖1-9

邏輯段示意圖4.邏輯地址與物理地址存儲器中的每個存儲單元都可以用兩個形式的地址來表示,即邏輯地址和物理地址。邏輯地址

8086/8088具有20條地址總線,但CPU內(nèi)部提供地址的寄存器及算術(shù)邏輯單元ALU都是16位,只能直接處理16位地址,即尋址范圍為64K字節(jié),而達(dá)不到1M字節(jié),為解決這個問題,在8086/8088中,把1MB的存儲空間劃分成若干個邏輯段,各邏輯段的起始地址必須是能被16整除的地址,即段的起始地址的低四位二進(jìn)制數(shù)必須是0,一個段的起始地址的高16位被稱為該段的地址。段內(nèi)一個存儲單元的地址,可用相對于段起始地址的偏移量來表示,這個偏移量稱為段內(nèi)偏移地址,也稱有效地址(EA)。

CPU對存儲單元內(nèi)的數(shù)據(jù)進(jìn)行處理時,使用的是邏輯地址來指定存儲器。邏輯地址由段地址和偏移地址兩部分組成,都是用4位十六進(jìn)制數(shù)表示。邏輯地址的表示格式為:段地址:偏移地址例如,0010H:0060H,表示段地址為00100H,偏移地址為0060H。物理地址每個存儲單元都有一個物理地址,物理地址就是存儲單元的實際地址,在CPU通過總線對存儲器進(jìn)行操作時,需利用物理地址來查找所需訪問的存儲單元。上例的物理地址就是00160H。邏輯地址與物理地址的轉(zhuǎn)換關(guān)系邏輯地址與物理地址的轉(zhuǎn)換關(guān)系如圖1-10所示,即物理地址=段地址×10H+偏移地址。段寄存器值偏移量+物理地址16

位4

位16

位20

位圖1-10

物理地址計算示意上例中,物理地址00160H=0010×10H+0060H。IOIP代碼段SI、DI

或BX、數(shù)據(jù)段堆棧段存儲器圖1-11

段寄存器和偏移地址寄存器組合關(guān)系DS

或ES0000SS0000SP

或BP存儲器存取方式段隱含段替換偏移地址取指令CS不可IP堆棧操作SS不可SP一般數(shù)據(jù)存取DSES、CS、SS有效地址EABP

間址尋址數(shù)據(jù)存取SSES、CS、DS有效地址EA字符串操作(源地址)DSES、SS、DSSI字符串操作(目的地址)ES不可DI表1-2

段隱含與替換規(guī)則1.3

80x86系列微處理器簡介80286處理器1982年,Intel(英特爾)公司在8086的基礎(chǔ)上,研制出了80286微處理器,該微處理器的最大主頻為20MHz,內(nèi)、外部數(shù)據(jù)傳輸均為16位,使用

24位內(nèi)存儲器的尋址,內(nèi)存尋址能力為16MB。80286是Intel首個具有完全兼容性的處理器,即所有為286以前的Intel的處理器寫的程序均可運行在80286微處理器上。這種軟件的兼容是Intel微處理器發(fā)展過程中的一個里程碑。80286的主要特性增加地址線,使內(nèi)存容量提高。具有兩種地址方式:實地址方式和虛地址保護(hù)方式。尋址方式更加豐富(24種)??梢酝瑫r運行多個任務(wù)。使用虛擬內(nèi)存。三種類型中斷:硬件中斷、軟件中斷的異常中斷。增加了高級類指令、執(zhí)行環(huán)境操作類指令和保護(hù)類指令。時鐘頻率提高80286的內(nèi)部結(jié)構(gòu)80286由地址部件AU、指令部件IU、總線部件BU和執(zhí)行部件EU組成,如圖1-12所示。由于CPU內(nèi)部這4個部件并行操作,提高了吞吐率,加快了處理速度,所以80286的速度比8086快得多。80286的兩種工作方式80286可工作于兩種方式,一種是實地址方式,另一種是虛地址保護(hù)方式。在實地址方式下,微處理器可以訪問的內(nèi)存限制在1M字節(jié),物理地址的計算方法與8086相同,設(shè)置此方式的目的就是為了與8086兼容。在實地址方式下,80286只是相當(dāng)于一個快速的8086,沒有真正發(fā)揮其功能。在虛地址保護(hù)方式之下,80286可直接訪問16M字節(jié)的內(nèi)存。此外,80286工作在虛地址保護(hù)方式之下,可以保護(hù)操作系統(tǒng),使之不像實模式或8086等不受保護(hù)的微處理器那樣,在遇到異常應(yīng)用時會使系統(tǒng)停機(jī)。偏移量加法器段基址段大小段界限檢查器物理地址

加法器地址鎖存和驅(qū)動器處理器擴(kuò)充接口總線控制數(shù)據(jù)收發(fā)器6

字節(jié)預(yù)取隊列ALU寄存器控制3譯碼指令隊列指令譯碼器總線部件BU指令部件IU執(zhí)行部件EU地址部件AUBHE,M/IOPEACKPEREQREADY,HOLDRESETCLKVssVccCAPNMIINTRERRORBUSYA23~

A0S0S1

,COD/INTALOCK,HLDAD15~

D0預(yù)取器圖1-12

80286處理器內(nèi)部結(jié)構(gòu)1.3.2

80386處理器1985年,Intel發(fā)布了80386微處理器。該處理器是一種革命性的產(chǎn)品。它是一個32位的芯片,擁有27.5萬顆晶體管,每秒可以處理500萬條指令,并且可以運行所有流行的操作系統(tǒng)包括Windows。同時,它還是一個多任務(wù)的微處理器,也就是說,它可以同時處理多個程序。Intel80386微處理器內(nèi)含晶體管數(shù)比4004多了100倍以上。80386的主要特性靈活的32位微處理器,提供32位的指令。提供32位外部總線接口,最大數(shù)據(jù)傳輸速率為32Mbps。具有片內(nèi)集成的存儲器管理部件MMU,可支持虛擬存儲和特權(quán)保護(hù)。具有實地址方式、保護(hù)方式和虛擬8086方式三種工作方式。尋址空間大。通過配用數(shù)值協(xié)處理器可支持高速數(shù)值處理。2.80386的內(nèi)部結(jié)構(gòu)Intel使用“類80286”結(jié)構(gòu),開發(fā)80387微處理器增強(qiáng)了浮點運算能力,開發(fā)高速緩存解決了內(nèi)存速度瓶頸。80386由六大部件組成:總線接口部件、代碼預(yù)取部件、指令譯碼部件、執(zhí)行部件、存儲器管理部件和控制部件,如圖1-13所示??偩€接口部件使CPU與外部系統(tǒng)總線相連接,并控制進(jìn)出

CPU的所有地址、數(shù)據(jù)和控制信號;代碼預(yù)取部件從存儲器中以4個字節(jié)為單位預(yù)取指令,將它存放在16字節(jié)的預(yù)取隊列中;指令譯碼部件則從預(yù)取指令隊列中按順序取出指令,產(chǎn)生執(zhí)行其操作的相應(yīng)微碼指針;執(zhí)行部件執(zhí)行按此指針指示的微碼以完成相應(yīng)的指令操作;存儲器管理部件對內(nèi)存單元實施分段和分頁管理;控制部件用來協(xié)調(diào)整個CPU內(nèi)部工作。通常80386比80286執(zhí)行速度快3~4倍。控制部件測試部件分段描述符超高速緩存器分段部件分頁描述符超高速

緩存器分頁部件總線接口預(yù)取隊列預(yù)取單元32

位寄存器組桶形移位器ALU指令譯碼指令隊列32

位地址總線32

位數(shù)據(jù)總線控制總線NPX接口中斷復(fù)位圖1-13

80386處理器內(nèi)部結(jié)構(gòu)3.80386的工作方式80386微處理器有實地址方式、保護(hù)方式和虛擬8086方式

3種工作方式。實地址方式:實地址方式的工作原理與8086基本相同,其主要區(qū)別是32位微處理器能處理32位數(shù)據(jù)。保護(hù)方式:保護(hù)方式下,CPU可訪問232字節(jié)的物理存儲空間,段長為232字節(jié),而且還可以實施保護(hù)功能;32位微處理器為了支持多任務(wù)操作系統(tǒng),以4個特權(quán)級來隔離或保護(hù)各用戶及操作系統(tǒng)。虛擬8086方式:在虛擬方式下,運行8086程序可以盡量利用32位微處理器的保護(hù)機(jī)構(gòu)。尤其是32位微處理器允許同時執(zhí)行8086的操作系統(tǒng)及其應(yīng)用程序和32位微處理器操作系統(tǒng)的應(yīng)用程序。4.80386的寄存器與8086相比,80386寄存器組是8086寄存器組的超集,除了將原有寄存器擴(kuò)展為32位外,還增加了許多新的寄存器,可分為通用寄存器組、段寄存器、指令指針及標(biāo)志寄存器、系統(tǒng)地址寄存器、控制寄存器、調(diào)試寄存器和測試寄存器。通用寄存器80386的通用寄存器由8086的16位擴(kuò)充到32位,分別命名為EAX、EBX、ECX、EDX、ESI、EDI、EBP及

ESP。為了保持在寄存器級的向下兼容,它們的低16位AX、BX、CX、DX、SI、DI、BP、SP可單獨使用,而AX、BX、CX、DX的高、低8位也可以單獨使用。段寄存器80386段寄存器除了有CS、SS、DS、ES外,還增加了FS和GS兩個新的段寄存器,因此減輕了ES和DS的壓力。指令指針和標(biāo)志寄存器80386的指令寄存器擴(kuò)展到32位,即EIP。EIP的低16位是指令指針I(yè)P,這與先前是相同的。80386的標(biāo)志寄存器也擴(kuò)展到了32位,即EFLAGS,與8086/8088相比,增加了IO、NT、RF、VM4個控制標(biāo)志,它們在實地址方式下不發(fā)揮作用。①IO特權(quán)標(biāo)志IOPL(Input/Output

Privilege

Level,位13~12)在保護(hù)模式下,對I/O端口的訪問有一定限制,為此設(shè)置了IOPL。IOPL也分4級:00~11,00級級別最高,11級級別最低。②嵌套任務(wù)標(biāo)志NT(Nested

Task,位14)該標(biāo)志位用來表示當(dāng)前的任務(wù)是否嵌套在另一個任務(wù)中。該位為1時,說明當(dāng)前的任務(wù)嵌套在另一個任務(wù)中,否則該位為0。③恢復(fù)標(biāo)志RF(Resume

Flag,位16)該標(biāo)志位和調(diào)試寄存器一起用于調(diào)試。當(dāng)該位被置1時,即使遇到斷點或調(diào)試故障,也不會產(chǎn)生異常中斷。④虛擬8086模式標(biāo)志VM(virtual

8086

Mode,位17)該標(biāo)志位為1表示80386工作于虛擬86模式下。控制寄存器80386內(nèi)部有4個32位的控制寄存器(Control

Register,CR):CR0~CR3,用來保存機(jī)器的各種全局性狀態(tài),

CR1為Intel公司保留。調(diào)試寄存器和測試寄存器在80386芯片內(nèi)有8個32位的調(diào)試寄存器DR7~DR0(Debug

Register

,DR)。它們?yōu)檎{(diào)試程序提供了方便。DR3~DR0

、DR6~DR7供程序員進(jìn)行調(diào)試,

DR4、DR5為Intel公司保留。在80386芯片內(nèi)還有2個32位的測試寄存器(TestRegister,TR)TR6和TR7。用于存放需要測試的數(shù)據(jù)。1.3.3

80486處理器1989年,Intel推出80486微處理器,該芯片集成了120萬顆晶體管,使用1微米的制造工藝,80486的時鐘頻率從25MHz逐步提高到33MHz、40MHz、50MHz。80486的主要特性首次增加RISC技術(shù)。芯片上集成部件多。數(shù)據(jù)高速緩存、浮點運算部件、分頁虛擬存儲管理和80387數(shù)值協(xié)處理器等多個部件。高性能的設(shè)計。完全的32位體系結(jié)構(gòu)。支持多處理器。具有機(jī)內(nèi)自測試功能,可以廣泛地測試片上邏輯電路、超高速緩存和片上分頁轉(zhuǎn)換高速緩存。80486的內(nèi)部結(jié)構(gòu)Intel80486由總線接口、高速緩存、指令預(yù)取、指令譯碼、控制部件、算術(shù)邏輯運算、浮點運算、分段和分頁9大部分組成。這些部件可以重疊工作,構(gòu)成五級流水線,如圖1-14所示??偩€接口部件負(fù)責(zé)CPU的內(nèi)部單元與外部數(shù)據(jù)總線之間的信息交換,取指令和數(shù)據(jù)傳送等,并產(chǎn)生相應(yīng)的總線控制信號;指令預(yù)取部件負(fù)責(zé)從高速緩存中取出指令并放入指令隊列;指令譯碼部件負(fù)責(zé)從指令預(yù)取隊列中取出指令進(jìn)行譯碼;控制部件負(fù)責(zé)從指令譯碼器隊列中取出指令微碼地址,并解釋執(zhí)行該指令微碼;算術(shù)邏輯運算部件負(fù)責(zé)執(zhí)行控制器所規(guī)定的算術(shù)與邏輯運算;浮點運算部件能夠完成對數(shù)、指數(shù)等復(fù)雜函數(shù)運算;高速緩存部件具有緩沖存儲作用,其速度幾乎能夠與CPU匹配;分段和分頁部件實現(xiàn)對存儲器的管理。桶形移位器ALU整數(shù)部件描述符寄存器極限/屬性PLA分段部件分頁部件轉(zhuǎn)移用旁視緩沖區(qū)

TLB高速緩存部件8KB

高速緩存地址總線驅(qū)動器數(shù)據(jù)總線收發(fā)器總線控制器指令譯碼部件已譯碼隊列浮點運算部件浮點寄存器組指令預(yù)取部件32字節(jié)指令隊列控制ROMA31~

A2各種控制信號控制/保護(hù)部件D31~

D0寄存器組BE0~

BE1圖1-14

80486處理器內(nèi)部結(jié)構(gòu)1.3.4

奔騰及以上處理器1993年,Intel推出586微處理器,為了擺脫486時代微處理器名稱,Intel公司把新一代產(chǎn)品命名為Pentium(奔騰)以區(qū)別AMD和Cyrix的產(chǎn)品。Pentium最初級的CPU是Pentium

60和Pentium

66,分別工作在與系統(tǒng)總線頻率相同的

60MHz和66MHz兩種頻率下。Pentium

II處理器內(nèi)含750萬顆晶體管,結(jié)合了Intel

MMX技術(shù),能以極高的效率處理影片、音效、以及繪圖資料,首次采用Single

Edge

Contact

(S.E.C)匣型封裝,內(nèi)建了高速快取記憶體。1999年,Intel

溫馨提示

  • 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

提交評論