z2009微機(jī)原理第一章_第1頁(yè)
z2009微機(jī)原理第一章_第2頁(yè)
z2009微機(jī)原理第一章_第3頁(yè)
z2009微機(jī)原理第一章_第4頁(yè)
z2009微機(jī)原理第一章_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微機(jī)原理南京理工大學(xué)機(jī)械工程學(xué)院張衛(wèi)機(jī)械樓304室課程目標(biāo)微機(jī)原理是學(xué)習(xí)和掌握微機(jī)硬件知識(shí)和匯編語(yǔ)言程序設(shè)計(jì)的入門(mén)課程:微型計(jì)算機(jī)的基本工作原理匯編語(yǔ)言程序設(shè)計(jì)微型計(jì)算機(jī)接口技術(shù)建立微型計(jì)算機(jī)系統(tǒng)的整體概念,形成微機(jī)系統(tǒng)軟硬件開(kāi)發(fā)的初步能力基本要求(1)了解微型計(jì)算機(jī)的基本組成和硬件、軟件的基本概念;(2)掌握Intel8086/8088CPU的功能結(jié)構(gòu)和工作原理;(3)掌握Intel8086/8088CPU的指令系統(tǒng)和基本的匯編語(yǔ)言程序設(shè)計(jì)方法;(4)掌握微型計(jì)算機(jī)存儲(chǔ)器的組織和擴(kuò)展,以及中斷基本概念和中斷技術(shù);(5)深入地了解微機(jī)系統(tǒng)的基本接口技術(shù),掌握常用接口芯片的應(yīng)用。主要參考書(shū)王建宇等,微型計(jì)算機(jī)原理及應(yīng)用,電子工業(yè)出版社,2005雷麗文等,微機(jī)原理與接口技術(shù),電子工業(yè)出版社,2005雷麗文等,微機(jī)原理與接口技術(shù)——學(xué)習(xí)指導(dǎo)與實(shí)驗(yàn),電子工業(yè)出版社,2001戴梅萼史嘉權(quán),微型計(jì)算機(jī)技術(shù)及應(yīng)用,清華大學(xué)出版社,2003戴梅萼,微型計(jì)算機(jī)技術(shù)及應(yīng)用——習(xí)題、實(shí)驗(yàn)題與綜合訓(xùn)練題集,清華大學(xué)出版社,2004課程大綱1微型計(jì)算機(jī)概述

(10)28086/8088的指令系統(tǒng) (10)3匯編語(yǔ)言程序設(shè)計(jì) (6)4存儲(chǔ)器系統(tǒng) (4)5中斷系統(tǒng) (8259A) (4)6輸入輸出接口(8253,8255A) (6)實(shí)驗(yàn):(8)1熟悉匯編語(yǔ)言程序的編輯、連接、運(yùn)行過(guò)程和調(diào)試方法匯編語(yǔ)言程序設(shè)計(jì)、編制與調(diào)試運(yùn)行可編程并行接口芯片8255A的應(yīng)用4中斷控制器8259A的應(yīng)用第一章微型計(jì)算機(jī)概述1.1微機(jī)發(fā)展概述1.2微型計(jì)算機(jī)的工作過(guò)程1.38086/8088微處理器1.48086/8088CPU典型時(shí)序分析

1.1

微機(jī)發(fā)展概述

1.1.1微型計(jì)算機(jī)系統(tǒng)的基本概念

1.1.2微型計(jì)算機(jī)的常用術(shù)語(yǔ)和指標(biāo)

1.1.3微型計(jì)算機(jī)的發(fā)展

1.1.4微型計(jì)算機(jī)系統(tǒng)的特點(diǎn)系統(tǒng)軟件應(yīng)用軟件微處理器硬件軟件微型計(jì)算機(jī)系統(tǒng)微型計(jì)算機(jī)外設(shè)電源算術(shù)邏輯部件(ALU)累加器、寄存器控制部件內(nèi)部總線(xiàn)鍵盤(pán)、鼠標(biāo)顯示器軟驅(qū)、硬盤(pán)、光驅(qū)打印機(jī)、掃描儀微型計(jì)算機(jī)系統(tǒng)的三個(gè)層次存儲(chǔ)器(ROM,RAM)I/O接口系統(tǒng)總線(xiàn)

1.1.2微型計(jì)算機(jī)的常用術(shù)語(yǔ)和指標(biāo)1.位、字節(jié)和字

位(bit)是計(jì)算機(jī)所能表示的最小最基本的數(shù)據(jù)單位它指的是取值只能為0或1的一個(gè)二進(jìn)制數(shù)值位。位作為單位時(shí)記作b

。

字節(jié)(byte)由8個(gè)二進(jìn)制位組成,通常用作計(jì)算存儲(chǔ)容量的單位,字節(jié)作為單位時(shí)記作B

。

字(Word)由16個(gè)二進(jìn)制位組成,通常定義為兩個(gè)字節(jié)為一個(gè)字,字作為單位時(shí)記作

W。

K是kelo的縮寫(xiě),1K=1024=210個(gè)字節(jié);

M是mega的縮寫(xiě),1M=1024K=220個(gè)字節(jié);

G是giga的縮寫(xiě),1G=1024M=230個(gè)字節(jié);

T是tera的縮寫(xiě),1T=1024G=240個(gè)字節(jié)。4.MIPS微型計(jì)算機(jī)常用術(shù)語(yǔ)和指標(biāo)

MIPS是MillionsofInstructionPerSecond的縮寫(xiě),用來(lái)表示微處理器的性能,意思是每秒鐘能執(zhí)行多少百萬(wàn)條指令由于執(zhí)行不同類(lèi)型的指令所需時(shí)間長(zhǎng)度不同,所以MIPS通常是根據(jù)不同指令出現(xiàn)的頻度乘上不同的系數(shù)求得的統(tǒng)計(jì)平均值。主頻為25MHz的80486其性能大約是20MIPS,

主頻為400MHz的PentiumII的性能為832MIPS5.微處理器的生產(chǎn)工藝指在硅材料上生產(chǎn)微處理器時(shí)內(nèi)部各元器件間連接線(xiàn)的寬度,一般以m為單位,數(shù)值越小,生產(chǎn)工藝越先進(jìn),微處理器的功耗和發(fā)熱量越小。目前微處理器的生產(chǎn)工藝連接線(xiàn)寬度已經(jīng)達(dá)到32nm微型計(jì)算機(jī)常用術(shù)語(yǔ)和指標(biāo)6.微處理器的集成度指微處理器芯片上集成的晶體管的密度。最早Intel4004的集成度為2250個(gè)晶體管,酷睿i7四核的集成度已經(jīng)達(dá)到7.31億個(gè)晶體管以上,集成度提高了30萬(wàn)多倍。1.1.4微型計(jì)算機(jī)系統(tǒng)的特點(diǎn)1)體積小,重量輕采用大規(guī)模集成電路(LSI)和超大規(guī)模集成電路(VLSI),使微型機(jī)所含的器件數(shù)目大為減少,體積也大為縮小,可嵌入各種儀器和設(shè)備中。2)價(jià)格低根據(jù)摩爾定律,計(jì)算機(jī)的性能每18個(gè)月提高一倍,即計(jì)算機(jī)芯片的價(jià)格每18個(gè)月降低一倍。3)可靠性高,結(jié)構(gòu)靈活計(jì)算機(jī)內(nèi)部元器件數(shù)目少,連線(xiàn)較少,使微型機(jī)的可靠性提高。4)功能強(qiáng),性能高目前由于微型機(jī)的發(fā)展,很多微型機(jī)的功能都已超過(guò)以前的一些小型機(jī)。5)應(yīng)用面廣

目前微型機(jī)不僅占領(lǐng)了中小型機(jī)的各個(gè)應(yīng)用領(lǐng)域,且已經(jīng)滲透到我們生活的每一角落,可以說(shuō)現(xiàn)代社會(huì)已離不開(kāi)計(jì)算機(jī)。

一)計(jì)算機(jī)中的進(jìn)位計(jì)數(shù)制

1)進(jìn)位計(jì)數(shù)制的表示法(P55)

十進(jìn)制D:

二進(jìn)制B:

八進(jìn)制O/Q:

十六進(jìn)制H:

1.1.5計(jì)算機(jī)中數(shù)的表示和編碼2)進(jìn)位計(jì)數(shù)制之間的轉(zhuǎn)換二)計(jì)算機(jī)中常用的編碼(雷P7)1)BCD碼(Binary-CodedDecimal)(P37)

二進(jìn)制編碼的十進(jìn)制數(shù)例:(100010010001.01000101)BCD=891.45D

用29H/0209H表達(dá)29D

2)ASCII碼(AmericanNationalStandardCodeforInformationInterchange)(附錄A)

美國(guó)標(biāo)準(zhǔn)信息代碼

0+7位,<20H為不可顯示命令代碼,數(shù)字0011+(0000~1001)B

3)漢字的編碼:中國(guó)《信息交換用漢字編碼》內(nèi)碼=國(guó)際碼兩字節(jié)首位置1如:啊=B0A1H三)帶符號(hào)數(shù)的表示(雷P9)1)機(jī)器數(shù)與真值

帶有數(shù)碼化的正負(fù)號(hào)的數(shù)稱(chēng)機(jī)器數(shù)。

2)原碼

最高位為0表示正數(shù),1表示負(fù)數(shù),后面各位為其數(shù)值。

3)反碼

正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼是對(duì)應(yīng)的正數(shù)連同符號(hào)位按位取反。

4)補(bǔ)碼正數(shù)的補(bǔ)碼與其原碼相同,負(fù)數(shù)的補(bǔ)碼為其反碼加1。X補(bǔ)=Y補(bǔ)+(-Z)補(bǔ)8位二進(jìn)制補(bǔ)碼表示的整數(shù)范圍是-128~+12716位二進(jìn)制補(bǔ)碼表示的整數(shù)范圍是-32768~+327671.2微型計(jì)算機(jī)的工作過(guò)程1.2.1微機(jī)的基本結(jié)構(gòu)和組成1.2.2微型計(jì)算機(jī)的工作過(guò)程1.2.1微型計(jì)算機(jī)的基本結(jié)構(gòu)和組成一、由微處理器、存儲(chǔ)器、總線(xiàn)、輸入設(shè)備和輸出設(shè)備五大部分組成二、微型計(jì)算機(jī)的基本結(jié)構(gòu)存儲(chǔ)器I/O接口輸入設(shè)備I/O接口數(shù)據(jù)總線(xiàn)DB控制總線(xiàn)CB地址總線(xiàn)AB輸出設(shè)備CPU總線(xiàn)——連接多個(gè)功能部件的一組公共信號(hào)線(xiàn)各部件通過(guò)總線(xiàn)連接。(內(nèi)部/外部)作用:變部件間復(fù)雜關(guān)系為對(duì)總線(xiàn)的單一關(guān)系三、微型計(jì)算機(jī)的(系統(tǒng))總線(xiàn)結(jié)構(gòu)地址總線(xiàn)AB用來(lái)傳送CPU輸出地址的信號(hào)線(xiàn),確定被訪(fǎng)問(wèn)的存儲(chǔ)單元、I/O端口的地址。地址總線(xiàn)是單向三態(tài)地址總線(xiàn)的條數(shù)決定微處理器的尋址能力2n數(shù)據(jù)總線(xiàn)DB

CPU用來(lái)與存儲(chǔ)器、I/O接口之間進(jìn)行數(shù)據(jù)傳送的信號(hào)線(xiàn),數(shù)據(jù)總線(xiàn)總是雙向三態(tài)數(shù)據(jù)總線(xiàn)的條數(shù)決定微處理器可以傳送的數(shù)據(jù)位數(shù)控制總線(xiàn)CB

CPU用來(lái)傳送各種控制信號(hào)的,以實(shí)現(xiàn)CPU對(duì)存儲(chǔ)器、I/O接口和外設(shè)的控制。該組信號(hào)線(xiàn)較復(fù)雜。它決定了總線(xiàn)功能的強(qiáng)弱和適應(yīng)性的好壞.算術(shù)邏輯運(yùn)算部件ALU有兩個(gè)輸入端和兩個(gè)輸出端。用來(lái)與累加器共同完成算術(shù)和邏輯運(yùn)算。輸入一端接累加器,一端接寄存器陣列。輸出一端接數(shù)據(jù)總線(xiàn),一端接標(biāo)志寄存器累加器ACC是一個(gè)特殊的寄存器,作為ALU的輸入/輸出數(shù)據(jù)暫存和具有移位功能,所有運(yùn)算的數(shù)據(jù)都要通過(guò)累加器故累加器在微處理器中使用十分頻繁。標(biāo)志寄存器F又稱(chēng)狀態(tài)寄存器,是一個(gè)特殊的寄存器,用來(lái)記錄ALU運(yùn)算結(jié)果的一些狀態(tài),如符號(hào)(S)、進(jìn)位(C)溢出(OV)、奇偶(P)、結(jié)果為零(Z)等。

1程序計(jì)數(shù)器PC

是管理程序運(yùn)行的特殊功能寄存器,其作用是指明下一條指令在存儲(chǔ)器中的地址,或者說(shuō)PC指向哪里,程序就運(yùn)行到哪里。2寄存器陣列包括通用寄存器組、地址寄存器、變址寄存器(SI、DI)和堆棧指示器(SP),用來(lái)寄存參與運(yùn)算的數(shù)據(jù)(操作數(shù))和操作數(shù)的地址。3指令寄存器、指令譯碼器和定時(shí)與控制信號(hào)電路是用來(lái)存放當(dāng)前正在執(zhí)行的指令,以及用來(lái)對(duì)指令進(jìn)行分析譯碼,產(chǎn)生執(zhí)行此條命令所需的全部控制信號(hào)。4總線(xiàn)緩沖器和內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)把ALU和CPU內(nèi)各寄存器連接起來(lái),分別通過(guò)數(shù)據(jù)緩沖器和地址緩沖器與芯片外的系統(tǒng)總線(xiàn)相連。四、微處理器的內(nèi)部結(jié)構(gòu)與基本功能標(biāo)志寄存器FR寄存器陣列程序計(jì)數(shù)器PC(指令指針I(yè)P)累加器ACC指令寄存器IR定時(shí)與控制OC指令譯碼器ID地址寄存器MAR數(shù)據(jù)緩沖器MDRALU內(nèi)部數(shù)據(jù)總線(xiàn)控制信號(hào)外部信號(hào)地址總線(xiàn)AB數(shù)據(jù)總線(xiàn)DB地址緩沖器算術(shù)邏輯運(yùn)算部件ALU有兩個(gè)輸入端和兩個(gè)輸出端。用來(lái)與累加器共同完成算術(shù)和邏輯運(yùn)算。輸入一端接累加器,一端接寄存器陣列。輸出一端接數(shù)據(jù)總線(xiàn),一端接標(biāo)志寄存器累加器ACC是一個(gè)特殊的寄存器,作為ALU的輸入/輸出數(shù)據(jù)暫存和具有移位功能,所有運(yùn)算的數(shù)據(jù)都要通過(guò)累加器故累加器在微處理器中使用十分頻繁。標(biāo)志寄存器F又稱(chēng)狀態(tài)寄存器,是一個(gè)特殊的寄存器,用來(lái)記錄ALU運(yùn)算結(jié)果的一些狀態(tài),如符號(hào)(S)、進(jìn)位(C)溢出(OV)、奇偶(P)、結(jié)果為零(Z)等。

1程序計(jì)數(shù)器PC

是管理程序運(yùn)行的特殊功能寄存器,其作用是指明下一條指令在存儲(chǔ)器中的地址,或者說(shuō)PC指向哪里,程序就運(yùn)行到哪里。2寄存器陣列包括通用寄存器組、地址寄存器、變址寄存器(SI、DI)和堆棧指示器(SP),用來(lái)寄存參與運(yùn)算的數(shù)據(jù)(操作數(shù))和操作數(shù)的地址。3指令寄存器、指令譯碼器和定時(shí)與控制信號(hào)電路是用來(lái)存放當(dāng)前正在執(zhí)行的指令,以及用來(lái)對(duì)指令進(jìn)行分析譯碼,產(chǎn)生執(zhí)行此條命令所需的全部控制信號(hào)。4總線(xiàn)緩沖器和內(nèi)部總線(xiàn)內(nèi)部總線(xiàn)把ALU和CPU內(nèi)各寄存器連接起來(lái),分別通過(guò)數(shù)據(jù)緩沖器和地址緩沖器與芯片外的系統(tǒng)總線(xiàn)相連。四、微處理器的內(nèi)部結(jié)構(gòu)與基本功能標(biāo)志寄存器FR寄存器陣列程序計(jì)數(shù)器PC(指令指針I(yè)P)累加器ACC指令寄存器IR定時(shí)與控制OC指令譯碼器ID地址寄存器MAR數(shù)據(jù)緩沖器MDRALU內(nèi)部數(shù)據(jù)總線(xiàn)控制信號(hào)外部信號(hào)地址總線(xiàn)AB數(shù)據(jù)總線(xiàn)DB地址緩沖器

將事先編制完成由指令序列組成的程序存放到存儲(chǔ)器中,稱(chēng)程序存儲(chǔ)。逐條地從存儲(chǔ)器中取出指令并完成指令所指定的操作,稱(chēng)程序控制。執(zhí)行每一條指令,都包括取指、譯碼和執(zhí)行三個(gè)基本步驟微型計(jì)算機(jī)的工作過(guò)程,也就是不斷地取指令、譯碼和執(zhí)行的過(guò)程取指令,PC值加1

譯碼并執(zhí)行停機(jī)?結(jié)束1.2.2微型計(jì)算機(jī)的工作過(guò)程一.程序存儲(chǔ)和程序控制概念(馮·諾依曼概念)二.微型計(jì)算機(jī)的工作過(guò)程舉例計(jì)算Y=10+20將Y放到30單元中匯編語(yǔ)言程序

機(jī)器指令碼

對(duì)應(yīng)的操作MOVAL,10; 1011000000001010B00AH立即數(shù)10送到累加器AL中

ADDAL,20; 00000100000101000414HAL內(nèi)容加立即數(shù)20,結(jié)果在AL中

MOV[30],AL;1010001000011110A21EH將AL中的數(shù)傳送到地址單元30

HLT ;11110100F4H系統(tǒng)暫停

地址譯碼器地址內(nèi)容0000101100000001

000010100002

000001000003

000101000004

101000100005

000111100006

11110100

標(biāo)志寄存器FR寄存器陣列程序計(jì)數(shù)器PC累加器ACC指令寄存器IR定時(shí)與控制OC指令譯碼器ID地址寄存器AR數(shù)據(jù)緩沖器DRALU內(nèi)部數(shù)據(jù)總線(xiàn)控制信號(hào)外部信號(hào)地址緩沖器

地址總線(xiàn)數(shù)據(jù)總線(xiàn)三.微型計(jì)算機(jī)的工作過(guò)程0000000100000001000200001010指令寄存器IR10110000指令譯碼器ID定時(shí)與控制OC地址寄存器0000地址緩沖器第一步取指周期地址譯碼器0001數(shù)據(jù)緩沖器

DR10110000+1第二步存儲(chǔ)器讀周期地址寄存器0001地址緩沖器地址譯碼器數(shù)據(jù)緩沖器

DR00001010累加器ACC00001010地址譯碼器地址內(nèi)容0000101100000001

000010100002

000001000003

000101000004

101000100005

000111100006

11110100

標(biāo)志寄存器FR寄存器陣列程序計(jì)數(shù)器PC累加器ACC指令寄存器IR定時(shí)與控制OC指令譯碼器ID地址寄存器AR數(shù)據(jù)緩沖器DRALU內(nèi)部數(shù)據(jù)總線(xiàn)控制信號(hào)外部信號(hào)地址緩沖器

地址總線(xiàn)數(shù)據(jù)總線(xiàn)三.微型計(jì)算機(jī)的工作過(guò)程0000000100000001000200001010指令寄存器IR10110000指令譯碼器ID定時(shí)與控制OC地址寄存器0000地址緩沖器第一步取指周期地址譯碼器0001數(shù)據(jù)緩沖器

DR10110000+1第二步存儲(chǔ)器讀周期地址寄存器0001地址緩沖器地址譯碼器數(shù)據(jù)緩沖器

DR00001010累加器ACC000010101.38086/8088

微處理器1.3.18086/8088CPU的編程結(jié)構(gòu)1.3.2存儲(chǔ)器組織1.3.38086/8088CPU引線(xiàn)及其功能1.3.48086/8088CPU工作模式及系統(tǒng)構(gòu)成1.38086/8088

微處理器8086/8088微處理器是Intel公司推出的第三代CPU芯片;8086和8088CPU的內(nèi)部結(jié)構(gòu)基本相同,但它們的外部性能有所不同;8086是16位外部數(shù)據(jù)總線(xiàn),而8088是8位外部數(shù)據(jù)總線(xiàn);在處理16位數(shù)時(shí),8088需要兩步操作,而8086只需一步;8086/8088CPU內(nèi)部都采用16位結(jié)構(gòu)進(jìn)行操作及存儲(chǔ)器尋址;兩種處理器都封裝在相同的40腳雙列直插組件(DIP)中;有20根地址線(xiàn),可直接尋址的范圍都為220字節(jié);1.3.18086/8088CPU的編程結(jié)構(gòu)8086/8088CPU的功能結(jié)構(gòu)2.8086/8088CPU的內(nèi)部寄存器1)執(zhí)行部件EU(ExecutionUnit)

包括ALU(運(yùn)算器)、通用寄存器和狀態(tài)寄存器負(fù)責(zé)指令的執(zhí)行進(jìn)行16位的各種算術(shù)和邏輯運(yùn)算計(jì)算16位有效偏移地址EA(EffectAddress)2)總線(xiàn)接口部件BIU(BusInterfaceUnit)

包括段寄存器、指令指針、地址加法器和指令隊(duì)列緩沖器。負(fù)責(zé)與存儲(chǔ)器和I/O設(shè)備傳送數(shù)據(jù)。

2)總線(xiàn)接口部件BIU

①指令流隊(duì)列

8086的指令隊(duì)列為六個(gè)字節(jié),8088的指令隊(duì)列為四個(gè)字節(jié)。CPU

執(zhí)行指令同時(shí),取出下一條指令或下幾條指令,放在指令隊(duì)列中。執(zhí)行完一條指令就可以立即執(zhí)行下一條指令,從而提高了CPU的效率。

2)總線(xiàn)接口部件

②地址加法器Σ

地址加法器將16位的段地址CS左移4位和16位的有效偏移地址IP

相加,生成20位的物理地址。例:

CS=0FE00HIP=0400H20位的物理地址=0FE400H

3)流水線(xiàn)技術(shù)原則

①每當(dāng)8086的指令隊(duì)列中有兩個(gè)空字節(jié),或者8088的指令隊(duì)列中有一個(gè)空字節(jié)時(shí),總線(xiàn)接口部件就會(huì)自動(dòng)把指令取到指令隊(duì)列中。

3)流水線(xiàn)技術(shù)原則

②在執(zhí)行指令的過(guò)程中,如果必須訪(fǎng)問(wèn)存儲(chǔ)器或者輸入/輸出設(shè)備,

EU就會(huì)請(qǐng)求BIU,進(jìn)入存取操作數(shù)總線(xiàn)周期。如果BIU處于空閑狀態(tài),將立即響應(yīng)EU的總線(xiàn)請(qǐng)求。若BIU正在取指令字節(jié)到指令隊(duì)列中,則

BIU將先完成取指令的總線(xiàn)周期,再響應(yīng)EU發(fā)出的訪(fǎng)問(wèn)總線(xiàn)的請(qǐng)求。

3)流水線(xiàn)技術(shù)原則

③當(dāng)指令隊(duì)列已滿(mǎn),而且執(zhí)行部件EU又沒(méi)有總線(xiàn)訪(fǎng)問(wèn)請(qǐng)求時(shí),總線(xiàn)接口部件BIU便進(jìn)入空閑狀態(tài)。④在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),BIU使指令隊(duì)列中的原有內(nèi)容被自動(dòng)消除,并從新的地址單元取指令,立即送EU執(zhí)行。

總線(xiàn)接口部件BIU(BusInterfaceUnit)執(zhí)行部分EU(ExecutionUnit)狀態(tài)標(biāo)志寄存器運(yùn)算寄存器SPBPDISICS123456執(zhí)行部件控制電路輸入輸出控制電路AHALBHBLCHCLDHDLALU指令隊(duì)列緩沖器內(nèi)部總線(xiàn)外部總線(xiàn)DSSSESIP內(nèi)部暫存器Σ16位20位地址加法器段寄存器AHALBHBLCHCLDHDLSPBPDISI狀態(tài)標(biāo)志寄存器運(yùn)算寄存器執(zhí)行部件控制電路ALUCS123456輸入輸出控制電路DSSSESIP內(nèi)部暫存器Σ123456CSIPΣ000004190151.8086/8088CPU的功能結(jié)構(gòu)

2.8086/8088CPU的內(nèi)部寄存器

包括數(shù)據(jù)寄存器、指針寄存器、變址寄存器、控制寄存器和段寄存器狀態(tài)標(biāo)志寄存器運(yùn)算寄存器SPBPDISICS123456執(zhí)行部件控制電路輸入輸出控制電路AHALBHBLCHCLDHDLALU指令隊(duì)列緩沖器內(nèi)部總線(xiàn)外部總線(xiàn)DSSSESIP內(nèi)部暫存器Σ16位20位地址加法器段寄存器執(zhí)行部分(EU)總線(xiàn)接口部件(BIU)SPBPDISIAHALBHBLCHCLDHDLCSDSSSESIP內(nèi)部暫存器狀態(tài)標(biāo)志寄存器1)數(shù)據(jù)寄存器

AX:累加器字乘法、字除法、字I/O

AH:字節(jié)乘、字節(jié)除

AL:字節(jié)乘、字節(jié)除、字節(jié)I/O、查表和十進(jìn)制運(yùn)算

BX:基址寄存器查表時(shí)存放表的首地址

CX:計(jì)數(shù)寄存器數(shù)據(jù)串操作、循環(huán)次數(shù)

CL:變量位移、循環(huán)控制

DX:數(shù)據(jù)寄存器字節(jié)乘、字節(jié)除、間接I/O地址

8086/8088CPU的內(nèi)部寄存器AHALBHBLCHCLDHDLAXBXCXDX2)指針寄存器

8086/8088的指針寄存器有兩個(gè)SP和BP

SP是堆棧指針寄存器:和堆棧段寄存器SS一起來(lái)確定堆棧的棧頂在內(nèi)存中的偏移地址,又稱(chēng)棧頂指針

BP是基址指針寄存器:通常用于存放數(shù)據(jù)區(qū)基址偏移地址。

SPBP8086/8088CPU的內(nèi)部寄存器3)變址寄存器

8086/8088的變址寄存器有兩個(gè)SI和DI,都用于指令的變址尋址

SI是源變址寄存器:通常指向源操作數(shù)。用來(lái)存放當(dāng)前數(shù)據(jù)段中源操作數(shù)地址偏移量

DI是目的變址寄存器:通常指向目的操作數(shù)。用來(lái)存放當(dāng)前數(shù)據(jù)段中目標(biāo)操作數(shù)地址偏移量

SIDI8086/8088CPU的內(nèi)部寄存器4)控制寄存器

8086/8088的控制寄存器有指令指針寄存器IP

和標(biāo)志寄存器F①I(mǎi)P是指令指針寄存器,它和代碼段寄存器CS一起可以確定當(dāng)前所要取指令的內(nèi)存地址。但不一定是將要執(zhí)行的指令。順序執(zhí)行程序時(shí),CPU每取一個(gè)指令字節(jié),IP自動(dòng)加1,指向下一個(gè)要讀取的字節(jié)。當(dāng)IP單獨(dú)改變時(shí),會(huì)發(fā)生段內(nèi)轉(zhuǎn)移。當(dāng)CS和IP同時(shí)改變時(shí),會(huì)產(chǎn)生段間的程序轉(zhuǎn)移。IP狀態(tài)標(biāo)志寄存器8086/8088CPU的內(nèi)部寄存器進(jìn)位標(biāo)志位(CarryFlag)CF=1表示加法或減法運(yùn)算結(jié)果,在最高位上產(chǎn)生進(jìn)位或借位;

CF=0則表示無(wú)進(jìn)位或借位。

CFCF奇偶標(biāo)志位(ParityFlag)

PF=1表示運(yùn)算結(jié)果中l(wèi)的個(gè)數(shù)為偶數(shù);

PF=0表示運(yùn)算結(jié)果中l(wèi)的個(gè)數(shù)為奇數(shù);

PF0100100000001000輔助進(jìn)位標(biāo)志位(AuxiliaryFlag),也稱(chēng)半進(jìn)位標(biāo)志位。

AF=1表示運(yùn)算結(jié)果的低4位產(chǎn)生進(jìn)位或借位;

AF=0表示無(wú)進(jìn)位或借位;該標(biāo)志位通常用于對(duì)BCD算術(shù)運(yùn)算結(jié)果的調(diào)整。

AF零標(biāo)志位(ZeroFlag)

ZF=1表示運(yùn)算結(jié)果各位都為0;

ZF=0表示結(jié)果非零;

ZF符號(hào)標(biāo)志位(SignFlag)

SF=1表示帶符號(hào)數(shù)的運(yùn)算結(jié)果為負(fù),即運(yùn)算結(jié)果的最高位為1;

SF=0表示運(yùn)算結(jié)果為正;

SF10溢出標(biāo)志位(OverflowFlag)

OF=1表示帶符號(hào)數(shù)的算術(shù)運(yùn)算結(jié)果產(chǎn)生溢出,即結(jié)果超出了帶符號(hào)數(shù)所能表達(dá)的范圍,次高位向符號(hào)位進(jìn)位或借位而最高位無(wú)進(jìn)位

OF=0表示結(jié)果無(wú)溢出;OF中斷允許標(biāo)志位(InterruptFlag)。

IF=1表示中斷開(kāi)放,可以響應(yīng)可屏蔽中斷,允許接受外部從

INTR引腳發(fā)來(lái)的中斷請(qǐng)求;

IF=0表示關(guān)閉中斷,不接受從

INTR引腳發(fā)來(lái)的中斷請(qǐng)求;

STI指令設(shè)置使IF=1;

CLI指令清零使IF=0;IF方向標(biāo)志位(DirectionFlag)DF=1表示數(shù)據(jù)串指令將以地址遞減的順序?qū)?shù)據(jù)串進(jìn)行處理即從高地址到低地址處理數(shù)據(jù)串;DF=0表示數(shù)據(jù)串指令將以地址遞增的順序?qū)?shù)據(jù)串進(jìn)行處理

STD指令設(shè)置使DF=1;CLD指令清零使DF=0;

DF陷阱標(biāo)志位(TrapFlag)也稱(chēng)單步標(biāo)志位。TF=1表示8086/8088進(jìn)入單步指令工作方式。在每條指令開(kāi)始執(zhí)行前,CPU先測(cè)試T標(biāo)志位是否為1。如果為1,那么該指令執(zhí)行后將產(chǎn)生陷阱中斷,從而執(zhí)行陷阱中斷處理程序。其作用是將指令執(zhí)行后CPU內(nèi)部寄存器的情況顯示出來(lái),該標(biāo)志通常用于程序的調(diào)試。例如,在系統(tǒng)調(diào)試軟件DEBUG中的T命令,就是利用它來(lái)進(jìn)行程序的單步跟蹤。TF4)控制寄存器

②F標(biāo)志寄存器

也常稱(chēng)它為狀態(tài)標(biāo)志寄存器,用來(lái)存放8086/8088CPU在工作過(guò)程中的狀態(tài)。狀態(tài)標(biāo)志寄存器是一個(gè)16位的寄存器。8086/8088中用了9位,這些標(biāo)志位的含義如下:OFDFIFTFSFZFAFPFCF1514131211109876543210OFDFIFTFSFZFAFPFCF8086/8088CPU的內(nèi)部寄存器

求運(yùn)算后結(jié)果?

0010001101000101B + 0011001000011001B

OFSFZFAFPFCF151413121110987654321001010101

01011110BF標(biāo)志寄存器5)段寄存器

段寄存器用來(lái)存放各個(gè)段的首地址。

8086/8088微處理器具有四個(gè)段寄存器:

CS:代碼段寄存器(CodeSegment),劃定并控制程序區(qū);

DS:數(shù)據(jù)段寄存器(DataSegment),控制數(shù)據(jù)區(qū);

SS:堆棧段寄存器(StackSegment),控制堆棧區(qū);

ES:附加段寄存器(ExtraSegment),控制數(shù)據(jù)區(qū);這些段寄存器存放的首地址與有效的地址偏移量一起可確定內(nèi)存的物理地址。8086/8088CPU的內(nèi)部寄存器CSDSSSESIP1.3.28086/8088CPU的存儲(chǔ)器組織

8086/8088具有20根地址線(xiàn),其可尋址的內(nèi)存空間為220=1MB,內(nèi)部寄存器都只有16位,是不能尋址1MB存儲(chǔ)空間的。故引入了分段的概念1.分段結(jié)構(gòu)每個(gè)段具有64KB的存儲(chǔ)空間,1MB的存儲(chǔ)空間可分為16個(gè)邏輯段,各邏輯段允許在整個(gè)存儲(chǔ)空間浮動(dòng),且有如下幾種使用方式:各段可以不相連,即段與段之間有空閑存儲(chǔ)單元;各段可以連續(xù)排列,段與段之間沒(méi)有空閑存儲(chǔ)單元;各段可以部分重疊,段與段之間可以交叉;各段可以完全重疊,可令CS、SS、DS相等,使各段合并;對(duì)任何一個(gè)物理地址,可以唯一地被包含在一個(gè)邏輯段中,也可以在多個(gè)相互重疊的多個(gè)邏輯段中。64KB邏輯段1起點(diǎn)邏輯段10FFFFH64KB1FFFFH10000H64KB00000H0FFFFFH各段連續(xù)排列64KB邏輯段2起點(diǎn)邏輯段264KB邏輯段4、5起點(diǎn)邏輯段4、564KB邏輯段3起點(diǎn)邏輯段3各段靈活排列1MB存儲(chǔ)空間分段邏輯結(jié)構(gòu)圖示20000H2FFFFH64KB0F0000H64KB16個(gè)邏輯段1MB??????2.段地址、邏輯地址和物理地址物理地址:也稱(chēng)絕對(duì)地址,是唯一的;邏輯地址:由段基址和偏移量?jī)刹糠纸M成,其表示形式——段基址:偏移量;段基址:

是段寄存器給出的16位段起始地址,來(lái)自段寄存器;偏移量:

為存儲(chǔ)單元相對(duì)于段起始地址的16位偏移地址EA,

偏移量通常來(lái)自指令指針寄存器IP、基址寄存器BP、堆棧指針寄存器SP和變址寄存器SI、DI;在訪(fǎng)問(wèn)具體存儲(chǔ)單元時(shí),物理地址都是通過(guò)邏輯地址運(yùn)算得出,每個(gè)內(nèi)存單元的物理地址都是唯一的,同一個(gè)物理地址可以由不同的邏輯地址來(lái)構(gòu)成。加法器段寄存器的內(nèi)容×16(相當(dāng)于左移4位)變?yōu)?0位,再加上16位的偏移地址(有效偏移地址,EA),便可得到20位的物理地址。

物理地址的形成物理地址=段寄存器的內(nèi)容×10H十偏移地址邏輯地址有效偏移地址EA015段寄存器(段基址)000001520位物理地址019段基址、邏輯地址和物理地址圖例 JMP0F000H:0100HMOVAX,0D000HMOVDS,AXMOVAX,7200HMOVSS,AXMOVAX,1000HMOVES,AXCSDSSSESF000HD000H7200H1000H64K代碼段64K數(shù)據(jù)段64K堆棧段64K數(shù)據(jù)段E0FFFFFH0F0000H0D0000H

72000H

10000H00000H0F000H:0100H1.3.38086/8088CPU的引腳及其功能8086/8088CPU是具有40條引腳的雙列直插封裝集成電路芯片,從引腳功能上包括16條數(shù)據(jù)線(xiàn)、20條地址線(xiàn)和一系列控制線(xiàn),為了減少芯片的引線(xiàn),有許多引線(xiàn)具有雙重定義和功能,采用分時(shí)復(fù)用方式工作,即在不同時(shí)刻,引線(xiàn)的作用和引線(xiàn)上的信號(hào)是不相同的。

1)AD0~AD15:

地址/數(shù)據(jù)時(shí)分復(fù)用的信號(hào)線(xiàn)

CPU在讀寫(xiě)存儲(chǔ)器和外設(shè)時(shí),先輸出存儲(chǔ)器單元的地址或外設(shè)端口的地址,然后才讀寫(xiě)數(shù)據(jù),從而地址和數(shù)據(jù)在時(shí)序上是有先后的。在CPU外部配置地址鎖存器,把16條引腳上先出現(xiàn)的地址信號(hào)鎖存起來(lái),用鎖存器的輸出去選通存儲(chǔ)器的單元或外設(shè)端口,這時(shí)16條引腳就可以作為數(shù)據(jù)線(xiàn)進(jìn)行輸入或輸出操作。

2)A16~A19/S3~S6:地址/狀態(tài)分時(shí)復(fù)用三態(tài)輸出線(xiàn)在8086CPU執(zhí)行指令過(guò)程中,從這4條線(xiàn)上送出地址的最高4位A16

~A19,且只在訪(fǎng)問(wèn)存儲(chǔ)器時(shí)使用,在訪(fǎng)問(wèn)I/O接口時(shí)不用即A16

~A19

=0。在地址信號(hào)鎖存后,這4條線(xiàn)輸出S3~S6狀態(tài)信號(hào)。S6始終為低,表示8086當(dāng)前與總線(xiàn)相連,S5指示狀態(tài)寄存器中的中斷允許標(biāo)志的狀態(tài)。S4和S3用來(lái)指示CPU使用的段寄存器:

S4S300011011段寄存器ESSSCSDS

3)RESET(引腳21):

CPU的復(fù)位信號(hào)輸入端高電平有效。為使CPU完成內(nèi)部復(fù)位過(guò)程,該信號(hào)至少要在4個(gè)時(shí)鐘周期內(nèi)保持有效。復(fù)位后CPU內(nèi)部寄存器的狀態(tài):

ES、DS、SS、IP、F清零指令隊(duì)列緩沖器清零

CS置為FFFFHIF置為0(禁止中斷)復(fù)位后,RESET返回低電平時(shí)

CPU將從CS:IP的新地址即FFFF0H處重新啟動(dòng)系統(tǒng)。

4)CLK(引腳19):

時(shí)鐘信號(hào)輸入端由外接時(shí)鐘信號(hào)發(fā)生器8284A提供CPU和總線(xiàn)控制器所需的時(shí)鐘脈沖信號(hào)。

8086/8088的標(biāo)準(zhǔn)時(shí)鐘頻率為5MHz,脈沖的占空比為1/3,即1/3周期為高電平,2/3周期為低電平。

5)

NMI(引腳17):

非屏蔽中斷輸入信號(hào)邊沿觸發(fā),正跳變有效。所謂非屏蔽是指:不管IF中斷允許標(biāo)志是否置位,一旦CPU檢測(cè)到這條引腳上出現(xiàn)有效的正跳變信號(hào),則使CPU在現(xiàn)行指令執(zhí)行結(jié)束后,進(jìn)入執(zhí)行對(duì)應(yīng)中斷類(lèi)型號(hào)為2的非屏蔽中斷處理程序

6)

INTR(引腳18):

可屏蔽中斷信號(hào)輸入端高電平有效。CPU在每條指令執(zhí)行的最后一個(gè)狀態(tài)采樣該信號(hào)所謂可屏蔽是指:CPU檢測(cè)到該端出現(xiàn)有效的高電平后,只有中斷允許標(biāo)志IF=1,以允許中斷時(shí)才響應(yīng)該中斷。若IF=0,即使CPU檢測(cè)到該端出現(xiàn)有效的高電平,也不響應(yīng)中斷。即可以用軟件復(fù)位內(nèi)部的中斷允許位而將中斷請(qǐng)求信號(hào)加以屏蔽。

7)(引腳23):結(jié)束等待狀態(tài)控制信號(hào)輸入端

低電平有效。可用WAIT指令對(duì)該引腳進(jìn)行測(cè)試的輸入信號(hào),當(dāng)CPU執(zhí)行WAIT指令時(shí),

CPU進(jìn)入等待狀態(tài)(空轉(zhuǎn))。該信號(hào)有效時(shí),CPU結(jié)束等待狀態(tài),繼續(xù)執(zhí)行WAIT指令后的程序。該信號(hào)在每個(gè)時(shí)鐘周期的上升沿由內(nèi)部電路進(jìn)行同步檢測(cè)。

CPU進(jìn)入等待狀態(tài)時(shí),允許外部中斷,中斷返回后,繼續(xù)執(zhí)行WAIT指令后的程序。

8)(引腳32):讀選通輸出信號(hào)(三態(tài))

低電乎有效。當(dāng)其有效時(shí),表示CPU正在進(jìn)行存儲(chǔ)器讀或I/O讀操作。DMA操作時(shí)該線(xiàn)為浮空

9)(引腳33):工作模式信號(hào)當(dāng)為高電平(+5V)時(shí),表示工作在最小模式;當(dāng)為低電平(0V)時(shí),表示工作在最大模式。10)READY(引腳22):準(zhǔn)備就緒輸入信號(hào)高電平有效。當(dāng)CPU對(duì)存儲(chǔ)器或I/O進(jìn)行操作時(shí),在T3周期采樣READY信號(hào)。若其為低,表明存儲(chǔ)器或

I/O還未準(zhǔn)備好數(shù)據(jù),則在T3周期后,自動(dòng)插入Tw周期(等待周期)。在Tw周期中再采樣READY信號(hào),直至READY變?yōu)橛行У母唠娖叫盘?hào),Tw周期才可以結(jié)束,進(jìn)入T4周期,完成數(shù)據(jù)讀寫(xiě)傳送。11)/S7(引腳34):高8位數(shù)據(jù)允許/狀態(tài)復(fù)用輸出線(xiàn)低電平有效,分時(shí)復(fù)用三態(tài)信號(hào)在總線(xiàn)周期T1時(shí),8086在該引腳輸出信號(hào),表示高8位數(shù)據(jù)D15~D8數(shù)據(jù)有效。在其它時(shí)刻輸出S7,在8086系統(tǒng)中該S7未定義。在CPU訪(fǎng)問(wèn)存儲(chǔ)器時(shí),用于選擇以字或字節(jié)方式讀寫(xiě)存儲(chǔ)器。在CPU訪(fǎng)問(wèn)I/O時(shí),用于選擇I/O接口的高8位字節(jié)或低8位字節(jié)

信號(hào)和A0代碼組合,對(duì)于在總線(xiàn)上的存儲(chǔ)器和接口的數(shù)據(jù)傳輸選擇形式見(jiàn)教材表1-4。12)VCC:電源線(xiàn)(引腳40)

GND:接地端(引腳1、20)13)

8086CPU的24~31引腳給出了一組控制信號(hào),它們的功能和含義與

8086CPU的兩種工作方式相關(guān)將在工作方式中予以介紹。1.8086CPU的引腳功能GND1AD142AD133AD124AD115AD106AD97AD88AD79AD610AD511AD412AD313AD214AD115AD01639AD1538A16/S337A17/S436A18/S535A19/S634

/S740VCCGND20

CLK19INTR18NMI1733MN

/3231HOLD()30HLDA()29()28M

/()27DT/()26()25ALE(QS0)24(QS1)2322READY21RESET8086AD142AD133AD124AD115AD106AD97AD88AD79AD610AD511AD412AD313AD214AD115AD01639AD1538A16/S337A17/S436A18/S535A19/S621RESETCLK19NMI17INTR182322READY3233MN

/34

/S7GND140VCCGND20

31HOLD()30HLDA()29()28M

/()27DT/()26()25ALE(QS0)24(QS1)1.3.48086/8088CPU的工作模式及系統(tǒng)構(gòu)成8086/8088CPU與存儲(chǔ)器和外設(shè)構(gòu)成一個(gè)計(jì)算機(jī)系統(tǒng)時(shí),根據(jù)所連接的存儲(chǔ)器和外設(shè)的規(guī)模不同,可以組成兩種不同的工作模式,即最小工作模式和最大工作模式,也稱(chēng)為兩種不同的工作組態(tài)。CPU上有MN/

輸入引線(xiàn),用以決定8086/8088的兩種工作模式當(dāng)MN/

=1

時(shí),CPU工作在最小模式之下。此時(shí)系統(tǒng)的控制總線(xiàn)信號(hào)直接由CPU的24~

31引線(xiàn)形成;當(dāng)MN/

=0

時(shí),CPU工作在最大模式之下。此時(shí)系統(tǒng)的控制總線(xiàn)信號(hào)要由8086/8088CPU的

24~31引線(xiàn),經(jīng)8288總線(xiàn)控制器轉(zhuǎn)換后共同形成,可以構(gòu)成更大規(guī)模的系統(tǒng)。1.最小工作模式

8086CPU處于最小工作模式時(shí),系統(tǒng)中只有一個(gè)CPU,

CPU的控制總線(xiàn)信號(hào)直接由引腳24~31接出。最小的含義是:系統(tǒng)中的存儲(chǔ)器容量較小,外設(shè)端口也較少,所需的系統(tǒng)總線(xiàn)控制邏輯的規(guī)模較小,總線(xiàn)的驅(qū)動(dòng)能力不高,最小工作模式適用于小規(guī)模應(yīng)用場(chǎng)合。一.最小工作模式2.最小工作模式系統(tǒng)構(gòu)成系統(tǒng)的地址總線(xiàn)由外接的

8282地址鎖存器輸出。系統(tǒng)的數(shù)據(jù)總線(xiàn)由

8286總線(xiàn)收發(fā)器驅(qū)動(dòng),以增加總線(xiàn)驅(qū)動(dòng)能力,

8088只需一片8286。系統(tǒng)的控制總線(xiàn)直接給出。系統(tǒng)的時(shí)鐘脈沖由

8284A時(shí)鐘信號(hào)發(fā)生器接入,外接晶振的振蕩頻率為15MHZ,三分頻后作為8086的時(shí)鐘信號(hào)CLK。8284AREADYRESET+5VSTB地址鎖存器8282(三片)控制總線(xiàn)地址總線(xiàn)CLKRESETREADYALEA19~A16AD15~AD0HOLDHLDAINTR8086T收發(fā)器8286(兩片可選)數(shù)據(jù)總線(xiàn)3.8282地址鎖存器DI0DI1DI2DI3DI4DI5DI6DI7DO0DO1DO2DO3DO4DO5DO6DO7STBGNDVCCDCLK1234567811102091918171615141312Intel8282

是20條引腳雙列直插芯片,有8個(gè)帶鎖存器的單向三態(tài)緩沖器。DI0~DI7

為地址信號(hào)輸入端;DO0~DO7

:為地址信號(hào)輸出端;

:

是輸出三態(tài)控制線(xiàn),低電平有效,用作鎖存器信號(hào)輸出控制。當(dāng)接高電平時(shí),8282鎖存器輸出端處于高阻態(tài)。STB

是鎖存控制信號(hào)輸入端,高電平有效,接8086CPU的ALE地址鎖存允許信號(hào)輸出端,當(dāng)ALE有效時(shí)將

DI0~DI7

輸入的地址信號(hào)鎖存輸出,作為系統(tǒng)的地址總線(xiàn)。4.8286雙向數(shù)據(jù)收發(fā)器A0A1A2A3A4A5A6A7B0B1B2B3B4B5B6B7TGNDVCC1234567811102091918171615141312≥1≥1Intel8286

是20條引腳雙列直插芯片,內(nèi)部有8個(gè)雙向三態(tài)緩沖器。完成數(shù)據(jù)的接受和發(fā)送,具有放大的作用,可增加數(shù)據(jù)總線(xiàn)的驅(qū)動(dòng)能力。A0~A7:

為數(shù)據(jù)信號(hào)輸入端;B0~B7:為數(shù)據(jù)信號(hào)輸出端;

:

是輸出三態(tài)控制線(xiàn),低電平有效,當(dāng)接高電平時(shí),8286禁止數(shù)據(jù)在兩個(gè)方向上的傳送。接8086的。

T:

是數(shù)據(jù)傳送方向控制信號(hào),

T=1數(shù)據(jù)輸出,由A0~A7

至B0~B7

T=0數(shù)據(jù)輸入,由B0~B7

至A0~A7

T接8086的

數(shù)據(jù)收發(fā)控制端。

5.8086/8088CPU最小工作模式下的控制總線(xiàn)8086/8088在最小工作模式時(shí),除了前面已介紹過(guò)的8根控制總線(xiàn)外,還有8根與最小工作模式相關(guān)的控制總線(xiàn),對(duì)應(yīng)CPU的24~31引腳。1)(引腳28):存儲(chǔ)器與外設(shè)接口選擇輸出控制信號(hào)(三態(tài)),確定當(dāng)前訪(fǎng)問(wèn)操作是存儲(chǔ)器還是I/O端口。8086系統(tǒng)中若該引腳輸出為高電平,則訪(fǎng)問(wèn)存儲(chǔ)器;輸出為低電平,則訪(fǎng)問(wèn)I/O端口。8088系統(tǒng)則相反。DMA操作時(shí)該引腳處于高阻態(tài)。2)(引腳29):寫(xiě)控制信號(hào)輸出端(三態(tài))。低電平有效,表示CPU正處于寫(xiě)存儲(chǔ)器或?qū)慖/O端口的狀態(tài)。3)(引腳27):數(shù)據(jù)收發(fā)控制信號(hào)輸出端

(三態(tài))。用于確定數(shù)據(jù)傳送的方向。高電平為數(shù)據(jù)輸出;低電平為數(shù)據(jù)輸入。該信號(hào)通常用于數(shù)據(jù)總線(xiàn)驅(qū)動(dòng)器8286/8287的方向控制。8086/8088CPU最小工作模式下的控制總線(xiàn)4)(引腳26):數(shù)據(jù)收發(fā)允許控制信號(hào)輸出端(三態(tài)),低電平有效。該信號(hào)有效時(shí)表示數(shù)據(jù)總線(xiàn)上有有效的數(shù)據(jù),在每個(gè)訪(fǎng)問(wèn)內(nèi)存或I/O接口以及中斷響應(yīng)的總線(xiàn)期間有效,以允許數(shù)據(jù)收發(fā)器接受或發(fā)送數(shù)據(jù)。與8286數(shù)據(jù)總線(xiàn)驅(qū)動(dòng)器的端相接。5)ALE

(引腳25):地址鎖存允許控制信號(hào)輸出端(三態(tài)),高電平有效。在總線(xiàn)周期的T1狀態(tài)該信號(hào)有效,表明CPU送出有效的地址信號(hào)。接8282地址鎖存器的STB端,以鎖存總線(xiàn)上地址信號(hào)。6)(引腳24):中斷響應(yīng)信號(hào)輸出端,低電平有效。是CPU對(duì)外部輸入的INTR中斷請(qǐng)求信號(hào)的響應(yīng)。在響應(yīng)中斷時(shí),由端送出兩個(gè)負(fù)脈沖,用作外部中斷源的中斷向量碼的讀選通信號(hào)。7)

HOLD

(引腳31):總線(xiàn)保持請(qǐng)求輸入信號(hào),高電平有效。用于向CPU提出保持(占用)請(qǐng)求。當(dāng)某一部件要占用系統(tǒng)總線(xiàn)時(shí)(如DMA請(qǐng)求),可通過(guò)這條輸入線(xiàn)向CPU提出請(qǐng)求。8)

HLDA

(引腳30):總線(xiàn)保持請(qǐng)求允許控制信號(hào)輸出端,高電平有效。當(dāng)CPU收到HOLD請(qǐng)求信號(hào)后,若允許總線(xiàn)請(qǐng)求,則使所有三態(tài)輸出的地址信號(hào)、數(shù)據(jù)信號(hào)和控制信號(hào)變?yōu)楦咦钁B(tài),同時(shí)HLDA端輸出高電平,表示CPU現(xiàn)在已放棄對(duì)總線(xiàn)的控制。當(dāng)CPU檢測(cè)到HOLD信號(hào)變低后,就立即使HLDA變低,同時(shí)恢復(fù)對(duì)總線(xiàn)的控制。性能100中斷響應(yīng)101讀I/O端口110寫(xiě)I/O端口111暫停000取指001讀存儲(chǔ)器010寫(xiě)存儲(chǔ)器011無(wú)作用9)8088系統(tǒng)中狀態(tài)輸出線(xiàn)它與

和信號(hào)一起決定最小模式下現(xiàn)行總線(xiàn)周期的狀態(tài)。不同電平所表示的操作情況見(jiàn)右表所示。

8086/8088CPU最小工作模式下的控制總線(xiàn)二.最大工作模式1.最大工作模式8086CPU處于最大工作模式時(shí),系統(tǒng)中可包含兩個(gè)或兩個(gè)以上CPU,8086稱(chēng)為主處理器,其他的稱(chēng)為協(xié)處理器

8087數(shù)學(xué)協(xié)處理器,8089輸入輸出協(xié)處理器

CPU的控制總線(xiàn)信號(hào)由引腳24~31經(jīng)8288總線(xiàn)控制器轉(zhuǎn)換后接出。最大的含義是:構(gòu)成的計(jì)算機(jī)系統(tǒng)規(guī)模較大,存儲(chǔ)器容量較大,外設(shè)端口也較多,總線(xiàn)的控制和驅(qū)動(dòng)能力較強(qiáng),構(gòu)成多處理器系統(tǒng),顯著提高系統(tǒng)的工作效率1.48086/8088CPU典型時(shí)序分析1.4.1基本概念1.4.2學(xué)習(xí)CPU時(shí)序的目的1.4.3

最小模式下的典型時(shí)序1.4.4

最大模式下的典型時(shí)序1.4.1基本概念了解微處理器的時(shí)序?qū)τ谶M(jìn)一步理解微處理器執(zhí)行指令的過(guò)程、

各部件與系統(tǒng)總線(xiàn)的連接及硬件系統(tǒng)的調(diào)試都十分有意義。計(jì)算機(jī)的每一步工作、每一個(gè)微操作,都是由時(shí)鐘脈沖信號(hào)CLK來(lái)觸發(fā)的。方波脈沖信號(hào)是計(jì)算機(jī)運(yùn)行的最小節(jié)拍。理解CPU的工作時(shí)序并運(yùn)用這些概念去解決實(shí)際問(wèn)題是本節(jié)的重點(diǎn)。計(jì)算機(jī)工作的過(guò)程通常將要完成的任務(wù)編制成程序;程序由若干條指令構(gòu)成,將程序存放到存儲(chǔ)器中;每條指令的執(zhí)行過(guò)程分三步:取指令、譯碼、執(zhí)行。

一.指令周期(InstructionCycle)

執(zhí)行一條指令所需要的時(shí)間稱(chēng)為指令周期。不同的指令,其執(zhí)行時(shí)間是不相同的。從指令的長(zhǎng)短來(lái)看,有一字節(jié)、二字節(jié)、…、六字節(jié);從完成的任務(wù)來(lái)看,CPU內(nèi)部的數(shù)據(jù)傳送速度很快,而算術(shù)邏輯運(yùn)算則較慢,如16位的乘除法要200個(gè)時(shí)鐘周期。從指令的功能來(lái)看,可能要訪(fǎng)問(wèn)存儲(chǔ)器或I/O接口,有時(shí)涉及中斷??梢詫⒅噶钪芷趧澐譃橐粋€(gè)個(gè)總線(xiàn)周期,每個(gè)總線(xiàn)周期對(duì)應(yīng)一種功能。時(shí)序分析基本概念二.總線(xiàn)周期(BUSCyc

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論