Pentium 微处理器课件.pptVIP

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

2、指令預取分支目標緩衝器與指令預取單元3、指令配對和運算元地址計算有效的指令佇列將兩條指令分別送U和V流水線的Decode1,配對檢測邏輯進行配對檢查。如果兩條指令能夠配對執行,解碼級1將它們送到解碼級2。如果不能配對,則將V流水線中的指令轉移到U流水線中,兩條指令在U流水線中串行地執行。在解碼級2中計算運算元地址。不管運算元是什麼尋址方式,解碼級2用一個CLK完成運算元地址的計算。3、指令配對和運算元地址計算流水線的雙解碼2級4、指令並行執行條件和配對規則1)指令的並行執行U、V流水線執行級各有一個ALU。U的ALU包含一個桶狀移位器,可以執行一些在V流水線中不能執行的複雜指令。兩條指令能夠配對,它們被並行執行。兩個ALU可同時形成數據Cache或數據記憶體的訪問請求,對目標寄存器或標誌寄存器的回寫。指令執行是通過5個流水步完成的。在執行級,如果V流水線拖延了時間,U流水線可以繼續做如回寫目標寄存器或標誌寄存器的工作。反之則不行。若U流水線拖延,V只能等待U。4、指令並行執行條件和配對規則1)指令的並行執行Pentium流水線的雙執行級4、指令並行執行條件和配對規則2)指令的配對規則兩條指令是簡單指令; movreg,reg/mem/imm movmem,reg/imm alureg,reg/mem/imm increg/mem decreg/mem pushreg/mem popreg 等等。非一位元組指令長度相等;4、指令並行執行條件和配對規則2)指令的配對規則兩條指令不存在寄存器爭用的問題,即兩條指令並行執行時不會訪問同一個寄存器; read-after-write相關: movAX,imm; mov[BP],AX; write-after-write相關: 例1: movAX,imm; movAX,[BP]; 例2: movAL,imm1; movAH,imm2.4、指令並行執行條件和配對規則2)指令的配對規則兩條指令中只有第一條指令能帶指令首碼。有些指令只能在U流水線中執行,它們在指令序列中是第一條指令時才能配對。圖2.2.4指令的分支與預測1、分支目標緩衝器和分支預測邏輯1)概述分支預測邏輯,可以對將要執行的分支指令進行動態的轉移預測。分支預測邏輯是以該分支指令的歷史執行情況為預測依據的。支持分支預測機制的關鍵部件是分支目標緩衝器BTB(BranchTargetBuffer)。它是一個256行4路組相聯結構的Cache,它記錄了已執行過的分支指令的資訊。指令執行後ALU將分支指令的執行結果回饋到BTB,BTB再根據轉移預測的正確與否來修正歷史記錄位並指示預取器和預取佇列做相應操作1、分支目標緩衝器和分支預測邏輯2)分支目標緩衝器BTB(BranchTargetBuffer)256個目錄行,每行包括:1bit指示該項是否正在使用2bits歷史記錄位表示該分支指令發生轉移的頻度這條轉移指令源記憶體的地址;該轉移指令最後一次執行時的目標地址;分支預測邏輯根據BTB中的記錄,按照一定轉移預測策略對當前的分支指令進行轉移預測。1、分支目標緩衝器和分支預測邏輯2)分支目標緩衝器BTB(BranchTargetBuffer)歷史記錄表示轉移發生頻度00Stronglynottaken01Weaklynottaken10Weaklytaken11Stronglytaken表2-轉移頻度表2、動態轉移預測策略1)轉移預測策略一條分支指令進入任意一條流水線後,BTB就根據它的源記憶體地址在Cache中查找;如果這條指令在BTB中有記錄項,分支預測邏輯便以記錄項的歷史資訊為依據,預測轉移發生的情況歷史記錄為11表示轉移強烈發生、10表示轉移較弱發生,歷史記錄為01表示轉移基本不發生、00表示轉移強烈不發生。若歷史記錄項為10或11則指示正向預測,預測該指令將發生轉移,並指示預取器從在BTB中記錄的指令轉移目標地址開始取指令,切換到另一條指令佇列順序存放指令。若歷史記錄項為01或00則指示負向預測,分支預測邏輯預測該分支指令不發生轉移。2、動態轉移預測策略1)轉移預測策略當分支指令第一次進入流水線時,它在Cache中沒有記錄項,便產生一次查找BTB不命中。對這條分支指令的預測為不發生轉移,即使這條指令是無條件轉移指令。預取器也不做

文档评论(0)

爱遛弯的张先生 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档