[發(fā)明專利]用于檢測數(shù)據(jù)存取違例的方法和裝置有效
| 申請?zhí)枺?/td> | 200910161170.7 | 申請日: | 2009-08-04 |
| 公開(公告)號: | CN101645034A | 公開(公告)日: | 2010-02-10 |
| 發(fā)明(設計)人: | S·N·澤爾托夫;P·彼得森;馬志強 | 申請(專利權)人: | 英特爾公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F12/08 |
| 代理公司: | 上海專利商標事務所有限公司 | 代理人: | 錢慰民;謝喜堂 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 檢測 數(shù)據(jù) 存取 違例 方法 裝置 | ||
背景
在諸如多線程程序和多處理程序之類的并行程序中的缺陷可能是所有軟 件缺陷中最難測試和診斷的一種。在并行程序中存在一些類型的缺陷,諸如數(shù) 據(jù)競爭和數(shù)據(jù)存取原子性違例。數(shù)據(jù)競爭例如可能發(fā)生在兩個線程——其中至 少一個是寫入——在沒有適當同步的情況下并發(fā)地存取存儲器中的相同數(shù)據(jù) 時。數(shù)據(jù)存取原子性違規(guī)例如可能發(fā)生在與將代碼區(qū)作為原子區(qū)執(zhí)行的預期相 反以非原子方式執(zhí)行該代碼區(qū)時。用于數(shù)據(jù)存取原子性檢測的算法可取決于稱 為存取交織不變量的觀察,其作為程序員關于某些代碼區(qū)的原子性的假設的良 好指示。
附圖簡述
本文描述的發(fā)明在附圖中作為示例而非作為限制示出。為了簡單且清楚地 說明,附圖中的元件不一定是按比例繪制的。例如,為清楚起見一些元件的尺 寸相對其它元件被放大。更進一步地,在認為適當時,附圖標記在附圖中被重 復以指示相應或相似元件。
圖1示出數(shù)據(jù)存取交織的實施例。
圖2示出具有用于檢測數(shù)據(jù)存取違例的裝置的計算機平臺的實施例。
圖3a和3b示出存儲器地址的兩個實施例。
圖4a和4b分別示出高速緩存條目和高速緩存頁的實施例。
圖5示出實際和潛在的數(shù)據(jù)存取違例的實施例。
圖6示出存儲存儲器存取信息的方法的實施例。
圖7示出檢測數(shù)據(jù)存取違例的實施例。
詳細描述
以下描述說明了用于檢測數(shù)據(jù)存取違例的技術。在以下的描述中,闡述了 眾多特定細節(jié),諸如邏輯實現(xiàn)、偽代碼、用于指定操作數(shù)的手段、資源分區(qū)/ 共享/復制實現(xiàn)、系統(tǒng)組件的類型和相互關系、以及邏輯分區(qū)/集成選擇,以便 提供對本發(fā)明更全面的理解。然而,本發(fā)明可在沒有這些特定細節(jié)的情況下實 施。在其它實例中,沒有詳細示出控制結構、門電平電路和全軟件指令序列以 免混淆本發(fā)明。本領域的普通技術人員利用所包括的描述將能夠實現(xiàn)適當功能 性而不需要過多的試驗。
在說明書中對“一個實施例”、“一實施例”、“一示例實施例”等的參 考指示所描述的實施例可包括特定特征、結構或特性,但每個實施例可不必包 括該特定特征、結構或特性。此外,這些短語不一定指代同一實施例。此外, 當結合實施例描述特定特征、結構或特性時,主張結合其它實施例——無論是 否明確描述——實現(xiàn)這些特征、結構或特性在本領域的技術人員的知識范圍 內。
本發(fā)明的實施例可以硬件、固件、軟件或其任何組合實現(xiàn)。本發(fā)明的實施 例還可被實現(xiàn)為存儲在機器可讀介質上的指令,其可由一個或多個處理器讀取 和執(zhí)行。機器可讀介質可包括用于存儲或傳送機器(例如,計算設備)可讀形 式的信息的任何機制。例如,機器可讀介質可包括只讀存儲器(ROM)、隨機 存取存儲器(RAM)、磁盤存儲介質、光存儲介質、閃存設備等。
圖1示出數(shù)據(jù)存取交織的實施例。如圖所示,兩個不同的線程——即當前 線程和可以是不同于當前線程的另一個線程的遠程線程——可存取存儲器中 的同一數(shù)據(jù),例如,從存儲器讀取該數(shù)據(jù)和/或向存儲器寫入同一數(shù)據(jù)。I指令 可表示來自當前線程的當前數(shù)據(jù)存取指令。P指令可表示來自當前線程的在時 間上最接近I指令的先前數(shù)據(jù)存取指令。R指令可表示來自遠程線程的與當前 線程的數(shù)據(jù)存取交織的數(shù)據(jù)存取指令。換言之,R指令可表示在時間上處于來 自當前線程的I指令和P指令之間的遠程數(shù)據(jù)存取指令。
在檢測例如數(shù)據(jù)存取原子性違規(guī)的數(shù)據(jù)存取違規(guī)的常規(guī)方法中,可考慮三 個指令,即I指令、P指令和R指令。下表可示出8類數(shù)據(jù)存取交織,其中 “R”表示讀取且“W”表示寫入。
事例2、3、5和6示出不同類型的數(shù)據(jù)存取原子性違例。
圖2示出具有用于檢測諸如原子性違例的數(shù)據(jù)存取違例的裝置的計算平 臺。應當意識到,圖2的計算平臺能夠檢測其它類型的數(shù)據(jù)存取違例。
計算平臺20可包括一個或多個處理器21、存儲器22以及用于數(shù)據(jù)收發(fā) 和處理的可能其它組件(圖2中未示出)。計算平臺的示例可包括大型計算機、 迷你計算機、個人計算機、工作站、便攜式計算機、膝上型計算機、計算 機群或其它能夠進行數(shù)據(jù)收發(fā)和處理的設備。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英特爾公司,未經(jīng)英特爾公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910161170.7/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:手提電腦鍵盤散熱保護膜
- 下一篇:一種整合精密加工機械與機械手臂的控制裝置
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結構
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





