- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
5.3處理器時序
5.3.18086處理器時序時序的基本概念電腦的工作是在時鐘脈衝CLK的統一控制下,一個節拍一個節拍地實現的。在CPU執行某一個程式之前,先要把程式(已變為可執行的目標程式)放到記憶體的某個區域。在啟動執行後,CPU就發出讀指令的命令;記憶體接到這個命令後,從指定的地址(在8086中由碼段寄存器CS和指令指針IP給定)讀出指令,把它送至CPU的指令寄存器中;CPU對讀出指令經過解碼器分析之後,發出一系列控制信號,以執行指令規定的全部操作,控制各種資訊在機器(或系統)各部件之間傳送。8086微處理器每條指令的執行有取指、解碼、執行這樣的階段,但由於微處理器內有匯流排介面單元BIU和執行單元EU,所以在執行一條指令的同時(這在EU中操作),BIU就可以取下一條指令,它們在時鐘上是重疊的。所以,從總體上來說,似乎不存在取指階段,這種功能就稱為“流水線”功能。目前,在高檔微處理器中往往有多條流水線,使微處理器的許多內部操作“並行”進行,從而大大提高了微處理器的工作速度。執行一條指令的一系列動作,都是在時鐘脈衝CLK的統一控制下一步一步進行的,它們都需要一定的時間(當然有些操作在時間上是重疊的)。如何確定執行一條指令所需要的時間呢?執行一條指令所需要的時間稱為指令週期(InstructionCycle)。但是,8086中不同指令的指令週期是不等長的。因為,首先8086的指令是不等長的,最短的指令是一個位元組,大部分指令是兩個位元組,但由於各種不同尋址方式又可能要附加幾個位元組,8086中最長的指令可能要6個位元組。指令的最短執行時間是兩個時鐘週期,一般的加、減、比較、邏輯操作是幾十個時鐘週期,最長的為16位數乘除法操作約需要200個時鐘週期。指令週期又分為一個個匯流排週期。每當CPU要從記憶體或I/O端口,讀寫一個位元組(或字)就是一個匯流排週期(BusCycle)。所以,對於多位元組指令,取指就需要若干個匯流排週期;在指令的執行階段,不同的指令也會有不同的匯流排週期,有的只需要一個匯流排週期,而有的可能需要若干個匯流排週期。一個基本的匯流排週期的時序如圖5-6所示。每個匯流排週期通常包含4個T狀態(Tstate),即圖5-6中的T1、T2、T3、T4,每個T狀態是8086中處理動作的最小單位,它就是時鐘週期(ClockCycle)。早期的8086的時鐘頻率為8MHz,故時鐘週期或者一個T狀態為125ns。雖然各條指令的指令週期有很大差別,但它們仍然是由以下一些基本的匯流排週期組成的: (1)記憶體讀或寫匯流排週期; (2)輸入輸出端口的讀或寫匯流排週期; (3)中斷回應週期。8086CPU的每條指令都有自己的固定的時序。例如從記憶體讀一個位元組(或字)的操作匯流排週期是由4個T狀態組成,如圖5-7所示。CPU在T1狀態把地址資訊從地址線A19~A16、AD15~AD0上輸出,並且立即發出地址鎖存信號ALE,把在A19~A16上出現的高4位地址和在AD15~AD0上出現的低16位地址,在外部地址鎖存器上鎖存。這樣,20位地址資訊就送至記憶體。CPU也是在T1狀態發出區分是記憶體還是I/O操作的IO/M#信號。在T2狀態,CPU發出讀命令信號(若使用介面晶片8286,還有相應的控制信號DT/R和DEN)。有了這些控制信號,記憶體就可以實現讀出。在這些信號發出後,CPU等待一段時間,到它的T4狀態的前沿(下降沿)採樣數據匯流排AD15~AD0以獲取數據,從而結束此匯流排週期。記憶體從接收到地址信號,要經過地址解碼選擇,選中所需要的單元,I/O端口也如此。從接收到IO/M#信號和RD#信號(這些信號一般用作選通信號),到資訊從被選中的單元讀出送至數據匯流排也都是需要一定時間的,它是否能在T4週期的前沿之前完成,這完全取決於存儲電路或I/O端口本身。所以,在CPU的時序和記憶體或I/O端口的時序之間存在配合問題。CPU中設計了一條準備就緒——READY輸入線,這是由記憶體或I/O端口輸送給CPU的狀態信號線;在記憶體或I/O端口對數據的讀寫操作完成時,使READY線有效(即為高電平)。CPU在T3狀態的前沿(下降沿)採樣READY線,若其有效,則為正常週期,在T3狀態結束後進入T4狀態,且CPU在T4狀態的前沿採樣數據匯流排,完成一個讀寫週期;若CPU在T3狀態的前沿採樣到READY為無效(低電平),則在T3週期結束後,進入TW週期(等待週期)
文档评论(0)