《微型計算機原理與接口技術》第2章 微處理器與總線-20130906-0整理-final_第1頁
《微型計算機原理與接口技術》第2章 微處理器與總線-20130906-0整理-final_第2頁
《微型計算機原理與接口技術》第2章 微處理器與總線-20130906-0整理-final_第3頁
《微型計算機原理與接口技術》第2章 微處理器與總線-20130906-0整理-final_第4頁
《微型計算機原理與接口技術》第2章 微處理器與總線-20130906-0整理-final_第5頁
已閱讀5頁,還剩175頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第2章微處理器與總線韋耿wei_geng@163.com河海大學計算機與信息學院1主要內容:

(1)微型機的基本結構;

(2)8088(8086)微處理器的工作

原理、引線及結構;

(3)總線的一般概念。

22.1微型機的基本結構微機系統(tǒng)的基本組成微型機的工作原理3☆

微機系統(tǒng)的組成4微處理器、微型計算機和微型計算機系統(tǒng)三者之間有什么不同?(1)三者不同,微處理器是微型計算機的一個組成部分,而微型計算機又是微型計算機系統(tǒng)的一個組成部分。(2)微處理器:運算器、控制器及寄存器組;

微型計算機:由微處理器、存儲器、輸入/

輸出接口電路和系統(tǒng)總線構成的裸機系統(tǒng);

微型計算機系統(tǒng):微型計算機、系統(tǒng)軟件和外設。5微型計算機的系統(tǒng)結構框圖總線結構6微型計算機的結構

微處理器(CPU)存儲器輸入/輸出接口總線1.硬件系統(tǒng)71)微處理器微處理器簡稱CPU,是計算機的核心,主要包括:

運算器控制器寄存器組8☆

運算器算術邏輯單元ALU:加法器:加、減、乘、除邏輯運算功能部件:與、或、非、異或通用或專用寄存器組:

提供操作數(shù)和暫存中間運算結果及結果特征內部總線:數(shù)據(jù)傳輸通道9

組成:

程序計數(shù)器、指令寄存器﹑指令譯碼器、時序控制部件,微操作控制部件功能:1、指令控制2、時序控制3、操作控制4、處理對異常情況及某些外部請求☆

控制器10☆

寄存器組

CPU內部的若干個存儲單元;分為專用寄存器和通用寄存器;

專用寄存器:其作用是固定的,如SP、FLAGS。

通用寄存器:如AX﹑BX等由程序員規(guī)定其用途。112)存儲器定義:存儲器又叫內存或主存,是微型計算機的存儲和記憶部件。作用:存放計算機工作過程中需要操作的數(shù)據(jù)和當前執(zhí)行的程序。12☆注意區(qū)分:內存單元的地址和內容地址:每個單元都對應一個編號,以實現(xiàn)對單元內容的尋址內存單元的內容:內存單元中存放的信息

1011011038F04H內存地址單元內容13☆指標:內存容量內存所含存儲單元的個數(shù),以字節(jié)為單位內存容量的大小依CPU的尋址范圍而定(即CPU地址信號線的位數(shù))14☆內存操作讀:將內存單元的內容取入CPU,原單元內容不改變寫:CPU將信息放入內存單元,單元中原來的內容被覆蓋15存儲器讀操作過程CPU讀地址05H內存單元中的內容的過程(1)(2)(3)16存儲器讀操作過程CPU把00100110B寫入地址為08H的單元(1)(2)(3)17☆內存儲器的分類

隨機存取存儲器(RAM)按工作方式可分為只讀存儲器(ROM)183)輸入/輸出接口輸入/輸出接口是微型計算機的重要組成部分接口是CPU與外部設備間的橋梁CPUI/O接口外設19☆

接口的分類:

串行接口輸入接口并行接口輸出接口20☆接口的功能數(shù)據(jù)緩沖寄存信號電平或類型的轉換實現(xiàn)主機與外設間的運行匹配214)總線總線:是一組信號線的集合,是在計算機系統(tǒng)各部件之間傳輸?shù)刂贰?shù)據(jù)和控制信息公共通路。內部總線:位于芯片內部的總線。系統(tǒng)總線:連接微處理器與存儲器、輸入輸出接口,用以構成完整的微型計算機的總線(外部總線)。分類:數(shù)據(jù)總線、地址總線和控制總線。22數(shù)據(jù)總線:用于傳送數(shù)據(jù)信息,實現(xiàn)微處理器、存儲器和I/O接口之間的數(shù)據(jù)交換。數(shù)據(jù)總線是雙向總線,數(shù)據(jù)可在兩個方向上傳輸。

地址總線:用于發(fā)送內存地址和I/O接口的地址,是單項總線。

控制總線:則傳送各種控制信號和狀態(tài)信號,使微型計算機各部件協(xié)調工作。每一根是單向的,但整體是雙向的。232.軟件系統(tǒng)軟件:為運行、管理和維護計算機系統(tǒng)或為實現(xiàn)某一功能而編寫的各種程序的總和及其相關資料。系統(tǒng)軟件應用軟件操作系統(tǒng)系統(tǒng)實用程序軟件編譯程序匯編程序數(shù)據(jù)庫調試程序工具軟件24☆

程序設計語言機器語言:計算機直接執(zhí)行的二進制形式的程序。匯編語言:助記符語言表示的程序。高級語言:不依賴于具體機型的程序設計語言。25☆微型計算機系統(tǒng)結構

馮?諾依曼結構哈佛結構26馮?諾依曼機的特點:將計算過程描述為由許多條指令按一定順序組成的程序,并放在存儲器保存指令按其在存儲器中存放的順序執(zhí)行由控制器控制整個程序和數(shù)據(jù)的存取以及程序的執(zhí)行以運算器為核心,所有的執(zhí)行都經過運算器27馮?諾依曼計算機結構28每臺計算機都有各種類型的機器指令,這些指令按照一定的規(guī)則存放在存儲器中,在中央控制系統(tǒng)的統(tǒng)一控制下,按一定順序依次取出執(zhí)行,這就是馮諾依曼的核心原理,即存儲程序的工作原理。馮?諾依曼計算機的核心原理29存儲程序:是指把程序和數(shù)據(jù)送到具有記憶能力的存儲器中保存起來,計算機工作時只要給出程序中第一條指令的地址,控制器就可依據(jù)存儲程序的指令順序地、周而復始地取出指令、分析指令、執(zhí)行指令,直到執(zhí)行完全部指令為止。30●指令:一條基本操作命令稱為一條機器指令。指令是對計算機發(fā)出的一條條工作命令,命令它執(zhí)行規(guī)定的操作。機器指令必須滿足兩個條件:a、機器指令的形式必須是計算機能夠理解的,必須使用二進制數(shù)字編碼形式表示。b、機器指令規(guī)定的操作必須是計算機能夠執(zhí)行的。必須有硬件支持。●指令系統(tǒng):應用于某種CPU的機器指令及其使用規(guī)則的集合。指令系統(tǒng)決定了計算機的能力,也影響著計算機的結構?!癯绦颍菏菍崿F(xiàn)某種任務的指令序列。31●程序中的指令必須采用二進制編碼,和數(shù)據(jù)一樣進行存儲。●程序中的指令必須屬于執(zhí)行程序的計算機的指令系統(tǒng)。32微型計算機的工作過程計算機執(zhí)行程序示意圖33指令執(zhí)行的兩個基本階段●取指令階段由一系列相同的操作組成。取指令階段的時間總是相等的?!駡?zhí)行指令階段由不同的事件順序組成,它取決于被執(zhí)行指令的類型。微機工作過程就是不斷地取指令和執(zhí)行指令的過程。34一個程序工作的例子例:求5+4=?計算步驟:一個計算步驟完成一個基本操作(如取數(shù)、加法、存數(shù)、打印輸出等)計算程序:是由完成某一特定任務的一組指令所組成。指令必須提供的信息:

a、執(zhí)行什么樣的操作b、參與操作的對象即數(shù)據(jù)是什么或地址是什么。注意區(qū)分:

a、存儲單元的地址

b、存儲單元的內容35指令在內存中的存放形式

36在微機中a、所有操作都是用二進制代碼進行編碼的;b、數(shù)據(jù)用二進制表示,且存放在存儲器的預定地址的存儲單元中。

本例編碼后00000100:取數(shù)操作的操作碼,地址:0000010100000010:加法操作地址:0000011100000101:存數(shù)操作地址:0000100100001000:打印輸出操作,地址:0000101100000101:原始數(shù)據(jù)“5”,地址:0000000100000100:原始數(shù)據(jù)“4”,地址:0000001037

計算機執(zhí)行指令的過程

38(1)執(zhí)行程序時,給程序計數(shù)器PC賦以第一條指令的地址05H,就進入第一條指令的取指階段,具體過程如下:①將PC的內容05H送至地址寄存器AR。②當PC的內容可靠地送入地址寄存器AR后,PC的內容加1變?yōu)?6H。③地址寄存器AR把地址號05H通過地址總線AB送至存儲器。經地址譯碼器譯碼,選中05H號單元。④CPU給出讀命令至存儲器。⑤將05H單元的內容04H()(指令操作碼)讀至數(shù)據(jù)總線DB上。39⑥讀出的內容04H經過數(shù)據(jù)總線DB送至數(shù)據(jù)寄存器DR。⑦因是取指階段,取出的為指令操作碼,故DR將其送至指令寄存器IR,然后經過譯碼分析發(fā)出執(zhí)行這條指令的各種控制信號。(2)取指階段完成后,轉入了執(zhí)行第一條指令的階段。經過譯碼分析,知道這是一條從內存單元取操作數(shù)的指令,接下去要先從指令的第二字節(jié)獲取操作數(shù)地址,然后再從中讀取數(shù)據(jù)。①PC的內容06H送至地址寄存器AR。40取指令操作數(shù)地址示意圖41②當PC的內容可靠地送入地址寄存器AR后,PC的內容加1變?yōu)?7H。③地址寄存器AR把地址號06H通過地址總線AB送至存儲器。經地址譯碼器譯碼,選中06H號單元。④CPU給出讀命令至存儲器。⑤所選中的06H單元的內容01H(操作數(shù)地址)讀至數(shù)據(jù)總線DB上。⑥讀出的內容01H經過數(shù)據(jù)總線DB送至數(shù)據(jù)寄存器DR。⑦因讀出的01H為操作數(shù)地址,所以在控制器的控制下將DR內容送往地址寄存器AR422.28088/8086微處理器主要內容:8088CPU外部引線及功能8088CPU的內部結構和特點各內部寄存器的功能8088的工作時序438088和8086的異同不相同:(1)外部數(shù)據(jù)總線位數(shù)的差別:

8086CPU有16位,在一個總線周期內可輸入/輸出一個字(16位數(shù)據(jù)),系統(tǒng)處理數(shù)據(jù)/對中斷響應的速度快;

8088CPU有8位,準16位處理器。(2)指令隊列容量的差別:

8086CPU的指令隊列可容納6個字節(jié),且在每個總線周期中從存儲器中取出2個字節(jié)的指令代碼填入指令隊列,這可提高取指操作和其它操作的并行率,從而提高系統(tǒng)工作速度;

8088指令隊列只能容納4個字節(jié),且在每個總線周期中只能取一個字節(jié)的指令代碼,從而增長了總線取指令的時間,在一定條件下可能影響取指令操作和其它操作的并行率。

448088和8086的異同不相同:(3)引腳特性的差別:兩種CPU的引腳功能是相同的,但有以下幾點不同:

a.AD15~AD0的定義不同:在8086中都定義為地址/數(shù)據(jù)復用總線;而在8088中,由于只需用8條數(shù)據(jù)總線,因此,對應予8086的AD15~AD8這8條引腳,只作地址線使用。

b.34號引腳的定義不同:在8086中定義為BHE信號;而在8088中定義為SS0,它與DT/R,IO/M一起用作最小方式下的周期狀態(tài)信號。

c.28號引腳的相位不同:在8086中為M/IO;而在8088中被倒相,改為IO/M,以便與8080/8085系統(tǒng)的總線結構兼容。

458088和8086的異同相同:(1)類似的體系結構;(2)內部結構基本相同;(3)執(zhí)行部件EU完全相同;(4)指令系統(tǒng)及尋址能力,程序的編制及設計方法都相同;所以兩種CPU完全兼容。

461.8088/8086的指令流水線執(zhí)行程序時,CPU重復執(zhí)行:(1)從存儲器取出下一條指令;(2)指令譯碼(或指令分析);(3)如果指令需要,從存儲器讀取操作數(shù);(4)執(zhí)行指令(包括算術邏輯運算、I/O操作、數(shù)據(jù)傳送、控制轉移等);(5)如果需要,將結果寫入存儲器。8088/8086CPU的特點執(zhí)行單元(EU)和總線接口單元(BIU)47●指令執(zhí)行部件EU:負責執(zhí)行指令●總線接口部件BIU:負責取指令、取操作數(shù)和寫結果。執(zhí)行1執(zhí)行2存結果取指2取指1執(zhí)行3取數(shù)取數(shù)取指3忙碌忙碌忙碌忙碌忙碌忙碌EUBIUBUS48EU和BIU并行操作的實現(xiàn):BIU內部的指令隊列指令隊列的作用:使得8086/8088的EU和BIU能夠并行的工作,從而減少了CPU為取指令而等待的時間,提高了CPU的執(zhí)行效率和運行速度,另外也降低了對存儲器存取速度的要求49指令流水線技術一般情況下,CPU執(zhí)行完一條指令就可以立即執(zhí)行下一條指令,稱為流水線技術,減少了CPU為取指令而等待的時間,從而提高了CPU的效率。502.內存的分段管理技術8086/8088CPU的內部是16位,產生216=64K個地址。如何提高尋址能力?如何實現(xiàn)對更大(如220)空間的尋址?——分段管理方法8088/8086CPU的特點51分段管理方法將內存空間分為多個邏輯段,每個邏輯段最大為64K個單元,段內每個單元的地址碼(偏移地址或相對地址)長度為16位,滿足其16位內部結構的要求;再為每個段設置段地址(也稱段基地址),以區(qū)分不同的邏輯段。內存單元的地址為段地址和段內偏移地址。段寄存器:專門存放段地址地址寄存器:專門存放偏移地址8088/8086CPU的特點523.支持多處理器系統(tǒng)有最小模式和最大模式兩種工作模式。最小模式:單處理機系統(tǒng),CPU直接產生系統(tǒng)控制總線信號。最大模式:多處理器模式,總線控制器提供所有總線控制信號和命令信號8088/8086CPU的特點53

總結:8088/8086CPU的特點

●采用并行流水線工作方式通過設置指令預取隊列實現(xiàn)●對內存空間實行分段管理:將內存分為4個段并設置地址段寄存器,以實現(xiàn)對1MB空間的尋址●支持多處理器系統(tǒng)548088工作模式:最小模式和最大模式。(1)最小模式:MN/MX=1單處理機模式;

控制信號較少,一般可不必接總線控制;

只包括一個處理器8088;

系統(tǒng)總線由8088的引線直接引出形成。(2)最大模式:MN/MX=0

多處理機模式;

控制信號多,須通過總線控制器與總線相連;

處理器8088和其他的處理器;

系統(tǒng)總線由8088和總線控制器共同產生。8088的外部引腳和功能55引腳定義的方法可大致分為:每個引腳只傳送一種信息(RD等)引腳電平的高低不同的信號(IO/M等)CPU工作于不同方式有不同的名稱和定義(WR/LOCK等)分時復用引腳(AD7~AD0等);引腳的輸入和輸出分別傳送不同的信息(RQ/GT等)。5612345678910111213141516171819204039383736353433323130292827262524232221

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCC+5VAD15A16/S3A17/S4A18/S5A19/S6BHE/S7

MN/MXRDHOLDHLDAWRM/IO

DT/RDENALEINTATESTREADYRESET80868086

CPU引腳12345678910111213141516171819204039383736353433323130292827262524232221

GND

A14A13A12A11A10A9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCC+5VA15A16/S3A17/S4A18/S5A19/S6SS0

MN/MXRDHOLDHLDAWRM/IO

DT/RDENALEINTATESTREADYRESET80888088CPU引腳57主要引線(最小模式)8088是工作在最小還是最大模式由MN/MX端狀態(tài)決定。MN/MX=0工作于最大模式,反之工作于最小模式。AD7~AD0:低8位地址和數(shù)據(jù)信號分時復用。在傳送地址信號時為單向,傳送數(shù)據(jù)信號時為雙向。A19~A16:高4位地址信號,分時復用。A15~A8:輸出8位地址信號。58主要的控制和狀態(tài)信號WR:寫信號RD:讀信號IO/M:為“0”表示訪問內存為“1”表示訪問接口DEN:低電平有效時,允許進行讀/寫操作RESET:復位信號59[例]:當WR=1,RD=0,IO/M=0時,表示CPU當前正在進行讀存儲器操作60READY信號:T1T2T3TwaitT461中斷請求和響應信號INTR:可屏蔽中斷請求輸入端NMI:非屏蔽中斷請求輸入端INTA:中斷響應輸出端62總線保持信號HOLD:總線保持請求信號輸入端。當CPU以外的其他設備要求占用總線時,通過該引腳向CPU發(fā)出請求HLDA:總線保持響應信號輸出端。CPU對HOLD信號的響應信號638088CPU的功能結構8088內部由兩部分組成:執(zhí)行單元(EU)總線接口單元(BIU)648088處理器內部結構65執(zhí)行單元功能指令的執(zhí)行從指令隊列中取指令代碼譯碼在ALU中完成數(shù)據(jù)的運算運算結果的特征保存在標志寄存器FLAGS中。66執(zhí)行單元包括

運算器8個通用寄存器1個標志寄存器

EU部分控制電路67總線接口單元功能:從內存中取指令到指令預取隊列負責與內存或輸入/輸出接口之間的數(shù)據(jù)傳送在執(zhí)行轉移程序時,BIU使指令預取隊列復位,從指定的新地址取指令,并立即傳給執(zhí)行單元執(zhí)行。68總線接口單元包括

段寄存器指令指針寄存器指令隊列

地址加法器總線控制邏輯電路698088的指令執(zhí)行過程708088的內部寄存器含14個16位寄存器,按功能可分為三類8個通用寄存器4個段寄存器2個控制寄存器718088的內部寄存器72通用寄存器數(shù)據(jù)寄存器(AX,BX,CX,DX)地址指針寄存器(SP,BP)變址寄存器(SI,DI)73數(shù)據(jù)寄存器8088含4個16位數(shù)據(jù)寄存器,它們又可分為8個8位寄存器,即:AXAH,ALBXBH,BLCXCH,CLDXDH,DL74數(shù)據(jù)寄存器特有的習慣用法AX:累加器。所有I/O指令都通過AX與接口傳送信息,中間運算結果也多放于AX中BX:基址寄存器。在間接尋址中用于存放基地址;CX:計數(shù)寄存器。用于在循環(huán)或串操作指令中存放計數(shù)值DX:數(shù)據(jù)寄存器。在間接尋址的I/O指令中存放I/O端口地址;在32位乘除法運算時,存放高16位數(shù)75地址指針寄存器SP:堆棧指針寄存器,其內容為棧頂?shù)钠频刂稡P:基址指針寄存器,常用于在訪問內存時存放內存單元的偏移地址堆棧(Stack)是主存中一個特殊的區(qū)域,采用“先進后出”或“后進先出”存取操作方式,用8088/8086形成的微機系統(tǒng)中,堆棧區(qū)域被稱為堆棧段76BX與BP在應用上的區(qū)別作為通用寄存器,二者均可用于存放數(shù)據(jù)作為基址寄存器,用BX表示所尋找的數(shù)據(jù)在數(shù)據(jù)段;用BP則表示數(shù)據(jù)在堆棧段77變址寄存器SI:源變址寄存器DI:目標變址寄存器用途:常用于指令的間接尋址或變址尋址。在串操作指令中,分別用SI、DI存放源操作數(shù)及目標操作數(shù)的偏移地址。現(xiàn)在不必完全理解,以后會詳細展開78段寄存器用于存放相應邏輯段的段基地址

CS:代碼段寄存器。代碼段存放指令代碼

DS:數(shù)據(jù)段寄存器

ES:附加段寄存器

SS:堆棧段寄存器:指示堆棧區(qū)域的位置存放操作數(shù)79控制寄存器(1)IP:指令指針寄存器,其內容為下一條要執(zhí)行指令的偏移地址FLAGS:標志寄存器,存放運算結果的特征6個狀態(tài)標志位(CF,SF,AF,PF,OF,ZF)3個控制標志位(IF,TF,DF)80標志寄存器FLAGS中存放的9個標志位:狀態(tài)標志:用來表示運算結果的特征(CF、PF、AF、ZF、SF和OF)

;控制標志:用來控制CPU的操作(IF、DF和TF)。(1)CF(CarryFlag)進位標志位。CF=1,表示本次運算中最高位(第7位或第15位)有進位(加法運算時)或有借位(減法運算時)。無符號數(shù)加/減:若CF=1,表示結果超出了數(shù)據(jù)范圍。有符號數(shù)運算:CF對運算結果沒有直接意義。81(2)PF(ParityFlag)奇偶標志位。PF=1:本次運算結果的低八位中有偶數(shù)個1;

PF=0:表示有奇數(shù)1。PF可以用來進行奇偶校驗,或者用來生成奇偶校驗位。(3)AF(AuxiliaryCarryFlag)輔助進位標志位。

AF=1,表示8位運算結果(限使用AL寄存器)中低4位向高4位有進位(加法運算時)或有借位(減法運算時)。這個標志位只在BCD數(shù)運算中起作用。82(4)ZF(ZeroFlag)零標志位。ZF=1,表示運算結果為0(各位全為0),否則ZF=0。(5)SF(SignFlag)符號標志位。SF=1,表示運算結果的最高位(第7位或第15位)為1,否則SF=0。(6)OF(OverflowFlag)溢出標志位。OF=1表示二個用補碼表示的有符號數(shù)的加法或減法結果超出了該字長所能表示的范圍。例如,進行8位運算時,OF=1表示運算結果大于+127或小于-128,此時不能得到正確的運算結果。OF標志對無符號數(shù)的運算結果沒有意義。

溢出標志位是根據(jù)操作數(shù)的符號及其變化情況設置的。例如,加法運算時,兩個操作數(shù)符號相同,而結果的符號與之相反,則OF=1;否則OF=0。83(7)IF(InterruptFlag)中斷允許標志位。IF=1,表示允許CPU響應可屏蔽中斷。IF標志可通過STI指令置位(置1),也可通過CLI指令復位(清零)。(8)DF(DirectionFlag)方向標志位。在串操作指令中,若DF=0,表示串操作指令執(zhí)行后地址指針自動增量,串操作由低地址向高地址進行;DF=1,表示地址指針自動減量,串操作由高地址向低地址進行。DF標志位可通過STD指令置位,也可通過CLD指令復位。(9)TF(TrapFlag)單步標志位。TF=1,控制CPU進入單步工作方式。在這種工作方式下,CPU每執(zhí)行完一條指令就會自動產生一次內部中斷,這在程序調試過程中很有用。84例:若AL=3BH,AH=7DH,指出AL和AH中的內容相加、相減后,標志CF,AF,PF,SF,OF和ZF的狀態(tài)。(1)(AL)+(AH)由運算結果可知:CF=C7(D7位上的進位)=0(無進位);AF=C3(D3位上的進位)=1(有輔助進位);PF=1(運算結果有4個1);SF=D7=1(運算結果符號位為1);OF=C7⊕C6=0⊕1=1(有溢出);ZF=0(運算結果不為0)。85由運算結果可知:CF=1(有借位);AF=1(有輔助進位);PF=1(運算結果中有6個1);SF=1(符號位為1);OF=0(無溢出);ZF=0(運算結果不為0)。運算產生的標志位由程序員根據(jù)需要選擇使用。例如,如果參加運算的兩個數(shù)是有符號數(shù)(用補碼表示),他可以用OF判斷結果是否產生溢出,這時他不必關心CF的狀態(tài);如果參加運算的兩個數(shù)是無符號數(shù),他可以用CF判斷結果是否超出范圍,無需關心OF的狀態(tài)。(2)(AL)-(AH)86①指令指針寄存器IPIP(InstructionPointer)為指令指針寄存器,指示主存儲器指令的位置隨著指令的執(zhí)行,IP將自動修改以指示下一條指令所在的存儲器位置IP寄存器是一個專用寄存器IP寄存器與CS段寄存器聯(lián)合使用以確定下一條指令的存儲單元地址控制寄存器(2)(續(xù))87②標志寄存器FLAGS標志(Flag)用于反映指令執(zhí)行結果或控制指令執(zhí)行形式8088處理器的各種標志形成了一個16位的標志寄存器FLAGS(程序狀態(tài)字PSW寄存器)

程序設計需要利用標志的狀態(tài)88★標志寄存器-分類狀態(tài)標志--用來記錄程序運行結果的狀態(tài)信息,許多指令的執(zhí)行都將相應地設置它CFZFSFPFOFAF控制標志--可由程序根據(jù)需要用指令設置,用于控制處理器執(zhí)行指令的方式DFIFTFOF111512DF10IF9TF8SF7ZF65AF43PF21CF0標志寄存器FLAGS89★進位標志CF(CarryFlag)當運算結果的最高有效位有進位(加法)或借位(減法)時,進位標志置1,即CF=1;否則CF=03AH+7CH=B6H,沒有進位:CF=0AAH+7CH=(1)26H,有進位:CF=1OF111512DF10IF9TF8SF7ZF65AF43PF21CF090★零標志ZF(ZeroFlag)若運算結果為0,則ZF=1;否則ZF=03AH+7CH=B6H,結果不是零:ZF=084H+7CH=(1)00H,結果是零:ZF=1注意:ZF為1表示的結果是0OF111512DF10IF9TF8SF7ZF65AF43PF21CF091★符號標志SF(SignFlag)運算結果最高位為1,則SF=1;否則SF=03AH+7CH=B6H,最高位D7=1:SF=184H+7CH=(1)00H,最高位D7=0:SF=0

有符號數(shù)據(jù)用最高有效位表示數(shù)據(jù)的符號所以,最高有效位就是符號標志的狀態(tài)OF111512DF10IF9TF8SF7ZF65AF43PF21CF092★奇偶標志PF(ParityFlag)當運算結果最低字節(jié)中“1”的個數(shù)為零或偶數(shù)時,PF=1;否則PF=03AH+7CH=B6H=10110110B結果中有5個“1”,是奇數(shù):PF=0

PF標志僅反映最低8位中“1”的個數(shù)是

偶或奇,即使是進行16位字操作OF111512DF10IF9TF8SF7ZF65AF43PF21CF093★溢出標志OF(OverflowFlag)若算術運算的結果有溢出,則OF=1;否則OF=03AH+7CH=B6H,產生溢出:OF=1AAH+7CH=(1)26H,沒有溢出:OF=0OF111512DF10IF9TF8SF7ZF65AF43PF21CF094★什么是溢出?處理器內部以補碼表示有符號數(shù)8位表達的整數(shù)范圍是:+127~-12816位表達的范圍是:+32767~-32768如果運算結果超出這個范圍,就產生了溢出有溢出,說明有符號數(shù)的運算結果不正確3AH+7CH=B6H,就是58+124=182,已經超出-128~+127范圍,產生溢出,故OF=1;補碼B6H表達真值是-74,顯然運算結果也不正確

B6H=10110110B,最高位為1,作為有符號數(shù)是負數(shù)對B6H求反加1等于:01001001B+1=01001010B=4AH=74

所以,B6H表達有符號數(shù)的真值為-74?95★溢出和進位的區(qū)別溢出標志OF和進位標志CF是兩個意義不同的標志進位標志表示無符號數(shù)運算結果是否超出范圍,運算結果仍然正確溢出標志表示有符號數(shù)運算結果是否超出范圍,運算結果已經不正確?96★溢出和進位的對比例1:3AH+7CH=B6H無符號數(shù)運算: 58+124=182

范圍內(0~255),無進位有符號數(shù)運算: 58+124=182

范圍外,有溢出例2:AAH+7CH=(1)26H無符號數(shù)運算: 170+124=294

范圍外,有進位有符號數(shù)運算: -86+124=28

范圍內,無溢出97★溢出和進位的應用場合處理器對兩個操作數(shù)進行運算時,按照無符號數(shù)求得結果,并相應設置進位標志CF;同時,根據(jù)是否超出有符號數(shù)的范圍設置溢出標志OF應該利用哪個標志,則由程序員來決定。也就是說,如果將參加運算的操作數(shù)認為是無符號數(shù),就應該關心進位;認為是有符號數(shù),則要注意是否溢出98★溢出的判斷判斷運算結果是否溢出有一個簡單的規(guī)則:只有當兩個相同符號數(shù)相加(包括不同符號數(shù)相減),而運算結果的符號與原數(shù)據(jù)符號相反時,產生溢出;因為,此時的運算結果顯然不正確其他情況下,則不會產生溢出例1:3AH+7CH=B6H 溢出例2:AAH+7CH 無溢出例3:3AH-7CH 無溢出例4:AAH-7CH=2DH 溢出99

★輔助進位標志AF(AuxiliaryCarryFlag)3AH+7CH=B6H,D3有進位:AF=1運算時D3位(低半字節(jié))有進位或借位時,AF=1;否則AF=0這個標志主要由處理器內部使用,用于十進制算術運算調整指令中,用戶一般不必關心OF111512DF10IF9TF8SF7ZF65AF43PF21CF0100★方向標志DF(DirectionFlag)用于串操作指令中,控制地址的變化方向:設置DF=0,存儲器地址自動增加;設置DF=1,存儲器地址自動減少CLD指令復位方向標志:DF=0STD指令置位方向標志:DF=1OF111512DF10IF9TF8SF7ZF65AF43PF21CF0101★中斷允許標志IF(Interrupt-enableFlag)控制可屏蔽中斷是否可以被處理器響應:設置IF=1,則允許中斷;設置IF=0,則禁止中斷CLI指令復位中斷標志:IF=0STI指令置位中斷標志:IF=1OF111512DF10IF9TF8SF7ZF65AF43PF21CF0102★陷阱標志TF(TrapFlag)用于控制處理器進入單步操作方式:設置TF=0,處理器正常工作;設置TF=1,處理器單步執(zhí)行指令單步執(zhí)行指令——處理器在每條指令執(zhí)行結束時,便產生一個編號為1的內部中斷這種內部中斷稱為單步中斷所以TF也稱為單步標志利用單步中斷可對程序進行逐條指令的調試這種逐條指令調試程序的方法就是單步調試OF111512DF10IF9TF8SF7ZF65AF43PF21CF01031.物理地址和邏輯地址8086/8088CPU存儲系統(tǒng)中,每個存儲單元都有一個唯一的20位編號,從00000H–FFFFFH。16位機的寄存器為16位,分段后在用戶編程時,采用邏輯地址表示物理地址,形式為:段基地址:段內偏移地址分隔符段首地址的高16位8088/8086的存儲器組織104存儲器物理地址的形成邏輯地址是程序中使用的地址,它由段基址和段內偏移值所組成,段基址與段內偏移值都為16位的二進制數(shù)。物理地址也叫實際地址或絕對地址,是CPU訪問存儲器時實際使用的地址,為20位地址。

物理地址=段基址×10H+段內偏移地址105106通過此例說明,每個內存單元有唯一的物理地址,但可由不同的段地址和偏移地址構成。物理地址相同,就選中同一單元DSESSSCSIP數(shù)據(jù)暫存器PSW標志寄存器執(zhí)行部件控制電路指令譯碼器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器組指令隊列總線接口控制電路運算器地址加法器、、、指令1指令2指令3指令4、、、數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)3、、、地址總線AB數(shù)據(jù)總線DB控制總線CB地址譯碼器地址12300H=00010010001100000000BA19A16A12A020根地址線:107例:設某存儲單元的段基址為2000H,偏移地址是5678H。寫出該單元的邏輯地址、物理地址,以及該單元所在段的首末單元物理地址。解:(1)該單元的邏輯地址表示為2000H:5678H

(2)該單元的物理地址是:PA=段基址×10H+偏移地址(EA)

=2000H×10H+5678H=25678H

(3)該單元所在段的首單元地址是:段基址×10H=20000H;

(4)該單元所在段的末單元地址是:段起始地址+FFFFH=2FFFFH。108物理地址的計算示意圖109

[注意]一個物理地址對應多個邏輯地址.如01234H存儲單元其邏輯地址可表示為:

0100H:0234H也可表示為:

0120H:0034H如圖2-10示.110例已知CS=1055H,DS=250AHES=2EF0HSS=8FF0H某操作數(shù)偏移地址=0204H畫出各段在內存中的分布、段首地址及操作數(shù)的物理地址10550H250A0H2EF00H8FF00HCSDSESSS111段與段之間可以:

◆重合◆重疊◆緊密連接◆間隔分開112分段(段加偏移)尋址的好處:允許程序在存儲器內重定位(浮動)允許實模式下編寫的程序在保護模式下運行

可重定位程序是一個不加修改就可以在任何存儲區(qū)域中運行的程序。113段寄存器8086有4個16位段寄存器CS(代碼段)指明代碼段的起始地址SS(堆棧段)指明堆棧段的起始地址DS(數(shù)據(jù)段)指明數(shù)據(jù)段的起始地址ES(附加段)指明附加段的起始地址每個段寄存器用來確定一個邏輯段的起始地址,每種邏輯段均有各自的用途圖示114★代碼段寄存器CS(CodeSegment)代碼段用來存放程序的指令序列代碼段寄存器CS存放代碼段的段地址指令指針寄存器IP指示下條指令的偏移地址處理器利用CS:IP取得下一條要執(zhí)行的指令115★堆棧段寄存器SS(StackSegment)堆棧段確定堆棧所在的主存區(qū)域堆棧段寄存器SS存放堆棧段的段地址堆棧指針寄存器SP指示堆棧棧頂?shù)钠频刂诽幚砥骼肧S:SP操作堆棧頂?shù)臄?shù)據(jù)116★數(shù)據(jù)段寄存器DS(DataSegment)數(shù)據(jù)段存放運行程序所用的數(shù)據(jù)數(shù)據(jù)段寄存器DS存放數(shù)據(jù)段的段地址各種主存尋址方式(有效地址EA)得到存儲器中操作數(shù)的偏移地址處理器利用DS:EA存取數(shù)據(jù)段中的數(shù)據(jù)117★附加段寄存器ES(ExtraSegment)附加段是附加的數(shù)據(jù)段,也保存數(shù)據(jù):附加段寄存器ES存放附加段的段地址各種主存尋址方式(有效地址EA)得到存儲器中操作數(shù)的偏移地址處理器利用ES:EA存取附加段中的數(shù)據(jù)串操作指令將附加段作為其目的操作數(shù)的存放區(qū)域118段寄存器的使用程序段:用來存放程序的指令代碼;數(shù)據(jù)段/附加段:用來存放數(shù)據(jù)和運算結果;堆棧段:內存中一個特殊區(qū)域,用于傳遞參數(shù)、保存數(shù)據(jù)和狀態(tài)信息。常用于響應中斷或子程序調用。119★如何分配各個邏輯段程序的指令序列必須安排在代碼段程序使用的堆棧一定在堆棧段程序中的數(shù)據(jù)默認是安排在數(shù)據(jù)段,也經常安排在附加段,尤其是串操作的目的區(qū)必須是附加段數(shù)據(jù)的存放比較靈活,實際上可以存放在任何一種邏輯段中120★段超越前綴指令沒有指明時,一般的數(shù)據(jù)訪問在DS段;使用BP訪問主存,則在SS段默認的情況允許改變,需要使用段超越前綴指令;8088指令系統(tǒng)中有4個:CS: ;代碼段超越,使用代碼段的數(shù)據(jù)SS: ;堆棧段超越,使用堆棧段的數(shù)據(jù)DS: ;數(shù)據(jù)段超越,使用數(shù)據(jù)段的數(shù)據(jù)ES: ;附加段超越,使用附加段的數(shù)據(jù)示例1218086/8088對段寄存器使用的約定序號內存訪問類型默認段寄存器可重設的段寄存器段內偏移地址來源1取指令CS無IP2堆棧操作SS無SP3串操作之源串DSES、SSSI4串操作之目標串ES無DI5BP用作基址尋址SSES、DS按尋址方式計算得有效地址6一般數(shù)據(jù)存取DSES、SS按尋址方式計算得有效地址122工作時序:表征CPU各引腳在時間上的工作關系CPU工作時序決定系統(tǒng)各部件間的同步和定時,描述CPU引腳如何實現(xiàn)總線操作。什么是總線操作?8088/8086CPU的工作時序123總線操作是指CPU通過總線對外的各種操作。8088的總線操作主要有:存儲器讀、I/O讀操作存儲器寫、I/O寫操作中斷響應操作總線請求及響應操作CPU正在進行內部操作、并不進行實際對外操作的空閑狀態(tài)Ti什么是總線周期?124時鐘周期CPU的一切操作都是在系統(tǒng)主時鐘CLK的控制下按節(jié)拍有序地進行的。系統(tǒng)主時鐘一個周期信號(時鐘脈沖)所持續(xù)的時間稱為時鐘周期(T),大小等于頻率的倒數(shù),是CPU的基本時間計量單位。如某CPU的主頻f=5MHz,則時鐘周期T=1/f=1/5MHz=200ns(1ns=10-9s)

125總線周期

CPU通過總線對存儲器或I/O接口進行一次讀/寫操作的過程稱為總線周期。為完成對存儲器或I/O端口的一次訪問,CPU需要先后發(fā)出存儲器或I/O端口地址,發(fā)出讀或者寫操作命令,進行數(shù)據(jù)的傳輸。以上的每一個操作都需要延續(xù)一個或幾個時鐘周期。所以,一個總線周期由若干個時鐘周期(T)組成。126指令周期CPU執(zhí)行一條指令的時間(包括取指、譯碼、讀寫操作數(shù)到執(zhí)行完成所需的全部時間)。一個指令周期由若干個總線周期組成。取指令需要一個或多個總線周期,如果指令的操作數(shù)來自內存,則需要另一個或多個總線周期取出操作數(shù),如果要把結果寫回內存,還要增加總線周期。因此,不同指令的指令周期長度各不相同。1278088的基本總線周期需要4個時鐘周期(T1,T2,T3和T4)當需要延長總線周期時需要插入等待狀態(tài)Tw何時有總線周期?128任何指令的取指階段都需要存儲器讀總線周期,讀取的內容是指令代碼.任何一條以存儲單元為源操作數(shù)的指令都將引起存儲器讀總線周期,任何一條以存儲單元為目的操作數(shù)的指令都將引起存儲器寫總線周期只有執(zhí)行IN指令才出現(xiàn)I/O讀總線周期,執(zhí)行OUT指令才出現(xiàn)I/O寫總線周期CPU響應可屏蔽中斷時生成中斷響應總線周期如何實現(xiàn)同步?129關鍵問題:總線操作中如何實現(xiàn)時序同步?CPU總線周期采用同步時序:各部件都以系統(tǒng)時鐘信號為基準當相互不能配合時,快速部件(CPU)插入等待狀態(tài)等待慢速部件(I/O和存儲器)CPU與外設接口常采用異步時序,它們通過應答聯(lián)絡信號實現(xiàn)同步操作130總線周期

總線周期總線周期指令周期M1(MachineCycle)(取指)M2(讀存儲器)M3(寫存儲器)時鐘周期(T狀態(tài))

T1

T2T3T4T5T6T7T8T9

131132第4章:等待狀態(tài)Tw的插入133例:8088CPU讀存儲器總線周期134(DS)=3000H,(BX)=500CH,(3500CH)=9AH

執(zhí)行MOVAL,[BX]1.IO/M變低,

CPU將對內存進行操作2.A19~A0上出現(xiàn)地址信號

00110101000000001100

A19A15A11A7A3A03.ALE上出現(xiàn)正脈沖信號4.DT/R變低,數(shù)據(jù)收發(fā)器處于接受狀態(tài)T1狀態(tài)T1T2T3T4A19~A16/S6~S3IO/MA15~A8

AD7~AD0ALERDDT/RDENCLKS6~S3A7~A0

A19~A16

D7~D0135T1T2T3T4A19~A16/S6~S3IO/MA15~A8

AD7~AD0ALERDDT/RDENCLKS6~S3A7~A0

A19~A16

D7~D05.A19~A16上出現(xiàn)狀態(tài)信號

0IF11S6S5S4S3使用DS

6.AD7~AD0變高阻態(tài)7.RD變低發(fā)給內存,CPU將進行讀操作8.DEN變低允許數(shù)據(jù)收發(fā)器進行數(shù)據(jù)傳送T2狀態(tài)(DS)=3000H,(BX)=500CH,(3500CH)=9AH

執(zhí)行

MOVAL,[BX]136T1T2T3T4A19~A16/S6~S3IO/MA15~A8

AD7~AD0ALERDDT/RDENCLKS6~S3A7~A0

A19~A16

D7~D0(DS)=3000H,(BX)=500CH,(3500CH)=9AH

執(zhí)行MOVAL,[BX]T3狀態(tài)9.AD7~AD0上出現(xiàn)數(shù)據(jù)信號

10011010AD7AD0

數(shù)據(jù)由3500CH內存單元送出137T1T2T3T4A19~A16/S6~S3IO/MA15~A8

AD7~AD0ALERDDT/RDENCLKS6~S3A7~A0

A19~A16

D7~D0(DS)=3000H,(BX)=500CH,(3500CH)=9AH

執(zhí)行MOVAL,[BX]10.RD變高,

CPU從數(shù)據(jù)線上讀數(shù)據(jù),

將數(shù)據(jù)9AH讀到AL中11.DEN變高,數(shù)據(jù)收發(fā)器與總線斷開,

AD7~AD0變高阻態(tài)T4狀態(tài)138簡例:微處理器最基本的4種總線周期:(1)存儲器讀總線周期(2)存儲器寫總線周期(3)I/O讀總線周期(4)I/O寫總線周期139存儲器寫總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸出數(shù)據(jù)A19~A16S6~S3READY(高電平)IO/M*WR*T1狀態(tài)——輸出20位存儲器地址A19~A0IO/M*輸出低電平,表示存儲器操作;ALE輸出正脈沖,表示復用總線輸出地址T2狀態(tài)——輸出控制信號WR*和數(shù)據(jù)D7~D0T3和Tw狀態(tài)——檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)——完成數(shù)據(jù)傳送140I/O寫總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸出數(shù)據(jù)0000S6~S3READY(高電平)IO/M*WR*T1狀態(tài)——輸出16位I/O地址A15~A0IO/M*輸出高電平,表示I/O操作;ALE輸出正脈沖,表示復用總線輸出地址T2狀態(tài)——輸出控制信號WR*和數(shù)據(jù)D7~D0T3和Tw狀態(tài)——檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)——完成數(shù)據(jù)傳送141存儲器讀總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸入數(shù)據(jù)A19~A16S6~S3READY(高電平)IO/M*RD*T1狀態(tài)——輸出20位存儲器地址A19~A0IO/M*輸出低電平,表示存儲器操作;ALE輸出正脈沖,表示復用總線輸出地址T2狀態(tài)——輸出控制信號RD*T3和Tw狀態(tài)——檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)——前沿讀取數(shù)據(jù),完成數(shù)據(jù)傳送142I/O讀總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸入數(shù)據(jù)S6~S3READY(高電平)IO/M*RD*0000T1狀態(tài)——輸出16位I/O地址A15~A0IO/M*輸出高電平,表示I/O操作;ALE輸出正脈沖,表示復用總線輸出地址T2狀態(tài)——輸出控制信號RD*T3和Tw狀態(tài)——檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)——前沿讀取數(shù)據(jù),完成數(shù)據(jù)傳送143插入等待狀態(tài)Tw同步時序通過插入等待狀態(tài),來使速度差別較大的兩部分保持同步在讀寫總線周期中,判斷是否插入Tw1.在T3的前沿檢測READY引腳是否有效2.如果READY無效,在T3和T4之間插入一個等效于T3的Tw,轉13.如果READY有效,執(zhí)行完該T狀態(tài),進入T4狀態(tài)144總線周期

T1T2T3T4TiTi

T1T2T3TwTwTwT4TiTi

總線周期總線周期若干個1~2個基本總線周期由4個T狀態(tài)組成:T1、T2、T3、T4等待時鐘周期Tw,在總線周期的T3和T4之間插入空閑時鐘周期Ti,在兩個總線周期之間插入動態(tài)145各種周期的動態(tài)演示146總線總線的基本概念和分類總線的工作方式常用系統(tǒng)總線標準147總線

是一組導線和相關的控制、驅動電路的集合。是計算機系統(tǒng)各部件之間傳輸?shù)刂?、?shù)據(jù)和控制信息的通道地址總線(AB)數(shù)據(jù)總線(DB)控制總線(CB)148(1)通用性

采用了總線標準可以為各模塊的互連提供一個標準的界面,這個界面對于界面兩端的模塊來說是透明的,界面的任一方只需根據(jù)總線標準要求設計和實現(xiàn)接口的功能,而不用考慮另一方的接口方式,所以按總線標準設計的接口具有廣泛的通用性。

總線的優(yōu)點

149(2)便于用戶的二次開發(fā)由于采用同樣總線標準設計制造各種功能的模塊板,各個模塊板是掛在總線上的相互獨立的模塊,因此用戶可以根據(jù)自己的需要選用現(xiàn)成的功能模塊板,也可根據(jù)自己需要自行設計符合總線標準的模塊板。這樣節(jié)省硬件的重復性開發(fā),也使得編寫該模塊的相應軟件更容易,給調試和修改帶來諸多方便,從而提高了效率,降低了成本。

150(3)便于系統(tǒng)的更新隨著集成電路技術的發(fā)展,新的芯片不斷產生,微機系統(tǒng)需要不斷更新。采用統(tǒng)一標準的總線結構對于系統(tǒng)的更新就更加方便。(4)可不斷提高系統(tǒng)的功能由于采用了標準總線,計算機的主要功能部分做成不同的模塊板掛在總線上,這樣就給系統(tǒng)提供了在原設計的基礎上以最小的變動來跟隨市場要求的可能性。只要根據(jù)新的要求,設計新的模塊,插在總線上就可以了。151總線分類CPU總線系統(tǒng)總線外設總線片內總線片外總線按相對CPU的位置按層次結構152系統(tǒng)總線(1)ISA總線ISA總線是IBMPC/AT機上使用的總線,為80286CPU而設計的,又稱為PCAT總線(2)EISA總線EISA總線是以Compag為代表的幾個公司,為解決瓶頸現(xiàn)象,針對486微機而設計的。(3)PCI總線隨著各種應用軟件的發(fā)展,需要在微處理器與外部設備之間進行大量的高速的數(shù)據(jù)傳輸,以往的ISA總線,及以后發(fā)展的EISA總線都未能解決總線及高效率傳輸?shù)膯栴}。

153于是由Intel公司首先推出PCI總線,繼而由多家公司聯(lián)合建立、發(fā)展和推廣了PCI總線。PCI總線解決了微處理器與外圍設備之間的高速通道,總線的頻率為33MHz,與CPU的時鐘頻率無關,總線寬度為32位,并可以擴展到64位,所以其帶寬達到132Mb/s~264Mb/s。PCI總線與ISA、EISA總線完全兼容,盡管每臺微型計算機系統(tǒng)的插槽數(shù)目有限,但PCI局部總線規(guī)格可以提供“共用插槽”,以便容納一個PCI及一個ISA。PCI總線采用了一種獨特的中間緩沖器的設計,把處理器子系統(tǒng)與外圍設備分開,這樣使得PCI的結構不受處理器種類的限制。154總線結構(從微機系統(tǒng)結構來劃分)(面向系統(tǒng)的)

單總線結構CPUMM

I/OI/OI/O155●

優(yōu)點

控制簡單方便,擴充方便●

缺點系統(tǒng)總體傳輸?shù)男屎退俣仁艿较拗?。因為同一時刻只能在兩個設備之間傳送數(shù)據(jù)。

156多總線結構面向CPU的雙總線結構面向主存的雙總線結構雙總線結構多總線結構157面向CPU的雙總線結構存儲總線:CPU與存儲器之間的總線。存儲器與I/O接口間無直接通道CPU

M

I/O

I/O

I/O158●優(yōu)點提高了微機系統(tǒng)信息傳送的效率和傳送的速度。(雙總線)●缺點由于外設與主存儲器之間沒有直接的通路,它們之間的信息交換都必須通過CPU才能進行中轉,要求CPU化大量的時間來進行信息的輸入輸出處理,降低了CPU的工作效率。159面向存儲器的雙總線結構在單總線結構基礎上增加一條CPU到存儲器的高速總線CPUMI/O

I/OI/O160●優(yōu)點提高微機系統(tǒng)信息傳送的效率,減輕了總線的負擔?!袢秉c硬件造價高。多總線結構:相見教材161總線的主要性能指標總線帶寬(B/S):單位時間內總線上可傳送的數(shù)據(jù)量總線位寬(bit):能同時傳送的數(shù)據(jù)位數(shù)總線的工作頻率(MHz),也稱總線時鐘頻率總線帶寬=(總線位寬/8)(工作頻率/每個存取周期的時鐘數(shù))162總線技術1、總線的基本功能總線上部件的工作方式:

主控方式:部件工作于主控方式時可控制總線并啟動信息傳送。

從方式:部件工作于從方式時只能按主控部件的要求工作。

163總線傳輸需要解決的問題總線傳輸同步總線仲裁控制出錯處理總線驅動1642、總線數(shù)據(jù)傳輸?shù)耐椒绞皆床考?、目的部件?shù)據(jù)在總線上傳輸時,送出數(shù)據(jù)的部件叫源部件,接受數(shù)據(jù)的部件叫目的部件。定時信號總線上的數(shù)據(jù)傳送必須由定時信號控制,定時信號使源部件和目的部件之間的操作同步。定時方式同步定時方式、異步定時方式、半同步定時方式。165(1)同步定時方式總線上的數(shù)據(jù)傳送用一個共同的時鐘來同步雙方的操作,發(fā)送和接收信號都在固定的時刻發(fā)出。數(shù)據(jù)源READY

ACK目的

t1

t2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論