版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
微機原理與接口技術(shù)全套可編輯PPT課件共10章,包括微型計算機基礎(chǔ)知識、8086與80x86系列微處理器、8086指令系統(tǒng)、匯編語言程序設(shè)計、存儲器、微型計算機與外設(shè)間的數(shù)據(jù)傳遞、微型計算機常用接口和接口芯片、A/D與D/A轉(zhuǎn)換第1章
微機計算機入門目錄微型計算機概述微型計算機的工作過程計算機中的數(shù)制與編碼數(shù)字電路入門1.11.21.31.4CONTENTS3引子隨著信息技術(shù)特別是微型計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的高速發(fā)展,計算機已經(jīng)成為人類活動中必不可少的工具,它極大地改變了人們的工作、學習和生活方式,成為信息時代的主要標志。本章將通過介紹電子計算機的工作原理和發(fā)展歷程,微處理器的發(fā)展歷程,微機系統(tǒng)的組成,微型計算機的工作過程,以及計算機中的數(shù)制與編碼等內(nèi)容,讓大家先對微型計算機有一個總體的認識。內(nèi)容提要了解電子計算機的工作原理和發(fā)展歷程。了解微處理器的發(fā)展歷程。掌握微機系統(tǒng)的組成。理解微型計算機的工作過程。掌握計算機中的數(shù)制與編碼。了解數(shù)字電路的基礎(chǔ)知識。41.1微型計算機概述1.1.1電子計算機的工作原理馮·諾依曼理論要點(1)計算機由運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五大部分組成。(2)程序和數(shù)據(jù)以二進制代碼形式不加區(qū)別地存放在存儲器中,存放位置由地址確定。(3)控制器根據(jù)存放在存儲器中的指令序列(程序)進行工作,并由一個程序計數(shù)器控制指令的執(zhí)行??刂破骶哂信袛嗄芰?,能根據(jù)計算結(jié)果選擇不同的工作流程。1.1微型計算機概述(1)能夠把需要的程序和數(shù)據(jù)送至計算機中。(2)能夠長期記憶程序、數(shù)據(jù)、中間結(jié)果及最終運算結(jié)果。(3)能夠完成各種算術(shù)、邏輯運算和數(shù)據(jù)傳送等數(shù)據(jù)加工處理。(4)能夠根據(jù)需要控制程序走向,并能根據(jù)指令控制機器的各部件協(xié)調(diào)操作。(5)能夠按照要求將處理結(jié)果輸出給用戶。為了完成上述功能,計算機必須具備五大基本組成部件①輸入數(shù)據(jù)和程序的輸入設(shè)備②記憶程序和數(shù)據(jù)的存儲器③完成數(shù)據(jù)加工處理的運算器④控制程序執(zhí)行的控制器⑤輸出處理結(jié)果的輸出設(shè)備1.1微型計算機概述馮·諾依曼計算機結(jié)構(gòu)示意人們將運算器和控制器等核心部件集成在一個集成電路芯片上,這便是CPU的由來。CPU是CentralProcessingUnit的縮寫,又稱微處理器(Microprocessor)或中央處理器。1.1微型計算機概述1.1.2電子計算機的發(fā)展歷程自1946年世界上第一臺現(xiàn)代電子計算機ENIAC誕生以來,計算機技術(shù)獲得了迅猛發(fā)展。根據(jù)所用電子器件的不同,計算機的發(fā)展已歷經(jīng)電子管計算機晶體管計算機集成電路計算機大規(guī)模及超大規(guī)模集成電路計算機1.1微型計算機概述第一代:電子管計算機(1946-1958年)其主要特點是:硬件方面,采用電子管作為基本邏輯電路元件,主存儲器采用水銀延遲線存儲器、磁鼓和磁芯等,外存儲器則采用磁帶;軟件方面,只能使用機器語言和匯編語言;計算機體積龐大、功耗高、可靠性差、價格昂貴;應用以科學計算為主。第一代計算機所采用的基本技術(shù)(采用二進制、存儲程序控制的方法)為現(xiàn)代計算機技術(shù)的發(fā)展奠定了堅實的理論基礎(chǔ)。世界上第一臺具有現(xiàn)代意義的應用電子管的計算機稱為ENIAC。這臺計算機占地面積達170m2,總重量達到30t,其運算速度達到每秒鐘5000次加法,可以在3毫秒時間內(nèi)做完兩個10位數(shù)乘法。1.1微型計算機概述第二代:晶體管計算機(1958-1964年)其主要特點是:硬件方面,采用晶體管作為基本邏輯電路元件,主存儲器主要采用磁芯,外存儲器開始采用磁盤;軟件有了很大發(fā)展,出現(xiàn)了各種各樣的高級語言及其編譯程序,還出現(xiàn)了以批處理為主的操作系統(tǒng);計算機的體積大大縮小,耗電減少,可靠性提高,性能比第一代計算機有很大的提升;應用以科學計算和各種事務(wù)處理為主,并開始用于工業(yè)控制。美國貝爾實驗室使用800只晶體管組裝了世界上第一臺晶體管計算機TRADIC。1.1微型計算機概述美國IBM公司推出了世界上第一臺采用集成電路的IBM360型計算機。第三代:集成電路計算機(1964-1971年)其主要特點是:硬件方面,計算機主要邏輯部件采用中、小規(guī)模集成電路,主存儲器開始采用半導體存儲器;軟件方面,對計算機程序設(shè)計語言進行了標準化,并提出了結(jié)構(gòu)化程序設(shè)計思想;計算機的體積進一步減小,運算速度、運算精度、存儲容量及可靠性等主要性能指標大大改善。此外,在產(chǎn)品的系列化、計算機系統(tǒng)之間的通信方面都有了較大發(fā)展,計算機的應用領(lǐng)域不斷拓寬,普及程度逐漸提高。1.1微型計算機概述第四代:大規(guī)模及超大規(guī)模集成電路計算機(1971年至今)其主要特點是:硬件方面,計算機邏輯部件由大規(guī)模和超大規(guī)模集成電路組成,主存儲器采用半導體存儲器,計算機外圍設(shè)備多樣化、系列化;軟件方面,實現(xiàn)了軟件固化技術(shù),出現(xiàn)了面向?qū)ο蟮挠嬎銠C程序設(shè)計思想,并廣泛采用了數(shù)據(jù)庫技術(shù)、計算機網(wǎng)絡(luò)技術(shù)。在第四代計算機發(fā)展過程中,最重要的成就之一表現(xiàn)在微處理器的體積不斷減小、集成度不斷提高、運算速度越來越快。例如,我國目前開發(fā)的一款微處理器的運算速度已高達每秒5120億次。1.1微型計算機概述1.1.3微處理器的發(fā)展歷程微型計算機是第四代計算機向微型化方向發(fā)展的產(chǎn)物,簡稱微型機或微機,它以大規(guī)模、超大規(guī)模集成電路為主要部件,以微處理器為核心,并配以存儲器、總線、輸入輸出(I/O)接口及設(shè)備等。微型計算機的發(fā)展以微處理器的發(fā)展為主要標志。1971年,美國Intel公司研制出世界上第一款4位微處理器芯片Intel4004,世界上第一臺4位微型計算機MCS-4也隨之誕生,從而開創(chuàng)了微型計算機發(fā)展的新時代。1.1微型計算機概述第一代微處理器(1971-1972年)第二代微處理器(1973-1977年)第三代微處理器(1978-1984年)第四代微處理器(1985-1991年)第五代微處理器(1992年至今)1.1微型計算機概述1.1.4微機系統(tǒng)的組成1.1微型計算機概述1硬件系統(tǒng)硬件系統(tǒng)主要由CPU、存儲器、輸入輸出(I/O)接口、總線接口、輸入輸出設(shè)備等幾部分組成。硬件是構(gòu)成計算機的實際物理設(shè)備。顯示器鼠標鍵盤主機音箱打印機1.1微型計算機概述所有微機系統(tǒng)都采用了總線結(jié)構(gòu),各組成部分之間通過總線連接??偩€是各種功能部件(CPU、存儲器、I/O接口等)之間信息傳遞的公共通道,它物理上是一組信號線的集合,可以是帶狀的扁平電纜線,也可以是印制電路板上的一層極薄的金屬連線。(1)地址總線(AddressBus,AB)用于傳送存儲器(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)用于傳送各種控制信號??刂瓶偩€中的每一根線都是單向的(有從CPU發(fā)出的,也有發(fā)向CPU的),但它作為一個整體是雙向總線(有進有出)。1.1微型計算機概述此處只是一個微機結(jié)構(gòu)簡圖,實際微機系統(tǒng)要復雜得多。例如,CPU除了提供外部三總線外,其內(nèi)部還有一系列的總線。微機的三總線結(jié)構(gòu)應用軟件是指為解決某個具體領(lǐng)域中的各種實際問題而編制的程序,具有很強的實用性和專用性。常見的應用軟件有辦公軟件、圖像處理軟件、輔助設(shè)計軟件等。系統(tǒng)軟件是指控制、管理和維護計算機的各種資源,使計算機能夠正常工作的一類軟件。常見的系統(tǒng)軟件有操作系統(tǒng)、語言處理程序、數(shù)據(jù)庫管理系統(tǒng)和各種服務(wù)程序等。1.1微型計算機概述2軟件系統(tǒng)系統(tǒng)軟件軟件系統(tǒng)應用軟件1.2微型計算機的工作過程1.2.1計算機指令的基本概念微型計算機的工作過程本質(zhì)上就是執(zhí)行程序的過程。用計算機解決某一具體問題的程序,實際上是由若干條計算機能識別并能執(zhí)行的基本操作命令按照一定的順序排列組成的。計算機能識別并執(zhí)行的每條基本操作命令稱為一條指令,每條指令都規(guī)定了計算機執(zhí)行的一種基本操作。例如,從內(nèi)存中讀取一個數(shù)據(jù)、將兩個數(shù)據(jù)相加等,這里的每個動作都對應一條指令。一串二進制代碼一條計算機指令(1)操作碼:指出計算機所要執(zhí)行的
基本操作。(2)操作數(shù):指明參與操作的對象。1.2微型計算機的工作過程1.2.2微型計算機的工作過程結(jié)束程序執(zhí)行指令分析指令取指令(1)取指令。CPU發(fā)出讀命令,將程序計數(shù)器(ProgramCounter,PC)所指向的指令的地址存入地址寄存器(AddressRegister,AR),PC自動增加,為讀取下一條指令做準備。存儲器收到命令后,取出要執(zhí)行的指令并送到指令寄存器(InstructionRegister,IR)中暫存。(2)分析指令(或稱指令譯碼)。將保存在指令寄存器IR中的指令送到指令譯碼器(InstructionDecoder,ID),譯出該指令對應的微操作信號,控制各個部件的操作。其中,如果指令需要取操作數(shù),CPU將發(fā)出取數(shù)據(jù)命令,到存儲器中取出所需的操作數(shù)。1.2微型計算機的工作過程結(jié)束程序執(zhí)行指令分析指令取指令(3)執(zhí)行指令。根據(jù)指令譯碼,向各個部件發(fā)出相應的控制信號,完成指令規(guī)定的各種操作。其中,如果需要保存計算結(jié)果,則將結(jié)果保存到指定的存儲器單元中。通常,將完成一條指令所需的時間稱為指令周期。一個指令周期往往包括一個或多個總線周期,總線周期是指CPU對總線進行一次典型操作的時間。一個總線周期又包含多個時鐘周期。時鐘周期是計算機中最小的時間單位,是由系統(tǒng)時鐘確定的。1.2微型計算機的工作過程實訓1-2計算機指令的執(zhí)行過程假定讓計算機計算“1FH+4DH=?”,雖然這是一個相當簡單的加法運算,但是計算機卻無法理解。人們必須要先編寫一段程序,以計算機能夠理解的語言告訴它如何一步一步地去做?!?FH”和“4DH”中的最后一個“H”表明這兩個數(shù)值均為十六進制數(shù),它們對應的二進制數(shù)分別為00011111和01001101。1.3計算機中的數(shù)制與編碼1.3.1計算機中的數(shù)制1數(shù)制的概念數(shù)制是人們按進位的原則進行計數(shù)的一種科學方法。在日常生活中,經(jīng)常要用到數(shù)制,除了最常見的十進制計數(shù)法,有時也采用別的進制來計數(shù)。一種計數(shù)制所使用的數(shù)字符號的個數(shù)稱為基數(shù),某個固定位置上的計數(shù)單位稱為位權(quán)。同一數(shù)字符號處在不同位置上所代表的值是不同的,它所代表的實際值等于數(shù)字本身的值乘以所在位置上的位權(quán)。例如,十進制數(shù)345中的數(shù)字3在百位上,表示位權(quán)為100,故此時的3表示的是300。又如,十進制數(shù)123.45用位權(quán)可以表示為(123.45)10=1×102+2×101+3×100+4×10-1+5×10-2那么,一個R進制數(shù),它所用的數(shù)字符號就有R個,它的基數(shù)為R,用Rk表示第k位的位權(quán),則R進制數(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ù)制介紹在計算機中,所有信息(包括數(shù)值、字符、漢字、計算機指令等)的存儲、處理與傳送都是采用二進制的形式。二進制數(shù)中只有0和1兩個數(shù)字符號,利用二進制數(shù)進行操作和運算比較符合機器的特點,它運算簡單、可靠性高、易于實現(xiàn),但是閱讀和書寫比較復雜。1.3計算機中的數(shù)制與編碼除了二進制,為了表示方便,還經(jīng)常使用十進制、八進制和十六進制。常用數(shù)制的特點、基數(shù)、位權(quán)及數(shù)字符號為了區(qū)別不同數(shù)制的數(shù)據(jù),通常在數(shù)字后面加一個英文字母(十進制用D,二進制用B,八進制用O或Q,十六進制用H)作為后綴,例如123D,10110010B,27O,3FH。此外,也可以使用下標進行標注,如(123)10,(10110010)2,(27)8,(3F)16。1.3計算機中的數(shù)制與編碼1.3.2數(shù)制之間的轉(zhuǎn)換1非十進制數(shù)轉(zhuǎn)換成十進制數(shù)二進制數(shù)、八進制數(shù)和十六進制數(shù)轉(zhuǎn)換成十進制數(shù)非常簡單,方法是:按位權(quán)展開后求和。將非十進制數(shù)(1011.11)2,(154.01)8和(1CB.D)16轉(zhuǎ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計算機中的數(shù)制與編碼2十進制數(shù)轉(zhuǎn)換成非十進制數(shù)十進制數(shù)轉(zhuǎn)換成二進制數(shù)、八進制數(shù)和十六進制數(shù)時,需要將整數(shù)部分和小數(shù)部分各自進行轉(zhuǎn)換,然后把轉(zhuǎn)換的結(jié)果合在一起。(1)整數(shù)部分的轉(zhuǎn)換。整數(shù)部分的轉(zhuǎn)換采用“除基取余法”,方法是:將十進制數(shù)的整數(shù)部分反復除以基數(shù)R,將每次得到的商作為被除數(shù),并取得相應的余數(shù),直到商為0。將每次得到的余數(shù)按逆序排列,即為轉(zhuǎn)換后的R進制整數(shù)。(2)小數(shù)部分的轉(zhuǎn)換。小數(shù)部分的轉(zhuǎn)換采用“乘基取整法”,方法是:將十進制數(shù)的小數(shù)部分反復乘以基數(shù)R,將每次乘積的小數(shù)部分作為被乘數(shù),并取得相應的整數(shù)部分,直到乘積的小數(shù)部分為0。將每次得到的整數(shù)部分順序排列在小數(shù)點后,即為轉(zhuǎn)換后的R進制小數(shù)。1.3計算機中的數(shù)制與編碼將(69.625)10分別轉(zhuǎn)換成二進制數(shù)、八進制數(shù)和十六進制數(shù)。①轉(zhuǎn)換成二進制數(shù)整數(shù)部分:
小數(shù)部分:所以,(69.625)10=(1000101.101)2。例1-21.3計算機中的數(shù)制與編碼②轉(zhuǎn)換成八進制數(shù)③轉(zhuǎn)換成十六進制數(shù)1.3計算機中的數(shù)制與編碼3二進制數(shù)與八進制數(shù)、十六進制數(shù)之間的轉(zhuǎn)換二進制、八進制、十六進制之間存在特殊的關(guān)系:1位八進制數(shù)對應3位二進制數(shù),1位十六進制數(shù)對應4位二進制數(shù),因此轉(zhuǎn)換比較容易。1.3計算機中的數(shù)制與編碼(1)二進制數(shù)轉(zhuǎn)換成八進制數(shù)。二進制數(shù)轉(zhuǎn)換成八進制數(shù)的方法是:從小數(shù)點開始向左、右兩邊每3位并為一組,對應1位八進制數(shù),不足3位時補0即可。(2)二進制數(shù)轉(zhuǎn)換成十六進制數(shù)。二進制數(shù)轉(zhuǎn)換成十六進制數(shù)的方法是:從小數(shù)點開始向左、右兩邊每4位并為一組,對應1位十六進制數(shù),不足4位時補0即可。將(1101101.0101)2分別轉(zhuǎn)換成八進制數(shù)和十六進制數(shù)。例1-3將(207.54)8和(E4.2A)16轉(zhuǎn)換成二進制數(shù)。例1-41.3計算機中的數(shù)制與編碼1.3.3數(shù)值在計算機中的表示計算機中的數(shù)是用二進制來表示的,但數(shù)有正數(shù)和負數(shù)之分,數(shù)的符號在計算機中也是用二進制表示的。一般用0來表示正號,用1來表示負號,而小數(shù)點不占位數(shù)。這種將符號數(shù)字化了的數(shù)稱為機器數(shù),而這個數(shù)的本身稱為真值。1定點數(shù)定點數(shù)是指小數(shù)點位置固定不變的數(shù)。根據(jù)小數(shù)點的位置不同,定點數(shù)又分為定點整數(shù)和定點小數(shù)。1.3計算機中的數(shù)制與編碼定點整數(shù)規(guī)定小數(shù)點的位置固定在數(shù)據(jù)的最低位之后,但不占一個二進制位。那么,符號位的右邊表示的是一個整數(shù)值。(1)定點整數(shù)。定點整數(shù)的表示形式例如,用8位二進制定點整數(shù)表示(-50)10,應為:(-50)10=(10110010)21.3計算機中的數(shù)制與編碼定點小數(shù)規(guī)定小數(shù)點的位置固定在符號位之后,但不占一個二進制位。那么,符號位的右邊表示的是一個純小數(shù)。(2)定點小數(shù)例如,用8位二進制定點整數(shù)表示(-0.6875)10,應為:(-0.6875)10=(11011000)2定點小數(shù)的表示形式1.3計算機中的數(shù)制與編碼2浮點數(shù)浮點數(shù)是指小數(shù)點的位置不固定的數(shù)。對于既有整數(shù)部分又有小數(shù)部分的數(shù),一般用浮點數(shù)表示。任意一個二進制數(shù)N都可以表示成如下形式:N=2P×S其中,P是一個整數(shù),表示小數(shù)點的位置,稱為階碼;S是一個純小數(shù),表示數(shù)N的全部有效數(shù)字,稱為尾數(shù)。例如,(0.0011001)2=2-10×0.11001,其中階碼P=(-10)2,尾數(shù)S=(0.11001)2。1.3計算機中的數(shù)制與編碼3帶符號數(shù)的表示方法(1)原碼原碼表示法是一種最簡單的機器數(shù)表示方法,其規(guī)則如下:①正數(shù):最高位為0,其余各位為數(shù)值本身。②負數(shù):最高位為1,其余各位為數(shù)值本身。(2)反碼反碼表示法的規(guī)則如下:①正數(shù):最高位為0,數(shù)值部分保持不變。②負數(shù):最高位為1,數(shù)值部分各位取反。(3)補碼補碼表示法的規(guī)則如下:①正數(shù):最高位為0,數(shù)值部分保持不變。②負數(shù):最高位為1,數(shù)值部分各位取反后,末位加1,即其反碼的末位加1。已知X=(40)10,Y=(-33)10,求它們的原碼、反碼和補碼。例1-51.3計算機中的數(shù)制與編碼已知二進制數(shù)X=-0001110,Y=+0111000,使用補碼求X-Y的值。[X]補=11110010,[Y]補=00111000,[-Y]補=11001000超出存儲位,舍棄不要1111001011001000+)110111010-14-56-70十進制數(shù)4補碼的運算在計算機中,帶符號數(shù)一般采用補碼的形式進行運算。二進制補碼的運算規(guī)則如下:[X+Y]補=[X]補+[Y]補,[X-Y]補=[X]補-[Y]補=[X]補+[-Y]補例1-6因此,[X-Y]補=[X]補+[-Y]補=10111010,X-Y=-1000110=(-70)10。顯然,這個結(jié)果是正確的。另外,由于8位二進制補碼能表示的數(shù)值范圍是-128~+127,因此當運算結(jié)果超出機器數(shù)所能表示的數(shù)值范圍時,將會產(chǎn)生溢出而使結(jié)果錯誤。1.3計算機中的數(shù)制與編碼已知二進制數(shù)X=+100011,Y=+1011110,使用補碼求X+Y的值。[X]補=00100011,[Y]補=010111100010001101011110+)10000001+35+94-127十進制數(shù)例1-7因此,[X+Y]補=[X]補+[Y]補=10000001,X+Y=-1111111=(-127)10。兩個正數(shù)相加的結(jié)果卻為負數(shù),顯然這個結(jié)果是錯誤的。正確的求和結(jié)果應該為+129,由于它超出了8位二進制補碼所能表示的數(shù)值范圍,因而產(chǎn)生溢出,使結(jié)果出錯。1.3計算機中的數(shù)制與編碼1.3.4二進制編碼由于計算機只能直接識別和處理二進制數(shù),因此輸入的信息如數(shù)字、字母、符號、漢字、圖像等,都要轉(zhuǎn)化成由若干位0和1組合的特定二進制代碼來表示,這就是二進制編碼。1BCD碼如果用4位二進制碼的組合來表示1位十進制數(shù),那么按照這種方法就可以對任意十進制數(shù)進行編碼。這種二進制編碼的十進制數(shù)稱為BCD碼。其中最常用的是8421BCD碼,即從高到低4位二進制數(shù)的權(quán)值分別是8,4,2,1。1.3計算機中的數(shù)制與編碼將十進制數(shù)79.5用BCD碼表示。方法非常簡單,只要將十進制數(shù)的每1位替換成對應的4位二進制碼即可。(79.5)10=(01111001.0101)BCD例1-82字符編碼國際上普遍采用的字符編碼方法是美國標準信息交換碼,即ASCII碼。具體編碼方法是:每一個字符對應一個7位的二進制代碼,用一個字節(jié)的低7位來表示字符編碼,最高位補0或用作奇偶校驗位。使用ASCII碼最多可表示128種字符,包括32個標點符號、10個阿拉伯數(shù)字、52個英文大小寫字母、34個控制符號。1.3計算機中的數(shù)制與編碼3漢字編碼為了使計算機能夠處理漢字信息,就需要對漢字進行編碼。漢字編碼的類型包括交換碼(國標碼)、輸入碼(機外碼)、機內(nèi)碼(存儲碼)、輸出碼(字形碼)等。我國于1981年公布的《信息交換用漢字編碼字符集-基本集》(GB2312-1980)是中華人民共和國國家漢字信息交換用編碼。該編碼標準共收錄漢字6763個,其中一級漢字3755個,二級漢字3008個,另外還收錄了682個非漢字圖形字符。1.3計算機中的數(shù)制與編碼1.4數(shù)字電路入門1.4.1邏輯門電路用以實現(xiàn)基本邏輯運算和復合邏輯運算的電路稱為邏輯門電路,它是組成數(shù)字電路的基本單元。其輸入、輸出信號反映在電路上是高電平和低電平兩種狀態(tài),分別用1和0兩個邏輯值來表示。基本的邏輯門有與門、或門、非門,這些基本的邏輯門可以組合使用,實現(xiàn)更為復雜的邏輯門電路,常見的有與非門、或非門、異或門等。1與門(a)
(b)
與門的邏輯符號(a)通用符號(b)國標符號與門的真值表實現(xiàn)“與”邏輯運算的門電路稱為與門。設(shè)A,B是兩個輸入端,Y是輸出端,只有當輸入端A,B全為1時,Y端才輸出1;否則Y端輸出均為0。與門的邏輯表達式為2或門實現(xiàn)“或”邏輯運算的門電路稱為或門。設(shè)A,B是兩個輸入端,Y是輸出端,輸入端A,B只要有一個為1,Y端就輸出1;只有輸入端A,B全為0時,Y端才輸出0。或門的邏輯表達式為:。(a)
(b)或門的邏輯符號(a)通用符號(b)國標符號或門的真值表1.4數(shù)字電路入門3非門實現(xiàn)“非”邏輯運算的門電路稱為非門。設(shè)A是輸入端,Y是輸出端,其輸出與輸入恒為相反狀態(tài)。非門的邏輯表達式為:。(a)
(b)非門的邏輯符號(a)通用符號(b)國標符號非門的真值表1.4數(shù)字電路入門4與非門與門和非門可以組合成為與非門。設(shè)A,B是兩個輸入端,Y是輸出端,輸入端A,B全為1時,則Y端輸出為0;只要有一個輸入端為0,則Y端輸出為1。與非門的邏輯表達式為:。(a)(b)與非門的邏輯符號(a)通用符號(b)國標符號與非門的真值表1.4數(shù)字電路入門5或非門或門和非門可以組合成為或非門。設(shè)A,B是兩個輸入端,Y是輸出端,輸入端A,B全為0時,則Y端輸出為1;只要有一個輸入端為1,則Y端輸出為0?;蚍情T的邏輯表達式為:。(a)(b)異或門的邏輯符號(a)通用符號(b)國標符號異或門的真值表1.4數(shù)字電路入門6異或門(a)(b)或非門的邏輯符號(a)通用符號(b)國標符號或非門的真值表兩個非門、兩個與門和一個或門可以組合成為異或門。設(shè)A,B是兩個輸入端,Y是輸出端,輸入端A,B相同時,則Y端輸出為0;輸入端A,B相異時,則Y端輸出為1。異或門的邏輯表達式為:。1.4數(shù)字電路入門1.4.2傳送門電路1三態(tài)門三態(tài)門是指邏輯門的輸出端除具有高電平和低電平兩種狀態(tài)外,還具有第三種狀態(tài)——高阻狀態(tài)(相當于開路狀態(tài))的門電路。(a)
(b)三態(tài)門的邏輯符號(a)通用符號(b)國標符號圖中,端為控制端,又稱使能端,用來控制門電路的通斷。當端為低電平時,三態(tài)門處于工作狀態(tài),按照邏輯門電路工作;當端為高電平時,三態(tài)門處于高阻狀態(tài)。三態(tài)門的真值表1.4數(shù)字電路入門2單向數(shù)據(jù)傳送門將若干三態(tài)門并列排列,并將它們的使能端連接在一起,就構(gòu)成了一個單向數(shù)據(jù)傳送門。單向數(shù)據(jù)傳送門左圖所示是一個4位的單向數(shù)據(jù)傳送門。當門控制端G為高電平時,各三態(tài)門的使能端為低電平,輸入端A3~A0的4位數(shù)據(jù)將分別傳送到輸出端Y3~Y0;當門控制端G為低電平時,各三態(tài)門的使能端為高電平,輸出端Y3~Y0變成高阻狀態(tài)。單向數(shù)據(jù)傳送門的功能表1.4數(shù)字電路入門3雙向數(shù)據(jù)傳送門左圖所示是一個雙向4位數(shù)據(jù)傳送門。當門控制端G為高電平、DS為低電平時,AB方向的門電路被打開,A3~A0端的數(shù)據(jù)將傳送到B3~B0端;當門控制端G為高電平、DS為高電平時,BA方向的門電路被打開,B3~B0端的數(shù)據(jù)將傳送到A3~A0端;當門控制端G為低電平時,各三態(tài)門的使能端為高電平,A3~A0端和B3~B0端均為高阻狀態(tài)。雙向數(shù)據(jù)傳送門雙向數(shù)據(jù)傳送門的功能表1.4數(shù)字電路入門1.4.3譯碼器譯碼器是一種組合邏輯電路,它可以將一組二進制編碼信號轉(zhuǎn)換成一個邏輯輸出信號。譯碼器一般分為變量譯碼器和顯示譯碼器。其中,變量譯碼器用于譯出輸入變量的狀態(tài);顯示譯碼器主要用于實現(xiàn)二進制到其他進制或特定編碼的轉(zhuǎn)換。二進制譯碼器是一種將n個輸入轉(zhuǎn)換為2n個輸出的組合邏輯電路。2n個輸出中只有一個為1,其余均為0。常見的二進制譯碼器有:2線-4線譯碼器3線-8線譯碼器4線-16線譯碼器1.4數(shù)字電路入門2線-4線譯碼器2線-4線譯碼器的真值表1.4數(shù)字電路入門1.4.4觸發(fā)器觸發(fā)器是一種具有記憶功能的邏輯電路,它能存儲一位二進制數(shù)碼或一個邏輯狀態(tài)信號,是構(gòu)成寄存器、計數(shù)器、脈沖信號發(fā)生器、存儲器等時序邏輯電路的基本單元電路。觸發(fā)器具有兩個穩(wěn)定狀態(tài)(用二進制代碼0和1表示),在外信號作用下,這兩個穩(wěn)定狀態(tài)可以實現(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ā)器可以記憶一位二進制數(shù)據(jù),它是構(gòu)成各種功能觸發(fā)器的基本模塊。(a)
(b)基本RS觸發(fā)器(a)邏輯圖(b)邏輯符號左圖所示是由兩個與非門構(gòu)成的基本RS觸發(fā)器的邏輯圖和邏輯符號。其中,和是兩個輸入端,分別稱為復位端(Reset)和置位端(Set);Q和是輸出端。1.4數(shù)字電路入門基本RS觸發(fā)器有兩種穩(wěn)定狀態(tài):“0”狀態(tài)時,輸出端,,稱為復位狀態(tài);“1”狀態(tài)時,輸出端,,稱為置位狀態(tài)?;綬S觸發(fā)器的功能表1.4數(shù)字電路入門2維持阻塞型邊沿D觸發(fā)器該觸發(fā)器由6個與非門組成,其中,G1和G2構(gòu)成基本RS觸發(fā)器,G3和G4組成時鐘控制電路,G5和G6組成數(shù)據(jù)輸入電路。CP是時鐘脈沖控制端,D是信號輸入端,和分別是復位端和置位端,低電平有效。分析電路原理時,設(shè)和均為高電平,不影響電路的工作。(a)
(b)
維持阻塞型邊沿D觸發(fā)器
(a)邏輯圖(b)邏輯符號1.4數(shù)字電路入門(1)CP=0
時,與非門G3和G4封鎖,其輸出為1,觸發(fā)器的狀態(tài)不變。同時,由于G3至G5和G4至G6的反饋信號將G5和G6這兩個門打開,因此可接收輸入信號D,使
,
。(2)當CP由0變1時,門G3和G4打開,它們的輸出Q3和Q4的狀態(tài)由G5和G6的輸出狀態(tài)決定:
,
由基本RS觸發(fā)器的邏輯功能可知,
。(3)觸發(fā)器翻轉(zhuǎn)后,在
CP=1時輸入信號被封鎖。G3和G4打開后,它們的輸出Q3和Q4的狀態(tài)是互補的,即必定有一個是0。1.4數(shù)字電路入門①當
D=0時,觸發(fā)器翻轉(zhuǎn)后,
經(jīng)G4輸出至G6輸入的反饋線將G6封鎖,即封鎖了D通往基本RS觸發(fā)器的路徑;該反饋線起到了使觸發(fā)器維持在0狀態(tài)和阻止觸發(fā)器變?yōu)?狀態(tài)的作用,故該反饋線稱為置0維持線,置1阻塞線。②當
D=0時,觸發(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端的信號;在上升沿后,輸入D端的信號變化不會影響觸發(fā)器的輸出狀態(tài),觸發(fā)器保持上升沿到達時的D信號狀態(tài)。如在CP脈沖的上升沿到來前
,則在CP脈沖的上升沿到來后觸發(fā)器置0;如在CP脈沖的上升沿到來前
,則在CP脈沖的上升沿到來后觸發(fā)器置1。維持阻塞型D觸發(fā)器的功能表1.4數(shù)字電路入門1.4.5寄存器和鎖存器寄存器是能夠存儲一組二進制代碼的時序邏輯電路,它由若干觸發(fā)器構(gòu)成。一個觸發(fā)器可以存儲1位二進制代碼,存放n位二進制代碼的寄存器需用n個觸發(fā)器構(gòu)成(將n個觸發(fā)器的時鐘輸入端連接起來)。鎖存器是由若干鐘控D觸發(fā)器構(gòu)成的一次能存儲多位二進制代碼的時序邏輯電路。它將n個鐘控D觸發(fā)器的時鐘輸入端CP連接在一起,用一個公共信號來控制。4位鎖存器上圖所示是一個4位鎖存器。鎖存器的數(shù)據(jù)有效遲后于時鐘信號有效,這意味著時鐘信號先到,數(shù)據(jù)信號后到。在某些運算器電路中,有時采用鎖存器作為數(shù)據(jù)暫存器。1.4數(shù)字電路入門提示寄存器的輸出端平時不隨輸入端的變化而變化,只有在時鐘有效時才將輸入端的數(shù)據(jù)送輸出端(打入寄存器),而鎖存器的輸出端平時總隨輸入端的變化而變化,只有當鎖存信號到達時,才將輸出端的狀態(tài)鎖存起來,使其不再隨輸入端的變化而變化。寄存器和鎖存器具有不同的應用場合。若輸入的有效數(shù)據(jù)穩(wěn)定滯后于觸發(fā)信號,則采用鎖存器;若輸入的有效數(shù)據(jù)穩(wěn)定提前于觸發(fā)信號,則采用寄存器。1.4數(shù)字電路入門微機原理與接口技術(shù)第2章8086與80x86系列微處理器目錄8086微處理器概覽8086系統(tǒng)構(gòu)成8086總線時序新型微處理器與新型主板簡介2.12.22.32.4CONTENTS65微型計算機常用系統(tǒng)總線簡介2.5引子微處理器是組成微型計算機系統(tǒng)的核心部件,8086CPU開啟了80x86系列微處理器的新時代。本章將主要圍繞8086CPU,對其硬件結(jié)構(gòu)和功能、系統(tǒng)總線的構(gòu)成和總線周期、總線時序進行系統(tǒng)講解,并對新型微處理器和主板及常用系統(tǒng)總線進行簡單介紹。內(nèi)容提要掌握8086CPU的引腳定義、內(nèi)部結(jié)構(gòu)和功能。掌握CPU對內(nèi)存、I/O端口的管理方法。掌握微機系統(tǒng)的組成。掌握8086兩種模式下的系統(tǒng)構(gòu)成。了解總線周期的基本概念及典型的總線操作時序。簡要了解新型微處理器和主板。簡要了解微型計算機常用系統(tǒng)總線。2.18086微處理器概覽2.1.1引腳定義與功能從外部看,8086CPU具有40條引腳,采用雙列直插式的封裝形式。8086CPU引腳圖其中,受引腳數(shù)量的限制,8086CPU采用了分時復用地址/數(shù)據(jù)總線和地址/狀態(tài)總線。所謂分時復用,是指在不同的時鐘周期,用相同的引腳輸出不同的信號。2.18086微處理器概覽1地址/數(shù)據(jù)總線AD15~AD0為雙向、三態(tài)地址/數(shù)據(jù)總線,這16條引腳采用分時復用方式,具有傳送地址信息和傳送數(shù)據(jù)信息的雙重功能,兩個過程分開進行。在讀寫操作總線周期的T1狀態(tài)作為地址總線使用,用來輸出要訪問存儲單元或I/O端口的低16位地址A15~A0;在總線周期的其他T狀態(tài)作為雙向數(shù)據(jù)總線使用,用來傳送與存儲器或I/O設(shè)備交換所需要的16位數(shù)據(jù)D15~D0。CPU通過總線對存儲器或I/O端口進行一次訪問的過程稱為一個總線周期。一個總線周期包括4個時鐘周期,即T1,T2,T3和T4四個狀態(tài)。8086CPU引腳圖此外,通過將接高電平或地,可使CPU工作在最小模式或最大模式下。最小模式是單機系統(tǒng),系統(tǒng)中所需的控制信號全部由8086CPU本身直接產(chǎn)生;而最大模式可以構(gòu)成多處理機系統(tǒng),系統(tǒng)所需的控制信號由總線控制器提供。在不同模式下,8086CPU的第24~31引腳的定義是不同的。提示8088是與8086同時代的微處理器,都屬于第三代CPU,它們具有完全相同的指令系統(tǒng)。在硬件結(jié)構(gòu)上,8088與存儲器、I/O接口進行數(shù)據(jù)傳輸?shù)耐獠繑?shù)據(jù)總線寬度為8位,而8086的數(shù)據(jù)總線寬度為16位。除此之外,二者幾乎沒有什么差別,為其中一個CPU編寫的程序不需要任何修改就能在另一個CPU上運行。8086/8088都具有40根外部引線,可以在單一5V電壓下運行。由于這兩種CPU的差異很小,所以本書以8086CPU為例進行介紹。2.18086微處理器概覽2.18086微處理器概覽2地址/狀態(tài)總線A19/S6,A18/S5,A17/S4和A16/S3為三態(tài)地址/狀態(tài)總線,采用分時復用方式,具有傳送地址信息和傳送狀態(tài)信息的雙重功能,兩個過程分開進行。在讀寫操作總線周期的T1狀態(tài)用來輸出高4位地址A19~A16(I/O端口輸入輸出操作時不用,全為低電平);在總線周期的其他T狀態(tài)用來輸出狀態(tài)信息。(1)S6:指示CPU當前是否連在總線上。S6=0表示CPU當前連在總線上。(2)S5:指示標志位寄存器中的中斷允許標志IF的當前狀態(tài)。S5=1表示當前允許可屏蔽中斷請求;S5=0表示禁止一切可屏蔽中斷。(3)S4和S3:指示當前正在使用的段寄存器。2.18086微處理器概覽S4和S3組合對應的狀態(tài)3控制總線(1):三態(tài)輸出,采用分時復用方式。在總線周期的T1狀態(tài),輸出信號,表示使用高8位數(shù)據(jù)線AD15~AD8;否則,只使用低8位數(shù)據(jù)線AD7~AD0。在總線的其他T狀態(tài)輸出狀態(tài)信息。和A0組合對應的狀態(tài)2.18086微處理器概覽(2)工作方式控制信號,輸入。接高電平表示CPU工作于最小模式,接地表示CPU工作于最大模式。(3)讀信號,三態(tài)輸出,低電平有效。該信號為低電平時表示當前CPU正在對存儲器或I/O端口進行讀操作。而具體是對存儲器還是對I/O端口讀取數(shù)據(jù),取決于信號。(4)測試信號,輸入,低電平有效。當CPU執(zhí)行WAIT指令時,每隔5個時鐘周期對進行一次測試。該信號為高電平時,則CPU處于等待狀態(tài);變?yōu)榈碗娖綍r,等待狀態(tài)結(jié)束,繼續(xù)執(zhí)行被暫停的指令。2.18086微處理器概覽(5)準備就緒信號,輸入,來自被訪問存儲器或I/O端口的響應信號,高電平有效。該信號為高電平時表示要訪問的存儲器或I/O端口準備就緒,將在下一個時鐘周期內(nèi)完成數(shù)據(jù)傳送;否則,表示存儲器或I/O端口未準備就緒,將插入一個或多個等待周期,直到READY為高電平為止。(6)復位信號,輸入,高電平有效。該信號為高電平時,至少要保持4個時鐘周期,CPU將停止當前的操作,將標志寄存器及IP,DS,ES和SS清零,將指令隊列清空,并將段寄存器CS置為0FFFFH。因此該信號結(jié)束后,CPU從地址為0FFFFH處開始執(zhí)行程序。(7)可屏蔽中斷請求信號,輸入,高電平有效。該信號為高電平時表示外設(shè)發(fā)出了中斷請求,CPU在每條指令的最后一個T狀態(tài)去采樣此信號。若中斷允許標志IF=1則響應中斷,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序;否則,CPU繼續(xù)執(zhí)行下一條指令。2.18086微處理器概覽(8)不可屏蔽中斷請求信號,輸入,上升沿觸發(fā),不受IF狀態(tài)的影響,也不能用軟件屏蔽。當該信號有效時,則執(zhí)行完當前指令后立即響應中斷。NMI是一種比INTR高級的中斷請求。(9)時鐘信號,輸入,為8086CPU提供主時鐘信號。要求時鐘周期的高電平、低電平之比為1∶2。8086可以使用的時鐘頻率因不同的芯片而不同,其中8086-1為10MHz,8086-2為8MHz。(10)電源引腳VCC接高電平(+5V±0.5V),兩個GND引腳均接地。2.18086微處理器概覽4最小模式下的引腳信號(24~31)中斷響應信號,輸出,低電平有效。該信號從T2開始有效,表示CPU響應了外部發(fā)來的INTR信號。在中斷響應總線周期,它可作為選通信號。ALE地址鎖存信號,輸出,用來將地址/數(shù)據(jù)、地址/狀態(tài)總線上的地址信號鎖存到地址鎖存器中,高電平有效。當該信號為高電平時,利用它的下降沿將地址鎖存在地址鎖存器中。數(shù)據(jù)允許信號,三態(tài)輸出,低電平有效。該信號為低電平時表示允許輸出數(shù)據(jù)。最小模式下用作數(shù)據(jù)收發(fā)器的選通信號。數(shù)據(jù)收發(fā)信號,三態(tài)輸出,控制數(shù)據(jù)的傳送方向。該信號為高電平時表示發(fā)送數(shù)據(jù);低電平時表示接收數(shù)據(jù)。2.18086微處理器概覽三態(tài)輸出,用來區(qū)分是存儲器訪問還是I/O訪問。該信號為高電平時表示存儲器訪問;低電平時表示I/O訪問。寫信號,三態(tài)輸出,低電平有效。該信號為低電平時表示CPU正在執(zhí)行寫操作。此外,至于是存儲器寫還是I/O寫,取決于M/。HOLD總線請求信號,輸入,用來向CPU請求總線使用權(quán),高電平有效。HLDA總線響應信號,輸出,是對總線請求信號的響應,高電平有效。當CPU同意讓出總線使用權(quán)時發(fā)出該信號。2.18086微處理器概覽5最大模式下的引腳信號(24~31)QS1和QS0指令隊列狀態(tài)信號,輸出,用來反映指令隊列當前的狀態(tài)QS1和QS0組合對應的含義2.18086微處理器概覽,,總線周期狀態(tài)信號,三態(tài)輸出,在總線周期的T4,T1和T2狀態(tài)期間有效,,,組合對應的含義2.18086微處理器概覽總線鎖定信號,三態(tài)輸出,低電平有效。該信號為低電平時,總線被鎖定,外部的總線主控設(shè)備不能占用總線。在指令的前面加前綴LOCK,就會產(chǎn)生
信號,直到這條指令結(jié)束為止??偩€請求輸入/允許輸出信號,雙向,三態(tài),用來供外部主控設(shè)備請求并得到總線控制權(quán),低電平有效。當該信號為輸入時,表示其他主控者向CPU請求使用總線;為輸出時,表示CPU對總線請求的響應信號。2.18086微處理器概覽2.1.2內(nèi)部結(jié)構(gòu)與功能8086CPU按功能可分為兩大部分:總線接口單元(BIU)和執(zhí)行單元(EU)。8086CPU的功能結(jié)構(gòu)圖2.18086微處理器概覽BIU負責取指令,EU負責執(zhí)行指令,兩個部分的操作是獨立進行的,也就是說,EU在執(zhí)行指令的同時,BIU在讀取下面要執(zhí)行的指令。這樣,CPU執(zhí)行完一條指令就可以立即執(zhí)行下一條指令,從而大大減少了CPU等待取指令的時間。這種流水線技術(shù)一方面提高了系統(tǒng)的運行速度;另一方面降低了對存儲器的存取速度的要求。8086CPU取指令與執(zhí)行指令的并行執(zhí)行過程2.18086微處理器概覽1總線接口單元(BIU)總線接口單元是8086CPU同存儲器和I/O設(shè)備間的接口部件,提供了16位雙向數(shù)據(jù)總線和20位地址總線,負責執(zhí)行所有對外部總線的操作。01負責從內(nèi)存單元中取出指令并送到指令隊列中,等待EU去執(zhí)行。02負責從指定內(nèi)存單元或I/O端口中取數(shù)據(jù)送給EU去執(zhí)行,或者將EU的操作結(jié)果送到指定的內(nèi)存單元或I/O端口中。2.18086微處理器概覽BIU由以下幾部分組成:段寄存器4個16位段寄存器,分別是16位代碼段寄存器CS、16位數(shù)據(jù)段寄存器DS、16位附加段寄存器ES和16位堆棧段寄存器SS。指令指針寄存器IP16位指令指針寄存器IP的功能類似于程序計數(shù)器PC,用來存放下一條要取出的指令的偏移地址。它只有與代碼段寄存器CS配合,才能得到指令所在內(nèi)存單元的20位物理地址。地址加法器地址加法器專門用來完成由邏輯地址到物理地址的變換。實際上是進行一次地址加法,由兩個16位的邏輯地址生成一個20位的物理地址。2.18086微處理器概覽指令隊列緩沖器在執(zhí)行單元執(zhí)行指令的同時,BIU自動從內(nèi)存中讀取下一條或幾條要執(zhí)行的指令,將取來的指令依次送入指令隊列緩沖器,依據(jù)“先進先出”的原則,等待EU順序執(zhí)行每一條指令。如果EU執(zhí)行轉(zhuǎn)移指令,則要清除指令隊列緩沖器,重新取得指令送到EU去執(zhí)行,再從新地址開始的指令序列中取指令存滿指令隊列緩沖器??偩€控制電路總線控制電路將8086CPU的內(nèi)部總線和外部總線相連,包括數(shù)據(jù)總線、地址總線和控制總線,用于實現(xiàn)CPU與內(nèi)存單元或I/O端口之間的信息交換。2.18086微處理器概覽2執(zhí)行單元(EU)EU的主要功能如下:(1)從BIU的指令隊列中獲取指令。(2)對指令代碼進行譯碼,發(fā)出各種控制信號。(3)進行算術(shù)/邏輯運算。(4)生成16位偏移地址,即計算出指令中操作數(shù)所在內(nèi)存單元的16位偏移地址。(5)將數(shù)據(jù)傳送到BIU,或者接收BIU傳送來的數(shù)據(jù)。2.18086微處理器概覽①數(shù)據(jù)寄存器4個16位數(shù)據(jù)寄存器AX,BX,CX和DX,主要用于存放運算過程中的數(shù)據(jù)或地址。4個16位數(shù)據(jù)寄存器也可以作為8個8位數(shù)據(jù)寄存器使用,其中AH,BH,CH和DH用于存放高字節(jié),AL,BL,CL和DL用于存放低字節(jié)。提示AX:累加器,許多指令都通過累加器來執(zhí)行,使用最為頻繁。BX:基址寄存器,常在計算存儲器地址時使用。CX:計數(shù)寄存器,在字符串和循環(huán)操作時作為計數(shù)器。DX:數(shù)據(jù)寄存器,在某些I/O操作中可用來存放I/O端口地址。2.18086微處理器概覽②指針寄存器兩個16位指針SP和BP,與堆棧段寄存器SS配合使用,用于存放當前堆棧段中某個單元的偏移量。提示SP:堆棧指針寄存器,用來指示堆棧段中當前棧頂?shù)钠频刂?。當進行入棧和出棧操作時,SP自動增減以指向新的棧頂。BP:基址指針寄存器,用來指示堆棧段中的基址偏移量。2.18086微處理器概覽③變址寄存器兩個16位變址寄存器SI和DI,與數(shù)據(jù)段寄存器DS配合使用,用于存放當前數(shù)據(jù)段中某個單元的偏移量。提示SI:源變址寄存器,在字符串操作中用來存放源操作數(shù)的地址偏移量。DI:目的變址寄存器,在字符串操作中用來存放目的操作數(shù)的地址偏移量,也可與附加段寄存器ES配合使用。2.18086微處理器概覽④算術(shù)邏輯單元(ALU)16位運算器,用于進行算術(shù)、邏輯運算,也可以按指令計算操作數(shù)在內(nèi)存單元中的偏移地址。⑤標志位寄存器(FR)16位標志位寄存器FR,共有9個標志位。其中6個是狀態(tài)標志位,3個是控制標志位,用于反映CPU運行過程中的某些狀態(tài)特征。標志位寄存器2.18086微處理器概覽提示(1)狀態(tài)標志位用來反映執(zhí)行指令后運算結(jié)果的特征,具體如下。CF:進位標志,如果運算結(jié)果的最高位產(chǎn)生進位或借位,則CF=1;否則CF=0。PF:奇偶標志,如果運算結(jié)果的低8位中含有1的個數(shù)為偶數(shù),則PF=1;否則PF=0。AF:輔助進位標志,如果運算結(jié)果的低4位向高4位產(chǎn)生進位或借位,則AF=1;否則AF=0。ZF:零標志,如果運算結(jié)果為零,則ZF=1;否則ZF=0。SF:符號標志,如果運算結(jié)果為負,則SF=1;否則SF=0。OF:溢出標志,如果運算結(jié)果產(chǎn)生溢出,即超出了操作數(shù)所能表示的范圍,則OF=1;否則OF=0。2.18086微處理器概覽提示(2)控制標志位用來控制CPU的操作,具體如下。DF:方向標志,用以控制字符串操作時的方向。當DF=1時,以遞減的方式從高地址向低地址對字符串進行處理;當DF=0時,以遞增的方式從低地址向高地址對字符串進行處理。IF:中斷允許標志。當IF=1時,允許CPU響應外部可屏蔽中斷請求;當IF=0時,禁止CPU響應外部可屏蔽中斷請求。TF:陷阱標志,用于程序調(diào)試。當TF=1時,CPU處于單步工作方式;當TF=0時,CPU正常執(zhí)行程序。2.18086微處理器概覽⑥暫存器協(xié)助ALU完成運算,暫存參加運算的數(shù)據(jù)。⑦EU控制器負責從ALU指令隊列中獲取指令,經(jīng)過分析譯碼,發(fā)出相應的控制命令。將126與-5進行減法運算,看標志位的變化情況。CF=1:最高位產(chǎn)生借位。PF=0:1的個數(shù)為奇數(shù)個。AF=0:低4位沒有向高4位產(chǎn)生借位或進位。ZF=0:結(jié)果不為0。SF=1:運算結(jié)果為負。OF=1:126-(-5)=+131,超過了+127,產(chǎn)生溢出,所以運算結(jié)果不正確。例2-12.18086微處理器概覽2.1.3對存儲器的管理CPU是通過總線來管理存儲器的。具體來說,就是CPU通過地址總線的編碼對存儲器尋址,通過控制總線中的讀控制和寫控制信號控制信息的讀出和寫入,數(shù)據(jù)總線則是讀出和寫入信息的傳遞通道。1存儲器組織8086CPU具有20條地址線,它的直接尋址能力是1MB(220B)。存儲器以一個字節(jié)作為一個存儲單元,每個存儲單元(即每個字節(jié))都有唯一一個20位的地址(即5位的十六進制地址),稱為存儲單元的物理地址,范圍是00000H~FFFFFH。相鄰兩個存儲單元可以存放一個字,字中的每個字節(jié)對應一個地址。其中,低字節(jié)(低8位)存放在低地址單元中,高字節(jié)(高8位)存放在高地址單元中。把低字節(jié)存放的存儲單元的地址稱為字的地址。2.18086微處理器概覽將一個字1234H存入地址為1000H的單元中。8086CPU的數(shù)據(jù)總線是16位的,所以每次對存儲器的訪問總是兩個連續(xù)字節(jié)單元。執(zhí)行訪問字節(jié)的指令時,只用了8位,另外8位則被忽略。執(zhí)行訪問字的指令時,如果字的地址是偶地址,則可以通過一次訪問來完成。如果字的地址是奇地址,要通過兩次訪問來完成。第一次訪問時,地址線A0=1,=0,這樣就只能選中高字節(jié)單元;第二次訪問時才能選中低字節(jié)單元。2.18086微處理器概覽2存儲器分段與物理地址的形成存儲單元的地址在很多情況下是放在CPU的寄存器中的,即通過寄存器來間接訪問存儲器。但是,由于SP,BP,SI,DI和IP等寄存器都是16位的,故其尋址范圍為64KB。而8086CPU具有20條地址線,可尋址的存儲空間為1MB。因此,為了用16位寄存器尋址20位地址存儲器,8086采用了存儲器分段處理。段基址:偏移地址將1MB存儲空間劃分成若干個獨立的邏輯段,每個邏輯段最大不超過64KB,段起始地址(段基址)為段寄存器內(nèi)容×16,相當于段寄存器內(nèi)容左移4位。這樣,某一段內(nèi)一個存儲單元的地址,就可以用相對于段基址的偏移量來表示,這個偏移量稱為段內(nèi)偏移地址或有效地址(EA),其格式為:2.18086微處理器概覽物理地址的計算方法為:16位段基址左移4位,右端補0,然后與16位偏移地址相加,即:物理地址=段基址×24+偏移地址。物理地址的形成提示二進制數(shù)左移4位相當于對應的十六進制數(shù)左移1位,這個過程的運算是由BIU單元中的地址加法器來完成的。段與段之間可以重疊。2.18086微處理器概覽3段寄存器的使用CPU在對存儲器進行訪問時,必須預先將段基址加載到段寄存器中。8086CPU中有4個段寄存器,分別是CS,DS,SS和ES,它們的作用分別如下:01CS:代碼段寄存器,用來存放當前指令所在的段基址,與指令指針I(yè)P提
供的偏移地址配合使用。02DS:將數(shù)據(jù)段寄存器,用來存放當前程序所使用的數(shù)據(jù)段的段基址。03SS:堆棧段寄存器,用來存放當前堆棧段的段基址,與指針寄存器SP
或BP提供的偏移地址配合使用。2.18086微處理器概覽04ES:將附加段寄存器,用來存放當前運行程序所使用的附加數(shù)據(jù)段的
段基址。不同內(nèi)存訪問操作所使用的段寄存器和段內(nèi)偏移地址(CS)=12BAH,(IP)=0100H,計算當前指令所在內(nèi)存單元的物理地址。2.18086微處理器概覽例2-22.18086微處理器概覽2.1.4對I/O端口的管理CPU與I/O設(shè)備之間是通過I/O接口進行信息和數(shù)據(jù)傳輸?shù)?。每個I/O接口都有一個或幾個端口,它與CPU之間的通信利用I/O端口的寄存器來完成。同存儲器單元地址一樣,每個I/O端口都有唯一的一個地址,稱為I/O端口地址或端口號。8086的I/O端口有統(tǒng)一編址和獨立編址兩種方式。所有的微機系統(tǒng)都可以采用統(tǒng)一編址的方式,即將I/O端口地址置于1MB的存儲器空間中,把它們看作存儲器單元對待,每個端口占用一個存儲單元地址。2.18086微處理器概覽8086還可以采用獨立編址的方式。8086使用A15~A0共16條地址線作端口地址,可訪問的I/O端口最多可有64K個8位端口或32K個16位端口(任何兩個相鄰的8位端口可以組合成一個16位端口)。同存儲器的字訪問類似,要訪問奇地址16位端口,需要訪問兩次才能完成。8086CPU設(shè)置了專門的輸入輸出指令(IN和OUT)來訪問I/O端口。由于I/O地址線和存儲器地址線是公用的,所以要通過8086CPU控制總線中的信號,來區(qū)分地址總線上傳送的是I/O端口地址還是內(nèi)存地址,即是對I/O端口進行訪問還是對存儲器進行訪問。2.1.3對存儲器的管理CPU是通過總線來管理存儲器的。具體來說,就是CPU通過地址總線的編碼對存儲器尋址,通過控制總線中的讀控制和寫控制信號控制信息的讀出和寫入,數(shù)據(jù)總線則是讀出和寫入信息的傳遞通道。1存儲器組織8086CPU具有20條地址線,它的直接尋址能力是1MB(220B)。存儲器以一個字節(jié)作為一個存儲單元,每個存儲單元(即每個字節(jié))都有唯一一個20位的地址(即5位的十六進制地址),稱為存儲單元的物理地址,范圍是00000H~FFFFFH。相鄰兩個存儲單元可以存放一個字,字中的每個字節(jié)對應一個地址。其中,低字節(jié)(低8位)存放在低地址單元中,高字節(jié)(高8位)存放在高地址單元中。把低字節(jié)存放的存儲單元的地址稱為字的地址。2.18086微處理器概覽2.18086微處理器概覽存儲器中字的存放8086CPU的數(shù)據(jù)總線是16位的,所以每次對存儲器的訪問總是兩個連續(xù)字節(jié)單元。執(zhí)行訪問字節(jié)的指令時,只用了8位,另外8位則被忽略。執(zhí)行訪問字的指令時,如果字的地址是偶地址,則可以通過一次訪問來完成。如果字的地址是奇地址,要通過兩次訪問來完成。第一次訪問時,地址線A0=1,=0,這樣就只能選中高字節(jié)單元;第二次訪問時才能選中低字節(jié)單元。2存儲器分段與物理地址的形成存儲單元的地址在很多情況下是放在CPU的寄存器中的,即通過寄存器來間接訪問存儲器。但是,由于SP,BP,SI,DI和IP等寄存器都是16位的,故其尋址范圍為64KB。而8086CPU具有20條地址線,可尋址的存儲空間為1MB。因此,為了用16位寄存器尋址20位地址存儲器,8086采用了存儲器分段處理。2.18086微處理器概覽將1MB存儲空間劃分成若干個獨立的邏輯段,每個邏輯段最大不超過64KB,段起始地址(段基址)為段寄存器內(nèi)容×16,相當于段寄存器內(nèi)容左移4位。這樣,某一段內(nèi)一個存儲單元的地址,就可以用相對于段基址的偏移量來表示,這個偏移量稱為段內(nèi)偏移地址或有效地址(EA),其格式為:段基址:偏移地址物理地址的計算方法為:16位段基址左移4位,右端補0,然后與16位偏移地址相加,即:物理地址=段基址×24+偏移地址。2.18086微處理器概覽物理地址的形成提示二進制數(shù)左移4位相當于對應的十六進制數(shù)左移1位,這個過程的運算是由BIU單元中的地址加法器來完成的。段與段之間可以重疊。3段寄存器的使用CPU在對存儲器進行訪問時,必須預先將段基址加載到段寄存器中。8086CPU中有4個段寄存器。2.18086微處理器概覽CS代碼段寄存器用來存放當前指令所在的段基址,與指令指針I(yè)P提供的偏移地址配合使用。DS數(shù)據(jù)段寄存器用來存放當前程序所使用的數(shù)據(jù)段的段基址。SS堆棧段寄存器用來存放當前堆棧段的段基址,與指針寄存器SP或BP提供的偏移地址配合使用。ES附加段寄存器用來存放當前運行程序所使用的附加數(shù)據(jù)段的段基址。2.18086微處理器概覽不同內(nèi)存訪問操作所使用的段寄存器和段內(nèi)偏移地址注意訪問存儲器時,當指令中沒有明確指定使用某個段寄存器時,就由默認的段寄存器來提供段基址。2.18086微處理器概覽
(CS)=12BAH,(IP)=0100H,計算當前指令所在內(nèi)存單元的物理地址。例2-32.1.4對I/O端口的管理CPU與I/O設(shè)備之間是通過I/O接口進行信息和數(shù)據(jù)傳輸?shù)?。每個I/O接口都有一個或幾個端口,它與CPU之間的通信利用I/O端口的寄存器來完成。同存儲器單元地址一樣,每個I/O端口都有唯一的一個地址,稱為I/O端口地址或端口號。2.18086微處理器概覽統(tǒng)一編碼獨立編碼所有的微機系統(tǒng)都可以采用統(tǒng)一編址的方式,即將I/O端口地址置于1MB的存儲器空間中,把它們看作存儲器單元對待,每個端口占用一個存儲單元地址。2.18086微處理器概覽8086還可以采用獨立編址的方式。8086使用A15~A0共16條地址線作端口地址,可訪問的I/O端口最多可有64K個8位端口或32K個16位端口(任何兩個相鄰的8位端口可以組合成一個16位端口)。同存儲器的字訪問類似,要訪問奇地址16位端口,需要訪問兩次才能完成。8086CPU設(shè)置了專門的輸入輸出指令(IN和OUT)來訪問I/O端口。由于I/O地址線和存儲器地址線是公用的,所以要通過8086CPU控制總線中的信號,來區(qū)分地址總線上傳送的是I/O端口地址還是內(nèi)存地址,即是對I/O端口進行訪問還是對存儲器進行訪問。2.2.1最小模式下的系統(tǒng)構(gòu)成2.28086系統(tǒng)構(gòu)成為了適應各種場合,8086CPU可以工作在最小模式或最大模式下,由引腳進行控制。8086CPU在最小模式下的系統(tǒng)構(gòu)成2.28086系統(tǒng)構(gòu)成(1)采用三片8282鎖存器完成20位地址鎖存。由于復用線上的地址信號A19~A16和A15~A0只在總線周期的T1狀態(tài)出現(xiàn),所以要用鎖存器對地址進行鎖存,提供20條地址線。8282鎖存器有8個輸入端和8個輸出端,以及兩個控制端:選通控制端STB和輸出允許控制端,分別用來控制地址的鎖存和數(shù)據(jù)的輸出。8282的引腳圖8282的引腳STB信號由8086的引腳ALE提供。ALE為高電平時有效,允許地址信號通過鎖存器電路;ALE由高電平變?yōu)榈碗娖綍r,地址被鎖存。端接地。為有效低電平時,輸出地址;為高電平時,輸出高阻。2.28086系統(tǒng)構(gòu)成(2)采用兩片8286收發(fā)器驅(qū)動8位數(shù)據(jù)總線。雙向數(shù)據(jù)收發(fā)器8286可以提供收和發(fā)兩個方向的8位數(shù)據(jù)。8286的引腳圖8286收發(fā)器有兩個控制引腳:允許控制端和方向控制端T,分別用來控制數(shù)據(jù)的通過和數(shù)據(jù)的流向。和T功能表和T功能表2.28086系統(tǒng)構(gòu)成(3)系統(tǒng)控制信號。8286的引腳信號由8086的引腳提供。信號有效時,表示8086正在進行數(shù)據(jù)傳送。8286的引腳T的信號由8086的引腳提供。為高電平時,表示CPU發(fā)送數(shù)據(jù),數(shù)據(jù)傳送方向為從A到B;為低電平時,表示CPU接收數(shù)據(jù),數(shù)據(jù)傳送方向為從B到A。8086CPU可以直接提供系統(tǒng)所需要的全部控制信號。2.2.2最大模式下的系統(tǒng)構(gòu)成2.28086系統(tǒng)構(gòu)成在最大模式下,系統(tǒng)包含兩個或多個微處理器,其中一個是主處理器,其他處理器為從處理器。在最大模式下,地址鎖存器和數(shù)據(jù)收發(fā)器與最小模式下相同,只是它們所用到的控制信號由總線控制器8288提供。另外,存儲器讀寫、I/O讀寫及中斷響應等總線命令信號也由8288產(chǎn)生。8086CPU在最大模式下的系統(tǒng)構(gòu)成2.28086系統(tǒng)構(gòu)成8288結(jié)構(gòu)圖總線控制器8288產(chǎn)生的總線控制信號
,DEN和ALE的功能與最小模式下CPU直接產(chǎn)生的響應信號相同,用來控制地址鎖存器8282和數(shù)據(jù)收發(fā)器8286。只是8288產(chǎn)生的DEN信號和最小模式時極性相反,使用時需加一個反相器。2.28086系統(tǒng)構(gòu)成,,組合的功能表總線控制器8288產(chǎn)生的總線命令信號:,和分別是存儲器讀命令、存儲器寫命令、先行存儲器寫命令;,和分別是I/O讀命令、I/O寫命令、先行I/O寫命令;為中斷響應命令。2.3.1總線周期的概念2.38086總線時序微處理器在運行過程中是在時鐘脈沖的控制下執(zhí)行每一個操作的。每個時鐘脈沖的持續(xù)時間稱為一個時鐘周期,其頻率稱為主頻(時鐘頻率)。時鐘周
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025河北建筑安全員-A證考試題庫附答案
- DB32T-食品安全督導工作規(guī)范編制說明
- 三個共點力的動態(tài)平衡
- 單位人力資源管理制度精彩大合集十篇
- 公用事業(yè)行業(yè)十二月行業(yè)動態(tài)報告:水電發(fā)電量降幅收窄風光核裝機目標明確
- 江蘇省連云港市海州區(qū)2024-2025學年八年級上學期期末考試生物學試卷(含答案)
- 單位管理制度展示合集【職員管理篇】十篇
- 年產(chǎn)5000臺液晶電視項目可行性研究報告建議書
- 單位管理制度展示選集人力資源管理篇
- 單位管理制度品讀選集人員管理篇十篇
- 機動車維修竣工出廠合格證
- 陜西延長石油精原煤化工有限公司 60 萬噸 - 年蘭炭綜合利用項目 ( 一期 30 萬噸 - 年蘭炭、1 萬噸 - 年金屬鎂生產(chǎn)線)竣工環(huán)境保護驗收調(diào)查報告
- 大病救助申請書
- 法學概論-課件
- 廈門物業(yè)管理若干規(guī)定
- 外科護理學試題+答案
- 齊魯醫(yī)學屈光和屈光不正匯編
- 貨架的技術(shù)說明(一)
- 【高等數(shù)學練習題】皖西學院專升本自考真題匯總(附答案解析)
- 高處作業(yè)安全技術(shù)交底-
- 工抵房協(xié)議模板
評論
0/150
提交評論