国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      實(shí)時(shí)處理器調(diào)試系統(tǒng)的制作方法

      文檔序號(hào):6651222閱讀:294來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):實(shí)時(shí)處理器調(diào)試系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及實(shí)時(shí)處理器調(diào)試系統(tǒng);更具體地說(shuō),涉及在實(shí)時(shí)操作期間對(duì)核心處理器之虛擬總線的地址和數(shù)據(jù)信號(hào)進(jìn)行選擇采樣,以便降低功耗,以及將由于總線加載而引起的性能影響降到最低程度的調(diào)試系統(tǒng)。
      一些包含核心處理器、片上存儲(chǔ)器以及外部存儲(chǔ)器接口模塊的嵌入系統(tǒng)是很普遍的?,F(xiàn)有的生成系統(tǒng)還在集成高速緩沖存儲(chǔ)器。系統(tǒng)級(jí)的代碼開(kāi)發(fā)人員必須為嵌入系統(tǒng)編寫(xiě)軟件或應(yīng)用程序代碼,以實(shí)現(xiàn)該系統(tǒng)需要的特定功能。由于各種各樣的原因,包括添加或修改功能性,刪除不需要的功能部件,或刪除“程序錯(cuò)誤”或軟件錯(cuò)誤,開(kāi)發(fā)人員必須多次修改大部分軟件。因此,為了確保正確運(yùn)行,必須在應(yīng)用程序代碼開(kāi)發(fā)期間調(diào)試軟件。在運(yùn)行期間,嵌入系統(tǒng)的應(yīng)用程序代碼可能還需要一直進(jìn)行連續(xù)不斷的調(diào)整,或周期調(diào)整。在某些配置中,某些參數(shù)、特征值或常數(shù)表可能需要在實(shí)時(shí)操作期間進(jìn)行調(diào)整或修改。此處所指的調(diào)試過(guò)程包括,初始應(yīng)用程序代碼開(kāi)發(fā),以及運(yùn)行期間的實(shí)時(shí)校正或調(diào)整功能。
      某些舊式系統(tǒng),包括不帶高速緩沖存儲(chǔ)器的系統(tǒng),提供外部核心處理器總線,從而能夠輕而易舉地獲得核心處理器周期,以便進(jìn)行調(diào)試。在具有高速緩沖存儲(chǔ)器的嵌入系統(tǒng)環(huán)境中,系統(tǒng)級(jí)的調(diào)試是比較困難的,這是由于核心處理器的管腳或總線不再可見(jiàn)的緣故。特別是,高速緩沖存儲(chǔ)器通常位于嵌入核心處理器和外部物理總線之間,從而不能從外部到達(dá)核心處理器總線。例如,事實(shí)上,在不帶高速緩沖存儲(chǔ)器的現(xiàn)有嵌入系統(tǒng)中,“顯示周期”支持不是一個(gè)可選項(xiàng)。
      傳統(tǒng)調(diào)試方法稱(chēng)為后臺(tái)調(diào)試方式(BDM)。BDM是一種靜態(tài)調(diào)試過(guò)程,其中暫停處理器以便代碼開(kāi)發(fā)人員執(zhí)行調(diào)試操作。代碼開(kāi)發(fā)人員可以設(shè)置斷點(diǎn),以便在特定斷點(diǎn)停止處理器,或者單步執(zhí)行各指令,以監(jiān)視處理器的進(jìn)程并確定問(wèn)題和程序錯(cuò)誤。BDM對(duì)某些應(yīng)用程序是足夠的,但并不能滿(mǎn)足實(shí)時(shí)操作,包括動(dòng)態(tài)調(diào)整或校正。此外,某些調(diào)試操作需要在不停止嵌入核心處理器的條件下,測(cè)試并改正應(yīng)用程序代碼。例如,通常在汽車(chē)引擎運(yùn)轉(zhuǎn)的情況下,調(diào)試控制汽車(chē)引擎的嵌入處理器系統(tǒng),從而暫停核心處理器不是一個(gè)可選項(xiàng),這是由于它會(huì)有效停止引擎的緣故。
      人們正在開(kāi)發(fā)動(dòng)態(tài)調(diào)試方法,以便在不暫停處理器的情況下,監(jiān)視處理器的操作。在能夠從外部達(dá)到高速緩沖存儲(chǔ)器的物理總線的情況下,從外部提供核心處理器總線是不實(shí)際的,也是不可行的,這是由于它會(huì)導(dǎo)致嵌入處理器的過(guò)多數(shù)目的管腳。期望開(kāi)發(fā)一種調(diào)試接口,該接口監(jiān)視處理器的總線,并經(jīng)由內(nèi)部輔助總線或端口提供消息。通過(guò)監(jiān)視核心處理器和高速緩沖存儲(chǔ)器之間的地址和數(shù)據(jù)總線進(jìn)行的動(dòng)態(tài)調(diào)試,是一個(gè)消耗功率的侵入過(guò)程。高速緩沖存儲(chǔ)器和核心處理器之間的總線通常稱(chēng)為“虛擬”總線。連接到虛擬總線的大緩沖器引起總線加載,后者會(huì)影響嵌入處理器系統(tǒng)的性能。此外,監(jiān)視地址和數(shù)據(jù)總線信號(hào)并向外部輔助總線提供相應(yīng)消息的動(dòng)態(tài)過(guò)程,將消耗寶貴的能量。便攜通信設(shè)備通常是電池供電的手持設(shè)備,并主要使用嵌入處理器系統(tǒng)。此類(lèi)便攜通信設(shè)備包括諸如個(gè)人數(shù)字助理(PDA)、蜂窩電話(huà)、尋呼機(jī)、全球定位系統(tǒng)(GPS)模塊之類(lèi)的設(shè)備。在此類(lèi)便攜通信設(shè)備中,必須將功耗降到最低程度,以延長(zhǎng)電池壽命。
      將在正常系統(tǒng)運(yùn)行期間執(zhí)行動(dòng)態(tài)校正的系統(tǒng)的功耗,降到最低程度也是同樣重要的。汽車(chē)應(yīng)用是此類(lèi)需求的重要示例。例如,在某些汽車(chē)應(yīng)用中,實(shí)時(shí)校正(不斷)調(diào)諧要求在處理器和應(yīng)用程序運(yùn)行時(shí),運(yùn)行調(diào)試模塊。強(qiáng)烈希望將嵌入系統(tǒng)的功耗降到最低程度。
      期望以將由于嵌入處理器系統(tǒng)上之總線加載而引起的功耗和性能影響降到最低程度的方式,執(zhí)行動(dòng)態(tài)調(diào)試。
      通過(guò)連同附圖一起考慮最佳實(shí)施方式的詳細(xì)說(shuō)明,將更好地理解本發(fā)明,其中附圖為

      圖1為調(diào)試系統(tǒng)的示意框圖,說(shuō)明根據(jù)本發(fā)明的實(shí)時(shí)處理器調(diào)試系統(tǒng)。
      圖2為根據(jù)本發(fā)明之實(shí)施方式實(shí)現(xiàn)的虛擬地址總線選通邏輯的示意圖。
      圖3為根據(jù)本發(fā)明之實(shí)施方式實(shí)現(xiàn)的虛擬數(shù)據(jù)總線選通邏輯的示意圖。
      圖4為一定時(shí)圖,說(shuō)明根據(jù)本發(fā)明之某一實(shí)施方式的實(shí)時(shí)調(diào)試接口系統(tǒng)的程序跟蹤虛擬地址選通操作。
      圖5為一定時(shí)圖,說(shuō)明根據(jù)本發(fā)明之某一實(shí)施方式的實(shí)時(shí)調(diào)試接口系統(tǒng)的程序和數(shù)據(jù)跟蹤虛擬地址和數(shù)據(jù)選通操作。
      當(dāng)前,正在開(kāi)發(fā)Nexus標(biāo)準(zhǔn)或GEPDIS(全球嵌入處理器調(diào)試接口標(biāo)準(zhǔn)),以便執(zhí)行嵌入系統(tǒng)的動(dòng)態(tài)調(diào)試,并解決與實(shí)時(shí)、非侵入調(diào)試支持有關(guān)的其他問(wèn)題和爭(zhēng)論。GEPDIS,另外稱(chēng)為IEEE-ISTO(電氣和電子工程師協(xié)會(huì)-工業(yè)標(biāo)準(zhǔn)和技術(shù)組織)論壇5001,描述了一種嵌入調(diào)試接口標(biāo)準(zhǔn),該標(biāo)準(zhǔn)是為了在不暫停嵌入系統(tǒng)處理器之核心情況下對(duì)非侵入調(diào)試方法進(jìn)行標(biāo)準(zhǔn)化而開(kāi)發(fā)的。GEPDIS中定義了許多調(diào)試能力,以便通過(guò)提供程序流和數(shù)據(jù)流的可視性,來(lái)監(jiān)視程序執(zhí)行。該可視性由在專(zhuān)用多比特或多管腳串行接口或輔助端口上,向外部開(kāi)發(fā)系統(tǒng)提供的信息消息序列組成。然后,將程序流消息與該程序的靜態(tài)映象結(jié)合,以重建嵌入處理器的實(shí)際指令執(zhí)行序列。數(shù)據(jù)流消息跟蹤處理器讀取并寫(xiě)入到預(yù)定地址范圍。
      使用包括同步消息處理和數(shù)據(jù)跟蹤消息處理的程序跟蹤消息處理,實(shí)現(xiàn)GEPDIS動(dòng)態(tài)調(diào)試。程序跟蹤消息處理的實(shí)現(xiàn),要求監(jiān)視核心處理器執(zhí)行的指令提取序列和狀態(tài)信息,后者表示流改變(COF)事件,包括直接或間接的流改變事件。直接COF事件包括與程序計(jì)數(shù)器有關(guān)的分支,而間接COF事件包括寄存器間接分支和例外引向。程序跟蹤同步消息的實(shí)現(xiàn),要求傳送當(dāng)前執(zhí)行的指令地址或相當(dāng)鄰近的指令地址。數(shù)據(jù)跟蹤消息處理的實(shí)現(xiàn),要求監(jiān)視數(shù)據(jù)存取地址,并且有條件地提供關(guān)聯(lián)數(shù)據(jù)。數(shù)據(jù)跟蹤消息處理包括讀取消息處理,或在一個(gè)或多個(gè)定義地址范圍內(nèi)的數(shù)據(jù)讀取,以及寫(xiě)消息處理,或在一個(gè)或多個(gè)定義地址范圍內(nèi)的數(shù)據(jù)寫(xiě)入。
      GEPDIS意在描述一種實(shí)時(shí)動(dòng)態(tài)的非侵入調(diào)試系統(tǒng)。GEPDIS期望一種嵌入調(diào)試接口,該接口訪問(wèn)虛擬總線,并經(jīng)由輔助總線或端口,與外部系統(tǒng)通信。然而,GEPDIS不能明確解決總線加載和功耗。直接向調(diào)試接口提供虛擬總線信號(hào)是侵入的,并且可能會(huì)引起錯(cuò)誤操作。可以使用緩沖處理來(lái)降低調(diào)試接口的影響,但仍會(huì)造成很多性能影響,這是由于虛擬總線的所有信號(hào)轉(zhuǎn)變均對(duì)調(diào)試信息有不良影響。調(diào)試總線上的功耗是很大的,并且在某些實(shí)施方式中,可能是過(guò)大的。
      圖1為調(diào)試系統(tǒng)100的示意框圖,該系統(tǒng)包括一個(gè)連接到嵌入系統(tǒng)103之輔助總線102的外部開(kāi)發(fā)系統(tǒng)101。開(kāi)發(fā)系統(tǒng)101用于執(zhí)行軟件的實(shí)時(shí)調(diào)試操作,其中嵌入系統(tǒng)103之嵌入處理器107的處理器核心正在執(zhí)行該軟件。然而,可以理解,也可以將實(shí)時(shí)校正系統(tǒng)(未示出)連接到輔助總線102,以便執(zhí)行實(shí)時(shí)校正,其中本發(fā)明的原理相同。
      在所示實(shí)施方式中,將嵌入系統(tǒng)103插入到集成電路(IC)或芯片上,然后插入到諸如與調(diào)試系統(tǒng)100關(guān)聯(lián)的較大系統(tǒng)之電路板的適當(dāng)插槽中。嵌入系統(tǒng)103包括一個(gè)實(shí)時(shí)調(diào)試接口105,它經(jīng)由獨(dú)立的物理總線115,連接到嵌入處理器107。嵌入處理器107包括一個(gè)中央處理器(CPU)或核心109,它經(jīng)由虛擬總線113,連接到高速緩沖存儲(chǔ)器/MMU(存儲(chǔ)器管理部件)111。虛擬總線113包括許多操作信號(hào),這些信號(hào)定義核心109的操作。高速緩沖存儲(chǔ)器和MMU通常為獨(dú)立系統(tǒng),但為了簡(jiǎn)潔,以組合形式表示它們。MMU為選件,并且在嵌入處理器107的特定實(shí)施方式中,可以不提供此選件。本發(fā)明設(shè)想了嵌入處理器的許多不同變更和實(shí)施方式,并且不受此類(lèi)變更的限制。
      虛擬總線113包括一條虛擬地址總線和一條雙向虛擬數(shù)據(jù)總線,虛擬地址總線包括由核心109認(rèn)定的到達(dá)高速緩沖存儲(chǔ)器/MMU 111的地址信號(hào),而雙向虛擬數(shù)據(jù)總線位于核心109和高速緩沖存儲(chǔ)器/MMU 111之間。術(shù)語(yǔ)“虛擬”表示虛擬總線113是不可見(jiàn)的,或者相反,是不向嵌入處理器107外部提供到達(dá)嵌入系統(tǒng)103之其他組件的。物理總線115類(lèi)似于虛擬總線113,并包括類(lèi)似的地址數(shù)據(jù)和控制信號(hào),但是這兩條總線在運(yùn)行期間的操作不同??梢越酶咚倬彌_存儲(chǔ)器/MMU 111內(nèi)的高速緩沖存儲(chǔ)器,此時(shí)虛擬總線113的運(yùn)行方式與物理總線115的運(yùn)行方式相同。然而,如果啟用高速緩沖存儲(chǔ)器,則物理總線115以不同方式運(yùn)行,并且不能真實(shí)表示核心109的操作。希望監(jiān)視虛擬總線113,以便監(jiān)視核心109的操作,或者調(diào)試由核心109正在執(zhí)行的應(yīng)用程序軟件的校正操作,或者相反,執(zhí)行這種校正操作。
      向連接到核心109的虛擬總線選通邏輯117,提供虛擬總線113。虛擬總線選通邏輯117可以插入到核心109內(nèi),或者被設(shè)計(jì)為來(lái)自核心109的外部。經(jīng)由更新數(shù)據(jù)信號(hào)、更新地址信號(hào)、調(diào)試數(shù)據(jù)總線和調(diào)試地址總線,將虛擬總線選通邏輯117,連接到實(shí)時(shí)調(diào)試接口105。調(diào)試地址總線可包括將在下文中描述的屬性信號(hào)。更新數(shù)據(jù)信號(hào)為數(shù)據(jù)調(diào)試更新信號(hào),該信號(hào)有選擇地啟動(dòng)或者在其他情況下啟用調(diào)試數(shù)據(jù)總線上的信號(hào);而更新地址信號(hào)為地址調(diào)試更新信號(hào),該信號(hào)有選擇地啟用或啟動(dòng)調(diào)試地址總線。向?qū)崟r(shí)調(diào)試接口105提供由核心109生成的處理器狀態(tài)信號(hào),以確定核心109的某些狀態(tài)事件,這將在下文中進(jìn)一步說(shuō)明。處理器狀態(tài)信號(hào)包括至少一個(gè)核心事務(wù)狀態(tài)輸出信號(hào),該信號(hào)指出核心109的事務(wù)狀態(tài)。
      輔助總線102是一個(gè)可伸縮的輸出調(diào)試端口,由嵌入系統(tǒng)103的實(shí)時(shí)調(diào)試接口105控制該端口。在一種實(shí)施方式中,由GEPDIS定義輔助總線102,以使開(kāi)發(fā)系統(tǒng)101監(jiān)視核心109。向外部硬件接口119提供輔助總線102,以向開(kāi)發(fā)系統(tǒng)101內(nèi)的開(kāi)發(fā)工作站121提供調(diào)試信號(hào),其中接口119包含緩沖器固件、處理能力等。工作站121安裝有任意固件、硬件或軟件,并且能夠以個(gè)人計(jì)算機(jī)之類(lèi)的方式實(shí)現(xiàn),以控制調(diào)試操作或應(yīng)用程序軟件的開(kāi)發(fā)。操作員在工作站121與調(diào)試軟件進(jìn)行交互,以便控制實(shí)時(shí)調(diào)試接口105的操作,包括監(jiān)視虛擬總線113的地址和數(shù)據(jù)信號(hào)。
      嵌入系統(tǒng)113可以具有幾種操作方式,包括用于正常操作的正常方式和調(diào)試方式。實(shí)時(shí)調(diào)試接口105使調(diào)試方式更加容易,并且可以具有幾種可選方式作為調(diào)試方式的子集。例如,實(shí)時(shí)調(diào)試接口包括程序跟蹤方式和數(shù)據(jù)跟蹤方式,其中數(shù)據(jù)跟蹤方式還有讀和寫(xiě)調(diào)試方式。
      圖2為根據(jù)本發(fā)明之實(shí)施方式的虛擬地址總線選通邏輯200的示意圖。在虛擬總線選通邏輯117內(nèi),提供虛擬地址總線選通邏輯200,以便將虛擬總線113的虛擬地址總線連接到調(diào)試地址總線。在此處所示的實(shí)施方式中,虛擬地址總線包括32個(gè)獨(dú)立地址信號(hào),標(biāo)記為虛擬地址[31:0]。然而,可以理解,本發(fā)明并不限于任意特定數(shù)目的地址信號(hào)。將各虛擬地址總線信號(hào)提供給一連串鎖存器201的相應(yīng)輸入,鎖存器可以為任意形式的合適鎖存器,如D型鎖存器。將鎖存器201的各鎖存器的Q輸出,提供給一連串緩沖器203的各輸入。緩沖器203的輸出認(rèn)定調(diào)試地址總線的各個(gè)信號(hào),包括各信號(hào)調(diào)試地址[31:0]。嵌入處理器107包括一個(gè)內(nèi)部主時(shí)鐘信號(hào),稱(chēng)為CLK1,將該信號(hào)提供給具有兩個(gè)輸入的與門(mén)205的一個(gè)輸入。CLK1信號(hào)為至少一個(gè)主時(shí)鐘信號(hào),將該信號(hào)提供給核心109,以用于控制和定時(shí)。與門(mén)205的另一輸入接收更新地址信號(hào)。與門(mén)205的輸出認(rèn)定信號(hào)調(diào)試地址時(shí)鐘,將后者提供給鎖存器201之各鎖存器的時(shí)鐘輸入。
      在運(yùn)行中,更新地址信號(hào)用作啟用信號(hào),以將虛擬地址總線的各信號(hào),傳送到與CLK1信號(hào)之認(rèn)定同步的調(diào)試地址總線上。這樣,如果認(rèn)定了更新地址信號(hào),則CLK1信號(hào)用時(shí)鐘同步鎖存器201,以將虛擬地址[31:0]信號(hào),鎖存到調(diào)試地址[31:0]信號(hào)的各個(gè)信號(hào)中。當(dāng)對(duì)更新地址信號(hào)取反或該信號(hào)為邏輯零時(shí),鎖存器210是靜態(tài)的,從而調(diào)試地址[31:0]信號(hào)保持穩(wěn)定。請(qǐng)注意,轉(zhuǎn)變嵌入處理器107的任意總線,包括調(diào)試地址總線,其功耗是很大的。正如下文中進(jìn)一步說(shuō)明的那樣,使用更新地址信號(hào)來(lái)降低或排除調(diào)試地址總線的多余轉(zhuǎn)變,是非常省電的。
      圖3為根據(jù)本發(fā)明之實(shí)施方式實(shí)現(xiàn)的虛擬數(shù)據(jù)總線選通邏輯300的示意圖。也將虛擬數(shù)據(jù)總線選通邏輯300,插入到虛擬選通邏輯117中,以便有選擇地將虛擬總線113的各數(shù)據(jù)信號(hào),傳送到調(diào)試數(shù)據(jù)總線。在所示實(shí)施方式中,虛擬總線113的虛擬數(shù)據(jù)總線包括32個(gè)信號(hào),虛擬數(shù)據(jù)[31:0]。調(diào)試數(shù)據(jù)總線也包括32個(gè)信號(hào),調(diào)試數(shù)據(jù)[31:0]。然而,可以理解,本發(fā)明并不限于任何特定數(shù)目的數(shù)據(jù)信號(hào)。將更新數(shù)據(jù)信號(hào),提供給許多具有兩個(gè)輸入的與非門(mén)301的各與非門(mén)的一個(gè)輸入端。與非門(mén)301的各與非門(mén)的另一輸入端,接收虛擬數(shù)據(jù)[31:0]信號(hào)的各信號(hào)。例如,第一與非門(mén)301接收虛擬數(shù)據(jù)
      信號(hào),第二與非門(mén)301接收虛擬數(shù)據(jù)[1]信號(hào),等等。將各與非門(mén)301的輸出,提供給許多反相器303的各反相器的輸入端。反相器303的各反相器在其各自輸出端,認(rèn)定調(diào)試數(shù)據(jù)[31:0]信號(hào)的各個(gè)信號(hào)的相應(yīng)信號(hào)。
      除了無(wú)需與CLK1信號(hào)同步之外,虛擬數(shù)據(jù)總線選通邏輯300的操作,與虛擬地址總線選通邏輯200的操作類(lèi)似。然而,可以理解,能夠以與虛擬數(shù)據(jù)總線選通邏輯300相似的方式,實(shí)現(xiàn)虛擬地址總線選通邏輯200,反之亦然。在此處所描述的特定實(shí)施方式中,虛擬地址總線選通邏輯200稍微延遲其地址,以確保周期真實(shí)有效并能適當(dāng)鎖存。其他優(yōu)點(diǎn)在于,調(diào)試地址總線和信號(hào)的定時(shí)并不很關(guān)鍵,因此,可以使用較小、較低的功耗設(shè)備實(shí)現(xiàn)緩沖器203。當(dāng)更新數(shù)據(jù)信號(hào)取反為低時(shí),調(diào)試數(shù)據(jù)總線保持靜態(tài)不變。當(dāng)認(rèn)定更新數(shù)據(jù)信號(hào)為高時(shí),在經(jīng)過(guò)邏輯門(mén)301、303的輕微延遲后,調(diào)試數(shù)據(jù)總線邏輯跟隨虛擬總線113的虛擬數(shù)據(jù)總線。特別是,當(dāng)認(rèn)定更新數(shù)據(jù)信號(hào)為高時(shí),調(diào)試數(shù)據(jù)
      信號(hào)跟隨虛擬數(shù)據(jù)
      信號(hào),調(diào)試數(shù)據(jù)[1]信號(hào)跟隨虛擬數(shù)據(jù)[1]信號(hào),等等。
      應(yīng)該理解,虛擬地址總線選通邏輯200和虛擬數(shù)據(jù)總線選通邏輯300,分別經(jīng)由更新地址信號(hào)和更新數(shù)據(jù)信號(hào),有選擇地控制并啟動(dòng)相應(yīng)的調(diào)試地址總線和調(diào)試數(shù)據(jù)總線。這樣,可以利用更新地址和更新數(shù)據(jù)信號(hào),來(lái)控制調(diào)試地址和調(diào)試數(shù)據(jù)總線的功耗。同樣,能夠在調(diào)試、測(cè)試或校正操作期間,控制嵌入系統(tǒng)103的功耗。特別是在諸如尋呼機(jī)和移動(dòng)電話(huà)之類(lèi)的電池供電的便攜設(shè)備中,在正常操作方式中禁用調(diào)試方式。將更新地址和更新數(shù)據(jù)信號(hào)強(qiáng)制為低,以確保調(diào)試地址和調(diào)試數(shù)據(jù)總線不轉(zhuǎn)變。這可確保附加的調(diào)試方式邏輯或電路不消耗大量電源,從而不影響電池壽命。
      當(dāng)需要對(duì)調(diào)試數(shù)據(jù)總線和調(diào)試地址總線的調(diào)試信號(hào)進(jìn)行采樣時(shí),實(shí)時(shí)調(diào)試接口105認(rèn)定更新數(shù)據(jù)和更新地址信號(hào)。同時(shí),從核心109向?qū)崟r(shí)調(diào)試接口105提供各種屬性信號(hào),其中用處理器狀態(tài)表示該信號(hào)。由開(kāi)發(fā)系統(tǒng)101控制的實(shí)時(shí)調(diào)試接口105,確定何時(shí)認(rèn)定更新數(shù)據(jù)和更新地址信號(hào),以啟動(dòng)或啟用調(diào)試數(shù)據(jù)和調(diào)試地址信號(hào),供實(shí)時(shí)調(diào)試接口105進(jìn)行監(jiān)視。在特定實(shí)施方式中,實(shí)時(shí)調(diào)試接口105可以啟動(dòng)或啟用程序跟蹤,以監(jiān)視在流改變(COF)事件期間由核心109執(zhí)行的指令提取序列。處理器狀態(tài)信號(hào)表示COF狀態(tài),而虛擬總線113的虛擬地址總線認(rèn)定COF地址。如處理器狀態(tài)信號(hào)所表示的那樣,在COF狀態(tài)或事件期間,實(shí)時(shí)調(diào)試接口105認(rèn)定更新地址信號(hào),以啟動(dòng)調(diào)試地址總線并對(duì)它取樣。同步消息也可以為程序跟蹤操作的一部分,其中實(shí)時(shí)調(diào)試接口105認(rèn)定更新地址信號(hào)。
      數(shù)據(jù)跟蹤消息包括監(jiān)視數(shù)據(jù)訪問(wèn)地址,以及有條件地提供的關(guān)聯(lián)數(shù)據(jù)。對(duì)一個(gè)或多個(gè)定義地址范圍的任意一個(gè)地址范圍的數(shù)據(jù)讀寫(xiě),數(shù)據(jù)跟蹤是有用的。當(dāng)啟用數(shù)據(jù)跟蹤消息處理時(shí),實(shí)時(shí)調(diào)試接口105監(jiān)視讀寫(xiě)周期中包含的數(shù)據(jù)提取的處理器狀態(tài)。處理器狀態(tài)信號(hào)還表示是否正在出現(xiàn)讀寫(xiě)周期。對(duì)于寫(xiě)消息處理或讀消息處理,實(shí)時(shí)調(diào)試接口105均認(rèn)定數(shù)據(jù)提取期間的更新地址信號(hào),以在適當(dāng)數(shù)據(jù)周期期間捕獲相應(yīng)地址。例如,對(duì)于讀消息處理,如果處理器狀態(tài)總線表示讀周期,則實(shí)時(shí)調(diào)試接口105認(rèn)定更新地址信號(hào)。同樣,對(duì)于寫(xiě)消息處理,如果處理器狀態(tài)總線表示寫(xiě)周期,則實(shí)時(shí)調(diào)試接口105認(rèn)定更新地址信號(hào)。當(dāng)然,對(duì)于讀寫(xiě)信號(hào)而言,如果同時(shí)啟用讀寫(xiě)消息處理,則實(shí)時(shí)調(diào)試接口105認(rèn)定更新地址信號(hào)。同時(shí),當(dāng)啟用數(shù)據(jù)跟蹤時(shí),實(shí)時(shí)調(diào)試接口105比較從調(diào)試地址總線檢索的地址,與讀寫(xiě)消息之一個(gè)或多個(gè)定義地址范圍內(nèi)的任意地址。如果發(fā)現(xiàn)某個(gè)地址與讀周期或?qū)懼芷谄ヅ?,則實(shí)時(shí)調(diào)試接口105認(rèn)定更新數(shù)據(jù)信號(hào),該信號(hào)使虛擬總線選通邏輯117認(rèn)定調(diào)試數(shù)據(jù)總線上的相應(yīng)數(shù)據(jù)。
      圖4為一定時(shí)圖,說(shuō)明根據(jù)本發(fā)明之某一實(shí)施方式的程序跟蹤虛擬地址選通操作。以嵌入系統(tǒng)103之定時(shí)引用的方式,表示核心109的主時(shí)鐘信號(hào)CLK1和CLK2。該定時(shí)圖表示虛擬總線113的虛擬地址,后者說(shuō)明標(biāo)記為ADDRESS1、ADDRESS2、COF地址、ADDRESS4和ADDRESS5的五個(gè)地址的認(rèn)定。該定時(shí)圖還表示虛擬數(shù)據(jù)總線,后者分別以DATA1、DATA2、DATA3、DATA4和DATA5的方式說(shuō)明五個(gè)相應(yīng)數(shù)據(jù)信號(hào)。該圖同時(shí)表示處理器狀態(tài)信號(hào),該信號(hào)說(shuō)明一條指令提取,接著是COF事件,然后是數(shù)據(jù)提取,最后是另一條指令提取。該定時(shí)圖還表示更新地址信號(hào)、調(diào)試地址時(shí)鐘信號(hào)以及調(diào)試地址總線。
      在圖4的示例中,啟用程序跟蹤,而禁用數(shù)據(jù)跟蹤。由于啟用數(shù)據(jù)跟蹤,所以無(wú)需監(jiān)視虛擬數(shù)據(jù)總線上的數(shù)據(jù)。因此,實(shí)時(shí)調(diào)試接口105保持更新數(shù)據(jù)信號(hào)的取反為低,從而調(diào)試數(shù)據(jù)總線保持靜態(tài)待用,而不管虛擬數(shù)據(jù)總線上的活動(dòng)。這提供了顯著降低功耗的直接優(yōu)點(diǎn),因?yàn)椴恍枰墓β蕘?lái)轉(zhuǎn)換調(diào)試數(shù)據(jù)總線。
      實(shí)時(shí)調(diào)試接口105無(wú)需監(jiān)視虛擬地址總線上的所有活動(dòng)。虛擬地址總線上認(rèn)定的許多地址,為先前認(rèn)定地址的遞增形式。這樣,一旦知道一連串順序地址的初始地址,剩余地址就是已知的或者是可預(yù)測(cè)的,從而無(wú)需將它們傳送到調(diào)試地址總線上。這對(duì)于任意尋址模式均成立,尋址模式包括順序地址未必遞增的模式,只要知道二進(jìn)制順序即可。實(shí)時(shí)調(diào)試接口105只需例如響應(yīng)條件或非條件分支或循環(huán)指令,抑或任何直接或間接COF事件,確定并讀取不服從順序次序的地址。在處理器狀態(tài)信號(hào)上認(rèn)定的COF指令,標(biāo)識(shí)非順序地址。
      如圖4所示,即使在虛擬地址總線上認(rèn)定順序地址ADDRESS1和ADDRESS2,調(diào)試地址總線也保持上一COF地址不變。具體而言,當(dāng)實(shí)時(shí)調(diào)試接口105在處理器狀態(tài)信號(hào)上檢測(cè)到一個(gè)COF指令時(shí),它按照事件箭頭401所示的方式,認(rèn)定更新地址信號(hào)。更新地址信號(hào)的認(rèn)定啟用圖2所示的鎖存器201。如事件箭頭403所示,在認(rèn)定更新地址信號(hào)時(shí),在CLK1信號(hào)的下一上升邊上,在以405指示的位置認(rèn)定調(diào)試地址時(shí)鐘信號(hào)。調(diào)試地址時(shí)鐘信號(hào)的認(rèn)定啟用鎖存器201,從而以事件箭頭407所示的方式,在調(diào)試地址總線信號(hào)上驅(qū)動(dòng)虛擬地址總線信號(hào)。
      這樣,作為對(duì)實(shí)時(shí)調(diào)試接口105認(rèn)定的更新地址信號(hào)的響應(yīng),調(diào)試地址總線僅從上一COF地址轉(zhuǎn)變?yōu)樾碌腃OF地址。如事件箭頭409所示,在CLK2信號(hào)的下一上升邊上,完成處理器狀態(tài)信號(hào)上的COF指令。如事件箭頭411所示,作為COF指令完成的響應(yīng),實(shí)時(shí)調(diào)試接口105取消認(rèn)定更新地址信號(hào)。作為響應(yīng),按事件箭頭413所示,對(duì)調(diào)試地址時(shí)鐘信號(hào)取反。由于調(diào)試地址時(shí)鐘信號(hào)此后保持取反,所以調(diào)試地址總線保持不變,并靜態(tài)保持新的COF地址,從而降低了功耗。
      圖5為一定時(shí)圖,說(shuō)明根據(jù)本發(fā)明之某一實(shí)施方式的程序和數(shù)據(jù)跟蹤虛擬地址和數(shù)據(jù)選通操作。在此示例中,同時(shí)啟用程序跟蹤和數(shù)據(jù)跟蹤。由于啟用程序跟蹤,所以實(shí)時(shí)調(diào)試接口105按上面參照?qǐng)D4描述的方式,一旦認(rèn)定COF指令,就監(jiān)視虛擬地址總線。由于啟用了數(shù)據(jù)跟蹤,并且假設(shè)同時(shí)啟用讀和寫(xiě)數(shù)據(jù)跟蹤,所以實(shí)時(shí)調(diào)試接口105監(jiān)視虛擬數(shù)據(jù)總線上出現(xiàn)的有效數(shù)據(jù)事件。有效數(shù)據(jù)事件是由工作站121定義的,并將該事件傳送到實(shí)時(shí)調(diào)試接口105,以進(jìn)行監(jiān)視。例如,可能希望確定寫(xiě)入到特定地址之特定寄存器、或特定地址范圍內(nèi)的許多寄存器或任意其他類(lèi)型之存儲(chǔ)設(shè)備中的數(shù)據(jù),或從上述設(shè)備中讀取的數(shù)據(jù)??梢远x許多此類(lèi)地址或地址范圍。
      當(dāng)啟用數(shù)據(jù)跟蹤時(shí),實(shí)時(shí)調(diào)試接口105監(jiān)視所有數(shù)據(jù)提取指令的處理器狀態(tài)信號(hào)。當(dāng)檢測(cè)到數(shù)據(jù)提取指令時(shí),實(shí)時(shí)調(diào)試接口認(rèn)定更新地址信號(hào),以便從調(diào)試地址總線上的虛擬地址總線中捕獲讀或?qū)懙刂?。然后,?shí)時(shí)調(diào)試接口105比較從調(diào)試地址中檢索的地址,與正在監(jiān)視的任意或所有適用地址或地址范圍。如果該地址等于監(jiān)視的地址或地址范圍,則實(shí)時(shí)調(diào)試接口105認(rèn)定更新數(shù)據(jù)信號(hào),以便在數(shù)據(jù)事件有效時(shí),將虛擬數(shù)據(jù)總線上的認(rèn)定數(shù)據(jù),傳送到調(diào)試數(shù)據(jù)總線上。請(qǐng)注意,如果正在監(jiān)視特定地址范圍的讀和寫(xiě)操作,則認(rèn)為數(shù)據(jù)事件有效。否則,僅當(dāng)正在執(zhí)行的周期類(lèi)型與正在監(jiān)視的周期類(lèi)型相同時(shí),才認(rèn)為數(shù)據(jù)事件有效。
      同時(shí),實(shí)時(shí)調(diào)試接口105根據(jù)處理器狀態(tài)信號(hào),確定該數(shù)據(jù)周期是讀周期還是寫(xiě)周期。如果只啟用了讀數(shù)據(jù)跟蹤,但檢測(cè)到寫(xiě)周期,或相反,則實(shí)時(shí)調(diào)試接口105將不認(rèn)定更新地址信號(hào),這是由于認(rèn)為該數(shù)據(jù)事件無(wú)效的緣故。即使啟用了讀和寫(xiě)數(shù)據(jù)跟蹤,也需要區(qū)別特定地址范圍的讀周期或?qū)懼芷?。例如,可能希望確定某個(gè)地址范圍的讀周期和另一個(gè)不同地址范圍的寫(xiě)周期。在一種實(shí)施方式中,實(shí)時(shí)調(diào)試接口105內(nèi)的比較邏輯,使用周期類(lèi)型來(lái)確定適用的監(jiān)視地址范圍。當(dāng)然,如果對(duì)所有定義的地址范圍均啟用了讀和寫(xiě)操作,則無(wú)需區(qū)別讀周期和寫(xiě)周期。
      如圖5所示,COF指令出現(xiàn)在處理器狀態(tài)信號(hào)上,由實(shí)時(shí)調(diào)試接口105檢測(cè)該指令。如事件箭頭501所示,實(shí)時(shí)調(diào)試接口105比照地認(rèn)定更新地址信號(hào)。如事件箭頭503所示,在認(rèn)定更新地址信號(hào)時(shí),CLK1信號(hào)的認(rèn)定,引起調(diào)試地址時(shí)鐘信號(hào)的伴隨認(rèn)定。隨后,CLK2信號(hào)的認(rèn)定,使得處理器狀態(tài)信號(hào)從COF指令轉(zhuǎn)變?yōu)閿?shù)據(jù)提取指令。實(shí)時(shí)調(diào)試接口105檢測(cè)處理器狀態(tài)信號(hào)上的數(shù)據(jù)提取指令,由于在此示例中啟用了數(shù)據(jù)跟蹤,所以實(shí)時(shí)調(diào)試接口105以事件箭頭507所示的方式,使更新地址信號(hào)保持認(rèn)定。如事件箭頭511所示,由于更新地址信號(hào)保持認(rèn)定,所以調(diào)試地址時(shí)鐘信號(hào)的第二次認(rèn)定,將虛擬地址總線上出現(xiàn)的數(shù)據(jù)寫(xiě)地址,鎖存到調(diào)試地址總線中。由于啟用了數(shù)據(jù)跟蹤,所以實(shí)時(shí)調(diào)試接口105檢索在調(diào)試地址總線上認(rèn)定的數(shù)據(jù)寫(xiě)地址(數(shù)據(jù)讀寫(xiě)地址),其中實(shí)時(shí)調(diào)試接口105比較檢索的地址,與此時(shí)活動(dòng)的讀消息處理或?qū)懴⑻幚碇刑貏e定義的地址范圍。在圖5所示的示例中,實(shí)時(shí)調(diào)試接口105比較數(shù)據(jù)寫(xiě)地址與有效地址范圍,并確定調(diào)試地址的比較匹配,然后按事件箭頭513所示方式,比照地認(rèn)定更新數(shù)據(jù)信號(hào)。如事件箭頭515所示,由實(shí)時(shí)調(diào)試接口105進(jìn)行的更新數(shù)據(jù)信號(hào)的認(rèn)定,使得虛擬數(shù)據(jù)總線上的信號(hào)經(jīng)由邏輯門(mén)301和303,傳送到調(diào)試數(shù)據(jù)總線,導(dǎo)致在調(diào)試數(shù)據(jù)總線上認(rèn)定的寫(xiě)數(shù)據(jù)。
      可以理解,邏輯門(mén)205、301,鎖存器201和緩沖器203、303提供隔離,而隔離提供降低虛擬總線113上之加載的優(yōu)點(diǎn)。使用降低調(diào)試地址和調(diào)試數(shù)據(jù)總線的轉(zhuǎn)換的更新地址和更新數(shù)據(jù)信號(hào),進(jìn)一步提供了降低虛擬總線113上之加載的優(yōu)點(diǎn),同時(shí)明顯節(jié)省了嵌入處理器107的電能,從而節(jié)省了嵌入系統(tǒng)103的電能。
      盡管連同最佳實(shí)施方式一起說(shuō)明了根據(jù)本發(fā)明的系統(tǒng)和方法,但其意圖并不是限制于此處所闡述的特定形式,而是相反,其意圖是覆蓋包含于權(quán)利要求書(shū)定義的本發(fā)明之實(shí)質(zhì)和范圍內(nèi)的上述選擇、修改和等同物。
      權(quán)利要求
      1.一種集成電路,其特征在于一個(gè)核心處理器,用于在核心處理器的正常操作期間,提供操作信號(hào);一個(gè)邏輯電路,具有一個(gè)用于接收操作信號(hào)的輸入端,一個(gè)用于接收調(diào)試更新信號(hào)的第二輸入端,和一個(gè)輸出端;以及一個(gè)實(shí)時(shí)調(diào)試電路,具有提供調(diào)試更新信號(hào)的一個(gè)第一輸出端,連接到該邏輯電路之輸出端的一個(gè)第一輸入端,和一個(gè)第二輸出端,其中第二輸出端連接到可從集成電路之外部訪問(wèn)的輔助總線。
      2.權(quán)利要求1的集成電路,其中集成電路具有調(diào)試方式,并且實(shí)時(shí)調(diào)試電路具有作為調(diào)試方式的子集的可選方式。
      3.權(quán)利要求2的集成電路,其中在可選方式持續(xù)的過(guò)程中認(rèn)定調(diào)試更新信號(hào)。
      4.權(quán)利要求3的集成電路,其中核心處理器生成到達(dá)實(shí)時(shí)調(diào)試電路的處理器狀態(tài)信號(hào),并且響應(yīng)表示處理器地址流改變的處理器狀態(tài)信號(hào),認(rèn)定調(diào)試更新信號(hào)。
      5.權(quán)利要求3的集成電路,其中核心處理器生成到達(dá)實(shí)時(shí)調(diào)試電路的處理器狀態(tài)信號(hào),并且響應(yīng)表示處理器數(shù)據(jù)訪問(wèn)的處理器狀態(tài)信號(hào),認(rèn)定調(diào)試更新信號(hào)。
      6.一種在具有調(diào)試電路和核心處理器的集成電路中的實(shí)時(shí)調(diào)試系統(tǒng)中使用的方法,其中核心處理器生成供集成電路內(nèi)部使用的操作信號(hào),該方法的特征在于包括以下步驟在集成電路的正常操作期間,進(jìn)入調(diào)試方式;進(jìn)入可選方式,該可選方式為調(diào)試方式的子集;響應(yīng)調(diào)試電路在可選方式期間認(rèn)定調(diào)試信號(hào),將操作信號(hào)連接到調(diào)試電路;以及響應(yīng)調(diào)試電路在可選方式期間取消認(rèn)定調(diào)試信號(hào),阻塞調(diào)試電路中的操作信號(hào)。
      全文摘要
      一種實(shí)時(shí)處理器調(diào)試系統(tǒng),在實(shí)時(shí)操作期間對(duì)核心處理器之虛擬總線的地址和數(shù)據(jù)信號(hào)進(jìn)行選擇采樣,降低功耗和性能影響。嵌入處理器的選通邏輯電路,向嵌入系統(tǒng)芯片或集成電路(IC)的調(diào)試接口,提供核心處理器的虛擬總線信號(hào),包括地址和數(shù)據(jù)信號(hào)。選通邏輯電路從調(diào)試接口接收更新數(shù)據(jù)和更新地址信號(hào),以控制相應(yīng)調(diào)試地址和數(shù)據(jù)總線上的轉(zhuǎn)換。核心處理器向調(diào)試接口提供處理器狀態(tài)信號(hào),調(diào)試接口確定核心處理器執(zhí)行的特定事務(wù)。
      文檔編號(hào)G06F11/36GK1308279SQ0110309
      公開(kāi)日2001年8月15日 申請(qǐng)日期2001年2月6日 優(yōu)先權(quán)日2000年2月7日
      發(fā)明者威廉·C.·摩耶爾, 邁克爾·D.·菲茲西蒙斯, 理查德·G.·柯林斯 申請(qǐng)人:摩托羅拉公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1