第二章微處理器CPU_第1頁
第二章微處理器CPU_第2頁
第二章微處理器CPU_第3頁
第二章微處理器CPU_第4頁
第二章微處理器CPU_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第二章微處理器CPU第二章微處理器CPU/第二章微處理器CPU第2章微處理器【內容提要】微處理器是微型計算機中的核心芯片,是微機的心臟,是微機的運算中心和控制中心。8086CPU是美國Intel公司1987年推出的一種高性能的16位微處理器,主要用于構成早期的IBMPC/XT微型計算機,盡管CPU發展經歷了80286、80386、80486及奔騰CPU,性能有很大的提高,但它們都和8086CPU屬于同一系列機,8086CPU指令系統所提供的指令編制的程序在以上86系列CPU上都可以正確運行,所以,通過本章通過微處理器基本概念的介紹并通過8086CPU的基本組成、引腳功能、工作方式、存貯器管理及及總線連接方法的學習,使我們基本掌握微處理器基本組成和工作原理,這對于我們掌握微機系統基本工作原理具有很大的幫助.【重點難點提示】本章的重點是掌握8086CPU功能結構中的通用寄存器、指針及變址寄存器、標志寄存器、段寄存器的名稱和用途,理解和應用存貯器地址的分段表示法及其物理地址的計算;掌握最大模式工作和最小模式工作的異同點,并通過在這兩種工作模式下8086CPU及總線的連接方法的學習,使我們對微處理器在整個微機系統中的地位和作用以及CPU的工作原理有了進一步的理解和掌握。本章的難點一是微處理器的基本組成和工作原理;二是理解8086CPU這些引腳信號的作用以及它們之間如何協同工作。§2.1微處理器概述2.1.1微處理器概念微處理器即中央處理單元(Centerprocessunit),簡稱CPU,是計算機硬件中的一個具有運算能力和控制功能的,由算術邏輯單元、控制器、數據通路及若干寄存器組成,并采用大規模集成電路技術把其集成在一個芯片構成的核心部件。2.1.2微處理器在計算機中的地位和作用微處理器是計算機的核心部件,是整個計算機系統的運算中心和控制中心.CPU不僅能完成整個計算機的所有計算任務,而且,計算機中其它各個部件也是由CPU控制下完成各自工作的。CPU是微機中的主要部件,微機的性能主要取決于CPU的性能.在微機發展的歷程中,主要是由于CPU的不斷更新換代帶動了整體的發展,CPU的性能對微機的整體性能產生決定的影響。對于一臺個人計算機,通常我們主要依據其CPU的型號來判斷是第幾代產品,此外,微機的型號也常用CPU的型號來描述的。如286機、386機、486機等。所有這些,都取決于CPU在整個計算機中的地位和作用。2.1.3微處理器的功能微處理器由運算器和控制器組成,運算器完成計算機的算術運算和邏輯運算,控制器用于產生控制計算機各部件協調工作的控制信號.計算機工作的實質是運行完成此工作對應的程序,而程序是采用計算機語言把工作的實現步驟或計劃描述出來構成的指令有序集合。計算機執行程序時,首先由輸入設備把構成程序的指令和數據輸入到計算機存貯器中,以后,在CPU控制器控制下就自動完成取指令和執行指令的任務.運算器完成指令的算術運算和邏輯運算。即完成兩個二進制數的加、減、乘、除算術運算和及、或、非等邏輯運算。而控制器負責協調并控制計算機各部件執行程序的指令序,其基本功能是取指令,分析指令和執行指令.1.取指令控制器能自動形成指令的地址,并能發出取指令的命令,將對應此地址的指令從存儲器取到控制器中。2.分析指令控制器分析指令包括兩部分內容,其一,分析此指令要完成什么操作,即控制器需發出什么操作命令;其二,分析參及這次操作的操作數地址.3.執行指令執行指令就是根據分析指令產生的“操作命令”和“操作數地址”的要求,形成操作控制信號序列,通過對運算器、存貯器以及I/O設備的操作,執行每條指令。具體來說微處理器完成如下功能:進行算術邏輯運算可接收和發送數據可暫存少量數據提供控制各部件工作的控制信號對指令進行解碼總之,CPU具有控制程序的順序執行(指令控制)、產生完成每條指令所需的控制命令(操作控制)、對各種操作實施時間上的控制(時間控制)、對數據進行算術運算和邏輯運算(數據加工)和中斷處理等功能.一句話,CPU具有指令控制、操作控制、時間控制及數據加工和中斷處理等功能。§2。2微處理器的主要技術指標1.時鐘頻率CPU的時鐘頻率又分為內頻和外頻兩種。(1)內頻內頻又稱為主頻,是CPU內部使用的時鐘頻率.通常所說CPU的頻率就是指其內頻,單位是MHz。例如PⅡ333的CPU,指的是奔騰2代的CPU,內頻為333MHz。(2)外頻外頻又稱為內存總線頻率,單位也是MHz.早期CPU內部使用的時鐘頻率及內存總線上使用的時鐘頻率是相同的,后來使用了倍頻技術,把外頻經過若干倍倍頻后,成為內頻.比如:90MHz的CPU使用60MHz的外頻,經過1.5倍倍頻后成為90MHz;166MHz的CPU使用66MHz的外頻,經過2。5倍倍頻后成為166MHz。常見的外頻有60MHz、66MHz、75MHz、83MHz、90MHz、100MHz、133MHz、166MHz等。2.數據總線寬度數據總線寬度決定了CPU及內存一次交換數據的最大位數,其寬度已從最初的8位發展到64位。多數情況下,CPU對內存的訪問是訪問連續的一段內存,所以在同樣的頻率下,數據總線越寬,完成訪問的時間就越短。3.地址總線寬度地址總線寬度決定了CPU可以訪問的內存大小,也稱為尋址范圍。最初的8088CPU有20條地址線,所以可以訪問1MB的內存。從80386CPU到奔騰CPU都使用32條地址線,所以可以訪問4GB的內存。最新的CPU使用64條地址線,可以夸張地說,它的尋址范圍是無限的。4.供電電壓CPU的供電電壓分為CPU核心電壓和外部電壓兩種。在早期的CPU中這兩者是統一的+5V電壓,隨著CPU速度和集成度的不斷提高,CPU的發熱量也越來越大,降低CPU的電壓可以減少發熱量,但是如果CPU及外部進行信息交換的電壓太低,其抗干擾能力就很弱,所以目前這個電壓—般都使用3.3V,而核心電壓可以降得更低。⒌高速緩存隨著計算機技術的不斷發展,CPU的工作速度越來越快,但是計算機的主內存(通常采用DRAM)的工作速度卻沒能迅速提高。SRAM的工作速度雖然很快,但因其價格太貴,不能用作主內存。為了解決這個矛盾,進—步提高計算機的速度,采用了SRAM做高速緩沖存儲器,簡稱高速緩存。—般把CPU中的高速緩存叫做—級高速緩存,主板上的高速緩存叫二級高速緩存,而在高能奔騰等CPU中除了CPU核心的一級高速緩存外,同一封裝還包括二級高速緩存,這時主板上的高速緩存退為三級高速緩存.由于高速緩存的價格很貴,另外目前CPU訪問主內存的速度是計算機工作的瓶頸,所以CPU中的高速緩存的數量就成為當代CPU的—項重要指標。§2.3微處理器的產生及發展微處理器的產生是集成電路工藝和計算機技術發展的產物,并且伴隨其發展而發展。1971年10月,美國Intel公司首先推出了Intel4004處理器,這是一個實現4位并行運算的單片微處理器,構成運算器和控制器的所有原件都集成在一片大規模集成電路芯片上。現在看來這片微處理器性能不強,但它畢竟是人類第一個生產的微處理器,它為以后計算機發展起到了深遠的影響。從1971年第一片微處理器推出至今30多年的時間里,微處理器經歷了四代的發展。1971年-1973年為第一代。這是4位微處理器和低檔8位微處理器的時期,其典型產品是Intel4004和Intel8008,字長分別為4位和8位,集成度約為2000管/片,時鐘頻率為1MHz,用在各種類型的計算器中已經完全滿足要求.1973年-1975年為第二代.這是8位微處理器時期,其典型產品是Intel8080和MC6800,集成度約為5000管/片,時鐘頻率為2MHz.1975年—1977年為第三代。其典型產品是Intel8085、M6802和Z80,字長為8位,集成度約為10000管/片,時鐘頻率為2。5-5MHz。1978年-1980年為第四代。其典型產品是Intel8086、MC68000和Z8000,字長為16位,集成度約為30000管/片,時鐘頻率為5MHz。1981年以后產生了第五代微處理器。這是32位微處理器時期,典型產品有:1983年,Zilog公司的Z8000;1984年Motorola公司的MC68020,其集成度為17萬管/片;1985年夏,Intel公司的Intel80386,其集成度為27.5萬管/片,時鐘頻率為16-25MHz;1989年,Intel公司將數學協處理器和高速緩存加到80386芯片內,推出了80486微處理器。80486及80386完全兼容,但速度要比80386快,80486采用高集成度的超大規模集成電路,芯片內含有120萬個晶體管,時鐘頻率可以達到100MHz。1993年3月,Intel公司推出64位的Pentium微處理器芯片,它采用比80486更高集成度的超大規模集成電路。Pentium及80386或80486完全兼容,采用32位地址線和64位收據線,地址范圍為4GB,時鐘頻率可達500MHz甚至更高。目前,奔騰系列CPU有Pentium、PentiumⅡ、PentiumⅢ、PentiumIV,其中PentiumIV的集成度己達到4200萬/片。總之,微處理器自1971年問世以來,在短短的三十年時間里以極快的速度發展,幾乎每隔2—3年就要更換一代,集成度、速度、性能越來越高,可靠性增加,成本降低,并且,微處理器的每次發展,都導致了以微處理器為核心的微型計算機的發展。§2。4當今流行CPU簡介世界上生產CPU的廠家有多個,但比較有名的有Intel公司、AMD公司、Cyrix公司、IDT等公司,在CPU領域占主導地位的是Intel公司。1.Intel公司的CPU(1)PentiumⅡCPUPentiumⅡCPU是Intel公司在推出PentiumMMX系列后于1997年5月正式推出的又一個CPU產品,它是PentiumPro的改進型,它的核心其實就是PentiumPro+MMX,它支持MMX技術,同時將L1Cache提高到32KB,并采用了獨立雙重總線結構,在速度上大幅度提高了運行頻率。PentiumⅡ采用0。25μm、2.0V核心電壓、4.4nsCache和100MHZ總線等設計。其主頻多是350MHZ~450MHZ.此外,為了滿足三維圖形、圖像及多媒體應用程序等可視計算機能力的需要,PentiumⅡCPU提供了整數運算、浮點數運算和多媒體等三方面的優異計算能力。(2)PentiumⅢCPUPentiumⅢCPU是Intel公司1999年第一季度新產品。產品設計上仍保持了0。25μm、半速512KBCache和Slot1接口技術,有晶體管950萬個,主頻從450MHz和500MHz開始,最高可達1GHz以上。PentiumⅢCPU具有片內32KB一級Cache和512KB二級Cache,可以訪村問內存4GB~64GB(雙處理器)。PentiumⅢCPU具有合理的內存管理,使CPUCache和主存存取更趨合理,提高了系統整體性能。PentiumⅢ最重要的改進是采用了SSE指令,以增強三維和浮點運算能力。并在設計中考慮了互聯網的應用。PentiumⅢCPU具有一個流水線式的浮點運算單元,可支持32位64位和80位的浮點運算,它的另一個特點是處理器中包含了序列號,每個PentinmⅢ處理器都有一個特定的號碼,用戶既可以用它進行對機器認證,也可以用它進行加密,以提高應用的保密性。(3)CeleronCPUIntel公司為了搶占一段時期被AMD公司及Syrix公司占據的1000美元以下的低端PC市場,推出了Celeron(賽揚)系列CPU。CeleronCPU是面向低端市場的產品,實際上它是PentiumⅡCPU的精簡產品。(4)PentiumⅣCPUIntel公司于2000年11月20日正式推出PentiumⅣ微處理器。PentiumⅣ的運行速度為1.4GHZ或1.5GHZ,目前已提升到2.0GHZ以上.PentiumⅣ采用0。18μm工藝的半導體制造技術,晶體管數為4200萬個,是PentiumⅢ的1.5倍.這種新型的處理器主要是針對互聯網應用而設計的,其L1Cache為8KB,L2Cache為256KB,采用423針對的新型PC-BGA封裝。PentiumⅣ處理器第一次改變了自PentiumPro以來PentiumⅡ、PentiumⅢ、Celeron等處理器一直采用的“P6結構”,而采用了被稱為“NetBurst”的新結構。其管線(PipeLine)的級數(Stage)增加到20級(PentiumⅢ為10級),使速度極限大大提高.其內部的算術邏輯運算電路(ALU)的工作頻率為CPU內核頻率的兩倍,通過使整數運算指令以兩倍于CPU內核的速度運行,提高了執行時的吞吐量,縮短了等待時間.PentiumⅣ新增加了144條稱為StreamingSIMDExtensings2的指令集,使浮點運算的準確度加大了一倍。PentiumⅣ的總線速度可達到400MHZ,而PentiumⅢ僅為133MHZ,由于總線速度的提升,可加速處理器及內存之間的數據傳輸,因此,PentiumⅣ可以提供更好的視頻、音頻及三維圖形功能。2.AMD公司的CPUAMD公司的CPU產品主要有兩大系列,一是基于Socket7的K6系列。K6屬于帶有MMX技術的第6代微處理器,采用的是0。35微米工藝,5層金屬制作技術,內置880萬個晶體管,封裝采用C4倒裝片互聯技術,充分利用了芯片空間。ADMK6的兼容性非常好,可及市場上的各種操作系統,6萬多種其它軟件MMX多媒體應用軟件兼容。此外,AMDK6最吸引人的優點就是它的性價比非常高,價格非常便宜,但性能完全能及PentiumMMX相媲美。AMD公司的CPU另一個系列產品是基于SlotA的K7系列。K7系列是AMD公司為了搶占被Intel公司的PentiumⅢ所盤踞的高端PC和服務器市場而推出的中高檔CPU。2.5微處理器的內部結構及基本功能(1)概述微處理器的內部結構受大規模集成電路制造工藝的嚴格約束,表現為芯片的面積不能過大,芯片引腳的數量也不能過多。因此,通用微處理器的內部結構及其同外部電路的連接方式,都有比較嚴格的規定。微處理器外部一般采用上述三總線結構;內部則采用單總線即內部所有單元電路都掛在內部總線上,分時享用.一個典型的8位微處理器的結構如圖1—4所示,主要包括以下幾個重要部分:累加器,算術邏輯運算單元(ALU),狀態標志寄存器,寄存器陣列,指令寄存器,指令譯碼器和定時及各種控制信號的產生電路。圖2-1典型8位微處理器結構(2)累加器和算術邏輯運算部件累加器和算術邏輯運算部件主要用來完成數據的算術和邏輯運算。ALU有2個輸入端和2個輸出端,其中一端接至累加器,接收由累加器送來的一個操作數;另一端通過數據總線接到寄存器陣列,以接收第二個操作數。參加運算的操作數在ALU中進行規定的操作運算,運算結束后,一方面將結果送至累加器,同時將操作結果的特征狀態送標志寄存器。累加器是一個特殊的寄存器,它的字長和微處理器的字長相同,累加器具有輸入/輸出和移位功能,微處理器采用累加器結構可以簡化某些邏輯運算。由于所有運算的數據都要通過累加器,故累加器在微處理器中占有很重要的位置。(3)寄存器陣列①通用寄存器組:可由用戶靈活支配,用來寄存參及運算的數據或地址信息。②地址寄存器:專門用來存放地址信息的寄存器.③指令指針IP:它的作用是指明下一條指令在存儲器中的地址。每取一個指令字節,IP自動加1,如果程序需要轉移或分支,只要把轉移地址放入IP即可。④變址寄存器SI,DI:變址寄存器的作用是用來存放要修改的地址,也可以用來暫存數據。⑤堆棧指示器SP:用來指示RAM中堆棧棧頂的地址。SP寄存器的內容隨著堆棧操作的進行,自動發生變化。(4)指令寄存器,指令譯碼器和定時及各種控制信號的產生電路①指令寄存器IR用來存放當前正在執行的指令代碼;②指令譯碼器ID用來對指令代碼進行分析、譯碼,根據指令譯碼的結果,輸出相應的控制信號;③時序邏輯產生出各種操作電位、不同節拍的信號、時序脈沖等執行此條命令所需的全部控制信號。(5)內部總線和總線緩沖器內部總線把CPU內各寄存器和ALU連接起來,以實現各單元之間的信息傳送。內部總線分為內部數據總線和地址總線,它們分別通過數據緩沖器和地址緩沖器及芯片外的系統總線相連。緩沖器用來暫時存放信息(數據或地址),它具有驅動放大能力。§2。6微處理器的結構組成及工作原理2.6。1微處理器的結構組成前面我們介紹了CPU的功能,根據CPU的功能不難設想微處理器的結構組成。要取指令,必須有一個寄存器專用于存放當前指令的地址;要分析指令,必須有存放當前指令的寄存器和對指令操作碼進行譯碼的部件;要執行指令,必須有一個能發出各種操作命令序列的控制部件CU;要完成算術運算和邏輯運算,必須有存放操作數的寄存器的實現算術邏輯運算的部件ALU;為了處理異常情況和特殊請求,還必須有中斷系統。可見,CPU由CU、ALU、寄存器和中斷系統四大部件組成。⒈CPU中的寄存器CPU中設置寄存器的目的是為了加快CPU的運算速度。CPU中的寄存器大致可分兩類;一類屬于用戶可見寄存器,用戶可對這類寄存器編程,以及通過優化使CPU因使用這類寄存器而減少對主存的訪問次數.另一類屬控制和狀態寄存器,用戶不可對這類寄存器編程,它們被控制部件使用,以控制CPU的操作,也可被帶有特權的操作系統程序使用,從而控制程序的執行.⑴用戶可見寄存器通常CPU執行機器語言訪問的寄存器為用戶可見寄存器,按其特征又可分為以下幾類。①通用寄存器通用寄存器可由程序設計者指定許多功能,可用于存放操作數,也可用來存放存貯單元地址碼,或存放用于計算存貯單元地址的有關參數。②數據寄存器數據寄存器用于存放操作數,其位數應滿足多數數據類型的數值范圍.③地址寄存器地址寄存器用于存放地址。地址寄存器的位數必須是足夠長,以滿足最大的地址范圍。④條件代碼寄存器條件碼是CPU根據運算結果由硬件設置的位。如算術運算會產生正、負、零或溢出等結果.將條件碼放到一個或多個寄存器中,就構成了條件碼寄存器,有的稱為標志寄存器。條件碼寄存器中的條件碼可被測試,作為分支運算的依據。一般來說,條件碼是允許讀出測試,不允許修改,但有些條件碼也可被設置,如最高進位位標志C,可用指令對它置位和復位.⑵控制和狀態寄存器CPU中還有一類寄存器用于控制CPU的操作或運算。①MAR存貯器地址寄存器:用于存放將被訪問的存儲單元的地址。②MDR存儲器數據寄存器:用于存放欲存入存貯器中的數據或最近從存貯器中讀出的收據。③PC程序計數器:存放現行指令的地址,通常具有計數功能。當遇到轉移類指令時,PC的值可被修改。④IR指令寄存器:存放當前欲執行的指令。通過這4個寄存器,CPU和主存可交換信息。在CPU的控制和狀態寄存器中,還有用來存放程序狀態字PSW的寄存器,該寄存器用來存放條件碼和其它狀態信號,它也屬于用戶可見寄存器。此外,在具有中斷系統的機器中,如8086CPU中斷系統中所使用的中斷控制器8259A,就有中斷請求寄存器、中斷屏蔽寄存器、中斷服務寄存器這三種類型的中斷標記寄存器,它用來記錄中斷處理的狀態。⒉控制單元CU控制單元CU是提供完成機器全部指令操作的部件。它是由指令譯碼器和定時及控制邏輯部件組成.其中指令譯碼器通過對取自指令寄存器的指令進行譯碼,產生出完成本條指令所需的所有控制信號,這些信號通過內部總線送到定時及控制部件,加上時間控制,就會按照一定的時序產生不同起始時間、不同寬度的一系列時序控制信號,通過控制總線分別加到計算機的各部件上,就會在不同時間啟動各個部件,并維持不同時間間隔工作,從而使各部件按照一定時序關系,相互協調、相互配合完成指令要完成的任務.⒊中斷系統計算機在執行程序過程中,會出現各種突發事件,如電源突然掉電、機器硬件突然出現故障、要實現人機聯系、或控制現場出現異常等情況,需要計算機暫時中斷現行程序,轉去執行中斷服務程序,以解決這些異常情況,完成后再接著運行原有程序。所以,中斷是現代計算機能有效合理地發揮效能和提高效率的一個十分重要的功能。為了提高計算機的效率,增強計算機的靈活性,現代計算機都設有中斷系統。中斷控制器8259A是構成計算機中斷系統的主要部件,在后邊的章節中,我們要詳細學習中斷的概念和8259A中斷控制器的使用方法。⒋算術邏輯單元ALU算術邏輯單元ALU是既能完成算術運算又能完成邏輯運算的部件,ALU由門電路和連線構成。現在ALU電路已經制成集成電路芯片,如74LS181就是一個四位2進制代碼的數術邏輯運算部件,通過多個74LS181芯片以及先行進位部件74LS182有效連接,我們就可以構成多位快速算術邏輯部件。此外在CPU的結構中,還有一些累加器緩沖器、收發器、暫存器、鎖存器等,這些實際都屬于寄存器,是根據其在CPU中所起作用或所存信息的特征來命名的。=1\*GB3①累加器:既可以為ALU提供運算數據,又可以保存ALU運算結果的寄存器,在ALU中只有一個。=2\*GB3②鎖存器:具有保護功能,使其被存數據不被破壞的寄存器。如后面我們要詳細介紹的8282鎖存器。=3\*GB3③暫存器:用于臨時存放數據的寄存器。=4\*GB3④緩沖器:在數據傳送中起彌補兩邊速度差異、起緩沖作用的寄存器.=5\*GB3⑤堆棧指針SP:用于存放堆棧棧頂單元地址的寄存器。=6\*GB3⑥指令指針IP:用于存放要執行指令在內存單元地址碼的寄存器。圖2-1為一個8位微處理器的內部結構框圖.雙向數據總線雙向數據總線通用寄存器組數據總線緩沖器/鎖存器暫存寄存器TMP(8)標志寄存器F(8)累加鎖存器ACT累加器A(8)算術邏輯單元AUL(8)指令寄存器IR(8)指令譯碼器ID十進制調整定時與控制PLA中斷I/O存儲器復位請求寫讀請求請求等待時鐘多路轉換開關寄存器選擇電路堆棧指針SP(16)程序計數器PC(16)加1減1器/地址鎖存器內部數據總線地址緩沖器(16)地址總線圖2-18位微處理器的內部結構框圖2.6.2微處理器的基本工作原理CPU是計算機的核心部件,CPU的基本工作原理,實際為計算機的基本工作原理。計算機是一種高速運算設備,具有存貯能力和自動工作功能。計算機的自動工作是通過CPU運行村放在內存中程序,在控制器控制下,控制計算機各部件協調工作完成的。具體過程如下:⒈程序數據輸入在CPU控制器控制下,由計算機輸入設備將要運行程序和數據通過I/O接口由總線輸入到計算機存貯器中存貯起來。⒉運行程序當用戶在計算機上通過運行程序命令后,下面整個程序的運行就由控制器控制完成。由于程序是完成程序功能需要的指令的有序集合,所以,計算機執行程序的過程就是CPU順序執行指令的過程。CPU執行每條指令時由兩個階段構成,首先是取指階段。取指階段完成取指令和分析指令的操作。CPU通過總線將指令從存貯器中取出送到數據總線緩沖器/鎖存器,然后通過CPU內部數據總線送到指令寄存器,從而完成取指操作.然后,CPU控制從指令寄存器取出指令,送到指令譯碼器進行指令譯碼,產生出完成此指令所需的所有控制信號,再將這些信號送到“定時及控制邏輯”,經過定時,就產生了完成此指令所需的不同起始時間、不同寬度的時序控制信號,完成了指令的分析,從而進入了指令的執行階段.在執行階段,由于經過定時及控制邏輯已經產生了完成此指令的時序信號,這些信號通過總線中的控制總線加到計算機的各個部件上,使有關部件啟動運行維持到有效信號結束,從而控制各部件相互協調一致完成指令的執行。計算機的指令很多,每種指令完成的功能不一樣,所以指令執行階段啟動工作的部件也不一樣。如果指令為算術邏輯運行指令,則在執行階段首先要取操作數.指令中操作數有些放在CPU中的通用寄存器內,有些放到內存中。如果放在通用寄存器中,則在控制器控制下,由內部收據總線將數據送到暫存寄存器;如果放在內存中,還要經過地址變換,計算得出內存單元的物理地址,再由此地址取出所存數據,經系統總線→數據總線緩沖器→鎖存器→內部數據總線,送到累加器、鎖存器或暫存寄存器中,等ALU兩個收據輸入端數據準備完畢,在控制器控制信號作用下,ALU開始運算,在控制器控制信號作用下,ALU開始運算,運算結束,將運算結果存放到累加器,再傳送到鎖存器鎖存起來,從而完成運算過程。ALU運算時,同時將運算結果信息存入到標志寄存器中,供后繼指令測試用。總之,大多數情況下,CPU就是按“取指→執行→再取指→再執行…”的順序自動工作的,從而完成整個程序的運行。⒊結果輸出程序運行結束,CPU通過執行I/O指令,將運算結果通過總線送往輸出設備對應的輸出接口,再由輸出接口送往輸出設備完成結果的輸出。2。78086微處理器2.7。18086CPU概述8086微處理器是美國Intel司1978年推出的一種高性能的16位微處理器.它采用HMOS工藝,由約2。9萬個晶體管組成,采用40引腳的雙列直插式封裝,使用單一的+5V電源,5MHz時鐘,有16根數據線,20根地址線,尋址空間達到1MB。2.7。28086CPU特點8086CPU具有豐富的指令系統,采用多級中斷技術、多重尋址方式、多重數據處理形式、段式存貯器結構、硬件乘除法運算電路,增加了預取批令的隊列寄存器,并且具有最大工作模式下及8087協處理器及8089I/O處理器等組成多處理機系統等特點,所以具有很強的數據處理和輸入/輸出能力。另外,及8086配套的各種外圍接口芯片非常豐富,極大的豐富了用戶開發各種應用系統。正因為8086CPU具有以上特點,所以一問世就顯示出了強大的生命力。著名的個人計算機IBMPC/XT就采用了8086作為其核心部件.在這以后,Intel公司又陸續推出80286、80386、80486及現在正在流行使用的奔騰CPU都屬于同系列芯片,所以,8086CPU為微機發展做出了極其重要的貢獻。2。7.38086CPU的外部引腳及其功能圖2-28086的引腳信號8086CPU的外形如圖2-2所示。8086CPU采用40腳DIP封裝。按功能可把這些引腳分為收據線、地址總線和控制總線三類。在學習這些引腳功能時,應注意下列問題:⒈8086CPU具有二種工作模式,最大工作模式和最小工作模式.CPU可通過給33號引腳加高電平或低電平,使其工作于最小工作模式或最大工作模式。在最小模式工作時,屬于單處理機系統。即系統中只有8086CPU,所有的總線控制信號均由8086CPU產生,這種系統的總線控制邏輯電路最簡單,當然數據處理能力和I/O能力相比較弱。在最大模式工作時,屬于多處理機系統。即系統中有多個處理器,其中8086CPU作為主處理器,8087為協處理器,增加了浮點處理能力.此外,為了增強I/O能力,又增加了8089I/O處理器,把原來由8086控制外設I/O的任務交給8089I/O處理器承擔,減輕了8086CPU的負擔,提高了系統的處理能力。此外,在最大工作模式下,系統功能比較強,8086CPU引腳不夠用,所以增加了8288總線控制器,一部分總線信號由8088產生。由于在多處理器系統中出現多個處理器爭用總線使用權情況,所以,還必須增加8289總線仲裁器以解決總線使用糾紛問題。⒉部分引腳具有復用功能。CPU為了減少芯片上的引腳數目,采用了分時使用引腳功能。如引腳2-引腳16及引腳39,有時作為地址線使用,有時作為數據線使用.而引腳35-引腳38為地址/狀態線分時復用引腳,即有時輸出高4位地址,有時輸出狀態信號.⒊最小工作模式和最大工作模式下部分引腳有不同意義.為了在引腳圖上明確,部分引腳名稱后加有括號,括號內名稱為最大工作模式下的引腳意義標識。⒋有些引腳作為輸入信號,有些引腳作為輸出信號,有些引腳可實現雙向傳送,為了明確傳送方向,在引腳圖中分別采用“←”、“→”、“←→”等加以標識⒌有些引腳高電平有效,有些引腳低電平信號有效,在引腳圖中用引腳名稱上加“-"標識為低電平有效。如、、等。⒍CPU引腳上信號的出現取決于CPU當前執行什么指令,指令不同,引腳上出現的信號不同。2。7。48086CPU及總線的連接 ⒈8086CPU及總線連接時所使用芯片介紹8086CPU在及總線連接時,是把CPU引腳對應及總線上的地址線、數據線、控制線及電源線連接,但由于8086CPU的地址線和數據線為公用線,只能分時使用,所以為了保證信息傳輸正確,需要在CPU引腳及系統總線地址線間設立地址鎖存器,以便在公用線上傳輸數據信號前,將有效地址信號鎖存在鎖存器中,供系統調用。8086CPU在及總線連接時通常使用8282地址鎖存器來鎖存CPU發出的地址信號.CPU的數據線在及總線的數據線連接時,為了增加驅動能力和對數據信號傳輸的有效控制,需要使用數據收發器來對數據進行收發控制,通常使用8286收據收發器來實現CPU數據線及總線數據線之間的連接。8086CPU有兩種工作模式,即最小工作模式和最大工作模式。在最大工作模式下為多處理器工作方式,所以系統中除了8086微處理器外,還增設有處理浮點數運算的8087協處理器和為了增強系統輸入/輸出能力設立了8089I/O處理器。很顯然,在最大工作模式下系統功能較強,系統中有多個處理器,增加了系統控制難度,控制信號肯定要增加,這時,8086的有限引腳已經不能滿足系統要求,所以這時要增加8288總線控制器,整個系統信號部分由8086產生,部分由8288總線控制器產生。故在8086最大工作模式下需要在8086引腳及系統總線中控制總線間增設8288總線控制器。8288由狀態譯碼器、命令信號發生器、控制信號發生器及控制電路四部分組成。8288接受8086CPU送來的總線狀態信號2、1、0經過狀態譯碼器譯碼后,及有關輸入控制信號相配合,便產生總線命令和控制信號.中斷功能是計算機中使用的很重要的技術,8086計算機的中斷控制是由8259A中斷控制器完成的。通過以上分析,8086及系統總線連接時,需要使用8282地址鎖存器、8286數據收發器、8087協處理器、8288總線控制器、8089I/O處理器和8259A中斷控制器,下面我們簡單介紹常見的總線接口芯片8282地址鎖存器和8286數據收發器。⑴8282地址鎖存器鎖存器是由多個D觸發器構成的暫存器。由于每個D觸發器能保存一位二進制信息0或1,所以,通常我們所指幾位鎖存器就是指由多少個D觸發器構成的。8086CPU及總線連接時通常采用8282鎖存器或74LS373鎖存器。這兩種鎖存器都是8位鎖存器,也就是說它們都是由8個D觸發器構成,一次最多可以暫時存貯8位二進制信息。在8086CPU及系統總線連接時,通常采用鎖存器用于暫存總線上的地址信息。采用鎖存器來暫存地址信息的原固是8086CPU引腳上的ADO-AD19這20個引腳是地址線和數據線的復用線,即在CPU及存貯器或I/O設備交換信息時,在ADO—AD19二十根線上首先傳送的是CPU發出的存貯器或輸入/輸出端口的地址信息.當ADO—AD19用于傳送數據信息(AD0—AD15)或狀態信息(AD16-AD19)之前時,因為20位地址信息在以后CPU讀寫工作時還需要其提供存貯單元地址或I/O端口地址,在數據信息或狀態信息到來前必須先將這20位的地址信息暫存起來,這個用于暫存地址信息的部件就采用鎖存器。8086CPU系統常采用8282芯片作為地址鎖存器。8282鎖存器外部引腳圖和內部結構圖如圖2—4所示。8282為8位的鎖存器,共有20條引腳。即8根輸入引腳DI0~DI7;8根輸出引腳DO0~DO7;2個控制引腳STB和;2個電源線(地,+5V),在其內部結構圖中可以看出,每個輸入端DI和對應輸出端DO通過D解發器和一個三態門相連。三態門也稱三態輸出電路,由兩個或非門和兩個NMOS晶體管(T1和T2)及一個非門組成,如圖2-3所示.圖2—3(a)三態門電路(b)電路符號三態門A端為輸入端,B端為輸出端,A端信號要傳送到B端受選通端E信號的控制.當E端為高電平1時,通過非門而加到兩個或非門的將為低電位,則兩個或非門的輸出狀態將決定于A端的電位.當A為高電位,G2就是低電位,而G1為高電位,因而T1導通而T2截止,所以B端也呈現高電位(VB≈VDD);當A為低電位,因而T1截止而T2導通,所以B也呈現低電位(VB≈0).故選通端E=1,為高電平時,A及B導通,B=A.當E=0為低電位時,通過非門加至兩個或非門的將為高電平.此時,無論A為高或低電位,即G1及G2都是低電位。所以T1和T2同時都處于截止狀態,故A端和B端不相通,即它們之間存在著高阻狀態。三態門電路的通斷狀態可用如下表表示.表2-4三態門輸出電路邏輯表E選通AB狀態00高阻A及B不導通1高阻100A及B導通11很明顯,該輸出電路有三種狀態:不導通、0、1且由E控制A及B的導通,起門作用,這就我們將其稱之為三態門的原因。三態門也稱E門,是計算機組成電路中一個很重要的電路,通常將E門加到寄存器的輸出端,由E門負責對寄存器輸出數據的控制。在介紹了三態E門的電路組成及控制原理后,對8282鎖存器的控制過程我們就很容易理解.圖2-4為8282鎖存器,其中,(a)為引腳圖,(b)為內部邏輯圖。在圖中我們可以看到,每個DIi及DOi對應,通過一個D觸發器和一個E門連接。D觸發器起存貯DIi信號作11234567891020191817161514131211DI0DI1DI2DI3DI4DI5DI6DI7GNDVccDO0DO1DO2DO3DO4DO5DO6DO7STB8282(a)1234567891020191817161514131211A0A1A2A3A4A5A6A7GNDVccB0B1B2B3B4B5B6B7T8286(a)DDCLKDO0DO1DO2DO3DO4DO5DO6DO7DI4DI5DI6DI7DI3DI2DI1DI011STB8282/74LS373A0B6A7B7A6B3B4B5A1A2A3A4A5B1B2B08286≥1≥11T(b)(b)圖2—48282鎖存器圖2-58286收發器用,其由STB選通信號控制。STB=1高電平,經過二個非門作用,則D觸發器CLK時鐘信號為高電平,DIi就可存到D觸發器中。以后,當STB=0時,由于CLK為低電平,DIi無法寫入D觸發器,所以選通信號STB起加鎖作用。STB=1,開鎖,DIi可寫入D觸發器;STB=0,加鎖,DIi不能寫入D觸發器,則對D觸發器保存數據起保護作用。這就是我們把8282稱為鎖存器的原因。信號為輸出允許信號,低電平有效。當=1時,經過非門后三態門E=0,故E門不導通,故鎖存收據無法傳到DOi.當OE=0時,經過非門后三態門E=1,故E門導通,D觸發器Q輸出DIi,再經一個非門變以成DIi加到三態門輸入端上,E門導通,故DOi=DIi。總之,STB=1時,8282鎖存器貯存DI0-DI78個地址信號;STB=0時,8282鎖存器加鎖,DI0-DI78個地址信號無法寫入,對原存地址信號起加鎖保護作用。=1, DIi及DOi不導通,鎖存數據無法輸出。=0,DIi及DOi導通,鎖存數據通過DOi輸出,即實現數據輸出。(2)總線驅動器(總線收發器8286)當總線上的負載較多時,就需要使用總線驅動器以增加總線的負載能力.總線驅動器由其內部組成不同而有雙向的和單向的。這種總線驅動器有時也稱為總線收發器。雙向收發器由三態門組成,可以實現二個方向傳送,所以稱為雙向三態門驅動器。對于數據總線,可采用雙向驅動器。常見的雙向驅動器有8286。如圖2—5所示,其中,(a)為引腳圖,()為內部邏輯圖.是門控信號,低電平有效。當=1時,A、B邊呈現高阻狀態,即A及B不導通;當=0時,A、B邊導通,此時到底A傳向B,還是B傳向A,受到T傳送方向信號的控制.當T=0時,傳送方向為B到A;當T=1時,傳送方向為A到B。及8286功能相同的還有74LS245,⒉8086CPU最小工作模式⑴最小模式的系統配置在最小工作模式下,8086CPU及總線連接時所需的主要外圍電路有:—片時鐘發生器8284A、三片地址鎖存器8282(或74LS373)、兩片總線收發器8286(或8287),具體連接圖見圖2-6。其中:總線收發器用于增加數據總線的驅動能力,如果系統的負載不大,則可略去不用。時鐘發生器8284A有三個功能:①產生恒定的時鐘信號.②對“準備好"(READY)信號進行同步。③對“復位"(RESET)信號進行同步。外部的“準備好”信號READY和復位信號RESET可能在任何時間產生,8284可把它們同步在時鐘脈沖的后沿,以滿足8086對READY信號和RESET信號的時間要求。8284A一般采用晶體振蕩器,也可采用外接脈沖發生器作為振蕩源。8284A的輸出頻率為振蕩源頻率的1/3.圖2—6最小模式的系統配置8086的地址總線和信號都是分時復用的,所以,地址總線和BHE信號都需要鎖存.8086有20根地址線,加上信號有21個信號線需要鎖存。8282是8位芯片,需要三片才能滿足以上要求。8282的選通端STB可接8086的ALE端。不帶DMA控制器的單處理器系統中,CPU不需要出讓總線,可將8282的端直接接地。8286是典型的8位數據收發器.8086需要兩片8286芯片。8286的數據傳送控制端T及8086的DT/端相連,8286的輸出允許端及8086的相連.⑵最小模式的總線操作最小模式下的總線讀操作時序如圖2-6所示。①T1狀態為了表明從存儲器還是從I/O端口讀數據,M/信號變為有效電平,并且一直保持到整個總線周期結束;從地址總線送出20位地址信號,以指出所讀取的存儲單元或I/O端口的地址;8086的信號變成有效電平,表明高8位數據總線上的信息是否可以使用;ALE也變成有效高電平,其下降沿在T1態的最后產生,以便實現對地址信息的鎖存;DT/輸出低電平,表示目前為讀總線周期。A19/S6~A16/SA19/S6~A16/S3T3輸出AD15~AD0ALE地址輸出狀態輸出高為讀內存,低為讀I/OCLKT1T2TW(1~n)T4數據輸入②T2狀態地址信號消失,ADl5~ADO進入高阻態,為讀入數據做準備;A19/S6~A16/S3及/S7引腳上輸出狀態信息;信號變為低電平,提供數據收發器“數據允許”信號;引腳上輸出低電平.③T3狀態存儲單元或I/O端口把數據送到數據總線上,CPU通過ADl5~ADO接收數據。④Tw狀態如果存儲器或I/O端口不能在基本總線周期內完成讀操作,就需設法產生REDAY信號.READY信號通過8284A同步后送給CPU。CPU在T3狀態的開始對READY信號進行采樣。如果READY為低電平,就在T3及T4之間插入等待狀態Tw。在Tw狀態的開始,繼續對READY信號進行采樣。如果READY信號仍為低,就再插入一個Tw周期,反之,則進入T4周期。⑤T4狀態在T4狀態的開始,CPU對數輝總線進行采樣,從而獲得數據;信號進入高電平,使數據收發器8286停止工作。最小模式下的總線寫操作時序如圖2-8所示。AA19/S6~A16/S3T3輸出AD15~AD0ALE地址輸出狀態輸出高為讀內存,低為讀I/OCLKT1T2TW(1~n)T4地址輸出地址輸出圖2—8最小模式下的總線寫操作(1)T1狀態為了表明往存儲器還是從I/O端口寫數據,M/信號變為有效電平,并且一直保持到整個總線周期結束;從地址總線送出20位地址信號,以指出存儲單元或I/O端口的地址;8086的信號變成有效電平,表明高8位數據總線上的信息是否可以使用;ALE信號也變成有效高電平,其下降沿在T1狀態的最后產生,以便實現對地址信息的鎖存;DT/輸出高電平,表示目前為寫總線周期.(2)T2狀態地址信號消失,CPU立即從引腳ADl5~ADO發送數據;A19/S6—A16/S3引腳上輸出狀態信息,信號消失;信號變為低電平,提供數據收發器“數據允許"信號;引腳上輸出低電平。(3)T3狀態CPU繼續提供數據和狀態信息,并繼續維持,M/及為有效電平。(4)Tw狀態如果存儲器或I/O端口不能在基本總線周期內完成寫操作,就需設法產生REDAY信號。READY信號通過8284A同步后送給CPU。CPU在T3狀態的開始對READY信號進行采樣。如果它為低電平,就在T3及T4之間插入等待狀態Tw。在Tw狀態的開始,繼續對READY信號進行采樣。如果READY信號仍為低,就再插入一個Tw周期;反之,則進入T4周期。(5)T4周期CPU認為存儲器或I/O端口已經完成數據的寫入,從數據線上撤銷數據;各控制信號和狀態信號進入無效狀態;信號進入高電平,使數據收發器8286停止工作。⒊8086CPU最大工作模式⑴最大模式系統配置圖2-9是最大模式系統的典型配置.通過把8086CPU的33號引腳信號MN/接地,就可指定8086以最大模式工作。此時系統主要由主CPU(8086)、協CPU(8087)、總線控制器(8288)、地址鎖存器(8282)、數據收發器(8286)等組成。它們通過局部總線相互連接。協CPU的BUSY端及主CPU的端相連。協CPU8087的/1引腳接主CPU的/0引腳,主、協CPU通過這一連接共享系統總線。最大模式系統及最小模式系統的主要區別有兩點:首先,最大模式系統一般都有協處理器;其次,最大模式系統使用總線控制器。使用總線控制器8288的原因在于:最大模式系統一般包含兩個或多個處理器,利用總線控制器8288來解決主處理器及協處理器之間的協調工作問題和對總線的共享控制問題.在最大模式系統中,控制信號不直接來自于CPU,而由總線控制器8288通過對狀態信號2、1、0變換產生。⑵主CPU及協CPU之間的協調工作工作時:協CPU(8087)通過QSl,QS0兩個信號跟蹤主CPU(8086),保證8087的指令隊列及8088的指令隊列讀人相同的指令。如果指令第一個字節的高5位為11011(如FADD,FSUB,FMUL,FDIV),8087便認為這是自己的指令,轉去執行,并在BUSY引腳輸出高電平。8088通過引腳收到這個高電平信號后,交出控制權,執行WAIT指令。執行WAIT指令時,8088不斷檢測引腳。。.。。。。。.。。。。圖2-9最大模式的系統配置8087執行指令中,如果需要使用系統總線,從/引腳向8088發一個負脈沖。8088CPU測得負脈沖后,就從同一引腳8087發一個允許負脈沖,同時使地址/數據線、地址/狀態線以及、、RD、LOCK、2、1、0、信號處于高阻態,暫時放棄對總線的控制權.8087收到CPU從/引腳發的允許脈沖后,便得到總線的控制權。8087使用完總線后,便通過/引腳向8088發一個釋放負脈沖,使8088收回總線的控制權.8087執行完自己的指令后,將BUSY引腳拉回低電平。8088通過引腳檢測到這一變化后,立即恢復工作,收回控制權。§2。88086CPU的內部結構組成8086CPU內部按功能可分為兩部分:總線接口單元BIU和執行單元EU.1。總線接口單元BIU總線接口單元BIU是8086CPU在存儲器和I/O設備之間的接口部件,負責對全部引腳的操作,即8086對存儲器和I/O設備的所有操作都是由BIU完成的.BIU提供了16位雙向數據總線、20位地址總線和若干條控制總線。其具體任務是:負責從內存單元中預取指令,并將它們送到指令隊列緩沖器暫存。CPU執行指令時,總線接口單元要配合執行單元,從指定的內存單元或I/O端口中取出數據傳送給執行單元,或者把執行單元的處理結果傳送到指定的內存單元或I/O端口中。總線接口單元BIU由20位地址加法器、4個段寄存器、16位指令指針IP、指令隊列緩沖器和總線控制邏輯電路等組成.⑴地址加法器和段寄存器8086CPU的20位地址線,可直接尋址1MB存儲器物理空間.但CPU內部寄存器均為16位的寄存器。16位的寄存器實現20位地址是由專門地址加法器將有關段寄存器內容(段的起始地址)左移4位后,及16位偏移地址相加,形成了20位的物理地址,以對存儲單元尋址。即存儲單元物理地址=段寄存器內容×16+偏移地址。⑵16位指令指針IP(InstructionPointer)指令指針IP用來存放下一條要執行指令在代碼段中的偏移地址。它只有和CS相結合,才能形成指向指令存放單元的物理地址。在程序運行中,IP的內容由BIU自動修改,使它總是指向下一條要取的指令在現行代碼段中的偏移地址。⑶指令隊列緩沖器當EU正在執行指令中,且不需占用總線時,BIU會自動地進行預取指令操作,將所取得的指令按先后次序存入1個6字節的指令隊列寄存器,該隊列寄存器按“先進先出"的方式工作,并按順序取到EU中執行。其操作遵循下列原則:①每當指令隊列緩沖器中存滿一條指令后,EU就立即開始執行。②每當BIU發現隊列中空了兩個字節時,就會自動地尋找空閑的總線周期進行預取指令操作,直到填滿為止.③每當EU執行一條轉移、調用或返回指令后,則要清除指令隊列緩沖器,并要求BIU從新的地址開始取指令,新取的第一條指令將直接經指令隊列緩沖器送到EU去執行,并在新地址基礎上再作預取指令操作,實現程序段的轉移。BIU和EU各自獨立工作,在EU執行指令的同時,BIU可預取下面一條或幾條指令.圖2。108086CPU內部結構示意圖⑷總線控制邏輯電路總線控制邏輯電路將8086CPU的內部總線和外部總線相連,是8086CPU及內存單元或I/O端口進行數據交換的必經之路.它包括16條數據總線、20條地址總線和若干條控制總線,CPU通過這些總線及外部取得聯系,從而構成各種規模的8086微型計算機系統。2.執行單元EU執行單元中包含1個16位的運算器ALU、8個16位的寄存器、1個16位標志寄存器FLAGS、1個數據暫存寄存器和執行單元的控制電路,也就是說它已經包含了微處理機的3個基本部件。這個單元進行所有指令的解釋和執行,同時管理上述有關的寄存器。⑴算術邏輯單元(ALU)它是1個16位的運算器,可用于8位、16位二進制算術和邏輯運算,也可按指令的尋址方式計算尋址存儲器所需的16位偏移量。⑵標志寄存器(FLAGS)它是1個16位的寄存器,用來反映CPU運算的狀態特征和存放某些控制標志。⑶數據暫存寄存器它協助ALU完成運算,暫存參加運算的數據。⑷通用寄存器組它包括4個16位的數據寄存器AX、BX、CX、DX和4個16位指針及變址寄存器SP、BP及SI、DI。⑸EU控制電路它負責從BIU的指令隊列緩沖器中取指令,并對指令譯碼,根據指令要求向EU內部各部件發出控制命令,以完成各條指令規定的功能。執行單元中的各部件通過16位的ALU總線連接在一起,在內部實現快速數據傳輸.值得注意的是這個內部總線及CPU外接的總線之間是隔離的,即這兩個總線可以同時工作而互不干擾。EU對指令的執行是從取指令操作碼開始的,它從總線接口單元的指令隊列緩沖器中每次取一個字節。如果指令隊列緩沖器中是空的,那么EU就要等待BIU通過外部總線從存儲器中取得指令并送到EU,通過譯碼電路分析,發出相應控制命令,控制ALU數據總線中數據的流向.如果是運算操作,操作數據經過暫存寄存器送入ALU,運算結果經過ALU數據總線送到相應寄存器,同時標志寄存器FLAGS根據運算結果改變狀態。在指令執行過程中常會發生從存儲器中讀或寫數據的事件,這時就由EU單元提供尋址用的16位有效地址,在BIU單元中經運算形成一個20位的物理地址,送到外部總線進行尋址。2。8.18086CPU的內部寄存器8086微處理器內部共有14個16位寄存器,包括:通用寄存器、地址指針和變址寄存器、段寄存器、指令指針和標志寄存器。8086CPU內部寄存器如圖2.5所示。1通用寄存器通用寄存器又稱數據寄存器,既可作為16位數據寄存器使用,也可作為兩個8位數據寄存器使用.當用作16位時,稱為AX、BX、CX、DX。當用作8位時,AH、BH、CH、DH存放高字節,AL、BL、CL、DL存放低字節,并且可獨立尋址,這樣,4個16位寄存器就可當作8個8位寄存器來使用.2.段寄存器8086CPU有20位地址總線,它可尋址的存儲空間為1MB。而8086指令給出的地址編碼只有16位,指令指針和變址寄存器也都是16位的,所以CPU不能直接尋址1MB空間.為此采用分段管理,即8086用一組段寄存器將這1MB存儲空間分成若干個邏輯段,每個邏輯段長度≤64KB,用4個16位的段寄存器分別存放各個段的起始地址(又稱段基址),8086的指令能直接訪問這4個段寄存器.不管是指令還是數據的尋址,都只能在劃定的64KB范圍內進行.尋址時還必須給出一個相對于分段寄存器值所指定的起始地址的偏移值(也稱為有效地址),以確定段內的具體地址。對物理地址的計算是在BIU中進行的,它先將段地址左移4位,然后及16位的偏移值相加。段寄存器共有4個。代碼段寄存器CS表示當前使用的指令代碼可以從該段寄存器指定的存儲器段中取得,相應的偏移值則由IP提供.堆棧段寄存器SS指定當前堆棧的底部地址。數據段寄存器DS指示當前程序使用的數據所存放段的最低地址。而附加段寄存器ES則指出當前程序使用附加段地址的位置,該段一般用來存放原始數據或運算結果。3.地址指針和變址寄存器參及地址運算的主要是地址指針及變址寄存器組中的4個寄存器,地址指針和變址寄存器都是16位寄存器,一般用來存放地址的偏移量(即相對于段起始地址的距離).在BIU的地址器中,及左移4位后的段寄存器內容相加產生20位的物理地址。堆棧指針SP用以指出在堆棧段中當前棧頂的地址,入棧(PUSH)和出棧(POP)指令由SP給出棧頂的偏移地址。基址指址BP指出要處理的數據在堆棧段中的基地址,故稱為基址指針寄存器.變址寄存器SI和DI用來存放當前數據段中某個單元的偏移量。4.指令指針和標志寄存器指令指針IP的功能跟Z80CPU中的程序計數器PC的功能類似。正常運行時,IP中存放的是BIU要取的下一條指令的偏移地址.它具有自動加1功能,每當執行一次取指令操作,它將自動加1,使它指向要取的下一內存單元,雖每取一個字節后IP內容加1,但取一個字后IP內容加2.某些指令可使IP值改變,某些指令還可使IP值壓入堆棧或從堆棧中彈出。標志寄存器FLAGS是16位的寄存器,8086共使用了9個有效位,標志寄存器格式如圖2.6所示。其中的6位是狀態標志位,3位為控制標志位。狀態標志位是當一些指令執行后,所產生數據的一些特征的表征。而控制標志位則可以由程序寫入,以達到控制處理機狀態或程序執行方式的表征.表2—7標志寄存器格式D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0OFDFIFTFSFZFAFPFCF2.8。28086CPU的存儲器組織1.8086的存儲器組織及其尋址8086CPU能尋址1MB的存儲單元.在此存儲空間中是以8位為一個字節順序排序存放的。每一字節用唯一的一個地址碼標識。將存儲器空間按字節地址號順序排列的方式稱“字節編址".字數據是將連續存放的2個字節數據構成一個16位的字數據。規定字的高8位字節存放在高地址,字的低8位字節存放在低地址。同時規定將低位字節的地址作為這個字的地址。雙字數據要占用4個字節,用以存放連續的2個字。在存放低位字或高位字時,高位字節位于高地址,低位字節位于低地址,以最低位字節地址作為它的地址.2.存儲器的分段結構和物理地址的形成⑴存儲器的分段結構8086CPU為了尋址1MB的存儲空間,采用了分段的形式,即將1MB的存儲空間分成若干個邏輯段,一個段最大為64KB,最小為16KB。4個當前邏輯的基地址設置在CPU內的4個寄存器中,即代碼段寄存器CS、數據段寄存器DS、堆棧段寄存器SS和附加段寄存器ES.邏輯段之間可以是連續的、分開的、部分重疊或完全重疊的。一個程序可使用一個邏輯段或多個邏輯段。⑵物理地址的形成物理地址是指CPU和存儲器進行數據交換時實際所使用的地址,而邏輯地址是程序使用的地址。它由兩部分組成:段基址(段起始地址高16位)和偏移地址.前者是由段寄存器給出;后者是指存儲單元所在的位置離段起始地址的偏移距離。邏輯地址想物理地址的轉換通過其內部的地址加法器自動完成。當CPU尋址某個存儲單元時,先將段寄存器的內容左移4位,然后加上指令中的提供的16位偏移地址而形成20位物理地址。2.8.38086CPU的指令系統微機中每種微處理器提供不同的指令系統,CPU類型不同,所提供的指令不同。利用指令,我們可以編寫程序,通過運行程序,我們就可以控制計算機為人類服務.8086CPU提供了90多條傳送指令、數據操作類指令、串操作指令和控制類指令,利用這些指令,我們可以編寫程序,通過運行程序,就可以控制計算機為人類服務。2.8.48088、80286、80386、80486和奔騰CPU簡介隨著微機應用領域的擴大和應用技術的發展,管理1MB內存及單任務的8086微處理器已無法滿足要求。Intel公司從80年代初開始相繼推出了80286,80386,80486和Pentium系列高檔微處理器,不斷的將個人計算機推向新的發展階段。本節簡要介紹8088,80286~Pentium這幾種微處理器的特點。1.8088CPU簡介8088CPU是Intel公司為了兼容市場上的8位微機,于1979年6月推出的微處理器,它是8086CPU的改進型,它的內部總線是16位,外部總線為8位,地址線為20位,指令系統及8086系統兼容,是準16位機.8088CPU和8086CPU一樣,均采用HMOS工藝,片上集成了2.9萬個晶體管,引腳為雙列直插式,有40個引腳。這些引腳中大部分及8086引腳意義相同,意義不同的幾個引腳是:⑴/IO:存儲器/輸入輸出控制信號,輸出。⑵A8~A15:地址總線高8位,輸出。⑶:輸出在內部

溫馨提示

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

評論

0/150

提交評論