国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      PowerPC向量協(xié)處理器譯碼電路中動(dòng)態(tài)調(diào)度方法

      文檔序號(hào):9547021閱讀:524來(lái)源:國(guó)知局
      PowerPC向量協(xié)處理器譯碼電路中動(dòng)態(tài)調(diào)度方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種譯碼電路中動(dòng)態(tài)調(diào)度方法。特別是涉及PowerPC向量協(xié)處理器譯碼電路中動(dòng)態(tài)調(diào)度方法。
      【背景技術(shù)】
      [0002]為了提高處理器的性能,流水線技術(shù)已經(jīng)被廣泛使用在現(xiàn)代處理器中。然而由于處理器所執(zhí)行的指令之間存在數(shù)據(jù)相關(guān),將會(huì)阻塞流水線,顯著影響處理器的執(zhí)行性能。
      [0003]為了盡可能地降低指令間數(shù)據(jù)相關(guān)對(duì)處理器性能的影響,現(xiàn)代處理器普遍采用動(dòng)態(tài)調(diào)度的方法,通過(guò)檢測(cè)指令間的相關(guān)性及存在相關(guān)性指令的執(zhí)行情況,動(dòng)態(tài)發(fā)射譯碼后的指令,使得后譯碼的指令有可能先于先譯碼的指令執(zhí)行。在不影響程序正確性的前提下,盡可能減少因指令間數(shù)據(jù)相關(guān)對(duì)流水線的阻塞。
      [0004]PowerPC主處理器和協(xié)處理器之間通過(guò)協(xié)處理器接口,以緊耦合流水線的方式進(jìn)行連接,協(xié)處理器在接收主處理器發(fā)來(lái)的指令和數(shù)據(jù)后,需要按照主處理器規(guī)定的一整套協(xié)處理器接口協(xié)議,在規(guī)定的時(shí)鐘周期內(nèi),將主處理器需要的指令譯碼信息反饋給主處理器,涉及修改主處理器特殊寄存器的指令需要在規(guī)定的時(shí)鐘周期內(nèi)完成對(duì)相應(yīng)特殊寄存器的改寫,以便后續(xù)指令正確讀取相應(yīng)特殊寄存器的值。
      [0005]而當(dāng)協(xié)處理器為了降低因指令間數(shù)據(jù)相關(guān)而產(chǎn)生的對(duì)流水線的阻塞,而采用了動(dòng)態(tài)調(diào)度方法時(shí),由于指令的動(dòng)態(tài)調(diào)度是基于指令間的數(shù)據(jù)相關(guān)性及相關(guān)指令的執(zhí)行情況,當(dāng)一條指令與其他指令存在數(shù)據(jù)相關(guān)且相關(guān)指令的相關(guān)性沒(méi)有及時(shí)解除時(shí),該指令便有可能沒(méi)有按照協(xié)處理器接口協(xié)議,在規(guī)定的時(shí)鐘周期內(nèi)完成該指令的執(zhí)行操作,將主處理器需要的相關(guān)譯碼信息傳輸給主處理器,或者雖然即時(shí)將主處理器需要的譯碼信息傳回,但卻沒(méi)有在規(guī)定的時(shí)鐘周期內(nèi)改寫需要改寫的主處理器中的特殊寄存器,從而影響后續(xù)指令的正確執(zhí)行。
      [0006]另外,由于部分協(xié)處理器指令(如Load類指令)的操作數(shù)可能來(lái)源于主處理器,當(dāng)協(xié)處理器指令存在動(dòng)態(tài)調(diào)度,而沒(méi)有按照主處理器的預(yù)期執(zhí)行時(shí),主處理器就可能沒(méi)有在正確的時(shí)鐘周期將協(xié)處理器指令所需要的操作數(shù)傳輸給協(xié)處理器。

      【發(fā)明內(nèi)容】

      [0007]本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種能夠使得在協(xié)處理器滿足協(xié)處理器接口協(xié)議的前提下對(duì)協(xié)處理器中所執(zhí)行的指令進(jìn)行動(dòng)態(tài)調(diào)度,盡可能降低因協(xié)處理器中數(shù)據(jù)相關(guān)對(duì)流水線造成阻塞的PowerPC向量協(xié)處理器譯碼電路中動(dòng)態(tài)調(diào)度方法。
      [0008]本發(fā)明所采用的技術(shù)方案是:PowerPC向量協(xié)處理器譯碼電路中動(dòng)態(tài)調(diào)度方法,當(dāng)協(xié)處理器每接收到一條來(lái)自主處理器的指令時(shí),都要進(jìn)行如下步驟:
      [0009]1)判斷接收到的指令是否是一條有效的協(xié)處理器指令,并將判斷結(jié)果按照主處理器規(guī)定的協(xié)處理器接口協(xié)議的要求,在規(guī)定的時(shí)鐘周期返回給主處理器;
      [0010]2)判斷當(dāng)前指令是否涉及修改主處理器特殊寄存器,是進(jìn)入下一步驟,否則不發(fā)送停止接收新指令信號(hào);
      [0011]3)判斷當(dāng)前指令是否和指令隊(duì)列中的其他指令存在輸出相關(guān)或反相關(guān),是則發(fā)送停止接收新指令信號(hào),否則進(jìn)入下一步驟。
      [0012]4)判斷譯碼單元從主處理器接收的上一條指令是否為改寫主處理器的特殊寄存器,是則發(fā)送停止接收新指令信號(hào),否則進(jìn)入下一步驟;
      [0013]5)判斷當(dāng)前指令操作數(shù)是否已經(jīng)準(zhǔn)備好,是則不發(fā)送停止接收新指令信號(hào),否則進(jìn)入下一步驟;
      [0014]6)判斷當(dāng)前指令的相關(guān)指令是否正在寫回或已經(jīng)寫回,是則不發(fā)送停止接收新指令信號(hào),否則發(fā)送停止接收新指令信號(hào)后返回步驟5)。
      [0015]步驟1)中,如果判斷結(jié)果是無(wú)效協(xié)處理器指令,在協(xié)處理器接口協(xié)議規(guī)定的時(shí)鐘周期返回給主處理器一個(gè)無(wú)效協(xié)處理器指令確認(rèn)信號(hào),表明所接收到的指令不是一條有效的協(xié)處理器指令;如果判斷結(jié)果是有效協(xié)處理器指令,在協(xié)處理器接口協(xié)議規(guī)定的時(shí)鐘周期返回給主處理器一個(gè)有效協(xié)處理器指令確認(rèn)信號(hào),表明所接收到的指令是一條有效的協(xié)處理器指令。
      [0016]步驟2)中所述的特殊寄存器是主處理器中除通用寄存器以外的寄存器。
      [0017]步驟3)中所述的當(dāng)前指令是否和指令隊(duì)列中的其他指令存在輸出相關(guān)或反相關(guān),是判斷當(dāng)前指令的目的寄存器是否等于指令隊(duì)列中其他指令的源寄存器或目的寄存器。
      [0018]步驟6)中所述的當(dāng)前指令的相關(guān)指令,是指若當(dāng)前指令中的一個(gè)操作數(shù)的源寄存器等于協(xié)處理器的指令隊(duì)列中一條指令的目的寄存器,則將所述指令隊(duì)列中源寄存器的編號(hào)等于當(dāng)前指令目的寄存器編號(hào)的指令條目中編號(hào)最小的一項(xiàng)設(shè)置為當(dāng)前譯碼指令的相關(guān)指令。
      [0019]本發(fā)明的PowerPC向量協(xié)處理器譯碼電路中動(dòng)態(tài)調(diào)度方法,在保證程序正確執(zhí)行并且滿足協(xié)處理器接口協(xié)議的基礎(chǔ)上,對(duì)協(xié)處理器中所執(zhí)行的指令進(jìn)行動(dòng)態(tài)調(diào)度,從而將由于協(xié)處理器指令之間存在數(shù)據(jù)相關(guān)而對(duì)流水線的阻塞降低到最小,提高了協(xié)處理器的整體性能。
      【附圖說(shuō)明】
      [0020]圖1是本發(fā)明PowerPC向量協(xié)處理器譯碼電路中動(dòng)態(tài)調(diào)度方法和流程圖;
      [0021]圖2是PowerPC協(xié)處理器動(dòng)態(tài)調(diào)度的一個(gè)實(shí)例。
      【具體實(shí)施方式】
      [0022]下面結(jié)合實(shí)施例和附圖對(duì)本發(fā)明的PowerPC向量協(xié)處理器譯碼電路中動(dòng)態(tài)調(diào)度方法做出詳細(xì)說(shuō)明。
      [0023]根據(jù)PowerPC向量協(xié)處理器接口協(xié)議要求,當(dāng)協(xié)處理器接收到一條主處理器發(fā)來(lái)的指令時(shí),需要在協(xié)處理器接口協(xié)議規(guī)定的時(shí)鐘周期返回一個(gè)確認(rèn)信號(hào),表明所接收到的指令是不是一條有效的協(xié)處理器指令。如果協(xié)處理器確認(rèn)所接收到的指令是一條有效的協(xié)處理器指令,則主處理器認(rèn)為協(xié)處理器應(yīng)該在固定的時(shí)鐘周期內(nèi)完成所接收指令的執(zhí)行工作,并根據(jù)協(xié)處理器接口協(xié)議,在規(guī)定的時(shí)鐘周期將協(xié)處理器所需要的有效操作數(shù)傳輸給協(xié)處理器。當(dāng)協(xié)處理器所接收指令涉及修改主處理器特殊寄存器的值時(shí),需要在執(zhí)行結(jié)束前完成相應(yīng)的特殊寄存器值的修改工作。
      [0024]如圖1所示,本發(fā)明的PowerPC向量協(xié)處理器譯碼電路中動(dòng)態(tài)調(diào)度方法,是當(dāng)協(xié)處理器每接收到一條來(lái)自主處理器的指令時(shí),都要進(jìn)行如下步驟:
      [0025]1)判斷接收到的指令是否是一條有效的協(xié)處理器指令,并將判斷結(jié)果按照主處理器規(guī)定的協(xié)處理器接口協(xié)議的要求,在規(guī)定的時(shí)鐘周期返回給主處理器。其中,如果判斷結(jié)果是無(wú)效協(xié)處理器指令,在協(xié)處理器接口協(xié)議規(guī)定的時(shí)鐘周期返回給主處理器一個(gè)無(wú)效協(xié)處理器指令確認(rèn)信號(hào),表明所接收到的指令不是一條有效的協(xié)處理器指令;如果判斷結(jié)果是有效協(xié)處理器指令,在協(xié)處理器接口協(xié)議規(guī)定的時(shí)鐘周期返回給主處理器一個(gè)有效協(xié)處理器指令確認(rèn)信號(hào),表明所接收到的指令是一條有效的協(xié)處理器指令;
      [0026]2)判斷當(dāng)前指令與指令隊(duì)列中的其他指令是否存在輸出相關(guān)或反相關(guān),即判斷當(dāng)前指令的目的寄存器是否等于指令隊(duì)列中其他指令的源寄存器或目的寄存器,是則發(fā)送停止接收新指令信號(hào),否則進(jìn)入下一步驟。
      [0027]3)判斷當(dāng)前指令是否涉及修改主處理器特殊寄存器,是進(jìn)入下一步驟,否則不發(fā)送停止接收新指令信號(hào),所述的特殊寄存器是主處理器中除通用寄存器以外的寄存器;
      [0028]4)判斷譯碼單元從主處理器接收的上一條指令是否-改寫主處理器的特殊寄存器,是則發(fā)送停止接收新指令信號(hào),否則進(jìn)入下一步驟;
      [0029]5)判斷當(dāng)前指令操作數(shù)是否已經(jīng)準(zhǔn)備好,是則不發(fā)送停止接收新指令信號(hào),否則進(jìn)入下一步驟;
      [0030]6)判斷當(dāng)前指令的相關(guān)指令是否正在寫回或已經(jīng)寫回,是則不發(fā)送停止接收新指令信號(hào),否則發(fā)送停止接收新指令信號(hào)后返回步驟5),直到當(dāng)前指令的操作數(shù)已經(jīng)準(zhǔn)備好或相關(guān)指令已經(jīng)寫回或正在寫回時(shí),停止發(fā)送停止接收新指令信號(hào)。所述的當(dāng)前指令的相關(guān)指令,是指若當(dāng)前指令中的一個(gè)操作數(shù)的源寄存器等于協(xié)處理器的指令隊(duì)列中一條指令的目的寄存器,則將所述指令隊(duì)列中源寄存器的編號(hào)等于當(dāng)前指令目的寄存器編號(hào)的指令條目中最新的一項(xiàng)設(shè)置為當(dāng)前譯碼指令的相關(guān)指令。
      [0031]需要說(shuō)明的是,停止接收新指令信號(hào)的作用在于當(dāng)停止接收新指令信號(hào)為高電平時(shí),表明協(xié)處理器不能接收主處理器發(fā)來(lái)的新指令,此時(shí),當(dāng)主處理取指單元接收到一條非主處理器指令時(shí),應(yīng)停滯流水線,等待向量協(xié)處理器對(duì)所述非主處理器指令進(jìn)行譯碼,以判斷這條非主處理器指令是否是一條有效的協(xié)處理器指令。該信號(hào)的具體信號(hào)名由協(xié)處理器接口協(xié)議規(guī)定,可能因協(xié)處理器接口協(xié)議的不同而不同。
      [0032]下面結(jié)合圖2說(shuō)明本發(fā)明工作過(guò)程。
      [0033]如圖2向量協(xié)處理器100所
      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1