微機(jī)原理與接口技術(shù)全套教學(xué)課件_第1頁
微機(jī)原理與接口技術(shù)全套教學(xué)課件_第2頁
微機(jī)原理與接口技術(shù)全套教學(xué)課件_第3頁
微機(jī)原理與接口技術(shù)全套教學(xué)課件_第4頁
微機(jī)原理與接口技術(shù)全套教學(xué)課件_第5頁
已閱讀5頁,還剩584頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微機(jī)原理與接口技術(shù)全套可編輯PPT課件共10章,包括微型計(jì)算機(jī)基礎(chǔ)知識(shí)、8086與80x86系列微處理器、8086指令系統(tǒng)、匯編語言程序設(shè)計(jì)、存儲(chǔ)器、微型計(jì)算機(jī)與外設(shè)間的數(shù)據(jù)傳遞、微型計(jì)算機(jī)常用接口和接口芯片、A/D與D/A轉(zhuǎn)換第1章

微機(jī)計(jì)算機(jī)入門目錄微型計(jì)算機(jī)概述微型計(jì)算機(jī)的工作過程計(jì)算機(jī)中的數(shù)制與編碼數(shù)字電路入門1.11.21.31.4CONTENTS3引子隨著信息技術(shù)特別是微型計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的高速發(fā)展,計(jì)算機(jī)已經(jīng)成為人類活動(dòng)中必不可少的工具,它極大地改變了人們的工作、學(xué)習(xí)和生活方式,成為信息時(shí)代的主要標(biāo)志。本章將通過介紹電子計(jì)算機(jī)的工作原理和發(fā)展歷程,微處理器的發(fā)展歷程,微機(jī)系統(tǒng)的組成,微型計(jì)算機(jī)的工作過程,以及計(jì)算機(jī)中的數(shù)制與編碼等內(nèi)容,讓大家先對(duì)微型計(jì)算機(jī)有一個(gè)總體的認(rèn)識(shí)。內(nèi)容提要了解電子計(jì)算機(jī)的工作原理和發(fā)展歷程。了解微處理器的發(fā)展歷程。掌握微機(jī)系統(tǒng)的組成。理解微型計(jì)算機(jī)的工作過程。掌握計(jì)算機(jī)中的數(shù)制與編碼。了解數(shù)字電路的基礎(chǔ)知識(shí)。41.1微型計(jì)算機(jī)概述1.1.1電子計(jì)算機(jī)的工作原理馮·諾依曼理論要點(diǎn)(1)計(jì)算機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備五大部分組成。(2)程序和數(shù)據(jù)以二進(jìn)制代碼形式不加區(qū)別地存放在存儲(chǔ)器中,存放位置由地址確定。(3)控制器根據(jù)存放在存儲(chǔ)器中的指令序列(程序)進(jìn)行工作,并由一個(gè)程序計(jì)數(shù)器控制指令的執(zhí)行。控制器具有判斷能力,能根據(jù)計(jì)算結(jié)果選擇不同的工作流程。1.1微型計(jì)算機(jī)概述(1)能夠把需要的程序和數(shù)據(jù)送至計(jì)算機(jī)中。(2)能夠長期記憶程序、數(shù)據(jù)、中間結(jié)果及最終運(yùn)算結(jié)果。(3)能夠完成各種算術(shù)、邏輯運(yùn)算和數(shù)據(jù)傳送等數(shù)據(jù)加工處理。(4)能夠根據(jù)需要控制程序走向,并能根據(jù)指令控制機(jī)器的各部件協(xié)調(diào)操作。(5)能夠按照要求將處理結(jié)果輸出給用戶。為了完成上述功能,計(jì)算機(jī)必須具備五大基本組成部件①輸入數(shù)據(jù)和程序的輸入設(shè)備②記憶程序和數(shù)據(jù)的存儲(chǔ)器③完成數(shù)據(jù)加工處理的運(yùn)算器④控制程序執(zhí)行的控制器⑤輸出處理結(jié)果的輸出設(shè)備1.1微型計(jì)算機(jī)概述馮·諾依曼計(jì)算機(jī)結(jié)構(gòu)示意人們將運(yùn)算器和控制器等核心部件集成在一個(gè)集成電路芯片上,這便是CPU的由來。CPU是CentralProcessingUnit的縮寫,又稱微處理器(Microprocessor)或中央處理器。1.1微型計(jì)算機(jī)概述1.1.2電子計(jì)算機(jī)的發(fā)展歷程自1946年世界上第一臺(tái)現(xiàn)代電子計(jì)算機(jī)ENIAC誕生以來,計(jì)算機(jī)技術(shù)獲得了迅猛發(fā)展。根據(jù)所用電子器件的不同,計(jì)算機(jī)的發(fā)展已歷經(jīng)電子管計(jì)算機(jī)晶體管計(jì)算機(jī)集成電路計(jì)算機(jī)大規(guī)模及超大規(guī)模集成電路計(jì)算機(jī)1.1微型計(jì)算機(jī)概述第一代:電子管計(jì)算機(jī)(1946-1958年)其主要特點(diǎn)是:硬件方面,采用電子管作為基本邏輯電路元件,主存儲(chǔ)器采用水銀延遲線存儲(chǔ)器、磁鼓和磁芯等,外存儲(chǔ)器則采用磁帶;軟件方面,只能使用機(jī)器語言和匯編語言;計(jì)算機(jī)體積龐大、功耗高、可靠性差、價(jià)格昂貴;應(yīng)用以科學(xué)計(jì)算為主。第一代計(jì)算機(jī)所采用的基本技術(shù)(采用二進(jìn)制、存儲(chǔ)程序控制的方法)為現(xiàn)代計(jì)算機(jī)技術(shù)的發(fā)展奠定了堅(jiān)實(shí)的理論基礎(chǔ)。世界上第一臺(tái)具有現(xiàn)代意義的應(yīng)用電子管的計(jì)算機(jī)稱為ENIAC。這臺(tái)計(jì)算機(jī)占地面積達(dá)170m2,總重量達(dá)到30t,其運(yùn)算速度達(dá)到每秒鐘5000次加法,可以在3毫秒時(shí)間內(nèi)做完兩個(gè)10位數(shù)乘法。1.1微型計(jì)算機(jī)概述第二代:晶體管計(jì)算機(jī)(1958-1964年)其主要特點(diǎn)是:硬件方面,采用晶體管作為基本邏輯電路元件,主存儲(chǔ)器主要采用磁芯,外存儲(chǔ)器開始采用磁盤;軟件有了很大發(fā)展,出現(xiàn)了各種各樣的高級(jí)語言及其編譯程序,還出現(xiàn)了以批處理為主的操作系統(tǒng);計(jì)算機(jī)的體積大大縮小,耗電減少,可靠性提高,性能比第一代計(jì)算機(jī)有很大的提升;應(yīng)用以科學(xué)計(jì)算和各種事務(wù)處理為主,并開始用于工業(yè)控制。美國貝爾實(shí)驗(yàn)室使用800只晶體管組裝了世界上第一臺(tái)晶體管計(jì)算機(jī)TRADIC。1.1微型計(jì)算機(jī)概述美國IBM公司推出了世界上第一臺(tái)采用集成電路的IBM360型計(jì)算機(jī)。第三代:集成電路計(jì)算機(jī)(1964-1971年)其主要特點(diǎn)是:硬件方面,計(jì)算機(jī)主要邏輯部件采用中、小規(guī)模集成電路,主存儲(chǔ)器開始采用半導(dǎo)體存儲(chǔ)器;軟件方面,對(duì)計(jì)算機(jī)程序設(shè)計(jì)語言進(jìn)行了標(biāo)準(zhǔn)化,并提出了結(jié)構(gòu)化程序設(shè)計(jì)思想;計(jì)算機(jī)的體積進(jìn)一步減小,運(yùn)算速度、運(yùn)算精度、存儲(chǔ)容量及可靠性等主要性能指標(biāo)大大改善。此外,在產(chǎn)品的系列化、計(jì)算機(jī)系統(tǒng)之間的通信方面都有了較大發(fā)展,計(jì)算機(jī)的應(yīng)用領(lǐng)域不斷拓寬,普及程度逐漸提高。1.1微型計(jì)算機(jī)概述第四代:大規(guī)模及超大規(guī)模集成電路計(jì)算機(jī)(1971年至今)其主要特點(diǎn)是:硬件方面,計(jì)算機(jī)邏輯部件由大規(guī)模和超大規(guī)模集成電路組成,主存儲(chǔ)器采用半導(dǎo)體存儲(chǔ)器,計(jì)算機(jī)外圍設(shè)備多樣化、系列化;軟件方面,實(shí)現(xiàn)了軟件固化技術(shù),出現(xiàn)了面向?qū)ο蟮挠?jì)算機(jī)程序設(shè)計(jì)思想,并廣泛采用了數(shù)據(jù)庫技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)。在第四代計(jì)算機(jī)發(fā)展過程中,最重要的成就之一表現(xiàn)在微處理器的體積不斷減小、集成度不斷提高、運(yùn)算速度越來越快。例如,我國目前開發(fā)的一款微處理器的運(yùn)算速度已高達(dá)每秒5120億次。1.1微型計(jì)算機(jī)概述1.1.3微處理器的發(fā)展歷程微型計(jì)算機(jī)是第四代計(jì)算機(jī)向微型化方向發(fā)展的產(chǎn)物,簡稱微型機(jī)或微機(jī),它以大規(guī)模、超大規(guī)模集成電路為主要部件,以微處理器為核心,并配以存儲(chǔ)器、總線、輸入輸出(I/O)接口及設(shè)備等。微型計(jì)算機(jī)的發(fā)展以微處理器的發(fā)展為主要標(biāo)志。1971年,美國Intel公司研制出世界上第一款4位微處理器芯片Intel4004,世界上第一臺(tái)4位微型計(jì)算機(jī)MCS-4也隨之誕生,從而開創(chuàng)了微型計(jì)算機(jī)發(fā)展的新時(shí)代。1.1微型計(jì)算機(jī)概述第一代微處理器(1971-1972年)第二代微處理器(1973-1977年)第三代微處理器(1978-1984年)第四代微處理器(1985-1991年)第五代微處理器(1992年至今)1.1微型計(jì)算機(jī)概述1.1.4微機(jī)系統(tǒng)的組成1.1微型計(jì)算機(jī)概述1硬件系統(tǒng)硬件系統(tǒng)主要由CPU、存儲(chǔ)器、輸入輸出(I/O)接口、總線接口、輸入輸出設(shè)備等幾部分組成。硬件是構(gòu)成計(jì)算機(jī)的實(shí)際物理設(shè)備。顯示器鼠標(biāo)鍵盤主機(jī)音箱打印機(jī)1.1微型計(jì)算機(jī)概述所有微機(jī)系統(tǒng)都采用了總線結(jié)構(gòu),各組成部分之間通過總線連接??偩€是各種功能部件(CPU、存儲(chǔ)器、I/O接口等)之間信息傳遞的公共通道,它物理上是一組信號(hào)線的集合,可以是帶狀的扁平電纜線,也可以是印制電路板上的一層極薄的金屬連線。(1)地址總線(AddressBus,AB)用于傳送存儲(chǔ)器(RAM或ROM)、I/O接口的地址信息。地址總線是單向總線,信息方向是從CPU發(fā)往其他設(shè)備。(2)數(shù)據(jù)總線(DataBus,DB)用于傳送操作指令或數(shù)據(jù)。數(shù)據(jù)總線是雙向總線,數(shù)據(jù)既可以發(fā)向CPU,也可以從CPU發(fā)出。(3)控制總線(ControlBus,CB)用于傳送各種控制信號(hào)??刂瓶偩€中的每一根線都是單向的(有從CPU發(fā)出的,也有發(fā)向CPU的),但它作為一個(gè)整體是雙向總線(有進(jìn)有出)。1.1微型計(jì)算機(jī)概述此處只是一個(gè)微機(jī)結(jié)構(gòu)簡圖,實(shí)際微機(jī)系統(tǒng)要復(fù)雜得多。例如,CPU除了提供外部三總線外,其內(nèi)部還有一系列的總線。微機(jī)的三總線結(jié)構(gòu)應(yīng)用軟件是指為解決某個(gè)具體領(lǐng)域中的各種實(shí)際問題而編制的程序,具有很強(qiáng)的實(shí)用性和專用性。常見的應(yīng)用軟件有辦公軟件、圖像處理軟件、輔助設(shè)計(jì)軟件等。系統(tǒng)軟件是指控制、管理和維護(hù)計(jì)算機(jī)的各種資源,使計(jì)算機(jī)能夠正常工作的一類軟件。常見的系統(tǒng)軟件有操作系統(tǒng)、語言處理程序、數(shù)據(jù)庫管理系統(tǒng)和各種服務(wù)程序等。1.1微型計(jì)算機(jī)概述2軟件系統(tǒng)系統(tǒng)軟件軟件系統(tǒng)應(yīng)用軟件1.2微型計(jì)算機(jī)的工作過程1.2.1計(jì)算機(jī)指令的基本概念微型計(jì)算機(jī)的工作過程本質(zhì)上就是執(zhí)行程序的過程。用計(jì)算機(jī)解決某一具體問題的程序,實(shí)際上是由若干條計(jì)算機(jī)能識(shí)別并能執(zhí)行的基本操作命令按照一定的順序排列組成的。計(jì)算機(jī)能識(shí)別并執(zhí)行的每條基本操作命令稱為一條指令,每條指令都規(guī)定了計(jì)算機(jī)執(zhí)行的一種基本操作。例如,從內(nèi)存中讀取一個(gè)數(shù)據(jù)、將兩個(gè)數(shù)據(jù)相加等,這里的每個(gè)動(dòng)作都對(duì)應(yīng)一條指令。一串二進(jìn)制代碼一條計(jì)算機(jī)指令(1)操作碼:指出計(jì)算機(jī)所要執(zhí)行的

基本操作。(2)操作數(shù):指明參與操作的對(duì)象。1.2微型計(jì)算機(jī)的工作過程1.2.2微型計(jì)算機(jī)的工作過程結(jié)束程序執(zhí)行指令分析指令取指令(1)取指令。CPU發(fā)出讀命令,將程序計(jì)數(shù)器(ProgramCounter,PC)所指向的指令的地址存入地址寄存器(AddressRegister,AR),PC自動(dòng)增加,為讀取下一條指令做準(zhǔn)備。存儲(chǔ)器收到命令后,取出要執(zhí)行的指令并送到指令寄存器(InstructionRegister,IR)中暫存。(2)分析指令(或稱指令譯碼)。將保存在指令寄存器IR中的指令送到指令譯碼器(InstructionDecoder,ID),譯出該指令對(duì)應(yīng)的微操作信號(hào),控制各個(gè)部件的操作。其中,如果指令需要取操作數(shù),CPU將發(fā)出取數(shù)據(jù)命令,到存儲(chǔ)器中取出所需的操作數(shù)。1.2微型計(jì)算機(jī)的工作過程結(jié)束程序執(zhí)行指令分析指令取指令(3)執(zhí)行指令。根據(jù)指令譯碼,向各個(gè)部件發(fā)出相應(yīng)的控制信號(hào),完成指令規(guī)定的各種操作。其中,如果需要保存計(jì)算結(jié)果,則將結(jié)果保存到指定的存儲(chǔ)器單元中。通常,將完成一條指令所需的時(shí)間稱為指令周期。一個(gè)指令周期往往包括一個(gè)或多個(gè)總線周期,總線周期是指CPU對(duì)總線進(jìn)行一次典型操作的時(shí)間。一個(gè)總線周期又包含多個(gè)時(shí)鐘周期。時(shí)鐘周期是計(jì)算機(jī)中最小的時(shí)間單位,是由系統(tǒng)時(shí)鐘確定的。1.2微型計(jì)算機(jī)的工作過程實(shí)訓(xùn)1-2計(jì)算機(jī)指令的執(zhí)行過程假定讓計(jì)算機(jī)計(jì)算“1FH+4DH=?”,雖然這是一個(gè)相當(dāng)簡單的加法運(yùn)算,但是計(jì)算機(jī)卻無法理解。人們必須要先編寫一段程序,以計(jì)算機(jī)能夠理解的語言告訴它如何一步一步地去做。“1FH”和“4DH”中的最后一個(gè)“H”表明這兩個(gè)數(shù)值均為十六進(jìn)制數(shù),它們對(duì)應(yīng)的二進(jìn)制數(shù)分別為00011111和01001101。1.3計(jì)算機(jī)中的數(shù)制與編碼1.3.1計(jì)算機(jī)中的數(shù)制1數(shù)制的概念數(shù)制是人們按進(jìn)位的原則進(jìn)行計(jì)數(shù)的一種科學(xué)方法。在日常生活中,經(jīng)常要用到數(shù)制,除了最常見的十進(jìn)制計(jì)數(shù)法,有時(shí)也采用別的進(jìn)制來計(jì)數(shù)。一種計(jì)數(shù)制所使用的數(shù)字符號(hào)的個(gè)數(shù)稱為基數(shù),某個(gè)固定位置上的計(jì)數(shù)單位稱為位權(quán)。同一數(shù)字符號(hào)處在不同位置上所代表的值是不同的,它所代表的實(shí)際值等于數(shù)字本身的值乘以所在位置上的位權(quán)。例如,十進(jìn)制數(shù)345中的數(shù)字3在百位上,表示位權(quán)為100,故此時(shí)的3表示的是300。又如,十進(jìn)制數(shù)123.45用位權(quán)可以表示為(123.45)10=1×102+2×101+3×100+4×10-1+5×10-2那么,一個(gè)R進(jìn)制數(shù),它所用的數(shù)字符號(hào)就有R個(gè),它的基數(shù)為R,用Rk表示第k位的位權(quán),則R進(jìn)制數(shù)“anan-1…a2a1a0

.

b1b2…bm”可以表示為an×Rn+an-1×Rn-1+…+a2×R2+a1×R1+a0×R0+b1×R-1+…+bm×R-m2常用數(shù)制介紹在計(jì)算機(jī)中,所有信息(包括數(shù)值、字符、漢字、計(jì)算機(jī)指令等)的存儲(chǔ)、處理與傳送都是采用二進(jìn)制的形式。二進(jìn)制數(shù)中只有0和1兩個(gè)數(shù)字符號(hào),利用二進(jìn)制數(shù)進(jìn)行操作和運(yùn)算比較符合機(jī)器的特點(diǎn),它運(yùn)算簡單、可靠性高、易于實(shí)現(xiàn),但是閱讀和書寫比較復(fù)雜。1.3計(jì)算機(jī)中的數(shù)制與編碼除了二進(jìn)制,為了表示方便,還經(jīng)常使用十進(jìn)制、八進(jìn)制和十六進(jìn)制。常用數(shù)制的特點(diǎn)、基數(shù)、位權(quán)及數(shù)字符號(hào)為了區(qū)別不同數(shù)制的數(shù)據(jù),通常在數(shù)字后面加一個(gè)英文字母(十進(jìn)制用D,二進(jìn)制用B,八進(jìn)制用O或Q,十六進(jìn)制用H)作為后綴,例如123D,10110010B,27O,3FH。此外,也可以使用下標(biāo)進(jìn)行標(biāo)注,如(123)10,(10110010)2,(27)8,(3F)16。1.3計(jì)算機(jī)中的數(shù)制與編碼1.3.2數(shù)制之間的轉(zhuǎn)換1非十進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)二進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)非常簡單,方法是:按位權(quán)展開后求和。將非十進(jìn)制數(shù)(1011.11)2,(154.01)8和(1CB.D)16轉(zhuǎn)換成十進(jìn)制數(shù)。(1011.11)2=1×23+0×22+1×21+1×20+1×2-1+1×2-2=(11.75)10(154.01)8=1×82+5×81+4×80+0×8-1+1×8-2=(108.015625)10(1CB.D)16=1×162+12×161+11×160+13×16-1=(459.8125)10例1-11.3計(jì)算機(jī)中的數(shù)制與編碼2十進(jìn)制數(shù)轉(zhuǎn)換成非十進(jìn)制數(shù)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)時(shí),需要將整數(shù)部分和小數(shù)部分各自進(jìn)行轉(zhuǎn)換,然后把轉(zhuǎn)換的結(jié)果合在一起。(1)整數(shù)部分的轉(zhuǎn)換。整數(shù)部分的轉(zhuǎn)換采用“除基取余法”,方法是:將十進(jìn)制數(shù)的整數(shù)部分反復(fù)除以基數(shù)R,將每次得到的商作為被除數(shù),并取得相應(yīng)的余數(shù),直到商為0。將每次得到的余數(shù)按逆序排列,即為轉(zhuǎn)換后的R進(jìn)制整數(shù)。(2)小數(shù)部分的轉(zhuǎn)換。小數(shù)部分的轉(zhuǎn)換采用“乘基取整法”,方法是:將十進(jìn)制數(shù)的小數(shù)部分反復(fù)乘以基數(shù)R,將每次乘積的小數(shù)部分作為被乘數(shù),并取得相應(yīng)的整數(shù)部分,直到乘積的小數(shù)部分為0。將每次得到的整數(shù)部分順序排列在小數(shù)點(diǎn)后,即為轉(zhuǎn)換后的R進(jìn)制小數(shù)。1.3計(jì)算機(jī)中的數(shù)制與編碼將(69.625)10分別轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)。①轉(zhuǎn)換成二進(jìn)制數(shù)整數(shù)部分:

小數(shù)部分:所以,(69.625)10=(1000101.101)2。例1-21.3計(jì)算機(jī)中的數(shù)制與編碼②轉(zhuǎn)換成八進(jìn)制數(shù)③轉(zhuǎn)換成十六進(jìn)制數(shù)1.3計(jì)算機(jī)中的數(shù)制與編碼3二進(jìn)制數(shù)與八進(jìn)制數(shù)、十六進(jìn)制數(shù)之間的轉(zhuǎn)換二進(jìn)制、八進(jìn)制、十六進(jìn)制之間存在特殊的關(guān)系:1位八進(jìn)制數(shù)對(duì)應(yīng)3位二進(jìn)制數(shù),1位十六進(jìn)制數(shù)對(duì)應(yīng)4位二進(jìn)制數(shù),因此轉(zhuǎn)換比較容易。1.3計(jì)算機(jī)中的數(shù)制與編碼(1)二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)。二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)的方法是:從小數(shù)點(diǎn)開始向左、右兩邊每3位并為一組,對(duì)應(yīng)1位八進(jìn)制數(shù),不足3位時(shí)補(bǔ)0即可。(2)二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)。二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)的方法是:從小數(shù)點(diǎn)開始向左、右兩邊每4位并為一組,對(duì)應(yīng)1位十六進(jìn)制數(shù),不足4位時(shí)補(bǔ)0即可。將(1101101.0101)2分別轉(zhuǎn)換成八進(jìn)制數(shù)和十六進(jìn)制數(shù)。例1-3將(207.54)8和(E4.2A)16轉(zhuǎn)換成二進(jìn)制數(shù)。例1-41.3計(jì)算機(jī)中的數(shù)制與編碼1.3.3數(shù)值在計(jì)算機(jī)中的表示計(jì)算機(jī)中的數(shù)是用二進(jìn)制來表示的,但數(shù)有正數(shù)和負(fù)數(shù)之分,數(shù)的符號(hào)在計(jì)算機(jī)中也是用二進(jìn)制表示的。一般用0來表示正號(hào),用1來表示負(fù)號(hào),而小數(shù)點(diǎn)不占位數(shù)。這種將符號(hào)數(shù)字化了的數(shù)稱為機(jī)器數(shù),而這個(gè)數(shù)的本身稱為真值。1定點(diǎn)數(shù)定點(diǎn)數(shù)是指小數(shù)點(diǎn)位置固定不變的數(shù)。根據(jù)小數(shù)點(diǎn)的位置不同,定點(diǎn)數(shù)又分為定點(diǎn)整數(shù)和定點(diǎn)小數(shù)。1.3計(jì)算機(jī)中的數(shù)制與編碼定點(diǎn)整數(shù)規(guī)定小數(shù)點(diǎn)的位置固定在數(shù)據(jù)的最低位之后,但不占一個(gè)二進(jìn)制位。那么,符號(hào)位的右邊表示的是一個(gè)整數(shù)值。(1)定點(diǎn)整數(shù)。定點(diǎn)整數(shù)的表示形式例如,用8位二進(jìn)制定點(diǎn)整數(shù)表示(-50)10,應(yīng)為:(-50)10=(10110010)21.3計(jì)算機(jī)中的數(shù)制與編碼定點(diǎn)小數(shù)規(guī)定小數(shù)點(diǎn)的位置固定在符號(hào)位之后,但不占一個(gè)二進(jìn)制位。那么,符號(hào)位的右邊表示的是一個(gè)純小數(shù)。(2)定點(diǎn)小數(shù)例如,用8位二進(jìn)制定點(diǎn)整數(shù)表示(-0.6875)10,應(yīng)為:(-0.6875)10=(11011000)2定點(diǎn)小數(shù)的表示形式1.3計(jì)算機(jī)中的數(shù)制與編碼2浮點(diǎn)數(shù)浮點(diǎn)數(shù)是指小數(shù)點(diǎn)的位置不固定的數(shù)。對(duì)于既有整數(shù)部分又有小數(shù)部分的數(shù),一般用浮點(diǎn)數(shù)表示。任意一個(gè)二進(jìn)制數(shù)N都可以表示成如下形式:N=2P×S其中,P是一個(gè)整數(shù),表示小數(shù)點(diǎn)的位置,稱為階碼;S是一個(gè)純小數(shù),表示數(shù)N的全部有效數(shù)字,稱為尾數(shù)。例如,(0.0011001)2=2-10×0.11001,其中階碼P=(-10)2,尾數(shù)S=(0.11001)2。1.3計(jì)算機(jī)中的數(shù)制與編碼3帶符號(hào)數(shù)的表示方法(1)原碼原碼表示法是一種最簡單的機(jī)器數(shù)表示方法,其規(guī)則如下:①正數(shù):最高位為0,其余各位為數(shù)值本身。②負(fù)數(shù):最高位為1,其余各位為數(shù)值本身。(2)反碼反碼表示法的規(guī)則如下:①正數(shù):最高位為0,數(shù)值部分保持不變。②負(fù)數(shù):最高位為1,數(shù)值部分各位取反。(3)補(bǔ)碼補(bǔ)碼表示法的規(guī)則如下:①正數(shù):最高位為0,數(shù)值部分保持不變。②負(fù)數(shù):最高位為1,數(shù)值部分各位取反后,末位加1,即其反碼的末位加1。已知X=(40)10,Y=(-33)10,求它們的原碼、反碼和補(bǔ)碼。例1-51.3計(jì)算機(jī)中的數(shù)制與編碼已知二進(jìn)制數(shù)X=-0001110,Y=+0111000,使用補(bǔ)碼求X-Y的值。[X]補(bǔ)=11110010,[Y]補(bǔ)=00111000,[-Y]補(bǔ)=11001000超出存儲(chǔ)位,舍棄不要1111001011001000+)110111010-14-56-70十進(jìn)制數(shù)4補(bǔ)碼的運(yùn)算在計(jì)算機(jī)中,帶符號(hào)數(shù)一般采用補(bǔ)碼的形式進(jìn)行運(yùn)算。二進(jìn)制補(bǔ)碼的運(yùn)算規(guī)則如下:[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ),[X-Y]補(bǔ)=[X]補(bǔ)-[Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)例1-6因此,[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)=10111010,X-Y=-1000110=(-70)10。顯然,這個(gè)結(jié)果是正確的。另外,由于8位二進(jìn)制補(bǔ)碼能表示的數(shù)值范圍是-128~+127,因此當(dāng)運(yùn)算結(jié)果超出機(jī)器數(shù)所能表示的數(shù)值范圍時(shí),將會(huì)產(chǎn)生溢出而使結(jié)果錯(cuò)誤。1.3計(jì)算機(jī)中的數(shù)制與編碼已知二進(jìn)制數(shù)X=+100011,Y=+1011110,使用補(bǔ)碼求X+Y的值。[X]補(bǔ)=00100011,[Y]補(bǔ)=010111100010001101011110+)10000001+35+94-127十進(jìn)制數(shù)例1-7因此,[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)=10000001,X+Y=-1111111=(-127)10。兩個(gè)正數(shù)相加的結(jié)果卻為負(fù)數(shù),顯然這個(gè)結(jié)果是錯(cuò)誤的。正確的求和結(jié)果應(yīng)該為+129,由于它超出了8位二進(jìn)制補(bǔ)碼所能表示的數(shù)值范圍,因而產(chǎn)生溢出,使結(jié)果出錯(cuò)。1.3計(jì)算機(jī)中的數(shù)制與編碼1.3.4二進(jìn)制編碼由于計(jì)算機(jī)只能直接識(shí)別和處理二進(jìn)制數(shù),因此輸入的信息如數(shù)字、字母、符號(hào)、漢字、圖像等,都要轉(zhuǎn)化成由若干位0和1組合的特定二進(jìn)制代碼來表示,這就是二進(jìn)制編碼。1BCD碼如果用4位二進(jìn)制碼的組合來表示1位十進(jìn)制數(shù),那么按照這種方法就可以對(duì)任意十進(jìn)制數(shù)進(jìn)行編碼。這種二進(jìn)制編碼的十進(jìn)制數(shù)稱為BCD碼。其中最常用的是8421BCD碼,即從高到低4位二進(jìn)制數(shù)的權(quán)值分別是8,4,2,1。1.3計(jì)算機(jī)中的數(shù)制與編碼將十進(jìn)制數(shù)79.5用BCD碼表示。方法非常簡單,只要將十進(jìn)制數(shù)的每1位替換成對(duì)應(yīng)的4位二進(jìn)制碼即可。(79.5)10=(01111001.0101)BCD例1-82字符編碼國際上普遍采用的字符編碼方法是美國標(biāo)準(zhǔn)信息交換碼,即ASCII碼。具體編碼方法是:每一個(gè)字符對(duì)應(yīng)一個(gè)7位的二進(jìn)制代碼,用一個(gè)字節(jié)的低7位來表示字符編碼,最高位補(bǔ)0或用作奇偶校驗(yàn)位。使用ASCII碼最多可表示128種字符,包括32個(gè)標(biāo)點(diǎn)符號(hào)、10個(gè)阿拉伯?dāng)?shù)字、52個(gè)英文大小寫字母、34個(gè)控制符號(hào)。1.3計(jì)算機(jī)中的數(shù)制與編碼3漢字編碼為了使計(jì)算機(jī)能夠處理漢字信息,就需要對(duì)漢字進(jìn)行編碼。漢字編碼的類型包括交換碼(國標(biāo)碼)、輸入碼(機(jī)外碼)、機(jī)內(nèi)碼(存儲(chǔ)碼)、輸出碼(字形碼)等。我國于1981年公布的《信息交換用漢字編碼字符集-基本集》(GB2312-1980)是中華人民共和國國家漢字信息交換用編碼。該編碼標(biāo)準(zhǔn)共收錄漢字6763個(gè),其中一級(jí)漢字3755個(gè),二級(jí)漢字3008個(gè),另外還收錄了682個(gè)非漢字圖形字符。1.3計(jì)算機(jī)中的數(shù)制與編碼1.4數(shù)字電路入門1.4.1邏輯門電路用以實(shí)現(xiàn)基本邏輯運(yùn)算和復(fù)合邏輯運(yùn)算的電路稱為邏輯門電路,它是組成數(shù)字電路的基本單元。其輸入、輸出信號(hào)反映在電路上是高電平和低電平兩種狀態(tài),分別用1和0兩個(gè)邏輯值來表示。基本的邏輯門有與門、或門、非門,這些基本的邏輯門可以組合使用,實(shí)現(xiàn)更為復(fù)雜的邏輯門電路,常見的有與非門、或非門、異或門等。1與門(a)

(b)

與門的邏輯符號(hào)(a)通用符號(hào)(b)國標(biāo)符號(hào)與門的真值表實(shí)現(xiàn)“與”邏輯運(yùn)算的門電路稱為與門。設(shè)A,B是兩個(gè)輸入端,Y是輸出端,只有當(dāng)輸入端A,B全為1時(shí),Y端才輸出1;否則Y端輸出均為0。與門的邏輯表達(dá)式為2或門實(shí)現(xiàn)“或”邏輯運(yùn)算的門電路稱為或門。設(shè)A,B是兩個(gè)輸入端,Y是輸出端,輸入端A,B只要有一個(gè)為1,Y端就輸出1;只有輸入端A,B全為0時(shí),Y端才輸出0。或門的邏輯表達(dá)式為:。(a)

(b)或門的邏輯符號(hào)(a)通用符號(hào)(b)國標(biāo)符號(hào)或門的真值表1.4數(shù)字電路入門3非門實(shí)現(xiàn)“非”邏輯運(yùn)算的門電路稱為非門。設(shè)A是輸入端,Y是輸出端,其輸出與輸入恒為相反狀態(tài)。非門的邏輯表達(dá)式為:。(a)

(b)非門的邏輯符號(hào)(a)通用符號(hào)(b)國標(biāo)符號(hào)非門的真值表1.4數(shù)字電路入門4與非門與門和非門可以組合成為與非門。設(shè)A,B是兩個(gè)輸入端,Y是輸出端,輸入端A,B全為1時(shí),則Y端輸出為0;只要有一個(gè)輸入端為0,則Y端輸出為1。與非門的邏輯表達(dá)式為:。(a)(b)與非門的邏輯符號(hào)(a)通用符號(hào)(b)國標(biāo)符號(hào)與非門的真值表1.4數(shù)字電路入門5或非門或門和非門可以組合成為或非門。設(shè)A,B是兩個(gè)輸入端,Y是輸出端,輸入端A,B全為0時(shí),則Y端輸出為1;只要有一個(gè)輸入端為1,則Y端輸出為0?;蚍情T的邏輯表達(dá)式為:。(a)(b)異或門的邏輯符號(hào)(a)通用符號(hào)(b)國標(biāo)符號(hào)異或門的真值表1.4數(shù)字電路入門6異或門(a)(b)或非門的邏輯符號(hào)(a)通用符號(hào)(b)國標(biāo)符號(hào)或非門的真值表兩個(gè)非門、兩個(gè)與門和一個(gè)或門可以組合成為異或門。設(shè)A,B是兩個(gè)輸入端,Y是輸出端,輸入端A,B相同時(shí),則Y端輸出為0;輸入端A,B相異時(shí),則Y端輸出為1。異或門的邏輯表達(dá)式為:。1.4數(shù)字電路入門1.4.2傳送門電路1三態(tài)門三態(tài)門是指邏輯門的輸出端除具有高電平和低電平兩種狀態(tài)外,還具有第三種狀態(tài)——高阻狀態(tài)(相當(dāng)于開路狀態(tài))的門電路。(a)

(b)三態(tài)門的邏輯符號(hào)(a)通用符號(hào)(b)國標(biāo)符號(hào)圖中,端為控制端,又稱使能端,用來控制門電路的通斷。當(dāng)端為低電平時(shí),三態(tài)門處于工作狀態(tài),按照邏輯門電路工作;當(dāng)端為高電平時(shí),三態(tài)門處于高阻狀態(tài)。三態(tài)門的真值表1.4數(shù)字電路入門2單向數(shù)據(jù)傳送門將若干三態(tài)門并列排列,并將它們的使能端連接在一起,就構(gòu)成了一個(gè)單向數(shù)據(jù)傳送門。單向數(shù)據(jù)傳送門左圖所示是一個(gè)4位的單向數(shù)據(jù)傳送門。當(dāng)門控制端G為高電平時(shí),各三態(tài)門的使能端為低電平,輸入端A3~A0的4位數(shù)據(jù)將分別傳送到輸出端Y3~Y0;當(dāng)門控制端G為低電平時(shí),各三態(tài)門的使能端為高電平,輸出端Y3~Y0變成高阻狀態(tài)。單向數(shù)據(jù)傳送門的功能表1.4數(shù)字電路入門3雙向數(shù)據(jù)傳送門左圖所示是一個(gè)雙向4位數(shù)據(jù)傳送門。當(dāng)門控制端G為高電平、DS為低電平時(shí),AB方向的門電路被打開,A3~A0端的數(shù)據(jù)將傳送到B3~B0端;當(dāng)門控制端G為高電平、DS為高電平時(shí),BA方向的門電路被打開,B3~B0端的數(shù)據(jù)將傳送到A3~A0端;當(dāng)門控制端G為低電平時(shí),各三態(tài)門的使能端為高電平,A3~A0端和B3~B0端均為高阻狀態(tài)。雙向數(shù)據(jù)傳送門雙向數(shù)據(jù)傳送門的功能表1.4數(shù)字電路入門1.4.3譯碼器譯碼器是一種組合邏輯電路,它可以將一組二進(jìn)制編碼信號(hào)轉(zhuǎn)換成一個(gè)邏輯輸出信號(hào)。譯碼器一般分為變量譯碼器和顯示譯碼器。其中,變量譯碼器用于譯出輸入變量的狀態(tài);顯示譯碼器主要用于實(shí)現(xiàn)二進(jìn)制到其他進(jìn)制或特定編碼的轉(zhuǎn)換。二進(jìn)制譯碼器是一種將n個(gè)輸入轉(zhuǎn)換為2n個(gè)輸出的組合邏輯電路。2n個(gè)輸出中只有一個(gè)為1,其余均為0。常見的二進(jìn)制譯碼器有:2線-4線譯碼器3線-8線譯碼器4線-16線譯碼器1.4數(shù)字電路入門2線-4線譯碼器2線-4線譯碼器的真值表1.4數(shù)字電路入門1.4.4觸發(fā)器觸發(fā)器是一種具有記憶功能的邏輯電路,它能存儲(chǔ)一位二進(jìn)制數(shù)碼或一個(gè)邏輯狀態(tài)信號(hào),是構(gòu)成寄存器、計(jì)數(shù)器、脈沖信號(hào)發(fā)生器、存儲(chǔ)器等時(shí)序邏輯電路的基本單元電路。觸發(fā)器具有兩個(gè)穩(wěn)定狀態(tài)(用二進(jìn)制代碼0和1表示),在外信號(hào)作用下,這兩個(gè)穩(wěn)定狀態(tài)可以實(shí)現(xiàn)相互轉(zhuǎn)換。基本RS觸發(fā)器同步觸發(fā)器按照電路結(jié)構(gòu)電平觸發(fā)器邊沿觸發(fā)器主從觸發(fā)器按照觸發(fā)方式RS觸發(fā)器D觸發(fā)器JK觸發(fā)器按照邏輯功能1.4數(shù)字電路入門1基本RS觸發(fā)器基本RS觸發(fā)器可以記憶一位二進(jìn)制數(shù)據(jù),它是構(gòu)成各種功能觸發(fā)器的基本模塊。(a)

(b)基本RS觸發(fā)器(a)邏輯圖(b)邏輯符號(hào)左圖所示是由兩個(gè)與非門構(gòu)成的基本RS觸發(fā)器的邏輯圖和邏輯符號(hào)。其中,和是兩個(gè)輸入端,分別稱為復(fù)位端(Reset)和置位端(Set);Q和是輸出端。1.4數(shù)字電路入門基本RS觸發(fā)器有兩種穩(wěn)定狀態(tài):“0”狀態(tài)時(shí),輸出端,,稱為復(fù)位狀態(tài);“1”狀態(tài)時(shí),輸出端,,稱為置位狀態(tài)?;綬S觸發(fā)器的功能表1.4數(shù)字電路入門2維持阻塞型邊沿D觸發(fā)器該觸發(fā)器由6個(gè)與非門組成,其中,G1和G2構(gòu)成基本RS觸發(fā)器,G3和G4組成時(shí)鐘控制電路,G5和G6組成數(shù)據(jù)輸入電路。CP是時(shí)鐘脈沖控制端,D是信號(hào)輸入端,和分別是復(fù)位端和置位端,低電平有效。分析電路原理時(shí),設(shè)和均為高電平,不影響電路的工作。(a)

(b)

維持阻塞型邊沿D觸發(fā)器

(a)邏輯圖(b)邏輯符號(hào)1.4數(shù)字電路入門(1)CP=0

時(shí),與非門G3和G4封鎖,其輸出為1,觸發(fā)器的狀態(tài)不變。同時(shí),由于G3至G5和G4至G6的反饋信號(hào)將G5和G6這兩個(gè)門打開,因此可接收輸入信號(hào)D,使

,

。(2)當(dāng)CP由0變1時(shí),門G3和G4打開,它們的輸出Q3和Q4的狀態(tài)由G5和G6的輸出狀態(tài)決定:

由基本RS觸發(fā)器的邏輯功能可知,

。(3)觸發(fā)器翻轉(zhuǎn)后,在

CP=1時(shí)輸入信號(hào)被封鎖。G3和G4打開后,它們的輸出Q3和Q4的狀態(tài)是互補(bǔ)的,即必定有一個(gè)是0。1.4數(shù)字電路入門①當(dāng)

D=0時(shí),觸發(fā)器翻轉(zhuǎn)后,

經(jīng)G4輸出至G6輸入的反饋線將G6封鎖,即封鎖了D通往基本RS觸發(fā)器的路徑;該反饋線起到了使觸發(fā)器維持在0狀態(tài)和阻止觸發(fā)器變?yōu)?狀態(tài)的作用,故該反饋線稱為置0維持線,置1阻塞線。②當(dāng)

D=0時(shí),觸發(fā)器翻轉(zhuǎn)后,

反饋到G4和G5的輸入端將其封鎖,D端通往基本RS觸發(fā)器的路徑也被封鎖;G3輸出端至G5反饋線起到使觸發(fā)器維持在1狀態(tài)的作用,稱作置1維持線;G3輸出端至G4輸入的反饋線起到阻止觸發(fā)器置0的作用,稱為置0阻塞線。因此,該觸發(fā)器稱為維持阻塞型D觸發(fā)器。1.4數(shù)字電路入門維持阻塞型D觸發(fā)器在CP脈沖的上升沿產(chǎn)生狀態(tài)變化,觸發(fā)器的狀態(tài)取決于CP脈沖上升沿前D端的信號(hào);在上升沿后,輸入D端的信號(hào)變化不會(huì)影響觸發(fā)器的輸出狀態(tài),觸發(fā)器保持上升沿到達(dá)時(shí)的D信號(hào)狀態(tài)。如在CP脈沖的上升沿到來前

,則在CP脈沖的上升沿到來后觸發(fā)器置0;如在CP脈沖的上升沿到來前

,則在CP脈沖的上升沿到來后觸發(fā)器置1。維持阻塞型D觸發(fā)器的功能表1.4數(shù)字電路入門1.4.5寄存器和鎖存器寄存器是能夠存儲(chǔ)一組二進(jìn)制代碼的時(shí)序邏輯電路,它由若干觸發(fā)器構(gòu)成。一個(gè)觸發(fā)器可以存儲(chǔ)1位二進(jìn)制代碼,存放n位二進(jìn)制代碼的寄存器需用n個(gè)觸發(fā)器構(gòu)成(將n個(gè)觸發(fā)器的時(shí)鐘輸入端連接起來)。鎖存器是由若干鐘控D觸發(fā)器構(gòu)成的一次能存儲(chǔ)多位二進(jìn)制代碼的時(shí)序邏輯電路。它將n個(gè)鐘控D觸發(fā)器的時(shí)鐘輸入端CP連接在一起,用一個(gè)公共信號(hào)來控制。4位鎖存器上圖所示是一個(gè)4位鎖存器。鎖存器的數(shù)據(jù)有效遲后于時(shí)鐘信號(hào)有效,這意味著時(shí)鐘信號(hào)先到,數(shù)據(jù)信號(hào)后到。在某些運(yùn)算器電路中,有時(shí)采用鎖存器作為數(shù)據(jù)暫存器。1.4數(shù)字電路入門提示寄存器的輸出端平時(shí)不隨輸入端的變化而變化,只有在時(shí)鐘有效時(shí)才將輸入端的數(shù)據(jù)送輸出端(打入寄存器),而鎖存器的輸出端平時(shí)總隨輸入端的變化而變化,只有當(dāng)鎖存信號(hào)到達(dá)時(shí),才將輸出端的狀態(tài)鎖存起來,使其不再隨輸入端的變化而變化。寄存器和鎖存器具有不同的應(yīng)用場合。若輸入的有效數(shù)據(jù)穩(wěn)定滯后于觸發(fā)信號(hào),則采用鎖存器;若輸入的有效數(shù)據(jù)穩(wěn)定提前于觸發(fā)信號(hào),則采用寄存器。1.4數(shù)字電路入門微機(jī)原理與接口技術(shù)第2章8086與80x86系列微處理器目錄8086微處理器概覽8086系統(tǒng)構(gòu)成8086總線時(shí)序新型微處理器與新型主板簡介2.12.22.32.4CONTENTS65微型計(jì)算機(jī)常用系統(tǒng)總線簡介2.5引子微處理器是組成微型計(jì)算機(jī)系統(tǒng)的核心部件,8086CPU開啟了80x86系列微處理器的新時(shí)代。本章將主要圍繞8086CPU,對(duì)其硬件結(jié)構(gòu)和功能、系統(tǒng)總線的構(gòu)成和總線周期、總線時(shí)序進(jìn)行系統(tǒng)講解,并對(duì)新型微處理器和主板及常用系統(tǒng)總線進(jìn)行簡單介紹。內(nèi)容提要掌握8086CPU的引腳定義、內(nèi)部結(jié)構(gòu)和功能。掌握CPU對(duì)內(nèi)存、I/O端口的管理方法。掌握微機(jī)系統(tǒng)的組成。掌握8086兩種模式下的系統(tǒng)構(gòu)成。了解總線周期的基本概念及典型的總線操作時(shí)序。簡要了解新型微處理器和主板。簡要了解微型計(jì)算機(jī)常用系統(tǒng)總線。2.18086微處理器概覽2.1.1引腳定義與功能從外部看,8086CPU具有40條引腳,采用雙列直插式的封裝形式。8086CPU引腳圖其中,受引腳數(shù)量的限制,8086CPU采用了分時(shí)復(fù)用地址/數(shù)據(jù)總線和地址/狀態(tài)總線。所謂分時(shí)復(fù)用,是指在不同的時(shí)鐘周期,用相同的引腳輸出不同的信號(hào)。2.18086微處理器概覽1地址/數(shù)據(jù)總線AD15~AD0為雙向、三態(tài)地址/數(shù)據(jù)總線,這16條引腳采用分時(shí)復(fù)用方式,具有傳送地址信息和傳送數(shù)據(jù)信息的雙重功能,兩個(gè)過程分開進(jìn)行。在讀寫操作總線周期的T1狀態(tài)作為地址總線使用,用來輸出要訪問存儲(chǔ)單元或I/O端口的低16位地址A15~A0;在總線周期的其他T狀態(tài)作為雙向數(shù)據(jù)總線使用,用來傳送與存儲(chǔ)器或I/O設(shè)備交換所需要的16位數(shù)據(jù)D15~D0。CPU通過總線對(duì)存儲(chǔ)器或I/O端口進(jìn)行一次訪問的過程稱為一個(gè)總線周期。一個(gè)總線周期包括4個(gè)時(shí)鐘周期,即T1,T2,T3和T4四個(gè)狀態(tài)。8086CPU引腳圖此外,通過將接高電平或地,可使CPU工作在最小模式或最大模式下。最小模式是單機(jī)系統(tǒng),系統(tǒng)中所需的控制信號(hào)全部由8086CPU本身直接產(chǎn)生;而最大模式可以構(gòu)成多處理機(jī)系統(tǒng),系統(tǒng)所需的控制信號(hào)由總線控制器提供。在不同模式下,8086CPU的第24~31引腳的定義是不同的。提示8088是與8086同時(shí)代的微處理器,都屬于第三代CPU,它們具有完全相同的指令系統(tǒng)。在硬件結(jié)構(gòu)上,8088與存儲(chǔ)器、I/O接口進(jìn)行數(shù)據(jù)傳輸?shù)耐獠繑?shù)據(jù)總線寬度為8位,而8086的數(shù)據(jù)總線寬度為16位。除此之外,二者幾乎沒有什么差別,為其中一個(gè)CPU編寫的程序不需要任何修改就能在另一個(gè)CPU上運(yùn)行。8086/8088都具有40根外部引線,可以在單一5V電壓下運(yùn)行。由于這兩種CPU的差異很小,所以本書以8086CPU為例進(jìn)行介紹。2.18086微處理器概覽2.18086微處理器概覽2地址/狀態(tài)總線A19/S6,A18/S5,A17/S4和A16/S3為三態(tài)地址/狀態(tài)總線,采用分時(shí)復(fù)用方式,具有傳送地址信息和傳送狀態(tài)信息的雙重功能,兩個(gè)過程分開進(jìn)行。在讀寫操作總線周期的T1狀態(tài)用來輸出高4位地址A19~A16(I/O端口輸入輸出操作時(shí)不用,全為低電平);在總線周期的其他T狀態(tài)用來輸出狀態(tài)信息。(1)S6:指示CPU當(dāng)前是否連在總線上。S6=0表示CPU當(dāng)前連在總線上。(2)S5:指示標(biāo)志位寄存器中的中斷允許標(biāo)志IF的當(dāng)前狀態(tài)。S5=1表示當(dāng)前允許可屏蔽中斷請(qǐng)求;S5=0表示禁止一切可屏蔽中斷。(3)S4和S3:指示當(dāng)前正在使用的段寄存器。2.18086微處理器概覽S4和S3組合對(duì)應(yīng)的狀態(tài)3控制總線(1):三態(tài)輸出,采用分時(shí)復(fù)用方式。在總線周期的T1狀態(tài),輸出信號(hào),表示使用高8位數(shù)據(jù)線AD15~AD8;否則,只使用低8位數(shù)據(jù)線AD7~AD0。在總線的其他T狀態(tài)輸出狀態(tài)信息。和A0組合對(duì)應(yīng)的狀態(tài)2.18086微處理器概覽(2)工作方式控制信號(hào),輸入。接高電平表示CPU工作于最小模式,接地表示CPU工作于最大模式。(3)讀信號(hào),三態(tài)輸出,低電平有效。該信號(hào)為低電平時(shí)表示當(dāng)前CPU正在對(duì)存儲(chǔ)器或I/O端口進(jìn)行讀操作。而具體是對(duì)存儲(chǔ)器還是對(duì)I/O端口讀取數(shù)據(jù),取決于信號(hào)。(4)測試信號(hào),輸入,低電平有效。當(dāng)CPU執(zhí)行WAIT指令時(shí),每隔5個(gè)時(shí)鐘周期對(duì)進(jìn)行一次測試。該信號(hào)為高電平時(shí),則CPU處于等待狀態(tài);變?yōu)榈碗娖綍r(shí),等待狀態(tài)結(jié)束,繼續(xù)執(zhí)行被暫停的指令。2.18086微處理器概覽(5)準(zhǔn)備就緒信號(hào),輸入,來自被訪問存儲(chǔ)器或I/O端口的響應(yīng)信號(hào),高電平有效。該信號(hào)為高電平時(shí)表示要訪問的存儲(chǔ)器或I/O端口準(zhǔn)備就緒,將在下一個(gè)時(shí)鐘周期內(nèi)完成數(shù)據(jù)傳送;否則,表示存儲(chǔ)器或I/O端口未準(zhǔn)備就緒,將插入一個(gè)或多個(gè)等待周期,直到READY為高電平為止。(6)復(fù)位信號(hào),輸入,高電平有效。該信號(hào)為高電平時(shí),至少要保持4個(gè)時(shí)鐘周期,CPU將停止當(dāng)前的操作,將標(biāo)志寄存器及IP,DS,ES和SS清零,將指令隊(duì)列清空,并將段寄存器CS置為0FFFFH。因此該信號(hào)結(jié)束后,CPU從地址為0FFFFH處開始執(zhí)行程序。(7)可屏蔽中斷請(qǐng)求信號(hào),輸入,高電平有效。該信號(hào)為高電平時(shí)表示外設(shè)發(fā)出了中斷請(qǐng)求,CPU在每條指令的最后一個(gè)T狀態(tài)去采樣此信號(hào)。若中斷允許標(biāo)志IF=1則響應(yīng)中斷,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序;否則,CPU繼續(xù)執(zhí)行下一條指令。2.18086微處理器概覽(8)不可屏蔽中斷請(qǐng)求信號(hào),輸入,上升沿觸發(fā),不受IF狀態(tài)的影響,也不能用軟件屏蔽。當(dāng)該信號(hào)有效時(shí),則執(zhí)行完當(dāng)前指令后立即響應(yīng)中斷。NMI是一種比INTR高級(jí)的中斷請(qǐng)求。(9)時(shí)鐘信號(hào),輸入,為8086CPU提供主時(shí)鐘信號(hào)。要求時(shí)鐘周期的高電平、低電平之比為1∶2。8086可以使用的時(shí)鐘頻率因不同的芯片而不同,其中8086-1為10MHz,8086-2為8MHz。(10)電源引腳VCC接高電平(+5V±0.5V),兩個(gè)GND引腳均接地。2.18086微處理器概覽4最小模式下的引腳信號(hào)(24~31)中斷響應(yīng)信號(hào),輸出,低電平有效。該信號(hào)從T2開始有效,表示CPU響應(yīng)了外部發(fā)來的INTR信號(hào)。在中斷響應(yīng)總線周期,它可作為選通信號(hào)。ALE地址鎖存信號(hào),輸出,用來將地址/數(shù)據(jù)、地址/狀態(tài)總線上的地址信號(hào)鎖存到地址鎖存器中,高電平有效。當(dāng)該信號(hào)為高電平時(shí),利用它的下降沿將地址鎖存在地址鎖存器中。數(shù)據(jù)允許信號(hào),三態(tài)輸出,低電平有效。該信號(hào)為低電平時(shí)表示允許輸出數(shù)據(jù)。最小模式下用作數(shù)據(jù)收發(fā)器的選通信號(hào)。數(shù)據(jù)收發(fā)信號(hào),三態(tài)輸出,控制數(shù)據(jù)的傳送方向。該信號(hào)為高電平時(shí)表示發(fā)送數(shù)據(jù);低電平時(shí)表示接收數(shù)據(jù)。2.18086微處理器概覽三態(tài)輸出,用來區(qū)分是存儲(chǔ)器訪問還是I/O訪問。該信號(hào)為高電平時(shí)表示存儲(chǔ)器訪問;低電平時(shí)表示I/O訪問。寫信號(hào),三態(tài)輸出,低電平有效。該信號(hào)為低電平時(shí)表示CPU正在執(zhí)行寫操作。此外,至于是存儲(chǔ)器寫還是I/O寫,取決于M/。HOLD總線請(qǐng)求信號(hào),輸入,用來向CPU請(qǐng)求總線使用權(quán),高電平有效。HLDA總線響應(yīng)信號(hào),輸出,是對(duì)總線請(qǐng)求信號(hào)的響應(yīng),高電平有效。當(dāng)CPU同意讓出總線使用權(quán)時(shí)發(fā)出該信號(hào)。2.18086微處理器概覽5最大模式下的引腳信號(hào)(24~31)QS1和QS0指令隊(duì)列狀態(tài)信號(hào),輸出,用來反映指令隊(duì)列當(dāng)前的狀態(tài)QS1和QS0組合對(duì)應(yīng)的含義2.18086微處理器概覽,,總線周期狀態(tài)信號(hào),三態(tài)輸出,在總線周期的T4,T1和T2狀態(tài)期間有效,,,組合對(duì)應(yīng)的含義2.18086微處理器概覽總線鎖定信號(hào),三態(tài)輸出,低電平有效。該信號(hào)為低電平時(shí),總線被鎖定,外部的總線主控設(shè)備不能占用總線。在指令的前面加前綴LOCK,就會(huì)產(chǎn)生

信號(hào),直到這條指令結(jié)束為止。總線請(qǐng)求輸入/允許輸出信號(hào),雙向,三態(tài),用來供外部主控設(shè)備請(qǐng)求并得到總線控制權(quán),低電平有效。當(dāng)該信號(hào)為輸入時(shí),表示其他主控者向CPU請(qǐng)求使用總線;為輸出時(shí),表示CPU對(duì)總線請(qǐng)求的響應(yīng)信號(hào)。2.18086微處理器概覽2.1.2內(nèi)部結(jié)構(gòu)與功能8086CPU按功能可分為兩大部分:總線接口單元(BIU)和執(zhí)行單元(EU)。8086CPU的功能結(jié)構(gòu)圖2.18086微處理器概覽BIU負(fù)責(zé)取指令,EU負(fù)責(zé)執(zhí)行指令,兩個(gè)部分的操作是獨(dú)立進(jìn)行的,也就是說,EU在執(zhí)行指令的同時(shí),BIU在讀取下面要執(zhí)行的指令。這樣,CPU執(zhí)行完一條指令就可以立即執(zhí)行下一條指令,從而大大減少了CPU等待取指令的時(shí)間。這種流水線技術(shù)一方面提高了系統(tǒng)的運(yùn)行速度;另一方面降低了對(duì)存儲(chǔ)器的存取速度的要求。8086CPU取指令與執(zhí)行指令的并行執(zhí)行過程2.18086微處理器概覽1總線接口單元(BIU)總線接口單元是8086CPU同存儲(chǔ)器和I/O設(shè)備間的接口部件,提供了16位雙向數(shù)據(jù)總線和20位地址總線,負(fù)責(zé)執(zhí)行所有對(duì)外部總線的操作。01負(fù)責(zé)從內(nèi)存單元中取出指令并送到指令隊(duì)列中,等待EU去執(zhí)行。02負(fù)責(zé)從指定內(nèi)存單元或I/O端口中取數(shù)據(jù)送給EU去執(zhí)行,或者將EU的操作結(jié)果送到指定的內(nèi)存單元或I/O端口中。2.18086微處理器概覽BIU由以下幾部分組成:段寄存器4個(gè)16位段寄存器,分別是16位代碼段寄存器CS、16位數(shù)據(jù)段寄存器DS、16位附加段寄存器ES和16位堆棧段寄存器SS。指令指針寄存器IP16位指令指針寄存器IP的功能類似于程序計(jì)數(shù)器PC,用來存放下一條要取出的指令的偏移地址。它只有與代碼段寄存器CS配合,才能得到指令所在內(nèi)存單元的20位物理地址。地址加法器地址加法器專門用來完成由邏輯地址到物理地址的變換。實(shí)際上是進(jìn)行一次地址加法,由兩個(gè)16位的邏輯地址生成一個(gè)20位的物理地址。2.18086微處理器概覽指令隊(duì)列緩沖器在執(zhí)行單元執(zhí)行指令的同時(shí),BIU自動(dòng)從內(nèi)存中讀取下一條或幾條要執(zhí)行的指令,將取來的指令依次送入指令隊(duì)列緩沖器,依據(jù)“先進(jìn)先出”的原則,等待EU順序執(zhí)行每一條指令。如果EU執(zhí)行轉(zhuǎn)移指令,則要清除指令隊(duì)列緩沖器,重新取得指令送到EU去執(zhí)行,再從新地址開始的指令序列中取指令存滿指令隊(duì)列緩沖器??偩€控制電路總線控制電路將8086CPU的內(nèi)部總線和外部總線相連,包括數(shù)據(jù)總線、地址總線和控制總線,用于實(shí)現(xiàn)CPU與內(nèi)存單元或I/O端口之間的信息交換。2.18086微處理器概覽2執(zhí)行單元(EU)EU的主要功能如下:(1)從BIU的指令隊(duì)列中獲取指令。(2)對(duì)指令代碼進(jìn)行譯碼,發(fā)出各種控制信號(hào)。(3)進(jìn)行算術(shù)/邏輯運(yùn)算。(4)生成16位偏移地址,即計(jì)算出指令中操作數(shù)所在內(nèi)存單元的16位偏移地址。(5)將數(shù)據(jù)傳送到BIU,或者接收BIU傳送來的數(shù)據(jù)。2.18086微處理器概覽①數(shù)據(jù)寄存器4個(gè)16位數(shù)據(jù)寄存器AX,BX,CX和DX,主要用于存放運(yùn)算過程中的數(shù)據(jù)或地址。4個(gè)16位數(shù)據(jù)寄存器也可以作為8個(gè)8位數(shù)據(jù)寄存器使用,其中AH,BH,CH和DH用于存放高字節(jié),AL,BL,CL和DL用于存放低字節(jié)。提示AX:累加器,許多指令都通過累加器來執(zhí)行,使用最為頻繁。BX:基址寄存器,常在計(jì)算存儲(chǔ)器地址時(shí)使用。CX:計(jì)數(shù)寄存器,在字符串和循環(huán)操作時(shí)作為計(jì)數(shù)器。DX:數(shù)據(jù)寄存器,在某些I/O操作中可用來存放I/O端口地址。2.18086微處理器概覽②指針寄存器兩個(gè)16位指針SP和BP,與堆棧段寄存器SS配合使用,用于存放當(dāng)前堆棧段中某個(gè)單元的偏移量。提示SP:堆棧指針寄存器,用來指示堆棧段中當(dāng)前棧頂?shù)钠频刂?。?dāng)進(jìn)行入棧和出棧操作時(shí),SP自動(dòng)增減以指向新的棧頂。BP:基址指針寄存器,用來指示堆棧段中的基址偏移量。2.18086微處理器概覽③變址寄存器兩個(gè)16位變址寄存器SI和DI,與數(shù)據(jù)段寄存器DS配合使用,用于存放當(dāng)前數(shù)據(jù)段中某個(gè)單元的偏移量。提示SI:源變址寄存器,在字符串操作中用來存放源操作數(shù)的地址偏移量。DI:目的變址寄存器,在字符串操作中用來存放目的操作數(shù)的地址偏移量,也可與附加段寄存器ES配合使用。2.18086微處理器概覽④算術(shù)邏輯單元(ALU)16位運(yùn)算器,用于進(jìn)行算術(shù)、邏輯運(yùn)算,也可以按指令計(jì)算操作數(shù)在內(nèi)存單元中的偏移地址。⑤標(biāo)志位寄存器(FR)16位標(biāo)志位寄存器FR,共有9個(gè)標(biāo)志位。其中6個(gè)是狀態(tài)標(biāo)志位,3個(gè)是控制標(biāo)志位,用于反映CPU運(yùn)行過程中的某些狀態(tài)特征。標(biāo)志位寄存器2.18086微處理器概覽提示(1)狀態(tài)標(biāo)志位用來反映執(zhí)行指令后運(yùn)算結(jié)果的特征,具體如下。CF:進(jìn)位標(biāo)志,如果運(yùn)算結(jié)果的最高位產(chǎn)生進(jìn)位或借位,則CF=1;否則CF=0。PF:奇偶標(biāo)志,如果運(yùn)算結(jié)果的低8位中含有1的個(gè)數(shù)為偶數(shù),則PF=1;否則PF=0。AF:輔助進(jìn)位標(biāo)志,如果運(yùn)算結(jié)果的低4位向高4位產(chǎn)生進(jìn)位或借位,則AF=1;否則AF=0。ZF:零標(biāo)志,如果運(yùn)算結(jié)果為零,則ZF=1;否則ZF=0。SF:符號(hào)標(biāo)志,如果運(yùn)算結(jié)果為負(fù),則SF=1;否則SF=0。OF:溢出標(biāo)志,如果運(yùn)算結(jié)果產(chǎn)生溢出,即超出了操作數(shù)所能表示的范圍,則OF=1;否則OF=0。2.18086微處理器概覽提示(2)控制標(biāo)志位用來控制CPU的操作,具體如下。DF:方向標(biāo)志,用以控制字符串操作時(shí)的方向。當(dāng)DF=1時(shí),以遞減的方式從高地址向低地址對(duì)字符串進(jìn)行處理;當(dāng)DF=0時(shí),以遞增的方式從低地址向高地址對(duì)字符串進(jìn)行處理。IF:中斷允許標(biāo)志。當(dāng)IF=1時(shí),允許CPU響應(yīng)外部可屏蔽中斷請(qǐng)求;當(dāng)IF=0時(shí),禁止CPU響應(yīng)外部可屏蔽中斷請(qǐng)求。TF:陷阱標(biāo)志,用于程序調(diào)試。當(dāng)TF=1時(shí),CPU處于單步工作方式;當(dāng)TF=0時(shí),CPU正常執(zhí)行程序。2.18086微處理器概覽⑥暫存器協(xié)助ALU完成運(yùn)算,暫存參加運(yùn)算的數(shù)據(jù)。⑦EU控制器負(fù)責(zé)從ALU指令隊(duì)列中獲取指令,經(jīng)過分析譯碼,發(fā)出相應(yīng)的控制命令。將126與-5進(jìn)行減法運(yùn)算,看標(biāo)志位的變化情況。CF=1:最高位產(chǎn)生借位。PF=0:1的個(gè)數(shù)為奇數(shù)個(gè)。AF=0:低4位沒有向高4位產(chǎn)生借位或進(jìn)位。ZF=0:結(jié)果不為0。SF=1:運(yùn)算結(jié)果為負(fù)。OF=1:126-(-5)=+131,超過了+127,產(chǎn)生溢出,所以運(yùn)算結(jié)果不正確。例2-12.18086微處理器概覽2.1.3對(duì)存儲(chǔ)器的管理CPU是通過總線來管理存儲(chǔ)器的。具體來說,就是CPU通過地址總線的編碼對(duì)存儲(chǔ)器尋址,通過控制總線中的讀控制和寫控制信號(hào)控制信息的讀出和寫入,數(shù)據(jù)總線則是讀出和寫入信息的傳遞通道。1存儲(chǔ)器組織8086CPU具有20條地址線,它的直接尋址能力是1MB(220B)。存儲(chǔ)器以一個(gè)字節(jié)作為一個(gè)存儲(chǔ)單元,每個(gè)存儲(chǔ)單元(即每個(gè)字節(jié))都有唯一一個(gè)20位的地址(即5位的十六進(jìn)制地址),稱為存儲(chǔ)單元的物理地址,范圍是00000H~FFFFFH。相鄰兩個(gè)存儲(chǔ)單元可以存放一個(gè)字,字中的每個(gè)字節(jié)對(duì)應(yīng)一個(gè)地址。其中,低字節(jié)(低8位)存放在低地址單元中,高字節(jié)(高8位)存放在高地址單元中。把低字節(jié)存放的存儲(chǔ)單元的地址稱為字的地址。2.18086微處理器概覽將一個(gè)字1234H存入地址為1000H的單元中。8086CPU的數(shù)據(jù)總線是16位的,所以每次對(duì)存儲(chǔ)器的訪問總是兩個(gè)連續(xù)字節(jié)單元。執(zhí)行訪問字節(jié)的指令時(shí),只用了8位,另外8位則被忽略。執(zhí)行訪問字的指令時(shí),如果字的地址是偶地址,則可以通過一次訪問來完成。如果字的地址是奇地址,要通過兩次訪問來完成。第一次訪問時(shí),地址線A0=1,=0,這樣就只能選中高字節(jié)單元;第二次訪問時(shí)才能選中低字節(jié)單元。2.18086微處理器概覽2存儲(chǔ)器分段與物理地址的形成存儲(chǔ)單元的地址在很多情況下是放在CPU的寄存器中的,即通過寄存器來間接訪問存儲(chǔ)器。但是,由于SP,BP,SI,DI和IP等寄存器都是16位的,故其尋址范圍為64KB。而8086CPU具有20條地址線,可尋址的存儲(chǔ)空間為1MB。因此,為了用16位寄存器尋址20位地址存儲(chǔ)器,8086采用了存儲(chǔ)器分段處理。段基址:偏移地址將1MB存儲(chǔ)空間劃分成若干個(gè)獨(dú)立的邏輯段,每個(gè)邏輯段最大不超過64KB,段起始地址(段基址)為段寄存器內(nèi)容×16,相當(dāng)于段寄存器內(nèi)容左移4位。這樣,某一段內(nèi)一個(gè)存儲(chǔ)單元的地址,就可以用相對(duì)于段基址的偏移量來表示,這個(gè)偏移量稱為段內(nèi)偏移地址或有效地址(EA),其格式為:2.18086微處理器概覽物理地址的計(jì)算方法為:16位段基址左移4位,右端補(bǔ)0,然后與16位偏移地址相加,即:物理地址=段基址×24+偏移地址。物理地址的形成提示二進(jìn)制數(shù)左移4位相當(dāng)于對(duì)應(yīng)的十六進(jìn)制數(shù)左移1位,這個(gè)過程的運(yùn)算是由BIU單元中的地址加法器來完成的。段與段之間可以重疊。2.18086微處理器概覽3段寄存器的使用CPU在對(duì)存儲(chǔ)器進(jìn)行訪問時(shí),必須預(yù)先將段基址加載到段寄存器中。8086CPU中有4個(gè)段寄存器,分別是CS,DS,SS和ES,它們的作用分別如下:01CS:代碼段寄存器,用來存放當(dāng)前指令所在的段基址,與指令指針I(yè)P提

供的偏移地址配合使用。02DS:將數(shù)據(jù)段寄存器,用來存放當(dāng)前程序所使用的數(shù)據(jù)段的段基址。03SS:堆棧段寄存器,用來存放當(dāng)前堆棧段的段基址,與指針寄存器SP

或BP提供的偏移地址配合使用。2.18086微處理器概覽04ES:將附加段寄存器,用來存放當(dāng)前運(yùn)行程序所使用的附加數(shù)據(jù)段的

段基址。不同內(nèi)存訪問操作所使用的段寄存器和段內(nèi)偏移地址(CS)=12BAH,(IP)=0100H,計(jì)算當(dāng)前指令所在內(nèi)存單元的物理地址。2.18086微處理器概覽例2-22.18086微處理器概覽2.1.4對(duì)I/O端口的管理CPU與I/O設(shè)備之間是通過I/O接口進(jìn)行信息和數(shù)據(jù)傳輸?shù)?。每個(gè)I/O接口都有一個(gè)或幾個(gè)端口,它與CPU之間的通信利用I/O端口的寄存器來完成。同存儲(chǔ)器單元地址一樣,每個(gè)I/O端口都有唯一的一個(gè)地址,稱為I/O端口地址或端口號(hào)。8086的I/O端口有統(tǒng)一編址和獨(dú)立編址兩種方式。所有的微機(jī)系統(tǒng)都可以采用統(tǒng)一編址的方式,即將I/O端口地址置于1MB的存儲(chǔ)器空間中,把它們看作存儲(chǔ)器單元對(duì)待,每個(gè)端口占用一個(gè)存儲(chǔ)單元地址。2.18086微處理器概覽8086還可以采用獨(dú)立編址的方式。8086使用A15~A0共16條地址線作端口地址,可訪問的I/O端口最多可有64K個(gè)8位端口或32K個(gè)16位端口(任何兩個(gè)相鄰的8位端口可以組合成一個(gè)16位端口)。同存儲(chǔ)器的字訪問類似,要訪問奇地址16位端口,需要訪問兩次才能完成。8086CPU設(shè)置了專門的輸入輸出指令(IN和OUT)來訪問I/O端口。由于I/O地址線和存儲(chǔ)器地址線是公用的,所以要通過8086CPU控制總線中的信號(hào),來區(qū)分地址總線上傳送的是I/O端口地址還是內(nèi)存地址,即是對(duì)I/O端口進(jìn)行訪問還是對(duì)存儲(chǔ)器進(jìn)行訪問。2.1.3對(duì)存儲(chǔ)器的管理CPU是通過總線來管理存儲(chǔ)器的。具體來說,就是CPU通過地址總線的編碼對(duì)存儲(chǔ)器尋址,通過控制總線中的讀控制和寫控制信號(hào)控制信息的讀出和寫入,數(shù)據(jù)總線則是讀出和寫入信息的傳遞通道。1存儲(chǔ)器組織8086CPU具有20條地址線,它的直接尋址能力是1MB(220B)。存儲(chǔ)器以一個(gè)字節(jié)作為一個(gè)存儲(chǔ)單元,每個(gè)存儲(chǔ)單元(即每個(gè)字節(jié))都有唯一一個(gè)20位的地址(即5位的十六進(jìn)制地址),稱為存儲(chǔ)單元的物理地址,范圍是00000H~FFFFFH。相鄰兩個(gè)存儲(chǔ)單元可以存放一個(gè)字,字中的每個(gè)字節(jié)對(duì)應(yīng)一個(gè)地址。其中,低字節(jié)(低8位)存放在低地址單元中,高字節(jié)(高8位)存放在高地址單元中。把低字節(jié)存放的存儲(chǔ)單元的地址稱為字的地址。2.18086微處理器概覽2.18086微處理器概覽存儲(chǔ)器中字的存放8086CPU的數(shù)據(jù)總線是16位的,所以每次對(duì)存儲(chǔ)器的訪問總是兩個(gè)連續(xù)字節(jié)單元。執(zhí)行訪問字節(jié)的指令時(shí),只用了8位,另外8位則被忽略。執(zhí)行訪問字的指令時(shí),如果字的地址是偶地址,則可以通過一次訪問來完成。如果字的地址是奇地址,要通過兩次訪問來完成。第一次訪問時(shí),地址線A0=1,=0,這樣就只能選中高字節(jié)單元;第二次訪問時(shí)才能選中低字節(jié)單元。2存儲(chǔ)器分段與物理地址的形成存儲(chǔ)單元的地址在很多情況下是放在CPU的寄存器中的,即通過寄存器來間接訪問存儲(chǔ)器。但是,由于SP,BP,SI,DI和IP等寄存器都是16位的,故其尋址范圍為64KB。而8086CPU具有20條地址線,可尋址的存儲(chǔ)空間為1MB。因此,為了用16位寄存器尋址20位地址存儲(chǔ)器,8086采用了存儲(chǔ)器分段處理。2.18086微處理器概覽將1MB存儲(chǔ)空間劃分成若干個(gè)獨(dú)立的邏輯段,每個(gè)邏輯段最大不超過64KB,段起始地址(段基址)為段寄存器內(nèi)容×16,相當(dāng)于段寄存器內(nèi)容左移4位。這樣,某一段內(nèi)一個(gè)存儲(chǔ)單元的地址,就可以用相對(duì)于段基址的偏移量來表示,這個(gè)偏移量稱為段內(nèi)偏移地址或有效地址(EA),其格式為:段基址:偏移地址物理地址的計(jì)算方法為:16位段基址左移4位,右端補(bǔ)0,然后與16位偏移地址相加,即:物理地址=段基址×24+偏移地址。2.18086微處理器概覽物理地址的形成提示二進(jìn)制數(shù)左移4位相當(dāng)于對(duì)應(yīng)的十六進(jìn)制數(shù)左移1位,這個(gè)過程的運(yùn)算是由BIU單元中的地址加法器來完成的。段與段之間可以重疊。3段寄存器的使用CPU在對(duì)存儲(chǔ)器進(jìn)行訪問時(shí),必須預(yù)先將段基址加載到段寄存器中。8086CPU中有4個(gè)段寄存器。2.18086微處理器概覽CS代碼段寄存器用來存放當(dāng)前指令所在的段基址,與指令指針I(yè)P提供的偏移地址配合使用。DS數(shù)據(jù)段寄存器用來存放當(dāng)前程序所使用的數(shù)據(jù)段的段基址。SS堆棧段寄存器用來存放當(dāng)前堆棧段的段基址,與指針寄存器SP或BP提供的偏移地址配合使用。ES附加段寄存器用來存放當(dāng)前運(yùn)行程序所使用的附加數(shù)據(jù)段的段基址。2.18086微處理器概覽不同內(nèi)存訪問操作所使用的段寄存器和段內(nèi)偏移地址注意訪問存儲(chǔ)器時(shí),當(dāng)指令中沒有明確指定使用某個(gè)段寄存器時(shí),就由默認(rèn)的段寄存器來提供段基址。2.18086微處理器概覽

(CS)=12BAH,(IP)=0100H,計(jì)算當(dāng)前指令所在內(nèi)存單元的物理地址。例2-32.1.4對(duì)I/O端口的管理CPU與I/O設(shè)備之間是通過I/O接口進(jìn)行信息和數(shù)據(jù)傳輸?shù)?。每個(gè)I/O接口都有一個(gè)或幾個(gè)端口,它與CPU之間的通信利用I/O端口的寄存器來完成。同存儲(chǔ)器單元地址一樣,每個(gè)I/O端口都有唯一的一個(gè)地址,稱為I/O端口地址或端口號(hào)。2.18086微處理器概覽統(tǒng)一編碼獨(dú)立編碼所有的微機(jī)系統(tǒng)都可以采用統(tǒng)一編址的方式,即將I/O端口地址置于1MB的存儲(chǔ)器空間中,把它們看作存儲(chǔ)器單元對(duì)待,每個(gè)端口占用一個(gè)存儲(chǔ)單元地址。2.18086微處理器概覽8086還可以采用獨(dú)立編址的方式。8086使用A15~A0共16條地址線作端口地址,可訪問的I/O端口最多可有64K個(gè)8位端口或32K個(gè)16位端口(任何兩個(gè)相鄰的8位端口可以組合成一個(gè)16位端口)。同存儲(chǔ)器的字訪問類似,要訪問奇地址16位端口,需要訪問兩次才能完成。8086CPU設(shè)置了專門的輸入輸出指令(IN和OUT)來訪問I/O端口。由于I/O地址線和存儲(chǔ)器地址線是公用的,所以要通過8086CPU控制總線中的信號(hào),來區(qū)分地址總線上傳送的是I/O端口地址還是內(nèi)存地址,即是對(duì)I/O端口進(jìn)行訪問還是對(duì)存儲(chǔ)器進(jìn)行訪問。2.2.1最小模式下的系統(tǒng)構(gòu)成2.28086系統(tǒng)構(gòu)成為了適應(yīng)各種場合,8086CPU可以工作在最小模式或最大模式下,由引腳進(jìn)行控制。8086CPU在最小模式下的系統(tǒng)構(gòu)成2.28086系統(tǒng)構(gòu)成(1)采用三片8282鎖存器完成20位地址鎖存。由于復(fù)用線上的地址信號(hào)A19~A16和A15~A0只在總線周期的T1狀態(tài)出現(xiàn),所以要用鎖存器對(duì)地址進(jìn)行鎖存,提供20條地址線。8282鎖存器有8個(gè)輸入端和8個(gè)輸出端,以及兩個(gè)控制端:選通控制端STB和輸出允許控制端,分別用來控制地址的鎖存和數(shù)據(jù)的輸出。8282的引腳圖8282的引腳STB信號(hào)由8086的引腳ALE提供。ALE為高電平時(shí)有效,允許地址信號(hào)通過鎖存器電路;ALE由高電平變?yōu)榈碗娖綍r(shí),地址被鎖存。端接地。為有效低電平時(shí),輸出地址;為高電平時(shí),輸出高阻。2.28086系統(tǒng)構(gòu)成(2)采用兩片8286收發(fā)器驅(qū)動(dòng)8位數(shù)據(jù)總線。雙向數(shù)據(jù)收發(fā)器8286可以提供收和發(fā)兩個(gè)方向的8位數(shù)據(jù)。8286的引腳圖8286收發(fā)器有兩個(gè)控制引腳:允許控制端和方向控制端T,分別用來控制數(shù)據(jù)的通過和數(shù)據(jù)的流向。和T功能表和T功能表2.28086系統(tǒng)構(gòu)成(3)系統(tǒng)控制信號(hào)。8286的引腳信號(hào)由8086的引腳提供。信號(hào)有效時(shí),表示8086正在進(jìn)行數(shù)據(jù)傳送。8286的引腳T的信號(hào)由8086的引腳提供。為高電平時(shí),表示CPU發(fā)送數(shù)據(jù),數(shù)據(jù)傳送方向?yàn)閺腁到B;為低電平時(shí),表示CPU接收數(shù)據(jù),數(shù)據(jù)傳送方向?yàn)閺腂到A。8086CPU可以直接提供系統(tǒng)所需要的全部控制信號(hào)。2.2.2最大模式下的系統(tǒng)構(gòu)成2.28086系統(tǒng)構(gòu)成在最大模式下,系統(tǒng)包含兩個(gè)或多個(gè)微處理器,其中一個(gè)是主處理器,其他處理器為從處理器。在最大模式下,地址鎖存器和數(shù)據(jù)收發(fā)器與最小模式下相同,只是它們所用到的控制信號(hào)由總線控制器8288提供。另外,存儲(chǔ)器讀寫、I/O讀寫及中斷響應(yīng)等總線命令信號(hào)也由8288產(chǎn)生。8086CPU在最大模式下的系統(tǒng)構(gòu)成2.28086系統(tǒng)構(gòu)成8288結(jié)構(gòu)圖總線控制器8288產(chǎn)生的總線控制信號(hào)

,DEN和ALE的功能與最小模式下CPU直接產(chǎn)生的響應(yīng)信號(hào)相同,用來控制地址鎖存器8282和數(shù)據(jù)收發(fā)器8286。只是8288產(chǎn)生的DEN信號(hào)和最小模式時(shí)極性相反,使用時(shí)需加一個(gè)反相器。2.28086系統(tǒng)構(gòu)成,,組合的功能表總線控制器8288產(chǎn)生的總線命令信號(hào):,和分別是存儲(chǔ)器讀命令、存儲(chǔ)器寫命令、先行存儲(chǔ)器寫命令;,和分別是I/O讀命令、I/O寫命令、先行I/O寫命令;為中斷響應(yīng)命令。2.3.1總線周期的概念2.38086總線時(shí)序微處理器在運(yùn)行過程中是在時(shí)鐘脈沖的控制下執(zhí)行每一個(gè)操作的。每個(gè)時(shí)鐘脈沖的持續(xù)時(shí)間稱為一個(gè)時(shí)鐘周期,其頻率稱為主頻(時(shí)鐘頻率)。時(shí)鐘周

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論