• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    在回退階段期間合并部分寫結果的系統和方法技術方案

    技術編號:14000071 閱讀:89 留言:0更新日期:2016-11-15 14:16
    一種處理器,包括物理寄存器文件、重命名表、映射邏輯、尺寸跟蹤邏輯和合并邏輯。重命名表映射對應較大索引和較小索引的結構寄存器。映射邏輯檢測部分寫指令,其中部分寫指令所指定的結構寄存器已經被重命名表內的現有條目為先前寫指令標示,且先前寫指令的寫尺寸大于部分寫指令,則映射邏輯分配第一物理寄存器并以第一物理寄存器的第一物理寄存器索引更新現有條目的較小物理寄存器索引位置。如果先前寫指令的寫寸較大,則尺寸跟蹤邏輯為部分寫指令提供合并指示。合并邏輯響應于合并指示在部分寫指令的回退期間合并部分寫指令的結果與第二物理寄存器。

    【技術實現步驟摘要】

    本專利技術一般地涉及解決處理器中所存儲的結果尺寸問題的物理寄存器重命名,以及更加具體地涉及在回退(retire)階段合并后續的部分寫的結果與先前的較大寫的結果。
    技術介紹
    處理器包含一組寄存器以存儲寫操作的結果。由處理器的標準指令集架構(ISA)(比如的x86架構等)的子集執行寫操作。在包括x86的許多架構中,執行寫操作的指令可以引用的一組預定義的結構寄存器(architecture register)中的至少一個用于存儲結果。越來越多新的處理器配置采用了物理寄存器文件(Physical Register File,PRF)重命名方式,其使得處理器設計更簡明和實現更方便的設計擴展。具有PRF重命名的處理器包含用于存儲操作結果的物理寄存器文件(PRF)和用于映射結構寄存器到物理寄存器(physical register)的重命名結構。PRF是一組物理寄存器,每一個使用一組索引或者指針等中的唯一一個來標識。重命名結構將一個指令引用的結構寄存器映射到相應的物理寄存器的索引。在軟件程序或者應用的執行期間,當遇到一個指令,其引用一結構寄存器存儲指令的結果,處理器從物理寄存器索引的“空閑列表”(Freelist)當中分配可用的物理寄存器,附加或者以其他方式分配所選的索引給該指令,并更新重命名結構的一推測性部分以將該結構寄存器映射到所選的物理寄存器。當執行指令時,該索引用于訪問物理寄存器以存儲結果。當回退指令時,該索引可能被移動到該重命名結構的一回退部分(或者另外移動到一不同的重命名結構)以將物理寄存器映射到指定的結構寄存器。該物理到結構寄存器映射可以由后續的讀操作使用直到重寫或者重新定義為止。不需要單獨的一組物理結構寄存器;代替地,僅簡單地將結構標識符等映射到物理寄存器。因為簡單地移動或者重新映射索引而不是必須在寄存器之間移動存儲值,所以PRF重命名方式更有效率。當架構使用允許僅修改整個寄存器的一部分的部分寫操作的復雜操作數尺寸時,會出現定尺寸(sizing)問題。例如,x86架構使用這種復雜操作數尺寸,雖然本專利技術不限于x86架構。作為復雜操作數尺寸的示例,可以執行寫指令以修改64位寄存器的8位、16位、32位或者64位,其中每一較大尺寸合并較小的寫尺寸(因為從寄存器的相同尾部開始引用)。即使引用同一結構寄存器,每一指令也被分配一個單獨的物理寄存器。寫到同一結構寄存器的相同尺寸或者大于在先寫操作的后續寫操作在該系統中被適當地處理,而不用進一步修改。但是,寫到同一結構寄存器的小于在先寫操作的后續寫操作則會造成引用同一結構寄存器的一后續讀操作的問題,因為如果引用同一結構寄存器的讀操作的源大于該后續寫操作,則其沒有保存完整的結果。多源相關技術可以解決該問題,但是需要PRF的讀端口至少加一倍。另一可能的解決方案是在讀指令之前合并物理寄存器中存儲的值,但是這要求在同一周期檢測到發射的指令的所有源,這對于復雜情況可能減小發射帶寬。該初步合并解決方案可能導致另外的無效率且可能強加關鍵的時序問題。
    技術實現思路
    根據一個實施例的處理器包括物理寄存器文件、重命名表、映射邏輯、尺寸跟蹤邏輯和合并邏輯。物理寄存器文件包括多個物理寄存器,每一個由相應的物理寄存器索引標識。重命名表包括多個條目,多個條目中的每個存儲結構標識符、較大物理寄存器索引和較小物理寄存器索引,其中結構標識符標識多個結構寄存器其中之一,其中結構標識符標識多個結構寄存器其中之一。映射邏輯探測部分寫指令,其中部分寫指令所指定的結構寄存器已經被重命名表內的現有條目為先前寫指令標示,且先前寫指令的寫尺寸大于部分寫指令,其中,映射邏輯分配第一物理寄存器并以第一物理寄存器的第一物理寄存器索引更新現有條目的較小物理寄存器索引。如果先前寫指令的寫尺寸大于部分寫指令,則尺寸跟蹤邏輯為部分寫指令設置合并指示。合并邏輯響應于合并指示在部分寫指令的回退期間合并部分寫指令的結果與第二物理寄存器。第二物理寄存器由現有條目的較大物理寄存器索引標識。尺寸跟蹤邏輯可以訪問現有條目的最后寫尺寸位置以確定讀指令是否指定源為映射到先前寫指令和部分寫指令兩者的結構寄存器,其中,最后寫尺寸位置存儲最后寫指令的寫尺寸,其中最后寫指令是先前寫指令和部分寫指令中較晚的一個。如果讀指令的源的尺寸大于最后寫指令的寫尺寸,則尺寸跟蹤邏輯確定讀指令是否指定源為映射到先前寫指令和部分寫指令兩者的結構寄存器。如果尺寸跟蹤邏輯確定讀指令指定源為映射到先前寫指令和部分寫指令兩者的結構寄存器,則尺寸跟蹤邏輯標記讀指令為自串行化并設置讀指令為依賴于先前寫指令。。處理器可以進一步包括重命名切換邏輯,其在部分寫指令回退時將第一物理寄存器變換到回退的非結構狀態,并在先前寫指令回退時將第二物理寄存器變換到回退的結構狀態。重命名切換邏輯可以當后續指令重新映射在重命名表的現有條目中標識的結構寄存器時,回收第一和第二物理寄存器。處理器可以進一步包括部分寫緩沖器,其在部分寫指令的寫回期間存儲部分寫指令的結果,且其中,合并邏輯從部分寫緩沖器讀取部分寫指令的結果。先前寫指令的寫尺寸存儲在現有條目的較大寫尺寸位置中,且其中,映射邏輯訪問較大寫尺寸位置以確定是否更新現有條目的較小物理寄存器索引。此外,先前寫指令的寫尺寸存儲在現有條目的較大寫尺寸位置中,且其中,尺寸跟蹤邏輯訪問較大寫尺寸位置以確定是否提供合并指示。合并指示存儲為用于部分寫指令的重新排序緩沖器的條目中的合并位。一種在處理器中解決尺寸問題的合并部分寫結果的方法,包括:從寄存器文件為第一寫指令分配第一物理寄存器,并且映射第一物理寄存器到結構寄存器;從寄存器文件為引用結構寄存器的第二寫指令分配第二物理寄存器;比較第二寫指令的寫尺寸與第一寫指令的寫尺寸;根據比較的結果映射第二物理寄存器到結構寄存器;如果第二寫指令的寫尺寸小于第一寫指令的寫尺寸,則為第二寫指令提供合并指示;和在第二寫指令回退時,響應于合并指示將第二寫指令的結果合并到第一物理寄存器中。該方法可以包括在用于結構寄存器的重命名表的條目的較大位置中存儲第一索引。該方法可以包括如果第二寫指令的寫尺寸小于第一寫指令的寫尺寸,則在條目的較小位置中存儲第二索引,以及如果第二寫指令的寫尺寸不小于第一寫指令的寫尺寸,則在條目的較大位置中存儲第二索引。該方法可以包括讀取映射到第二寫指令的重命名表的條目中存儲的第二寫指令的尺寸值。該方法可以包括當讀指令指定源為映射到第一寫指令和第二寫指令兩者的結構寄存器時,標記讀指令為自串行化和使得讀指令依賴于第一寫指令。方法可以進一步包括在第二寫指令回退時,將第一物理寄存器轉變到已回退非結構狀態;和在第一寫指令回退時,將第二物理寄存器轉變到已回退結構狀態。該方法可以包括當后續指令重新映射結構寄存器時回收第一和第二物理寄存器。該方法可以進一步包括如果第二寫指令的寫尺寸小于第一寫指令的寫尺寸,則在第二寫指令的寫回期間將第二寫指令的結果存儲到部分寫緩沖器中,并且在合并期間從部分寫緩沖器讀取第二寫指令的結果。該方法可以包括存儲第一寫指令的寫尺寸,以及比較第二寫指令的寫尺寸與所存儲的第一寫指令的寫尺寸。該方法可以包括存儲合并指示為在用于第二寫指令的重新排序緩沖器的條目中的合并位。附圖說明本專利技術的益處、特征和優點將關于以下描述和附圖本文檔來自技高網
    ...

    【技術保護點】
    一種處理器,包括:物理寄存器文件,包括多個物理寄存器,每個由多個物理寄存器索引中的相應一個標識;具有多個條目的重命名表,所述多個條目中的每個存儲結構標識符、較大物理寄存器索引和較小物理寄存器索引,其中所述結構標識符標識多個結構寄存器其中之一;映射邏輯,其探測部分寫指令,其中所述部分寫指令所指定的結構寄存器已經被所述重命名表內的現有條目為先前寫指令標示,且所述先前寫指令的寫尺寸大于所述部分寫指令,其中,所述映射邏輯分配第一物理寄存器并以所述第一物理寄存器的第一物理寄存器索引更新所述現有條目的所述較小物理寄存器索引;尺寸跟蹤邏輯,如果所述先前寫指令的所述寫尺寸大于所述部分寫指令,則為所述部分寫指令設置合并指示;和合并邏輯,響應于所述合并指示在所述部分寫指令的回退期間合并所述部分寫指令的結果與第二物理寄存器,其中,所述第二物理寄存器由所述現有條目的所述較大物理寄存器索引標識。

    【技術特征摘要】
    1.一種處理器,包括:物理寄存器文件,包括多個物理寄存器,每個由多個物理寄存器索引中的相應一個標識;具有多個條目的重命名表,所述多個條目中的每個存儲結構標識符、較大物理寄存器索引和較小物理寄存器索引,其中所述結構標識符標識多個結構寄存器其中之一;映射邏輯,其探測部分寫指令,其中所述部分寫指令所指定的結構寄存器已經被所述重命名表內的現有條目為先前寫指令標示,且所述先前寫指令的寫尺寸大于所述部分寫指令,其中,所述映射邏輯分配第一物理寄存器并以所述第一物理寄存器的第一物理寄存器索引更新所述現有條目的所述較小物理寄存器索引;尺寸跟蹤邏輯,如果所述先前寫指令的所述寫尺寸大于所述部分寫指令,則為所述部分寫指令設置合并指示;和合并邏輯,響應于所述合并指示在所述部分寫指令的回退期間合并所述部分寫指令的結果與第二物理寄存器,其中,所述第二物理寄存器由所述現有條目的所述較大物理寄存器索引標識。2.如權利要求1所述的處理器,其中,所述尺寸跟蹤邏輯訪問所述現有條目的最后寫尺寸位置以確定讀指令是否指定源為映射到所述先前寫指令和所述部分寫指令兩者的所述結構寄存器,其中,所述最后寫尺寸位置存儲最后寫指令的寫尺寸,其中所述最后寫指令是所述先前寫指令和所述部分寫指令中較晚的一個。3.如權利要求2所述的處理器,其中,如果所述讀指令的所述源的尺寸大于所述最后寫指令的所述寫尺寸,則所述尺寸跟蹤邏輯確定所述讀指令是否指定所述源為映射到所述先前寫指令和所述部分寫指令兩者的所述結構寄存器。4.如權利要求1所述的處理器,其中,如果所述尺寸跟蹤邏輯確定讀指令指定源為映射到所述先前寫指令和所述部分寫指令兩者的所述結構寄存器,則所述尺寸跟蹤邏輯標記所述讀指令為自串行化并設置所述讀指令為依賴于所述先前寫指令。5.如權利要求1所述的處理器,進一步包括重命名切換邏輯,其在所述部分寫指令回退時將所述第一物理寄存器變換到回退的非結構狀態,并在所述先前寫指令回退時將所述第二物理寄存器變換到回退的結構狀態。6.如權利要求5所述的處理器,其中,當后續指令重新映射在所述重命名表的所述現有條目中標識的所述結構寄存器時,所述重命名切換邏輯回收所述第一和第二物理寄存器。7.如權利要求1所述的處理器,進一步包括部分寫緩沖器,其在所述部分寫指令的寫回期間存儲所述部分寫指令的所述結果,且其中,所述合并邏輯從所述部分寫緩沖器讀取所述部分寫指令的所述結果。8.如權利要求1所述的處理器,其中,所述先前寫指令的所述寫尺寸存儲在所述現有條目的較大寫尺寸位置中,且其中,所述映射邏輯訪問所述較大寫尺寸位置以確定是否更新所述現有條目的所述較小物理寄存器索引。9.如權利要求1所述的處理器,其中,所述先前寫指令的所述寫尺寸存儲在所...

    【專利技術屬性】
    技術研發人員:費曉龍
    申請(專利權)人:上海兆芯集成電路有限公司
    類型:發明
    國別省市:上海;31

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 妖精色AV无码国产在线看| 精品亚洲AV无码一区二区三区| 人妻少妇看A偷人无码精品| 人禽无码视频在线观看| 最新亚洲人成无码网www电影| 久久精品无码一区二区三区| 亚洲AV色吊丝无码| 日韩精品无码一区二区三区AV| 无码国产精品一区二区免费| 东京热加勒比无码少妇| 人妻精品久久无码区洗澡| 亚洲的天堂av无码| 亚洲国产精品无码成人片久久| 精品无码久久久久久久久水蜜桃 | 无码成A毛片免费| 国产高清不卡无码视频| 亚洲精品无码成人| 亚洲中文字幕无码av在线| 国产色爽免费无码视频| 无码AV一区二区三区无码| 无码一区二区三区在线| 伊人久久一区二区三区无码| 免费人妻无码不卡中文字幕系| 久久久无码精品亚洲日韩软件| 国产精品无码MV在线观看| 中文字幕人成无码免费视频| 亚洲AV永久无码精品一百度影院| 波多野结AV衣东京热无码专区| 无码免费又爽又高潮喷水的视频 | 日产无码1区2区在线观看| 一本天堂ⅴ无码亚洲道久久 | 国产精品无码v在线观看| 国产精品无码一区二区三区毛片| 亚洲日韩av无码中文| 亚洲精品无码av中文字幕| 国产成人无码A区精油按摩| 国产精品无码一本二本三本色| 国内精品久久人妻无码不卡| 亚洲v国产v天堂a无码久久| 中文字幕人妻无码专区| 亚洲中文字幕在线无码一区二区|