微機(jī)原理與接口技術(shù)-基于8086和Proteus仿真(第3版) 課件 第2章 8086微機(jī)系統(tǒng)_第1頁
微機(jī)原理與接口技術(shù)-基于8086和Proteus仿真(第3版) 課件 第2章 8086微機(jī)系統(tǒng)_第2頁
微機(jī)原理與接口技術(shù)-基于8086和Proteus仿真(第3版) 課件 第2章 8086微機(jī)系統(tǒng)_第3頁
微機(jī)原理與接口技術(shù)-基于8086和Proteus仿真(第3版) 課件 第2章 8086微機(jī)系統(tǒng)_第4頁
微機(jī)原理與接口技術(shù)-基于8086和Proteus仿真(第3版) 課件 第2章 8086微機(jī)系統(tǒng)_第5頁
已閱讀5頁,還剩97頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章8086微機(jī)系統(tǒng)

本章主要內(nèi)容8086微處理器的結(jié)構(gòu)28086微機(jī)系統(tǒng)的總線時(shí)序4半導(dǎo)體存儲(chǔ)器的分類1概述18086微處理器的引腳特性38086微機(jī)系統(tǒng)的硬件組成與組織52.1概述微型計(jì)算機(jī)(簡(jiǎn)稱微機(jī)):將計(jì)算機(jī)的核心器件中央處理器(運(yùn)算器和控制器)集成在一塊半導(dǎo)體芯片上,配以存儲(chǔ)器、I/O接口電路及系統(tǒng)總線等設(shè)備微型計(jì)算機(jī)系統(tǒng):以微機(jī)為主體,配上系統(tǒng)軟件和外設(shè)微機(jī)的分類以微處理器型號(hào)為標(biāo)志劃分:286計(jì)算機(jī)386計(jì)算機(jī)486計(jì)算機(jī)Pentium計(jì)算機(jī)PentiumⅡ計(jì)算機(jī)PentiumⅢ計(jì)算機(jī)Pentium4計(jì)算機(jī)……微機(jī)的分類按計(jì)算機(jī)運(yùn)算部件處理的數(shù)據(jù)位數(shù)來劃分:8位計(jì)算機(jī)16位計(jì)算機(jī)32位計(jì)算機(jī)64位計(jì)算機(jī)……位數(shù)越多計(jì)算機(jī)運(yùn)算速度越快2.1.1微機(jī)系統(tǒng)的工作原理微型計(jì)算機(jī)的工作:運(yùn)行程序依次逐條從存儲(chǔ)器中取出預(yù)先存放的指令并完成指令規(guī)定的動(dòng)作微機(jī)系統(tǒng)的基本工作原理:存儲(chǔ)程序和程序控制

②CPU從內(nèi)存中逐條讀取該程序的指令及相關(guān)的數(shù)據(jù)④將指令的運(yùn)算處理結(jié)果送回內(nèi)存保存⑤任務(wù)完成后,將處理得到的全部結(jié)果成批傳送到外存以長(zhǎng)久保存外存儲(chǔ)器內(nèi)存儲(chǔ)器CPU①任務(wù)啟動(dòng)時(shí),執(zhí)行該任務(wù)的程序和數(shù)據(jù)從外存成批傳送到內(nèi)存指令1指令2指令k指令n程序數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)m數(shù)據(jù)③CPU逐條執(zhí)行指令,按指令要求完成對(duì)數(shù)據(jù)的運(yùn)算和處理2.1.2微機(jī)系統(tǒng)的硬件組成微機(jī)系統(tǒng)的設(shè)計(jì)思想:馮?諾依曼的“存儲(chǔ)程序和程序控制”微型計(jì)算機(jī)系統(tǒng)的硬件包括:運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備計(jì)算機(jī)內(nèi)部采用二進(jìn)制數(shù)據(jù)格式表示數(shù)據(jù)和指令。程序?qū)⒈皇孪却嫒胫鞔鎯?chǔ)器中,計(jì)算機(jī)在工作時(shí)能在不需要操作人員干預(yù)的情況下,自動(dòng)逐條取出指令并執(zhí)行。2.1.2微機(jī)系統(tǒng)的硬件組成運(yùn)算器(ALU):運(yùn)算器的核心是算術(shù)邏輯單元,是完成各種算術(shù)和邏輯運(yùn)算的部件??刂破鳎–U):發(fā)出各種控制信息,使計(jì)算機(jī)各部件協(xié)調(diào)工作的部件。存儲(chǔ)器(M):記憶程序和數(shù)據(jù)的部件。輸入設(shè)備(IN):將程序和數(shù)據(jù)輸入的部件。輸出設(shè)備(OUT):將結(jié)果數(shù)據(jù)和其它信息輸出的部件。2.1.2微型計(jì)算機(jī)系統(tǒng)的硬件組成現(xiàn)代微型計(jì)算機(jī)系統(tǒng)硬件組成結(jié)構(gòu)圖2.1.2微型計(jì)算機(jī)系統(tǒng)的硬件組成1、微處理器微處理器包含運(yùn)算器和控制器,微處理器的性能基本決定了計(jì)算機(jī)的性能,是微型計(jì)算機(jī)的核心。隨著微電子技術(shù)的發(fā)展,微型計(jì)算機(jī)的發(fā)展基本遵循摩爾定律。1971年,Intel公司研制成功了第1臺(tái)微處理器Intel4004;1973年,Intel公司又研制成功了8位微處理器Intel8080;1978年,Intel公司推出了首枚16位微處理器8086;同年,IBM公司基于Intel8088芯片推出的IBM-PC計(jì)算機(jī),使微型計(jì)算機(jī)進(jìn)入到了一個(gè)迅速發(fā)展的使用時(shí)期。2、協(xié)處理器協(xié)處理器用于特定任務(wù)的處理,以減輕系統(tǒng)微處理器的負(fù)擔(dān),是微型計(jì)算機(jī)系統(tǒng)的選配硬件。例如,數(shù)字協(xié)處理器可以控制數(shù)字處理;圖形協(xié)處理器可以處理視頻繪制。常見的協(xié)處理器有:Intel8087。3、內(nèi)存儲(chǔ)器也稱主存或內(nèi)存,用于存放計(jì)算機(jī)正在運(yùn)行的程序和用到的數(shù)據(jù)等內(nèi)存儲(chǔ)器分為隨機(jī)存取存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)兩大類。隨機(jī)存儲(chǔ)器:RAM接受程序的控制,可由用戶寫入數(shù)據(jù)或讀出數(shù)據(jù),但是斷電后數(shù)據(jù)會(huì)消失。RAM可以用來臨時(shí)存放程序、輸入數(shù)據(jù)和中間結(jié)果等。只讀存儲(chǔ)器:ROM中的信息由廠家預(yù)先寫入,一般用來存放自檢程序、配置信息等。通常只能讀出而不能寫入,斷電后信息不會(huì)丟失。4、總線控制邏輯微型計(jì)算機(jī)系統(tǒng)采用總線結(jié)構(gòu)總線是連接計(jì)算機(jī)各組成部件的公共數(shù)據(jù)通路。在微型計(jì)算機(jī)系統(tǒng)中,總線分為:片內(nèi)總線:連接CPU內(nèi)部的各個(gè)部件;片級(jí)總線:連接CPU、存儲(chǔ)器及I/O接口等電路,構(gòu)成所謂的主機(jī)板;系統(tǒng)總線:用來連接外部設(shè)備。系統(tǒng)總線的直觀形式就是主板上的擴(kuò)充插槽。4、總線控制邏輯主板與外部設(shè)備之間的數(shù)據(jù)傳輸必須通過系統(tǒng)總線,所以系統(tǒng)總線包含的信號(hào)線必須滿足下列各種輸入/輸出操作的需要:(1)訪問分布于主板之外的存儲(chǔ)器;(2)訪問I/O接口;(3)適應(yīng)外部中斷方式;(4)適應(yīng)存儲(chǔ)器直接與外部設(shè)備交換信息??偩€控制邏輯的任務(wù)就是產(chǎn)生和接受這些操作所需要的信號(hào)。5、外存儲(chǔ)器也稱輔存或外存,用來存儲(chǔ)大量暫時(shí)不參加運(yùn)算或處理的數(shù)據(jù)和程序,是主存的后備和補(bǔ)充。常見的外存儲(chǔ)器主要有:硬盤:安裝在主機(jī)箱內(nèi),常見容量有:80GB、120GB、250GB等。光盤:信息讀取要借助于光驅(qū),其容量為650MB。DVD光盤:存儲(chǔ)密度高,存儲(chǔ)容量大,容量一般為4.7GB。優(yōu)盤:是利用閃存在斷電后還能保持存儲(chǔ)的數(shù)據(jù)不丟失的特點(diǎn)而制成的,特點(diǎn)是重量輕、體積小。移動(dòng)硬盤:可以通過USB接口即插即用,特點(diǎn)是體積小、重量輕、容量大、存取速度快。8086是Intel系列的16位微處理器,采用HMOS工藝制造,有16根數(shù)據(jù)線和20根地址線,封裝在40腳雙列直插組件(DIP)中8086工作時(shí),使用單一的+5V電源,時(shí)鐘頻率為4.77~10MHz,引腳信號(hào)與TTL電平兼容。8086可尋址的內(nèi)存地址空間達(dá)220,即1MB;8086可尋址的I/O地址空間達(dá)216,即64KB;2.28086微處理器的結(jié)構(gòu)2.2.18086微處理器的結(jié)構(gòu)8086由執(zhí)行部件EU(ExecutionUnit)和總線接口部件BIU(BusInterfaceUnit)兩部分組成,這兩個(gè)部件的操作是并行的。

EU負(fù)責(zé)指令的執(zhí)行;BIU負(fù)責(zé)CPU與存儲(chǔ)器、I/O設(shè)備之間的數(shù)據(jù)傳送。EUBIU指令隊(duì)列2.2.18086微處理器的結(jié)構(gòu)1、執(zhí)行部件EUEU功能:負(fù)責(zé)指令的執(zhí)行從總線接口部件BIU的指令隊(duì)列取得指令,執(zhí)行之后向BIU送回運(yùn)算結(jié)果,并把運(yùn)算結(jié)果的狀態(tài)特征保存到標(biāo)志寄存器中。EU組成:算術(shù)邏輯單元(ALU),可完成8位或16位操作數(shù)進(jìn)行算術(shù)或邏輯運(yùn)算8個(gè)16位通用寄存器(AX、BX、CX、DX、SI、DI、SP和BP)標(biāo)志寄存器控制電路2、總線接口部件BIUBIU負(fù)責(zé)CPU與存儲(chǔ)器、I/O設(shè)備之間的數(shù)據(jù)傳送。取指令送指令隊(duì)列,配合EU從指定的內(nèi)存單元或者外設(shè)端口中取數(shù)據(jù),將數(shù)據(jù)傳送給EU把EU的操作結(jié)果傳送到指定的內(nèi)存單元或外設(shè)端口BIU組成:4個(gè)16位段寄存器(DS、CS、ES、SS)指令指針寄存器(IP)20位的地址加法器6字節(jié)指令隊(duì)列緩沖器內(nèi)部暫存器和總線控制邏輯2、總線接口部件BIU1)地址加法器8086采用存儲(chǔ)器分段的方法,將由20位地址尋址的1MB的物理空間劃分成可由16位地址尋址的不超過64KB的邏輯空間,這個(gè)邏輯空間就是邏輯段,簡(jiǎn)稱段。8086系統(tǒng)中,邏輯段有代碼段、數(shù)據(jù)段、堆棧段和附加段4種類型,各類型段有不同的用途。存儲(chǔ)單元的20位的物理地址由段地址和偏移地址確定。段地址的值可以確定一個(gè)段的起始地址,偏移地址的值可以確定某存儲(chǔ)單元在段內(nèi)的位置。地址加法器是8086內(nèi)部計(jì)算存儲(chǔ)單元物理地址的功能部件,可以根據(jù)16位段地址和16位段內(nèi)偏移地址計(jì)算出20位的物理地址。關(guān)于8086存儲(chǔ)器管理的詳細(xì)內(nèi)容,參見2.5.2節(jié)。

2、總線接口部件BIU2)段寄存器

8086采用存儲(chǔ)器地址分段的方法來解決在16位字長(zhǎng)的計(jì)算機(jī)里提供20位地址的問題。段寄存器就是專門存放段地址的寄存器,每個(gè)段寄存器的值可以確定一個(gè)段的起始地址,而各段有不同的用途。8086中有4個(gè)16位段寄存器:CS(代碼段寄存器)DS(數(shù)據(jù)段寄存器)SS(堆棧段寄存器)ES(附加段寄存器)2、總線接口部件BIU3)指令指針寄存器IP指令指針寄存器IP提供下一條要取出的指令所在存儲(chǔ)單元的16位偏移地址。4)內(nèi)部暫存器用于內(nèi)部數(shù)據(jù)的暫存,該部分對(duì)用戶透明,在編程時(shí)可不予理會(huì),用戶無權(quán)訪問。2、總線接口部件BIU5)指令隊(duì)列緩沖器8086有6字節(jié)指令隊(duì)列緩沖器;8088有4字節(jié)指令隊(duì)列緩沖器;緩沖器采用“先進(jìn)先出”策略,暫時(shí)存放BIU從存儲(chǔ)器中預(yù)取的指令。在執(zhí)行指令的同時(shí),可以從內(nèi)存中取出下一條或下幾條指令放到緩沖器中,一條指令執(zhí)行完后,可立即執(zhí)行下一條指令,從而解決了以往CPU取指令期間,運(yùn)算器的等待問題。2、總線接口部件BIU6)總線控制邏輯總線控制邏輯發(fā)出總線控制信號(hào),實(shí)現(xiàn)存儲(chǔ)器的讀/寫控制和I/O的讀寫控制。它將CPU內(nèi)部總線與外部總線相連,是CPU與外部電路進(jìn)行數(shù)據(jù)交換的路徑??偩€控制邏輯控制8086通過20條引腳線分時(shí)傳送20位地址線、16位數(shù)據(jù)和4位狀態(tài)信息。3、BIU和EU的工作過程8086的總線BIU和EU在很多時(shí)候可以并行工作,使得取指令、指令譯碼和執(zhí)行指令這些操作構(gòu)成操作流水線。當(dāng)指令隊(duì)列中有兩個(gè)空字節(jié),且EU沒有訪問存儲(chǔ)器和I/O接口的要求時(shí),BIU會(huì)自動(dòng)把指令取到指令隊(duì)列中。3、BIU和EU的工作過程當(dāng)EU準(zhǔn)備執(zhí)行一條指令時(shí),它會(huì)從指令隊(duì)列前部取出指令執(zhí)行。在執(zhí)行指令的過程中,如果需要訪問存儲(chǔ)器或者I/O設(shè)備,那么EU會(huì)向BIU發(fā)出訪問總線的請(qǐng)求,以完成訪問存儲(chǔ)器或者I/O接口的操作。如果此時(shí)BIU正好處于空閑狀態(tài),那么,會(huì)立即響應(yīng)EU的總線請(qǐng)求;但如果BIU正在將某個(gè)指令字節(jié)取到指令隊(duì)列中,那么,BIU將首先完成這個(gè)取指令操作,然后再去響應(yīng)EU發(fā)出的訪問總線的請(qǐng)求。3、BIU和EU的工作過程當(dāng)指令隊(duì)列已滿,而且EU又沒有總線訪問時(shí),BIU便進(jìn)入空閑狀態(tài)。在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),下面要執(zhí)行的指令就不是在程序中緊接著的那條指令了,而BIU往指令隊(duì)列裝入指令時(shí),總是按順序進(jìn)行的。在這種情況下,指令隊(duì)列中已經(jīng)裝入的指令就沒有用了,會(huì)被自動(dòng)消除。隨后,BIU會(huì)往指令隊(duì)列中裝入另一個(gè)程序段中的指令。2.2.28086的工作模式當(dāng)把8086CPU與存儲(chǔ)器、外設(shè)構(gòu)成一個(gè)計(jì)算機(jī)系統(tǒng)時(shí),根據(jù)所連的存儲(chǔ)器和外設(shè)的規(guī)模,8086CPU具有兩種不同的工作模式來適應(yīng)不同的應(yīng)用場(chǎng)合:最小模式最大模式

8086的工作模式由硬件設(shè)計(jì)決定:引腳連電源(+5V),則8086處在最小模式;引腳接地,則8086處在最大模式。2.2.28086的工作模式最小模式最小模式也稱為單處理器模式,是指系統(tǒng)中只有一片8086微處理器,所連的存儲(chǔ)器容量不大、片子不多,所要連的I/O端口也不多,系統(tǒng)的控制總線就直接由CPU的控制線供給,從而使得系統(tǒng)中的總線控制電路被減到最少。最小模式適用于較小規(guī)模的系統(tǒng)。2.2.28086的工作模式最大模式最大模式是相對(duì)于最小模式而言的,適用于中、大型規(guī)模的系統(tǒng)。在最大模式的系統(tǒng)中有多個(gè)微處理器,其中一個(gè)是主處理器8086,其他的處理器稱為協(xié)處理器,承擔(dān)某方面專門的工作。和8086配合的協(xié)處理器有數(shù)值運(yùn)算協(xié)處理器8087,和輸入/輸出協(xié)處理器8089。8086通過一個(gè)總線控制器8288來形成各種總線周期,控制信號(hào)由8288供給。數(shù)據(jù)總線為16位地址總線為20位40條引腳

部分引腳分時(shí)復(fù)用

2.38086的引腳特性2.38086的引腳特性從以下幾個(gè)方面描述引腳的特性:引腳的功能信號(hào)的有效電平信號(hào)的流向引腳的復(fù)用三態(tài)能力2.3.1兩種工作模式的公共引腳AD0~AD15低16位地址/數(shù)據(jù)的復(fù)用引腳線三態(tài)、雙向采用分時(shí)復(fù)用法來實(shí)現(xiàn)對(duì)地址線和數(shù)據(jù)線的復(fù)用2.3.1兩種工作模式的公共引腳

A19/S6~A16/S3高4位地址/狀態(tài)的復(fù)用引腳線三態(tài)、輸出采用分時(shí)復(fù)用方法來實(shí)現(xiàn)對(duì)地址線和狀態(tài)線的復(fù)用狀態(tài)信息S6總是為低電平。S5反映當(dāng)前允許中斷標(biāo)志的狀態(tài)。S4與S3一起指示當(dāng)前哪一個(gè)段寄存器被使用。其規(guī)定如表所示。S4S3當(dāng)前正在使用的段寄存器名00ES01SS10CS或未用11DS2.3.1兩種工作模式的公共引腳BHE/S7高8位數(shù)據(jù)總線允許/狀態(tài)的復(fù)用引腳線三態(tài)、輸出

BHE與A0結(jié)合使用BHE與A0結(jié)合使用BHE與A0結(jié)合使用

BHEAD0有效的數(shù)據(jù)引腳操作00AD15~AD0從偶地址讀/寫一個(gè)字10AD7~AD0從偶地址讀/寫一個(gè)字節(jié)01AD15~AD8從奇地址讀/寫一個(gè)字節(jié)0110AD15~AD8(第一個(gè)總線周期讀到該字?jǐn)?shù)據(jù)的低8位)AD7~AD0(第二個(gè)總線周期讀到該字?jǐn)?shù)據(jù)的高8位)從奇地址讀/寫一個(gè)字2.3.1兩種工作模式的公共引腳RDRD讀信號(hào)三態(tài)、輸出低電平時(shí)有效有效時(shí)表示對(duì)存儲(chǔ)器或I/O進(jìn)行讀操作2.3.1兩種工作模式的公共引腳READY準(zhǔn)備就緒信號(hào)輸入高電平時(shí)有效有效時(shí)表示存儲(chǔ)器或I/O設(shè)備準(zhǔn)備就緒2.3.1兩種工作模式的公共引腳TEST測(cè)試信號(hào)輸入低電平時(shí)有效與WAIT指令配合使用2.3.1兩種工作模式的公共引腳INTR可屏蔽中斷請(qǐng)求信號(hào)輸入高電平時(shí)有效標(biāo)志寄存器中IF位:IF=1,允許中斷IF=0,禁止中斷2.3.1兩種工作模式的公共引腳NMI非屏蔽中斷請(qǐng)求信號(hào)輸入上升沿有效不受IF位影響8086只有NMI和INTR可以引入外部中斷。2.3.1兩種工作模式的公共引腳RESET復(fù)位信號(hào)輸入高電平有效復(fù)位后:指令隊(duì)列空CS為FFFFH其它寄存器清零2.3.1兩種工作模式的公共引腳

其它CLK輸入時(shí)鐘信號(hào)VCC輸入電源GND接地MN/MX最小/最大模式信號(hào),輸入。與模式有關(guān)的引腳2.3.2最小模式下的引腳

INTA中斷響應(yīng)信號(hào)輸出低電平有效2.3.2最小模式下的引腳ALE地址鎖存信號(hào)輸出下降沿時(shí)鎖存地址2.3.2最小模式下的引腳

DEN數(shù)據(jù)允許信號(hào)輸出,三態(tài)低電平有效2.3.2最小模式下的引腳

DT/R數(shù)據(jù)發(fā)送/接收控制信號(hào)輸出,三態(tài)有效時(shí)控制數(shù)據(jù)傳送方向2.3.2最小模式下的引腳

M/IO訪問M或I/O控制信號(hào)輸出,三態(tài)=1,訪問M=0,訪問I/O2.3.2最小模式下的引腳WR寫信號(hào)輸出,三態(tài)低電平有效有效時(shí)表示CPU正在寫2.3.2最小模式下的引腳HOLD和HLDAHOLD輸入,總線保持請(qǐng)求信號(hào)HLDA輸出,總線響應(yīng)信號(hào)2.3.3最大模式下的引腳QS1,QS0指令隊(duì)列狀態(tài)信號(hào)輸出組合見表QS1和QS0的組合與對(duì)應(yīng)的操作QS1QS0操作00無操作01從指令隊(duì)列的第一個(gè)字節(jié)中取走代碼10隊(duì)列為空11除第一個(gè)字節(jié)外,還取走了后續(xù)字節(jié)中的代碼2.3.3最大模式下的引腳LOCK總線封鎖信號(hào)輸出,三態(tài)低電平有效2.3.3最大模式下的引腳RQ/GT總線請(qǐng)求/允許信號(hào)雙向輸入:請(qǐng)求輸出:響應(yīng)共有2個(gè)同樣的引腳RQ/GT0優(yōu)先級(jí)高2.3.3最大模式下的引腳S2~0總線周期狀態(tài)信號(hào)輸出信號(hào)

組合見表S2、S1、S0的組合與對(duì)應(yīng)的操作S2S1S0操作000中斷響應(yīng)001讀I/O端口010寫I/O端口011暫停100取指101讀存儲(chǔ)器110寫存儲(chǔ)器111無作用2.4.1基本概念微型計(jì)算機(jī)系統(tǒng)的所有操作都按統(tǒng)一的時(shí)鐘節(jié)拍進(jìn)行。CPU執(zhí)行指令時(shí)涉及三種周期:時(shí)鐘周期總線周期指令周期2.48086微機(jī)系統(tǒng)的總線時(shí)序1、時(shí)鐘周期計(jì)算機(jī)是一個(gè)復(fù)雜的時(shí)序邏輯電路,時(shí)序邏輯電路都有“時(shí)鐘”信號(hào)。計(jì)算機(jī)的“時(shí)鐘”是由振蕩源產(chǎn)生的、幅度和周期不變的節(jié)拍脈沖,每個(gè)脈沖周期稱為時(shí)鐘周期(ClockCycle),又稱為T狀態(tài)。計(jì)算機(jī)是在時(shí)鐘脈沖的統(tǒng)一控制下,一個(gè)節(jié)拍一個(gè)節(jié)拍地工作的。時(shí)鐘周期是微機(jī)系統(tǒng)工作的最小時(shí)間單元,取決于系統(tǒng)的主頻率,系統(tǒng)完成任何操作所需要的時(shí)間,均是時(shí)鐘周期的整數(shù)倍。

例如,IBM-PC機(jī)時(shí)鐘頻率為4.77MHz,一個(gè)T狀態(tài)為210nsT2、總線周期當(dāng)CPU訪問M或I/O端口,需要通過總線進(jìn)行讀或?qū)懖僮?。與CPU內(nèi)部操作相比,通過總線進(jìn)行的操作需要較長(zhǎng)的時(shí)間。把CPU通過總線進(jìn)行某種操作的過程稱為總線周期(BusCycle),表示從M或I/O端口存取一個(gè)數(shù)據(jù)所需的時(shí)間。根據(jù)總線操作功能的不同,分為:存儲(chǔ)器讀周期存儲(chǔ)器寫周期I/O讀周期I/O寫周期一個(gè)基本的總線周期由4個(gè)時(shí)鐘周期組成(T1、T2、T3、T4)。

一個(gè)基本的總線周期2、總線周期在有些情況下,外設(shè)或存儲(chǔ)器速度較慢,不能及時(shí)地配合CPU傳送數(shù)據(jù)。這時(shí),外設(shè)或存儲(chǔ)器會(huì)通過“READY”信號(hào)線在T3狀態(tài)啟動(dòng)之前向CPU發(fā)一個(gè)“數(shù)據(jù)未準(zhǔn)備好”信號(hào),于是CPU會(huì)在T3之后插入1個(gè)或多個(gè)附加的時(shí)鐘周期等待狀態(tài)Tw。只有在CPU和內(nèi)存或I/O接口之間傳輸數(shù)據(jù),以及填充指令隊(duì)列時(shí),CPU才執(zhí)行總線周期??梢?,如果在一個(gè)總線周期之后,不立即執(zhí)行下一個(gè)總線周期,那么,系統(tǒng)總線就處在空閑狀態(tài),此時(shí),執(zhí)行空閑周期TI。3、指令周期每條指令的執(zhí)行包括取指令(fetch)、譯碼(decode)和執(zhí)行(execute)。指令周期是指執(zhí)行一條指令所用的時(shí)間。指令周期是由1個(gè)或多個(gè)總線周期組合而成。或者說,指令周期可以被劃分為若干個(gè)總線周期。8086中不同指令的指令周期是不等長(zhǎng)的。對(duì)于8086CPU來說,在EU執(zhí)行指令的時(shí)候,BIU可以取下一條指令。由于EU和BIU可以并行工作,8086指令的最短執(zhí)行時(shí)間可以是兩個(gè)時(shí)鐘周期,一般的加、減、比較、邏輯操作是幾十個(gè)時(shí)鐘周期,最長(zhǎng)的為16位乘除法約要200個(gè)時(shí)鐘周期。CPU執(zhí)行指令時(shí)涉及的3種周期的關(guān)系指令周期總線周期……總線周期時(shí)鐘周期時(shí)鐘周期時(shí)鐘周期時(shí)鐘周期…………2.4.2最小模式下的總線周期時(shí)序最小模式下的讀周期時(shí)序讀周期是指CPU從存儲(chǔ)器或I/O端口讀取數(shù)據(jù)的總線周期。2.4.2最小模式下的總線周期時(shí)序最小模式下的寫周期時(shí)序?qū)懼芷谑侵窩PU中的數(shù)據(jù)送到存儲(chǔ)器或I/O端口的總線周期。2.4.2最小模式下的總線周期時(shí)序8086的復(fù)位時(shí)序(兩種模式下,復(fù)位時(shí)序相同)RESET引腳是用來啟動(dòng)或重新啟動(dòng)系統(tǒng)的。外部來的復(fù)位信號(hào)RST經(jīng)8284同步為內(nèi)部RESET信號(hào)。2.4.3最大模式下的總線周期時(shí)序最大模式下的讀周期時(shí)序2.4.3最大模式下的總線周期時(shí)序最大模式下的寫周期時(shí)序2.58086微機(jī)系統(tǒng)的硬件組成與組織2.5.18086微機(jī)系統(tǒng)的硬件組成系統(tǒng)硬件組成的特點(diǎn)8086不同工作模式下系統(tǒng)的硬件組成的共同之處:時(shí)鐘發(fā)生器8284(1片,提供時(shí)鐘)地址鎖存器8282(3片,鎖存地址信息)數(shù)據(jù)收發(fā)器8286(3片,增加數(shù)據(jù)總線的驅(qū)動(dòng)能力)8086微處理器其他的部件最小模式系統(tǒng)的硬件組成3.3.18086微型計(jì)算機(jī)系統(tǒng)的硬件組成最大模式系統(tǒng)的硬件組成3.3.18086微型計(jì)算機(jī)系統(tǒng)的硬件組成2.5.28086微機(jī)系統(tǒng)的存儲(chǔ)器組織8086微機(jī)系統(tǒng)存儲(chǔ)器按字節(jié)為單位組織和分配地址,每個(gè)字節(jié)是一個(gè)內(nèi)存單元,具有唯一20位的地址碼(存儲(chǔ)單元地址)——物理地址。

存儲(chǔ)單元地址:是存儲(chǔ)單元的編號(hào),用無符號(hào)整數(shù)來表示(編程用十六進(jìn)制表示)。物理地址范圍是:00000H~FFFFFH。

存儲(chǔ)容量:是存儲(chǔ)器能夠存放數(shù)據(jù)的最大字節(jié)數(shù)與地址線多少相關(guān),8086有地址線20根,故8086微機(jī)系統(tǒng)中可尋址的存儲(chǔ)空間最大可以是220=1MB。00000H00001H0000FHFFFFFH1、存儲(chǔ)器空間1、存儲(chǔ)器空間存儲(chǔ)單元的內(nèi)容指的是存放在存儲(chǔ)單元中的數(shù)據(jù)數(shù)據(jù)可以是字節(jié)、字和雙字。數(shù)據(jù)在存儲(chǔ)單元的存放方法高高低低(高字節(jié)存放在高地址,低字節(jié)存放在低地址);多字節(jié)數(shù)據(jù)以最低字節(jié)的地址為準(zhǔn);8086CPU對(duì)字/字節(jié)的讀寫以從偶地址開始,16位為單位進(jìn)行操作。1、存儲(chǔ)器空間如圖所示:20110H單元~20113H單元存放的內(nèi)容依次是12H、34H、56H、78H;(20110H)=12H表示字節(jié)單元20110H的內(nèi)容是12H;(20110H)=3412H表示字單元20110H的內(nèi)容是3412H;(20110H)=78563412H表示雙字單元20110H的內(nèi)容是78563412H。(20111H)=34H表示字節(jié)單元20110H的內(nèi)容是34H;(20111H)=5634H表示字單元20110H的內(nèi)容是5634H;2、存儲(chǔ)器的分段管理盡管8086CPU提供20位地址,但8086中可用來存放地址的寄存器如IP、SP、BX、SI等都是16位的,只能直接尋址64KB;

8086CPU采用了典型的存儲(chǔ)器分段技術(shù)對(duì)1M個(gè)存儲(chǔ)單元進(jìn)行管理。將整個(gè)存儲(chǔ)器空間分為許多邏輯段,每個(gè)邏輯段的容量≤64KB字節(jié);各個(gè)邏輯段之間可以緊密相連,也可以互相重疊。2、存儲(chǔ)器的分段管理對(duì)存儲(chǔ)器的尋址操作采用不再直接用20位的物理地址,而是段地址加段內(nèi)偏移地址的二級(jí)尋址方式;任何一個(gè)物理地址,可以唯一地被包含在一個(gè)邏輯段中,也可包含在多個(gè)相互重疊的邏輯段中,只要有段地址和段內(nèi)偏移地址就可以訪問到這個(gè)物理地址所對(duì)應(yīng)的存儲(chǔ)空間。段地址16個(gè)字節(jié)的存儲(chǔ)空間稱為一節(jié)(Paragraph)通常要求各個(gè)邏輯段從節(jié)的整數(shù)邊界開始,即段首地址低4位是“0000”,把段首地址的高16位稱為——段基址(段地址)段地址是16位無符號(hào)二進(jìn)制數(shù),可存放在段寄存器DS、CS、SS或ES中偏移地址某一存儲(chǔ)單元相對(duì)于段首地址的偏移量稱為偏移地址(也稱有效地址EA)。偏移地址也是無符號(hào)的16位二進(jìn)制數(shù),存放在IP、SP、BX、SI、DI、BP中或直接出現(xiàn)在指令中。2、存儲(chǔ)器的分段管理邏輯地址:通過段地址和偏移地址來表示的存儲(chǔ)單元的地址稱為邏輯地址。記為:段地址:偏移地址邏輯地址是物理地址的一種表示方式,不唯一。例如:邏輯地址2000H:1300H、2120H:0100H和2100H:0300H指向同一個(gè)存儲(chǔ)單元,其物理地址是:21300H。物理地址與邏輯地址的關(guān)系物理地址(PA)是存儲(chǔ)單元的絕對(duì)地址,20位,是CPU訪問存儲(chǔ)器的唯一的實(shí)際地址,每個(gè)存儲(chǔ)單元對(duì)應(yīng)一個(gè)物理地址。8086的存儲(chǔ)空間物理地址范圍是00000H~FFFFFH。物理地址=段地址×10H+偏移地址例如,邏輯地址2000H:1300H,所代表的物理地址為:

PA=2000H×10H+1300H=20000H+1300H=21300H8086CPU和外部設(shè)備之間是通過I/O接口芯片進(jìn)行聯(lián)系;每個(gè)I/O芯片上都有一個(gè)端口或幾個(gè)端口,一個(gè)端口往往對(duì)應(yīng)于芯片上的一個(gè)寄存器或一組寄存器;微機(jī)系統(tǒng)要為每個(gè)端口分配一個(gè)地址,我們把這個(gè)地址叫作端口地址或端口號(hào);各個(gè)端口號(hào)具有唯一性;2.5.38086微機(jī)系統(tǒng)的I/O組織I/O端口有統(tǒng)一編址和獨(dú)立編址兩種方式:2.5.38086微機(jī)系統(tǒng)的I/O組織統(tǒng)一編址獨(dú)立編址編址方法將I/O端口和存儲(chǔ)單元統(tǒng)一編址,把I/O端口也看作是存儲(chǔ)單元將I/O端口和存儲(chǔ)單元分開編址,I/O端口與存儲(chǔ)空間相互獨(dú)立優(yōu)點(diǎn)可利用存儲(chǔ)器的尋址方式來尋址I/O端口不占用內(nèi)存空間使用I/O指令,程序清晰,很容易看出是I/O操作還是存儲(chǔ)器操作譯碼電路比較簡(jiǎn)單缺點(diǎn)I/O端口占用了存儲(chǔ)空間,而且進(jìn)行I/O操作時(shí),因地址編碼較長(zhǎng),導(dǎo)致速度較慢。只能用專門的I/O指令,訪問端口的方法不如訪問存儲(chǔ)器的方法多

8086采用獨(dú)立編址方式。使用A15~A0這16條地址線作端口地址,可訪問的I/O端口最多可有64K個(gè)8位端口或32K個(gè)16位的端口,A19~A16總是為0。一個(gè)8位端口相當(dāng)于一個(gè)存儲(chǔ)器字節(jié),分配0000~FFFFH中的一個(gè)地址。任何兩個(gè)相鄰的8位端口可以組合成一個(gè)16位端口,類似于存儲(chǔ)器中的字。8086微機(jī)系統(tǒng)通過專門的輸入指令I(lǐng)N/輸出指令OUT來訪問I/O接口。2.5.38086微型計(jì)算機(jī)系統(tǒng)的I/O組織2.5.48086的寄存器結(jié)構(gòu)寄存器是CPU內(nèi)部用來存放地址、數(shù)據(jù)和狀態(tài)標(biāo)志的部件。8086有14個(gè)16位寄存器和8個(gè)8位寄存器。按用途可以分為以下幾類:數(shù)據(jù)寄存器指針和變址寄存器段寄存器指令指針寄存器標(biāo)志寄存器1、數(shù)據(jù)寄存器AX、BX、CX、DX數(shù)據(jù)寄存器主要用來存放操作數(shù)或中間結(jié)果,以減少訪問存儲(chǔ)器的次數(shù)。有:4個(gè)16位的寄存器:AX、BX、CX、DX8個(gè)8位的寄存器:AH、AL、BH、BL、CH、CL、DH、DL這些寄存器均可獨(dú)立使用多數(shù)情況下,這些數(shù)據(jù)寄存器是用在算術(shù)運(yùn)算或邏輯運(yùn)算指令中,以進(jìn)行算術(shù)邏輯運(yùn)算。在有些指令中,它們則有特定的用途。1、數(shù)據(jù)寄存器AX、BX、CX、DX寄存器一般用法隱含用法AX16位累加器①字節(jié)乘法中保存積;字乘法中隱含提供一個(gè)乘數(shù),并保存積的低16位;②字節(jié)除法中隱含提供被除數(shù);字除法中隱含提供被除數(shù)的低16位,并保存商;③CBW指令中隱含作為目標(biāo)操作數(shù);④CWD指令中隱含作為源操作數(shù)和目標(biāo)操作數(shù)的低16位;⑤I/O指令中,保存16位輸入/輸出數(shù)據(jù)。ALAX的低8位①字節(jié)乘法中隱含提供一個(gè)乘數(shù),并保存積的低8位;字節(jié)除法中隱含提供被除數(shù)的低8位并保存商;②CBW指令中隱含作為源操作數(shù);③XLAT指令中隱含提供表格首地址偏移量;④I/O指令中,保存8位輸入/輸出數(shù)據(jù)。AHAX的高8位①字節(jié)乘法中隱含提供一個(gè)乘數(shù);②字節(jié)除法中隱含保存余數(shù);③DOS和BIOS功能調(diào)用中存放功能號(hào)。1、數(shù)據(jù)寄存器AX、BX、CX、DX寄存器一般用法隱含用法BX基址寄存器,常用作地址寄存器XLAT指令中提供被查表格中源操作數(shù)的間接地址。CX16位計(jì)數(shù)器①循環(huán)指令中的循環(huán)次數(shù)計(jì)數(shù)器;②串操作指令中串長(zhǎng)計(jì)數(shù)器。CLCX的低8位移位或循環(huán)移位指令中提供移位的次數(shù)。DX16位數(shù)據(jù)寄存器①字乘法中隱含保存積的高16位;②字除法中隱含提供被除數(shù)的高16位,并保存積的高16位;③CWD指令中隱含作為目標(biāo)操作數(shù)的高16位;④在間接尋址的I/O指令中,提供端口地址。

EU中有2個(gè)地址指針寄存器SP、BP和2個(gè)變址寄存器SI、DI。寄存器一般用法隱含用法SP(堆棧指針寄存器)保存堆棧棧頂偏移地址,與SS配合來確定堆棧在內(nèi)存中的位置。壓棧、出棧操作中隱含指示棧頂BP(基址指針寄存器)①保存16位數(shù)據(jù)②保存堆棧段內(nèi)存儲(chǔ)單元的偏移地址。SI(源變址寄存器)①保存16位數(shù)據(jù)②保存數(shù)據(jù)段內(nèi)存儲(chǔ)單元的偏移地址。串操作指令中,隱含與DS配合,確定源串在內(nèi)存中的位置。DI(目的變址寄存器)①保存16位數(shù)據(jù)②保存數(shù)據(jù)段內(nèi)存儲(chǔ)單元的偏移地址。串操作指令中,隱含與ES配合,確定目標(biāo)串在內(nèi)存中的位置。2、指針和變址寄存器SP、BP、SI、DI3、段寄存器8086內(nèi)部設(shè)置了4個(gè)16位的段寄存器,用于存放當(dāng)前程序所用的各段的起始地址的高16位。中文名用途CS代碼段寄存器存放當(dāng)前執(zhí)行的程序所在段的起始地址。其值乘以16再加上IP的值,就形成了下一條要取出指令所在的內(nèi)存單元的物理地址。DS數(shù)據(jù)段寄存器存放當(dāng)前數(shù)據(jù)段的起始地址。其值乘以16再加上指令中存儲(chǔ)器尋址方式指定的偏移地址,就形成了要進(jìn)行讀/寫的數(shù)據(jù)段中指定內(nèi)存單元的物理地址。SS堆棧段寄存器存放當(dāng)前堆棧段的起始地址。堆棧操作數(shù)的地址由SS的值乘以16再加上SP的值形成。ES附加段寄存器存放當(dāng)前附加段的起始地址。附加段是附加的數(shù)據(jù)段,也用于數(shù)據(jù)的保存。串操作指令將附加段作為其目標(biāo)操作數(shù)的存放區(qū)域。4、指令指針寄存器IP指令指針寄存器IP(InstructionPointer)存放當(dāng)前代碼段中的偏移地址,它與CS聯(lián)用,可以形成下一條要取出指令的物理地址。程序不能直接對(duì)IP進(jìn)行存取,但能在程序運(yùn)行中被自動(dòng)修改。例如,控制器取到要執(zhí)行的指令后,會(huì)立刻修改IP值,使之指向下一條指令的首地址;轉(zhuǎn)移、調(diào)用、返回等指令執(zhí)行,就是通過修改IP的值來控制指令序列的執(zhí)行流程的。

5、標(biāo)志寄存器FRFR是一個(gè)16位的寄存器,其中的9個(gè)位是標(biāo)志位:狀態(tài)標(biāo)志位有6個(gè),

溫馨提示

  • 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)論