欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

實(shí)時(shí)監(jiān)測(cè)處理器內(nèi)部狀態(tài)的裝置的制作方法

文檔序號(hào):6561232閱讀:155來源:國(guó)知局
專利名稱:實(shí)時(shí)監(jiān)測(cè)處理器內(nèi)部狀態(tài)的裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種實(shí)時(shí)監(jiān)測(cè)處理器內(nèi)部狀態(tài)的裝置。
背景技術(shù)
隨著微處理器技術(shù)和微電子加工技術(shù)的不斷發(fā)展,微處理器芯片(以 下所述芯片均指微處理器芯片)規(guī)模和復(fù)雜程度不斷提高,使得芯片測(cè)試
時(shí)間大幅度增加;雖然芯片封裝的引腳有所增加,但用于外部測(cè)試的引腳 卻相對(duì)減少,芯片內(nèi)部邏輯的測(cè)試難度不斷增大;另外昂貴的測(cè)試設(shè)備使 得測(cè)試成本隨芯片的復(fù)雜程度呈指數(shù)率增加。為此,人們逐漸認(rèn)識(shí)到可測(cè) 性設(shè)計(jì)(DFT: Design-For-Test)思想的重要性,即采用邏輯設(shè)計(jì)與測(cè)試 設(shè)計(jì)相結(jié)合的模式,在設(shè)計(jì)人員進(jìn)行芯片邏輯設(shè)計(jì)的同時(shí)便考慮可測(cè)性的 要求??蓽y(cè)性設(shè)計(jì)包括可控性和可觀察性兩部分可控性是研究和描述芯 片原始輸入對(duì)芯片內(nèi)部節(jié)點(diǎn)邏輯的控制作用;可觀察性是描述芯片內(nèi)部節(jié) 點(diǎn)發(fā)生故障時(shí)在芯片原始輸出端可以觀察到的可能性。傳統(tǒng)的可測(cè)性設(shè)計(jì) 包括掃描通路設(shè)計(jì)、內(nèi)建自測(cè)試設(shè)計(jì)、邊界掃描測(cè)試設(shè)計(jì)等技術(shù)。這些技 術(shù)在芯片的初期調(diào)試中發(fā)揮了非常重要的作用,但隨著調(diào)試強(qiáng)度的進(jìn)一步 增加,從芯片原始輸入端加入的控制點(diǎn)很難覆蓋整個(gè)芯片的所有功能,而 且可測(cè)性設(shè)計(jì)是否成功直接依賴于大量測(cè)試電路的正確性和完備性。因 此,傳統(tǒng)的可測(cè)性設(shè)計(jì)技術(shù)在實(shí)際應(yīng)用中還存在一定的缺陷,有待進(jìn)一步 完善。
在芯片調(diào)試的后期,為了加強(qiáng)芯片測(cè)試的力度,微處理器芯片需要進(jìn) 入實(shí)際運(yùn)行模式,通過加載操作系統(tǒng),運(yùn)行各種測(cè)試程序,以此來快速覆 蓋處理器的所有功能。在芯片運(yùn)行過程中,芯片調(diào)試者希望能在不打擾微 處理器工作的前提下,通過增加少量的硬件電路,實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)微處理器 內(nèi)部第一現(xiàn)場(chǎng)的一些關(guān)鍵狀態(tài),以此來判斷芯片是否處于正常狀態(tài)。當(dāng)芯 片遇到故障時(shí),微處理器內(nèi)部的狀態(tài)信息可以幫助調(diào)試者快速判斷故障區(qū) 域和故障類型,然后再利用傳統(tǒng)的掃描通路獲得更加詳細(xì)的故障信息。芯 片調(diào)試者通過比較實(shí)時(shí)監(jiān)測(cè)得到的微處理器內(nèi)部信息與傳統(tǒng)的掃描通路 信息,實(shí)現(xiàn)兩種測(cè)試電路的正確性校驗(yàn)。由此可見,微處理器內(nèi)部狀態(tài)的 實(shí)時(shí)可觀察性即彌補(bǔ)了傳統(tǒng)可測(cè)性技術(shù)的缺陷,又保證了傳統(tǒng)可測(cè)性電路 的正確性。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)裝 置,在芯片處于實(shí)際運(yùn)行模式時(shí),支持對(duì)其內(nèi)部狀態(tài)的實(shí)時(shí)可觀察性。
為解決上述技術(shù)問題,本發(fā)明的實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)的裝置采 用如下技術(shù)方案實(shí)現(xiàn)該裝置包括微處理器內(nèi)部的狀態(tài)監(jiān)測(cè)器、外部系統(tǒng) 中的監(jiān)測(cè)信號(hào)采集器和前端PC機(jī),其中在所述微處理器中,加入多個(gè)
或多級(jí)局部監(jiān)測(cè)器和一個(gè)全局監(jiān)測(cè)器,將所述微處理器內(nèi)部狀態(tài)信息以固 定周期循環(huán)串行輸出到一位監(jiān)測(cè)狀態(tài)輸出端口上;所述的監(jiān)測(cè)信號(hào)采集 器,在所述的微處理器的監(jiān)測(cè)狀態(tài)輸出端口上采集信號(hào),并通過移位寄存 器,拼接為具有實(shí)際意義的處理器內(nèi)部狀態(tài)信息,最終顯示在前端PC機(jī)上。采用本發(fā)明的實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)裝置,不影響微處理器內(nèi)部 其他電路的工作狀態(tài),它能實(shí)時(shí)跟蹤微處理器的運(yùn)行狀態(tài),幫助芯片調(diào)試 者及時(shí)判斷微處理器是否發(fā)生故障。當(dāng)微處理器遇到故障停止不前時(shí),還 可以為芯片調(diào)試者提供故障點(diǎn)現(xiàn)場(chǎng)信息或者離故障點(diǎn)最近的現(xiàn)場(chǎng)信息,為 故障分析和定位提供可靠的保障。


下面結(jié)合附圖與具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明 圖1是本發(fā)明實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)裝置的結(jié)構(gòu)框圖; 圖2是本發(fā)明中局部監(jiān)測(cè)器的結(jié)構(gòu)框圖; 圖3是本發(fā)明中全局監(jiān)測(cè)器的結(jié)構(gòu)框圖; 圖4是本發(fā)明中全局監(jiān)測(cè)器的狀態(tài)轉(zhuǎn)換示意圖; 圖5是本發(fā)明中局部監(jiān)測(cè)器和全局監(jiān)測(cè)器中各種時(shí)鐘、計(jì)數(shù)器和輸出 信號(hào)的時(shí)序關(guān)系圖。
具體實(shí)施例方式
如圖1所示,本發(fā)明的實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)的裝置包括在微處 理器中加入的多個(gè)或多級(jí)局部監(jiān)測(cè)器和一個(gè)全局監(jiān)測(cè)器,在外部系統(tǒng)中配 置一個(gè)監(jiān)測(cè)信號(hào)采集器和一臺(tái)前端PC機(jī)。將微處理器內(nèi)部狀態(tài)信息以固 定周期循環(huán)串行輸出到一位監(jiān)測(cè)狀態(tài)輸出端口上,外部系統(tǒng)配置一個(gè)監(jiān)測(cè) 信號(hào)采集器,在微處理器的監(jiān)測(cè)狀態(tài)輸出端口上采集信號(hào),并通過移位寄 存器,拼接為具有實(shí)際意義的處理器內(nèi)部狀態(tài)信息,最終顯示在前端PC 機(jī)上。
需要監(jiān)測(cè)的狀態(tài)信息是處理器內(nèi)部的一系列觸發(fā)器的輸出,它們分布
在芯片內(nèi)不同的物理位置,為了減少連線和傳輸延遲,需要根據(jù)這些觸發(fā) 器所在的物理位置進(jìn)行區(qū)域劃分,將某一區(qū)域內(nèi)的監(jiān)測(cè)狀態(tài)先用局部監(jiān)測(cè) 器進(jìn)行收集,最后匯集到全局監(jiān)測(cè)器中。根據(jù)監(jiān)測(cè)狀態(tài)的數(shù)量和分布范圍, 可以設(shè)置多級(jí)局部監(jiān)測(cè)器,將前一級(jí)局部監(jiān)測(cè)器的監(jiān)測(cè)狀態(tài)輸出作為后一 級(jí)局部監(jiān)測(cè)器的狀態(tài)輸入。為了不影響芯片正常的工作頻率,同時(shí)增強(qiáng)狀 態(tài)監(jiān)測(cè)的穩(wěn)定性,所有局部監(jiān)測(cè)器內(nèi)部進(jìn)行的狀態(tài)選擇和監(jiān)測(cè)器之間的狀 態(tài)傳輸都必須采用統(tǒng)一的監(jiān)測(cè)時(shí)鐘。全局監(jiān)測(cè)器利用外部系統(tǒng)工作時(shí)鐘和 微處理器工作時(shí)鐘生成監(jiān)測(cè)時(shí)鐘,然后傳遞給所有的局部監(jiān)測(cè)器,監(jiān)測(cè)時(shí)
鐘總周期為4個(gè)外部系統(tǒng)工作時(shí)鐘周期,高電平的寬度為一個(gè)處理器工作 時(shí)鐘周期,低電平的寬度為三個(gè)處理器工作時(shí)鐘周期。微處理器工作時(shí)鐘 與外部系統(tǒng)工作時(shí)鐘的頻率關(guān)系可調(diào),微處理器工作時(shí)鐘至少是外部系統(tǒng) 工作時(shí)鐘的4倍頻。
下面結(jié)合實(shí)施例詳細(xì)說明本發(fā)明中局部監(jiān)測(cè)器、全局監(jiān)測(cè)器和監(jiān)測(cè)信 號(hào)采集器的實(shí)現(xiàn)方法。
如圖2所示,局部監(jiān)測(cè)器的輸入包括:一個(gè)微處理器工作時(shí)鐘(GClk), 一個(gè)監(jiān)測(cè)時(shí)鐘(localObsClk),以及局部范圍內(nèi)需要監(jiān)測(cè)的內(nèi)部狀態(tài)信息
(LocalStateO、 LocalStatel、 ......、 LocalStatei ),每個(gè)狀態(tài)信息分別
為N0、 Nl、……、Ni位。局部監(jiān)測(cè)器的輸出為一位的局部狀態(tài)監(jiān)測(cè)信號(hào) (localStateOut)。局部監(jiān)測(cè)器內(nèi)部包括 一些同步觸發(fā)器、 一個(gè)局部飽 和計(jì)數(shù)器(LocalCounterN)和一個(gè)局部多路選擇器(LocalMux)。
局部監(jiān)測(cè)器的部分輸入信號(hào)需要先進(jìn)行同步處理,用GClk將其他輸 入信號(hào)寄存到觸發(fā)器中,包括localObsClk 、 LocalStateO 、
LocalStatel 、 ......、 LocalStatei信號(hào),寄存之后的信號(hào)分別為
localObsClk—t、 LocalStateO—t、 LocalStatel一t、 ......、 LocalStatei—t信號(hào)。
局部監(jiān)測(cè)器內(nèi)部的局部飽和計(jì)數(shù)器aocalCounterN),計(jì)數(shù)方式如下
(1) 以GClk上升沿作為觸發(fā)條件;
(2) 復(fù)位時(shí)局部飽和計(jì)數(shù)器置為"0";
(3) 如果localObSClk_t為"1",則局部飽和計(jì)數(shù)器加"1";
(4) 如果局部飽和計(jì)數(shù)器加1等于"N",則置局部飽和計(jì)數(shù)器為"O";
(5) "N"為需要監(jiān)測(cè)的所有狀態(tài)信息的位數(shù)之和,即N = N0+ Nl +……+ Ni。
局部監(jiān)測(cè)器內(nèi)部的局部選擇器(LocalMux),輸入端分別為
LocalStateO—t、 LocalStatel—t、 ......、 LocalStatei—t,并約定串行輸
出的順序?yàn)長(zhǎng)ocalStateO—t[O] 、 LocalStateO—t [1]、......、
LocalStateO—t [NO—1]、 LocalStatel—t
、 LocalStatel—t [1]、......、
LocalStatel—t[Nl—1]、 ...... 、 LocalStatei_t
、
LocalStatei—t[l]、 ......、 LocalStatei_t [Ni — l]。局部多路選擇器的工
作方式如下以局部飽和計(jì)數(shù)器的值作為選擇端,值為"0"時(shí)選擇 LocalState0_t
,為"1"時(shí)選擇LocalStateO—t [1],……,為"NO"
時(shí)選擇LocalStatel—t[O],為"N0+1"時(shí)選擇LocalStatel—t [1],......,
為"N0+N1 + ...... + Ni — l"時(shí)選擇LocalStatei—t[Ni — l]。局部
多路選擇器的輸出直接作為局部監(jiān)測(cè)器的輸出(localStateOut),由于局 部飽和計(jì)數(shù)器的值在"0"到"N—1"之間循環(huán),因此局部多路選擇器能
以N為周期,按約定順序,循環(huán)輸出該監(jiān)測(cè)器所監(jiān)測(cè)的所有內(nèi)部狀態(tài)信息。
局部監(jiān)測(cè)器通常放置在離監(jiān)測(cè)點(diǎn)比較近的地方,可以根據(jù)調(diào)試的需要
設(shè)置多級(jí)局部監(jiān)測(cè)器,上一級(jí)的局部監(jiān)測(cè)器的狀態(tài)輸出(localStateOutj) 作為下一級(jí)局部監(jiān)測(cè)器的狀態(tài)輸入(LocalStatej)。雖然LocalStatej 只有一位,但它實(shí)際包含了上一級(jí)監(jiān)測(cè)的多位信息(Nj位),所以在下一 級(jí)局部監(jiān)測(cè)器的計(jì)數(shù)和多路選擇中應(yīng)作為Nj位信息來處理。由于 localStateOutj是Nj位狀態(tài)信息的循環(huán)輸出,為了保證下一級(jí)監(jiān)測(cè)器每 次選擇輸出localStateOut j時(shí)都能從第0位開始,所以要求下一級(jí)監(jiān)測(cè) 器中的計(jì)數(shù)周期必須是Nj的整數(shù)倍。
如圖3所示,全局監(jiān)測(cè)器的輸入包括 一個(gè)微處理器復(fù)位信號(hào)
(Reset—N)、一個(gè)微處理器工作時(shí)鐘(GClk)、一個(gè)系統(tǒng)工作時(shí)鐘(SynClk)、 以及上一級(jí)局部監(jiān)測(cè)器的狀態(tài)輸出(localStateOutO 、 localStateOutl 、……、localStateOutk)。全局監(jiān)測(cè)器的輸出包括一 個(gè)局部監(jiān)測(cè)時(shí)鐘(LocalObsClk )和 一 位全局狀態(tài)監(jiān)測(cè)信號(hào)
(GlobalStateOut),該信號(hào)將作為芯片總的狀態(tài)監(jiān)測(cè)信號(hào),連接到輸出 端口。全局監(jiān)測(cè)器的內(nèi)部包括多個(gè)同步觸發(fā)器、 一個(gè)全局有限狀態(tài)機(jī)
(GlobalFSM)、 一個(gè)全局飽和計(jì)數(shù)器(GlobalCounterM)、 一個(gè)全局狀態(tài) 多路選擇器(GlobalStateMux )、 一個(gè)全局輸出多路選擇器
(GlobalOutMux)。
系統(tǒng)工作時(shí)鐘為芯片外部系統(tǒng)進(jìn)行狀態(tài)采樣的時(shí)鐘,與微處理器工作 時(shí)鐘具有同步關(guān)系,只是頻率不同,兩者的頻率關(guān)系是可配置的,微處理 器工作時(shí)鐘至少為系統(tǒng)工作時(shí)鐘的4倍頻。全局監(jiān)測(cè)器內(nèi)部的全局有限狀態(tài)機(jī)(GlobalFSM),用于控制監(jiān)測(cè)時(shí)鐘 的產(chǎn)生和監(jiān)測(cè)狀態(tài)的選擇。全局有限狀態(tài)機(jī)包含7個(gè)不同的狀態(tài),分別計(jì) 為T0、 Tl、 T2、 T3、 T4、 T5、 T6,狀態(tài)轉(zhuǎn)換以系統(tǒng)工作時(shí)鐘的上升沿作 為觸發(fā)條件。狀態(tài)轉(zhuǎn)換示意圖見圖4,具體的轉(zhuǎn)換方式如下.-
(1) 處理器開始進(jìn)行復(fù)位時(shí),Reset_N信號(hào)為"0",全局有限狀態(tài) 機(jī)下一拍進(jìn)入TO狀態(tài);
(2) 全局有限狀態(tài)機(jī)當(dāng)拍處于TO狀態(tài),當(dāng)初始化程序(SROM)加載完 成,SromOE—N信號(hào)從"1"變?yōu)?0"時(shí),全局有限狀態(tài)機(jī)下一拍進(jìn)入Tl 狀態(tài);
(3) 全局有限狀態(tài)機(jī)當(dāng)拍處于Tl狀態(tài),維持4個(gè)系統(tǒng)工作時(shí)鐘周期 后,全局有限狀態(tài)機(jī)下一拍進(jìn)入T2狀態(tài);
(4) 全局有限狀態(tài)機(jī)當(dāng)拍處于T2狀態(tài),維持4個(gè)系統(tǒng)工作時(shí)鐘周期 后,或T6狀態(tài)維持1個(gè)系統(tǒng)工作時(shí)鐘周期后,全局有限狀態(tài)機(jī)下一拍進(jìn) 入T3狀態(tài);
(5) 全局有限狀態(tài)機(jī)當(dāng)拍處于T3狀態(tài),維持1個(gè)系統(tǒng)工作時(shí)鐘周期 后,全局有限狀態(tài)機(jī)下一拍進(jìn)入T4狀態(tài);
(6) 全局有限狀態(tài)機(jī)當(dāng)拍處于T4狀態(tài),維持1個(gè)系統(tǒng)工作時(shí)鐘周期 后,全局有限狀態(tài)機(jī)下一拍進(jìn)入T5狀態(tài);
(7) 全局有限狀態(tài)機(jī)當(dāng)拍處于T5狀態(tài),維持1個(gè)系統(tǒng)工作時(shí)鐘周期 后,全局有限狀態(tài)機(jī)下一拍進(jìn)入T6狀態(tài)。
全局監(jiān)測(cè)器利用微處理器工作時(shí)鐘和全局有限狀態(tài)機(jī)產(chǎn)生局部監(jiān)測(cè) 器使用的監(jiān)測(cè)時(shí)鐘(LocalObsClk),具體生成步驟如下
(1) 根據(jù)全局有限狀態(tài)機(jī)生成ObsClkSrc信號(hào)如果全局有限狀態(tài) 機(jī)處于T3狀態(tài),則為ObsClkSrc信號(hào)"1",否則為"0";
(2) 用微處理器工作時(shí)鐘將ObsClkSrc信號(hào)寄存到觸發(fā)器中,形成 ObsClkSrcO信號(hào);
(3) 用微處理器工作時(shí)鐘將0bsClkSrc0信號(hào)寄存到觸發(fā)器中,形成 ObsClkSrcl信號(hào);
(4) 用微處理器工作時(shí)鐘將ObsClkSrcl信號(hào)寄存到觸發(fā)器中,形成 0bsClkSrc2信號(hào);
(5) 用ObsClkSrcl信號(hào)與上ObsClkSrc2信號(hào)的非,形成ObsClk
信號(hào);
(6) 用微處理器工作時(shí)鐘將ObsClk信號(hào)信號(hào)寄存到觸發(fā)器中,形成 LocalObsClk信號(hào),并連接到輸出端口。
全局監(jiān)測(cè)器中的全局飽和計(jì)數(shù)器(GlobalCounterM),其計(jì)數(shù)方法如

(1) 全局飽和計(jì)數(shù)器以系統(tǒng)工作時(shí)鐘上升沿作為觸發(fā)條件;
(2) 微處理器復(fù)位時(shí),全局飽和計(jì)數(shù)器置為"0";
(3) 如果全局有限狀態(tài)機(jī)處于T4狀態(tài),則全局飽和計(jì)數(shù)器加"1";
(4) 如果全局飽和計(jì)數(shù)器加1等于"M",則全局飽和計(jì)數(shù)器恢復(fù)到
"0";
(5) M等于所有輸入的局部監(jiān)測(cè)器所監(jiān)測(cè)的狀態(tài)信息位數(shù)之和,且
是任意局部監(jiān)測(cè)器所監(jiān)測(cè)的狀態(tài)信息位數(shù)的整數(shù)倍,假設(shè) localStateOutO 、 localStateOutl 、 ......、 localStateOutk所監(jiān)測(cè)的
狀態(tài)信息位數(shù)分別為MO、 Ml、 ......、 Mk,則M二M0+M1十……+Mk,且M
是MO、 Ml、 、 Mk的整數(shù)倍。
全局監(jiān)測(cè)器內(nèi)部設(shè)置的全局狀態(tài)選擇器(GlobalStateMux),輸入分
別為localStateOutO 、 localStateOutl 、 ......、 localStateOutk。約
定串行輸出的順序?yàn)閘ocalStateOutO第0位監(jiān)測(cè)狀態(tài)、localStateOutO 第1位監(jiān)測(cè)狀態(tài)、……、localStateOutO第M0 —1位監(jiān)測(cè)狀態(tài)、
localStateOutl第0位監(jiān)測(cè)狀態(tài)、localStateOut 1第1位監(jiān)測(cè)狀態(tài)、......、
localStateOutl第M1 — 1位監(jiān)測(cè)狀態(tài)、......、localStateOutk第0位監(jiān)
測(cè)狀態(tài)、localStateOutk第1位監(jiān)測(cè)狀態(tài)、......、localStateOutk第Mk
一1位監(jiān)測(cè)狀態(tài)。全局多路選擇器的工作方式如下以全局飽和計(jì)數(shù)器的 值作為選擇端,當(dāng)值在"0"到"M0—1"之間時(shí)選擇LocalStateOutO, 在"M0"到"M0+M1 — 1"之間時(shí)選擇LocalStateOutl,以此類推。由于 全局飽和計(jì)數(shù)器的值在"0"到"M—1"之間循環(huán),因此全局多路選擇器 能以M為周期,按約定順序,循環(huán)輸出所有局部監(jiān)測(cè)器所監(jiān)測(cè)的內(nèi)部狀態(tài) 信息。
全局監(jiān)測(cè)器內(nèi)部設(shè)置的全局輸出選擇器(Global0utMux),其輸出將 作為全局狀態(tài)監(jiān)測(cè)信號(hào)(GlobalStateOut)連接到輸出端,具體的形成過 程如下
(1) 如果全局有限狀態(tài)機(jī)處于T1狀態(tài),則全局狀態(tài)監(jiān)測(cè)信號(hào)為"0" (維持4個(gè)系統(tǒng)工作時(shí)鐘周期);
(2) 如果全局有限狀態(tài)機(jī)處于T2狀態(tài),則全局狀態(tài)監(jiān)測(cè)信號(hào)為"l" (維持4個(gè)系統(tǒng)工作時(shí)鐘周期),4個(gè)連續(xù)的"0"和4個(gè)連續(xù)的"1"將
作為外部系統(tǒng)開始監(jiān)測(cè)的標(biāo)志;
(3)如果全局有限狀態(tài)機(jī)處于T3狀態(tài),則全局狀態(tài)監(jiān)測(cè)信號(hào)等于全
局狀態(tài)多路器的輸出信號(hào);
(5)如果全局有限狀態(tài)機(jī)處于T4、 T5、 T6狀態(tài),則全局狀態(tài)監(jiān)測(cè)信
號(hào)保持上一拍的值不變。
監(jiān)測(cè)信號(hào)采集器利用外部系統(tǒng)工作時(shí)鐘,在微處理器芯片的監(jiān)測(cè)狀態(tài) 輸出端口上采樣循環(huán)輸出的M位狀態(tài)信息,并根據(jù)約定的順序,將這些狀
態(tài)信息拼接為具有實(shí)際含義的微處理器內(nèi)部狀態(tài)信號(hào),最終通過監(jiān)測(cè)軟件 顯示在前端PC機(jī)上。監(jiān)測(cè)信號(hào)采集器的具體操作方式如下
(1) 以系統(tǒng)工作時(shí)鐘的上升沿作為觸發(fā)條件;
(2) 當(dāng)微處理器完成初始化程序串行加載時(shí),SromOE一N信號(hào)從"l" 變?yōu)?0",此時(shí)開始對(duì)微處理器芯片的監(jiān)測(cè)狀態(tài)輸出端口進(jìn)行采樣;
(3) 采樣發(fā)現(xiàn)監(jiān)測(cè)狀態(tài)輸出信號(hào)由"0 "變到"1"以后,間隔5個(gè) 系統(tǒng)工作時(shí)鐘周期采樣第一位監(jiān)測(cè)狀態(tài),以后間隔4個(gè)系統(tǒng)工作時(shí)鐘周期 采樣后繼的監(jiān)測(cè)狀態(tài);
(4) 采樣出來的狀態(tài)進(jìn)入移位寄存器,然后按約定的順序還原出微 處理器的內(nèi)部狀態(tài)信號(hào)。
本發(fā)明的實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)裝置所監(jiān)測(cè)的內(nèi)容,在微處理器 結(jié)構(gòu)設(shè)計(jì)階段就要進(jìn)行挑選。首先,從調(diào)試的角度選擇能反應(yīng)微處理器運(yùn) 行狀態(tài)的關(guān)鍵信號(hào),且這些信號(hào)在一定時(shí)間里具有一定的穩(wěn)定性,如當(dāng)前 的運(yùn)行模式、最近的取指令地址、懸掛的中斷請(qǐng)求、流水線阻塞或斷流情 況、寄存器重命名情況、記分板控制指令發(fā)射情況、訪存指令隊(duì)列情況、
指令退出情況等。另外,還要根據(jù)微處理器正常運(yùn)行的規(guī)則,增加一系列 故障標(biāo)記電路,當(dāng)微處理器運(yùn)行出現(xiàn)故障時(shí),記錄故障類型和引起故障的 原因,便于以后進(jìn)行故障分析和定位,如指令流阻塞超時(shí)、指令流斷流超 時(shí)、指令退出超時(shí)、中斷處理超時(shí)等。芯片運(yùn)行過程中,調(diào)試者實(shí)時(shí)觀察 故障標(biāo)記是否有效, 一旦有效說明微處理器出現(xiàn)故障,此時(shí)再觀察微處理 器內(nèi)部的關(guān)鍵狀態(tài),獲得更全面的信息,用于故障分析和定位。
圖5匯集了本發(fā)明中的局部監(jiān)測(cè)器和全局監(jiān)測(cè)器中各種時(shí)鐘、飽和計(jì) 數(shù)器和監(jiān)測(cè)狀態(tài)輸出信號(hào)的時(shí)序關(guān)系。由圖可見,系統(tǒng)工作時(shí)鐘(SynClk) 是微處理器工作時(shí)鐘(GClk)的4分頻,當(dāng)微處理器串行初始化程序加載 完畢后,SR0M—N信號(hào)從"1"變?yōu)?0",全局有限狀態(tài)機(jī)(GlobalFSM) 開始從T0狀態(tài)轉(zhuǎn)到Tl狀態(tài),在Tl狀態(tài)維持4個(gè)SynClk周期后轉(zhuǎn)為T2 狀態(tài),在T2狀態(tài)維持4個(gè)SynClk周期后再轉(zhuǎn)為T3狀態(tài),以后則在T3、 T4、 T5、 T6四個(gè)狀態(tài)間循環(huán)轉(zhuǎn)換,且在T3、 T4、 T5、 T6狀態(tài)都只維持1 個(gè)SynClk周期。全局監(jiān)測(cè)器在GlobalFSM處于T3狀態(tài)時(shí),產(chǎn)生監(jiān)測(cè)時(shí)鐘 源脈沖(ObsClkSrc),并利用GClk進(jìn)行同步,第一次同步產(chǎn)生監(jiān)測(cè)時(shí)鐘 源脈沖O(ObsClkSrcO),第二次同步產(chǎn)生監(jiān)測(cè)時(shí)鐘源脈沖1(0bsClkSrcl), 第三次同步產(chǎn)生監(jiān)測(cè)時(shí)鐘源脈沖2 (0bsClkSrc2),然后利用ObsClkSrcl 和0bsClkSrc2擠出監(jiān)測(cè)時(shí)鐘脈沖(0bsClk),該信號(hào)再經(jīng)過GClk同步后 便產(chǎn)生局部監(jiān)測(cè)時(shí)鐘(LocalObsClk),輸出到所有的局部監(jiān)測(cè)器中。
局部監(jiān)測(cè)器接到局部監(jiān)測(cè)時(shí)鐘后,再次用GClk進(jìn)行同步,并將同步 后的監(jiān)測(cè)時(shí)鐘作為局部飽和計(jì)數(shù)器(LocalCounterN)的觸發(fā)條件,局部選 擇器根據(jù)LocalCounterN的計(jì)數(shù)值進(jìn)行選擇,并輸出到局部監(jiān)測(cè)狀態(tài)
(LocalStateOut)上。當(dāng)LocalCounterN的值為"0"時(shí),選擇第0位輸 入狀態(tài);當(dāng)LocalCoimterN的值為"1"時(shí),選擇第1位輸入狀態(tài);以此 類推。
當(dāng)全局有限狀態(tài)機(jī)(GlobalFSM)經(jīng)過T4狀態(tài)時(shí),全局飽和計(jì)數(shù)器 (GlobalCounterM)進(jìn)行飽和加"1"運(yùn)行。全局狀態(tài)選擇器根據(jù) GlobalCounterM的計(jì)數(shù)值進(jìn)行選擇,并輸出到狀態(tài)多路輸出信號(hào) (StateMuxOut)上。當(dāng)GlobalCounterM的值為"0"時(shí),選擇局部監(jiān)測(cè) 器0的第0位狀態(tài);當(dāng)GlobalCounterM的值為"1"時(shí),選擇局部監(jiān)測(cè)器 0的第1位狀態(tài);以此類推。全局輸出選擇器根據(jù)GlobalFSM的狀態(tài)進(jìn)行 選擇,并輸出到全局監(jiān)測(cè)狀態(tài)輸出信號(hào)(GlobalStateOut)上。當(dāng) GlobalFSM處于Tl狀態(tài)時(shí),GlobalStateOut輸出"1"; 當(dāng)GlobalFSM 處于T2狀態(tài)時(shí),GlobalStateOut輸出"0";當(dāng)GlobalFSM處于T3、 T4、 T5、 T6狀態(tài)時(shí),GlobalStateOut輸出StateMuxOut的值。
權(quán)利要求
1、一種實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)的裝置,包括微處理器內(nèi)部的狀態(tài)監(jiān)測(cè)器、外部系統(tǒng)中的監(jiān)測(cè)信號(hào)采集器、前端PC機(jī),其特征在于在所述的微處理器中,加入多個(gè)或多級(jí)局部監(jiān)測(cè)器和一個(gè)全局監(jiān)測(cè)器,將所述的微處理器內(nèi)部狀態(tài)信息以固定周期循環(huán)串行輸出到一位監(jiān)測(cè)狀態(tài)輸出端口上;所述的監(jiān)測(cè)信號(hào)采集器,在所述的微處理器的監(jiān)測(cè)狀態(tài)輸出端口上采集信號(hào),并通過移位寄存器,拼接為具有實(shí)際意義的處理器內(nèi)部狀態(tài)信息,最終顯示在前端PC機(jī)上。
2、 如權(quán)利要求l所述的實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)的裝置,其特征 在于所述的全局監(jiān)測(cè)器產(chǎn)生監(jiān)測(cè)時(shí)鐘,分別傳送給所有的局部監(jiān)測(cè)器; 當(dāng)所述的微處理器串行初始化程序加載完畢后,所述的全局監(jiān)測(cè)器利用外 部系統(tǒng)工作時(shí)鐘和微處理器工作時(shí)鐘生成監(jiān)測(cè)時(shí)鐘,監(jiān)測(cè)時(shí)鐘總周期為4 個(gè)外部系統(tǒng)工作時(shí)鐘周期,高電平的寬度為一個(gè)處理器工作時(shí)鐘周期,低 電平的寬度為三個(gè)處理器工作時(shí)鐘周期;所述的微處理器工作時(shí)鐘與所述 的外部系統(tǒng)工作時(shí)鐘的頻率關(guān)系可調(diào),微處理器工作時(shí)鐘至少是外部系統(tǒng) 工作時(shí)鐘的4倍頻。
3、 如權(quán)利要求l所述的實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)的裝置,其特征 在于所述的局部監(jiān)測(cè)器采用監(jiān)測(cè)時(shí)鐘,利用多路選擇器,分時(shí)選擇每一 位需要監(jiān)測(cè)的微處理器內(nèi)部狀態(tài),并以所需監(jiān)測(cè)的微處理器內(nèi)部狀態(tài)的總 位數(shù)為周期,進(jìn)行循環(huán)輸出;輸入的微處理器內(nèi)部狀態(tài)先用所述的微處理 器工作時(shí)鐘寄存一拍,然后再參與多路選擇;所述的局部監(jiān)測(cè)器設(shè)置一個(gè) 局部飽和計(jì)數(shù)器,計(jì)數(shù)的最大值為該局部監(jiān)測(cè)器所需監(jiān)測(cè)的微處理器內(nèi)部狀態(tài)的總位數(shù),計(jì)數(shù)條件是在所述的微處理器工作時(shí)鐘上升沿時(shí),所述 的監(jiān)測(cè)時(shí)鐘值為"l";輸入的監(jiān)測(cè)時(shí)鐘先用所述的微處理器工作時(shí)鐘寄存 一拍,然后再作為所述的飽和計(jì)數(shù)器的計(jì)數(shù)條件之一;輸入的監(jiān)測(cè)時(shí)鐘由 所述的全局監(jiān)測(cè)器產(chǎn)生,與所述的微處理器的工作時(shí)鐘同步。
4、 如權(quán)利要求1所述的實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)的裝置,其特征 在于根據(jù)監(jiān)測(cè)信號(hào)的數(shù)量、物理分布位置,構(gòu)建多級(jí)局部監(jiān)測(cè)器,上一 級(jí)局部監(jiān)測(cè)器的監(jiān)測(cè)狀態(tài)輸出作為下一級(jí)局部監(jiān)測(cè)器的狀態(tài)輸入;上一級(jí) 局部監(jiān)測(cè)器的一位監(jiān)測(cè)狀態(tài)輸出中,包含多位處理器內(nèi)部狀態(tài),在下一級(jí) 局部監(jiān)測(cè)器進(jìn)行多路選擇時(shí),應(yīng)作為多位信息來處理,并要求下一級(jí)局部 監(jiān)測(cè)器監(jiān)測(cè)的總位數(shù)是上一級(jí)局部監(jiān)測(cè)器監(jiān)測(cè)的總位數(shù)的整數(shù)倍。
5、 如權(quán)利要求1所述的實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)的裝置,其特征 在于所述的全局監(jiān)測(cè)器在所述的微處理器串行初始化程序加載完畢后, 匯集所有局部監(jiān)測(cè)器的監(jiān)測(cè)狀態(tài),利用多路選擇器和有限狀態(tài)機(jī)控制,分 時(shí)輸出每一個(gè)局部監(jiān)測(cè)器所監(jiān)測(cè)的每一位內(nèi)部狀態(tài)信息,并最終作為所述 微處理器芯片的監(jiān)測(cè)狀態(tài)輸出到端口上;所述的局部監(jiān)測(cè)器的監(jiān)測(cè)狀態(tài)包 含多位微處理器內(nèi)部狀態(tài),在所述的全局監(jiān)測(cè)器中進(jìn)行多路選擇時(shí),應(yīng)作 為多位信息來處理,并要求全局監(jiān)測(cè)器監(jiān)測(cè)的總位數(shù)是所有局部監(jiān)測(cè)器監(jiān) 測(cè)的總位數(shù)的整數(shù)倍;所述的全局監(jiān)測(cè)器設(shè)置一個(gè)有限狀態(tài)機(jī),分別處于 T0、 Tl、 T2、 T3、 T4、 T5、 T6狀態(tài),復(fù)位時(shí)處于TO狀態(tài),所述的微處理 器串行初始化程序加載完畢后處于T1狀態(tài),以后按所述的外部系統(tǒng)工作 時(shí)鐘周期進(jìn)行狀態(tài)轉(zhuǎn)換;所述的全局監(jiān)測(cè)器還設(shè)置一個(gè)全局飽和計(jì)數(shù)器, 計(jì)數(shù)的最大值為該全局監(jiān)測(cè)器所需監(jiān)測(cè)的微處理器內(nèi)部狀態(tài)的總位數(shù),計(jì)數(shù)條件是在所述的微處理器工作時(shí)鐘上升沿時(shí),所述的全局監(jiān)測(cè)有限狀 態(tài)機(jī)處于T4狀態(tài)。
6、 如權(quán)利要求1所述的實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)裝置,其特征在于所述的監(jiān)測(cè)信號(hào)采集器,當(dāng)所述的微處理器串行初始化程序加載完畢 后,利用所述的外部系統(tǒng)工作時(shí)鐘上升沿對(duì)處理器芯片輸出的監(jiān)測(cè)狀態(tài)信 號(hào)進(jìn)行采樣,外部系統(tǒng)與處理器芯片約定一個(gè)固定的監(jiān)測(cè)狀態(tài)開始標(biāo)志, 當(dāng)外部系統(tǒng)采樣到該標(biāo)志后,便每隔四個(gè)系統(tǒng)工作時(shí)鐘采樣串行輸出的內(nèi) 部狀態(tài),將采樣到的信息位送入移位寄存器中,按約定的狀態(tài)輸出順序進(jìn)行拼接,最終顯示在前端PC機(jī)上。
7、 如權(quán)利要求l所述的實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)的裝置,其特征在于:實(shí)時(shí)監(jiān)測(cè)的微處理器內(nèi)部狀態(tài)包括微處理器自身的關(guān)鍵狀態(tài)和一系 列故障標(biāo)記電路狀態(tài);所述的微處理器自身的關(guān)鍵狀態(tài)是指各流水線站臺(tái)的運(yùn)行狀態(tài),包括當(dāng)前的運(yùn)行模式、最近的取指令地址、懸掛的中斷請(qǐng)求、 流水線阻塞或斷流情況、寄存器重命名情況、記分板控制指令發(fā)射情況、訪存指令隊(duì)列情況、指令退出情況;所述的故障標(biāo)記電路是指當(dāng)處理器運(yùn) 行出現(xiàn)故障時(shí),利用額外的硬件邏輯記錄故障類型和引起故障的原因,便 于以后進(jìn)行故障分析和定位,包括指令流阻塞超時(shí)、指令流斷流超時(shí)、指 令退出超時(shí)、中斷處理超時(shí)等故障標(biāo)記。
全文摘要
本發(fā)明公開了一種實(shí)時(shí)監(jiān)測(cè)微處理器內(nèi)部狀態(tài)的裝置,在所述微處理器設(shè)計(jì)過程中,加入多個(gè)或多級(jí)局部監(jiān)測(cè)器和一個(gè)全局監(jiān)測(cè)器,將所述微處理器內(nèi)部狀態(tài)信息以固定周期循環(huán)串行輸出到一位監(jiān)測(cè)狀態(tài)輸出端口上;外部系統(tǒng)配置一個(gè)監(jiān)測(cè)信號(hào)采集器,在所述微處理器的監(jiān)測(cè)狀態(tài)輸出端口上采集信號(hào),并通過移位寄存器,拼接為具有實(shí)際意義的處理器內(nèi)部狀態(tài)信息,最終顯示在前端PC機(jī)上。本發(fā)明通過在微處理器設(shè)計(jì)階段增加少量的硬件開銷,支持芯片實(shí)際運(yùn)行模式下對(duì)微處理器內(nèi)部狀態(tài)的實(shí)時(shí)可觀察性,彌補(bǔ)了傳統(tǒng)的芯片可測(cè)性設(shè)計(jì)技術(shù)的不足。
文檔編號(hào)G06F11/32GK101187892SQ20061011844
公開日2008年5月28日 申請(qǐng)日期2006年11月17日 優(yōu)先權(quán)日2006年11月17日
發(fā)明者胡向東, 董建萍 申請(qǐng)人:上海高性能集成電路設(shè)計(jì)中心
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
香河县| 阿坝县| 山丹县| 浪卡子县| 临漳县| 玉屏| 东海县| 区。| 龙泉市| 金山区| 绥棱县| 普洱| 白沙| 辽源市| 南乐县| 凯里市| 墨脱县| 商水县| 嘉义县| 视频| 马尔康县| 诸城市| 靖西县| 苍南县| 义乌市| 郎溪县| 安阳市| 秦皇岛市| 临潭县| 岑巩县| 平山县| 江安县| 海原县| 乡城县| 方正县| 华安县| 沽源县| 忻州市| 平昌县| 靖州| 永春县|