專利名稱:尋址錯誤和地址檢測系統(tǒng)和方法
技術領域:
本發(fā)明一般涉及電子系統(tǒng),并且特別涉及在電子系統(tǒng)中檢測尋址錯誤和地址。
背景技術:
傳統(tǒng)上,在電子系統(tǒng)中檢查尋址錯誤(例如地址總線錯誤)比檢查數據錯誤的優(yōu)先級要低。然而,為了例如關于所謂的“5-9’s”運營級(carriergrade)目標而尋求最大的系統(tǒng)可靠性和可用性,對于檢測包括尋址錯誤的所有類型電子系統(tǒng)錯誤的需要變得更加重要。
根據一個電子系統(tǒng)錯誤檢測技術,微處理器將數據寫入暫存(scratchpad)寄存器,并且接著從同一暫存寄存器讀取數據,從而在微處理器和暫存寄存器之間檢驗無差錯數據路徑。然而,這種技術本身易受到未檢測到的尋址錯誤的影響,這是由于尋址錯誤可能影響寫入地址和隨后的讀取地址二者。因此,可能在寫入和讀取操作二者期間尋址不正確的寄存器。這樣,所述尋址錯誤將不會被微處理器檢測到。
盡管例如奇偶校驗的其它錯誤保護技術可以被用來提供克服尋址錯誤的保護級別,然而在電子系統(tǒng)或其部件之內或之間所采用的許多系統(tǒng)總線協(xié)議缺乏這種保護。
發(fā)明內容
考慮到前述內容,需要用于電子系統(tǒng)的有效尋址錯誤檢測技術。特別需要在具有共享總線結構的電子系統(tǒng)中檢測尋址錯誤的技術,例如包括分組交換機或者路由器的通信設備,以及更通常地例如計算機。
根據本發(fā)明的一個方面,提供了尋址錯誤檢測系統(tǒng),用來在電子系統(tǒng)中檢測尋址錯誤。該尋址錯誤檢測系統(tǒng)包括到地址路徑的接口、支持與電子系統(tǒng)中的可尋址存儲器進行通信的數據路徑以及耦合到所述接口的處理器,所述處理器被配置用來向所述存儲器寫入目標地址,從而通過所述接口在地址路徑上輸出所述目標地址,并且用來通過確定所述地址路徑上所輸出的目標地址是否在所述存儲器中被檢測到,來檢測尋址錯誤。
還提供了在電子系統(tǒng)中檢測尋址錯誤的方法,并且該方法包括向電子系統(tǒng)中的可尋址存儲器寫入目標地址;在地址路徑上輸出所述目標地址,所述存儲器通過該地址路徑是可尋址的;以及通過確定所述地址路徑上所輸出的目標地址是否在所述存儲器中被檢測到,來檢測尋址錯誤。
本發(fā)明的另一個方面提供了用于在電子系統(tǒng)中檢測地址的地址檢測系統(tǒng)。該地址檢測系統(tǒng)包括用于接收目標地址和可尋址存儲器位置地址的接口、存儲設備和地址匹配檢測器,所述存儲設備包括所述可尋址存儲器位置并且被耦合到所述接口,用來在所述可尋址存儲器位置中存儲所述目標地址。所述地址匹配檢測器耦合到所述存儲器和地址路徑,所述存儲器位置通過該地址路徑是可尋址的,并且該地址匹配檢測器被配置用來監(jiān)控用于所述目標地址的地址路徑,并且基于在該地址路徑上是否檢測到該目標地址來提供地址檢測指示。
在電子系統(tǒng)中檢測地址的相關方法包括,接收目標地址和可尋址存儲器位置的地址、在所述可尋址存儲器位置存儲所述目標地址、監(jiān)控地址路徑,以及基于在該地址路徑上是否檢測到該目標地址來提供地址檢測指示,其中所述存儲器位置通過所述地址路徑是可尋址的。
本發(fā)明的另一個方面提供了存儲在機器可讀媒體上的數據結構。該數據結構包括存儲目標地址的地址字段和存儲標記(flag)的標記字段,所述標記指示了所述目標地址是否在地址路徑上被檢測到,所述媒體通過該地址路徑是可尋址的。
還設想了本發(fā)明的以上方面的變型。例如,寫入、輸出和確定的操作可以在處理器、針對多個目標地址而被重復。接收、存儲和監(jiān)控的相應操作也可以針對多個目標地址而被重復。所述目標地址可以包括具有例如走步1(walking ones)模式、走步0(walking zeroes)模式和檢驗板模式的一系列目標地址。
在某些實施例中,通過在存儲器中設置標記,提供了地址路徑上的地址檢測的指示。這使得能夠通過確定所述標記是否被設置,來進行關于所述目標地址是否在存儲器被檢測到的確定。
標簽(tag)值也可以被發(fā)送到并且存儲在所述存儲器中。在向所述存儲器存儲或從該存儲器檢索期間,以預定的方式變換該標簽值。這樣,如果該標簽值沒有以預定的方式被變換,則檢測到尋址錯誤。
在某些實施例中,通過與所述地址路徑分離的替換通信路徑,可以實現與存儲器的信息交換,以便在尋址錯誤測試期間不依賴于測試之下的地址路徑。
通過檢查下面對指定說明性實施例的描述,本發(fā)明的其它方面和特征對于本領域的技術人員將變得顯而易見。
現在參考附圖詳細描述本發(fā)明的實施例的例子,其中圖1是電子系統(tǒng)的框圖,其中可以實現本發(fā)明的實施例;圖2是實現了本發(fā)明實施例的說明性示例處理器的框圖;圖3是根據本發(fā)明實施例的地址檢測系統(tǒng)的框圖;圖4是根據本發(fā)明另一個實施例的數據結構的框圖;和圖5和圖6是根據本發(fā)明又一個實施例的方法的流程圖。
具體實施例方式
圖1是電子系統(tǒng)10的框圖,在該電子系統(tǒng)中可以實現本發(fā)明的實施例。電子系統(tǒng)10包括處理器12和與共享通信路徑13連接的電子設備14、16、18。每個電子設備14、16、18都包括寄存器15、17、19。電子系統(tǒng)包括的電子設備可以多于或可選地少于圖1所示的三個電子設備14、16、18。也可以在電子系統(tǒng)中提供其它類型的電子設備和附加部件,但為了避免圖中擁塞而沒有示出。因此應當認識到,圖1的系統(tǒng)10以及其它圖中的內容只是用于說明性目的,并且本發(fā)明決不受限于在此描述的并且圖中明確示出的特定示例性實施例。
處理器12可以例如是微處理器、微控制器或者控制電子系統(tǒng)10的操作的專用集成電路(ASIC)。電子設備14、16、18的例子包括ASIC、現場可編程門陣列(FPGA)、復雜可編程邏輯設備(CPLD,ComplexProgrammable Logic Device)和外圍設備,其可以位于電子系統(tǒng)的內部或者外部。處理器12通過共享路徑13與電子設備14、16、18進行通信,所述共享路徑說明性地為系統(tǒng)總線,其可以具有地址、數據和控制路徑或控制部分。這些路徑中的每個都可以包括一個或多個支持處理器12和電子設備14、16、18之間的通信的信號線。
在優(yōu)選實施例中,共享路徑13是提供分離于數據總線的地址總線的并行路徑。然而,也設想了本發(fā)明的其它實施例。例如,并行信息可以在通過典型的非復用地址/數據總線傳送之前被串行化。這樣,本發(fā)明的實施例可以用于提供預先串行化的接口的故障覆蓋。
典型地并行讀取通信路徑13的數據,和地址線上或更一般地數據和地址路徑上的信號,以形成“字(word)”。在數據路徑的情況下,所述字包括數據或指令,而在地址路徑的情況下,該字是到電子設備14、16、18的寄存器或存儲器的地址??刂菩盘柾ǔ为毜貙﹄娮釉O備14、16、18起作用,該控制信號說明性地如讀或寫使能信號。
路徑13承載的任何信號都會發(fā)生錯誤。這些錯誤的可能原因包括噪聲、路徑13自身的電子短路或開路,以及電子設備14、16、18中的驅動器和接收機中的故障。
在一個傳統(tǒng)電子系統(tǒng)中,寄存器15、17、19是暫存寄存器。如上所述,在系統(tǒng)的數據線中檢查錯誤的已知方法涉及,處理器12向給定電子設備中的暫存寄存器寫入,并且然后從該暫存寄存器讀取,從而檢驗處理器12到所述設備的無差錯數據路徑。
在地址空間內的暫存寄存器的關鍵配置,能夠提供某些地址故障檢測。例如,各個暫存寄存器可以以地址0x5555...5和2xAAAA...A來被實現。假設能夠識別暫存寄存器和非暫存寄存器之間的區(qū)別(不總是這種情況),這將允許某些尋址錯誤保護。然而,所述保護不像本發(fā)明的實施例所提供的那樣徹底,并且限制了故障隔離能力。
根據本發(fā)明的實施例,在路徑13上檢測尋址錯誤。這里公開的錯誤檢測技術在缺乏用來保護地址路徑或總線的地址奇偶校驗的電子系統(tǒng)中,可能特別有用。如下面詳細討論的,寄存器15、17、19中的每個都是或者包括匹配地址寄存器。例如通過處理器12執(zhí)行背景診斷,目標地址被存儲在電子設備的匹配地址寄存器中。
所述匹配地址寄存器然后針對目標地址的出現來監(jiān)控地址路徑活動,響應于該目標地址的出現而優(yōu)選地設置寄存器中的標記。所述背景診斷驅動地址路徑上的目標地址,并且檢查所述標記以通過所述匹配地址寄存器來確認目標地址的檢測??梢岳绺鶕藴实谋忍夭铄e測試模式來改變所述目標地址,從而以比特級粒度來徹底地檢查尋址錯誤。由于匹配地址寄存器僅“監(jiān)聽”地址路徑活動,電子系統(tǒng)的正常操作可以與尋址錯誤檢查同時被執(zhí)行。本發(fā)明的其它實施例提供了可選方案,以確保與匹配地址寄存器的通信的完整性,例如使用標簽字段或可選地使用帶外信道。
因此,例如通過執(zhí)行存儲在存儲器(未示出)中的軟件,來優(yōu)選地配置處理器12,以確定目標地址并且通過路徑13將該目標地址寫入寄存器15、17、19中特定的一個。所述目標地址可以例如是特定寄存器15、17、19的實際地址、與電子設備14、16、18相關聯的地址或測試地址,其中電子設備14、16、18包括所述寄存器或例如該電子設備的另一個寄存器的另一個可尋址部件。應當相應地解釋目標地址的參考。
寄存器15、17、19中的每個在路徑13上都是唯一可尋址的。為了向特定寄存器15、17、19寫入目標地址,處理器12在通信路徑13的地址路徑上輸出寄存器的地址、在路徑13的數據路徑上輸出目標地址,并且在許多實現中在路徑13的控制路徑上輸出寫命令。應當指出,此時所述目標地址被存儲在所述寄存器中,并且因此在數據路徑上被輸出而不是在地址路徑上被輸出。在目標地址被寫入寄存器15、17、19之后,處理器12在地址路徑上輸出目標地址,并且然后確定寄存器15、17、19或所述寄存器位于其中的電子設備14、16、18,是否正確識別了該目標地址。如下面詳細描述的,例如通過從所述寄存器讀取標記,可以進行這種確定。
如果處理器12確定沒有在電子設備14、16、18正確識別地址路徑上所斷言(assert)的目標路徑,則發(fā)生了尋址錯誤,并且可以提供尋址錯誤的指示。錯誤指示可以包括例如告警信號或錯誤消息,響應于該告警信號或錯誤消息,可以自動發(fā)起或者由操作員或服務人員發(fā)起其它測試或校正動作。錯誤指示中也可以提供關于被測試寄存器的信息,以及可能地提供被用于測試該寄存器的目標地址。所述錯誤指示優(yōu)選地不依賴于所測試的地址路徑。
處理器12確定所述目標地址在該目標地址被寫入的寄存器被正確識別表明,所述地址路徑針對所述目標地址的特定比特組合來正確地操作。處理器12然后可以利用一個或多個不同的目標地址來繼續(xù)尋址錯誤檢查。根據預定比特模式變化序列的一系列目標地址,可以被用于測試地址路徑的不同地址線上的故障或錯誤,或者測試不同類型的故障和錯誤。例如,目標地址序列可以包括通常使用的存儲器測試模式,例如走步1、走步0、檢驗板等。
在某些實施例中,即使針對一個目標地址檢測到尋址錯誤,處理器12也可以利用一系列目標地址來繼續(xù)執(zhí)行完整的測試周期。在該系列中的其它目標地址可以允許識別一個或多個特定地址線,或會導致被檢測尋址錯誤的故障類型。
根據預定的安排,或者例如響應于用戶輸入,處理器12針對寄存器15、17、19中的每一個優(yōu)選地周期性重復以上操作。處理器12優(yōu)選地跟蹤被測試的特定寄存器和當前被使用的目標地址。這種跟蹤可能涉及在處理器12的存儲器中,存儲測試下的寄存器或該寄存器位于其中的電子設備的地址或其它標識符,以及當前目標地址或其標識符。
寄存器和目標地址跟蹤還可能有助于管理多個寄存器的并發(fā)尋址錯誤周期。例如,處理器12可能涉及跟蹤記錄,以確定應當在通信路徑13的地址路徑上斷言哪些目標地址,并且確定哪些寄存器應當識別每個目標地址。
圖2是實現本發(fā)明實施例的說明性示例處理器20的框圖。處理器20實現了目標地址產生器22、診斷模塊24和通信路徑接口26,該通信路徑接口用于連接到地址、路徑且可能地連接到控制路徑,例如電子系統(tǒng)總線的地址、數據和控制線。
如對于本領域的技術人員顯而易見的那樣,至少目標地址產生器22和診斷模塊24可以在由處理器20執(zhí)行的軟件中被實現。通信路徑接口26通常包括驅動器和接收機,其可以類似地在軟件中被實現。例如,這些驅動器和接收機可以發(fā)送信號到地址、數據和可能地處理器芯片上的控制引腳(pin),并且從其接收信號。
目標地址產生器22產生一個或多個目標地址用來檢驗地址路徑功能性。目標地址產生可以以許多不同的方式來實現,例如通過在存儲器中存儲包括通常使用的測試數據模式的目標地址。這樣,目標地址產生器22提供了存儲器訪問功能。根據另一個方法,目標地址產生器22是產生一個或多個目標地址的“激活”部件。在一個實施例中,目標地址產生器22響應于來自診斷模塊24的目標地址請求而產生目標地址。
診斷模塊24從目標地址產生器22獲得目標地址、通過接口26將該目標地址寫入寄存器、通過總線接口26在地址路徑上輸出該目標地址,并且確定向其寫入每個目標地址的寄存器是否正確識別了所述地址路徑上的目標地址。識別所述地址路徑上的目標地址的失敗表明發(fā)生了尋址錯誤。
目標地址產生器22或者診斷模塊24通過維持存儲器中的映射表以映射測試下的寄存器和對應的目標地址,也可以提供如上所述的跟蹤功能,其中所述目標地址當前被用來測試所述寄存器的尋址。
在優(yōu)選實施例中,尋址錯誤檢測是不顯著影響處理器或電子設備的正常操作的背景診斷操作。因此,圖2的處理器20不必是專用處理器,并且可以實現不同于明確示出的部件和功能的其它部件和功能。處理器20也可以執(zhí)行例如操作系統(tǒng)軟件,并且支持通過接口26的其它類型的通信。
不同于圖2所示的那樣來劃分尋址錯誤檢查功能也是可能的。例如,目標地址產生可以通過診斷軟件來執(zhí)行,而不是通過分離的目標地址產生器。本發(fā)明的實施例包括的部件因而可以少于圖2所示的部件。
本發(fā)明也不限于利用處理器的實現。圖2所示的部件可以在各個硬件部件中被分離地實現。
上面描述了本發(fā)明的實施例所涉及的并且在地址路徑的處理器端所實現的各種功能。圖3是根據本發(fā)明另一個實施例的在電子設備處實現的地址檢測系統(tǒng)的框圖。
系統(tǒng)30包括地址解碼器34和耦合到地址路徑32的地址匹配檢測器36。地址解碼器34也耦合到包括寄存器41-1到42-N的寄存器庫(bank)42、多路復用器40和三態(tài)緩沖器44的控制端子。地址匹配解碼器36耦合到一個或多個匹配地址寄存器,在42-4示出了其中寫入目標地址的所述一個或多個匹配地址寄存器之一。對于本領域的技術人員顯而易見的是,包括系統(tǒng)30的電子設備可以包括不同于地址解碼器34的其它接口部件,例如驅動器和接收機,用于連接到地址、數據和控制路徑。
在本發(fā)明涉及的技術領域中,很好地理解了包括地址解碼器34、三狀態(tài)緩沖區(qū)44、復用器40和寄存器庫42的寄存器系統(tǒng)的基本結構和操作。地址解碼器34對在地址路徑32上所接收的地址進行解碼。對于讀操作,利用復用器40來選擇對應于被接收地址的寄存器庫42中的寄存器42-1到42-N之一,三狀態(tài)緩沖器44被置于其低阻抗狀態(tài),并且存儲在寄存器中的數據被輸出到數據路徑。寫操作基本上類似,盡管通過寫選通(writestrobe)而不是復用器來實現寄存器選擇。
然而,傳統(tǒng)的寄存器系統(tǒng)不包括地址匹配檢測器36,該地址匹配檢測器可以例如利用比較器而在硬件中被實現,或者在處理器所執(zhí)行的軟件中被實現。當目標地址被寫入寄存器庫42中的匹配地址寄存器42-4時,地址匹配檢測器36將地址路徑上的每個地址與匹配地址寄存器42-4中的目標地址進行比較。如果檢測到地址路徑32上的地址和匹配地址寄存器42-4中的目標地址之間的匹配,則地址匹配檢測器36優(yōu)選地通過在匹配地址寄存器42-4中設置標記,來提供所述檢測的指示。處理器然后可以確定是否通過訪問匹配地址寄存器42-4并且特別通過確定所述標記是否被設置,檢測所述目標地址。
圖4是根據本發(fā)明另一個實施例的數據結構的框圖。數據結構52代表了記錄的例子,其中,信息可以被存儲在寄存器庫42的匹配地址寄存器42-4中。
數據結構50包括標簽字段52、用于存儲標記的發(fā)現(found)標記字段54以及用于存儲目標地址的匹配地址字段56,所述標記在目標地址在地址路徑上被檢測到時被設置。根據前述內容,根據本發(fā)明實施例的發(fā)現標記字段54和匹配地址字段56的使用是顯而易見的。下面將詳細描述標簽字段52。
“標簽”字段52被包括在匹配地址寄存器記錄50中,以提供目標地址的完整性的另一個指示,該標簽字段被發(fā)送到所述匹配地址寄存器。存儲在標簽字段52中的標簽可以是由診斷軟件或實現尋址錯誤檢查的部件所選擇的任意二進制字。
所述匹配地址寄存器優(yōu)選地具有關于電子設備或系統(tǒng)中的其它類型寄存器的唯一能力,這是由于該匹配地址寄存器在將標簽寫到標簽字段52之前,以預定的方式來倒置或變換該標簽??蛇x地,在所述標簽字段被讀取時,匹配地址寄存器42-4能夠變換該標簽。在系統(tǒng)30中,后一功能由標簽變換器43來提供,該變換器可以包括倒置器(inverter),以倒置例如從匹配地址寄存器42-4讀取的標簽值。
盡管如圖3所示位于寄存器庫42中,然而標簽變換器43可以作為分離的外部部件來被實現。標簽變換器43也不必如所示的那樣在匹配地址寄存器42-4的讀取端上被實現,而是可以在匹配地址寄存器42-4的寫入端上被實現。也就是,當標簽值被讀取時,寫入匹配地址寄存器42-2的該標簽值可以被存儲或倒置,或者在被存儲之前被倒置。在后一情況中,當讀取匹配地址寄存器42-4時,返回該被倒置的標簽值。
當匹配地址寄存器內容被讀取以檢查所述發(fā)現標記時,也優(yōu)選地檢查標簽字段52中所存儲的值,以檢驗其是被發(fā)送到匹配地址寄存器的被選擇標簽的倒置。由于所述匹配地址寄存器是倒置這部分被存儲數據(即分配給標簽字段52的比特)的系統(tǒng)中的唯一寄存器,因此可以確保錯誤檢測系統(tǒng)在其讀取標簽字段52時已經到達匹配地址寄存器。
在某些電子系統(tǒng)中,在系統(tǒng)總線中提供了不同數量的地址線和數據線,其中地址線的數量通常大于數據線的數量。這樣,單個目標地址可以被分為多個寄存器或存儲器位置。
所述目標地址可以被分為對應于數據線數量的部分,其中所述部分通過多個寫操作而被寫入各個匹配地址寄存器。每個寫操作優(yōu)選地指定不同的地址,其開始于主匹配地址寄存器的地址,并且接著是一個或多個次匹配地址寄存器的地址,其中所述目標地址的第一部分被存儲在所述主匹配地址寄存器中。
可選地,所有寫操作可以指定相同的地址,例如主匹配地址寄存器的地址,在所述所有寫操作中,相同目標地址的部分被寫入。然后在電子設備上針對將目標地址的部分寫入多個匹配地址寄存器進行管理。在這種方案中,電子設備可以簡單地將目標地址的部分寫入寄存器庫中的連續(xù)寄存器中。另一個選擇是通過在用來存儲目標地址的一部分的每個匹配地址寄存器中,包括到存儲了目標地址的下一部分的匹配地址寄存器的指針或其地址,使得所述電子設備形成鏈表類型的數據結構。
結合多個匹配地址寄存器的地址檢測基本上如上所述地進行,除了多個匹配地址寄存器的內容被連起來或被組合,用來與在地址路徑上所觀察的地址進行比較。用于存儲目標地址的每個匹配地址寄存器還可以包括發(fā)現標記,或在多比特標記的情況下包括該發(fā)現標記的一部分,其中在檢測到目標地址時設置所述多比特標記。然后可以訪問任何匹配地址寄存器以確定所述目標地址是否被檢測到。然而,當在單個比特標記的情況下占用較少的存儲空間并且在地址檢測時僅需要設置一個標記到一個寄存器中時,在例如主匹配地址寄存器中的單個發(fā)現標記也提供了目標地址檢測的指示。
如上所述,可以采用匹配地址寄存器在讀操作或者寫操作期間所變換的標簽以提供這樣的指示目標地址被正確存儲在匹配地址寄存器中而不是電子設備或系統(tǒng)中的另一類型寄存器中。如果目標地址在幾個匹配地址寄存器之中被劃分,則每個匹配地址寄存器優(yōu)選地包括標簽字段。
上述技術可以規(guī)定下至每比特粒度的地址故障的檢測和隔離。然而,有效的尋址錯誤檢測取決于對存儲器的正確訪問,該存儲器說明性地是匹配地址寄存器。因此期望當訪問匹配地址寄存器時,改進尋址錯誤檢測系統(tǒng)對地址故障的容限。下面提供了可以用來在本發(fā)明的某些實施例中改進這種容限的措施的例子1.通過在電子設備的地址總線上使用輸入上拉/下拉(inputpull-up/down)從而“不履行(default)”到主地址匹配寄存器的總線訪問,改進了對于地址總線開路的容限;2.通過針對所述主地址匹配寄存器使用“全零”或者“全一”地址,改進對地址總線短路的容限;和3.通過允許所述地址匹配寄存器化名(alias to)為盡可能多的未使用地址位置,改進對尋址錯誤的容限。
也設想了上述系統(tǒng)的其它變型。根據本發(fā)明實施例的匹配地址寄存器的標簽字段和標簽倒置功能提供了一種機制,由此尋址錯誤檢測系統(tǒng)可以確定匹配地址寄存器是否被訪問。支持與電子設備或存儲器進行通信的、例如帶外信道的替換通信路徑是這樣的機制的另一個例子可以改進尋址錯誤檢測系統(tǒng)和電子設備或存儲器之間的通信的可靠性和完整性。所述替換通信路徑不同于通常被用來與電子設備或寄存器進行通信的通信路徑,并且因此不遭受與通常通信路徑相同的干擾和故障。
所述替換通信路徑優(yōu)選地被用于向電子設備或存儲器發(fā)送目標地址,并且也可以被用于讀取該存儲器的內容。然而,所述目標地址隨后在通常的地址路徑上被斷言,并且如上所述,所述電子設備監(jiān)控用于所述目標地址的通常地址路徑,以便檢查該通常地址路徑上的錯誤。
在一個可能實現中,提供了分離的接口和信號線以支持所述替換通信路徑。在圖2中,例如,另一個接口可以耦合到所述診斷模塊24,用來向存儲器寫入目標地址。在圖3的系統(tǒng)30中,可以類似地提供到寄存器庫42的附加接口。
因此,以附加接口和信號線為代價,所述替換通信路徑方法提供了用于傳送目標地址的不同路徑。所述標簽和倒置方法避免了附加的硬件,但增加了在尋址錯誤檢測系統(tǒng)和任何電子設備之間所傳送的信息量,并且還依賴于所述通常通信路徑。
上面就尋址錯誤檢測系統(tǒng)和地址檢測系統(tǒng)方面描述了本發(fā)明的實施例。圖5和6是根據本發(fā)明另一個實施例的方法的流程圖。根據前述系統(tǒng)的描述,圖5和6所示的操作將變得顯而易見,并且因此下面相對簡要地對其進行描述。
圖5示出了電子系統(tǒng)中的檢測尋址錯誤的方法。方法60開始于62,其中向電子系統(tǒng)中的可尋址存儲器寫入目標地址。在63,該目標地址然后在地址路徑上被輸出,所述存儲器通過該地址路徑是可尋址的。在64,進行關于在地址路徑上所輸出的目標地址是否在存儲器中被檢測到的確定。如在66所指示,如果所述目標地址沒有被檢測到,則檢測到尋址錯誤。
如果所述地址路徑正確操作,則所述目標地址將被檢測到。所述方法可以在68繼續(xù)進行,以獲得被用于檢驗地址路徑的操作的一系列目標地址中的下一個目標地址,并且所述方法針對所述下一個目標地址進行重復。如上所述以及圖5中的虛線所指示的,如果當前目標地址沒有被檢測到,則尋址錯誤檢查周期也可以在68繼續(xù)進行。
圖6說明了在電子系統(tǒng)中檢測地址的方法。當接收到目標地址時,方法70開始于72。在73,所述目標地址在可尋址存儲器位置被存儲,該可尋址存儲器位置連同該目標地址一起被接收。在74,監(jiān)控地址路徑,所述存儲器位置通過該地址路徑是可尋址的。如果所述目標地址在地址路徑上被檢測到,如在76所確定的那樣,則在78提供地址檢測指示。如所示,該地址檢測指示可以通過設置標記來被提供。當在72接收到另一個目標地址時,方法70可以被重復。
如果所述目標地址在地址路徑上沒有被檢測到,則地址路徑的監(jiān)控可以在74繼續(xù)進行。例如,所述地址路徑在74可以針對預定的時間量而被監(jiān)控,或者直到目標地址被檢測到或另一個目標地址在72被接收到。
根據前面對尋址錯誤檢測系統(tǒng)和地址檢測系統(tǒng)的描述,用于執(zhí)行圖5和6所示的操作的不同機制以及可以在尋址錯誤檢查和地址檢測期間被執(zhí)行的其它操作變得顯而易見。
這里公開的尋址錯誤和地址檢測技術,對于電子系統(tǒng)的正常操作而言基本上并不突出。在匹配地址寄存器加載了目標地址之后,當匹配寄存器監(jiān)控用于目標地址的地址路徑上的活動時,可以管理正常系統(tǒng)操作。更加不突出的是,“輸出”目標地址的操作可以通過讀取目標地址處的寄存器來實現。在目標地址中避免向寄存器提供任何讀取端效應,這對系統(tǒng)是無害的。
在尋址錯誤測試周期中使用一系列目標地址,也提供了比特級粒度的尋址錯誤檢測。
所描述的內容僅說明了本發(fā)明原理的應用。本領域的技術人員可以在不脫離本發(fā)明范圍的情況下實現本發(fā)明的其它安排和方法。
例如,根據上述本發(fā)明的實施例,通過尋址錯誤檢測系統(tǒng)而在地址路徑上斷言目標地址。然而,目標地址可以是測試地址或實際地址,電子設備、存儲器或電子系統(tǒng)中的其它部件通過該地址是可尋址的。在后一情況中,所述尋址錯誤檢測系統(tǒng)可以在電子系統(tǒng)的正常操作期間,自己檢測地址路徑上的目標地址的斷言,并且然后確定所述目標地址是否通過該目標地址被寫入的每個匹配地址寄存器而被正確地檢測。由此目標地址斷言被并入正常系統(tǒng)操作中,這進一步降低了尋址錯誤檢查對正常操作的影響。
在存儲器或電子設備所執(zhí)行的操作也可以包括比上述“激活”操作更多的“激活”操作,例如向處理器發(fā)送地址檢測指示。一旦目標地址被寫入存儲器并且在地址路徑上被輸出,該處理器就僅需要監(jiān)控來自該存儲器的指示,而不是再次訪問該存儲器,從而確定所述目標地址是否被檢測。通過在地址路徑上回送被檢測的目標地址、在地址總線上輸出一系列目標地址中的下一個目標地址,或者當檢測到目標地址時提供某些其它預定響應,例如專用引腳上的響應,可以由存儲器或電子設備來提供所述地址檢測指示,所述專用引腳可以中斷處理器或由處理器來探詢(poll)。
如果在目標地址在地址路徑上被輸出之后、在響應時間周期內沒有接收到地址檢測指示,則宣告尋址錯誤。這樣,所述地址檢測指示也可以包括存儲器的指示,說明性地是其實際地址或某些其它標識符,以便處理器能夠確定哪個存儲器檢測到了該目標地址。否則,上面詳述的實施例可以優(yōu)選地提供正確存儲器識別了目標地址的保證級別,在所述實施例中,存儲器首先被寫入并且然后被讀取。
另外,盡管主要就方法和系統(tǒng)方面進行了描述,然而也設想了本發(fā)明的其它實現,例如存儲在機器可讀媒體上的指令。
權利要求
1.一種用于在電子系統(tǒng)中檢測尋址錯誤的尋址錯誤檢測系統(tǒng),該尋址錯誤檢測系統(tǒng)包括到地址路徑和數據路徑的接口,所述路徑支持與所述電子系統(tǒng)中的可尋址存儲器的通信;耦合到所述接口的處理器,該處理器被配置用來向所述存儲器寫入目標地址、通過所述接口在所述地址路徑上輸出該目標地址,并且通過確定在所述地址路徑上所輸出的目標地址是否在所述存儲器被檢測到,來檢測尋址錯誤。
2.根據權利要求1的尋址錯誤檢測系統(tǒng),其中,所述處理器還被配置用來針對多個目標地址中的每一個重復寫入、輸出和確定的操作。
3.根據權利要求1或2的尋址錯誤檢測系統(tǒng),其中,所述存儲器包括所述電子系統(tǒng)中的電子設備的存儲器,該電子設備被配置用來監(jiān)控用于所述目標地址的地址路徑,并且響應于檢測到所述地址路徑上的目標地址而在所述存儲器中設置標記,并且其中,所述處理器被配置用來通過確定所述標記是否在所述存儲器中被設置,來確定在所述地址路徑上所輸出的目標地址是否在所述存儲器被檢測到。
4.根據權利要求1或2的尋址錯誤檢測系統(tǒng),其中,所述處理器還被配置用來向所述存儲器寫入標簽值;在存儲到所述存儲器或從該存儲器檢索期間,所述標簽值在該存儲器中以預定的方式被變換;以及所述處理器還被配置用來從所述存儲器檢索所述標簽值,并且通過確定所述標簽值是否以所述預定的方法被變換,來檢測尋址錯誤。
5.根據權利要求1或2的尋址錯誤檢測系統(tǒng),其還包括到替換通信路徑的另一個接口,該替換通信路徑支持與所述存儲器的通信,其中,所述處理器被耦合到所述另一個接口,并且被配置用來通過該另一個接口向所述存儲器寫入所述目標地址,以及通過經由該另一個接口訪問所述存儲器,來確定在所述地址路徑上所輸出的目標地址是否在該存儲器被檢測到。
6.一種在電子系統(tǒng)中檢測尋址錯誤的方法,該方法包括下列步驟向所述電子系統(tǒng)中的可尋址存儲器寫入目標地址;在地址路徑上輸出該目標地址,所述存儲器通過該地址路徑是可尋址的;以及通過確定在所述地址路徑上所輸出的目標地址是否在所述存儲器被檢測到,來檢測尋址錯誤。
7.根據權利要求6的方法,其還包括針對多個目標地址中的每一個來重復所述寫入、輸出和確定。
8.根據權利要求6或7的方法,其中,所述存儲器包括所述電子系統(tǒng)中的電子設備的存儲器,該電子設備被配置用來監(jiān)控用于所述目標地址的地址路徑,并且響應于檢測到該地址路徑上的目標地址而在所述存儲器中設置標記,并且其中,所述確定包括確定所述標記是否在所述存儲器中被設置。
9.根據權利要求6或7的方法,其還包括向所述存儲器寫入標簽值,在存儲到所述存儲器或從該存儲器檢索期間,所述標簽值在該存儲器中以預定的方式被變換;從所述存儲器檢索所述標簽值;以及通過確定所述標簽值是否以所述預定的方式被變換,來檢測尋址錯誤。
10.根據權利要求6或7的方法,其中,所述電子系統(tǒng)包括通信路徑,該通信路徑包括所述地址路徑以及支持與所述存儲器通信的替換通信路徑;所述寫入包括通過所述替換通信路徑將所述目標地址寫入所述存儲器;和所述確定包括通過所述替換通信路徑來訪問所述存儲器。
11.一種用于在電子系統(tǒng)中檢測地址的地址檢測系統(tǒng),該地址檢測系統(tǒng)包括接口,其用于接收目標地址和可尋址存儲器位置的地址;存儲設備,其包括所述可尋址存儲器位置,并且被耦合到所述接口,用來在該可尋址存儲器位置中存儲所述目標地址;和耦合到所述存儲器和地址路徑的地址匹配檢測器,所述存儲器位置通過該地址路徑是可尋址的,該地址匹配檢測器被配置用來監(jiān)控用于所述目標地址的地址路徑,以及基于所述目標地址是否在所述地址路徑上檢測到來提供地址檢測指示。
12.根據權利要求11的地址檢測系統(tǒng),其中,所述地址匹配檢測器被配置用來在所述目標地址在所述地址路徑上被檢測到的情況下,通過在所述存儲器位置中設置標記而提供所述地址檢測指示。
13.根據權利要求12的地址檢測系統(tǒng),其中,從處理器接收所述目標地址和所述地址,并且其中,所述處理器被配置用來在所述地址路徑上輸出所述目標地址,并且隨后訪問所述標記以確定該目標地址是否由所述地址匹配檢測器檢測到。
14.根據權利要求11的地址檢測系統(tǒng),其中,所述接口還接收標簽值以存儲到所述可尋址存儲器位置中,并且其中,在存儲到所述可尋址存儲器位置或者從該可尋址存儲器位置檢索期間,所述存儲器設備以預定的方式變換所述標簽值。
15.根據權利要求11到14中任一個的地址檢測系統(tǒng),其中,所述接口包括到支持與所述存儲器通信的替換通信路徑的接口,該替換通信路徑不同于所述地址路徑。
16.一種電子系統(tǒng),其包括多個電子設備,每個都包括根據權利要求11到14中任一個的地址檢測系統(tǒng);和處理器,其被配置用來向所述多個電子設備中的每一個發(fā)送目標地址,和所述電子設備的存儲器中的可尋址存儲器位置的地址;在所述地址路徑上輸出每個目標地址;并且基于由所述多個電子設備中每一個的地址匹配檢測器所提供的指示,確定在所述地址路徑上所輸出的每個目標地址是否由所述電子設備檢測到,其中所述目標地址被發(fā)送到該電子設備。
17.一種在電子系統(tǒng)中檢測地址的方法,該方法包括下列步驟接收目標地址和可尋址存儲器位置的地址;在所述可尋址存儲器位置中存儲所述目標地址;監(jiān)控地址路徑,所述存儲器位置通過該地址路徑是可尋址的;以及基于所述目標地址是否在所述地址路徑上被檢測到,來提供地址檢測指示。
18.根據權利要求17的方法,其中,所述提供包括在所述目標地址在所述地址路徑上被檢測到的情況下,在所述存儲器位置中設置標記。
19.根據權利要求18的方法,其中,所述接收包括接收所述目標地址和來自處理器的地址,該方法在所述處理器還包括在所述地址路徑上輸出所述目標地址;以及訪問所述標記以確定所述目標地址是否在所述地址路徑上被檢測到。
20.根據權利要求17的方法,其還包括接收標簽值以存儲到所述可尋址存儲器位置中;并且在存儲到所述可尋址存儲器位置或從該可尋址存儲器位置檢索期間,以預定的方式變換所述標簽值。
21.一種存儲數據結構的機器可讀媒體,其包括存儲目標地址的地址字段;和存儲標記的標記字段,所述標記指示了所述目標地址是否在地址路徑上被檢測到,所述媒體通過該地址路徑是可尋址的。
22.根據權利要求21的媒體,其中,所述數據結構還包括存儲標簽值的標簽字段,所述標簽值可以在存儲到所述標簽字段或從該標簽字段檢索時、以預定的方式被變換。
全文摘要
公開了尋址錯誤檢測的系統(tǒng)和方法。目標地址被寫入電子系統(tǒng)中的存儲器,并且隨后在地址路徑上被輸出,存儲器通過該地址路徑是可尋址的。通過確定在地址路徑上所輸出的目標地址是否在存儲器被檢測到,來檢測尋址錯誤。在存儲器處的地址檢測涉及存儲目標地址、監(jiān)控用于該目標地址的地址路徑,以及基于該目標地址是否在地址路徑上被檢測到來提供地址檢測指示。可以例如通過在存儲于存儲器中的數據結構中設置標記,來提供地址檢測指示。
文檔編號G06F11/00GK1794186SQ20051013267
公開日2006年6月28日 申請日期2005年12月20日 優(yōu)先權日2004年12月22日
發(fā)明者S·德里埃狄格爾 申請人:阿爾卡特公司