国产精品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>

      監(jiān)控?cái)?shù)據(jù)處理設(shè)備和概括監(jiān)控?cái)?shù)據(jù)的制作方法

      文檔序號(hào):6578219閱讀:229來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):監(jiān)控?cái)?shù)據(jù)處理設(shè)備和概括監(jiān)控?cái)?shù)據(jù)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體地涉及數(shù)據(jù)處理系統(tǒng)的監(jiān)控。
      背景技術(shù)
      數(shù)據(jù)處理設(shè)備正變得越來(lái)越復(fù)雜,因此,不提取和分析大量數(shù)據(jù),將 越來(lái)越難分析它們的性能,不管是為了最佳化還是發(fā)現(xiàn)故障。
      而且,數(shù)據(jù)處理設(shè)備越來(lái)越多地具有多個(gè)處理器。這些多個(gè)處理器常 常訪(fǎng)問(wèn)相同的數(shù)據(jù)存儲(chǔ)裝置,因此,在一個(gè)處理器在與另一個(gè)處理器訪(fǎng)問(wèn) 某 一存儲(chǔ)的變量的時(shí)間大致相同的時(shí)間寫(xiě)入到該存儲(chǔ)的變量的場(chǎng)合下,出 現(xiàn)竟?fàn)帡l件問(wèn)題。由于在處理器之間的不足的同步,將出現(xiàn)這樣的問(wèn)題。
      當(dāng)調(diào)節(jié)多處理器系統(tǒng)的性能時(shí)將出現(xiàn)不同但相關(guān)的問(wèn)題。程序員需要 明白由于例如總線(xiàn)竟?fàn)幵诓煌奶幚砥魃显谕粫r(shí)間運(yùn)行兩段代碼的性 能暗示。
      而且,重要的是能夠檢驗(yàn)函數(shù)只在它們的許可范圍內(nèi)訪(fǎng)問(wèn)存儲(chǔ)器的某 些部分,而不在這個(gè)范圍以外訪(fǎng)問(wèn)存儲(chǔ)器。
      檢驗(yàn)竟?fàn)帡l件的一個(gè)已知的方法是通過(guò)動(dòng)態(tài)竟?fàn)帣z測(cè)機(jī)制,例如,在
      Savage 等人的"Eraser: a dynamic data race detector for multithreaded programs", ACM transactions on computer Systems(TOCS)巻 15,號(hào) 4, 1997年11月,第391-411頁(yè),1997中描述的擦除器系統(tǒng)。擦除器系統(tǒng)修改 它正在監(jiān)控的程序,以便監(jiān)控每個(gè)共享的存儲(chǔ)器參考和驗(yàn)證觀(guān)察到一致的 鎖定行為。諸如這樣的運(yùn)行時(shí)間修改具有與其有關(guān)的兩個(gè)問(wèn)題。首先,它 可以引起很大的減慢(擦除器典型地使得系統(tǒng)變慢到原來(lái)的1/30到1/10), 因此它不能在實(shí)時(shí)系統(tǒng)中應(yīng)用,其次,它修改軟件,因此它不能被使用來(lái) 檢測(cè)通過(guò)與加速器交互而引起的問(wèn)題,即所述加速器或者是不可編程的(例 如,DMA控制器)或者沒(méi)有足夠豐富的指令組來(lái)表示監(jiān)控代碼,或者是在 因?yàn)閷?shí)際的或法律的原因不能修改代碼的場(chǎng)合下。
      檢驗(yàn)竟?fàn)帡l件的另一個(gè)方法是通過(guò)靜態(tài)竟?fàn)帣z測(cè)機(jī)制,例如,由 Detlefs等人在HP實(shí)驗(yàn)室技術(shù)報(bào)告SRC-RR-159中描述的"Extended Static Checking(擴(kuò)展的靜態(tài)檢驗(yàn)),,(ESC) http:〃麗w.hpl.hp.com/techi印orts /compaq國(guó)DEC/SRC-RR誦159.HTML;和在Engels等人的"Checking SystemRules Using System-Specific, Programmer-Written Compiler Extensions", Proceedings of the 4th Symposium on Operating system Design and Implementation中描述的MC系統(tǒng)。
      這兩個(gè)靜態(tài)方法都通過(guò)執(zhí)行對(duì)程序的靜態(tài)分析而工作,目的是檢測(cè)在 程序中的大多數(shù)竟?fàn)帡l件,而不是證明它們是不存在的。MC是通過(guò)檢驗(yàn) 在獲取鎖和釋放鎖時(shí)程序員遵循所建立的(人工驗(yàn)證的)慣用語(yǔ)而工作,而 ESC執(zhí)行關(guān)于程序的更深的推理,它也可以檢測(cè)諸如超過(guò)陣列邊界寫(xiě)入那 樣的問(wèn)題。靜態(tài)分析避免與動(dòng)態(tài)檢測(cè)相關(guān)聯(lián)的開(kāi)銷(xiāo),但它不能發(fā)現(xiàn)動(dòng)態(tài)檢 測(cè)可以抓住的某些竟?fàn)帡l件。此外,靜態(tài)分析工具通常只支持有限的鎖定 協(xié)定組,而當(dāng)使用不同的鎖定協(xié)定時(shí)不能進(jìn)行檢測(cè)(或報(bào)告許多錯(cuò)誤肯定)。
      有許多可用的工具,用于對(duì)處理系統(tǒng)進(jìn)行簡(jiǎn)要描述,以便提供它的性 能的指示。例如,許多操作系統(tǒng)具有工具,這些工具產(chǎn)生顯示每個(gè)CPU 有多忙、有多少存儲(chǔ)器在使用中、和這些數(shù)目如何隨時(shí)間變化的圖。
      這些簡(jiǎn)要描述工具可以依賴(lài)于由系統(tǒng)硬件提供的性能計(jì)數(shù)器。例如, 大多數(shù)現(xiàn)代處理器可以對(duì)事件進(jìn)行計(jì)數(shù),如所執(zhí)行的指令的數(shù)目或緩存遺 漏的數(shù)目。這些計(jì)數(shù)器典型地以?xún)蓚€(gè)模式被使用。在一個(gè)模式中(我們將把 它稱(chēng)為"單觸發(fā)模式"),程序員(或工具)修改程序,在任務(wù)開(kāi)始時(shí)打開(kāi)計(jì)數(shù) 器,并在任務(wù)結(jié)束時(shí)讀出計(jì)數(shù)器數(shù)值。這個(gè)數(shù)值呈現(xiàn)給用戶(hù)或先被存儲(chǔ), 在以后的時(shí)間點(diǎn)再呈現(xiàn)給用戶(hù)。在另 一個(gè)模式中(我們把它稱(chēng)為"周期采樣 "),周期性中斷觸發(fā)一個(gè)庫(kù),來(lái)讀出性能計(jì)數(shù)器和把數(shù)值流出到存儲(chǔ)裝置, 用于以后檢查。它們例如可被顯示為圖。
      在兩種情形下,需要處理器讀出當(dāng)前的計(jì)數(shù)器數(shù)值。這個(gè)要求使得該 過(guò)程受侵害(測(cè)量動(dòng)作可能會(huì)毀壞結(jié)果)。它也對(duì)負(fù)責(zé)讀取性能計(jì)數(shù)器的處 理器施加開(kāi)銷(xiāo),這最終限制進(jìn)行測(cè)量的粒度和還可能限制精度。
      與單觸發(fā)模式相比較,在"周期采樣"模式下使用性能計(jì)數(shù)器具有缺 點(diǎn),即人們希望監(jiān)控的任務(wù)可能在一個(gè)采樣周期的半途開(kāi)始,并在另一個(gè) 采樣周期的半途結(jié)束,導(dǎo)致不精確的性能指數(shù)。這種不精確性可以通過(guò)減 小采樣周期而被減小,但這增加了侵害的程度,而且只要有某些不精確性, 就不能確信地說(shuō)一個(gè)事件在某個(gè)任務(wù)期間肯定發(fā)生或在該任務(wù)期間肯定 不發(fā)生。
      性能計(jì)數(shù)器的周期采樣的一個(gè)變例是隨機(jī)采樣。這解決了當(dāng)采樣周期 是正在測(cè)量的事件的頻率的精確的倍數(shù)時(shí)出現(xiàn)的某些問(wèn)題,但沒(méi)有減小不
      精確性。精確性和侵害的問(wèn)題可以通過(guò)提供追蹤所有的感興趣的事件的硬件 而被解決。片外的工具可以概括這種追蹤,以產(chǎn)生非常詳細(xì)的、精確的曲 線(xiàn)圖。這樣的方法的缺點(diǎn)在于,如果事件以高的頻率發(fā)生,則為了產(chǎn)生追 蹤需要很大的帶寬,為了存儲(chǔ)它需要大量的存儲(chǔ)裝置,以及需要大量處理 來(lái)概括它。如果一個(gè)人想要單獨(dú)地檢查事件,那么這是有用的,但對(duì)于性 能簡(jiǎn)要描述或?qū)τ跈z測(cè)竟?fàn)帡l件,這是小題大做的。
      希望能夠在實(shí)時(shí)期間分析復(fù)雜的系統(tǒng),而不需要收集和從而輸出和處 理非常大量的數(shù)據(jù)。

      發(fā)明內(nèi)容
      從第一方面看來(lái),本發(fā)明提供數(shù)據(jù)處理設(shè)備,其包括監(jiān)控電路,用于 監(jiān)控在開(kāi)始和結(jié)束事件之間發(fā)生的、在所述數(shù)據(jù)處理設(shè)備內(nèi)對(duì)多個(gè)可尋址
      的位置的訪(fǎng)問(wèn),所述監(jiān)控電路包括用于存儲(chǔ)標(biāo)識(shí)要監(jiān)控的所述多個(gè)可尋 址的位置的數(shù)據(jù)的地址位置存儲(chǔ)裝置和監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置;所述監(jiān)控電路 響應(yīng)于所述開(kāi)始事件的檢測(cè),以檢測(cè)對(duì)所述多個(gè)可尋址位置的訪(fǎng)問(wèn)和把有 關(guān)所述檢測(cè)的訪(fǎng)問(wèn)的概括的監(jiān)控?cái)?shù)據(jù)存儲(chǔ)在所述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置中;以 及所述監(jiān)控電路響應(yīng)于所述結(jié)束事件的檢測(cè),以停止收集所述監(jiān)控?cái)?shù)據(jù); 所述監(jiān)控電路響應(yīng)于清洗事件的檢測(cè),以輸出所述存儲(chǔ)的監(jiān)控?cái)?shù)據(jù)和清洗 所述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置。
      本發(fā)明認(rèn)識(shí)到,當(dāng)通過(guò)使用傳統(tǒng)的追蹤方法追蹤數(shù)據(jù)處理系統(tǒng)的活動(dòng) 時(shí),生成包括代表在系統(tǒng)內(nèi)的逐步的活動(dòng)的數(shù)據(jù)的追蹤流,并輸出這個(gè)數(shù) 據(jù),以使得片外工具可以概括它。然而,該方法的缺點(diǎn)在于,活動(dòng)會(huì)以高 的頻率發(fā)生,從而需要大量的帶寬來(lái)產(chǎn)生追蹤,需要大量的存儲(chǔ)裝置來(lái)存 儲(chǔ)它,以及需要大量處理來(lái)概括它。對(duì)于越來(lái)越復(fù)雜的系統(tǒng),這個(gè)問(wèn)題變 得越來(lái)越嚴(yán)重。本發(fā)明通過(guò)使用開(kāi)始和結(jié)束事件作為限制而限制及時(shí)監(jiān)控 的訪(fǎng)問(wèn),并在空間上進(jìn)一步限制到特定的地址位置而解決這個(gè)問(wèn)題。而且, 系統(tǒng)然后僅僅收集和輸出檢測(cè)的訪(fǎng)問(wèn)的概括,然后清除監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝 置。
      這樣,可以生成與在特定的事件之間出現(xiàn)的和到特定的地址范圍的訪(fǎng) 問(wèn)有關(guān)的監(jiān)控?cái)?shù)據(jù)組。因此,所生成的監(jiān)控?cái)?shù)據(jù)可以在時(shí)間上和空間上被 瞄準(zhǔn)。而且,通過(guò)只輸出出現(xiàn)的訪(fǎng)問(wèn)的概括,數(shù)據(jù)輸出量的帶寬可以大大 地減小,概括的類(lèi)型的適當(dāng)?shù)倪x擇可以幫助保證,所輸出的減少的數(shù)據(jù)是說(shuō)明書(shū)第4/16頁(yè)
      有用的數(shù)據(jù)。
      在一些實(shí)施例中,所述開(kāi)始事件、所述結(jié)束事件和所述清洗事件是同 一個(gè)事件,以使得響應(yīng)于所述同一個(gè)事件,所述監(jiān)控電路停止監(jiān)控,輸出 所述監(jiān)控?cái)?shù)據(jù),清洗所述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置和開(kāi)始再次檢測(cè)對(duì)所述多個(gè)可 尋址的位置的訪(fǎng)問(wèn)。
      如果同一個(gè)事件觸發(fā)數(shù)據(jù)的開(kāi)始、結(jié)束和清洗,則通過(guò)在每個(gè)事件時(shí) 輸出數(shù)據(jù),實(shí)際上達(dá)到對(duì)系統(tǒng)的連續(xù)監(jiān)控。因此,監(jiān)控的數(shù)據(jù)被分段,并 且收集對(duì)于不同的時(shí)間段的訪(fǎng)問(wèn)數(shù)據(jù)的概括。如果需要在兩個(gè)更寬地間隔 開(kāi)的事件之間的信息,則這些可被組合在一起。
      在其它實(shí)施例中,開(kāi)始、結(jié)束和清洗事件可以是不同的事件,或替換 地,可以是,開(kāi)始事件也是清洗事件,從而觸發(fā)清洗,或結(jié)束事件也是清 洗事件,從而觸發(fā)數(shù)據(jù)的輸出和數(shù)據(jù)存儲(chǔ)裝置的清洗。
      在一些實(shí)施例中,所述開(kāi)始、結(jié)束和清洗事件,每個(gè)包括任務(wù)的開(kāi)始、 任務(wù)的結(jié)束、存儲(chǔ)器阻擋指令、特定的時(shí)間消逝、計(jì)數(shù)器溢出、計(jì)數(shù)器到 達(dá)閾值、寫(xiě)入到控制寄存器、訪(fǎng)問(wèn)預(yù)定的區(qū)域內(nèi)的地址、中斷、打斷點(diǎn)出
      現(xiàn)、發(fā)送事件指令、等待事件指令、負(fù)荷獨(dú)有的指令(如在例如ARM處理 器中發(fā)現(xiàn)的)、存儲(chǔ)裝置獨(dú)有的指令(如在例如ARM處理器中發(fā)現(xiàn)的)、原 子存儲(chǔ)器(atomic memory)操作(諸如基本比較與交換指令)、在總線(xiàn)上的 存儲(chǔ)器阻擋指示、在總線(xiàn)上的負(fù)荷獨(dú)有的指示、在總線(xiàn)上的存儲(chǔ)裝置獨(dú)有 的指示、在總線(xiàn)上的原子存儲(chǔ)器訪(fǎng)問(wèn)指示、和定時(shí)器之一。
      可以觸發(fā)數(shù)據(jù)的輸出和數(shù)據(jù)存儲(chǔ)裝置的清洗和檢測(cè)的重新開(kāi)始的不 同的事件可以是許多事情。實(shí)際上可以使用有助于監(jiān)控其間的訪(fǎng)問(wèn)的任何 事件。如果希望監(jiān)控在該任務(wù)內(nèi)出現(xiàn)的訪(fǎng)問(wèn),實(shí)例是任務(wù)的開(kāi)始和結(jié)束, 以及存儲(chǔ)器阻擋指令,即被使用來(lái)保證在這個(gè)時(shí)刻執(zhí)行對(duì)存儲(chǔ)器的所有的 待決的訪(fǎng)問(wèn)的指令。替換地,事件可以是預(yù)定的時(shí)間消逝或計(jì)數(shù)器溢出或 達(dá)到閾值。如果在監(jiān)控電路中使用計(jì)數(shù)器,后兩種情形是特別有用的,因 為這避免被存儲(chǔ)在計(jì)數(shù)器中的數(shù)據(jù)丟失。替換地,事件可包括寫(xiě)入到控制 寄存器。這個(gè)例子允許在用戶(hù)的控制下進(jìn)行觸發(fā),因?yàn)樵谔幚砥髦械母鞣N 事件可以由用戶(hù)選擇,以便觸發(fā)把數(shù)值寫(xiě)入到控制觸發(fā)器。在另一個(gè)實(shí)施 例中,事件可以是對(duì)特定的區(qū)域內(nèi)特定的地址的訪(fǎng)問(wèn),這個(gè)特定的區(qū)域可 以是存儲(chǔ)對(duì)存儲(chǔ)器區(qū)域的鎖定的地方,因此,訪(fǎng)問(wèn)在那里指明存儲(chǔ)器范圍 是被鎖住還是被開(kāi)鎖,或它可以是裝置從其開(kāi)始的區(qū)域,在這種情形下,訪(fǎng)問(wèn)在那里指示設(shè)備要被開(kāi)始。替換地,事件可以是出現(xiàn)中斷或斷點(diǎn)。 在一些實(shí)施例中,所述監(jiān)控?cái)?shù)據(jù)輸出還包括標(biāo)識(shí)所述開(kāi)始、清洗和結(jié)
      束事件的至少一項(xiàng)的信號(hào)。
      可以是,開(kāi)始事件、結(jié)束事件或清洗事件被多個(gè)信號(hào)觸發(fā)。在這種情
      形下,可能希望發(fā)送具有監(jiān)控?cái)?shù)據(jù)的信號(hào)的指示,因?yàn)檫@將提供與監(jiān)控?cái)?shù)
      據(jù)有關(guān)的、允許它更容易進(jìn)行分析的附加信息。
      在一些實(shí)施例中,所述監(jiān)控?cái)?shù)據(jù)還包括指示每次訪(fǎng)問(wèn)的時(shí)間的時(shí)間戳數(shù)據(jù)。
      在監(jiān)控時(shí)有用的另外的數(shù)據(jù)是時(shí)間戳數(shù)據(jù),因?yàn)橹朗裁词录谑裁?時(shí)間出現(xiàn),常常是有用的,因?yàn)槿缓罂梢跃_地推導(dǎo)出這些事件的次序。 如果處理器包括具有它的訪(fǎng)問(wèn)的時(shí)間戳數(shù)據(jù),則這個(gè)數(shù)據(jù)對(duì)于監(jiān)控是有用 的,以及在一些實(shí)施例中,它和監(jiān)控?cái)?shù)據(jù)一起被存儲(chǔ)。
      在一些實(shí)施例中,所述檢測(cè)的訪(fǎng)問(wèn)的所述概括包括通過(guò)散列函數(shù)被計(jì) 算的所述訪(fǎng)問(wèn)的指印,而在其它實(shí)施例中,所述檢測(cè)的訪(fǎng)問(wèn)的所述概括包 括所述訪(fǎng)問(wèn)的計(jì)數(shù)。
      所述檢測(cè)的訪(fǎng)問(wèn)可以以許多方式進(jìn)行概括,這包括把數(shù)據(jù)組合,以使 得需要輸出較少的數(shù)據(jù)并且數(shù)據(jù)仍舊是有用的。因此,散列函數(shù)可被使用 來(lái)組合最新的訪(fǎng)問(wèn)信息。數(shù)值序列的散列可被選擇為如果兩個(gè)序列的散列 是相同的,則有非常高的概率是序列也是相同的。也就是,散列函數(shù)可被 使用來(lái)生成對(duì)于數(shù)值序列的"簽名"。計(jì)算數(shù)值序列的散列是碼片上的概 括數(shù)據(jù)的數(shù)值的良好的說(shuō)明原始的數(shù)值序列是大的(需要高的帶寬來(lái)進(jìn)行 追蹤和大的空間用來(lái)存儲(chǔ)),并且是笨拙的(序列可以具有可變的長(zhǎng)度和需 要許多操作來(lái)進(jìn)行比較),而概括插進(jìn)存儲(chǔ)器的僅僅一個(gè)或兩個(gè)數(shù)據(jù)字中, 并且可以通過(guò)使用僅僅幾個(gè)操作進(jìn)行比較。替換地,數(shù)據(jù)訪(fǎng)問(wèn)次數(shù)的計(jì)數(shù) 可以是有用的,并且計(jì)數(shù)器可被使用來(lái)計(jì)數(shù)這個(gè)次數(shù),并且可以輸出這個(gè) 次數(shù),而不是關(guān)于每個(gè)各個(gè)訪(fǎng)問(wèn)的信息。
      在一些實(shí)施例中,所述監(jiān)控電路包括計(jì)數(shù)器,用于計(jì)數(shù)對(duì)所述多個(gè)可 尋址的位置的訪(fǎng)問(wèn)的次數(shù)。
      如果需要訪(fǎng)問(wèn)的計(jì)數(shù),則在監(jiān)控電路中可以使用計(jì)數(shù)器來(lái)計(jì)數(shù)所述訪(fǎng) 問(wèn)。這樣的計(jì)數(shù)器可以是環(huán)繞計(jì)數(shù)器,或它可以是飽和計(jì)數(shù)器。飽和計(jì)數(shù) 器具有優(yōu)點(diǎn),即它避免如果在事件之間發(fā)生溢出時(shí)對(duì)于環(huán)繞計(jì)數(shù)器可能出 現(xiàn)的完全錯(cuò)誤的信息被輸出的風(fēng)險(xiǎn)。在一些實(shí)施例中,計(jì)數(shù)器可以是l比特飽和計(jì)數(shù)器,這可被使用于其中重要的是檢測(cè)是否發(fā)生特定的訪(fǎng)問(wèn)而不 是訪(fǎng)問(wèn)的次數(shù)的場(chǎng)合。
      在一些實(shí)施例中,所述多個(gè)可尋址的位置包括一個(gè)地址范圍、多個(gè)地
      址范圍、 一組特定的地址和一個(gè)地址范圍的反(inverse )的至少一項(xiàng)。
      多個(gè)可尋址的位置可以是一個(gè)地址范圍或多個(gè)地址范圍,或它可以是 以不同的方式選擇的一組特定的地址。替換地,它可以是一個(gè)地址范圍的 反,以使得它是特定的范圍以外的任何地址。如果希望檢驗(yàn)特定的實(shí)體或 過(guò)程是否訪(fǎng)問(wèn)它允許的范圍以外的地址的話(huà),后者可以是有用的。
      在一些實(shí)施例中,所述多個(gè)可尋址的位置包括多個(gè)地址范圍,以及所 述檢測(cè)的訪(fǎng)問(wèn)的所述概括包括關(guān)于所述訪(fǎng)問(wèn)是對(duì)于所述多個(gè)地址范圍的 哪個(gè)地址的指示。
      對(duì)于其進(jìn)行訪(fǎng)問(wèn)的多個(gè)地址范圍可被各個(gè)地監(jiān)控,以使得關(guān)于對(duì)每個(gè) 范圍的訪(fǎng)問(wèn)的信息被分開(kāi)地存儲(chǔ),或?qū)讉€(gè)范圍的訪(fǎng)問(wèn)可被集中在一起, 如果信息是所需要的信息的話(huà)。
      在一些實(shí)施例中,所述檢測(cè)的訪(fǎng)問(wèn)的所述概括還包括指示訪(fǎng)問(wèn)的類(lèi)型 的數(shù)據(jù)、標(biāo)識(shí)作出所述訪(fǎng)問(wèn)的實(shí)體的標(biāo)識(shí)符、指示由至少一個(gè)所述實(shí)體進(jìn) 行的每種類(lèi)型的所述訪(fǎng)問(wèn)的次數(shù)的數(shù)據(jù)和關(guān)于所述訪(fǎng)問(wèn)是對(duì)多個(gè)地址范 圍中的哪個(gè)地址范圍的指示的至少 一 項(xiàng)。
      除了訪(fǎng)問(wèn)次數(shù)以外,^t括還可包括訪(fǎng)問(wèn)的類(lèi)型、和標(biāo)識(shí)作出訪(fǎng)問(wèn)的實(shí) 體的標(biāo)識(shí)符。實(shí)體可以是許多事物,諸如某種主體,例如處理器或加速器。 概括還可包括關(guān)于例如它是讀出還是寫(xiě)入的訪(fǎng)問(wèn)類(lèi)型的信息。訪(fǎng)問(wèn)的計(jì)數(shù) 可以是訪(fǎng)問(wèn)的總數(shù)的計(jì)數(shù),或可以是來(lái)自不同的實(shí)體的不同的訪(fǎng)問(wèn)類(lèi)型可 能被分開(kāi)地計(jì)數(shù)。當(dāng)為了性能或?yàn)榱藱z錯(cuò)原因分析處理設(shè)備時(shí),可以看到, 關(guān)于在兩個(gè)事件之間出現(xiàn)的由每個(gè)實(shí)體對(duì)特定的地址或特定的范圍的地 址的訪(fǎng)問(wèn)的次數(shù)和類(lèi)型的信息是有用的信息,因此,這樣地概括信息將減 小數(shù)據(jù)輸出而同時(shí)保持它的許多價(jià)值。
      在一些實(shí)施例中,所述監(jiān)控電路包括多個(gè)計(jì)數(shù)器,每個(gè)計(jì)數(shù)器涉及到 一個(gè)或多個(gè)所述實(shí)體、 一個(gè)或多個(gè)所述多個(gè)地址范圍和數(shù)據(jù)訪(fǎng)問(wèn)的類(lèi)型的 至少一項(xiàng)。
      記錄實(shí)體在其中執(zhí)行訪(fǎng)問(wèn)的數(shù)據(jù)的 一個(gè)方法是使得計(jì)數(shù)器與每個(gè)實(shí) 體有關(guān)和每次在實(shí)體進(jìn)行特定的訪(fǎng)問(wèn)時(shí)給計(jì)數(shù)器加增量。對(duì)于每個(gè)實(shí)體可
      以有一個(gè)計(jì)數(shù)器,或可能希望計(jì)數(shù)由兩個(gè)實(shí)體或幾個(gè)實(shí)體一起作出訪(fǎng)問(wèn),或?qū)τ诿總€(gè)實(shí)體可以有幾個(gè)計(jì)數(shù)器,每個(gè)計(jì)數(shù)不同的類(lèi)型的訪(fǎng)問(wèn)。計(jì)數(shù)器 也可以:故使用于不同的地址范圍。
      在一些實(shí)施例中,所述監(jiān)控電路被耦接到在所述數(shù)據(jù)處理設(shè)備內(nèi)的總 線(xiàn)端口,所述實(shí)體包括多個(gè)總線(xiàn)主控器。
      雖然數(shù)據(jù)處理設(shè)備可以以許多方式被安排,但可能希望監(jiān)控電路被耦 接到總線(xiàn)端口,這可以是總線(xiàn)主控器端口或總線(xiàn)受控器端口,監(jiān)控電路然 后可以通過(guò)查看在總線(xiàn)主控器端口上的、表示從其發(fā)送信號(hào)的主控器的信 號(hào)而確定哪個(gè)實(shí)體發(fā)送哪個(gè)訪(fǎng)問(wèn)。
      雖然在一些實(shí)施例中監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置可以以許多方式被形成,但所 述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置包括高速緩沖存儲(chǔ)器。
      在一些實(shí)施例中,所述檢測(cè)的訪(fǎng)問(wèn)的所述概括還包括還包括指示訪(fǎng)問(wèn)
      的類(lèi)型的數(shù)據(jù)、標(biāo)識(shí)作出所述訪(fǎng)問(wèn)的實(shí)體的標(biāo)識(shí)符、指示由至少一個(gè)所述
      實(shí)體進(jìn)行的每種類(lèi)型的所述訪(fǎng)問(wèn)的次數(shù)的數(shù)據(jù)和關(guān)于所述訪(fǎng)問(wèn)是對(duì)多個(gè)
      地址范圍中的哪個(gè)地址范圍的指示的至少一項(xiàng),所述高速緩沖存儲(chǔ)器被配
      置成存儲(chǔ)多組監(jiān)控?cái)?shù)據(jù),每組監(jiān)控?cái)?shù)據(jù)與一個(gè)或多個(gè)所述實(shí)體、數(shù)據(jù)訪(fǎng)問(wèn) 類(lèi)型和一個(gè)或多個(gè)所述多個(gè)地址范圍的至少一項(xiàng)有關(guān)。
      高速緩沖存儲(chǔ)器可以有效地存儲(chǔ)多組監(jiān)控?cái)?shù)據(jù),由此避免需要許多單 獨(dú)的數(shù)據(jù)存儲(chǔ)裝置,諸如單獨(dú)的計(jì)數(shù)器。這可以是存儲(chǔ)信息的有效的方式。
      在一些實(shí)施例中,所述監(jiān)控電路包括邏輯,用于響應(yīng)于對(duì)所述高速緩 沖存儲(chǔ)器已充滿(mǎn)的檢測(cè)和檢測(cè)的訪(fǎng)問(wèn),清洗所述多組監(jiān)控?cái)?shù)據(jù)中的 一組監(jiān) 控?cái)?shù)據(jù)。
      使用高速緩沖存儲(chǔ)器來(lái)存儲(chǔ)信息的一個(gè)優(yōu)點(diǎn)在于,要被檢測(cè)的許多訪(fǎng) 問(wèn)可以不發(fā)生。在這樣的情形下,在高速緩沖存儲(chǔ)器中不使用存儲(chǔ)空間, 高速緩沖存儲(chǔ)器只存儲(chǔ)已出現(xiàn)的訪(fǎng)問(wèn)的計(jì)數(shù)。如果訪(fǎng)問(wèn)確實(shí)出現(xiàn),并且沒(méi) 有更多空間來(lái)存儲(chǔ)它,則在一些實(shí)施例中,與不同的訪(fǎng)問(wèn)有關(guān)的、已收集 的較早先數(shù)據(jù)被輸出,然后存儲(chǔ)空間可被使用來(lái)存儲(chǔ)新檢測(cè)的訪(fǎng)問(wèn)。
      在一些實(shí)施例中,所述數(shù)據(jù)處理設(shè)備包括多個(gè)處理單元和多個(gè)監(jiān)控電路。
      這里使用的監(jiān)控電路可被使用來(lái)監(jiān)控具有諸如處理器那樣的幾個(gè)處
      理單元、總線(xiàn)主控器和DMA控制器的復(fù)雜的數(shù)據(jù)處理設(shè)備。為了做到這 一點(diǎn),單個(gè)監(jiān)控電路可以與由多個(gè)處理器檢測(cè)訪(fǎng)問(wèn)相結(jié)合地使用,或可以 使用多個(gè)監(jiān)控電路,每個(gè)監(jiān)控一個(gè)或幾個(gè)處理器。這些多個(gè)電路可以由不同的開(kāi)始和結(jié)束事件觸發(fā),或它們可以由同 一個(gè)事件觸發(fā)。
      在一些實(shí)施例中,所述數(shù)據(jù)處理設(shè)備還包括事件配置存儲(chǔ)裝置,所述 數(shù)據(jù)處理設(shè)備適配于響應(yīng)于預(yù)定的指令寫(xiě)入到所述事件配置存儲(chǔ)裝置,所 述監(jiān)控電路響應(yīng)于在所述事件配置存儲(chǔ)裝置中存儲(chǔ)的數(shù)值,或者開(kāi)始監(jiān)控 所述多個(gè)可尋址的位置,輸出所述監(jiān)控?cái)?shù)據(jù),或者清洗所述監(jiān)控?cái)?shù)據(jù)。
      監(jiān)控電路可以響應(yīng)于在事件配置存儲(chǔ)裝置中存儲(chǔ)的數(shù)值,以開(kāi)始監(jiān) 控,停止監(jiān)控,輸出和清洗監(jiān)控?cái)?shù)據(jù)。在這樣的情形下,數(shù)據(jù)處理設(shè)備響 應(yīng)于特定的指令寫(xiě)入到事件配置存儲(chǔ)裝置,因此,開(kāi)始和停止監(jiān)控可以由 被插入到代碼中的指令控制,并由數(shù)據(jù)處理設(shè)備處理。
      在一些實(shí)施例中,數(shù)據(jù)處理設(shè)備包括用于接收用于更新所述地址位置 存儲(chǔ)裝置的數(shù)據(jù)的數(shù)據(jù)輸入端,所述地址位置存儲(chǔ)裝置用于存儲(chǔ)標(biāo)識(shí)所述 多個(gè)可尋址的位置的數(shù)據(jù)。
      用于存儲(chǔ)標(biāo)識(shí)多個(gè)可尋址的位置的數(shù)據(jù)的地址位置存儲(chǔ)裝置可被更 新,以使得設(shè)備可配置來(lái)監(jiān)控不同的地址。這可以響應(yīng)于由用戶(hù)或許經(jīng)由
      調(diào)試程序(debugger)輸入的、在數(shù)據(jù)輸入端處的信號(hào)而完成。替換地,它可 以由來(lái)自處理器的信號(hào)進(jìn)行更新。
      在一些實(shí)施例中,所述數(shù)據(jù)處理設(shè)備還包括來(lái)自所述數(shù)據(jù)處理設(shè)備的 輸出端,用于響應(yīng)于所述清洗事件輸出所述監(jiān)控?cái)?shù)據(jù),所述清洗事件包括 由所述數(shù)據(jù)處理設(shè)備生成的內(nèi)部事件。
      監(jiān)控?cái)?shù)據(jù)可以響應(yīng)于清洗事件通過(guò)例如把該監(jiān)控?cái)?shù)據(jù)流出追蹤端口 而直接從數(shù)據(jù)處理設(shè)備輸出。該清洗事件包括由該數(shù)據(jù)處理設(shè)備生成的內(nèi) 部事件以便實(shí)際上該設(shè)備自發(fā)輸出監(jiān)控?cái)?shù)據(jù)而不是對(duì)對(duì)該監(jiān)控?cái)?shù)據(jù)的外 部請(qǐng)求作出反應(yīng)。替換地,在其它實(shí)施例中,它可被存儲(chǔ)在數(shù)據(jù)處理設(shè)備 上的存儲(chǔ)器中,供以后被訪(fǎng)問(wèn)和分析。
      按照本發(fā)明的第二方面,提供了監(jiān)控?cái)?shù)據(jù)處理設(shè)備的方法,包括執(zhí)行 以下步驟多次檢測(cè)開(kāi)始事件;檢測(cè)對(duì)多個(gè)可尋址的位置的訪(fǎng)問(wèn),和把有 關(guān)所述檢測(cè)的訪(fǎng)問(wèn)的概括的監(jiān)控?cái)?shù)據(jù)存儲(chǔ)在所述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置;檢測(cè) 結(jié)束事件;輸出所述存儲(chǔ)的監(jiān)控?cái)?shù)據(jù);以及清除所述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置。
      按照本發(fā)明的第三方面,提供了用于分析由按照本發(fā)明的第 一 方面的 數(shù)據(jù)處理設(shè)備生成的監(jiān)控?cái)?shù)據(jù)的方法,包括以下步驟
      接收在多個(gè)開(kāi)始和結(jié)束事件之間生成的、與對(duì)多個(gè)地址位置作出的訪(fǎng) 問(wèn)的概括有關(guān)的多組監(jiān)控?cái)?shù)據(jù);組合來(lái)自不同監(jiān)控?cái)?shù)據(jù)組的監(jiān)控?cái)?shù)據(jù),以便生成與更寬地間隔開(kāi)的開(kāi)
      始和結(jié)束事件有關(guān)的新的監(jiān)控?cái)?shù)據(jù)組;以及
      結(jié)合標(biāo)識(shí)所述開(kāi)始和結(jié)束事件和所述多個(gè)地址位置的數(shù)據(jù)分析所述 監(jiān)控?cái)?shù)據(jù)。
      由本發(fā)明的第 一 方面的數(shù)據(jù)處理設(shè)備輸出的監(jiān)控?cái)?shù)據(jù)需要進(jìn)行分析。 這個(gè)監(jiān)控?cái)?shù)據(jù)被生成為多組監(jiān)控?cái)?shù)據(jù),每組與在特定的事件之間發(fā)生的訪(fǎng) 問(wèn)相關(guān)。當(dāng)分析數(shù)據(jù)時(shí),這些組的有些組-故組合,以便生成與更寬地間隔 開(kāi)的開(kāi)始和結(jié)束事件有關(guān)的新的監(jiān)控?cái)?shù)據(jù)組。這樣地組合這個(gè)監(jiān)控?cái)?shù)據(jù)使 得它能夠如想要的那樣被分析,以使得在直接觸發(fā)監(jiān)控組的收集的事件與 開(kāi)始和結(jié)束不同的監(jiān)控組的其它事件之間發(fā)生的訪(fǎng)問(wèn)可被用作為監(jiān)控信 息。
      在一些實(shí)施例中,所述監(jiān)控?cái)?shù)據(jù)還包括對(duì)哪個(gè)實(shí)體執(zhí)行所述訪(fǎng)問(wèn)的指 外的地址。
      通過(guò)選擇要被監(jiān)控的適當(dāng)?shù)牡刂贩秶蛥^(qū)分作出所述訪(fǎng)問(wèn)的實(shí)體,監(jiān) 控?cái)?shù)據(jù)可被使用來(lái)確定特定的實(shí)體是否執(zhí)行對(duì)在允許范圍以外的地址范 圍進(jìn)行訪(fǎng)問(wèn)。這是有用的信息,它表示在系統(tǒng)中可能有錯(cuò)誤的地方。
      替換地,在其它實(shí)施例中,所述監(jiān)控?cái)?shù)據(jù)還包括對(duì)哪個(gè)實(shí)體執(zhí)行所述 訪(fǎng)問(wèn)的指示;所述分析步驟包括確定不同的實(shí)體是否對(duì)于在一個(gè)所述監(jiān)控 數(shù)據(jù)組內(nèi)的同 一個(gè)地址范圍執(zhí)行寫(xiě)入和讀出。
      分析在兩個(gè)事件之間從不同的實(shí)體對(duì)同 一個(gè)地址范圍的不同的讀出 和寫(xiě)入的訪(fǎng)問(wèn),還可以指示可能有竟?fàn)帡l件的地方。例如,如果當(dāng)實(shí)體開(kāi) 始任務(wù)時(shí)或當(dāng)實(shí)體結(jié)束任務(wù)時(shí)所述同一個(gè)事件被觸發(fā),和如果所述同一個(gè) 地址范圍對(duì)應(yīng)于應(yīng)當(dāng)由一個(gè)任務(wù)一次獨(dú)有地訪(fǎng)問(wèn)的變量,則如果一個(gè)實(shí)體 對(duì)地址范圍執(zhí)行非零次數(shù)的寫(xiě)入并且其它實(shí)體對(duì)該地址范圍執(zhí)行非零次 數(shù)的讀出或?qū)懭?,則它是錯(cuò)誤。應(yīng)當(dāng)指出,任務(wù)是對(duì)于本申請(qǐng)中的處理的 同義詞。
      替換地,在其它實(shí)施例中,監(jiān)控?cái)?shù)據(jù)可被用作系統(tǒng)的性能的指示。在 這樣的實(shí)施例中,所述分析步驟包括通過(guò)把訪(fǎng)問(wèn)次數(shù)除以在所述事件之間 的時(shí)間,而確定在不同的事件之間所述數(shù)據(jù)處理設(shè)備的性能。
      本發(fā)明的第四方面提供計(jì)算機(jī)程序產(chǎn)品,其可操作來(lái)在數(shù)據(jù)處理器上 運(yùn)行時(shí)控制數(shù)據(jù)處理器執(zhí)行按照本發(fā)明的第三方面的方法的步驟。從結(jié)合附圖被閱讀的、以下的說(shuō)明性實(shí)施例的詳細(xì)說(shuō)明將明白本發(fā)明 的以上的和其它的目的、特征和優(yōu)點(diǎn)。


      圖1示出按照本發(fā)明的實(shí)施例的、具有監(jiān)控電路的數(shù)據(jù)處理設(shè)備; 圖2a示出按照本發(fā)明的實(shí)施例的、具有存儲(chǔ)器觀(guān)看單元和監(jiān)控概括
      單元的數(shù)據(jù)處理設(shè)備;
      圖2b示出按照本發(fā)明的實(shí)施例的、具有存儲(chǔ)器觀(guān)看單元和對(duì)應(yīng)的監(jiān)
      控概括單元的數(shù)據(jù)處理設(shè)備;
      圖3示出按照本發(fā)明的另一個(gè)實(shí)施例的數(shù)據(jù)處理設(shè)備;
      圖4示意地示出具有不同的開(kāi)始和結(jié)束事件的不同的處理過(guò)程;
      圖5示出按照本發(fā)明的實(shí)施例的監(jiān)控電路;
      圖6示出按照本發(fā)明的實(shí)施例的、生成監(jiān)控?cái)?shù)據(jù)的方法;以及
      圖7是示出按照本發(fā)明的實(shí)施例的、分析監(jiān)控?cái)?shù)據(jù)的方法的流程圖。
      具體實(shí)施例方式
      圖1示出數(shù)據(jù)處理設(shè)備5,包括用于監(jiān)控連接存儲(chǔ)器30與處理器40 和DMA 50的總線(xiàn)20的監(jiān)控電路10。
      來(lái)自處理器40和DMA 50的、對(duì)從存儲(chǔ)器30讀出數(shù)據(jù)和寫(xiě)入數(shù)據(jù)到 存儲(chǔ)器30的數(shù)據(jù)訪(fǎng)問(wèn)請(qǐng)求沿總線(xiàn)20傳遞,并被監(jiān)控電路IO監(jiān)控。
      在本實(shí)施例中,監(jiān)控電路IO被配置成監(jiān)控對(duì)特定的地址范圍的訪(fǎng)問(wèn), 該特定的地址范圍由被存儲(chǔ)在數(shù)據(jù)存儲(chǔ)裝置12中的信息標(biāo)識(shí)。數(shù)據(jù)存儲(chǔ) 裝置12由用戶(hù)使用調(diào)試程序(debugger)經(jīng)由輸入60被更新,因此,監(jiān)控電 路可^f皮重新配置成監(jiān)控不同的地址范圍。
      監(jiān)控電路10響應(yīng)于特定的"開(kāi)始"事件,開(kāi)始收集來(lái)自總線(xiàn)的監(jiān)控?cái)?shù) 據(jù)。在本實(shí)施例中,所收集的監(jiān)控?cái)?shù)據(jù)是檢測(cè)到的對(duì)指定的地址范圍內(nèi)的 地址的訪(fǎng)問(wèn)請(qǐng)求。這些請(qǐng)求觸發(fā)在監(jiān)控電路10內(nèi)的"增量計(jì)數(shù)器"信號(hào), 并且這信號(hào)被發(fā)送到該電路內(nèi)的計(jì)數(shù)器14, 16。在檢測(cè)到讀出的情形下, 信號(hào)被發(fā)送到讀出計(jì)數(shù)器14,而寫(xiě)入的檢測(cè)觸發(fā)要被發(fā)送到寫(xiě)入計(jì)數(shù)器 16的信號(hào)。因此,計(jì)數(shù)器14計(jì)數(shù)檢測(cè)到的讀出,計(jì)數(shù)器16計(jì)數(shù)檢測(cè)到的 寫(xiě)入。在本實(shí)施例中,為了簡(jiǎn)化起見(jiàn),只示出了兩個(gè)計(jì)數(shù)器,但本領(lǐng)域技 術(shù)人員將會(huì)看到,可以有更多的計(jì)數(shù)器,每個(gè)計(jì)數(shù)器或許與不同的地址范 圍和/或請(qǐng)求訪(fǎng)問(wèn)的實(shí)體相關(guān),以使得可以計(jì)數(shù)來(lái)自不同的實(shí)體的在不同的地址范圍中的讀出和寫(xiě)入。
      在本實(shí)施例中,另外的事件觸發(fā)監(jiān)控電路以輸出它的監(jiān)控?cái)?shù)據(jù),在這
      種情形下是計(jì)數(shù)器14和16中的數(shù)值。監(jiān)控?cái)?shù)據(jù)經(jīng)由輸出端7被輸出到分 析邏輯130,在其中分析該數(shù)據(jù)。此后,計(jì)數(shù)器被清除,以及當(dāng)再次檢測(cè) 到特定的"開(kāi)始"事件時(shí)計(jì)數(shù)重新開(kāi)始。
      觸發(fā)監(jiān)控的開(kāi)始和數(shù)值的輸出和計(jì)數(shù)器的清洗的事件可以是許多事 物,但在本實(shí)施例中,它是對(duì)DMA開(kāi)始或結(jié)束存儲(chǔ)器轉(zhuǎn)移或存儲(chǔ)器阻擋 指令由處理器執(zhí)行的檢測(cè)。存儲(chǔ)器阻擋指令是被使用來(lái)保證任何待決的存 儲(chǔ)器訪(fǎng)問(wèn)在隨后的指令被執(zhí)行之前被執(zhí)行的指令。因此,響應(yīng)于存儲(chǔ)器阻 擋指令,將執(zhí)行對(duì)于指定的存儲(chǔ)器的任何待決的讀出或?qū)懭搿K赃@些指 令當(dāng)被使用來(lái)觸發(fā)監(jiān)控?cái)?shù)據(jù)的輸出時(shí)可以是有用的,因?yàn)榭梢钥吹?,在這 個(gè)時(shí)間點(diǎn)將已經(jīng)執(zhí)行了所有的待決的讀出或?qū)懭?。因此,處理?0命令 DMA50開(kāi)始存儲(chǔ)器轉(zhuǎn)移,并且該開(kāi)始指令沿總線(xiàn)行進(jìn),并由監(jiān)控電路IO 檢測(cè)。當(dāng)存儲(chǔ)器轉(zhuǎn)移是完整時(shí),DMA 50可以藉助于中斷將這一點(diǎn)指示給 處理器40。這不是沿總線(xiàn)發(fā)送的,因此需要分開(kāi)的通道來(lái)把它路由到監(jiān)控 電路IO,因?yàn)檎沁@個(gè)信號(hào)是監(jiān)控電路的結(jié)束事件。應(yīng)當(dāng)指出,在本實(shí)施 例中,從處理器到DMA的開(kāi)始信號(hào)用作為開(kāi)始事件,然而,在一些實(shí)施 例中,DMA可能沒(méi)有響應(yīng)于來(lái)自處理器40的開(kāi)始存儲(chǔ)器轉(zhuǎn)移請(qǐng)求,而立 即開(kāi)始存儲(chǔ)器轉(zhuǎn)移。在這樣的情形下,DMA可能具有到監(jiān)控電路10的另 一條線(xiàn),當(dāng)它確實(shí)開(kāi)始執(zhí)行請(qǐng)求的存儲(chǔ)器轉(zhuǎn)移時(shí)可以沿這條線(xiàn)發(fā)送信號(hào), 替換地,監(jiān)控電路可以檢測(cè)在總線(xiàn)上的存儲(chǔ)器訪(fǎng)問(wèn)請(qǐng)求,并且這個(gè)檢測(cè)可 以用作為開(kāi)始事件。
      在本實(shí)施例中,計(jì)數(shù)器12和14是飽和計(jì)數(shù)器。在其它實(shí)施例中,可 以使用環(huán)繞計(jì)數(shù)器,只要它們是足夠大,以使得它們不大可能環(huán)繞。在其 它實(shí)施例中,如果僅僅希望檢測(cè)是否已經(jīng)出現(xiàn)特定的訪(fǎng)問(wèn)而不是檢測(cè)那些 訪(fǎng)問(wèn)的數(shù)目的話(huà),可以使用1比特飽和計(jì)數(shù)器。
      雖然在本實(shí)施例中,被存儲(chǔ)在數(shù)據(jù)存儲(chǔ)裝置12中的地址位置標(biāo)識(shí)符 標(biāo)識(shí)地址范圍,但在其它實(shí)施例中,它可以標(biāo)識(shí)多個(gè)范圍。替換地,它可 被使用于比較器,該比較器通過(guò)地址不匹配而不是匹配,而被觸發(fā),以便 標(biāo)識(shí)在特定的范圍以外的任何地址。如果對(duì)于處理有已知的允許范圍,和 希望檢驗(yàn)它沒(méi)有訪(fǎng)問(wèn)這個(gè)范圍以外的位置,則這可以是有用的。因此,可 以看到,這個(gè)系統(tǒng)可以以許多不同的方式被設(shè)計(jì)成監(jiān)控不同的指定的事情,而輸出已經(jīng)被概括的這個(gè)數(shù)據(jù)并不需要高的帶寬。
      圖2a示出按照替換實(shí)施例的數(shù)據(jù)處理設(shè)備5。在本實(shí)施例中,有幾個(gè) 監(jiān)控電路或存儲(chǔ)器觀(guān)看單元70a, b和c。存儲(chǔ)器觀(guān)看單元70a監(jiān)控由處理 器42進(jìn)行的訪(fǎng)問(wèn),而存儲(chǔ)器觀(guān)看單元70b監(jiān)控由處理器44進(jìn)行的訪(fǎng)問(wèn)。 存儲(chǔ)器觀(guān)看單元70c監(jiān)控對(duì)數(shù)據(jù)存儲(chǔ)裝置46進(jìn)行的訪(fǎng)問(wèn),這些各個(gè)存儲(chǔ) 器觀(guān)看單元監(jiān)控被指定的、在特定的地址范圍中的訪(fǎng)問(wèn),并且它們把標(biāo)識(shí) 它們已檢測(cè)的訪(fǎng)問(wèn)的信號(hào)發(fā)送到中央概括單元72。概括單元72具有多個(gè) 數(shù)據(jù)存儲(chǔ)裝置,用于存儲(chǔ)來(lái)自不同的存儲(chǔ)器觀(guān)看單元的信息。這些可包括 用來(lái)計(jì)數(shù)來(lái)自特定的存儲(chǔ)器觀(guān)看單元的特定的類(lèi)型的訪(fǎng)問(wèn)的數(shù)目的計(jì)數(shù) 器,或它們可包括數(shù)據(jù)存儲(chǔ)裝置,用于存儲(chǔ)通過(guò)訪(fǎng)問(wèn)信號(hào)被接收的、表示 訪(fǎng)問(wèn)發(fā)生的時(shí)間的時(shí)間戳信息,或它們可包括散列函數(shù)生成器,用于生成 和存儲(chǔ)被檢測(cè)到的訪(fǎng)問(wèn)的散列函數(shù)。另外,它們可記錄由于竟?fàn)幵斐傻耐?止(stall)的次數(shù),如果這樣的事件被任何存儲(chǔ)器觀(guān)看單元監(jiān)控的話(huà)。概 括單元72還包括用于接收清洗信號(hào)的輸入。在本實(shí)施例中,這個(gè)清洗信 號(hào)響應(yīng)于中斷而被生成,它既用作"開(kāi)始"、"結(jié)束,,和"清洗,,事件,使得被 存儲(chǔ)在不同的計(jì)數(shù)器和數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)被輸出到存儲(chǔ)器80,被清洗或 清除;又用作從不同的存儲(chǔ)器觀(guān)看單元70a, 70b, 70c中再次收集的信息。 因此,實(shí)際上,中斷結(jié)束特定的監(jiān)控組,輸出數(shù)據(jù),清洗數(shù)據(jù)存儲(chǔ)裝置, 和由此開(kāi)始新的監(jiān)控組。因?yàn)橹袛嗖谎乜偩€(xiàn)行進(jìn),所以中斷需要從處理器 42被分開(kāi)地發(fā)送到概括單元72。
      可被使用的示例性散列函數(shù)生成器可以使用循環(huán)冗余檢驗(yàn)(CRC)函 數(shù),以及序列的概括由數(shù)據(jù)序列的CRC和序列的長(zhǎng)度組成。兩種情形是 特別感興趣的
      a) 由任務(wù)訪(fǎng)問(wèn)的地址序列常常在每次該任務(wù)執(zhí)行時(shí)是相同的,所以任 務(wù)執(zhí)行的地址序列的散列可被用作函數(shù)的簽名,以便或者i)通過(guò)比較它與 系統(tǒng)中所有的任務(wù)的地址訪(fǎng)問(wèn)的散列而標(biāo)識(shí)任務(wù),或者ii)通過(guò)比較地址序 列的散列與任務(wù)的先前的執(zhí)行的地址序列的散列,而認(rèn)識(shí)到任務(wù)表現(xiàn)得不 同于正常如果簽名是不同的,則任務(wù)表現(xiàn)得不同。
      b) 如果一個(gè)任務(wù)把數(shù)值序列以與另 一個(gè)任務(wù)從存儲(chǔ)器讀出該數(shù)值序 列的相同的次序?qū)懭氲酱鎯?chǔ)器,則第 一任務(wù)的輸出的散列將匹配于加到第 二任務(wù)的輸入的散列。如果我們知道任務(wù)之間的數(shù)據(jù)的流動(dòng)以及該任務(wù)以 特定的次序?qū)懭?讀出它們的一個(gè)變量,則這個(gè)特性可被使用來(lái)通過(guò)比較應(yīng)當(dāng)匹配(和在數(shù)據(jù)轉(zhuǎn)移期間例如還沒(méi)有被毀壞)的數(shù)據(jù)簽名而檢驗(yàn)數(shù)據(jù)正在 從一個(gè)任務(wù)正確地轉(zhuǎn)移到另一個(gè)任務(wù)。如果任務(wù)僅僅把數(shù)據(jù)從存儲(chǔ)器的一 個(gè)區(qū)域復(fù)制到另 一個(gè)區(qū)域,則被讀出的數(shù)據(jù)的簽名應(yīng)當(dāng)與被重寫(xiě)的數(shù)據(jù)的 簽名相同的,這樣,我們可以確認(rèn)通過(guò)比較任務(wù)的輸入和輸出簽名而正確 地執(zhí)行存儲(chǔ)器復(fù)制。
      如果我們不知道任務(wù)之間的數(shù)據(jù)的流動(dòng),那么這個(gè)特性可被使用來(lái)通 過(guò)查找其中一個(gè)任務(wù)的輸出總是具有與加到以后任務(wù)的輸入相同的簽名 的情形而重建在系統(tǒng)中的部分的數(shù)據(jù)流動(dòng)。
      在本實(shí)施例中,不是把監(jiān)控?cái)?shù)據(jù)外部地輸出到數(shù)據(jù)處理設(shè)備5,而是
      把它發(fā)送到數(shù)據(jù)處理設(shè)備內(nèi)的存儲(chǔ)器80,在其中存儲(chǔ)它。然后,它可以以 后被訪(fǎng)問(wèn)用于分析。
      圖2b示出與圖2a類(lèi)似的實(shí)施例,但在這個(gè)實(shí)施例中,每個(gè)存儲(chǔ)器觀(guān) 看單元70a和70b具有它自己的概括單元72a和72b。這些概括單元響應(yīng) 于同一個(gè)信號(hào)開(kāi)始和停止收集數(shù)據(jù),輸出這個(gè)收集的數(shù)據(jù),并清除它們的 計(jì)數(shù)器。在本實(shí)施例中,數(shù)據(jù)被輸出到輸出端口 60a和60b。輸出的數(shù)據(jù) 可被分開(kāi)地分析,替換地,兩個(gè)輸出數(shù)據(jù)流可以通過(guò)使用軟件將它們的對(duì) 應(yīng)的開(kāi)始/停止/清洗事件進(jìn)行關(guān)聯(lián)而被合并成單個(gè)數(shù)據(jù)流。
      應(yīng)當(dāng)指出,雖然在這些實(shí)施例中存儲(chǔ)器觀(guān)看單元監(jiān)控在特定的地址范 圍中的被指定的訪(fǎng)問(wèn),但它們也可以被使用來(lái)響應(yīng)于檢測(cè)到特定的訪(fǎng)問(wèn)而 觸發(fā)例外,因此可被使用來(lái)實(shí)施觀(guān)看點(diǎn)或存儲(chǔ)器保護(hù)單元。
      圖3示出本發(fā)明的替換實(shí)施例。在這個(gè)實(shí)施例中,數(shù)據(jù)處理設(shè)備5具 有存儲(chǔ)器觀(guān)看單元80,它觀(guān)看主總線(xiàn)90和監(jiān)控由主控器Ml和M2對(duì)受 控器Sl和S2的訪(fǎng)問(wèn)。訪(fǎng)問(wèn)也可以由在不同的總線(xiàn)92上的其它主控器作 出,并且如果需要訪(fǎng)問(wèn)在這個(gè)總線(xiàn)上的設(shè)備,這些可以經(jīng)由總線(xiàn)橋接器95 被發(fā)送到主總線(xiàn)卯。橋接器95發(fā)送訪(fǎng)問(wèn)信息,但去除有關(guān)哪個(gè)主控器生 成信號(hào)的信息,因此,為了標(biāo)識(shí)哪些訪(fǎng)問(wèn)來(lái)自于總線(xiàn)92上的哪些主控器, 在本實(shí)施例中,使用監(jiān)控主控器M3的總線(xiàn)主控器端口的另外的存儲(chǔ)器觀(guān) 看單元85。
      在本實(shí)施例中,每個(gè)存儲(chǔ)器觀(guān)看單元80, 85收集與對(duì)于在地址范圍 內(nèi)指定的特定的地址范圍的訪(fǎng)問(wèn)有關(guān)的數(shù)據(jù),和響應(yīng)于相同的"結(jié)束"事件 動(dòng)作而輸出這個(gè)數(shù)據(jù)。在這種情形下,存儲(chǔ)器觀(guān)看單元80, 85響應(yīng)于在 控制寄存器97中的、由數(shù)據(jù)處理設(shè)備5設(shè)置的特定的數(shù)值,這些數(shù)值向存儲(chǔ)器觀(guān)看單元指示開(kāi)始監(jiān)控或結(jié)束監(jiān)控。在這個(gè)控制寄存器97中的數(shù) 值由處理器響應(yīng)于由用戶(hù)插入在代碼中的指令而進(jìn)行設(shè)置。因此,監(jiān)控的 開(kāi)始和結(jié)束可以由用戶(hù)控制。
      雖然在本實(shí)施例中,存儲(chǔ)器觀(guān)看單元80和85被示出為響應(yīng)于相同的 事件的分開(kāi)的單元,但在一些實(shí)施例中,它們可以由不同的事件觸發(fā)而開(kāi) 始和結(jié)束監(jiān)控。在這樣的情形下,它們收集的信息將被分開(kāi)地分析,雖然 它也可以;波組合。
      圖4示意地示出對(duì)于在本實(shí)施例中由不同的處理器P0, Pl和P2執(zhí)行 的不同的處理A, B和C的監(jiān)控如何被不同的開(kāi)始和停止事件觸發(fā)。在這 種情形下,開(kāi)始和停止事件是特定的過(guò)程的開(kāi)始和停止。因此,對(duì)于不同 的過(guò)程收集不同的監(jiān)控?cái)?shù)據(jù)組。這個(gè)信息可被分開(kāi)地分析,或它可被組合。 例如,如果概括是在開(kāi)始和停止事件之間的訪(fǎng)問(wèn)的次數(shù),則相鄰的概括可 通過(guò)相加在每個(gè)概括中訪(fǎng)問(wèn)次數(shù)而^皮組合。同樣地,如果概括是訪(fǎng)問(wèn)序列 的CRC(循環(huán)冗余檢驗(yàn)函數(shù))和訪(fǎng)問(wèn)次數(shù),則概括可以如下地組合
      令〈crcl,M〉是第一概括
      其中crcl是訪(fǎng)問(wèn)的CRC,和M是該CRC包括的比特?cái)?shù) 令〈crc2,N〉是第二概括
      其中crc2是訪(fǎng)問(wèn)的CRC,和N是該CRC包括的比特?cái)?shù),組合的概括 是〈CRC((crcl《N)xor crc2),M+N>
      其中'crcK〈N,是第一crc向左移位N比特 xor計(jì)算它的自變量(argument)的異或值 以及CRC對(duì)它的輸入數(shù)據(jù)計(jì)算CRC。
      圖5更詳細(xì)地示出用于監(jiān)控總線(xiàn)90的監(jiān)控電路10。監(jiān)控電路10包括 比較器105,用于比較訪(fǎng)問(wèn)的地址與存儲(chǔ)的選擇的地址范圍。在本實(shí)施例 中,有兩個(gè)被存儲(chǔ)的不同地址范圍,比較器根據(jù)哪個(gè)地址范圍被匹配而輸 出不同的信號(hào)。響應(yīng)于檢測(cè)到在一個(gè)范圍內(nèi)的地址,指出產(chǎn)生訪(fǎng)問(wèn)的實(shí)體 和所述訪(fǎng)問(wèn)是讀出還是寫(xiě)入,以及對(duì)應(yīng)于在這個(gè)地址范圍內(nèi)的來(lái)自于這種 類(lèi)型的實(shí)體的這種類(lèi)型的訪(fǎng)問(wèn)的、在高速緩沖存儲(chǔ)器110內(nèi)的計(jì)數(shù)器110a 被加增量。在本實(shí)施例中,有根據(jù)地址范圍、實(shí)體和訪(fǎng)問(wèn)的類(lèi)型^f皮計(jì)數(shù)的、 許多不同類(lèi)型的訪(fǎng)問(wèn),因此,在監(jiān)控電路10中有許多計(jì)數(shù)器。這些計(jì)數(shù) 器在本實(shí)施例中被實(shí)施為非零計(jì)數(shù)器的高速緩沖存儲(chǔ)器。當(dāng)這些計(jì)數(shù)器的 許多計(jì)數(shù)器可以在長(zhǎng)時(shí)間間隔內(nèi)為零時(shí)這被完成,因此不是提供許多計(jì)數(shù)器,而是保持非零計(jì)數(shù)器的超高速存儲(chǔ)器,當(dāng)計(jì)數(shù)器被加增量時(shí),它被加 到這個(gè)高速緩沖存儲(chǔ)器中。在本實(shí)施例中,如果需要新的計(jì)數(shù)器,但在高 速緩沖存儲(chǔ)器內(nèi)沒(méi)有更多的未使用的計(jì)數(shù)器是可用的,則輸出一個(gè)計(jì)數(shù)器 值和清除計(jì)數(shù)器。要輸出和清除的計(jì)數(shù)器可以以許多方式進(jìn)行選擇,例如, 可以使用循環(huán)方法。還有定時(shí)器,也用作為結(jié)束、開(kāi)始和清洗事件,以使 得如果計(jì)數(shù)器在指定的時(shí)間內(nèi)沒(méi)有變?yōu)槌錆M(mǎn)的,則在這個(gè)時(shí)刻,通過(guò)輸出 端ll輸出數(shù)據(jù),并且清除計(jì)數(shù)器。
      在本實(shí)施例中,比較器105通過(guò)找出地址的匹配而檢測(cè)在指定的范圍 內(nèi)的訪(fǎng)問(wèn)。在其它實(shí)施例中,它可被使用來(lái)通過(guò)檢測(cè)不匹配而檢測(cè)在地址 范圍以外的訪(fǎng)問(wèn)。如果知道,任務(wù)應(yīng)當(dāng)只訪(fǎng)問(wèn)特定的地址范圍內(nèi)的地址或 它不應(yīng)當(dāng)訪(fǎng)問(wèn)特定的范圍(例如存儲(chǔ)存儲(chǔ)器的鎖的地方),則這可以是有 用的。
      本領(lǐng)域技術(shù)人員應(yīng)當(dāng)看到,組合來(lái)自每個(gè)實(shí)施例的不同的單元的不同 的實(shí)施例是可能的。例如,如果需要監(jiān)控由幾個(gè)處理器或加速器,諸如
      DMA引擎,作出的訪(fǎng)問(wèn),則使用幾個(gè)監(jiān)控電路可能是有利的。這些可被 放置在每個(gè)處理單元的總線(xiàn)主控器端口上,或放置在總線(xiàn)橋接器上,或放 置在被附加到被監(jiān)控的存儲(chǔ)器的總線(xiàn)上。它們實(shí)際上可被放置在其中它們 可以檢測(cè)訪(fǎng)問(wèn),如果需要,檢測(cè)從其發(fā)送訪(fǎng)問(wèn)的實(shí)體,以及可能地,檢測(cè) 諸如時(shí)間戳那樣的附加信息的任何地方。
      如果監(jiān)控的目的是要檢測(cè)竟?fàn)帡l件,則必須在由可能牽涉到竟?fàn)幍娜?何處理單元進(jìn)行的訪(fǎng)問(wèn)之間加以區(qū)分。因此,在這樣的情形下,在不同的 處理單元之間的訪(fǎng)問(wèn)需要在它們之間加以區(qū)分,以使得由兩個(gè)不同的處理 單元在特定的時(shí)間內(nèi)對(duì)同 一個(gè)地址范圍的訪(fǎng)問(wèn)可被標(biāo)識(shí)為潛在的竟?fàn)帡l 件。如果不需要這樣做,則可不必在來(lái)自不同的處理單元的訪(fǎng)問(wèn)之間加以 區(qū)分,并且所需要的全部可以是僅僅計(jì)數(shù)沿特定的總線(xiàn)的訪(fǎng)問(wèn)。取決于所 需要的事物,可以使用計(jì)數(shù)不同的事物的不同的監(jiān)控電路。
      就開(kāi)始和結(jié)束特定的檢測(cè)組的信號(hào)而言,取決于所監(jiān)控的內(nèi)容,這些 可以是不同的事物。例如,無(wú)論何時(shí)任務(wù)在處理單元上開(kāi)始時(shí),可以發(fā)送 開(kāi)始信號(hào),以及無(wú)論何時(shí)任務(wù)在處理單元上完成時(shí),可以發(fā)送結(jié)束信號(hào)。 這樣,可以檢測(cè)到在任務(wù)處理期間作出的訪(fǎng)問(wèn)。在這種情形下,開(kāi)始和結(jié) 束事件信號(hào)可以通過(guò)對(duì)于來(lái)自硬連線(xiàn)加速器的多個(gè)開(kāi)始/停止信號(hào)的邏輯
      或運(yùn)算被生成。替換地,它可以是指示功能調(diào)用(ftinction call)的開(kāi)始或結(jié)束的中斷點(diǎn)。在一些實(shí)施例中,開(kāi)始和/或結(jié)束事件的特性可以依賴(lài)于環(huán) 境而改變,因此,把它與所收集的監(jiān)控?cái)?shù)據(jù)一起存儲(chǔ)。
      允許處理器通過(guò)例如把數(shù)值寫(xiě)入到諸如圖3所示的的硬件上的控制寄 存器而明確地生成開(kāi)始信號(hào),也可以是有用的。這些通知可被插入到在
      RTOS中的任何處理器間同步原語(yǔ)(synchronisation primitive )中的代碼, 例如,在處理器內(nèi)的上下文交換機(jī)處,無(wú)論何時(shí)鎖^皮鎖或釋放時(shí),或當(dāng)線(xiàn) 程阻擋等待鎖時(shí)。
      就已被監(jiān)控的地址的范圍而言,這些可被存儲(chǔ)在監(jiān)控電路內(nèi),通常, 可能有多個(gè)感興趣范圍,每個(gè)可以使存儲(chǔ)的訪(fǎng)問(wèn)概括與它們相關(guān)聯(lián),以使 得對(duì)不同的地址范圍的訪(fǎng)問(wèn)可以分開(kāi)地被標(biāo)識(shí),替換地,某些范圍可以組 合,這樣可以監(jiān)控對(duì)這個(gè)組合的地址范圍的訪(fǎng)問(wèn)。替換地,感興趣的地址 可能不在特定的范圍內(nèi),它們可以是以某個(gè)其它方式,諸如,例如通過(guò)輕 型濾波器(balloon filter)指定的不同的地址組。
      圖6是示出按照本發(fā)明的實(shí)施例的、生成監(jiān)控?cái)?shù)據(jù)的方法的流程圖。 在檢測(cè)到開(kāi)始事件后,監(jiān)控對(duì)于某些指定的可尋址的位置的訪(fǎng)問(wèn),并且以 某種形式,或許作為計(jì)數(shù)器中的計(jì)數(shù)值,存儲(chǔ)檢測(cè)的訪(fǎng)問(wèn)的概括。這個(gè)過(guò) 程繼續(xù)進(jìn)行,直至檢測(cè)的結(jié)束事件為止,此后輸出在監(jiān)控期間收集的存儲(chǔ) 的數(shù)據(jù),并且清洗監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置。在檢測(cè)到隨后的開(kāi)始事件后,處理 過(guò)程重新開(kāi)始。
      圖7是示出按照本發(fā)明的實(shí)施例的、分析監(jiān)控?cái)?shù)據(jù)的方法的流程圖。 在這個(gè)方法中,接收例如通過(guò)圖6的方法生成的監(jiān)控?cái)?shù)據(jù)組。這些監(jiān)控?cái)?shù) 據(jù)組的某些監(jiān)控?cái)?shù)據(jù)互相組合,以便產(chǎn)生在更寬地間隔開(kāi)的事件之間的新 的監(jiān)控?cái)?shù)據(jù)組。然后至少結(jié)合標(biāo)識(shí)開(kāi)始和結(jié)束事件和指定的地址位置的數(shù) 據(jù),對(duì)數(shù)據(jù)進(jìn)行分析。也可以收集和存儲(chǔ)附加的數(shù)據(jù),這也可以被使用于 分析。這樣的數(shù)據(jù)可包括指示每個(gè)訪(fǎng)問(wèn)的時(shí)間的時(shí)間戳數(shù)據(jù)、指示執(zhí)行訪(fǎng) 問(wèn)的實(shí)體的實(shí)體數(shù)據(jù)、訪(fǎng)問(wèn)數(shù)據(jù)的類(lèi)型以及開(kāi)始和/或結(jié)束事件的特性。
      雖然這里參照附圖詳細(xì)地描述了本發(fā)明的說(shuō)明性實(shí)施例,但應(yīng)當(dāng)看 到,本發(fā)明不限于那些精確的實(shí)施例,以及本領(lǐng)域技術(shù)人員可以在那里實(shí) 施各種改變和修改,而不背離如由所附權(quán)利要求指定的本發(fā)明的范圍和精 神。
      權(quán)利要求
      1.一種數(shù)據(jù)處理設(shè)備,包括監(jiān)控電路,用于監(jiān)控在開(kāi)始和結(jié)束事件之間發(fā)生的、對(duì)所述數(shù)據(jù)處理設(shè)備內(nèi)多個(gè)可尋址的位置的訪(fǎng)問(wèn),所述監(jiān)控電路包括(i)用于存儲(chǔ)標(biāo)識(shí)要監(jiān)控的所述多個(gè)可尋址的位置的數(shù)據(jù)的地址位置存儲(chǔ)裝置和監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置;(ii)所述監(jiān)控電路響應(yīng)于所述開(kāi)始事件的檢測(cè),檢測(cè)對(duì)所述多個(gè)可尋址位置的訪(fǎng)問(wèn)和把有關(guān)所述檢測(cè)的訪(fǎng)問(wèn)的概括的監(jiān)控?cái)?shù)據(jù)存儲(chǔ)在所述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置中;(iii)所述監(jiān)控電路響應(yīng)于所述結(jié)束事件的檢測(cè),停止收集所述監(jiān)控?cái)?shù)據(jù);(iv)所述監(jiān)控電路響應(yīng)于清洗事件的檢測(cè),輸出所述存儲(chǔ)的監(jiān)控?cái)?shù)據(jù)和清洗所述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置。
      2. 按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備,其中所述開(kāi)始事件、所述結(jié)束事 件和所述清洗事件是同一個(gè)事件,以使得響應(yīng)于所述同一個(gè)事件,所述監(jiān) 控電路輸出所述監(jiān)控?cái)?shù)據(jù),清洗所述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置和開(kāi)始檢測(cè)對(duì)所述 多個(gè)可尋址的位置的訪(fǎng)問(wèn)。
      3. 按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備,其中所述開(kāi)始、結(jié)束和清洗事件, 每個(gè)包括任務(wù)的開(kāi)始、任務(wù)的結(jié)束、存儲(chǔ)器阻擋指令、預(yù)定的時(shí)間消逝、 計(jì)數(shù)器溢出、計(jì)數(shù)器到達(dá)閾值、寫(xiě)入到控制寄存器、訪(fǎng)問(wèn)特定的區(qū)域內(nèi)的 地址、中斷、打斷點(diǎn)出現(xiàn)、發(fā)送事件指令、等待事件指令、負(fù)荷獨(dú)有的指 令、存儲(chǔ)裝置獨(dú)有的指令、原子存儲(chǔ)器操作、在總線(xiàn)上的存儲(chǔ)器阻擋指示、 在總線(xiàn)上的負(fù)荷獨(dú)有的指示、在總線(xiàn)上的存儲(chǔ)裝置獨(dú)有的指示、在總線(xiàn)上 的原子存儲(chǔ)器訪(fǎng)問(wèn)指示、和定時(shí)器之一。
      4. 按照權(quán)利要求3的數(shù)據(jù)處理設(shè)備,其中所述監(jiān)控?cái)?shù)據(jù)輸出還包括標(biāo) 識(shí)所述開(kāi)始、清洗和結(jié)束事件的至少一項(xiàng)的信號(hào)。
      5. 按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備,其中所述監(jiān)控?cái)?shù)據(jù)還包括指示每 次訪(fǎng)問(wèn)的時(shí)間的時(shí)間戳數(shù)據(jù)。
      6. 按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備,其中所述檢測(cè)的訪(fǎng)問(wèn)的所述概括 包括通過(guò)散列函數(shù)被計(jì)算的所述訪(fǎng)問(wèn)的指印。
      7. 按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備,其中所述檢測(cè)的訪(fǎng)問(wèn)的所述概括包括所述訪(fǎng)問(wèn)的計(jì)數(shù)。
      8. 按照權(quán)利要求7的數(shù)據(jù)處理設(shè)備,其中所述監(jiān)控電路包括計(jì)數(shù)器, 用于計(jì)數(shù)對(duì)所述多個(gè)可尋址的位置的訪(fǎng)問(wèn)的次數(shù)。
      9. 按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備,其中所述多個(gè)可尋址的位置包括 一個(gè)地址范圍、多個(gè)地址范圍、 一組特定的地址和一個(gè)地址范圍的反的至 少一項(xiàng)。
      10. 按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備,其中所述多個(gè)可尋址的位置包 括多個(gè)地址范圍,以及所述檢測(cè)的訪(fǎng)問(wèn)的所述概括包括關(guān)于所述訪(fǎng)問(wèn)是對(duì) 于所述多個(gè)地址范圍的哪個(gè)地址范圍的指示。
      11. 按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備,其中所述檢測(cè)的訪(fǎng)問(wèn)的所述概 括還包括指示訪(fǎng)問(wèn)的類(lèi)型的數(shù)據(jù)、標(biāo)識(shí)作出所述訪(fǎng)問(wèn)的實(shí)體的標(biāo)識(shí)符、指示由 至少 一 個(gè)所述實(shí)體進(jìn)行的每種類(lèi)型的所述訪(fǎng)問(wèn)的次數(shù)的數(shù)據(jù)和關(guān)于所述訪(fǎng)問(wèn)是 對(duì)多個(gè)地址范圍中的哪個(gè)地址范圍的指示的至少 一項(xiàng)。
      12. 按照權(quán)利要求11的數(shù)據(jù)處理設(shè)備,其中所述監(jiān)控電路包括多個(gè)計(jì) 數(shù)器,每個(gè)計(jì)數(shù)器涉及 一個(gè)或多個(gè)所述實(shí)體、 一個(gè)或多個(gè)所述多個(gè)地址 范圍和數(shù)據(jù)訪(fǎng)問(wèn)的類(lèi)型的至少 一項(xiàng)。
      13. 按照權(quán)利要求11的數(shù)據(jù)處理設(shè)備,其中所述監(jiān)控電路被耦接到在 所述數(shù)據(jù)處理設(shè)備內(nèi)的總線(xiàn)端口 ,所述實(shí)體包括多個(gè)總線(xiàn)主控器。
      14. 按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備,其中所述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置包 括高速緩沖存儲(chǔ)器。
      15. 按照權(quán)利要求14的數(shù)據(jù)處理設(shè)備,其中所述檢測(cè)的訪(fǎng)問(wèn)的所述概 括還包括指示訪(fǎng)問(wèn)的類(lèi)型的數(shù)據(jù)、標(biāo)識(shí)作出所述訪(fǎng)問(wèn)的實(shí)體的標(biāo)識(shí)符、指示是對(duì)多個(gè)地址范圍中的哪個(gè)地址范圍的指示的至少一項(xiàng),所述高速緩沖存儲(chǔ)器 被配置成存儲(chǔ)多組監(jiān)控?cái)?shù)據(jù),每組監(jiān)控?cái)?shù)據(jù)與一個(gè)或多個(gè)所述實(shí)體、數(shù)據(jù) 訪(fǎng)問(wèn)類(lèi)型和一個(gè)或多個(gè)所述多個(gè)地址范圍的至少一項(xiàng)有關(guān)。
      16. 按照權(quán)利要求15的數(shù)據(jù)處理設(shè)備,其中所述監(jiān)控電路包括用于響 應(yīng)于所述高速緩沖存儲(chǔ)器已滿(mǎn)的檢測(cè)和檢測(cè)的訪(fǎng)問(wèn),清洗所述多組監(jiān)控?cái)?shù) 據(jù)之一的邏輯。
      17. 按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備,所述數(shù)據(jù)處理設(shè)備包括多個(gè)處 理單元和多個(gè)監(jiān)控電路。
      18. 按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備,所述數(shù)據(jù)處理設(shè)備還包括事件 配置存儲(chǔ)裝置,所述數(shù)據(jù)處理設(shè)備適配于響應(yīng)于預(yù)定的指令寫(xiě)入到所述事件配置存儲(chǔ)裝置,所述監(jiān)控電路響應(yīng)于在所述事件配置存儲(chǔ)裝置中存儲(chǔ)的 數(shù)值,或者開(kāi)始監(jiān)控所述多個(gè)可尋址的位置,輸出所述監(jiān)控?cái)?shù)據(jù),或者清 洗所述監(jiān)控?cái)?shù)據(jù)。
      19. 按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備,包括用于接收用于更新所述地 址位置存儲(chǔ)裝置的數(shù)據(jù)的數(shù)據(jù)輸入,所述地址位置存儲(chǔ)裝置用于存儲(chǔ)標(biāo)識(shí) 所述多個(gè)可尋址的位置的數(shù)據(jù)。
      20. 按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備,包括從所述數(shù)據(jù)處理設(shè)備的輸 出,用于響應(yīng)于所述清洗事件輸出所述監(jiān)控?cái)?shù)據(jù),所述清洗事件包括由所 迷數(shù)據(jù)處理設(shè)備生成的內(nèi)部事件。
      21. —種監(jiān)控?cái)?shù)據(jù)處理設(shè)備的方法,包括多次執(zhí)行以下步驟 ①檢測(cè)開(kāi)始事件;(ii) 檢測(cè)對(duì)多個(gè)可尋址的位置的訪(fǎng)問(wèn),和把有關(guān)所述檢測(cè)的訪(fǎng)問(wèn)的概括 的監(jiān)控?cái)?shù)據(jù)存儲(chǔ)在所述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置中;(iii) 檢測(cè)結(jié)束事件;(iv) 輸出所述存儲(chǔ)的監(jiān)控?cái)?shù)據(jù);以及(v) 清除所述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置。
      22. —種用于分析由按照權(quán)利要求1的數(shù)據(jù)處理設(shè)備生成的監(jiān)控?cái)?shù)據(jù) 的方法,包括以下步驟(i) 接收在多個(gè)開(kāi)始和結(jié)束事件之間生成的、與對(duì)多個(gè)地址位置作出的 訪(fǎng)問(wèn)的概括有關(guān)的多組監(jiān)控?cái)?shù)據(jù);(ii) 從連接或重疊多組監(jiān)控?cái)?shù)據(jù)來(lái)組合監(jiān)控?cái)?shù)據(jù),以便生成與更寬地間 隔開(kāi)的開(kāi)始和結(jié)束事件有關(guān)的新的監(jiān)控?cái)?shù)據(jù)組;以及(iii) 結(jié)合標(biāo)識(shí)所迷開(kāi)始和結(jié)束事件和所述多個(gè)地址位置的數(shù)據(jù),分析 所述監(jiān)控?cái)?shù)據(jù)。
      23. 按照權(quán)利要求22的方法,(i)其中所述監(jiān)控?cái)?shù)據(jù)還包括對(duì)哪個(gè)實(shí)體執(zhí)行了所述訪(fǎng)問(wèn)的指示;以外的地址。
      24. 按照權(quán)利要求22的方法,(i) 其中所述監(jiān)控?cái)?shù)據(jù)還包括對(duì)哪個(gè)實(shí)體執(zhí)行了所述訪(fǎng)問(wèn)的指示;(ii) 所述分析步驟包括確定不同的實(shí)體是否對(duì)于在所述監(jiān)控?cái)?shù)據(jù)組之 一內(nèi)的同 一個(gè)地址范圍執(zhí)行了寫(xiě)入和讀出。
      25. 按照權(quán)利要求22的方法,(i)其中所述分析步驟包括通過(guò)把訪(fǎng)問(wèn)次數(shù)除以在所述事件之間的時(shí) 間,而確定在不同的事件之間所述數(shù)據(jù)處理設(shè)備的性能。
      26. —種計(jì)算機(jī)程序產(chǎn)品,其可操作來(lái)在數(shù)據(jù)處理器上運(yùn)行時(shí)控制數(shù) 據(jù)處理器以執(zhí)行按照權(quán)利要求22的方法的步驟。
      全文摘要
      本發(fā)明涉及監(jiān)控?cái)?shù)據(jù)處理設(shè)備和概括監(jiān)控?cái)?shù)據(jù)。公開(kāi)了一種數(shù)據(jù)處理設(shè)備,其包括監(jiān)控電路,用于監(jiān)控在開(kāi)始和結(jié)束事件之間發(fā)生的、對(duì)所述數(shù)據(jù)處理設(shè)備內(nèi)多個(gè)可尋址的位置的訪(fǎng)問(wèn),所述監(jiān)控電路包括用于存儲(chǔ)標(biāo)識(shí)要監(jiān)控的所述多個(gè)可尋址的位置的數(shù)據(jù)的地址位置存儲(chǔ)裝置和監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置;所述監(jiān)控電路響應(yīng)于所述開(kāi)始事件的檢測(cè),檢測(cè)對(duì)所述多個(gè)可尋址位置的訪(fǎng)問(wèn)和把有關(guān)所述檢測(cè)的訪(fǎng)問(wèn)的概括的監(jiān)控?cái)?shù)據(jù)存儲(chǔ)在所述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置中;以及所述監(jiān)控電路響應(yīng)于所述結(jié)束事件的檢測(cè),停止收集所述監(jiān)控?cái)?shù)據(jù);所述監(jiān)控電路響應(yīng)于清洗事件的檢測(cè),輸出所述存儲(chǔ)的監(jiān)控?cái)?shù)據(jù)和清洗所述監(jiān)控?cái)?shù)據(jù)存儲(chǔ)裝置。
      文檔編號(hào)G06F11/36GK101625657SQ20091014022
      公開(kāi)日2010年1月13日 申請(qǐng)日期2009年7月9日 優(yōu)先權(quán)日2008年7月9日
      發(fā)明者A·D·賴(lài)德, J·古芬斯, K·E·克尼博恩, L·D·史密斯 申請(qǐng)人:Arm有限公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1