[發(fā)明專利]微處理器中精確數(shù)據(jù)斷點(diǎn)的實(shí)現(xiàn)裝置及其方法有效
| 申請(qǐng)?zhí)枺?/td> | 201010034464.6 | 申請(qǐng)日: | 2010-01-21 |
| 公開(公告)號(hào): | CN101777021A | 公開(公告)日: | 2010-07-14 |
| 發(fā)明(設(shè)計(jì))人: | 汪文祥;李祖松;徐翠萍;郝守青 | 申請(qǐng)(專利權(quán))人: | 北京龍芯中科技術(shù)服務(wù)中心有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京市隆安律師事務(wù)所 11323 | 代理人: | 史霞 |
| 地址: | 100080北*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 微處理器 精確 數(shù)據(jù) 斷點(diǎn) 實(shí)現(xiàn) 裝置 及其 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于微處理器技術(shù)領(lǐng)域,特別涉及一種微處理器中數(shù)據(jù)斷點(diǎn)的實(shí)現(xiàn)裝置及其方法。
背景技術(shù)
隨著計(jì)算機(jī)上的軟件系統(tǒng)的規(guī)模日益擴(kuò)大,軟件系統(tǒng)的開發(fā)難度也大大增加,軟件調(diào)試 工作作為軟件開發(fā)過程中的重要一環(huán),其效率的提升成為計(jì)算機(jī)系統(tǒng)開發(fā)所關(guān)注的重要問題。 在計(jì)算機(jī)系統(tǒng)底層硬件對(duì)軟件調(diào)試所提供的支持將能大大提升軟件調(diào)試工作的效率,因此現(xiàn) 代處理器硬件都對(duì)軟件調(diào)試給予特殊的支持。例如ARM處理器的JTAG調(diào)試接口、MIPS處 理器的EJTAG調(diào)試接口。通過這些接口,軟件可以直接控制底層硬件執(zhí)行諸如:單步執(zhí)行、 指令斷點(diǎn)、數(shù)據(jù)斷點(diǎn)等功能。
對(duì)于數(shù)據(jù)斷點(diǎn)功能而言,軟件調(diào)試人員將待觀察的地址和數(shù)據(jù)告知處理器,處理器自動(dòng) 監(jiān)測所有的數(shù)據(jù)訪問操作。當(dāng)發(fā)現(xiàn)訪問操作的地址與待觀察的地址相同時(shí),則處理器停止正 常執(zhí)行,進(jìn)入調(diào)試模式,交由軟件做進(jìn)一步處理。在有的情況下,觀察數(shù)據(jù)斷點(diǎn)不僅要看訪 問的地址是否匹配,還要看訪問的數(shù)據(jù)是否為待觀察的數(shù)據(jù)。軟件在調(diào)試模式下完成相關(guān)處 理器后,將處理器設(shè)置回正常執(zhí)行模式繼續(xù)執(zhí)行。通常軟件希望硬件提供的是精確的斷點(diǎn)的 功能。
所謂精確斷點(diǎn)是指處理器由調(diào)試模式返回正常模式時(shí),返回到報(bào)告斷點(diǎn)匹配的那條指令 上。但是在實(shí)現(xiàn)了亂序調(diào)度的處理器中,精確的斷點(diǎn)會(huì)使得設(shè)計(jì)復(fù)雜度提升,因?yàn)樵谌?shù)操 作的結(jié)果返回用于判斷斷點(diǎn)是否匹配的時(shí)候,位于這條指令之后的指令可能已經(jīng)執(zhí)行。為了 在這種情況下實(shí)現(xiàn)精確數(shù)據(jù)斷點(diǎn),通常的技術(shù)方案是將所有指令對(duì)處理器狀態(tài)的修改都安排 到指令提交之后進(jìn)行,這樣做的代價(jià)是需要花費(fèi)大量存儲(chǔ)資源用于存放所有指令對(duì)處理器狀 態(tài)的修改信息,特別是對(duì)于訪存指令,需要保存更多的相關(guān)內(nèi)容。因此,現(xiàn)有的技術(shù)不足導(dǎo) 致需要設(shè)計(jì)更加簡潔高效的裝置來實(shí)現(xiàn)微處理器中的精確數(shù)據(jù)斷點(diǎn)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種微處理器中精確數(shù)據(jù)斷點(diǎn)的實(shí)現(xiàn)裝置及其方法,在保證處理器 流水線基本結(jié)構(gòu)不變的同時(shí),以簡潔高效的方式實(shí)現(xiàn)了處理器中的精確數(shù)據(jù)斷點(diǎn)。
為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
一種微處理器中精確數(shù)據(jù)斷點(diǎn)的實(shí)現(xiàn)裝置,包括:
斷點(diǎn)配置部件,用于保存一條或多條斷點(diǎn)配置信息;
斷點(diǎn)匹配判定部件,用于判斷訪存指令是否與所述斷點(diǎn)配置部件中保存的斷點(diǎn)配置信息 相匹配,并將判定結(jié)果保存于訪存指令執(zhí)行的狀態(tài)域中;
斷點(diǎn)觸發(fā)部件,用于檢查訪存指令的狀態(tài)域,當(dāng)判定結(jié)果為匹配時(shí),暫停處理器的正常 執(zhí)行狀態(tài),進(jìn)入調(diào)試狀態(tài)。
進(jìn)一步地,所述斷點(diǎn)配置部件中的所述斷點(diǎn)配置信息以全相聯(lián)查找表的形式組織成斷點(diǎn) 配置信息表,該表的每一項(xiàng)對(duì)應(yīng)一條斷點(diǎn)配置信息。
進(jìn)一步地,每條所述斷點(diǎn)配置信息包括一斷點(diǎn)內(nèi)容信息和一斷點(diǎn)控制信息,其中:
所述斷點(diǎn)內(nèi)容信息,用于保存待觀測斷點(diǎn)的信息,其包括:
一數(shù)據(jù)訪問地址域,用于存放待觀測斷點(diǎn)的地址;
一地址掩碼域,對(duì)應(yīng)訪問的地址,用于表示對(duì)應(yīng)的地址位是否參與斷點(diǎn)匹配比較;
一數(shù)據(jù)訪問數(shù)值域,用于存放待觀測斷點(diǎn)的數(shù)值;
一數(shù)值掩碼域,對(duì)應(yīng)訪問的數(shù)值,用于表示對(duì)應(yīng)的數(shù)值位是否參與斷點(diǎn)匹配比較;
所述斷點(diǎn)控制信息,用于控制斷點(diǎn)匹配過程,其包括:
一使能控制域,用于控制斷點(diǎn)配置信息是否參與斷點(diǎn)匹配比較;
一匹配模式域,用于控制斷點(diǎn)匹配比較方式是僅對(duì)地址進(jìn)行匹配比較還是對(duì)地址和數(shù)值 同時(shí)進(jìn)行匹配比較;
一地址模式域,用于標(biāo)識(shí)該斷點(diǎn)配置信息的地址信息對(duì)應(yīng)的是待觀測訪問的虛地址還是 物理地址。
本發(fā)明還提供一種微處理器中精確數(shù)據(jù)斷點(diǎn)的實(shí)現(xiàn)方法,依次包括以下步驟:
A、斷點(diǎn)配置步驟,用于保存一條或多條斷點(diǎn)配置信息;
B、斷點(diǎn)匹配判定步驟,用于判斷訪存指令是否與所述斷點(diǎn)配置信息相匹配,并將判定結(jié) 果保存于訪存指令執(zhí)行的狀態(tài)域中;
C、斷點(diǎn)觸發(fā)步驟,用于檢查訪存指令的狀態(tài)域,當(dāng)判定結(jié)果為匹配時(shí),暫停處理器的正 常執(zhí)行狀態(tài),進(jìn)入調(diào)試狀態(tài)。
進(jìn)一步地,所述步驟A中的所述斷點(diǎn)配置信息以全相聯(lián)查找表的形式組織成斷點(diǎn)配置信 息表,該表的每一項(xiàng)對(duì)應(yīng)一條斷點(diǎn)配置信息。
進(jìn)一步地,每條所述斷點(diǎn)配置信息包括一斷點(diǎn)內(nèi)容信息和一斷點(diǎn)控制信息,其中:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京龍芯中科技術(shù)服務(wù)中心有限公司,未經(jīng)北京龍芯中科技術(shù)服務(wù)中心有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010034464.6/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(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ù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(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è)備、數(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)裝置





