版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
匯編語(yǔ)言程序?qū)嵱媒坛虖埡甑?章
微型計(jì)算機(jī)系統(tǒng)微型計(jì)算機(jī)(
puter)簡(jiǎn)稱“微型機(jī)”、“微機(jī)”,也稱“微電腦”,是指以微處理器為基礎(chǔ),配以內(nèi)存儲(chǔ)器及輸入輸出(I/O)接口電路和相應(yīng)的輔助電路而構(gòu)成的裸機(jī)。由微型計(jì)算機(jī)配以相應(yīng)的外圍設(shè)備(如打印機(jī)、顯示器、磁盤機(jī)和磁帶機(jī)等)及其他專用電路、電源、面板、機(jī)架以及足夠的軟件構(gòu)成的系統(tǒng)叫做微型計(jì)算機(jī)系統(tǒng)(
puterSystem)。1.1微型計(jì)算機(jī)系統(tǒng)硬件結(jié)構(gòu)1.1.1
微型計(jì)算機(jī)系統(tǒng)的基本組成微型計(jì)算機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備五大部分組成。其中存儲(chǔ)器又分主存儲(chǔ)器、輔助存儲(chǔ)器,通常我們把輸入設(shè)備及輸出設(shè)備統(tǒng)稱為外圍設(shè)備,而運(yùn)算器和控制器又稱為中央處理器——CPU(Central
Processing
Unit)運(yùn)算器存儲(chǔ)器控制器輸入設(shè)備輸出設(shè)備圖1-1
微型計(jì)算機(jī)硬件系統(tǒng)邏輯結(jié)構(gòu)1.運(yùn)算器運(yùn)算器是計(jì)算機(jī)中處理數(shù)據(jù)的核心部件,主要由執(zhí)行算術(shù)運(yùn)算和邏輯運(yùn)算的算術(shù)邏輯單元ALU(Arithmetic
Logic
Unit)、存放操作數(shù)和中間結(jié)果的寄存器組以及連接各部件的數(shù)據(jù)通路組成,用以完成各種算術(shù)運(yùn)算和邏輯運(yùn)算。在運(yùn)算過(guò)程中,運(yùn)算器不斷得到由主存儲(chǔ)器提供的數(shù)據(jù),運(yùn)算后又把結(jié)果送回到主存儲(chǔ)器保存起來(lái)。整個(gè)運(yùn)算過(guò)程是在控制器的統(tǒng)一指揮下,按程序中編排的操作順序進(jìn)行的。2.控制器控制器是計(jì)算機(jī)中控制管理的核心部件。主要由
程序計(jì)數(shù)器(PC)、指令寄存器(IR)、指令譯碼器(ID)、時(shí)序控制電路和微操作控制電路等
組成,在系統(tǒng)運(yùn)行過(guò)程中,不斷地生成指令地址、取出指令、分析指令、向計(jì)算機(jī)的各個(gè)部件發(fā)出
微操作控制信號(hào),指揮各個(gè)部件高速協(xié)調(diào)地工作。中央處理器(CPU)是計(jì)算機(jī)的核心部件。CPU和主存儲(chǔ)器是信息加工處理的主要部件,通常把這兩個(gè)部分合稱為主機(jī)。3.存儲(chǔ)器存儲(chǔ)器是用來(lái)存儲(chǔ)數(shù)據(jù)和程序的部件。根據(jù)功能的不同,存儲(chǔ)器一般分為主存儲(chǔ)器和輔存儲(chǔ)器兩種類型。主存儲(chǔ)器主存儲(chǔ)器(又稱為內(nèi)存儲(chǔ)器,簡(jiǎn)稱為主存或內(nèi)存)用來(lái)存放正在運(yùn)行的程序和數(shù)據(jù),可直接與運(yùn)算器及控制器交換信息。按照存取方式,主存儲(chǔ)器又可分為隨機(jī)存取存儲(chǔ)器(RandomAccessMemory,RAM)和只讀存儲(chǔ)器(Read
Only
Memory,ROM)兩種。主存儲(chǔ)器由許多存儲(chǔ)單元組成,全部存儲(chǔ)單元按一定順序編號(hào),稱為存儲(chǔ)器的地址。存儲(chǔ)器采取按地址存(寫)?。ㄗx)的工作方式,每個(gè)存儲(chǔ)單元存放一個(gè)單位長(zhǎng)度的信息。輔存儲(chǔ)器輔存儲(chǔ)器(又稱為外存儲(chǔ)器,簡(jiǎn)稱為輔存或外存)是用來(lái)存放多種大信息量的程序和數(shù)據(jù),可以長(zhǎng)期保存,其特點(diǎn)是存儲(chǔ)容量大、成本低,但存取速度相對(duì)較慢。4.輸入/輸出設(shè)備輸入/輸出設(shè)備(簡(jiǎn)稱I/O設(shè)備)又稱為外部設(shè)備,它是與計(jì)算機(jī)主機(jī)進(jìn)行信息交換,實(shí)現(xiàn)人機(jī)交互的硬件環(huán)境。輸入設(shè)備用于輸入人們要求計(jì)算機(jī)處理的數(shù)據(jù)、字符、文字、圖形、圖像、聲音等信息,以及處理這些信息所必需的程序,并把它們轉(zhuǎn)換成計(jì)算機(jī)能接受的形式(二進(jìn)制代碼)。常見(jiàn)的輸入設(shè)備有鍵盤、鼠標(biāo)、掃描儀、光筆、手寫板、麥克風(fēng)(輸入語(yǔ)音)等。輸出設(shè)備用于將計(jì)算機(jī)處理結(jié)果或中間結(jié)果,以人們可識(shí)別的形式(如顯示、打印、繪圖)表達(dá)出來(lái)。常見(jiàn)的輸出設(shè)備有顯示器、打印機(jī)、繪圖儀、音響設(shè)備等。輔(外)存儲(chǔ)器可以把存放的信息輸入到主機(jī),主機(jī)處理后的數(shù)據(jù)也可以存儲(chǔ)到輔(外)存儲(chǔ)器中。因此,輔(外)存儲(chǔ)設(shè)備既可以作為輸入設(shè)備,也可以作為輸出設(shè)備。1.1.2微型計(jì)算機(jī)系統(tǒng)的系統(tǒng)結(jié)構(gòu)存儲(chǔ)總線系統(tǒng)總線微處理器CPU存儲(chǔ)器(主存)輸入輸出接口I/O
電路外部設(shè)備時(shí)鐘信號(hào)圖1-2
微型計(jì)算機(jī)硬件系統(tǒng)結(jié)構(gòu)1.微處理器隨著人類科學(xué)技術(shù)水平的發(fā)展和提高,20世紀(jì)60年代末,半導(dǎo)體技術(shù)、微電子制作工藝有了突破性的發(fā)展,在此技術(shù)前提下,將計(jì)算機(jī)的運(yùn)算器、控制器以及相關(guān)的部件集中制作在同一塊大規(guī)?;虺笠?guī)模集成電路上,即構(gòu)成了整體的中央處理器,由于處理器的體積大大減小了,故稱為微處理器。習(xí)慣上一般把微處理器直接稱為CPU。1971年Intel公司研制推出的4004處理器芯片,標(biāo)志著微處理器的誕生。之后的30多年來(lái),微處理器不斷向更高的層次發(fā)展,由最初的4004處理器(字長(zhǎng)4位,主頻
1MHz),發(fā)展到現(xiàn)在的Pentium
IV處理器(字長(zhǎng)64位,主頻3.6GHz或更高)。2.系統(tǒng)總線總線是將計(jì)算機(jī)各個(gè)部件聯(lián)系起來(lái)的一組公共信號(hào)線。采用總線結(jié)構(gòu)形式,具有系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、系統(tǒng)擴(kuò)展及更新容易、可靠性高等優(yōu)點(diǎn),但由于必須在部件之間采用分時(shí)傳送操作,因而降低了系統(tǒng)的工作速度。微機(jī)的系統(tǒng)結(jié)構(gòu)中,連接各大部件之間的總線稱為系統(tǒng)總線。系統(tǒng)總線根據(jù)傳送的信號(hào)類型,分為數(shù)據(jù)總線、地址總線和控制總線三部分。數(shù)據(jù)總線數(shù)據(jù)總線(Data
BUS,DB)是傳送數(shù)據(jù)和指令代碼的信號(hào)線。數(shù)據(jù)總線是雙向的,即數(shù)據(jù)可傳送至CPU,也可從CPU傳送到其他部件。地址總線地址總線(Address
BUS,AB)是傳送CPU所要訪問(wèn)的存儲(chǔ)單元或輸入/輸出接口地址的信號(hào)線。地址總線是單向的,因而通常地址總線是將地址從CPU傳送給存儲(chǔ)器或輸入/輸出接口??刂瓶偩€控制總線(Control
BUS,CB)是管理總線上活動(dòng)的信號(hào)線??刂瓶偩€中的信號(hào)是用來(lái)實(shí)現(xiàn)CPU對(duì)其他部件的控制、狀態(tài)等信息的傳送以及中斷信號(hào)的傳送等。3.微型計(jì)算機(jī)和個(gè)人計(jì)算機(jī)根據(jù)微處理器的應(yīng)用領(lǐng)域,微處理器大致可以分為三類:通用高性能微處理器、嵌入式微處理器和微控制器。一般而言,通用處理器追求高性能,用于運(yùn)行通用軟件,配備完備、復(fù)雜的操作系統(tǒng);嵌入式微處理器強(qiáng)調(diào)處理特定應(yīng)用問(wèn)題,用于運(yùn)行面向特定領(lǐng)域的專用程序,配備輕量級(jí)操作系統(tǒng),如移動(dòng)電話、PDA(Personal
DigitalAssistant,個(gè)人數(shù)字助理)等電子設(shè)備;微控制器價(jià)位相對(duì)較低,在微處理器市場(chǎng)上需求量最大,主要用于汽車、空調(diào)、自動(dòng)機(jī)械等領(lǐng)域的自控設(shè)備。通常所說(shuō)的微型計(jì)算機(jī),其實(shí)特指的是以通用高性能微處理器為核心,配以存儲(chǔ)器和其他外設(shè)部件,并裝載完備的軟件系統(tǒng)的通用微型計(jì)算機(jī),簡(jiǎn)稱微機(jī)。1.1.3微型計(jì)算機(jī)系統(tǒng)的性能指標(biāo)字長(zhǎng)字長(zhǎng)是指CPU能夠同時(shí)處理的比特(bit)數(shù)目。它直接關(guān)系到計(jì)算機(jī)的計(jì)算精度、功能和速度。字長(zhǎng)越長(zhǎng),計(jì)算精度越高,處理能力越強(qiáng)。目前微型機(jī)字長(zhǎng)有8位、16位、32位、64位。主頻主頻即CPU的時(shí)鐘頻率(CPU
Clock
Speed),是CPU內(nèi)核(整數(shù)和浮點(diǎn)數(shù)運(yùn)算器)電路的實(shí)際運(yùn)行頻率。一般稱為CPU運(yùn)算時(shí)的工作頻率,簡(jiǎn)稱主頻。主頻越高,單位時(shí)間內(nèi)完成的指令數(shù)也越多。目前主流的微型機(jī)CPU主頻是3.0GHz、3.2GHz。運(yùn)算速度由于計(jì)算機(jī)執(zhí)行不同的運(yùn)算所需的時(shí)間不同,只能用等效速度或平均速度來(lái)衡量。一般以計(jì)算機(jī)單位時(shí)間內(nèi)執(zhí)行的指令條數(shù)表示運(yùn)算速度。單位是MIPS(每秒百萬(wàn)條指令數(shù))。內(nèi)存容量?jī)?nèi)存容量是指內(nèi)存儲(chǔ)器中能夠存儲(chǔ)信息的總字節(jié)數(shù),以KB、MB、GB為單位,反映了內(nèi)存儲(chǔ)器存儲(chǔ)數(shù)據(jù)的能力。內(nèi)存容量的大小直接影響計(jì)算機(jī)的整體性能。存取周期存取周期是指對(duì)內(nèi)存進(jìn)行一次讀/寫(取數(shù)據(jù)/存數(shù)據(jù))訪問(wèn)操作所需的時(shí)間。1.1.4
微型計(jì)算機(jī)系統(tǒng)的性能評(píng)價(jià)系統(tǒng)的兼容性系統(tǒng)的兼容性一般包括硬件的兼容、數(shù)據(jù)和文件的兼容、系統(tǒng)程序和應(yīng)用程序的兼容、硬件和軟件的兼容等。對(duì)于用戶而言,兼容性越好,則越便于硬件和軟件的維護(hù)和使用;對(duì)機(jī)器而言,更有利于機(jī)器的普及和推廣。系統(tǒng)的可靠性和可維護(hù)性系統(tǒng)的可靠性是指系統(tǒng)在正常條件下不發(fā)生故障或失效的概率,一般用平均無(wú)故障時(shí)間來(lái)衡量。系統(tǒng)的可維護(hù)性指系統(tǒng)出了故障能否盡快恢復(fù),一般用平均修復(fù)時(shí)間來(lái)衡量。外設(shè)配置外設(shè)包括計(jì)算機(jī)的輸入和輸出設(shè)備,不同的外設(shè)配置將影響計(jì)算機(jī)性能的發(fā)揮。例如,顯示器有高、中、低分辨率之分,若使用分辨率較低的顯示器,將難以準(zhǔn)確還原顯示高質(zhì)量的圖片;硬盤的存儲(chǔ)量大小不同,選用低容量的硬盤,則系統(tǒng)就無(wú)法滿足大信息量的存儲(chǔ)需求。軟件配置軟件配置包括操作系統(tǒng)、工具軟件、程序設(shè)計(jì)語(yǔ)言、數(shù)據(jù)庫(kù)管理系統(tǒng)、網(wǎng)絡(luò)通信軟件、漢字軟件及其他各種應(yīng)用軟件等。計(jì)算機(jī)只有配備了必需的系統(tǒng)軟件和應(yīng)用軟件,才能高效率地完成相關(guān)任務(wù)。性能價(jià)格比性能一般指計(jì)算機(jī)的綜合性能,包括硬件、軟件等各方面;價(jià)格指購(gòu)買整個(gè)計(jì)算
機(jī)系統(tǒng)的價(jià)格,包括硬件和軟件的價(jià)格。購(gòu)買時(shí)應(yīng)該從性能、價(jià)格兩方面來(lái)考慮。性能價(jià)格比越高越好。1.2
8086/8088微處理器1.2.18086/8088微處理器的結(jié)構(gòu)8086主要特性16位微處理器,采用高速運(yùn)算性能的HMOS工藝制造,芯片上集成了2.9萬(wàn)只晶體管;40條引腳雙列直插式封裝;時(shí)鐘頻率為5MHz~10MHz,基本指令執(zhí)行時(shí)間為0.3μs~0.6μs;16根數(shù)據(jù)線和20根地址線,可尋址的地址空間達(dá)1MB;8086可以和浮點(diǎn)運(yùn)算器、I/O處理器或其他處理器組成多處理器系統(tǒng),極大提高了系統(tǒng)的數(shù)據(jù)吞吐能力和數(shù)據(jù)處理能力;使用單一的+5V電源。2.8086微處理器的邏輯結(jié)構(gòu)8086微處理器分成兩大功能部件,即執(zhí)行部件(executionunit,EU)和總線接口部件(businterfaceunit,BIU),二者既可以協(xié)同工作又可以各自獨(dú)立工作。20
位總線控制邏輯8086總線狀態(tài)標(biāo)志寄存器∑AXBXCXDXALU
數(shù)據(jù)總線(16
位)暫存器ALU控制電路123456CSDSSSESIP內(nèi)部暫存器地址加法器指令隊(duì)列AHALBHBLCHCLDHDLSPBPSIDI16
位執(zhí)行部件
EU
總線接口部件
BIU圖1-3 8086微處理器的邏輯結(jié)構(gòu)(1)執(zhí)行部件EU執(zhí)行部件由一個(gè)16位的算術(shù)邏輯單元(ALU),8個(gè)16位的通用寄存器,一個(gè)16位的狀態(tài)標(biāo)志寄存器,一個(gè)數(shù)據(jù)暫存寄存器和執(zhí)行部件的控制電路組成。EU是程序中各條指令執(zhí)行的核心,完成從
BIU的指令隊(duì)列中取出指令代碼,經(jīng)指令譯碼器譯碼后執(zhí)行指令所規(guī)定的全部功能。執(zhí)行指令所得結(jié)果或執(zhí)行指令所需的數(shù)據(jù),都由EU向BIU發(fā)出命令,對(duì)存儲(chǔ)器或I/O接口進(jìn)行讀/寫操作。(2)總線接口部件BIU總線接口部件BIU由四個(gè)16位段地址寄存器(代碼段寄存器CS、數(shù)據(jù)段寄存器DS、堆棧段寄存器SS和附加段寄存器ES)、一個(gè)16位指令指針寄存器IP、一個(gè)6字節(jié)指令隊(duì)列緩沖器、20位地址加法器和總線控制電路組成。BIU負(fù)責(zé)與存儲(chǔ)器、
I/O接口電路連接,根據(jù)執(zhí)行部件EU的請(qǐng)求,完成CPU與存儲(chǔ)器或I/O設(shè)備之間的數(shù)據(jù)傳送。(3)EU和BIU的關(guān)系EU和BIU這兩個(gè)功能部件既可以協(xié)同工作又可以各自獨(dú)立工作的。大多數(shù)情況下,EU的執(zhí)行指令操作與BIU的取指令操作是在時(shí)間上重疊的,即
EU執(zhí)行某條指令操作時(shí),BIU可同時(shí)進(jìn)行后繼指令的取指令操作,形成指令的流水線,如圖1-4所示。這樣,減少了CPU取指令的等待時(shí)間,加快了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的指令隊(duì)列有6個(gè)字節(jié),而8088的指令隊(duì)列有4個(gè)字節(jié)。8086數(shù)據(jù)總線為16位,而8088數(shù)據(jù)總線為8為。1.2.28086/8088的寄存器8086/8088CPU中可供編程使用的有14個(gè)16位寄存器,按其用途可分為3類:通用寄存器、段寄存器、指針和標(biāo)志寄存器。累加器基址寄存器AHALBHBLCHCLDHDLSPBPSIDIIPFLAGSCSDSSSES計(jì)數(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ù)寄存器一般用來(lái)存放16位數(shù)據(jù),主要用來(lái)保存操作數(shù)或運(yùn)算結(jié)果等信息,數(shù)據(jù)寄存器節(jié)省了為存取操作數(shù)所需占用總線和訪問(wèn)存儲(chǔ)器的時(shí)間。數(shù)據(jù)寄存器包括4個(gè)16位的寄存器AX(Accumulator,累加器)、BX(Base,基址寄存器)、CX(Counter,計(jì)數(shù)寄存器)和DX(Data,數(shù)據(jù)寄存器),其中的每一個(gè)又可根據(jù)需要將高8位和低8位分成獨(dú)立的兩個(gè)8位寄存器來(lái)使用,即AH、BH、CH、DH和AL、BL、CL、DL兩組,用于存放8位數(shù)據(jù),它們均可獨(dú)立尋址、獨(dú)立使用。一般使用AX和AL進(jìn)行操作最為普遍;BX是四個(gè)數(shù)據(jù)寄存器中惟一可作為存儲(chǔ)器指針使用的寄存器;CX在字符串操作和循環(huán)操作時(shí),用它來(lái)控制重復(fù)循環(huán)的次數(shù),在移位操作時(shí),CL寄存器用于保存移位的位數(shù);用使DX在進(jìn)行32位的乘除法操作時(shí),用它來(lái)存放被除數(shù)的高
16位或余數(shù),也用于存放I/O端口的地址。(2)地址指針寄存器地址指針寄存器主要用于存放某個(gè)存儲(chǔ)單元地址的偏移,或某組存儲(chǔ)單元開(kāi)始地址的偏移,即作為存儲(chǔ)器指針使用,作為通用寄存器,用于保存16位算術(shù)邏輯運(yùn)算中的操作數(shù)和運(yùn)算結(jié)果,有時(shí)運(yùn)算結(jié)果就是需要的存儲(chǔ)單元地址的偏移。地址指針寄存器不能分解成8位寄存器使用。地址指針寄存器包括指針寄存器SP(Stack
Pointer,堆棧指針)、BP(BasePointer,基址指針)和變址寄存器SI(SourceIndex,源變址寄存器)、DI(Destination
Index,目的變址寄存器),都是16位寄存器,一般用來(lái)存放地址的偏移量,其中,SP用于存放堆棧段
中棧頂單元的偏移量;BP用于存放堆棧段中某一存儲(chǔ)單元的偏移量;SI用于存放數(shù)據(jù)段中某源操作數(shù)所在存儲(chǔ)單元相對(duì)段首地址的偏移量;DI用于存放數(shù)據(jù)段中某目的操作數(shù)所在存儲(chǔ)單元的偏移量。表1-1
通用寄存器的專門用途寄存器用
途AX字乘,字除,字I/OAL字節(jié)乘,字節(jié)除,字節(jié)I/O,查表轉(zhuǎn)換,十進(jìn)制運(yùn)算AH字節(jié)乘,字節(jié)除BX存儲(chǔ)器指針CX數(shù)據(jù)串操作指令,循環(huán)指令CL變量移位,循環(huán)移位DX字乘,字除,間接I/OSI數(shù)據(jù)串操作指令,源指針DI數(shù)據(jù)串操作指令,目的指針BP存儲(chǔ)器指針,存取堆棧的指針SP堆棧指針2.控制寄存器指令指針I(yè)P
指令指針寄存器IP(InstructionPointer)是一個(gè)16位的寄存器,類似于8080/8085中的程序計(jì)數(shù)器PC(Program
Counter),IP存放EU要執(zhí)行的下一條指令的偏移地址,用以控制程序中指令的執(zhí)行順序,實(shí)現(xiàn)對(duì)代碼段指令的跟蹤。實(shí)際上接著要執(zhí)行的指令已被預(yù)取到指令隊(duì)列,除非發(fā)生轉(zhuǎn)移。在理解IP功能時(shí),可不考慮指令隊(duì)列。標(biāo)志寄存器
8086/8088CPU中有一個(gè)16位的標(biāo)志寄存器,共9個(gè)標(biāo)志,用于反映處理器的狀態(tài)和運(yùn)算結(jié)果的某些特征,其中6個(gè)用作狀態(tài)標(biāo)志,主要受加減運(yùn)算和邏輯運(yùn)算結(jié)果的影響,3個(gè)用作控制標(biāo)志,不受運(yùn)算結(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)位或借位時(shí),CF=1,否則為0。在進(jìn)行多字節(jié)運(yùn)算、比較無(wú)符號(hào)數(shù)的大小和移位操作時(shí),用到該標(biāo)志。CF也常作為子程序的出口參數(shù)之一。奇偶標(biāo)志(ParityFlag,PF):操作結(jié)果低八位中含1的個(gè)數(shù)為偶數(shù)時(shí)PF=1,否則為0。利用PF可以進(jìn)行奇偶校驗(yàn)檢查,或產(chǎn)生奇偶校驗(yàn)位。輔助進(jìn)位標(biāo)志(Auxiliary
Carry
Flag,AF):在進(jìn)行算術(shù)運(yùn)算時(shí),如低字節(jié)中低四位產(chǎn)生進(jìn)位或借位時(shí)AF=1,否則為0。十進(jìn)制算
術(shù)運(yùn)算調(diào)整指令自動(dòng)根據(jù)該標(biāo)志產(chǎn)生相應(yīng)的調(diào)整動(dòng)作。零標(biāo)志位(Zero
Flag,ZF):當(dāng)操作結(jié)果為0時(shí),ZF=1,否則為
0。在判斷運(yùn)算結(jié)果是否為0時(shí),用到該標(biāo)志。符號(hào)標(biāo)志(SignFlag,SF):操作結(jié)果看作有符號(hào)數(shù)時(shí),結(jié)果為負(fù),SF=1,否則為0。該標(biāo)志用于反映運(yùn)算結(jié)果的符號(hào)位溢出標(biāo)志(OverflowFlag,OF):當(dāng)運(yùn)算結(jié)果超出補(bǔ)碼表示數(shù)的范圍時(shí),即溢出,此時(shí)OF=1,否則為0。該標(biāo)志用于反映有符號(hào)數(shù)加減運(yùn)算是否引起溢出。控制標(biāo)志單步標(biāo)志(Trap
Flag,TF):當(dāng)TF=1時(shí),
CPU在執(zhí)行完一條指令后產(chǎn)生單步中斷,然后由單步中斷服務(wù)程序把TF置0。單步中斷主要用于程序的調(diào)試。中斷允許標(biāo)志(Interrupt
Flag,IF):當(dāng)IF=1
時(shí),允許CPU響應(yīng)可屏蔽外中斷請(qǐng)求;IF=0時(shí),禁止CPU響應(yīng)可屏蔽外中斷。方向標(biāo)志(DirectionFlag,DF):用于串操作指令。DF=0時(shí),串操作的地址指針自動(dòng)遞增;
DF=1時(shí),串操作的地址指針自動(dòng)遞減。3.段寄存器8086/8088CPU共有4個(gè)16位的段寄存器,用來(lái)存放每一個(gè)邏輯段的段起始地址。8086/8088CPU依賴其內(nèi)部的4個(gè)段寄存器實(shí)現(xiàn)尋址1M
字節(jié)的物理空間。
8086/8088把1M字節(jié)地址空間分成若干邏輯段,當(dāng)前使用段的段值存放在段寄存器中。4個(gè)段寄存器具體功能如下:代碼段寄存器(CodeSegment,CS):用來(lái)存放當(dāng)前代碼段(將被執(zhí)行的程序)的首地址的高
16位,首地址的低4位為0。數(shù)據(jù)段寄存器(DataSegment,DS):用來(lái)存放當(dāng)前數(shù)據(jù)段(將被執(zhí)行程序所用操作數(shù))的首地址的高16位,首地址的低4位為0。附加段寄存器(ExtraSegment,ES):用來(lái)存放當(dāng)前附加段(將被執(zhí)行的程序所用操作數(shù))的首地址的高16位,首地址的低4位為0。堆棧段寄存器(StackSegment,SS):用來(lái)存放當(dāng)前堆棧段(將被執(zhí)行程序所用堆棧)的首地址的高16位,首地址的低4位為0。1.2.3
8086/8088的存儲(chǔ)器組織存儲(chǔ)器結(jié)構(gòu)512K×8奇地址存儲(chǔ)體00000H00002H...FFFFEH512K×8偶地址存儲(chǔ)體00001H00003H...FFFFFH圖1-7
8086存儲(chǔ)器的分體結(jié)構(gòu)存儲(chǔ)單元的地址以8086/8088為CPU的系統(tǒng)中,存儲(chǔ)器是以字節(jié)為單位進(jìn)行線性組織的,兩個(gè)相鄰的字節(jié)被稱為一個(gè)“字”。存放數(shù)據(jù)是以“高高低低”為原則。即若是以字節(jié)(8位)為單位的,將在存儲(chǔ)器中按順序排列存放;若存放的數(shù)據(jù)為一個(gè)字(16位)時(shí),則將每一個(gè)字的低字節(jié)(低8位)存放在低地址中,高字節(jié)(高8位)存放在高地址中,并以低地址作為該字的地址。00000H…20000H…34H12H…20001H…FFFFFH存儲(chǔ)器圖1-8“高高低低”原則存儲(chǔ)示意3.存儲(chǔ)器分段∶∶00000H邏輯段A起點(diǎn)FFFFFH邏輯段B起點(diǎn)邏輯段C起點(diǎn)邏輯段D起點(diǎn)邏輯段A邏輯段B邏輯段C邏輯段D圖1-9
邏輯段示意圖4.邏輯地址與物理地址存儲(chǔ)器中的每個(gè)存儲(chǔ)單元都可以用兩個(gè)形式的地址來(lái)表示,即邏輯地址和物理地址。邏輯地址
8086/8088具有20條地址總線,但CPU內(nèi)部提供地址的寄存器及算術(shù)邏輯單元ALU都是16位,只能直接處理16位地址,即尋址范圍為64K字節(jié),而達(dá)不到1M字節(jié),為解決這個(gè)問(wèn)題,在8086/8088中,把1MB的存儲(chǔ)空間劃分成若干個(gè)邏輯段,各邏輯段的起始地址必須是能被16整除的地址,即段的起始地址的低四位二進(jìn)制數(shù)必須是0,一個(gè)段的起始地址的高16位被稱為該段的地址。段內(nèi)一個(gè)存儲(chǔ)單元的地址,可用相對(duì)于段起始地址的偏移量來(lái)表示,這個(gè)偏移量稱為段內(nèi)偏移地址,也稱有效地址(EA)。
CPU對(duì)存儲(chǔ)單元內(nèi)的數(shù)據(jù)進(jìn)行處理時(shí),使用的是邏輯地址來(lái)指定存儲(chǔ)器。邏輯地址由段地址和偏移地址兩部分組成,都是用4位十六進(jìn)制數(shù)表示。邏輯地址的表示格式為:段地址:偏移地址例如,0010H:0060H,表示段地址為00100H,偏移地址為0060H。物理地址每個(gè)存儲(chǔ)單元都有一個(gè)物理地址,物理地址就是存儲(chǔ)單元的實(shí)際地址,在CPU通過(guò)總線對(duì)存儲(chǔ)器進(jìn)行操作時(shí),需利用物理地址來(lái)查找所需訪問(wèn)的存儲(chǔ)單元。上例的物理地址就是00160H。邏輯地址與物理地址的轉(zhuǎn)換關(guān)系邏輯地址與物理地址的轉(zhuǎn)換關(guān)系如圖1-10所示,即物理地址=段地址×10H+偏移地址。段寄存器值偏移量+物理地址16
位4
位16
位20
位圖1-10
物理地址計(jì)算示意上例中,物理地址00160H=0010×10H+0060H。IOIP代碼段SI、DI
或BX、數(shù)據(jù)段堆棧段存儲(chǔ)器圖1-11
段寄存器和偏移地址寄存器組合關(guān)系DS
或ES0000SS0000SP
或BP存儲(chǔ)器存取方式段隱含段替換偏移地址取指令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系列微處理器簡(jiǎn)介80286處理器1982年,Intel(英特爾)公司在8086的基礎(chǔ)上,研制出了80286微處理器,該微處理器的最大主頻為20MHz,內(nèi)、外部數(shù)據(jù)傳輸均為16位,使用
24位內(nèi)存儲(chǔ)器的尋址,內(nèi)存尋址能力為16MB。80286是Intel首個(gè)具有完全兼容性的處理器,即所有為286以前的Intel的處理器寫的程序均可運(yùn)行在80286微處理器上。這種軟件的兼容是Intel微處理器發(fā)展過(guò)程中的一個(gè)里程碑。80286的主要特性增加地址線,使內(nèi)存容量提高。具有兩種地址方式:實(shí)地址方式和虛地址保護(hù)方式。尋址方式更加豐富(24種)??梢酝瑫r(shí)運(yùn)行多個(gè)任務(wù)。使用虛擬內(nèi)存。三種類型中斷:硬件中斷、軟件中斷的異常中斷。增加了高級(jí)類指令、執(zhí)行環(huán)境操作類指令和保護(hù)類指令。時(shí)鐘頻率提高80286的內(nèi)部結(jié)構(gòu)80286由地址部件AU、指令部件IU、總線部件BU和執(zhí)行部件EU組成,如圖1-12所示。由于CPU內(nèi)部這4個(gè)部件并行操作,提高了吞吐率,加快了處理速度,所以80286的速度比8086快得多。80286的兩種工作方式80286可工作于兩種方式,一種是實(shí)地址方式,另一種是虛地址保護(hù)方式。在實(shí)地址方式下,微處理器可以訪問(wèn)的內(nèi)存限制在1M字節(jié),物理地址的計(jì)算方法與8086相同,設(shè)置此方式的目的就是為了與8086兼容。在實(shí)地址方式下,80286只是相當(dāng)于一個(gè)快速的8086,沒(méi)有真正發(fā)揮其功能。在虛地址保護(hù)方式之下,80286可直接訪問(wèn)16M字節(jié)的內(nèi)存。此外,80286工作在虛地址保護(hù)方式之下,可以保護(hù)操作系統(tǒng),使之不像實(shí)模式或8086等不受保護(hù)的微處理器那樣,在遇到異常應(yīng)用時(shí)會(huì)使系統(tǒng)停機(jī)。偏移量加法器段基址段大小段界限檢查器物理地址
加法器地址鎖存和驅(qū)動(dòng)器處理器擴(kuò)充接口總線控制數(shù)據(jù)收發(fā)器6
字節(jié)預(yù)取隊(duì)列ALU寄存器控制3譯碼指令隊(duì)列指令譯碼器總線部件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)品。它是一個(gè)32位的芯片,擁有27.5萬(wàn)顆晶體管,每秒可以處理500萬(wàn)條指令,并且可以運(yùn)行所有流行的操作系統(tǒng)包括Windows。同時(shí),它還是一個(gè)多任務(wù)的微處理器,也就是說(shuō),它可以同時(shí)處理多個(gè)程序。Intel80386微處理器內(nèi)含晶體管數(shù)比4004多了100倍以上。80386的主要特性靈活的32位微處理器,提供32位的指令。提供32位外部總線接口,最大數(shù)據(jù)傳輸速率為32Mbps。具有片內(nèi)集成的存儲(chǔ)器管理部件MMU,可支持虛擬存儲(chǔ)和特權(quán)保護(hù)。具有實(shí)地址方式、保護(hù)方式和虛擬8086方式三種工作方式。尋址空間大。通過(guò)配用數(shù)值協(xié)處理器可支持高速數(shù)值處理。2.80386的內(nèi)部結(jié)構(gòu)Intel使用“類80286”結(jié)構(gòu),開(kāi)發(fā)80387微處理器增強(qiáng)了浮點(diǎn)運(yùn)算能力,開(kāi)發(fā)高速緩存解決了內(nèi)存速度瓶頸。80386由六大部件組成:總線接口部件、代碼預(yù)取部件、指令譯碼部件、執(zhí)行部件、存儲(chǔ)器管理部件和控制部件,如圖1-13所示??偩€接口部件使CPU與外部系統(tǒng)總線相連接,并控制進(jìn)出
CPU的所有地址、數(shù)據(jù)和控制信號(hào);代碼預(yù)取部件從存儲(chǔ)器中以4個(gè)字節(jié)為單位預(yù)取指令,將它存放在16字節(jié)的預(yù)取隊(duì)列中;指令譯碼部件則從預(yù)取指令隊(duì)列中按順序取出指令,產(chǎn)生執(zhí)行其操作的相應(yīng)微碼指針;執(zhí)行部件執(zhí)行按此指針指示的微碼以完成相應(yīng)的指令操作;存儲(chǔ)器管理部件對(duì)內(nèi)存單元實(shí)施分段和分頁(yè)管理;控制部件用來(lái)協(xié)調(diào)整個(gè)CPU內(nèi)部工作。通常80386比80286執(zhí)行速度快3~4倍??刂撇考y(cè)試部件分段描述符超高速緩存器分段部件分頁(yè)描述符超高速
緩存器分頁(yè)部件總線接口預(yù)取隊(duì)列預(yù)取單元32
位寄存器組桶形移位器ALU指令譯碼指令隊(duì)列32
位地址總線32
位數(shù)據(jù)總線控制總線NPX接口中斷復(fù)位圖1-13
80386處理器內(nèi)部結(jié)構(gòu)3.80386的工作方式80386微處理器有實(shí)地址方式、保護(hù)方式和虛擬8086方式
3種工作方式。實(shí)地址方式:實(shí)地址方式的工作原理與8086基本相同,其主要區(qū)別是32位微處理器能處理32位數(shù)據(jù)。保護(hù)方式:保護(hù)方式下,CPU可訪問(wèn)232字節(jié)的物理存儲(chǔ)空間,段長(zhǎng)為232字節(jié),而且還可以實(shí)施保護(hù)功能;32位微處理器為了支持多任務(wù)操作系統(tǒng),以4個(gè)特權(quán)級(jí)來(lái)隔離或保護(hù)各用戶及操作系統(tǒng)。虛擬8086方式:在虛擬方式下,運(yùn)行8086程序可以盡量利用32位微處理器的保護(hù)機(jī)構(gòu)。尤其是32位微處理器允許同時(shí)執(zhí)行8086的操作系統(tǒng)及其應(yīng)用程序和32位微處理器操作系統(tǒng)的應(yīng)用程序。4.80386的寄存器與8086相比,80386寄存器組是8086寄存器組的超集,除了將原有寄存器擴(kuò)展為32位外,還增加了許多新的寄存器,可分為通用寄存器組、段寄存器、指令指針及標(biāo)志寄存器、系統(tǒng)地址寄存器、控制寄存器、調(diào)試寄存器和測(cè)試寄存器。通用寄存器80386的通用寄存器由8086的16位擴(kuò)充到32位,分別命名為EAX、EBX、ECX、EDX、ESI、EDI、EBP及
ESP。為了保持在寄存器級(jí)的向下兼容,它們的低16位AX、BX、CX、DX、SI、DI、BP、SP可單獨(dú)使用,而AX、BX、CX、DX的高、低8位也可以單獨(dú)使用。段寄存器80386段寄存器除了有CS、SS、DS、ES外,還增加了FS和GS兩個(gè)新的段寄存器,因此減輕了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個(gè)控制標(biāo)志,它們?cè)趯?shí)地址方式下不發(fā)揮作用。①IO特權(quán)標(biāo)志IOPL(Input/Output
Privilege
Level,位13~12)在保護(hù)模式下,對(duì)I/O端口的訪問(wèn)有一定限制,為此設(shè)置了IOPL。IOPL也分4級(jí):00~11,00級(jí)級(jí)別最高,11級(jí)級(jí)別最低。②嵌套任務(wù)標(biāo)志NT(Nested
Task,位14)該標(biāo)志位用來(lái)表示當(dāng)前的任務(wù)是否嵌套在另一個(gè)任務(wù)中。該位為1時(shí),說(shuō)明當(dāng)前的任務(wù)嵌套在另一個(gè)任務(wù)中,否則該位為0。③恢復(fù)標(biāo)志RF(Resume
Flag,位16)該標(biāo)志位和調(diào)試寄存器一起用于調(diào)試。當(dāng)該位被置1時(shí),即使遇到斷點(diǎn)或調(diào)試故障,也不會(huì)產(chǎn)生異常中斷。④虛擬8086模式標(biāo)志VM(virtual
8086
Mode,位17)該標(biāo)志位為1表示80386工作于虛擬86模式下??刂萍拇嫫?0386內(nèi)部有4個(gè)32位的控制寄存器(Control
Register,CR):CR0~CR3,用來(lái)保存機(jī)器的各種全局性狀態(tài),
CR1為Intel公司保留。調(diào)試寄存器和測(cè)試寄存器在80386芯片內(nèi)有8個(gè)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個(gè)32位的測(cè)試寄存器(TestRegister,TR)TR6和TR7。用于存放需要測(cè)試的數(shù)據(jù)。1.3.3
80486處理器1989年,Intel推出80486微處理器,該芯片集成了120萬(wàn)顆晶體管,使用1微米的制造工藝,80486的時(shí)鐘頻率從25MHz逐步提高到33MHz、40MHz、50MHz。80486的主要特性首次增加RISC技術(shù)。芯片上集成部件多。數(shù)據(jù)高速緩存、浮點(diǎn)運(yùn)算部件、分頁(yè)虛擬存儲(chǔ)管理和80387數(shù)值協(xié)處理器等多個(gè)部件。高性能的設(shè)計(jì)。完全的32位體系結(jié)構(gòu)。支持多處理器。具有機(jī)內(nèi)自測(cè)試功能,可以廣泛地測(cè)試片上邏輯電路、超高速緩存和片上分頁(yè)轉(zhuǎn)換高速緩存。80486的內(nèi)部結(jié)構(gòu)Intel80486由總線接口、高速緩存、指令預(yù)取、指令譯碼、控制部件、算術(shù)邏輯運(yùn)算、浮點(diǎn)運(yùn)算、分段和分頁(yè)9大部分組成。這些部件可以重疊工作,構(gòu)成五級(jí)流水線,如圖1-14所示??偩€接口部件負(fù)責(zé)CPU的內(nèi)部單元與外部數(shù)據(jù)總線之間的信息交換,取指令和數(shù)據(jù)傳送等,并產(chǎn)生相應(yīng)的總線控制信號(hào);指令預(yù)取部件負(fù)責(zé)從高速緩存中取出指令并放入指令隊(duì)列;指令譯碼部件負(fù)責(zé)從指令預(yù)取隊(duì)列中取出指令進(jìn)行譯碼;控制部件負(fù)責(zé)從指令譯碼器隊(duì)列中取出指令微碼地址,并解釋執(zhí)行該指令微碼;算術(shù)邏輯運(yùn)算部件負(fù)責(zé)執(zhí)行控制器所規(guī)定的算術(shù)與邏輯運(yùn)算;浮點(diǎn)運(yùn)算部件能夠完成對(duì)數(shù)、指數(shù)等復(fù)雜函數(shù)運(yùn)算;高速緩存部件具有緩沖存儲(chǔ)作用,其速度幾乎能夠與CPU匹配;分段和分頁(yè)部件實(shí)現(xiàn)對(duì)存儲(chǔ)器的管理。桶形移位器ALU整數(shù)部件描述符寄存器極限/屬性PLA分段部件分頁(yè)部件轉(zhuǎn)移用旁視緩沖區(qū)
TLB高速緩存部件8KB
高速緩存地址總線驅(qū)動(dòng)器數(shù)據(jù)總線收發(fā)器總線控制器指令譯碼部件已譯碼隊(duì)列浮點(diǎn)運(yùn)算部件浮點(diǎn)寄存器組指令預(yù)取部件32字節(jié)指令隊(duì)列控制ROMA31~
A2各種控制信號(hào)控制/保護(hù)部件D31~
D0寄存器組BE0~
BE1圖1-14
80486處理器內(nèi)部結(jié)構(gòu)1.3.4
奔騰及以上處理器1993年,Intel推出586微處理器,為了擺脫486時(shí)代微處理器名稱,Intel公司把新一代產(chǎn)品命名為Pentium(奔騰)以區(qū)別AMD和Cyrix的產(chǎn)品。Pentium最初級(jí)的CPU是Pentium
60和Pentium
66,分別工作在與系統(tǒng)總線頻率相同的
60MHz和66MHz兩種頻率下。Pentium
II處理器內(nèi)含750萬(wàn)顆晶體管,結(jié)合了Intel
MMX技術(shù),能以極高的效率處理影片、音效、以及繪圖資料,首次采用Single
Edge
Contact
(S.E.C)匣型封裝,內(nèi)建了高速快取記憶體。1999年,Intel
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 麋鹿課件完美教學(xué)課件
- 消防應(yīng)急體系
- 3.1.1 鐵及其性質(zhì) 課件高一上學(xué)期化學(xué)(人教版2019必修第一冊(cè))
- 外匯期貨課件教學(xué)課件
- 池塘邊的小鴨教案反思
- 過(guò)生日說(shuō)課稿
- 2025商場(chǎng)地產(chǎn)蛇年新春國(guó)潮年貨節(jié)(蛇年行大集主題)活動(dòng)策劃方案-47P
- 智慧人工智能:開(kāi)拓人工智能創(chuàng)新應(yīng)用的方案
- 新能源汽車二手房交易合同模板
- 眼鏡制造合作合同
- 水利水電工程專業(yè)畢業(yè)設(shè)計(jì)(共98頁(yè))
- 公司內(nèi)部審批權(quán)限一覽表
- 人教版統(tǒng)編高中語(yǔ)文“文學(xué)閱讀與寫作”學(xué)習(xí)任務(wù)群編寫簡(jiǎn)介
- 急性腦梗機(jī)械取栓PPT課件
- 六年級(jí)語(yǔ)文命題比賽一等獎(jiǎng)作品
- 初中物理實(shí)驗(yàn)室課程表
- 貴州省建筑業(yè)營(yíng)改增建筑工程計(jì)價(jià)依據(jù)調(diào)整實(shí)施意見(jiàn)(試行)解讀519
- GB∕T 15829-2021 軟釬劑 分類與性能要求
- 南充市物業(yè)服務(wù)收費(fèi)管理實(shí)施細(xì)則
- 浦東新區(qū)“十一五”學(xué)科帶頭人、骨干教師培養(yǎng)和發(fā)展方案
- 戶外廣告設(shè)施檢驗(yàn)規(guī)范
評(píng)論
0/150
提交評(píng)論