[發明專利]片上多核處理器系統的高速緩存一致性協議的實現方法有效
| 申請號: | 201110032914.2 | 申請日: | 2011-01-30 |
| 公開(公告)號: | CN102103568A | 公開(公告)日: | 2011-06-22 |
| 發明(設計)人: | 曹非;劉志勇 | 申請(專利權)人: | 中國科學院計算技術研究所 |
| 主分類號: | G06F15/167 | 分類號: | G06F15/167;G06F15/173 |
| 代理公司: | 北京律誠同業知識產權代理有限公司 11006 | 代理人: | 祁建國;梁揮 |
| 地址: | 100080 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 多核 處理器 系統 高速緩存 一致性 協議 實現 方法 | ||
技術領域
本發明涉及微處理器,尤其涉及片上多核處理器(Chip?Multiprocessor,CMP)系統的高速緩存(Cache)一致性協議的實現方法。
背景技術
由于共享存儲CMP系統中,可能出現同一數據的多個版本同時存在于內存和多個處理器的Cache中的情況,如果此時有多個處理器對該數據進行寫操作,則可能出現數據不一致的情況,導致程序執行發生錯誤。Cache一致性協議是一種用于保證多處理器系統各處理器Cache中數據一致性的機制,是影響系統的正確性、性能、功耗和帶寬的關鍵因素。協議可以由軟件或者硬件方法來實現。本發明是一種硬件方法實現的Cache一致性協議,以下所述協議均指硬件實現的協議。
Cache一致性協議通過賦予Cache中數據塊不同的狀態,由數據塊的狀態來決定可以對該數據塊進行的操作(讀或寫),協議規定在遇到不同的本地處理器操作或者協議消息的情況下數據塊的狀態轉換關系和產生應答數據以及協議消息等相關動作,以達到保證寫操作相對于所有的處理器以相同的順序完成的寫一致性條件,并且所寫的新值能及時地傳給其他使用該數據的處理器的寫傳遞條件,從而保證多處理器系統的正確性。
根據對寫操作產生的新值傳遞的時機不同,Cache一致性協議可以分為基于無效的協議和基于更新的協議兩種。基于無效的協議是指當某個處理器發出寫失效請求信號時,其他處理器需要將各自Cache中的對應數據塊置為無效狀態,當這些處理器再次訪問該數據塊時會發生Cache失效,并發出失效請求信號以得到新寫入該數據塊的值。基于更新的協議是指當某個處理器完成寫操作時,將寫入對應數據塊的新值傳給其他Cache中有該數據塊的處理器,并對這些處理器Cache中對應數據塊的值進行更新。基于無效的協議只有在處理器需要用到新寫入的值時才產生數據的傳遞;而基于更新的協議在新值產生的同時就將數據傳給擁有該數據的所有處理器,這些處理器在將來不一定會用到該數據,可能造成互連帶寬的浪費。隨著Cache數據塊的增大,基于更新的協議會造成過多的帶寬消耗。由于基于更新的協議實現寫一致性條件的機制相對于基于無效的協議也更加復雜,因此大量的Cache一致性協議都采用了基于無效的值傳遞方式。本發明是一種采用基于無效的值傳遞方式的協議。以下所述協議均采用基于無效的值傳遞方式。
如圖1所示,以一個簡單的基于無效的MSI協議為例來說明上述的協議狀態轉換關系。圖1中,實線箭頭表示本處理器的訪存操作引起的Cache塊狀態變化,虛線箭頭表示其他處理器訪存失效請求信號引起的狀態變化。圖1中的“/”前邊是引起狀態變化的原因,后邊是狀態變化時需要進行的操作,M(Modified)為已修改狀態,表示本處理器擁有對該狀態數據塊的讀和寫權限。S(Shared)為共享狀態,表示本處理器對該數據塊擁有讀權限。I(Invalid)為無效狀態,表示本處理器Cache中不存在該數據塊。寫失效請求信號會將系統中所有其他處理器Cache中的數據置為I狀態,使得系統中同一數據塊的M態在同一時間僅能出現在某一個處理器的Cache中,同時該數據塊在其他處理器Cache中的狀態都為I,以保證寫一致性和寫傳遞條件。
協議在應用于總線等控制集中的互連結構時,對失效請求信號進行廣播,各處理器對廣播的信號進行偵聽操作。這種各個處理器通過偵聽方式來決定是否提供數據或者進行無效等操作的協議稱為偵聽協議。而協議在應用于分布式互連結構(如mesh、torus等)時,使用目錄結構來記錄各數據的所有者處理器,失效請求首先發送給目錄,由目錄來決定將該請求發送給對應的數據提供者處理器和是否發送無效請求給其他處理器。這種協議稱為目錄協議。
由于總線等控制集中的互連結構可以為所有處理器提供統一的失效信號順序,時序簡單,使得偵聽協議的實現相對簡單;而對失效信號的廣播與偵聽可以直接找到數據提供者,失效延時相對較低。但由于總線等控制集中的互連結構帶寬有限,對失效信號的廣播需要消耗大量帶寬,偵聽協議一般僅用于較小規模的系統,系統規模的可擴展性有限。
由于包交換互連結構控制功能分布,無法為失效信號提供統一的順序,時序復雜,目錄協議的實現相對復雜;對目錄的訪問使得失效延時增加;但目錄的使用避免了對失效信號進行廣播,節約了帶寬,使得系統的規模可擴展。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所,未經中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110032914.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:無錯位結晶板的制造方法及其裝置
- 下一篇:設備安裝的功率出口





