国产精品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>

      指令合并優(yōu)化的制作方法

      文檔序號(hào):9693197閱讀:415來源:國(guó)知局
      指令合并優(yōu)化的制作方法
      【技術(shù)領(lǐng)域】
      [0001 ]本發(fā)明涉及指令優(yōu)化,更具體地,涉及通過合并加載指令和訪問由該加載指令加載的數(shù)據(jù)的數(shù)據(jù)處理指令來優(yōu)化指令。
      【背景技術(shù)】
      [0002]處理器執(zhí)行指令流以進(jìn)行數(shù)據(jù)處理、存儲(chǔ)和控制操作。處理器可以通過從數(shù)據(jù)存儲(chǔ)器取得機(jī)器指令、基于該機(jī)器指令產(chǎn)生內(nèi)部指令并且執(zhí)行內(nèi)部指令來執(zhí)行指令以進(jìn)行控制包括該處理器的系統(tǒng)的操作。

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

      [0003]根據(jù)本公開的一個(gè)實(shí)施例,用于優(yōu)化指令的計(jì)算機(jī)系統(tǒng)包括:處理器,包括被配置為執(zhí)行指令的指令執(zhí)行單元以及被配置為優(yōu)化兩個(gè)或更多指令的指令優(yōu)化單元;以及存儲(chǔ)器,用于存儲(chǔ)要由該指令執(zhí)行單元執(zhí)行的兩個(gè)或更多機(jī)器指令。該計(jì)算機(jī)系統(tǒng)被配置為進(jìn)行包括以下的方法:分析來自要由該指令執(zhí)行單元執(zhí)行的指令流中的機(jī)器指令,所述機(jī)器指令包括存儲(chǔ)器加載指令和基于該存儲(chǔ)器加載指令進(jìn)行數(shù)據(jù)處理功能的數(shù)據(jù)處理指令,將所述機(jī)器指令識(shí)別為合格用于優(yōu)化,將所述機(jī)器指令合并為單個(gè)優(yōu)化的內(nèi)部指令,并執(zhí)行該單個(gè)優(yōu)化的內(nèi)部指令以進(jìn)行與所述存儲(chǔ)器加載指令和所述數(shù)據(jù)處理指令對(duì)應(yīng)的存儲(chǔ)器加載功能和數(shù)據(jù)處理功能。
      [0004]根據(jù)本公開的另一實(shí)施例,用于實(shí)現(xiàn)指令優(yōu)化的計(jì)算機(jī)程序產(chǎn)品。該計(jì)算機(jī)程序產(chǎn)品包括:有形存儲(chǔ)介質(zhì),可由處理電路讀取并且存儲(chǔ)用于由該處理電路執(zhí)行以進(jìn)行一方法的指令。該方法可以包括:確定指令流的至少兩個(gè)機(jī)器指令合格用于優(yōu)化,所述至少兩個(gè)機(jī)器指令包括存儲(chǔ)器加載指令和基于該存儲(chǔ)器加載指令處理數(shù)據(jù)的數(shù)據(jù)處理指令;基于確定所述至少兩個(gè)機(jī)器指令合格用于優(yōu)化,通過處理器將所述至少兩個(gè)機(jī)器指令合并為單個(gè)優(yōu)化的內(nèi)部指令;以及執(zhí)行該單個(gè)優(yōu)化的內(nèi)部指令以進(jìn)行與所述存儲(chǔ)器加載指令和所述數(shù)據(jù)處理指令對(duì)應(yīng)的存儲(chǔ)器加載功能和數(shù)據(jù)處理功能。
      [0005]根據(jù)本公開的另一實(shí)施例,計(jì)算機(jī)實(shí)現(xiàn)的方法可以包括:確定指令流的兩個(gè)或更多指令合格用于優(yōu)化,所述兩個(gè)或更多指令包括存儲(chǔ)器加載指令以及基于該存儲(chǔ)器加載指令處理數(shù)據(jù)的數(shù)據(jù)處理指令;通過處理器將所述兩個(gè)或更多指令合并為單個(gè)優(yōu)化的內(nèi)部指令;以及執(zhí)行該單個(gè)優(yōu)化的內(nèi)部指令以進(jìn)行與所述存儲(chǔ)器加載指令和所述數(shù)據(jù)處理指令對(duì)應(yīng)的存儲(chǔ)器加載功能和數(shù)據(jù)處理功能。
      [0006]通過本發(fā)明的技術(shù)實(shí)現(xiàn)另外的特征和優(yōu)點(diǎn)。在此詳細(xì)描述了本發(fā)明的其他實(shí)施例和方面,并且它們被認(rèn)為是要求保護(hù)的本發(fā)明的一部分。為了更好地理解具有這些優(yōu)點(diǎn)和特征的本發(fā)明,參考描述和附圖。
      【附圖說明】
      [0007]特別指出并且在說明書的結(jié)尾處清楚地要求保護(hù)被認(rèn)為是本發(fā)明的主題。本發(fā)明的上述以及其他特征和優(yōu)點(diǎn)從結(jié)合附圖考慮的以下詳細(xì)描述是顯然的,附圖中:
      [0008]圖1繪出根據(jù)本公開的一個(gè)實(shí)施例的用于優(yōu)化內(nèi)部指令的系統(tǒng)的框圖;
      [0009]圖2繪出根據(jù)本公開的一個(gè)實(shí)施例的用于優(yōu)化內(nèi)部指令的系統(tǒng)的配置;
      [0010]圖3繪出根據(jù)本公開的一個(gè)實(shí)施例的用于優(yōu)化內(nèi)部指令的處理流程;
      [0011]圖4繪出根據(jù)一個(gè)實(shí)施例的用于確定內(nèi)部指令是否合格用于優(yōu)化的處理流程;
      [0012]圖5圖形地繪出根據(jù)本公開的一個(gè)實(shí)施例的內(nèi)部指令的優(yōu)化和執(zhí)行;
      [0013]圖6繪出根據(jù)一個(gè)實(shí)施例的計(jì)算機(jī)程序產(chǎn)品。
      【具體實(shí)施方式】
      [0014]參考圖1,用于優(yōu)化指令的系統(tǒng)1包括指令存儲(chǔ)單元10、發(fā)出(issue)隊(duì)列11、指令優(yōu)化單元12、指令執(zhí)行單元13、操作數(shù)存儲(chǔ)單元14以及寄存器15。系統(tǒng)1不限于以上元件或組件,而是為了描述的目的而提供這些組件。可以添加其他組件,并且根據(jù)在本公開的范圍內(nèi)的系統(tǒng)可以省略以上組件中的一個(gè)或多個(gè)。
      [0015]指令存儲(chǔ)單元10存儲(chǔ)要由指令執(zhí)行單元13執(zhí)行的指令。可以根據(jù)任意架構(gòu)將指令存儲(chǔ)在指令存儲(chǔ)單元10中,包括基于指令何時(shí)被編成、隨機(jī)地、基于指令何時(shí)被系統(tǒng)1調(diào)用或訪問、或者根據(jù)任何其他設(shè)計(jì)參數(shù)、要求或架構(gòu)。在一個(gè)實(shí)施例中,指令存儲(chǔ)單元10存儲(chǔ)機(jī)器指令,并且在另一實(shí)施例中,指令存儲(chǔ)單元10存儲(chǔ)基于機(jī)器指令而產(chǎn)生的指令。
      [0016]發(fā)出隊(duì)列11包括用于存儲(chǔ)在排隊(duì)以由指令執(zhí)行單元13執(zhí)行的指令的預(yù)定數(shù)量的槽。當(dāng)在隊(duì)列前面的指令被執(zhí)行時(shí),發(fā)出隊(duì)列11中的指令從隊(duì)列一路前移??梢酝ㄟ^指向下一指令的指針、通過從隊(duì)列電讀取指令并按新順序?qū)⒅噶钪貙懟氐疥?duì)列中、或者通過任何其他處理來實(shí)現(xiàn)指令的前移。在一個(gè)實(shí)施例中,發(fā)出隊(duì)列11存儲(chǔ)機(jī)器指令,并且在另一實(shí)施例中,發(fā)出隊(duì)列存儲(chǔ)基于機(jī)器指令而產(chǎn)生的內(nèi)部指令。
      [0017]在本公開的一些實(shí)施例中,比如由指令執(zhí)行單元13分析發(fā)出隊(duì)列11中的多個(gè)指令以確定是否并行執(zhí)行發(fā)出隊(duì)列11中的多個(gè)指令以增加系統(tǒng)1完成指令集的速度。對(duì)發(fā)出隊(duì)列11的槽中的每一個(gè)指令的分析花費(fèi)預(yù)定時(shí)間量,使得增加發(fā)出隊(duì)列11的深度以增加發(fā)出隊(duì)列11中的指令的數(shù)量增加了系統(tǒng)1的等待時(shí)間。
      [0018]在本公開的實(shí)施例中,指令優(yōu)化單元12分析指令流中的多個(gè)指令以確定指令是否合格用于優(yōu)化。指令流可以存儲(chǔ)在指令存儲(chǔ)單元10或者發(fā)出隊(duì)列11中并且從指令存儲(chǔ)單元10或者發(fā)出隊(duì)列11訪問。例如,在一個(gè)實(shí)施例中,分析存儲(chǔ)在指令存儲(chǔ)單元10或者發(fā)出隊(duì)列11中的機(jī)器指令以確定它們是否合格用于優(yōu)化。如果它們被確定為合格用于優(yōu)化,則可以優(yōu)化指令以產(chǎn)生優(yōu)化的內(nèi)部指令,并且優(yōu)化的內(nèi)部指令可以存儲(chǔ)在發(fā)出隊(duì)列11中。在另一實(shí)施例中,可以分析存儲(chǔ)在發(fā)出隊(duì)列11中的內(nèi)部指令以確定對(duì)于優(yōu)化的合格性。如果確定內(nèi)部指令合格用于優(yōu)化,則可以優(yōu)化內(nèi)部指令以產(chǎn)生優(yōu)化的內(nèi)部指令,并且可以將優(yōu)化的內(nèi)部指令存儲(chǔ)在發(fā)出隊(duì)列11中。
      [0019]優(yōu)化可以發(fā)生在例如指令被解碼時(shí)。當(dāng)確定指令合格用于優(yōu)化時(shí),指令優(yōu)化單元12將這些指令合并為單個(gè)優(yōu)化的內(nèi)部指令,該單個(gè)優(yōu)化的內(nèi)部指令包括合格分別的內(nèi)部指令。該單個(gè)優(yōu)化的內(nèi)部指令可以存儲(chǔ)在發(fā)出隊(duì)列11的僅一個(gè)槽(slot)中。當(dāng)進(jìn)行寄存器重命名時(shí),該單個(gè)優(yōu)化的內(nèi)部指令可以使用單個(gè)目標(biāo)重命名寄存器來反映已經(jīng)被合并的第一和第二內(nèi)部指令的結(jié)果,由此降低珍稀的重命名寄存器資源的消耗。
      [0020]在內(nèi)部指令的執(zhí)行期間,指令執(zhí)行單元13訪問在發(fā)出隊(duì)列11前面的指令并且通過訪問來自操作數(shù)(operand)存儲(chǔ)單元14或者寄存器15的一個(gè)或多個(gè)操作數(shù)以及通過將結(jié)果存儲(chǔ)在操作數(shù)存儲(chǔ)單元14和寄存器15的一個(gè)或多個(gè)中來執(zhí)行指令。當(dāng)由指令執(zhí)行單元13執(zhí)行的指令是優(yōu)化的內(nèi)部指令時(shí),指令執(zhí)行單元13可以執(zhí)行該優(yōu)化的內(nèi)部指令兩次一一一次來執(zhí)行優(yōu)化的內(nèi)部指令中的第一指令,并且再次來執(zhí)行該優(yōu)化的內(nèi)部指令中的第二指令。
      [0021]在本公開的實(shí)施例中,為了優(yōu)化而被分析的兩個(gè)或更多內(nèi)部指令可以包括向從存儲(chǔ)器中的位置輸入數(shù)據(jù)和/或從存儲(chǔ)器中的位置輸出數(shù)據(jù)的至少一個(gè)I/o指令以及至少一個(gè)數(shù)據(jù)處理指令,比如用于將數(shù)據(jù)從一個(gè)位置移動(dòng)到另一位置、用于進(jìn)行運(yùn)算功能或者任何其他數(shù)據(jù)處理功能的指令。在本公開的實(shí)施例中,作為I/o指令的對(duì)象的數(shù)據(jù)也可以是數(shù)據(jù)處理指令的對(duì)象。例如,第一內(nèi)部指令可以是將操作數(shù)加載到寄存器的加載指令,并且數(shù)據(jù)處理指令可以是修改或操縱該操作數(shù)的運(yùn)算指令或者任何其他指令。在本說明書和權(quán)利要求書中,數(shù)據(jù)處理指令被定義為修改或操縱操作數(shù)、基于該操作數(shù)進(jìn)行比較或者另外使用該操作數(shù)來產(chǎn)生可能不同于該操作數(shù)的結(jié)果的功能。如所定義的,數(shù)據(jù)處理排除了加載指令,其僅僅將操作數(shù)放置在定義的位置處。
      [0022]根據(jù)本公開的一個(gè)實(shí)施例,該兩個(gè)或更多內(nèi)部指令與精簡(jiǎn)指令集計(jì)算機(jī)(RISC)架構(gòu)兼容。在RISC架構(gòu)中,內(nèi)部指令通常持續(xù)不長(zhǎng)于一個(gè)存儲(chǔ)器周期,并且一個(gè)功能通常被劃分為兩個(gè)內(nèi)部指令:1/0指令和數(shù)據(jù)處理指令。例如,相加功能需要將操作數(shù)加載到寄存器中的加載指令以及將值與操縱數(shù)據(jù)相加并將結(jié)果存儲(chǔ)在寄存器中的相加指令。在本公開的實(shí)施例中,指令優(yōu)化單元12分析一起完成諸如運(yùn)算功能或者將數(shù)據(jù)從一個(gè)位置移動(dòng)到另一位置的功能的單個(gè)RISC功能的兩個(gè)內(nèi)部指令,并且優(yōu)化這兩個(gè)RISC兼容的內(nèi)部指令以形成一個(gè)優(yōu)化的內(nèi)部指令,其可以作為一個(gè)指令被存儲(chǔ)在發(fā)出隊(duì)列10中。
      [0023]圖2例示根據(jù)本公開的一個(gè)實(shí)施例的用于優(yōu)化指令的系統(tǒng)2的物理配置。系統(tǒng)2包括存儲(chǔ)器21和處理器26。存儲(chǔ)器21將操作數(shù)存儲(chǔ)在操作數(shù)存儲(chǔ)器22中,將指令存儲(chǔ)在指令存儲(chǔ)器23中,將數(shù)據(jù)存儲(chǔ)在寄存器24中,并且將內(nèi)部指令存儲(chǔ)在發(fā)出隊(duì)列25中。在本公開的實(shí)施例中,存儲(chǔ)器21可以包括一個(gè)諸如隨機(jī)存取存儲(chǔ)器(RAM)的存儲(chǔ)器芯片、多個(gè)存儲(chǔ)器芯片、諸如易失性存儲(chǔ)器、非易失性存儲(chǔ)器、閃存、高速緩存存儲(chǔ)器的不同類型的存儲(chǔ)器或者任何其他類型的數(shù)據(jù)存儲(chǔ)器。操作數(shù)存儲(chǔ)器22、指令存儲(chǔ)器23、寄存器24和發(fā)出隊(duì)列25可以位于相同類型的存儲(chǔ)器中、相同的儲(chǔ)存器芯片中或者相同的集成電路中??商鎿Q地,操作數(shù)存儲(chǔ)器22、指令存儲(chǔ)器23、寄存器24和發(fā)出隊(duì)列25中的一個(gè)或多個(gè)可以位于與操作數(shù)存儲(chǔ)器22、指令存儲(chǔ)器23、寄存器24和發(fā)出隊(duì)列25中的另一個(gè)不同類型的存儲(chǔ)器中、不同的存儲(chǔ)器芯片中或者不同的集成電路中。例如,盡管指令存儲(chǔ)器23可以包括RAM或只讀存儲(chǔ)器(ROM),發(fā)出隊(duì)列25可以包括高速緩存存儲(chǔ)器。
      [0024]處理器26包括指令執(zhí)行單元27和指令優(yōu)
      當(dāng)前第1頁(yè)1 2 3 4 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1