微機原理及應(yīng)用 課件 3.7指令預(yù)取隊列_第1頁
微機原理及應(yīng)用 課件 3.7指令預(yù)取隊列_第2頁
微機原理及應(yīng)用 課件 3.7指令預(yù)取隊列_第3頁
微機原理及應(yīng)用 課件 3.7指令預(yù)取隊列_第4頁
微機原理及應(yīng)用 課件 3.7指令預(yù)取隊列_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理及應(yīng)用第三章認識微處理器第七講指令預(yù)取隊列這一節(jié)我們來學(xué)習(xí)指令預(yù)取隊列指令預(yù)取隊列首先來了解一下為什么需要指令預(yù)取隊列,為什么需要指令預(yù)取隊列?主要的原因是CPU處理指令的速度比較快,但是從CPU從內(nèi)存取指令或操作數(shù)的速度比較慢,因為這要涉及到傳送地址,數(shù)據(jù)這些信息,要使用地址總線和數(shù)據(jù)總線等,因此CPU和內(nèi)存之間通信的速度要遠遠低于CPU內(nèi)部處理的速度傳送地址傳送數(shù)據(jù)地址總線和數(shù)據(jù)總線CPU執(zhí)行完指令要等待很長時間下一條指令到達才繼續(xù)工作拖慢運行時間和工作效率這會導(dǎo)致CPU執(zhí)行完了指令要等待很長時間,等下一條指令到達后才能繼續(xù)工作,這嚴重拖慢了CPU的運行時間和工作效率。那要如何解決這個問題呢?如何解決這個問題?當(dāng)然,我們可以想辦法提升CPU與內(nèi)存之間通信的速率,但這會大幅度提升成本CPU內(nèi)存大幅度提升成本通信速率那么工程師們想到的辦法,就是用指令預(yù)取隊列,在EU和BIU之間做一個緩沖。工程師指令預(yù)取隊列EUBIUBIU可以預(yù)先將多條指令讀進來按先來后到的順序存放在指令預(yù)取隊列中。這個隊列執(zhí)行的規(guī)則是先進先出。就是先進來的指令先從隊列中拿出去執(zhí)行。這樣EU就不必等待BIU讀取指令,而可以一直從隊列中取指令并執(zhí)行了BIUEU將多條指令讀進來按先來后到的順序存放指令預(yù)取隊列不必等待BIU讀取指令,從隊列中取指令并執(zhí)行先進來的指令先從隊列中拿出去執(zhí)行先進先出因此,我們說指令預(yù)取隊列保證EU和BIU兩個部分可以同時進行工作。最重要的是有了指令預(yù)取隊列以后,我們才真正實現(xiàn)了指令的并行執(zhí)行BIUEU指令預(yù)取隊列同時進行并行執(zhí)行我們在前面提到過,要想實現(xiàn)指令的并行執(zhí)行,要把取指令,分析指令和執(zhí)行指令交給不同的人去做想實現(xiàn)指令的并行執(zhí)行,要把取指令,分析指令和執(zhí)行指令交給不同的人去做在8088、8086出現(xiàn)之前,也就是在沒有指令預(yù)取隊列的時候,CPU是用串行的方式來進行指令操作的,8088、8086出現(xiàn)前,沒有指令預(yù)取隊列時CPU用串行的方式進行指令操作取指指令流水線先取指令,然后如果需要取操作數(shù)的話,再去取操作數(shù),最后再執(zhí)行,執(zhí)行完了以后把數(shù)據(jù)存儲下來,再去取下一條指令,這就是串行的方式。這種串行方式的工作效率會比較低8088、8086出現(xiàn)前,沒有指令預(yù)取隊列時CPU用串行的方式進行指令操作執(zhí)行存數(shù)取數(shù)串行方式工作效率會比較低有了指令預(yù)取隊列,EU和BIU各司其職,實現(xiàn)并行的執(zhí)行方式。這種方式可以大大提升CPU處理指令的效率BIUEU指令預(yù)取隊列各司其職并行執(zhí)行提升CPU處理指令的效率負責(zé)指令的執(zhí)行由于取指令是事先進行,有時間差在并行執(zhí)行方式中,BIU是CPU跟外部通信的一個通道,他負責(zé)從內(nèi)存中取出指令,并送入到指令預(yù)取隊列中。如果需要的話它再從內(nèi)存中取操作數(shù)再送到EU部分執(zhí)行。EU就負責(zé)指令的執(zhí)行。而且由于取指令是事先就進行的,有個時間差的問題,所以EU也不需要再等等BIU了EUBIU負責(zé)從內(nèi)存取指送入指令流隊列從內(nèi)存取操作數(shù)送至EU部份去執(zhí)行8086/8088CPU我們來看這張圖,BIU一直在取指令,EU一直在執(zhí)行指令,如果需要取操作數(shù)的話,BIU會再去取個操作數(shù)。所以總線可以一直處于繁忙的狀態(tài)如需取操作數(shù),BIU會再去取個操作數(shù)因為取指令和執(zhí)行指令由不同的模塊來負責(zé),所以我們說他們在空間上是分開的。所以在時間上他們是可以被同時執(zhí)行的,也就是取指令和執(zhí)行指令可以同時進行了,當(dāng)然取的指令和執(zhí)行的指令不是同一個指令哈。這就是指令的并行執(zhí)行BIU&EU取指令和執(zhí)行指令由不同模塊負責(zé)在空間上是分開的,故在時間上可采用重疊操作技術(shù)(取的指令和執(zhí)行的指令不是同一個指令)這就是指令的并行執(zhí)行BIU取指1取指2取指3取指4取指5得到數(shù)據(jù)取指6EU等待執(zhí)行1執(zhí)行2執(zhí)行3執(zhí)行4指令的并行執(zhí)行8088和8086首次在CPU中采用了指令流水線的結(jié)構(gòu),使他們成為了CPU發(fā)展史上的一個里程碑。采用指令流水線的結(jié)構(gòu)CPU發(fā)展史上的里程碑隨著技術(shù)的發(fā)展,現(xiàn)在我

溫馨提示

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

最新文檔

評論

0/150

提交評論