專利名稱:總線分析器及其測試內總線的方法
技術領域:
本發(fā)明涉及用于基于總線的多處理器計算機系統(tǒng)的總線分析器,并特別涉及通過自身而不要附加的外部信號即可測試內數據通路的總線分析器及其用于測試內數據通路的方法。
在研制應用總線的多處理器計算機系統(tǒng)時,一個重要的因素是總線上的數據能否易于分析。這種分析是通過下面兩種手段之一實現的一般用于測試數字電路的邏輯分析器和用于分析總線狀態(tài)的總線分析器。然而邏輯分析器具有有限數目的通道,于是同時檢查所有的總線信號線路是困難的,并且花費高體積大,這使其安裝和轉移不便。另一方面,總線分析器是以板狀安裝到總線上的,于是它易于安裝和轉移并且僅以邏輯分析器五分之一的費用即可容易地進行全部信號線路的檢查。
圖1是基于總線的共用同步多處理器計算機系統(tǒng)的一個示意圖。其中,處理器板12、存儲器板13、輸入/輸出(I/O)板14以及總線分析器板15裝在底板11上。板之間的數據的讀取和傳輸必須通過底板11的系統(tǒng)總線進行。
圖2是一以往的總線分析器的框圖,其中標號21表示一終端,標號22表示一中央處理器(CPU),標號23表示一存儲器控制器,標號24表示一跟蹤存儲器,標號25表示一總線接口,標號26表示一系統(tǒng)總線。
當″開始跟蹤″的命令通過終端21輸入時,CPU22解釋該輸入的指令并該信息轉送到存儲器控制器23,該存儲器控制器轉而輸出一控制信號到總線接口25。然后總線接口25根據該控制信號打開一通路緩沖器使得系統(tǒng)總線26的數據能夠傳輸到跟蹤存儲器24。同時,存儲器控制器23還輸出地址和寫信號,用于將所傳輸的數據順序地從系統(tǒng)總線26寫入跟蹤存儲器24。
如果在跟蹤操作期間從CPU22施加觸發(fā)信號,存儲器控制器23停止向跟蹤存儲器24輸出地址和寫信號,并向總線接口25輸出一控制信號關閉總線接口25的通路緩沖器。然后跟蹤存儲器24停止寫數據并保持所存儲的數據。
根據用戶的指令,CPU22讀出存儲在跟蹤存儲器24中的數據以便在終端21的屏幕上顯示讀出的數據,這可使用戶評價系統(tǒng)總線26的操作。
在上述以往的總線分析器中,為了在系統(tǒng)全測試期間分析系統(tǒng)總線26的數據,系統(tǒng)總線26的全部數據在每一時鐘脈沖都要被存儲到跟蹤存儲器24中。于是,一次記錄在跟蹤存儲器24中的數據位的數目對應于系統(tǒng)總線26的信號線路的數目。
同時,由于底板11和總線分析器15是用于測試其他板的(例如處理器板12,存儲器板13以及I/O板14),因而它們應首先被測試。然而在測試總線分析器時存在以下幾個困難。
首先,對于從系統(tǒng)總線26到CPU22的數據通路221,241和251的每一個大約100~400個待測試的系統(tǒng)總線的大量的信號線路,為了完成該系統(tǒng)總線上的測試需要很多時間和工作。
第二,由于是在測試其他板之前測試總線分析器,沒有辦法把測試數據加到系統(tǒng)總線上去。雖然對于其他板的測試可以完成,但是這些板具有有限數目的信號線路用于驅動系統(tǒng)總線,并且只能驅動由總線協(xié)議所定義的序列和數值,這妨礙了總線分析器所有內通路的測試。例如,參見圖2,雖然對于通路221的測試可通過由CPU22向/從跟蹤存儲器24寫/讀測試數據進行,但接下去測試數據通路241與251就不可能了。
于是,應用以往的總線分析器,一系列的測試數據必須人工輸入到系統(tǒng)總線26的每一信號線路。然后,對于數據通路241與251的每一線路的檢查應用示波器或類似的裝置逐一完成,這使得測試的次數線性地增加,并且測試變得冗長乏味和耗費時間。
本發(fā)明的一個目的是提供一種通過自身而不需要附加的外部信號即可在多處理器計算機系統(tǒng)中測試內數據通路的總線分析器。
本發(fā)明的另一目的是提供一種用于測試總線分析器的內總線的方法,該方法通過自身而不需要附加的外部信號即可在多處理器計算機系統(tǒng)中測試內數據通路。
為了達到上述第一目的,本發(fā)明提供了在多個處理器板由系統(tǒng)總線共同連接的多處理器計算機系統(tǒng)中用于測試系統(tǒng)總線的總線分析器,它包括總線測試器,用于在測試系統(tǒng)總線時存儲用來測試系統(tǒng)總線的數據,并向系統(tǒng)總線輸出測試數據;跟蹤存儲器,用于順序地寫從系統(tǒng)總線輸出的測試數據;存儲器控制器,用于控制跟蹤存儲器,使之根據跟蹤信號存儲來自系統(tǒng)總線的測試數據,并根據觸發(fā)信號停止存儲數據;以及用于以下目的的控制器產生輸出到存儲器控制器的跟蹤和觸發(fā)信號,讀出存儲在跟蹤存儲器中的測試數據,并將讀出的數據同從總線測試器所輸出的測試數據相比較。
為了達到以上第二個目的,本發(fā)明還提供了用于測試總線分析器的內總線的方法,該總線分析器用于在多個處理器板由系統(tǒng)總線共同連接的多處理器計算機系統(tǒng)中測試系統(tǒng)總線,該方法包括以下步驟產生用于測試系統(tǒng)總線待存儲到第一存儲器的數據;輸出存儲在第一存儲器中的測試數據到系統(tǒng)總線;產生用于跟蹤系統(tǒng)總線測試數據跟蹤信號;根據待存儲到第二存儲器中的跟蹤信號跟蹤系統(tǒng)總線的測試數據;產生一觸發(fā)信號以便停止跟蹤;根據觸發(fā)信號停止向第二存儲器存儲被跟蹤數據;以及比較第一存儲器中的測試數據與第二存儲器中的被跟蹤數據。
通過參照附圖對其較佳實施例的詳述本發(fā)明的上述目的和優(yōu)點將變得更為明顯,這些附圖是圖1是通用的基于總線的多處理器計算機系統(tǒng)的示意圖;圖2是以往的總線分析器的示意圖;圖3是根據本發(fā)明的總線分析器的簡要框圖;圖4是一流程圖,表示根據本發(fā)明用于測試總線分析器的內總線的方法。
圖3是一框圖,表示根據本發(fā)明用于多處理器計算機系統(tǒng)的總線分析器的構成。其中標號31表示一用于由用戶輸入指令或識別測試結果的終端,標號32表示一用于控制相應的處理器板的操作的CPU,標號36表示一系統(tǒng)總線,標號34表示一用于存儲系統(tǒng)總線數據的跟蹤存儲器,標號35表示一用于系統(tǒng)總線36與跟蹤存儲器34之間接口的總線接口,標號33表示一用于控制跟蹤存儲器34及總線接口35的操作的存儲器控制器,以及標號37表示用于測試系統(tǒng)總線36的總線測試部分。
總線測試部分37包括具有多個(1-N)寄存器的模式寄存器部分372;用于記錄關于模式寄存器部分372中存儲了要被輸出到系統(tǒng)總線46的測試數據的寄存器數目的信息的模式數(NOP)寄存器371;以及用于控制整個操作的測試控制器373。
根據本發(fā)明的總線分析器具有可把測試數據輸出到系統(tǒng)總線36的所有信號線路的總線測試部分37,把從總線測試部分37輸出的測試數據存儲到跟蹤存儲器34,并比較測試數據與存儲在跟蹤存儲器34中的數據,以此進行對于內數據通路的測試。
如上構成的總線分析器的操作在以下參見圖3與4進行說明。如同在以往的方法中那樣,CPU32把測試數據直接寫到跟蹤存儲器34,并讀出被寫的測試數據以便比較讀出數據與存儲在跟蹤存儲器34中的數據,從而進行對于數據通路321的測試。
對于數據通路341與351的測試如下進行。
參見圖3與4,CPU32通過控制測試控制器373把測試數據寫到模式寄存器部分372,并且這時要被施加到系統(tǒng)總線36上的模式數寫到NOP寄存器371(步驟41)。測試控制器373根據來自CPU32的控制信號控制模式寄存器部分372以及NOP寄存器371的數據的輸入和輸出,并通過總線接口35向系統(tǒng)總線36輸出存儲在模式寄存器部分372中對應于NOP寄存器371的中所存儲的模式數的測試數據的數目(步驟42)。CPU32產生用于跟蹤系統(tǒng)總線36的數據的起始信號(步驟43)。存儲器控制器33控制總線接口35以及跟蹤存儲器34以便把系統(tǒng)總線36的數據存儲到跟蹤存儲器34中(步驟44)。當經過了足夠的時間在跟蹤存儲器34中存儲了從模式寄存器部分372輸出的全部測試數據時,CPU32使得跟蹤停止(步驟45),然后讀出存儲在跟蹤存儲器34中的數據用于同存儲在模式寄存器部分372的測試數據比較(步驟46)。
改變存儲在模式寄存器部分372中的測試數據的模式,重復進行如上所述的測試以便對于所有的數據通路確認是否發(fā)生了諸如短路或干擾等故障。
模式寄存器部分372的每一個寄存器的位數可以等于系統(tǒng)總線36的信號線路的數目,從而可使得同時輸出系統(tǒng)總線36的測試數據。另一方面,模式寄存器部分372的每一個寄存器的位數可以小于系統(tǒng)總線36的信號線路數目。在這種情形下,如果模式寄存器部分372由n-位寄存器組成,并且系統(tǒng)總線36的信號線路數目為m,則使用nm分配器(未示出)向系統(tǒng)總線36反復輸出相同的測試數據進行測試。
如上所述,本發(fā)明提供了用于多處理器系統(tǒng)的總線分析器,它無需附加的外部信號而是通過自身即可測試內總線,并提供了用于測試其內總線的方法。而且,本發(fā)明的總線分析器具有不要其他板和附加的設備可使得對于內總線諸如短路或干擾的故障的測試自動化的優(yōu)點。
權利要求
1.一種在多個處理器板由系統(tǒng)總線共同連接的多處理器系統(tǒng)中用于測試系統(tǒng)總線的總線分析器,包括總線測試器,用于在測試上述系統(tǒng)總線時存儲用來測試上述系統(tǒng)總線的數據,并向上述系統(tǒng)總線輸出測試數據;跟蹤存儲器,用于順序地寫入從上述系統(tǒng)總線輸出的測試數據;存儲器控制器,用于控制上述跟蹤存儲器,使之根據跟蹤信號存儲來自上述系統(tǒng)總線的測試數據,并根據觸發(fā)信號停止存儲該數據;以及用于以下目的的控制器產生要被輸出到上述存儲器控制器的上述跟蹤和觸發(fā)信號,讀出存儲在上述跟蹤存儲器中的測試數據,并將讀出的數據同從上述總線測試器所輸出的測試數據相比較。
2.如權利要求1中所述的用于測試系統(tǒng)總線的總線分析器,其中上述總線測試器包括用于存儲測試數據的第一存儲器;用于存儲有關要被輸出到上述系統(tǒng)的測試數據的量信息的第二存儲器;以及測試控制器,用于控制上述第一與上述第二存儲器,以便向上述系統(tǒng)總線反復輸出對應于存儲在上述第二存儲器中的測試數據量的存儲在上述第一存儲器中的上述測試數據量。
3.如權利要求2中所述的用于測試系統(tǒng)總線的總線分析器,其中對于上述第一存儲器的測試數據的每一個的位數等于上述系統(tǒng)總線的信號線路的數目。
4.如權利要求2中所述的用于測試系統(tǒng)總線的總線分析器,其中對于上述第一存儲器的測試數據的每一個的位數小于上述系統(tǒng)總線的信號線路的數目,上述總線分析器還包括對于上述系統(tǒng)總線的一次測試用于向上述系統(tǒng)總線反復輸出上述第一存儲器的上述測試數據的分配器。
5.用于測試總線分析器中的內總線的方法,該總線分析器用于在多個處理器板由上述系統(tǒng)總線共同連接的多處理器系統(tǒng)中測試系統(tǒng)總線,該方法包括以下步驟產生待存儲到第一存儲器用于測試上述系統(tǒng)總線的數據;輸出存儲在上述第一存儲器中的測試數據到上述系統(tǒng)總線;產生用于跟蹤上述系統(tǒng)總線的上述測試數據的跟蹤信號;根據待存儲到第二存儲器中的跟蹤信號跟蹤上述系統(tǒng)總線的上述測試數據;產生一觸發(fā)信號以便停止跟蹤;根據上述觸發(fā)信號停止向上述第二存儲器存儲上述被跟蹤數據;以及比較上述第一存儲器中的上述測試數據與上述第二存儲器中的上述被跟蹤數據。
全文摘要
本發(fā)明為多處理器計算機系統(tǒng)的總線分析器,包括總線測試器,用于存儲和向系統(tǒng)總線輸出測試的數據;跟蹤存儲器,用于順序地寫入從系統(tǒng)總線輸出的測試數據;存儲器控制器,用于控制跟蹤存儲器;以及用于以下目的的測試控制器產生跟蹤和觸發(fā)信號,讀出測試數據,并將讀出的數據同從總線測試器所輸出的測試數據相比較。該總線分析器自動地測試內總線而無需附加的測試設備以及其他板。
文檔編號G06F13/00GK1153347SQ9511922
公開日1997年7月2日 申請日期1995年11月10日 優(yōu)先權日1994年12月22日
發(fā)明者宋庸鎬 申請人:三星電子株式會社