第2章 微處理器.ppt_第1頁(yè)
第2章 微處理器.ppt_第2頁(yè)
第2章 微處理器.ppt_第3頁(yè)
第2章 微處理器.ppt_第4頁(yè)
第2章 微處理器.ppt_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微型計(jì)算機(jī)原理與接口技術(shù),主 編 何 超,中國(guó)水利水電出版社,8086/8088CPU的組成、引腳功能和工作模式。 時(shí)序基本概念。 微處理器的發(fā)展歷程,主流CPU及其最新技術(shù)。,第2章 微處理器,2.1 微處理器概述,2.1.1 CPU的基本概念 中央處理器(CPU,Central Processing Unit),是整個(gè)計(jì)算機(jī)系統(tǒng)的核心,負(fù)責(zé)整個(gè)系統(tǒng)指令的執(zhí)行,對(duì)數(shù)據(jù)信息進(jìn)行數(shù)學(xué)與邏輯運(yùn)算和處理、數(shù)據(jù)的存儲(chǔ)與傳送以及對(duì)內(nèi)對(duì)外輸入與輸出的控制,并實(shí)現(xiàn)本身運(yùn)行過(guò)程的自動(dòng)化。 MPU: 即微型化的中央處理器。早期微處理器以MPU表示,以區(qū)別于大型主機(jī)的多芯片CPU。 CPU有通用CPU和嵌入式CP

2、U之分,通用和嵌入式的分別,主要是根據(jù)應(yīng)用模式的不同而劃分的。,2.1.2 CPU的功能,CPU的主要功能是控制計(jì)算機(jī)運(yùn)行存儲(chǔ)在主存儲(chǔ)器中的程序,完成人們對(duì)問(wèn)題的求解工作,運(yùn)行程序就是執(zhí)行指令序列。其基本功能主要如下。 1指令控制 CPU的首要任務(wù)就是控制各條程序的執(zhí)行,保證程序嚴(yán)格按規(guī)定執(zhí)行。 2操作控制 一條指令的執(zhí)行需要若干個(gè)微操作命令信號(hào),通過(guò)這些微操行信號(hào)作用于CPU內(nèi)部及外部的不同部件上,完成指令功能。因此,操作控制的功能是協(xié)調(diào)各個(gè)工作部件按指令完成規(guī)定任務(wù)的基礎(chǔ)。 3時(shí)間控制 CPU執(zhí)行每一條指令都有嚴(yán)格的時(shí)間順序。例如對(duì)各種操作信號(hào)的產(chǎn)生時(shí)間、穩(wěn)定時(shí)間、撤銷時(shí)間及相互之間的關(guān)系

3、都應(yīng)有嚴(yán)格的要求。 4數(shù)據(jù)加工 CPU能夠根據(jù)指令功能的要求,完成對(duì)數(shù)值數(shù)據(jù)的算術(shù)運(yùn)算、邏輯變量的邏輯運(yùn)算及其他非數(shù)值數(shù)據(jù)的處理。對(duì)數(shù)據(jù)的輸入、加工處理以及輸出數(shù)據(jù)是CPU的基本功能。 5中斷處理 CPU能對(duì)其內(nèi)部或外部的中斷(異常)做出響應(yīng),進(jìn)行相應(yīng)的處理。 6其他功能 除以上各種功能之外,CPU具有其他功能。例如CPU能對(duì)直接存儲(chǔ)器存取請(qǐng)求做出響應(yīng),能對(duì)復(fù)位信號(hào)做出響應(yīng)并將復(fù)位啟動(dòng)的入口地址送入PC中等。,2.1.3 CPU的組成,1CPU的內(nèi)核 從結(jié)構(gòu)上說(shuō),任何CPU都包括運(yùn)算器(算術(shù)邏輯運(yùn)算單元Arithmetic Logic Unit,ALU)、控制器(Control Unit,CU

4、)和寄存器(Register)三個(gè)主要組成部分。 (1)運(yùn)算器: 1)算術(shù)邏輯運(yùn)算單元ALU 2)浮點(diǎn)運(yùn)算單元FPU(Floating Point Unit) (2)控制器: 1)指令控制器 2)時(shí)序控制器 3)總線控制器 4)中斷控制器,(3)內(nèi)部寄存器組 1)運(yùn)算寄存器 2)數(shù)據(jù)寄存器DR(Data Register) 3)地址寄存器AR(Address Register) 4)標(biāo)志寄存器FR(Flag Register) 5)程序計(jì)數(shù)器PC(Program Counter) 6)通用寄存器組 7)專用寄存器,2CPU的外核,(1)解碼器(Decode Unit) 作用:是把長(zhǎng)度不定的x8

5、6指令轉(zhuǎn)換為長(zhǎng)度固定的指令,并交由內(nèi)核處理。 解碼:分為硬件解碼和微解碼。 硬件解碼:對(duì)于簡(jiǎn)單的x86指令,速度較快; 微解碼:對(duì)于復(fù)雜的x86指令,并把它分成若干條簡(jiǎn)單指令,速度較慢且很復(fù)雜。 (2)一級(jí)緩存和二級(jí)緩存(Cache) 一級(jí)緩存和二級(jí)緩存是為了緩解較快的CPU與較慢的存儲(chǔ)器之間的矛盾 。,一級(jí)緩存:(L1)通常集成在CPU內(nèi)核 二級(jí)緩存: (L2)以較快于存儲(chǔ)器的速度運(yùn)行,2.1.4 指令系統(tǒng),指令系統(tǒng)指的是CPU所能夠處理的全部指令的集合 。 CISC(Complex Instruction Set Computer,復(fù)雜指令系統(tǒng)指令集計(jì)算機(jī)) RISC(Reduced In

6、struction Set Computer,精簡(jiǎn)指令系統(tǒng)指令集計(jì)算機(jī)) EPIC(Explicitly Parallel Instruction Computers,顯式并行指令系統(tǒng)指令集計(jì)算機(jī)),2.1.5 CPU的架構(gòu)和封裝方式,(1)CPU的架構(gòu) CPU構(gòu)架是按CPU的安裝插座類型和規(guī)格確定的。目前常用的CPU按其安裝插座規(guī)范可分為Socket x和Slot x兩大構(gòu)架。 以Intel處理器為例,Socket 構(gòu)架的CPU中分為Socket 370、Socket 423和Socket 478三種,分別對(duì)應(yīng)Intel PIII/Celeron處理器和P4處理器。Slot x架構(gòu)的CPU中

7、可分為Slot 1、Slot 2兩種,分別使用對(duì)應(yīng)規(guī)格的Slot槽進(jìn)行安裝。其中Slot 1是早期Intel PII、PIII和Celeron處理器采取的構(gòu)架方式,Slot 2是尺寸較大的插槽,專門(mén)用于安裝P和P序列中的工作組服務(wù)器上的Xeon(至強(qiáng))處理器。,(2)CPU的封裝方式,所謂封裝是指安裝半導(dǎo)體集成電路芯片用的外殼,通過(guò)芯片上的接點(diǎn)用導(dǎo)線連接到封裝外殼的引腳上,這些引腳又通過(guò)印刷電路板上的插槽與其他器件相連接。它起著安裝、固定、密封、保護(hù)芯片及增強(qiáng)電熱性能等方面的作用。 CPU的封裝方式取決于CPU安裝形式,最早的是DIP(雙列直插式)封裝。而80286封裝是一種被稱為PGA(引腳

8、網(wǎng)格陣列)的正方形包裝。通常采用Socket插座安裝的CPU使用PGA(柵格陣列)的形式進(jìn)行封裝,而采用Slot X槽安裝的CPU則全部采用SEC(單邊接插盒)的形式進(jìn)行封裝。,2.1.6 CPU主要技術(shù)參數(shù),1)位(bit) 位是計(jì)算機(jī)所能處理的最小數(shù)據(jù)單位,位只能有兩種狀態(tài):“0”和“1”。 Bit通??s寫(xiě)為b。 2)字節(jié)(byte)、KB、MB、GB 和TB 1字節(jié)包含8個(gè)二進(jìn)制(8 bit )位,通常寫(xiě)為B 。字節(jié)是計(jì)算機(jī)存儲(chǔ)器容量的基本單位。 在計(jì)算機(jī)中,K通常代表210 ,即1024。 1KB=1024B, 1MB=1024KB, 1GB=1024MB, 1TB=1024GB,1位

9、、字節(jié)和字長(zhǎng),3)字(word):字在不同的場(chǎng)合有不同的含義。一種是在計(jì)算機(jī)編程語(yǔ)言中,一個(gè)字代表2個(gè)字節(jié),即16位;另一種是在計(jì)算機(jī)硬件中,字是CPU與(IO)設(shè)備和存儲(chǔ)器之間傳送數(shù)據(jù)的基本單位。 2CPU外頻與主頻 外頻:每個(gè)計(jì)算機(jī)的主板上均有一個(gè)按固定頻率產(chǎn)生時(shí)鐘信號(hào)的裝置,稱為主時(shí)鐘CLK,主時(shí)鐘的頻率叫外頻,是為CPU提供的基準(zhǔn)時(shí)鐘頻率,即CPU與外部進(jìn)行數(shù)據(jù)傳輸時(shí)使用的頻率,也叫做系統(tǒng)總線頻率。 主頻:CPU的內(nèi)核實(shí)際運(yùn)行頻率被稱為主頻,主頻的高低直接影響CPU的運(yùn)算速度,即CPU每秒鐘運(yùn)算的次數(shù)。 倍頻:可使CPU的內(nèi)核實(shí)際運(yùn)行頻率比外頻提高數(shù)倍,按倍頻系數(shù)乘以外頻而來(lái)。,4高速

10、緩沖存儲(chǔ)器(L1和L2 Cache)的容量和速率,目的: 為了解決高速CPU和慢速內(nèi)存之間的速度匹配問(wèn)題。普遍在CPU和常規(guī)主存之間增設(shè)一級(jí)或二級(jí)高速小容量存儲(chǔ)器,稱為高速緩沖存儲(chǔ)器,簡(jiǎn)稱Cache,其速度比內(nèi)存大一個(gè)數(shù)量級(jí),大體與CPU的處理速度相當(dāng)。在Cache中存放著最近訪問(wèn)或?qū)⒁L問(wèn)的指令和數(shù)據(jù)。 作用:提高計(jì)算機(jī)速度起關(guān)鍵作用 。 說(shuō)明: CPU的L2 Cache分芯片內(nèi)部安裝和外部安裝兩種。設(shè)在CPU芯片內(nèi)的L2 Cache運(yùn)行速度與主頻相同,而采用P方式安裝在CPU芯片外部的L2 Cache運(yùn)行頻率一般為主頻的1/2,因此其效率要比芯片內(nèi)的L2 Cache要低。,3前端總線(FS

11、B)頻率,前端總線也就是CPU總線,一般主板上前端總線頻率與內(nèi)存總線頻率相同。內(nèi)存總線頻率指主存的工作頻率,也由主板提供,很多情況下等于外頻。但現(xiàn)在一些主板提供內(nèi)存異步技術(shù),使內(nèi)存工作頻率和CPU外頻不同,更先進(jìn)的CPU如Intel P4、AMD的K7等更可以使FSB數(shù)倍于系統(tǒng)總線頻率。,2.1.7 CPU主流技術(shù)術(shù)語(yǔ)淺析,1流水線技術(shù) 2超流水線和超標(biāo)量技術(shù) 3過(guò)程調(diào)用和中斷技術(shù) 4. 亂序執(zhí)行技術(shù) 5動(dòng)態(tài)執(zhí)行技術(shù) 6指令特殊擴(kuò)展技術(shù) 7處理器的體系結(jié)構(gòu)(IA)與微體系結(jié)構(gòu) 8、超線程技術(shù) 9、向量機(jī),2.1.8 微型計(jì)算機(jī)的存儲(chǔ)器組織,1、存儲(chǔ)器組織的實(shí)模式,以8086/8088 CPU為

12、例,其有20條地址線,因而其發(fā)出的地址信號(hào)是20位二進(jìn)制數(shù),由于每個(gè)地址對(duì)應(yīng)1個(gè)存儲(chǔ)單元,故存儲(chǔ)單元的地址也是20位二進(jìn)制數(shù)(由于20位二進(jìn)制數(shù)寫(xiě)起來(lái)太長(zhǎng),所以人們一般改用等價(jià)的十六進(jìn)制表示,即5位十六進(jìn)制數(shù))。20 位二進(jìn)制數(shù)可表示 220=1MB,因而8086/8088系統(tǒng)中存儲(chǔ)單元的個(gè)數(shù)最多為1MB,即8086/8088的尋址空間為1MB。,分段,即將1MB的內(nèi)存從邏輯上分為若干個(gè)小塊,每個(gè)小塊稱為1個(gè)段。分段 是邏輯上的概念,不是將內(nèi)存硬件進(jìn)行了物理分隔,所以不同的程序可以使用不同 的的分段方法,而不會(huì)對(duì)物理內(nèi)存造成影響。,分段以后,對(duì)每個(gè)段的存儲(chǔ)單元用16位數(shù)從0開(kāi)始重新進(jìn)行編址,這

13、個(gè)地址稱為 段內(nèi)偏移量,簡(jiǎn)稱為偏移量。16位二進(jìn)制數(shù)最多能尋址的空間為216=64KB,故1個(gè)段 不能多于64K個(gè)存儲(chǔ)單元。當(dāng)段長(zhǎng)度達(dá)到64KB時(shí),偏移量的范圍從0000HFFFFH。,段內(nèi)偏移量是16位的,解決了運(yùn)算和存儲(chǔ)的問(wèn)題,但它僅描述了1個(gè)存儲(chǔ)單元距 離段內(nèi)首單元的位置偏移,并不能用來(lái)絕對(duì)定位1個(gè)存儲(chǔ)單元。但若知道了段內(nèi)首 單元的20位物理地址,配合偏移量則可實(shí)現(xiàn)對(duì)段內(nèi)任一存儲(chǔ)單元的絕對(duì)定位。,存儲(chǔ)器的分段:為尋址方便,對(duì)1M內(nèi)存空間引入分段的方法,規(guī)則1:,規(guī)則2:,1個(gè)段只有1個(gè)段基址,但每個(gè)單元各有自己的偏移量。,1個(gè)段必須從物理地址的最末4位二進(jìn)制數(shù)全為0(即十六進(jìn)制數(shù)最末1位

14、數(shù)為0) 的單元開(kāi)始。這樣,段首單元只有前16位需要描述,這16位數(shù)稱為段基址。,段基址后再補(bǔ)上4個(gè)0 (即乘以十六進(jìn)制的10H),就是這個(gè)段首單元的物理地址。,存儲(chǔ)器分段,實(shí)際物理地址,這4位為段基址,偏移量,邏輯地址:程序中用來(lái)描述存儲(chǔ)單元位置的地址稱為邏輯地址。 邏輯地址的表示:段基址:偏移量 如 1374:0000H, 1374:0001H 等。,邏輯地址向物理地址的轉(zhuǎn)換公式: 物理地址 = 段基址 10H + 偏移量,例如:邏輯地址 1374:0003H 表示的存儲(chǔ)單元的物理地址為:,1374 10H + 0003H = 13743H,(1)段的長(zhǎng)度=64K,(2)段只能從物理地址低

15、4位二進(jìn)制數(shù)全為0的單元開(kāi)始。,分段的規(guī)則:,注意:,(1)內(nèi)存可分為多個(gè)段。,(2)段長(zhǎng)度可在 1 64 K 個(gè)單元之間。,(3)段之間可以重疊,重疊部分的存儲(chǔ)單元將有兩個(gè)或更多個(gè)邏輯地址,但由這些邏輯地址運(yùn)算出的物理地址是惟一的。,2、存儲(chǔ)器組織的保護(hù)模式簡(jiǎn)介,保護(hù)模式同實(shí)模式的根本區(qū)別是正在運(yùn)行中的程序進(jìn)程中,其內(nèi)存受保護(hù)與否。 80286內(nèi)存尋址有兩種方式:保護(hù)模式和實(shí)模式。系統(tǒng)啟動(dòng)時(shí)處理器處于實(shí)模式,只能訪問(wèn)1M內(nèi)存空間,經(jīng)過(guò)處理可以進(jìn)入保護(hù)模式,可訪問(wèn)16M內(nèi)存空間,但要從保護(hù)模式回到實(shí)模式必須重啟機(jī)器。,堆棧,堆棧是在內(nèi)存中開(kāi)辟的按后進(jìn)先出原則組織的一個(gè)特別存儲(chǔ)區(qū)域,主要用于子程

16、序調(diào)用等操作中,從主程序的哪一步離開(kāi),到哪里去找子程序入口地址,這些信息都要做個(gè)記號(hào),保存在堆棧中(壓棧),以便返回;返回時(shí),找回記號(hào)(出棧)。,例2.1 若用戶程序的分段情況為:代碼段需要8K(2000H)存儲(chǔ)區(qū),數(shù)據(jù)段需要2K(800H)存儲(chǔ)區(qū),堆棧段需要256個(gè)字節(jié)的存儲(chǔ)區(qū)。假定操作系統(tǒng)從02000H單元開(kāi)始分配存儲(chǔ)區(qū),則此時(shí)分段情況如圖2-2所示。,2.2 8086/8088微處理器,Intel 8086/8088采用HMOS工藝制造,29000個(gè)晶體管、40引腳、雙列直插式。 數(shù)據(jù)總線: 8086:16位,8088:8位。 地址總線:20位,部分與數(shù)據(jù)線復(fù)用。 內(nèi)存空間:20位、直接

17、尋址1MB空間。 尋址方式:7種基本的尋址方式。 指令系統(tǒng):100條基本指令除能完成數(shù)據(jù)傳送、算數(shù)運(yùn)算、邏輯運(yùn)算、控制轉(zhuǎn)移和處理器控制功能外,內(nèi)部還設(shè)有硬件乘除法與串處理指令電路。 時(shí)鐘頻率:8088: 4.7MHz/ 8086: 5MHz/ 8086-2:8MHz。 中斷功能:內(nèi)外部中斷源多達(dá)256個(gè)。 工作模式:支持單處理器、多處理器兩種模式。,2.2.1 8086的編程結(jié)構(gòu),8086編程結(jié)構(gòu)如下頁(yè)圖所示,8086分為兩個(gè)部分: 1、總線接口部件 BIU(Bus Interface Unit) 2、執(zhí)行部件EU(Execution Unit),編程結(jié)構(gòu):從程序員和使用者的角度來(lái)看的結(jié)構(gòu)。,

18、8086 CPU 內(nèi)部結(jié)構(gòu)示意圖,20位地址加法器,4個(gè)16位的段地址寄存器,16位的指令指針寄存器IP,6字節(jié)的指令隊(duì)列緩沖器,總線控制部件,EU執(zhí)行單元的控制電路,8個(gè)16位的寄存器,16位的標(biāo)志寄存器FR,1個(gè)數(shù)據(jù)暫存寄存器,代碼段寄存器,數(shù)據(jù)段寄存器,堆棧段寄存器,擴(kuò)展段寄存器,1個(gè)16位的算術(shù)邏輯單元ALU,堆棧指針寄存器SP,目的變址寄存器DI,源變址寄存器SI,基數(shù)指針寄存器BP,8086微處理器內(nèi)部有14個(gè)16位寄存器,這14個(gè)寄存器分為三大類。,8086寄存器,通用寄存器,數(shù)據(jù)寄存器,變址寄存器,指針寄存器,AX 累加器,BX 基數(shù)寄存器,CX 計(jì)數(shù)寄存器,DX 數(shù)據(jù)寄存器,

19、SP 堆棧指針寄存器,BP 基址指針寄存器,SI 源變址寄存器,DI 目的變址寄存器,段寄存器,CS 代碼段寄存器,DS 數(shù)據(jù)段寄存器,SS 堆棧段寄存器,ES 附加段寄存器,控制寄存器,IP 指令指針寄存器,FLAG 標(biāo)志寄存器,8086寄存器結(jié)構(gòu),1、通用寄存器,通用寄存器用途比較廣泛,一般用在算術(shù)和邏輯運(yùn)算指令中,用來(lái)存放算術(shù)運(yùn)算 的源/目的操作數(shù),某些通用寄存器還常用來(lái)存放存儲(chǔ)器操作數(shù)的地址。通用寄存器 共8個(gè),包括數(shù)據(jù)寄存器4個(gè),指針寄存器2個(gè)和變址寄存器2個(gè)。,(1)數(shù)據(jù)寄存器,數(shù)據(jù)寄存器有4個(gè),這4個(gè)寄存器比較特殊,每個(gè)均既可作為1個(gè)16位寄存器 使用,又可作為兩個(gè)8位寄存器使用

20、。當(dāng)用作16位時(shí),稱為AX、BX、CX、DX。 當(dāng)用作8位時(shí),高8位分別稱為AH、BH、CH、DH,低8位分別稱為AL、BL、 CL、DL。,(2)指針寄存器,指針寄存器有兩個(gè),均是16位寄存器。堆棧指針SP用以指出在堆棧操作中 棧頂?shù)奈恢茫霔#≒USH)和出棧(POP)指令要用到這一位置。基址指針BP指出要處理的數(shù)據(jù)在堆棧段中的基地址,故稱為基址指針寄存器。,(3)變址寄存器,在字符串處理中,被處理的數(shù)據(jù)稱為源操作數(shù),它們的偏移地址存放在源變址 寄存器SI中,而處理后的字符串的偏移地址則放在目的變址寄存器DI中。,8個(gè)通用寄存器一般均可用來(lái)存放指令的操作數(shù)或保存運(yùn)算結(jié)果,但在某些 操作中又

21、必須專用某個(gè)寄存器,如 I/O 操作時(shí)必須使用 AX,循環(huán)指令中必須使用 CX。 指針和變址實(shí)際上是相同的概念,都是存儲(chǔ)單元地址,一般指令中用來(lái)存放存儲(chǔ)單 元的地址可作用 BX、BP、SI、DI 之一,但字符串操作指令中必須使用 SI 和 DI ,而 堆棧操作中必須使用 SP 來(lái)存放棧頂單元地址。,2、段寄存器,段寄存器是專用寄存器,用在存儲(chǔ)器訪問(wèn)時(shí)存放段的基址。,3、控制寄存器,(1)指令指針寄存器,指令指針寄存器IP中存放著下一條要取出指令的偏移地址,它具有自動(dòng)加1功能,每取出1B的指令機(jī)器碼,它就自動(dòng)加1,使它指向下一個(gè)要取的內(nèi)存單元。這個(gè)寄存器由CPU內(nèi)部使用,CPU正是利用此寄存器才

22、確保程序中的指令能依次執(zhí)行。程序中不可訪問(wèn)此寄存器,但某些指令具有隱含改變IP的功能,如轉(zhuǎn)移、循環(huán)、調(diào)用子程序等指令。,(2)標(biāo)志寄存器,標(biāo)志寄存器(Flag Register)共有16位,其中7位未用。標(biāo)志寄存器內(nèi)容如圖2-5所示。,這9個(gè)標(biāo)志位按功能分為6個(gè)條件標(biāo)志和3個(gè)控制標(biāo)志。條件標(biāo)志用于存放程序運(yùn)行的狀態(tài)信息,由硬件自動(dòng)設(shè)定??刂茦?biāo)志由軟件設(shè)定,用于中斷、串操作等控制 。,4、 標(biāo)志寄存器,圖2-5標(biāo)志寄存器結(jié)構(gòu)圖,OF:溢出標(biāo)志。反映帶符號(hào)數(shù)運(yùn)算結(jié)果是否超過(guò)機(jī)器所能表示的數(shù)值范圍,對(duì)字節(jié)運(yùn)算為128+127,對(duì)字運(yùn)算為32768+32767。若超過(guò)上述范圍稱為“溢出”,OF置1;否

23、則,置0。,SF:符號(hào)標(biāo)志。反映運(yùn)算結(jié)果的符號(hào)。若結(jié)果為負(fù)數(shù),即最高位為1時(shí),SF置1;否則,置0。SF取值與運(yùn)算結(jié)果最高位一致。,(1)條件標(biāo)志,ZF:零標(biāo)志。反映運(yùn)算結(jié)果是否為零。若結(jié)果為零,ZF置1;否則,置0。,AF:半進(jìn)位標(biāo)志。反映一個(gè)8位量的低4位向高4位有無(wú)進(jìn)位或借位。有則置1;否則,置0。用于BCD碼算術(shù)運(yùn)算指令。,PF:奇偶標(biāo)志。反映操作結(jié)果的低8位中“1”的個(gè)數(shù)的奇偶性。若“1”的個(gè)數(shù)為偶數(shù),PF置1;否則,置0。,CF:進(jìn)位標(biāo)志。反映算術(shù)運(yùn)算后最高位出現(xiàn)進(jìn)位或借位的情況。有則置1;否則,置0。移位和循環(huán)指令也會(huì)改變CF的值。,標(biāo)志寄存器(Flag Register)共有1

24、6位,其中7位未用。標(biāo)志寄存器內(nèi)容如圖2-5所示。,4、 標(biāo)志寄存器,圖2-5標(biāo)志寄存器結(jié)構(gòu)圖,(1)控制標(biāo)志,DF:方向標(biāo)志。進(jìn)行字符串操作時(shí),每執(zhí)行一條串操作指令,對(duì)地址會(huì)進(jìn)行一次自動(dòng)調(diào)整,由DF決定地址是增還是減。若DF為1,則為減,否則為增。,IF:表示系統(tǒng)是否允許“外部可屏蔽中斷”(其含義見(jiàn)后述“中斷”內(nèi)容)。若IF為1,表示允許;否則表示不允許。IF對(duì)非屏蔽中斷和內(nèi)部中斷請(qǐng)求不起作用。該標(biāo)志可由中斷控制指令設(shè)置或清除。,TF:陷阱標(biāo)志。TF為1時(shí),CPU每執(zhí)行完一條指令,便自動(dòng)產(chǎn)生一個(gè)內(nèi)部中斷,可以利用它對(duì)程序進(jìn)行逐條檢查。程序調(diào)試過(guò)程中的“單步執(zhí)行”就是利用這個(gè)標(biāo)志。,分析【例2

25、.2】,68086的存儲(chǔ)體結(jié)構(gòu),8086CPU對(duì)應(yīng)的1MB存儲(chǔ)空間可分為兩個(gè)512KB的地址存儲(chǔ)體,其中由奇數(shù)地址的存儲(chǔ)單元組成的稱為高字節(jié)體(或奇體),和數(shù)據(jù)總線高8位D15D8相連;由偶數(shù)地址的存儲(chǔ)單元組成的稱為低字節(jié)體(或偶體),和數(shù)據(jù)總線低8位D7D0相連。,規(guī)則字:低位字節(jié)放在低偶地址單元,高位字節(jié)放在較高奇地址單元 非規(guī)則字:高位字節(jié)放在低偶地址單元,低位字節(jié)放在高奇地址單元,特殊情況: 1、如一個(gè)數(shù)據(jù)的高8位全部是0,只有低8位有非0的數(shù)據(jù),為節(jié)省內(nèi)存,只用一個(gè)字節(jié); 2、有時(shí)只需要存取一個(gè)數(shù)據(jù)的高8位,也會(huì)涉及到奇偶規(guī)則問(wèn)題。,8086存儲(chǔ)器的連接圖,7. 8086的總線操作時(shí)

26、序的概念,時(shí)鐘周期:(T狀態(tài)) 在微機(jī)系統(tǒng)中,CPU是在時(shí)鐘脈沖CLK的統(tǒng)一控制下,按節(jié)拍有序地執(zhí)行指令序列。時(shí)鐘脈沖的重復(fù)周期稱為時(shí)鐘周期,時(shí)鐘周期又叫T狀態(tài),是CPU的時(shí)間基準(zhǔn),時(shí)序系統(tǒng)中的最小時(shí)間單位,由計(jì)算機(jī)主頻決定。 如: 8086主頻是 5MHz,則其時(shí)鐘周期是? 1/5MHZ=0.210-6 s=200ns,指令周期: 執(zhí)行一條指令的全過(guò)程,從取指令開(kāi)始,經(jīng)過(guò)分析指令、對(duì)操作數(shù)尋址,然后執(zhí)行指令,保存操作結(jié)果,這個(gè)過(guò)程稱為指令執(zhí)行周期,簡(jiǎn)稱指令周期。不同指令的指令周期不一定是等長(zhǎng)的。 總線周期: 完成一次讀/寫(xiě)操作所需要的時(shí)間稱為總線周期,又稱機(jī)器周期。,一個(gè)指令周期又細(xì)分為若干

27、個(gè)總線周期,而一個(gè)總線周期又由若干個(gè)時(shí)鐘周期組成。 一個(gè)指令周期=n*總線周期(n=1) 一個(gè)總線周期=n*時(shí)鐘周期(n=1) 注意: 8086系統(tǒng)總線周期至少由四個(gè)時(shí)鐘周期組成(T1T4),7. 8086的總線操作時(shí)序的概念,空閑狀態(tài)時(shí)鐘周期(Ti): 若在完成一個(gè)總線周期后不發(fā)生任何總線操作,則填入空閑狀態(tài)時(shí)鐘周期(Ti),兩個(gè)總線周期之間插入幾個(gè)Ti與執(zhí)行的指令有關(guān)。 等待周期(Tw): 若存儲(chǔ)器或I/O端口在數(shù)據(jù)傳送中不能以足夠快的速度作出響應(yīng),會(huì)發(fā)出一個(gè)請(qǐng)求延長(zhǎng)總線周期的信號(hào)到8086 CPU的READY引腳,8086收到該請(qǐng)求后,則在T3與T4間插入一個(gè)或若干個(gè)等待周期(Tw,也是

28、時(shí)鐘周期),加入Tw的個(gè)數(shù)與請(qǐng)求信號(hào)的持續(xù)時(shí)間長(zhǎng)短有關(guān)。,7. 8086的總線操作時(shí)序的概念,2.2.2 8086的工作模式和引腳功能,8086有兩種工作模式:,最小模式,最大模式,最小模式:系統(tǒng)中只有1個(gè)微處理器,在這種系統(tǒng)中,8086直接產(chǎn)生所有的總線控制信號(hào),系統(tǒng)所需要的外加總線控制邏輯部件最少。最小模式適用于由單微處理器組成的小系統(tǒng)。,最大模式:系統(tǒng)中含有2個(gè)或多個(gè)微理器,其中1個(gè)為主處理器8086,其他的處理器稱為協(xié)處理器,它們是協(xié)助主處理器工作的。常見(jiàn)的有8087、8089兩種 。,引腳特性:,8086CPU采用雙列直插式的封裝形式,具有40條引腳。 分時(shí)復(fù)用:有一部分引腳采用分時(shí)

29、復(fù)用(如地址/數(shù)據(jù)總線),即在不同時(shí)鐘周期內(nèi),引腳的作用不同; 雙重功能:一部分引腳在最小模式和最大模式下的作用不同。 所以有一部分引腳具有雙重功能。 模式轉(zhuǎn)換:33號(hào)引腳MN/用于確定配置方式,當(dāng)MN/引腳接+5V電壓時(shí),8086工作在最小模式下;當(dāng)MN/引腳接地時(shí),8086工作在最大模式下。,圖2-6 8086的引腳信號(hào)(括號(hào)中為最大模式下的名稱),(1)AD0AD15(Address Data Bus):雙向/三態(tài) 。這16條線是多路轉(zhuǎn)換的地址/數(shù)據(jù)總線的復(fù)用引腳。在一個(gè)總線周期的第一個(gè)時(shí)鐘周期里,這些引腳表示地址的低16位。在其他的時(shí)鐘周期,這些引腳都用作數(shù)據(jù)總線。,(2)A16/S3

30、 A19/S6(Address/Status):輸出三態(tài)。 4條地址/狀態(tài)復(fù)用引腳,在一條指令執(zhí)行的第一個(gè)時(shí)鐘周期內(nèi)用作地址線,其余時(shí)鐘周期輸出系統(tǒng)的狀態(tài)信息。,(3)BHE/S7(Bus High Enable/Status):輸出/三態(tài)。 在讀、寫(xiě)以及中斷響應(yīng)的時(shí)序中,若為低電平,在數(shù)據(jù)總線的高8位上有數(shù)據(jù)傳送。在其他的時(shí)鐘周期,這條引腳用來(lái)輸出S7的信息,S7實(shí)際沒(méi)有定義,/S7 將維持其第一周期的輸出電平。若為高電平。此引腳無(wú)意義,不起作用。,(5)READY:輸入。當(dāng)存儲(chǔ)器(或輸入/輸出設(shè)備)的讀寫(xiě)操作已準(zhǔn)備就緒或預(yù)計(jì)可按時(shí)完成時(shí),就通過(guò)此線向CPU發(fā)一個(gè)高電平信號(hào),使READY有效

31、,表示可以在正常時(shí)序內(nèi)完成數(shù)據(jù)傳送操作。否則,存儲(chǔ)器(或輸入/輸出設(shè)備)就在某個(gè)合適的時(shí)間(總線周期的中間,如時(shí)鐘周期T3之前)通過(guò)此線向CPU發(fā)一個(gè)低電平信號(hào),則8086將插入TW時(shí)鐘周期而處于“等待”狀態(tài),一直到READY電平升高為止。,圖2-6 8086的引腳信號(hào)(括號(hào)中為最大模式下的名稱),(7)INTR:輸入。 可屏蔽中斷請(qǐng)求信號(hào),CPU在每條指令執(zhí)行的最后一個(gè)時(shí)鐘周期將采樣這個(gè)信號(hào)。如果允許中斷位IF為1,而且INTR為高,則8086將進(jìn)入一個(gè)中斷響應(yīng)的時(shí)序,并且轉(zhuǎn)移到相應(yīng)的中斷服務(wù)程序中,否則執(zhí)行下一條指令。INTR是高電平觸發(fā)的輸入信號(hào)。,(8)NMI:輸入。 不可屏蔽中斷請(qǐng)求

32、信號(hào),它是上升沿觸發(fā)的輸入信號(hào)。如果NMI從低電平變高,則8086將完成當(dāng)前指令的執(zhí)行,然后把控制轉(zhuǎn)移到不可屏蔽中斷服務(wù)程序。不可屏蔽中斷服務(wù)程序的地址放在存儲(chǔ)單元00008H起的4個(gè)字節(jié)中。對(duì)于這種中斷,IF標(biāo)志位是不能禁止的。這就是“不可屏蔽”的含義。,圖2-6 8086的引腳信號(hào)(括號(hào)中為最大模式下的名稱),(9)RESET:輸入。系統(tǒng)復(fù)位信號(hào),由8284時(shí)鐘發(fā)生器同步后送給CPU,加電源時(shí),RESET高電平信號(hào)至少要持續(xù)50s。,和A0對(duì)數(shù)據(jù)訪問(wèn)的控制作用,和A0這兩個(gè)信號(hào),用來(lái)配合讀/寫(xiě)操作,指出當(dāng)前的16位數(shù)據(jù)總線中哪幾位有效,如表2-2所示。,圖2-6 8086的引腳信號(hào)(括號(hào)中

33、為最大模式下的名稱),最小模式下的引腳信號(hào)意義,8086CPU最小模式下的典型配置,外部晶體振蕩器產(chǎn)生的振蕩信號(hào)經(jīng)8284A分頻后,作為主頻信號(hào)CLK提供給8086。同時(shí)將外部的準(zhǔn)備好信號(hào)READY和復(fù)位信號(hào)RESET整理后送往8086。 8282功能說(shuō)明: 8282的作用是在地址鎖存信號(hào)ALE控制下經(jīng)8282鎖存后輸出8086的20位地址信號(hào)A19A16,AD15AD0,以及高位字節(jié)允許信號(hào)。 8286功能說(shuō)明: 8086CPU在8286的控制下實(shí)現(xiàn)16位數(shù)據(jù)線AD15AD0雙向數(shù)據(jù)傳送。,8284A功能說(shuō)明:,8086CPU最小模式下的典型配置,2最大工作模式,圖2-6 8086的引腳信號(hào)

34、(括號(hào)中為最大模式下的名稱),在最大控制模式下工作時(shí),控制信號(hào)是通過(guò)8288總線控制器提供的。最大模式用于中、大型的系統(tǒng)。,S2、S1、S0和總線具體操作之間的對(duì)應(yīng)關(guān)系,8086CPU最大工作模式下的典型配置,最大模式系統(tǒng)示例,包含兩個(gè)處理器8086和8087的連接示意圖,進(jìn)一步說(shuō)明主處理器和協(xié)處理器之間的協(xié)調(diào)工作問(wèn)題和對(duì)總線的共享控制問(wèn)題。,2.2.3 8086的總線時(shí)序,8086CPU的總線周期主要有以下幾種: 最小模式下的總線讀寫(xiě),包括存儲(chǔ)器讀寫(xiě)和I/O讀寫(xiě)。 最大模式下的總線讀寫(xiě),包括存儲(chǔ)器讀寫(xiě)和I/O讀寫(xiě)。 中斷周期。 最小模式下的總線保持。 最大模式下的總線請(qǐng)求/允許。 最大模式與

35、最小模式的總線讀寫(xiě)周期操作在邏輯上基本相同,只是在最大模式下要同時(shí)考慮CPU發(fā)出的信號(hào)和總線控制器發(fā)出的信號(hào)。,1、最小模式下的總線周期時(shí)序,(1)讀周期的時(shí)序(見(jiàn)圖2-11),圖2-11 8086讀總線周期,一個(gè)基本的讀周期一般包含如下幾個(gè)狀態(tài):,T1狀態(tài):M/信號(hào)有效,指出讀內(nèi)存還是I/O。高為讀內(nèi)存,低為讀I/O。CPU送出20位地址信號(hào),高4位通過(guò)A16/S3 A19/S6,低16位通過(guò)AD0AD15,需鎖存。ALE輸出信號(hào)作為地址鎖存信號(hào);信號(hào)低電平有效,表示高8位數(shù)據(jù)總線上信息可用,信號(hào)也同樣要被鎖存到地址鎖存器中。 T2狀態(tài):地址信號(hào)消失,AD15-AD0進(jìn)入高阻狀態(tài)為讀入數(shù)據(jù)作

36、準(zhǔn)備。 T3狀態(tài):若存儲(chǔ)器和外設(shè)速度足夠快,此時(shí)CPU接收數(shù)據(jù)。 Tw狀態(tài):如果存儲(chǔ)器和外設(shè)速度較慢,還要在T3之后插入一個(gè)或幾個(gè)Tw。Tw不是必須的。 T4狀態(tài):一個(gè)總線周期結(jié)束,數(shù)據(jù)從總線上撤銷,數(shù)據(jù)、地址總線均進(jìn)入高阻狀態(tài)。,(2)寫(xiě)周期的時(shí)序,取代,:即寫(xiě)操作取代了讀操作。,:讀周期中為低電平,控制數(shù)據(jù)從總線進(jìn)入CPU; 寫(xiě)周期中為高電平,控制數(shù)據(jù)從CPU進(jìn)入總線。,圖2-12 8086寫(xiě)總線周期,DT/,2、最大模式下的總線周期時(shí)序,讀操作允許,每個(gè)T狀態(tài)的時(shí)序操作:,1)控制信號(hào)在最大模式下由總線控制器8288產(chǎn)生,在T1期間,ALE信號(hào)將地址鎖存;由狀態(tài)信號(hào)判斷為讀操作,DTR輸

37、出低電平。 2)在T2期間,8086將AD15AD0切換到數(shù)據(jù)總線;然后輸出信號(hào)DEN=1(相位與最小模式下相反),接通數(shù)據(jù)收發(fā)器,允許數(shù)據(jù)輸出到8086。 3)在讀周期的T3狀態(tài)開(kāi)始時(shí),8086采樣READY,若其為有效電平,進(jìn)入T4狀態(tài)。8086讀取數(shù)據(jù),一次讀操作完成。在T4之前的時(shí)鐘周期信號(hào)(如T3)的上升沿,8086就發(fā)出過(guò)渡的狀態(tài)信息s0 s1 s2111,使各信號(hào)在T4周期恢復(fù)初態(tài)(無(wú)源狀態(tài))。一旦進(jìn)入無(wú)源狀態(tài)就意味著很快可以啟動(dòng)一個(gè)新的總線周期。 4)等待狀態(tài)Tw的插入過(guò)程與最小模式時(shí)相同。,(2)最大模式下的總線寫(xiě)存儲(chǔ)器操作,最大模式下的總線寫(xiě)存儲(chǔ)器操作要完成的功能也是要將C

38、PU輸出的數(shù)據(jù)寫(xiě)入指定的存儲(chǔ)器單元或IO端口。,寫(xiě)操作允許,圖2-14 8086最大模式下的總線寫(xiě)操作時(shí)序,1)在T1期間,8086發(fā)出地址和狀態(tài)信號(hào),ALE信號(hào)將地址鎖存,8288判斷為寫(xiě)操作( s0 s1 s2 010),DTR輸出高電平。 2)在T2期間,8086將AD15AD0切換到數(shù)據(jù)總線;然后輸出信號(hào)DEN=1(相位與最小模式下相反)和寫(xiě)命令或(這兩個(gè)信號(hào)大約相差200ns),接通數(shù)據(jù)收發(fā)器,允許數(shù)據(jù)經(jīng)數(shù)據(jù)總線寫(xiě)到選中的存儲(chǔ)器單元。 3)T3狀態(tài)開(kāi)始時(shí),8086采樣READY,若其為有效電平,進(jìn)入T4狀態(tài)。8086一次寫(xiě)操作完成。 s0 s1 s2 111,使系統(tǒng)各信號(hào)恢復(fù)初態(tài)。迎接下一個(gè)新的總線周期。,每個(gè)T

溫馨提示

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

評(píng)論

0/150

提交評(píng)論