• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>
    當前位置: 首頁 > 專利查詢>英特爾公司專利>正文

    使用寄存器擴展在中央處理單元中管理和實現元數據制造技術

    技術編號:5072156 閱讀:295 留言:0更新日期:2012-04-11 18:40
    處理器的一組默認寄存器被擴展成計算機系統的處理器上的元數據寄存器。默認寄存器上存儲有數據,而與該數據關聯的元數據單獨存儲在元數據寄存器上。

    【技術實現步驟摘要】

    本領域一般涉及計算科學,更具體地涉及中央處理單元(CPU)中的元數據。
    技術介紹
    諸如C和C++的現代編程語言不使用元數據。諸如指針邊界(例如邊界指的是開 始和結束地址,即分別是指針所指向的對象的下邊界和上邊界)之類的極其重要的元數據 和對象的數據類型在諸如C/C++程序的這些編程語言的執行期間不可用。正在運行的軟件 程序缺少此類元數據通常產生不正確的程序行為,并導致脆弱性。添加元數據的一種常規 手段是將其毗鄰數據本身存儲在存儲器中,以使軟件或硬件能定位到它;然而,這需要存儲 器布局/應用程序二進制接口(ABI)的改變。因此,元數據僅在非常專門的環境中使用,在 該環境中整個軟件需要被重新編譯以遵守修改后的新約定。替代地,軟件在不毗鄰的存儲器位置中存儲數據和元數據,且進一步實現映射功 能以將數據與相應的元數據匹配。在該情況下,數據被載入寄存器,同時相應的元數據被載 入其他現有寄存器。此外,該軟件需要留意該數據與現有寄存器中的元數據之間的關聯,并 對元數據執行必要的傳輸和無效以使其與其相應的數據同步。在該情況下,當數據以寄存 器參數被傳遞至函數時,相應的元數據也需要在寄存器中傳遞。這導致缺少透明性,且必須 對所使用的調用約定進行擴展。此外,該技術的實現因為其對軟件和系統施加的高開銷而 固有地很慢,該高開銷諸如增加的寄存器壓力、元數據傳輸和無效所需的附加指令等,為此 該技術在實際中未被使用。圖1示出具有默認寄存器102的處理器100的簡化圖。諸如通用處理器或專用處 理器的處理器是具有設計成處理程序代碼指令的電子電路系統的半導體芯片。多數處理器 通常包括諸如默認寄存器102的多個共同架構特征。典型的寄存器在處理器上提供少量存 儲空間,以使與存取存儲器的較慢過程相比,可使用該寄存器來存取某些數據;例如,寄存 器可用于存儲指令輸入操作數和指令輸出結果。其他公共架構特征可包括用于本地存儲指令和/或數據的高速緩存、用于從高速 緩存和/或存儲器取出指令的取出電路系統、用于向高速緩存和/或存儲器存儲指令結果 的寫回電路系統。此外,具有寄存器102的處理器100被示為與隨機存取存儲器(RAM) 104 和只讀存儲器(ROM) 106通信。附圖說明本專利技術的實施方式在各附圖中是作為示例而非作為限制示出的,在附圖中相同的 附圖標記表示相同的元素,并且其中圖1示出具有默認寄存器的傳統處理器;圖2示出具有默認寄存器和邊界寄存器的處理器的實施例;圖3示出處理器中的默認寄存器與邊界寄存器耦合的實施例;圖4示出用于使用邊界寄存器作為具有與元數據關聯的數據的默認寄存器的擴展寄存器來管理元數據的過程的實施例;圖5示出用于邊界檢查的過程的實施例;圖6示出用于使用邊界寄存器作為具有與元數據關聯的數據的默認寄存器的擴 展寄存器來管理元數據的過程的實施例;以及圖7示出計算系統的一個實施例。詳細描述圖2示出具有默認(即現有)寄存器202和邊界寄存器204的處理器200的實施 例。在一個實施例中,處理器200被示為具有默認寄存器202和表示默認寄存器的硬件寄 存器擴展的邊界寄存器204。這些邊界寄存器204提供硬件寄存器擴展,用于保存元數據 (例如邊界寄存器204中的邊界),并在相應數據被復制或修改時保持元數據與其相應數據 (例如默認寄存器202中的指針)的關聯,而不存在對默認寄存器202的附加壓力。此外, 通過提供默認寄存器202與邊界寄存器204之間的(隱式或顯式)關聯,這些寄存器202的 調用約定保持相同。被保持在邊界寄存器204處的元數據可由處理器200用于不同目的。 例如,該元數據包括數據類型,且處理器200在對它們進行運算之前可驗證該數據類型。寄存器可包括通用或整數寄存器(用于存儲數據和地址,且被認為是組合的數據 /地址寄存器)和其他寄存器,諸如用戶可存取寄存器、數據寄存器、地址寄存器、條件寄存 器、浮點寄存器、常數寄存器、矢量寄存器、專用寄存器(包括指令寄存器)、模型專用寄存 器、控制和狀態寄存器等。在一個實施例中,整數寄存器與邊界寄存器204關聯,但實施例 不將邊界寄存器204限制于整數寄存器,且可采用任何類型或組合類型的寄存器。寄存器 擴展204保存與寄存器202中的數據相關聯的元數據。在一個實施例中,當(通用)寄存 器202包含存儲器地址(例如指針)時,寄存器擴展204可用于指定使用寄存器202可存 取(加載/存儲)的存儲器地址范圍。寄存器202中的地址可能在其邊界寄存器204中指 定的邊界之外。這些邊界在存儲器存取時被檢查。每個存儲器地址范圍由下邊界和上邊界 (稍后在本文檔中進一步描述和討論)組成。在該情況下,寄存器擴展204稱為邊界寄存 器或寄存器描述符。處理器200進一步包括用于生成或確定存儲器地址的地址生成器單元 206。可利用寄存器202和可任選的其他寄存器(例如英特爾處理器中的變址寄存器和恒 定偏移量)來產生地址。處理器200進一步包括用于比較地址范圍的下邊界和上邊界的地 址比較器(也稱為邊界檢查單元)208,以及用于提供對與處理器200耦合的存儲器以及寄 存器202、204內的存儲介質的存取的存儲器存取單元210。如圖所示,默認寄存器202與地 址生成單元206耦合,而地址生成單元206和邊界寄存器204 二者與地址比較器(計算邏 輯)208耦合,地址比較器208進一步與存儲器存取單元210耦合。處理器200可包含用于 執行如本文檔通篇中描述的實施例的各種任務的其他邏輯、電路以及模塊。取決于所執行 任務的本質,默認寄存器202可包含任意數量和類型的寄存器,諸如通用寄存器、浮點寄存 器等。例如,在涉及指令時,采用了源寄存器和目的地寄存器,且這些寄存器可包括通用寄 存器或浮點寄存器等。因此,指令可通過源寄存器提供,而指令的結果可被放置于目的地寄 存器處;源和目的地寄存器是默認寄存器202的一部分。在一個實施例中,定義新程序指令以創建邊界并將它們存儲于邊界寄存器204 中。該程序指令可以是之前未在程序中定義的全新操作碼,或可以化名為使用之前未使用 的無操作(NOP)指令。傳輸元數據以保持一致性由處理器200針對通常用于指針操縱的指令子集(諸如ADD、SUB、INC、DEC等)隱式地執行,或使用指示傳輸行為的新指令來顯式地 執行。傳輸行為描述了當元數據對應的數據在某些狀況下被修改時處理器200如何保存元 數據,以及當元數據對應的數據在其他狀況下被修改時處理器200如何破壞元數據。因為 在一個實施例中,采用了現有指令的語義來傳輸、保存以及驗證/無效元數據,所以在軟件 程序中不需要附加指令,附加指令可潛在地負面影響程序代碼大小和其性能。在一個實施例中,邊界檢查可應用于任意數量的存儲器指令,且可經由諸如段覆 蓋前綴之類的指令前綴來明確地指定。當指令具有與其默認段相同的段覆蓋前綴時,該指 令可強制執行邊界檢查,而在另一實施例中,可向該指令添加全新的前綴。在未實現該技術 的那些處理器中,默認段前綴是NOP。使用NOP前綴允許軟件在不支持/實現元數據的那些 處理器上在不受益于元數據的情況下正確地工作。在一個實施例中,允許顯式邊界檢查指 令,其中此類指令可具有兩個或多個操作數。例如,在兩操作數形式中,第一操作數用作存 儲本文檔來自技高網...

    【技術保護點】
    一種方法,包括:將第一處理器的默認寄存器擴展成計算機系統的第一處理器上的元數據寄存器,所述默認寄存器上存儲有數據;以及將元數據單獨存儲在所述元數據寄存器上,所述元數據與所述數據相關聯。

    【技術特征摘要】
    ...

    【專利技術屬性】
    技術研發人員:BV帕特爾R古帕拉克里西南AF格魯RJ科什里斯DA范德克JF西胡拉AK瑪里克JB克羅斯蘭G尼格SD羅杰斯MG迪克森MJ查尼J格特里伯
    申請(專利權)人:英特爾公司
    類型:發明
    國別省市:US[美國]

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

    1
    主站蜘蛛池模板: 日韩av无码一区二区三区| 亚洲级αV无码毛片久久精品| 无码精品国产一区二区三区免费| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲Av无码一区二区二三区| 亚洲午夜无码AV毛片久久| 亚洲av日韩av无码av| 国产精品亚洲αv天堂无码| 亚洲AV无码国产精品色| 国产爆乳无码一区二区麻豆| 国产乱人伦中文无无码视频试看| 亚洲AV无码专区在线播放中文| 国产成人无码精品久久久露脸 | 色噜噜综合亚洲av中文无码 | 永久免费av无码网站大全| 潮喷失禁大喷水无码| 在线看片无码永久免费aⅴ| 免费A级毛片无码视频| 国产精品无码专区| a级毛片免费全部播放无码| 曰韩无码无遮挡A级毛片| 免费a级毛片无码a∨蜜芽试看| 久久午夜伦鲁片免费无码| 成人av片无码免费天天看| julia无码人妻中文字幕在线| 亚洲精品无码久久久久牙蜜区| 少妇人妻无码专区视频| 国产成A人亚洲精V品无码性色 | 无码人妻久久久一区二区三区| 国产精品热久久无码av| 亚洲一级特黄无码片| 久久精品无码免费不卡| 久久国产三级无码一区二区| 精品国产毛片一区二区无码| 亚洲区日韩区无码区| 精品无人区无码乱码毛片国产| yy111111少妇影院无码| 国产AV无码专区亚洲A∨毛片| 亚洲精品成人无码中文毛片不卡 | 性虎精品无码AV导航| 免费A级毛片无码免费视|