專利名稱::統(tǒng)計引擎的制作方法
技術領域:
:本發(fā)明涉及存儲系統(tǒng),具體涉及一種統(tǒng)計引擎。技術背景典型地,使用存儲系統(tǒng)來存儲高速通信應用中的分組信息、路由表、鏈路列表和控制面表格數據。這些系統(tǒng)通常需要對數據流進行重要的統(tǒng)計更新,以便對通信系統(tǒng)進行優(yōu)化并執(zhí)行服務等級協議(SLA)。然而,執(zhí)行統(tǒng)計更新需要大量的處理器資源,因而實質上降低了高速通信網路中的節(jié)點的分組吞吐量。圖l示出了一種典型的網絡處理電路。從多個輸入通道接收分組,并在成幀器101中組成幀。流控制管理器(FCM)102把組成幀的分組引至內容檢査引擎(C正)103。CIE103把分組引至網絡處理單元(NPU)104。CIE103識別分組的類型及其配置,從而能夠在NPU104中對這些分組進行處理。NPU104把分組轉移到能夠與交換機結構109進行通信的第二FCM108,而交換機結構109可以包括各個分組的交換輸出信道位置。然后把分組經過FCM108、NPU104、C正103和FCM102后向轉移,以便經過成幀器101傳輸。典型地,NPU104可以和存儲器106、107以及網絡搜索引擎(NSE)105相連。控制器110控制FCM102、C正103、NPU104和FCM108的操作,并監(jiān)視網絡處理電路100的性能。通常,統(tǒng)計和監(jiān)視任務由NPU104執(zhí)行,并與控制器110進行數據通信。可以獲得例如為具體用戶而傳輸的信息的字節(jié)數的統(tǒng)計,或數據經過網絡電路100的傳輸誤碼率的統(tǒng)計。這些統(tǒng)計的編譯將會占據NPU104大量的帶寬。使用NPU104的帶寬執(zhí)行統(tǒng)計功能的結果是,實質上會減小網絡電路100的吞吐量。因此,需要這樣的一種系統(tǒng),能夠對流過系統(tǒng)的數據進行所需的統(tǒng)計更新,同時不會顯著地減小處理該數據流的處理器的帶寬。
發(fā)明內容根據本發(fā)明,提出了一種存儲系統(tǒng),該系統(tǒng)最小程度的利用節(jié)點處的處理器,對所述存儲系統(tǒng)中的存儲器上存儲的數據執(zhí)行統(tǒng)計功能。所述存儲系統(tǒng)包括雙端口存儲器,所述雙端口存儲器的兩個端口之一與統(tǒng)計處理器相連。在統(tǒng)計處理器對存儲在所述存儲器上的數據執(zhí)行統(tǒng)計更新時,所述節(jié)點處的系統(tǒng)處理器可以使用雙端口存儲器的第二端口。在一些實施例中,所述存儲系統(tǒng)可以包括微處理器或算術邏輯單元("ALU")。在一些實施例中,通過雙端口存儲器中的存儲位置把統(tǒng)計信息傳遞給系統(tǒng)處理器。根據本發(fā)明一些實施例的統(tǒng)計引擎包括雙端口存儲陣列;以及與所述雙端口存儲陣列的第一端口相連的統(tǒng)計處理器,其中所述統(tǒng)計處理器能夠響應所述統(tǒng)計引擎接收到的命令而對所述雙端口存儲陣列中存儲的數據執(zhí)行統(tǒng)計更新。在一些實施例中,所述統(tǒng)計處理器包括算術邏輯單元,所述算術邏輯單元包括能夠執(zhí)行操作的計數器。在一些實施例中,所述統(tǒng)計引擎可以包括地址緩沖器,所述地址緩沖器與解碼器相連,所述解碼器用于對寫入命令的地址中接收到的操作碼進行解譯。在一些實施例中,所述統(tǒng)計引擎以QDR存儲器工作。在一些實施例中,所述統(tǒng)計處理器中的計數器的寬度是可配置的。在一些實施例中,所述統(tǒng)計引擎可以包括缺省寄存區(qū)(registry)。在一些實施例中,所述缺省寄存區(qū)中的缺省寄存器是可寫入的。在一些實施例中,所述統(tǒng)計引擎包括配置寄存器。在一些實施例中,所述配置寄存器包括對所述計數器的寬度配置進行控制的寄存器。在一些實施例中,所述配置寄存器包括響應特殊操作碼來控制要執(zhí)行多個操作碼集合中哪個操作碼集合的寄存器。一種用于在根據本發(fā)明的統(tǒng)計引擎中執(zhí)行統(tǒng)計的方法,包括在統(tǒng)計引擎中接收操作碼,其中,所述統(tǒng)計引擎包括雙端口存儲器以及與所6述雙端口存儲器的某個端口相連的統(tǒng)計處理器;以及執(zhí)行由所述操作碼所指示的操作。在一些實施例中,接收操作碼包括接收具有內嵌于寫入命令中的操作碼的地址。在一些實施例中,可以利用寫入命令來接收數據。在一些實施例中,執(zhí)行操作包括從雙端口存儲器中讀取數值;使該數值加一;以及把該數值寫入所述雙端口存儲器。在一些實施例中,執(zhí)行操作包括從雙端口存儲器中讀取數值;使該數值減一;以及把該數值寫入所述雙端口存儲器。在一些實施例中,執(zhí)行操作包括算術邏輯單元獲得第一操作數;算術邏輯單元獲得第二操作數;以及提供從第一操作數和第二操作數的函數中產生的數值。在一些實施例中,可以把該值寫入雙端口存儲器。在一些實施例中,從函數集中選擇函數,所述函數集包括把第一操作數與第二操作數相加;從第二操作數中減去第一操作數;以及執(zhí)行第一操作數和第二操作數之間的XOR操作。在一些實施例中,獲得第一操作數包括從包括數據輸入、缺省寄存器、雙端口存儲器以及算術邏輯單元輸出的一組位置中的某個位置接收第一操作數。在一些實施例中,獲得第二操作數包括從包括數據輸入、缺省寄存器、雙端口存儲器以及算術邏輯單元輸出的一組位置中的某個位置接收第二操作數。在一些實施例中,從操作碼所確定的位置接收第一操作數和第二操作數。在一些實施例中,執(zhí)行由操作碼指示的操作包括執(zhí)行虛擬清除操作。在一些實施例中,執(zhí)行由操作碼指示的操作包括同時執(zhí)行使用多個計數器的功能。在一些實施例中,執(zhí)行由操作碼指示的操作包括初始化設置寄存器。在一些實施例中,初始化設置寄存器包括對確定統(tǒng)計處理器的計數器的寬度配置的寄存器進行設置。在一些實施例中,初始化設置寄存器包括對確定要用于統(tǒng)計引擎的操作碼指令集的寄存器進行設置。在一些實施例中,執(zhí)行由操作碼指示的操作包括初始化缺省寄存器。在一些實施例中,執(zhí)行由操作碼指示的操作包括執(zhí)行統(tǒng)計讀取操作。下文參考附圖對這些和其它實施例作進一步的描述。應當理解的是,上面的大體描述和下面的詳細描述僅是示意性和說明性的,不會限制本發(fā)明。本發(fā)明由權利要求限定。圖l示出了示例性的傳統(tǒng)連網電路。圖2A示出了根據本發(fā)明一些實施例的統(tǒng)計引擎。圖2B示出了根據本發(fā)明一些實施例的統(tǒng)計引擎的級聯。圖3示出了使用根據本發(fā)明一些實施例的統(tǒng)計引擎的連網電路的示例。圖4A至4B示出了根據本發(fā)明一些實施例的統(tǒng)計引擎的特定實施例的各個方面。圖5示出了根據本發(fā)明的統(tǒng)計引擎的一些實施例中的計數器的可變配置。圖6A至6C示出了根據本發(fā)明一些實施例的統(tǒng)計引擎的雙計數器實施方式。在附圖中,具有相同標記的組件具有相同或相似的功能。具體實施方式圖2A示出了根據本發(fā)明一些實施例的統(tǒng)計引擎201的框圖。如圖2A所示,統(tǒng)計引擎201包括雙端口存儲器202,它經過一個端口與統(tǒng)計處理器203相連。剩余端口可以和處理器200相連,可以在雙端口存儲器202中存儲數據,這好似一個單端口存儲系統(tǒng)。統(tǒng)計處理器203對雙端口存儲器202中存儲的數據(例如分組數據)執(zhí)行統(tǒng)計分析,而且在一些實施例中通過更新雙端口存儲器202中的存儲位置而報告該分析的結果。統(tǒng)計引擎201的一些實施例允許與統(tǒng)計引擎201相連的處理器200把統(tǒng)計引擎201看作單端口存儲系統(tǒng)。然而,可以免除處理器200通常執(zhí)行的職責,即對存儲在統(tǒng)計引擎201中的數據執(zhí)行統(tǒng)計功能。此外,在一些實施例中,統(tǒng)計處理器203可以更新多個計數器并向雙端口存儲器202中的存儲位置進行寫入,以響應來自處理器200的單個命令??梢垣@得對與統(tǒng)計引擎201相連的處理器200的帶寬的顯著改進。這樣,可以在連網系統(tǒng)中使用統(tǒng)計引擎201,同時提供更大的分組吞吐量以及對分組流更為徹底的統(tǒng)計分析。圖3示出了統(tǒng)計引擎201的實施例在根據本發(fā)明的網絡控制電路300中的使用。如圖3所示,存儲器106由統(tǒng)計引擎201所取代。NPU104可以指示統(tǒng)計引擎201執(zhí)行通常是在NPU104上執(zhí)行的統(tǒng)計任務。這樣,NPU104可以把統(tǒng)計引擎201看作單端口存儲器,而且在不顯著降低NPU104的處理帶寬的情況下仍舊執(zhí)行網絡分組統(tǒng)計。因此,使用統(tǒng)計引擎201可以極大地提高網絡電路300的帶寬。盡管圖2A所示的雙端口存儲器202可以是任意的雙端口存儲器,然而在本發(fā)明的一些實施例中,雙端口存儲器202可以是具有四倍數據速率(QDR)接口的雙端口存儲器。這樣,統(tǒng)計引擎201具有與QDR單端口SRAM相同的接口,它能夠額外地執(zhí)行算術操作和邏輯操作。此外,盡管雙端口存儲器202可以具有任意的物理尺寸和行/列配置,然而一些實施例可以包括例如1024Kxl8或512Kx36的雙端口QDR存儲器。圖2B示出了多個統(tǒng)計引擎201的級聯以及統(tǒng)計引擎201的樣本輸入引腳配置。盡管圖2B中級聯了4個統(tǒng)計引擎201,然而本領域的技術人員可以理解的是,可以級聯任意數目的統(tǒng)計引擎201。如圖2B所示,芯片使能引腳(E0和E1)可以用作地址引腳,該地址引腳用于從4個統(tǒng)計引擎201中選擇一個有效的統(tǒng)計引擎201。在圖2B所示的4芯片配置中,兩個芯片使能引腳與Addr23和Addr22相連,同時普通地址引腳A[21:0]與Addr[21:0]相連。Addr[21:0]攜帶有操作碼信息以及所有4個芯片中存儲陣列的地址。在圖2B所示的實施例中,芯片使能極性引腳(EP0和EP1)用于對各個芯片使能引腳的極性進行編程。當EPO連接至地時,EO為低有效。當EPO連接至電源時,EO為高有效。EP1以相似的方式控制E1的極性。因此,僅當Addr22i且Addr23岣時才會選擇BankO??梢钥闯龅氖?,Addr23和Addr22實際上對4個統(tǒng)計引擎201進行尋址(選擇Bank0、Bankl、Bank2和Bank3之一)。當然,本領域的技術人員可以理解,在根據本發(fā)明的統(tǒng)計引擎的實施例中,可以使用任意的地址設置和任意的地址尺寸。如圖2B所示,可以利用兩個使能輸入對4個統(tǒng)計引擎201進行級聯??梢允褂萌我鈹的康母郊虞斎雭砜刂平y(tǒng)計引擎201的各種功能。例如,可以使用主復位輸入對單獨的統(tǒng)計處理器203中所有的計數器進行復位。在一些實施例中,主復位輸入可以是異步的。在一些實施例中,當輸入引腳在預定數目的時鐘周期中保持在特定電壓時,發(fā)生主復位。在一些實施例中,在上電時執(zhí)行主復位,以便每一個統(tǒng)計處理器203中的計數器和寄存器處于已知狀態(tài)。在一些實施例中,以偶校驗的方式傳輸數據以符合LA-1/NPU標準。然而通常,統(tǒng)計引擎201可以利用任意校驗來接收和傳輸數據。圖4A示出了根據本發(fā)明的統(tǒng)計引擎201的實施例。如圖4A所示,統(tǒng)計處理器203與存儲陣列202相連,以便對存儲陣列202進行讀取和寫入。此外,如圖4A所示,輸入地址與命令解碼401和地址緩沖器403相連。在一些實施例中,在來自處理器200的地址中傳輸統(tǒng)計處理器203的操作碼。如果處理器200正在訪問統(tǒng)計處理器203,那么在命令解碼器401中對地址/操作碼進行解碼并將它傳送至統(tǒng)計處理器203以便執(zhí)行。典型地,存儲陣列202的地址A是命令解碼器401的ADD輸入的函數。如果處理器正在訪問存儲陣列202,那么在地址緩沖器403中對輸入地址進行緩沖,然后把該輸入地址傳輸至雙端口存儲陣列202的地址輸入。輸入數據可以在數據緩沖器402中進行緩沖,然后輸入到存儲陣列202和統(tǒng)計處理器203。輸出數據可以從存儲陣列202輸出,以及在一些實施例中,還可以在傳輸給處理器200之前對輸出數據進行緩沖。圖4B示出了根據本發(fā)明的統(tǒng)計引擎201的實施例。統(tǒng)計處理器203可以包括算術操作邏輯單元(ALU)410,連接該單元以通過多路復用器411接收操作數P、并通過多路復用器416接收操作數Q。多路復用器411根據地址比較器206的結果,從雙端口存儲陣列202、ALU410或ALU的寄存輸出中選擇操作數P。多路復用器416根據操作解碼401所解碼的操作碼,從缺省寄存區(qū)430或來自處理器200并經過數據寄存器207的輸入數據中選擇操作數Q。ALU410可以執(zhí)行包括輸入和已存儲數據的多個函數,例如把輸入數據與已存儲數據相加,從已存儲數據中減去輸入數據,以及包括輸入和已存儲的數據的邏輯函數。本領域的技術人員可以理解,數據可以具有任意數目的位。此外,存儲陣列202可以具有任意的寬度。僅作為示例,在一些實施例中,例如圖4B詳細示出的那樣,數據輸入和數據輸出可以是18位的輸入和輸出。在一些實施例中,可以在內部實現36位數據線。在一些實施例中,存儲陣列202可以是128kxl44位的內核(core)。在一些實施例中,存儲陣列202可以是256kx72位的內核。在一些實施例中,在適當的情況下,統(tǒng)計處理器203能夠利用存儲陣歹i」202與ALU410之間的144或72位總線進行操作。如上所述,統(tǒng)計引擎201可以具有與符合QDRII標準的QDR存儲器相同的接口,帶有兩個18位數據接口。此外,統(tǒng)計引擎201的一些實施例可以支持"發(fā)后不理(fireandforget)"統(tǒng)計更新模式,其中對統(tǒng)計引擎201的單次寫入觸發(fā)了從存儲陣列202中進行讀取,之后在ALU410中進行操作,之后寫入存儲陣列202的相同位置。因此,"發(fā)后不理"更新可以利用單個寫入命令而實現讀取-修改-寫入循環(huán),其中地址攜帶有操作碼的信息和更新的位置,而數據可以攜帶可選的操作數。此外,每一個寫入操作可以利用由操作碼所確定的對每一個計數器的各個操作,同時對多個計數器進行更新。雙端口存儲陣列202可以具有任意的位密度,例如具有144位或72位寬度的9或18Mb內核。此外,統(tǒng)計引擎201的一些實施例可以支持可調整的計數器寬度。例如,在144位內核的情況下,統(tǒng)計引擎201可以把每一個128位計數器配置為兩個64位計數器、一個64位計數器和兩個32位計數器、或4個32位計數器。一些實施例能夠以任意方式的組合而配置計數器(包括8位和32位計數器),這可以或不可以在統(tǒng)計引擎201中可編程地設置。ALU410可以支持任意操作,并且能夠以任意字長(例如128位、64位、32位或16位的配置)來執(zhí)行這些操作。ALU410可以支持遞增、遞減、求和、求差操作和例如XOR、AND、OR的邏輯操作以及其它操作。此外,統(tǒng)計引擎201的一些實施例可以支持以全時鐘速度進行一個接一個(back-to-back)的更新,在這種情況下可以從ALU410的輸出而不是存儲陣列202中獲得操作數Q。此外,在一些實施例中可以執(zhí)行用于對計數器進行輪詢和清除的虛擬實時"讀取和復位"。例如,處理器200可以讀取存儲陣列202中的64位計數器,它具有值C[63測。由于不能清除正在讀取的計數器,所以發(fā)出從計數器中減去C[63:0]的ALU操作將會實現虛擬實時"讀取和復位"功能。注意的是,在計數器讀取和ALU操作之間,計數器的值可能已經改變。因此,簡單的清零ALU操作將不會獲得期望的功能。此外,統(tǒng)計引擎201的一些實施例僅具有36位數據接口。因此,它需要兩個寫入周期來傳遞所要減去的值C[63:0]。可以實現"虛擬清除"ALU操作,它僅需要一個寫入周期來執(zhí)行相同的任務。作為從當前計數器值CC[63:0]中減去C[63:0]的替代,從CC[31:0]中減去C[31:0],同時把計數器值的高32位復位至零。本領域的技術人員可以明顯看出,只要CC[63:0]-C[63:0]<2A32,那么CC[63:0]-C[63:0]=CC[31:0]-C[31:0]。這對于統(tǒng)計計算來說是合理的期望。在很少的情況下,即計數器以統(tǒng)計功能中的減小方式工作時,在假定計數器初始值的所有位都為l的情況下,可以實現虛擬"讀取和設置"。C[31:0]與CC[31:0]相加,同時把計數器值的高32位全部設置為1而不是0,C[31:0]是對C[31:0]的所有位的極性求反。在這種情況下,期望變?yōu)镃[63:0]-CC[63:0]<2A32。此外,統(tǒng)計引擎201的一些實施例包括主復位功能和能夠用于深度擴展的芯片。結果,在一些實施例中,可以保留地址位23和22以便在若干統(tǒng)計引擎201中進行選擇,同時保留其它位用于統(tǒng)計操作碼。例如,在一些具有24位地址的實施例中,可以保留位23和22用于深度選擇(即統(tǒng)計陣列201的選擇),而之后的位(例如位21至18、17或16)用于統(tǒng)計操作碼。在一些實施例中,統(tǒng)計引擎201可以執(zhí)行以下任務之一或全部例如,在雙端口存儲器202中的任意特定位置處,處理器200可以讀取和寫入數據,使存儲值加一,把輸入數據與存儲值進行求和并把結果保存在存儲值中,使存儲值減一,從存儲值中減去輸入數據并把結果存儲在存儲值中,把缺省值與存儲值相加,把輸入數據與存儲值進行XOR操作,對計數器值清零或對計數器執(zhí)行虛擬清除。處理器200還可以對設備配置進行編程,并定義缺省的加法寄存器和減法寄存器。統(tǒng)計引擎201的一些實施例可以執(zhí)行其它任務,并包括除了這里所提出之外的額外操作。通常,統(tǒng)計引擎201的一些實施例可以執(zhí)行處理器200所請求的存儲、算術和邏輯操作的任意組合。在一些實施例中,在接收到寫入命令時執(zhí)行統(tǒng)計功能,該寫入命令具有內嵌于地址字段中的適合的操作碼。統(tǒng)計引擎201的其它實施例可以使用向統(tǒng)計引擎201提供操作碼命令和數據的備選方法。寫入命令包含用于在ALU410中執(zhí)行統(tǒng)計功能的所有有關的地址和數據信息。例如,如圖4B所示,多數統(tǒng)計功能是原子的(atomic),即它們需要完整的讀取-修改-寫入序列而執(zhí)行。如果雙端口存儲器222是SRAM內核,則可以通過待決來自ALU410的統(tǒng)計讀取或寫入操作來阻止標準QDR存儲器存取(即來自處理器200的標準讀取或寫入請求)。換句話說,處理器200所執(zhí)行的讀取或寫入操作可能會和ALU410啟動的讀取或寫入操作發(fā)生沖突。在一些實施例中,可以使用統(tǒng)計"讀取延遲(readhold-off)"緩沖器。"讀取延遲"緩沖器可以是將會在空閑的標準存儲器讀取周期中執(zhí)行的記得ALU410所啟動的所有讀取操作的先入先出(FIFO)。此外,即使執(zhí)行了統(tǒng)計讀取操作,仍會有待決的寫入操作。因此,可以使用附加的統(tǒng)計"寫入延遲"緩沖器或FIFO。這個解決方案的一個問題是,完成統(tǒng)計操作的時間變得不可確定。可以使用另一個邏輯電路把統(tǒng)計操作的完成通知給處理器200。此外,由于不確定性質,緩沖器會在可以執(zhí)行待決的讀取或寫入操作之前發(fā)生溢出。如果雙端口存儲器202是雙端口RAM(DPRAM)內核,則沖突的問題得以解決,而且不需要FIFO或額外的邏輯。因此,可以把統(tǒng)計操作發(fā)送至統(tǒng)計引擎201的一些實施例、以及在確定數目的周期內返回的結果,這被稱作"發(fā)后不理"特征。在一些實施例中,對標準存儲器寫入進行延遲,使其與ALU啟動的寫入具有相同的等待時間。因此,實質上消除了標準存儲器寫入與統(tǒng)計命令所啟動的寫入之間的寫入沖突。在一些實施例中,統(tǒng)計引擎201可以包括"設置寄存器"命令,該命令可以用于設置統(tǒng)計處理器203的內部寄存器,并用于設置缺省計數器。一旦用戶利用操作碼發(fā)出"setreg"命令,則可以使用地址中剩余的位來選擇特定的寄存器。例如,缺省寄存區(qū)430可以包括能夠被選擇的缺省遞增寄存器和缺省遞減寄存器。在一些實施例中,針對ALU410中的每一個計數器,缺省寄存區(qū)430中可能存在多個缺省寄存器。為了利用輸入數據字段中有限的寬度來容納多個并行的計數器操作,可以利用輸入操作數來執(zhí)行操作,其中輸入操作數的多個位中包含任意數目的分區(qū)(例如在雙計數器的實施例中,32位輸入可以被分為兩個16位操作數,每一個計數器使用一個16位操作數)。統(tǒng)計引擎201的一些實施例在數據接口中僅具有有限數目的位,例如36位。這會向處理器200提出讀取64位計數器值的同步問題。在對計數器的高32位值和低32位值進行讀取的兩個讀取周期之間,計數器值可能已經被ALU更新。因此,在一些實施例中,可以實現統(tǒng)計讀取命令(由利用讀取地址接收到的操作碼來表示),以獲得計數器的"快照"值,在第一讀取周期中讀出最低或最高位部分,然后在隨后的讀取周期中讀出后續(xù)部分。例如,利用64位計數器和32位接口,低32位可以被發(fā)送到輸出緩沖器404,而高32位被存儲在內部寄存器中。針對下一個匹配統(tǒng)計讀取命令,作為響應,將會從內部寄存器而不是存儲器202中讀取被發(fā)送至輸出緩沖器404的輸出。如上所述,統(tǒng)計引擎201包括雙端口存儲陣列202,在圖4B所示的實施例中可以被配置為具有128Kxl8內核的陣列。如圖4B所示,分別在讀取地址緩沖器209和寫入地址緩沖器208中接收讀取和寫入地址。將數據呈現給數據寄存區(qū)207。在圖4B中,在存儲陣列202的左端口上執(zhí)行讀取和寫入操作。統(tǒng)計處理器203與存儲陣列202的右端口相連。然而,處理器可以通過讀取和寫入操作而啟動并監(jiān)視統(tǒng)計引擎201。根據本發(fā)明的統(tǒng)計引擎可以包括雙端口存儲內核202,其中一個端口與執(zhí)行統(tǒng)計操作的統(tǒng)計處理器203相接口,而在另一端口處由外部處理器200執(zhí)行存儲操作。例如,在l-MEGxl8QDRIIb2統(tǒng)計引擎中,并參考圖4B,存儲陣列202的內部存儲架構可以包括4個128Kx36雙端口存儲陣列。可以將19個地址輸入(A0至A18)輸入左端口(讀取地址209),因而針對每一個讀取或寫入命令,僅對四個陣列中的一個進行存取,其中地址輸入A0和A1可以用于確定要存取哪個陣列。右端口具有17個地址輸入(如以讀取地址204和寫入地址205示出的A0至A16),它們在每一個讀取或寫入操作中可以對全部4個陣列進行存取。標準l-MEGxl8QDRIIb2SRAM可以具有兩個時鐘輸入K和Kl兩個時鐘輸出C和Cl兩個回應輸出CQ和CQ弁、19個地址輸入A0至A18、18個數據輸入D0至D17、18個數據輸出Q0至Q17、一個讀取輸入Rl—個寫入輸入W^以及兩個字節(jié)寫入輸入BW(^和BWltf。統(tǒng)計引擎具有所有的標準輸入和額外的地址輸14入A19至A20以及一個額外的控制輸入STEN。在圖4B所示的實施例中,在利用地址內適合的統(tǒng)計操作碼接收微處理器寫入命令時執(zhí)行統(tǒng)計操作。本領域的技術人員可以理解,能夠以多種方式來啟動統(tǒng)計功能。例如,該操作碼可以在輸入數據中而不是地址中傳遞。此外,可以針對讀取而不是寫入命令啟動統(tǒng)計功能。通過在時鐘信號K的上升沿把W弁設置為低、且在隨后的時鐘信號K弁的上升沿把STEN設置為高而啟動統(tǒng)計寫入周期。在捕獲了信號STEN的時鐘信號Ktf的相同上升沿處提供了針對統(tǒng)計寫入周期的地址A0至A16以及操作碼A17至A20。在時鐘信號K和O的上升沿處(從啟動該寫入周期的時鐘信號K的相同時鐘周期處開始)期望獲得統(tǒng)計ALU操作的數據輸入。在時鐘信號的下一個時鐘周期K(t+l)的下一個上升沿后,把響應時鐘信號K和K^而捕獲的數據傳遞至ALU。操作碼被傳遞至操作解碼,以及在時鐘信號下一個周期K(t+l)的下一個上升沿后把操作解碼的輸出傳遞至ALU。在統(tǒng)計寫入命令之后,右端口將會在時鐘信號的下一個周期K(t+l)的上升沿處執(zhí)行存儲器讀取,然后把存儲器輸出和數據輸入傳遞至ALU,以及ALU將會在時鐘信號的下一個周期K(t+2)的下一個上升沿之后根據操作碼而執(zhí)行適當的統(tǒng)計操作。來自ALU的輸出信號以及新的奇偶校驗位將會被發(fā)送至右端口寫入寄存器,以及右端口將會在時鐘信號的下一個周期K(t+3)的下一個上升沿之后執(zhí)行自定時寫入周期。如上所述,配置寄存區(qū)420和缺省寄存區(qū)430可以由統(tǒng)計處理器執(zhí)行正確的操作碼而啟動。ALU410使用統(tǒng)計處理器203中的寄存器和計數器來執(zhí)行統(tǒng)計功能和計數器功能。在一些實施例中,可以執(zhí)行外部配置以配置計數器和寄存器。此外,在一些實施例中,統(tǒng)計引擎201可以包括多組操作碼功能。在該實施例中,可以通過存儲在配置寄存區(qū)420的寄存器中的數據來確定統(tǒng)計引擎201響應特殊的操作碼而執(zhí)行的功能。圖5示出了把統(tǒng)計引擎201的實施例中的計數器和寄存器配置為N位寬度。在一些實施例中,N可以是128。如圖所示,可以把計數器配置為4個N/4位計數器。此外,可以把成對的N/4位計數器組合為N/2位計數器。因此,計數器可以被配置為兩個N/2位計數器、一個N/2位計數器和兩個N/4位計數器、或4個N/4位計數器。通常,能夠以任意方式來配置計數器和寄存器。配置寄存器420中的寄存器可以從這些計數器模式中進行選擇。此外,由于地址字段的有限寬度,一些實施例中的可用操作碼的總數受到限制。例如,一些實施例被限制為8個操作碼。由于這些操作碼中的一個用于"設置寄存器"功能,剩余的7個操作碼不足以包括用于各種應用的所有期望的操作碼。然而,每一個應用都具有其優(yōu)化后的操作碼集合。因此,通過配置寄存器設置在不同的操作碼集合之間進行切換,用戶總是可以選擇最適于其操作的操作碼,而不需要增大地址字段的寬度。圖6A至6C示出了針對多個計數器應用的統(tǒng)計引擎201的實施例的實施方式。例如,圖6A示出了具有分組計數器和字節(jié)計數器的雙64位計數器配置。在地址緩沖器601處呈現具有操作碼的地址,而在數據輸入緩沖器605處呈現數據。該地址在地址指針602中解碼,并按照操作字段604中的請求使分組數目計數器603加一。另外,把字節(jié)數606中的字節(jié)數與輸入到寄存器607中的輸入數據求和。僅利用一個統(tǒng)計寫入命令來完成兩個64位計數器上的讀取-修改-寫入操作。在另一個雙64位計數器配置中,圖6B示出了對接收的字節(jié)和丟棄的字節(jié)進行計算。同樣,把具有適當操作碼的地址輸入地址緩沖器601,并且在地址指針602中識別該地址。把數據輸入數據輸入緩沖器605,其中高字指示接收的字節(jié)數,而低字指示丟棄的字節(jié)數。高字被輸入寄存器611并且被添加至已接收的字節(jié)610,而低字被輸入寄存器613并且被添加至字節(jié)丟棄計數器612。圖6C示出了三計數器配置的實施方式(通常,一次可以實現任意數目的單獨計數器)。同樣,在地址緩沖器601中接收具有適當操作碼的地址,并在地址指針602中進行解碼。把數據輸入數據輸入605。在這種情況下,數據的高字包含誤差數,而數據的低字包含所接收字節(jié)的數目。如寄存器622中所示,響應該操作使分組數計數器621加一,把高字輸入到寄存器624并與計數器623中現有的誤差數相加,以及把低字輸入寄存器626并添加至字節(jié)接收計數器625。根據本發(fā)明的一些實施例的樣本統(tǒng)計引擎的實施例附加到這個公開內容,這里將其全體引入作為參考。附件中包括對該具體示例實施例的描述,該描述包括具體的操作碼指定??紤]這里所公開的本發(fā)明的說明和實踐,本發(fā)明的其它實施例對于本領域的技術人員是明顯的。該說明和示例僅應當被看作示意性的,本發(fā)明的真實范圍和精神由所附權利要求而指示。<image>imageseeoriginaldocumentpage18</image>02005集成裝置技術公司。所有商標或產品均為其相應所有者的商標或注冊商標.統(tǒng)計引擎'"(集成裝置技術DSG-5685/1公司的商標),LA-1(網絡處理器公司),(QDRU'"(賽普拉斯、IDT、美光、NEC和三星的四倍數據速率商標)〉19功能框圖勵掘廠K-地it寄存器邏輯totu畫畫______如—45576b圖Ol2005年11月蹄瞎稱諷4—K寫入驅動器存儲陣列地址解碼IDT70P13咖3381R9MtiLA-1StatisticsEngfne引腳配置70P1308/1S38<U)576-PinR鵬76TopView,0"f2,314,S,《,71"2g21Z223MV訴,VbvVuVmvMilVteVnVetVTodBscVVnvVooV"WoVmVVarVisVaViVVWiVtAVWWttVVi,VnVs,VuVwvVuu叫VuVaiv仰Vbv叫v敏Va似V抑V"VV叫V鵬VUv的VisV四VmVbWTvwVuVnViaVCDVm&VssCQ糾有鵬玩加AIDVwVnVwVdoV鄰EPaIK雨Of恥職V"VmVo>KmVwVuVij07恥他A,AltAi,Vn時恥恥牧VtttVv叫似Vtt似vVuednc他UsjVeto,dNCE,Vdo1AVuVssv鵬Vw腳VuVdoVtNCVV"VddqOnKC粉VuVtfVwVwvVkVteV"Vsv鵬Vgsq加咖V鵬時KCVetVhvVssvVwv加wVnmvVia仍NC恥VdoqV55V叫0,,Oil(Kvwx)VuVwvVnVhV稱VmVS欲v鵬V鵬物dvsVuv鵬V鵬v粗VstVmy鵬VnV邁Vhv加VWVte"aKvVon胸VnvnVtov鵬tmKCNCVb>VttvVnVVi,vMv抑VtovVsi加恥VnV"訴hv糾QwNCvVavVVnVr似vVw似Vn桐va灼sVnn恥lwVv紐VnqVanvV"細V"Vbcnrc訴i似V"dk恥VmVnuVuVnv?!稸nVVbNCDC加qw時NCVmiVuVsiViaVnVisVtfVdbVwVwvE"QtRCAsc勤A恥VumVwVVtsV3tVnv叫VdmiVTO)TMSto"atA"AltTCK咖V叫細1%VmVbVssm叫v鵬vmvodqViKQ訴sv鵬vhvsv"Vn撤v叫tovVqdVuVapVwVavVnvVnVVanVieVisV(dVmUt,VnVtsmtaVuVb。VnViiVwVnVi飾d他VmVwVuVVuvVisVuvMmVuV"VVstVuVm,鵬Vct似VnVssVuV鵬VsiVuVVnVnVuv腳VmVnVnV扭VVuVwVbv對VnV"VVv叫VMQ10"",314,S""10IB2021222324568S表00注意1.最大封裝為25mmx25mmx2.55mm,1.00mm顆粒間隔2.封裝可以設定至BQ-165QDRIISRAM插腳引線iSTEN是用于選擇統(tǒng)計模式的控制引腳。細節(jié)請參考引腳定義表。Conrniercla'TemperatureRange20<table>tableseeoriginaldocumentpage21</column></row><table><table>tableseeoriginaldocumentpage22</column></row><table><formula>formulaseeoriginaldocumentpage23</formula><table>tableseeoriginaldocumentpage24</column></row><table>S685表03b功能描述概述IDT70Pl308/l338LA-l(QDRII兼容)的兩脈沖(Burstoftwo)統(tǒng)計引擎是一種高速同步存儲器,它具有有機ALU和獨立的雙倍數據速率(DDR)讀寫數據端口。這個方案允許同時進行讀取和寫入存取以獲得最大器件吞吐量,其中每一次讀取或寫入傳遞兩個數據項。每個時鐘周期發(fā)生4個數據字的傳輸,提供了四倍數據速率(QDR)性能。與作為單倍數據速率(SDR)器件的標準SRAM公共1/0(CIO)相比,以相同的時鐘速度實現了數據存取的4倍增長??紤]到統(tǒng)計引擎允許時鐘速度超過標準SRAM器件,在多數應用中,吞吐量的增加將會超過4倍。IDT70P1308/1338被定制用于普通網絡應用中的記賬功能。該器件還可以用于針對RAID5雙重奇偶分儲的SAN應用-遞歸地執(zhí)行XOR。當接收到地址中提供的寫入命令時,該寫入命令具有置位的統(tǒng)計使能(STEN)位和適當的統(tǒng)計操作碼,執(zhí)行統(tǒng)計操作。寫入命令上的地址和數據包含用于執(zhí)行統(tǒng)計功能的所有有關的地址、操作碼和數據。注意,任意的統(tǒng)計操作都是原子的,因此它執(zhí)行完整的讀取-修改-寫入序列。每個LA-l要求的偶校驗在每次統(tǒng)計操作中產生??梢岳密浖言撈骷渲脼檫x擇多個計數器選項,并選擇64位或32位有機計數器。該計數器可以被配置為下面所示選項中的任意一項。這對這些選項的計數器命名如下<table>tableseeoriginaldocumentpage24</column></row><table>IDT70P13DB/133S1昭MbLA-1StatisticsEngine對于四個32位計數器<table>tableseeoriginaldocumentpage25</column></row><table>5685表01輸入數據被映像至計數器,如下所示<table>tableseeoriginaldocumentpage25</column></row><table>5685表01a每一個選項具有相關的操作碼集,且操作數可以是-i.32位/16位/8位輸入數據字,或ii.32位缺省SUM或SUB寄存器(用戶可以對缺省寄存器進行編程)iii.十l或-l分組處理器地址映像下面示出了QDRII地址總線上傳遞的STEN、操作碼&存儲地址。例如,在256Kx72的32位雙計數器中,地址映像如下所示NPU地址映像<table>tableseeoriginaldocumentpage25</column></row><table>CommercialTemperatureRange5685圖02除了統(tǒng)計操作以外,IDT70P308/1338器件還可以用作標準QDRIISRAM,因為它支持對存儲陣列的常規(guī)讀寫。該器件可以用于在需要高達233MHz數據速率性能的高速數據通信應用中存儲分組(或分組報頭)信息、路由表、鏈接列表和控制平面表格維護信息。IDT70P1308/1338通過如下手段解決了系統(tǒng)設計者當前所面臨的多個關鍵問題a)卸載處理器周期,b)增大QDR總線上的可用帶寬,或c)執(zhí)行a和b。這使NPU不受限制地執(zhí)行更多的數值相加功能。IDT70P1308/1338對于用戶來說是關鍵的,其中用戶系統(tǒng)為其末端用戶提供了通信量管理/整形以及流動控制能力。IDT70P1308/1338能夠利用單一的更新執(zhí)行針對多個(最多4個)計數器的基本讀取/修改/寫入操作,而且能夠以QDR速度持續(xù)更新。該器件還有機地支援32位計數器和64位計數器,這對于像IPv6的應用來說是基本的。除了上述益處,用戶在對器件上電后具有對選項進行選擇的靈活性。IDT70P1308/1338還可以用于SAN應用的校驗和數據再生。例如,為了計算RAID5數據條的校驗,首先計算D1QD0并存儲到存儲器中。然后從存儲器中讀取D1^D0的結果,并參照D2進行XOR操作,其結果存回存儲器。QDRII接口細節(jié)使用獨立端口對數據存取進行讀寫,通過消除對雙向總線的需求而簡化了系統(tǒng)設計。與湖MbLA-1StatisticsE叩l旭IDT70P1308/1338相關聯的所有總線均不是雙向的,并且能夠進行優(yōu)化以實現很高總線速度上的信號完整性。IDT70P1308/l338的數據輸出總線上具有可縮放的輸出阻抗,而且響應時鐘允許用戶對總線進行調諧,以獲得低噪聲和高性能。IDT70P1308/1338具有單一的DDR地址總線,該總線上多路復用有讀取地址和寫入地址。在前半.個時鐘周期中接收所有的讀取地址,而在后半個時鐘周期中接收所有的寫入地址。在前半個時鐘周期中接收讀取使能和寫入使能。在整個時鐘周期中接收字節(jié)寫入信號,同時接收字節(jié)寫入信號在數據輸入總線上所控制的數據。IDT70P1308/1338具有回應時鐘輸出,該輸出為用戶提供了精確定時至數據輸出的時鐘,并關T匹配阻抗和信號質量進行調諧。用戶可以使用響應時鐘實現數據的下游定時。響應時鐘消除了對用戶的如下要求產生具有精確的定時、定位以及保證數據捕獲的信號質量的備選時鐘。由于響應時鐘由驅動數據輸出的相同源產生,所以針對數據的關系不會顯著地受到電壓、溫度和處理的影響,好似該時鐘由外部源產生。IDT70P1308/1338具有HSTL外部接口,允許速度超過使用任何形式的TTL接口的SRAM器件。如果需要,可以把該接口縮放至更高的電壓(最高1.9V),從而與1.8V系統(tǒng)進行接口連接。該器件具有VDDQ和分離的VREF,允許用戶指定接口操作電壓,該操作電壓與器件核心CommercialTemperatureRange電壓1.8V無關。輸出阻抗控制允許用戶調整驅動強度,從而適應寬范圍的負載和傳輸線。該器件能夠同時在輸入和輸出端口上維持完整帶寬。所有數據都位于兩個字脈沖中,具有針對脈沖電平的尋址能力。定時IDT70P1308/1338具有用于輸入和輸出的兩組輸入時鐘,即K、f時鐘和C、5時鐘。另外,1DT70P1308/1338具有輸出冋應時鐘對CQ和Z^。K和f時鐘是主要的器件輸入時鐘。K時鐘用于對控制信號(5、^、E[l:O]、^Wx和STEN)、'虔取地址和寫入操作期間的數據脈沖的第一個字進行定時。^時鐘用于對控制信號(^Wx、E[l:O]、STEN)、寫入地址和寫入操作期間的數據脈沖的第二個字進行定時。K和f時鐘還由存儲器在內部使用。在用戶禁用C和5時鐘的情況下,K和F時鐘還用于對數據進行定時以便從輸出寄存器中輸出,并產生問應時鐘。C和5時鐘可以用于在讀取操作期間對數據進行定時以便從輸出寄存器輸出,并用于產生回應時鐘。c和5必須在定時容限內呈現給存儲器,AC電特性表中示出了定時容限。通過使用內部DLL,IDT70P1308/1338的輸出數據將會嚴密地對齊至C和5的輸入。當C被呈現給IDT70P1308/1338時,在5時鐘到達的同時,DLL將會對數據定時以到達器件的輸出。萬和脈沖的第二數據項還會是對應的。IDT70P130S/13381鵬MbLA-1StatisticsEngine單時鐘模式可以利用單時鐘對來操作IDT70P1308/1338。通過把C和5信號連接至高電平,可以禁用C和^,迫使輸出和回應時鐘由K和F時鐘穩(wěn)定地控制。DLL操作IDT70P1308/I338的輸出結構中的DLL可以用于把輸入時鐘c和5與數據輸出精確地對準,在兩者之間產生了非常緊密的容限。用戶可以通過保持5oFF為低而禁用DLL。當DLL關閉時,C和己(如果沒有使用C和E,則為K和7)將會直接對IDT70P1308/1338的輸出寄存器進行定時。當DLL關閉時,從時鐘進入器件直到數據出現在輸出上之間存在傳播延遲。QDRI1變?yōu)镈LL關閉時的QDR1。第一輸出數據字是指c而不是5?;貞獣r鐘回應時鐘CQ和^由C和5時鐘產生(如果C和5被禁用,則為K和F)。C的上升沿產生CQ的上升沿以及^的下降沿。5的上升沿產生^的上升沿以及CQ的下降沿。這個方案提高了回應時鐘的上升沿與下降沿的相關性,而且會提高單獨信號的占空比?;貞獣r鐘與數據很精確地對準,從而保證回應時鐘保持與指定容限內的數據的緊密相關。常規(guī)QDRII讀寫操作CommerG,alTemperatureRangeIDT70P1308/1338統(tǒng)計引擎支持QDRIIburstof2讀/寫操作。通過保持STEN和讀取端口選擇(萬)為低并在K的上升沿期間把讀取地址呈現給地址端口,其中地址端口對該地址進行鎖存,可以啟動讀取操作。在下一個的F(t+l)的下一個上升沿之后傳遞數據,使用C和5作為輸出定時參考;如果C和5被連接至高電平,則使用K和F作為輸出定時參考。從用戶的觀點來看,除了數據比標準QDRI1SRAM晚兩個周期寫入內部存儲器之外,寫入操作是標準QDRJI兩脈沖寫入操作。通過保持寫端口選擇(W)在K的上升沿處為低、并且STEN在隨后的7的上升沿處為低,啟動常規(guī)QDR寫入周期。此外,針對K和F時鐘,需要把指定所寫字節(jié)的字節(jié)寫入輸入保持為低。在K的上升沿,數據的第一個字必須呈現在數據輸入總線D[17:0]上。在K的上升沿,必須把脈沖的第一個字鎖存到輸入寄存器中。在K已上升后且滿足所指定的保持時間,通過把寫地址呈現給地址總線A[X:O]、呈現脈沖的第二數據字的^&輸入、并把脈沖的第二數據項呈現給數據總線D[17:0],啟動后一半時鐘周期。在Z"的上升沿,把脈沖的第二字連同指定的地址一同進行鎖存。然后,脈沖的第一和第二字將會被寫入由地址和字節(jié)寫入使能所指定的存儲器。把寫周期的地址設置為與捕獲STEN相同的F上升沿,而且在K和F的上升沿處期望數據的出現,從啟動該周期的相同的K開始。提供了附加的流水線級,以便于下一個K(t+3)的上升沿之后的自定時寫周271敏MbLA-1StatisticsEngine期。這確保常規(guī)QDR寫入和統(tǒng)計寫入之間的等待時間保持相同,從而避免了沖突。輸出啟用IDT70P1308/1338自動地啟用和禁用Q[X:0]輸出。當正在進行有效讀取、且數據被早.現在輸出上時,將會啟用輸出。如果輸出上不存在有效數據(未進行讀取),則禁用輸出(高阻抗)?;貞{整時鐘總是保持有效,而且不會被禁用或關閉。在上電期間,Q輸出將會呈現高阻態(tài)??删幊套杩雇獠客妥杵鱎Q必須連接在IDT70P1308/1338上的ZQ引腳與Vss之間,從而允許把IDT70P1308/1338驅動至其輸出驅動阻抗。RQ的值必須是IDT70P1308/1338目標驅動阻抗的5倍。在容限為+/-10%的前提下,用于保證阻抗匹配的RQ的所允許范圍在175歐姆與350歐姆之間,VDI=1.5V。每1024個時鐘周期對輸出阻抗進行調整,以修正供電電壓和溫度的漂移。如果用戶希望把IDT70P1308/1338的仁ommer由lTemperatureRange輸出阻抗驅動至其最小值,則ZQ引腳必須連接至v卿。統(tǒng)計操作統(tǒng)計操作所有的統(tǒng)計操作將在接收到微處理器寫命令時執(zhí)行,其中微處理器寫命令具有包含在地址中的適當的統(tǒng)計操作碼。IDT70P1308/1338能夠對相同的地址執(zhí)行一個接一個的統(tǒng)計更新。通過使W在K(t+0)上升沿處為低且STEN在隨后的《上升沿處為高,啟動統(tǒng)計寫入周期。在與捕獲STEN相同的F上升沿處提供針對統(tǒng)計寫入周期的地址A[16:0]和操作碼A[20:17]。在K和f的上升沿處期望針對統(tǒng)計ALU操作的數據輸入的出現,在與啟動統(tǒng)計周期相同的K上開始。在K(t+4)的上升沿后,具有新的校驗的更新后的數據在存儲器中可用,即K(t+4)上升沿處執(zhí)行的讀取將會提供新的數據。對于統(tǒng)計操作,^W[1:0]必須為零,否則計數器的一部分不會被^回存儲器。例如,7上升沿處[1]=VIH將會阻止寫入32位計數器的D[35:27],并會阻止寫入64位計數器的D[71:63]和D[35:27]。下表列出了統(tǒng)計弓I擎在具體地址位置上針對完整的器件所能夠執(zhí)行的功能。在任意特定地址位置上,處理器能夠<table>tableseeoriginaldocumentpage29</column></row><table>1鵬MbLA-1Stetisllc3Engine軟件可配置性IDT70Pl308/l338可以被編程為在上電后進入5個選項之一(請參考設置寄存器表2至6)。這通過使用設置寄存器命令把適當的數據寫入特定的編程寄存器而實現。用戶可以靈活地對IDT70P1308/1338進行靜態(tài)配置。256Kx72配置具有兩個子選項,而l28Kxl44配置具有三個子選項。"設置寄存器"命令還可以用于對缺省計數器進行編程。一旦用戶發(fā)出設置寄存器操作碼,則可以使用適當的地址位指向特定的缺省寄存器。請參考設置寄存器表2至6。基于陣列中的計數器配置,向用戶提供了針對完整陣列上一組計數器的缺省相加和缺省相減寄存器。例如,如果IDT70Pl308/l338被配置為32位雙計數器器件,則針對完整陣列存在4個缺省寄存器(每個計數器有2個缺省寄存器,一個用于相加,一個用于相減)。類似地,如果IDT70P1308/l338被配置為32位4計數器器件,則向用戶提供了針對完整陣列的8個缺省寄存器(每個計數器有2個缺省寄存器,一個用于相加,一個用于相減)。輸入操作數支持如下輸入操作數配置1.操作數可以被分為x8等級*Bit[7:0]操作數0(Op0)Bit[16:9]操作數l(Opl)CommercialTemperatureRangeBit[26:18]操作數2(Op2)*Bit[34:27]操作數3(Op3)2.對于雙計數器選項,SUM/SUM(或SUB/SUB)會把32位輸入分為兩個6位操作數3.對于4計數器選項,SUM/SUM/SUM/SUM(或SUB/SUB/SUB/SUB)會把32位輸入分為4個8位操作數缺省操作數支持如下缺省操作數配置*+1,執(zhí)行遞增加一*-1,執(zhí)行遞減減一*缺省求和,使用缺省SUM寄存器中的數據執(zhí)行相加缺省相減,使用缺省SUB寄存器中的數據執(zhí)行相減主復位主復位是異步信號。在復位序列期間,陣列內的所有計數器將被復位至零,而且所有寄存器將被配置為缺省模式。當斷言]i^^在最小4個周期內為低時(]j^^-V化),主復位開始。完成這一步以使M^與時鐘同步。M^從低到高的轉變開始對處理器進行復位,從而對所有計數器和寄存器進行復位。在執(zhí)行主復位之前,輸入K時鐘需要在正確的頻1鵬MbLA-1StatisticsEngine率上不受限制地運行。用戶必須在上電時執(zhí)行主復位,以確保計數器和寄存器處于已知狀態(tài)。ii^^:r的存儲器初始化按如下方式工作:i)在存儲器初始化期間,阻止所有寫入操作:為了保證存儲器初始化,jkfisra個周期2)無論所選的配置如何,需要131,078個周期(A/wsr-Vm)來完成存儲器初始化。3)如果希望復位時不進行存儲器初始化,即對寄存器進行復位而不對計數器進行復位,那么用戶可以發(fā)出脈寬小于i.5周期的7k漢sr。4)由于在存儲器初始化期間阻止寫入,用戶可以通過讀取任意存儲器位置、把補數寫回相同位置并再次對相同位置進行讀取而對存儲器初始化周期的結束進行輪詢。如果讀取補數,則意味著存儲器初始化周期已經完成。CommercialTemperatureRange;偶校驗產生IDT70P1308/1338為統(tǒng)計操作產生偶校驗(每個LA-1請求)偶校驗的定義8個數據位以及相應的奇偶位的組合將具有偶數個"l"。這意味著以如下方式設置奇偶位對每一個發(fā)送字節(jié)中的"r'進行求和,其結果與奇偶位的和是偶數。由于把奇偶位增加到每個信息單元以確保設置有偶數個l,這個誤差檢測方案依賴于如下事實改變信息單元中任意一個位將會得到奇校驗。然而,簡單的奇偶性校驗不會檢測到多個位的改變。下面示出了偶校驗產生的兩種情況。情況A-奇數個1<table>tableseeoriginaldocumentpage31</column></row><table>情況B-偶數個1<table>tableseeoriginaldocumentpage31</column></row><table>im"70P1308/lO3fi1師MbLA-1S幽UcsEngine使用端口使能E[l:0引腳的級聯/多點如圖l所示,可以使用芯片使能(E[l:O])引腳方案對4個IDT70P1308/1338器件進行級聯。端口使能引腳的DC特性與QDRII接口的DC特性相同。請參考引腳定義表。地址總線的兩個MSB位A[23:22]與兩個芯片使能E[1:0]引腳相連。在圖l中,所有4個器件都應當為支持芯片使能引腳的QDRII器件。通過把EP[l:0]引腳連接到板上的高電平或低電平而對其進行編程。如果用戶不希望使用引腳E[l:O]和EP[l:O],那么這些引腳應當連接至低電平。請參考端口使能引腳的真值表II。針對64位計數器的虛擬清除為了執(zhí)行64位計數器的復位,定義了虛擬清除(VCLR)命令。由于LA-l規(guī)范針對的是xl8兩脈沖串接口,所以一旦64位計數器被處理器讀取,它不能在輸入上傳遞用于執(zhí)行相減的64位操作數。虛擬清除(VCLR)需要用戶發(fā)出脈沖讀取以讀出64位計數器,之后是減去計數器的低32位。當發(fā)出VCLR命令時,IDT70P1308/1338將會減去64位計數器的低32位,并且對高32位進行清除(清零)。這樣,讀取和復位之間所執(zhí)行的計數器的任意數目不會丟失。該假定是,在64位計數器的讀取和虛擬清除之間,計數器的低32位不會飽和。例如,下面的計算示出了32位計數器針對lOGbps線路速率的POS分組發(fā)生翻轉所用的時間。CommercialTemperatureRangeOC-l92線路速率(10Gbps)=251^分組/秒-lGBps(針對40字節(jié)/分組的POS分組)32位計數器翻轉=4.294秒因此,對于POS應用,VCLR命令必須在正在讀取的64位計數器的4.294秒內發(fā)出。這將確保低32位不會翻轉到高32位而導致數值丟失。上述情景針對一種最壞情況的應用。對于像IPv4/IPv6的其他應用,分組中的高字節(jié)數值將確保64讀取與VCLR之間所需的時間大于POS應用所需的時間。64位統(tǒng)計讀取為了在執(zhí)行虛擬清除(VCLR)之前執(zhí)行64位讀取,必須在兩個讀取周期中執(zhí)行統(tǒng)計讀取以讀出64位計數器。當K的上升沿期間STEN-Vm時,統(tǒng)計讀取發(fā)生。處理器需要發(fā)出A(pO的統(tǒng)計讀取中第一讀取(低32位),之后是Afl的統(tǒng)計讀取中第二讀取(高32位)。注意必須按照這個順序來讀取計數器,不能是首先為A(pl然后是A^0。如果用戶半途丟棄掉統(tǒng)計讀取,則數據的高32位將會位于影像寄存器中,直到用戶發(fā)出A(^1的統(tǒng)計讀取。不考慮A2及更高位,且用于執(zhí)行高32讀取的等待時間可以是任意數目的周期。這是簡單的,因為數據在被讀出之前位于影像寄存器中。盡管影像寄存器會保持統(tǒng)計讀取數據,然而在對計數器進行更新時影像寄存器不會得到更新。此外,如果發(fā)出新的統(tǒng)計讀取,那么影像寄存器<table>tableseeoriginaldocumentpage33</column></row><table>表2.用于記賬應用針對256Kx72選項設置寄存器注意<table>tableseeoriginaldocumentpage33</column></row><table>位計數器5685表105表3.用于SAN應用針對256Kx72選項設置寄存器注意IDT70P13鵬33S1鵬MbLA-1StalfsllcsEngineComrnerclalTemperatureRangel.對于被寫入的寄存器,E[l:O]、^和STEN必須有效,iW[l:0]=x。針對128Kxl44選項設置寄存器功能D35:D2D:DOA20:A17A16:A4A3:A0結果選擇計數器為64位雙計數器X000000XOXXX器件被配置為64位雙計數器選項設置SUMDefHegl輸入輸入0000X1000把缺省SUM寄存器設置為低64位計數器設置SUMDefHeg2輸入輸入0000X1010把缺省SUM寄存器設置為高64位計數器設置SUBDefRegl輸入輸入0000X1100把缺省SUB寄存器設置為低64位計數器設置SUBDefReg2輸入輸入0000X1110把缺省SUB寄存器設置為高64位計數器5685表106表4.針對(128Kxl44)64位雙計數器選項設置寄存器注意l.對于被寫入的寄存器,E[l:O]、^和STEN必須有效,§W[l:0]=x。針對128KX144選項設置寄存器(con't)功能D35:D2D1:D0A20:A17A16:A4A3:AO結果選擇計數器為64位單計數器+32位雙計數器X010000XOXXX器件被配置為64位單計數器+32位雙計數器選項設置SUMDefRegl輸入輸入0000X1010把缺省SUM寄存器設置為64位計數器34■IDT70P13DB/133S■1眺MbLA-1StatisticsEngineCommercialTemperatureRange畫設置SUMDefHeg2輸入輸入0000X1000把缺省SUM寄存器設置為低32位計數器設置SUMDefReg3輸入輸入0000X腿把缺省SUM寄存器設置為高32位計數器設置SUBDefHegl輸入輸入0000X1110把缺省SUB寄存器設置為64位計數器設置SUBDefReg2輸入輸入0000X1100把缺省SUB寄存器設置為低32位計數器設置SUBDefReg3輸入輸入0000X1101把缺省SUB寄存器設置為高32位計數器5685表107表5.針對(128KX144)64位單計數器+32位雙計數器選項設置寄存器注意l.對于被寫入的寄存器,E[l:O]、^和STEN必須有效,iW[l:0]=x。針對128Kxl44選項設置寄存器(con,t)功能D35:D2D1:D0A20:A17A16:A4A3:A0結果選擇計數器為32位4計數器X100000XOXXX器件被配置為32位4計數器選項設置SUMDefHegl輸入輸入0000X1000把缺省SUM寄存器設置為與D0:D35相對應的32位計數器設置SUMDefHeg2輸入輸入0000X訓把缺省SUM寄存器設置為與D36:D71相對應的32位計數器設置SUMDefReg3輸入輸入0000X1010把缺省SUM寄存器設置為與D72:D107相對應的32位計數器35<table>tableseeoriginaldocumentpage36</column></row><table>5685表108表6.針對(128Kxl44)32位4計數器選項設置寄存器注意l.對于被寫入的寄存器,E[l:O]、,和STEN必須有效,§W[l:0]=x。真值表I寫入描述信號BWOBW1寫入字節(jié)0-D[8:0]X寫入字節(jié)1-D[17:9〗XS685表l11注意l.兩個字節(jié)寫入信號(iWx)在K的上升沿和《的上升沿處被采樣。如果相應的^Wx保舊T70P1308/133S1挑MbLA-1StatisticsEngineCommercialTemperatureRange持為低,則把指定字節(jié)中呈現在數據總線上的數據鎖存到輸入。K的上升沿將會對兩個字脈沖的前18位(D[17:0])進行采樣,而《的上升沿將會對兩個字脈沖的后18位(D[35:l8])進行采樣。QDRII/統(tǒng)計引擎兩脈沖SRAM使數據轉發(fā)。針對相同的地址,在與寫入請求相同周期中發(fā)起的讀取請求將會響應該讀取請求而產生最新的寫入數據。(???)真值表II-芯片使能引腳(E[l:OI)<table>tableseeoriginaldocumentpage37</column></row><table>真值表III-針對256Kx72(雙32位)計數器常規(guī)讀寫<table>tableseeoriginaldocumentpage37</column></row><table>IDT70P130B/13381<table>tableseeoriginaldocumentpage38</column></row><table>IDT70P1308n33S1鵬MbLA-1StatisticsEngineCom肺rdalTemperatureRange萵32位提作數低32位誤作數誤作碼U20:A18)INCSUMOp3:Op0則細0|)3:Op2SUMOfj1:Op(Jcm細Op3:0p0,DEFSUMDEFDECSU8Op3鄰0柳細鄰3:0p0SIBDEFSUBCEF加NOPXSUBOp3:OpO101SUBOp3:0p0NOPXinSETREG(AO=,)Qp3:,SE'TOEG卿=切Op3:OpO5685表115針對256Kx72(雙32位)計數器統(tǒng)計操作的操作碼-SAN應用萵32位提作數低32位提作數誤作碼(A20:A18)IMCS固Op3:OpU101細Qp3鄰2s畫0p1:0fs!3■"1X0ROp3:OpOMOPX110MOPXXOR001鄉(xiāng)KF柳NOPXSUBSUB鄰3,NOPX加SETRK卿《1)咖5685表116真值表V-針對128Kxl44(雙64位)計數器常規(guī)讀寫K5BW0BW1STENA20:A19A18:A2A1:A0操作TXXXX輸入00讀取低72位計數器的低36位TXXXX輸入01讀取低72位計數器的高36位TTXXXX輸入10讀取高72位計數器的低36位XXXX輸入11讀取高72位計數器的高36位39<table>tableseeoriginaldocumentpage40</column></row><table><table>tableseeoriginaldocumentpage41</column></row><table>注意1."H"=VIH,"L,,=V,L,"X,^不關心2.芯片使能引腳E[1:0]處于用于選擇器件的適合設置真值表VI-針對128Kxl44(雙64位)計數器統(tǒng)計操作<table>tableseeoriginaldocumentpage42</column></row><table>IDT70P130奶3381鵬MbLA-1StatisticsEngineComniercla,TemperatureRange2.—直產生奇偶位用于統(tǒng)計操作(包括NOP),即,使用計數器中已有數據產生奇偶位。3.芯片使能引腳E卩:O]處于用于選擇器件的適合設置<table>tableseeoriginaldocumentpage44</column></row><table>■IDT70P130&n338■1鵬MbLA-1StatisticsEngine—ComniercUilTemperatureRange醫(yī)TTXX輸入01寫入第二最低有效36位計數器TXLX輸入10寫入第三最低有效36位計數器TXI>X輸入11寫入最高有效36位計數器卞XHLX輸入00把D[8:0]和D[26:18]寫入最低有效36位計數器丁XLHX輸入01把D[8:0]和D[26:18]寫入第二最低有效36位計數器TTXLHLX輸入00把D[17:9]和D[35:27]寫入最低有效36位計數器TTXHX輸入01把D[17:9]和D[35:27]寫入第二最低有效36位計數器TX乙HX輸入10把D[8:0]和D[26:18]寫入第三最低有效36位計數器TTXHX輸入11把D[8:0]和D[26:18]寫入最高有效36位計數器TTXHLLX輸入10把D[17:9]禾口D[35:27]寫入第三45<table>tableseeoriginaldocumentpage46</column></row><table>IDT70P13DB/133S1鵬MbLA-1StatisticsEngineCommercialTemperstu舊Rangi針對128Kxl44(4個32位)計數器統(tǒng)計操作的操作碼<table>tableseeoriginaldocumentpage47</column></row><table>5685表122真值表IX-針對128Kxl44(單個64位+兩個32位)計數器常規(guī)讀寫<table>tableseeoriginaldocumentpage47</column></row><table><table>tableseeoriginaldocumentpage48</column></row><table><table>tableseeoriginaldocumentpage49</column></row><table>IDT70P130B/13381明MbLA-1StatisticsEngineCommercialTemperatureRange5685表124KBWOBW1STENA20:A19A18:AA1:A0操作TXXXXHX輸入10對低72位計數器進行統(tǒng)計讀取,其中把72位計數器值讀入影像寄存器,而且低36位在輸出上可用XXXXHX輸入11對低72位計數器進行統(tǒng)計讀取,其中從影像寄存器中讀取計數器值的高36位,并使其在輸出上可用5685表124a注意1."H,,=VIH,"L"=V,L,"乂,,=不關心2.—直產生奇偶位用于統(tǒng)計操作(包括NOP),即,使用計數器中已有數據產生奇偶位。3.芯片使能引腳E[1:0]處于用于選擇器件的適合設置50<image>imageseeoriginaldocumentpage51</image>÷針對U8Kxl44(單個64位+兩個32位)計數器統(tǒng)計操作的操作碼<image>imageseeoriginaldocumentpage51</image>S685表l25<image>imageseeoriginaldocumentpage51</image>注意:5685表126l.施加大于絕對最大額定值所列出的壓力可能會對器件造成永久的損壞。這僅是壓力額定值,并不包含器件在這個說<table>tableseeoriginaldocumentpage52</column></row><table>1鵬MbUUIStatisticsEngineComniBrclalTemperatureRange隨工作溫度和供電電壓變化的DC電特性(VDi^l.8V土100mV,VDDQ-1.4V至1.9V,TA-0至70'C)<table>tableseeoriginaldocumentpage53</column></row><table>注意1.在100%總線使用的情況下測量工作電流。2.當所有待決的讀取和寫入脈沖操作完成后,才會出現待機電流。1。T7QP130G/13381鵬MbLA-1StatisticsEngineGomrnercla,TemperatureFlange3.輸出受阻抗控制。I0H=-(VDDq/2)/(RQ/5),而且受到對于175Q^R(^350Q的器件特性的保證。這個參數在Ro-250Q時測試,它給出了標稱值50Q的輸出阻抗。4.輸出受阻抗控制。I0L=(VDDq/2)/(RQ/5),而且受到對于175Q^l(^350n的器件特性的保證。這個參數在R(^250Q時測試,它給出了標稱值50Q的輸出阻抗。5.進行這個測量以確保輸出能夠拉至VDD(3干線,而且不打算把該測量用作阻抗測量點。6.進行這個測量以確保輸出能夠拉至Vss,而且不打算把該測量用作阻抗測量點。7.可編程阻抗模式。隨工作溫度和供電電壓變化的輸入電特性(<table>tableseeoriginaldocumentpage54</column></row><table>注意1.這些是DC測試標準。DC設計標準為VREFi50mV。單獨定義ACVmA^等級以測量定時參數。2.VIH(Max)DC=VDDQ+0.3V,V1H(Max)AC=VDD+0.5V(脈寬^20。/。kHKH(min))。3.VIL(Min)DC=-0.3V,VIL(Min)AC=-0.5V(脈寬S20o/okHKH(min))。4.這個條件僅用于AC功能測試,而不用于AC參數測試。5.為了維持有效電平,輸入的變化沿必須a)從當前AC電平開始,維持恒定的回轉速率達到目標AC電平、V'L(AC)或Vm(AC)b)至少達到目標AC電平c)在達到目標AC電平后,繼續(xù)維持至少是目標DC電平、VIL(DC)或Vm(DC)IDT70P130Bn33S1鵬MbLA-1StatisticsEngine過沖定時20%tKHKH,VddVlLA5685圖08AC測試負載4V0Dtf25685圖10AC測試條件參數符號值單位核心電源電壓vDD1.7-1.9VCommercialTemperatureRange下沖定時VlL——20'"khkh(,5685圖09輸出電源電壓Vddq1.4-1.9V輸入高/低電平vIH/vIL1.25/0.25V輸入參考電平Vddq/2V輸入上升/下降時間TR7TF0.6/0.6Ns輸出定時參考電平V—2V5685表32注意1.在RQ-250fi的情況下測試參數,,■0.75V0.25V-5685圖1155IDT70P1308/13361鵬MbLA-1StatisticsEngineCommercialTemperatureBangsAC電特'性(VDi^l.8V士100mV,VDD(^1.4V至1.9V,TfO至70。C)<table>tableseeoriginaldocumentpage56</column></row><table>5685表33注意1.周期至周期的跳動從時鐘上升沿至下一個期望的時鐘上升沿而變化,如JEDEC標準No.65(EIA/JESD65)所定義。2.針對DLL鎖定保持,VoD回轉速率必須小于每50ns0.1VDC。一旦VDD和輸入時鐘穩(wěn)定,則DLL鎖定時間開始。3.如果C、C連接到高電平,則K、^變?yōu)镃、5定時參數的參考。4.為了避免總線競爭,在給定的電壓和溫度,tCHQxl大丁-tcHQZ。5.這個參數受到器件品質鑒定的保證,但不會得到生產測試。IDT70P130en3381鵬MbLA-1StatisticsEngineCommercialTemperature陶nge6.所有地址輸入必須滿足針對所有鎖存時鐘邊沿而指定的建立和保持時間。7.控制信號為^、^7、i0,^Fl、E0、El。8.在生產測試期間,外殼溫度等于丁A。9.tKHKL和tKLKH應當在tKHKH的40。/o至60。/。內。10.tKH^H禾口t^HKH應當在時鐘時間tKHKH的45。/。至55。/。內1的MbLA-1StatisticsEngineAdvancedCommercialTemperatureRange用于交替讀寫操作的定時波形ReadWriteReadWrite3ReadWriteNOPWritsNOPNOPK-/R、A麗ItITTQCommercialTemperatureRange對相同地址的一個接一個的讀寫定時波形1鵬MbLA-1StatisticsEngine害TO、7、、、、、Z、ZTE>£ow」sl妄pls59<image>imageseeoriginaldocumentpage60</image><image>imageseeoriginaldocumentpage61</image>主復位定時波形<image>imageseeoriginaldocumentpage61</image>5677圖09注意1.必須在最少4個周期中保持低電平,以啟動對所有計數器和寄存器的復位過程。在已經轉變?yōu)楦唠娖胶?,需?31,078個完整的K周期以完成該復位過程。2.僅能夠通過保持]i^^在小于l.5個K周期的時間內為低電平,才能實現寄存器初始化的復位。IDT70P130B/133S1鵬MbLA-1S1atfsflcsEngf加CommercialTemperatureRange針對LA-1兼容器件的定時方案VtI。T70P1308ZQDQA5S鵬麗,C5KlIDT7(S31308ZQARW麗oIWiKiDaisInDateOutAccess古"鵬存儲控制巻SourceCXKReturn50SourceS£R:,i〗'''kVtVi,Hri,'"—~))R=5。nVTVnEF:250Q5685圉06注意1.對于輸出阻抗為50Q,R=50Q。62IDT70P130fl/13381<image>imageseeoriginaldocumentpage63</image>圖l.使用芯片使能E[l:Oj引腳的多點級聯1鵬MbLA-1StatisticsBiglneCommercialTemperatureRangeIEEE1149.1測試存取端口和邊界掃描JTAG這部分包含IEEE149.1兼容的測試存取端口(TAP)。當處于測試模式時,串行掃描電路監(jiān)測封裝焊盤。這為制造和系統(tǒng)診斷期間的連接性測試提供了支持。與IEEE1149.1—致,該器件包含TAP控制器、指令寄存器、旁路寄存器和ID寄存器。TAP控制器具有標準16狀態(tài)機,該狀態(tài)機在上電時進行內部復位??梢栽诓皇褂肨AP的情況下使用這個器件。為了在不對器件的正常操作產生干擾的前提下禁用TAP控制器,TCK必須連接至Vss,以中間電平輸入。設計有TMS和TDI,從而未驅動的輸入將產生與邏輯l的應用相同的響應,而且可以不連接,但是它們還可以通過電阻器連接至Vdd。TDO應當不連接。<image>imageseeoriginaldocumentpage64</image><image>imageseeoriginaldocumentpage65</image><table>tableseeoriginaldocumentpage66</column></row><table>■IDT70P1308/133S■1鵬MbLA-1SbtfsticsEngineComnierclalTemperatureRange漏SAMPLE/PRELOAD0001把邊界掃描寄存器(BSR)置于TDI與TDO之間。SAMPLE允許來自器件輸入(2'的數據在邊界掃描單元中被捕獲,而且串行地移動經過TDO。PRELOAD允許通過TDI把數據串行地輸入邊界掃描單元。RESERVED0101、0111、1000、保留了若干組合。不使用除了上面所示代碼之外讓、1010、1011、的代碼。1100PRIVATE0110、1110、1101僅在內部使用5685表36注意1.器件輸出=除了TDO的所有器件輸出。2.器件輸入=除了TDI、TMS和T^T的所有器件輸入。3.這個器件的邊界掃描描述語言(BSDL)文件可以從IDT網站(www.idt.com)獲得,或通過聯系本地的IDT銷售代理而獲得。JTAGDC工作條件參數符號最小典型最大單位注意輸出電源Vddq1.4_1.9V電源電壓vDD1.71.81.9V輸入高電平vm1.3_Vdd+0.3V輸入低電平vIL-0.3一0.5V輸出高電壓(I0H=-lmA)v0HVDDq-0.2-VddqV1輸出低電壓(I0L=lmA)V0Lvss-0.2V15685表37JTAGAC測試條件參數符號最小單位注意67<table>tableseeoriginaldocumentpage68</column></row><table>JTAG時序圖<image>imageseeoriginaldocumentpage68</image><image>imageseeoriginaldocumentpage69</image>權利要求1.一種統(tǒng)計引擎,包括雙端口存儲陣列;以及與所述雙端口存儲陣列的第一端口相連的統(tǒng)計處理器,其中,所述統(tǒng)計處理器能夠響應統(tǒng)計引擎接收到的命令而對所述雙端口存儲陣列中存儲的數據執(zhí)行統(tǒng)計更新。2.根據權利要求l所述的引擎,其中,所述統(tǒng)計處理器包括算術邏輯單元,所述算術邏輯單元包括能夠執(zhí)行操作的計數器。3.根據權利要求l所述的引擎,還包括地址緩沖器,所述地址緩沖器與解碼器相連,所述解碼器用于對寫入命令的地址中接收到的操作碼進行解譯。4.根據權利要求l所述的引擎,其中,所述統(tǒng)計引擎以QDR存儲器進行工作。5.根據權利要求l所述的引擎,其中,所述統(tǒng)計處理器中的計數器的寬度可配置。6.根據權利要求l所述的引擎,還包括缺省寄存器。7.根據權利要求6所述的引擎,其中,所述缺省寄存器是可寫入的。8.根據權利要求l所述的引擎,還包括配置寄存器。9.根據權利要求8所述的引擎,其中,所述配置寄存器包括對算術邏輯單元中的計數器的寬度配置進行控制的寄存器。10.根據權利要求8所述的引擎,其中,所述配置寄存器包括響應接收的操作碼來控制使用多個操作碼集合中哪個操作碼集合的寄存器。11.一種執(zhí)行統(tǒng)計的方法,包括-在統(tǒng)計引擎中接收操作碼,所述統(tǒng)計引擎包括雙端口存儲器和與所述雙端口存儲器的端口相連的統(tǒng)計處理器;以及執(zhí)行由操作碼指示的操作。12.根據權利要求ll所述的方法,其中,接收操作碼包括接收具有內嵌于寫入命令的操作碼的地址。13.根據權利要求12所述的方法,還包括接收輸入數據總線上的數據。14.根據權利要求ll所述的方法,其中,執(zhí)行操作包括從所述雙端口存儲器讀取數值;使所述數值加一;以及把所述數值寫入所述雙端口存儲器。15.根據權利要求ll所述的方法,其中,執(zhí)行操作包括從雙端口存儲器讀取數值;使所述數值減一;以及把所述數值寫入所述雙端口存儲器。16.根據權利要求ll所述的方法,其中,執(zhí)行操作包括算術邏輯單元獲得第一操作數;算術邏輯單元獲得第二操作數;以及提供從第一操作數和第二操作數的函數中產生的數值。17.根據權利要求16所述的方法,還包括把所述數值寫入雙端口存儲器。18.根據權利要求16所述的方法,其中,從函數集中選擇函數,所述函數集包括把第一操作數與第二操作數相加;從第二操作數中減去第一操作數;以及執(zhí)行第一操作數和第二操作數之間的XOR操作。19.根據權利要求16所述的方法,其中,獲得第一操作數包括從包括數據輸入、缺省寄存器、雙端口存儲器以及算術邏輯單元輸出的一組位置中的位置接收第一操作數。20.根據權利要求16所述的方法,其中,獲得第二操作數包括從包括數據輸入、缺省寄存器、雙端口存儲器以及算術邏輯單元輸出的一組位置中的位置接收第二操作數。21.根據權利要求16所述的方法,其中,從操作碼所確定的位置接收第一操作數和第二操作數。22.根據權利要求ll所述的方法,其中,執(zhí)行由操作碼指示的操作包括執(zhí)行虛擬清除操作。23.根據權利要求ll所述的方法,其中,執(zhí)行由操作碼指示的操作包括同時執(zhí)行使用多個計數器的功能。24.根據權利要求ll所述的方法,其中,執(zhí)行由操作碼指示的操作包括對設置寄存器進行初始化。25.根據權利要求24所述的方法,其中,對設置寄存器進行初始化包括對確定統(tǒng)計處理器中的計數器的寬度配置的寄存器進行設置。26.根據權利要求24所述的方法,其中,對設置寄存器進行初始化包括對確定要用于統(tǒng)計引擎的操作碼指令集的寄存器進行設置。27.根據權利要求ll所述的方法,其中,執(zhí)行由操作碼指示的操作包括對缺省寄存器進行初始化。28.根據權利要求ll所述的方法,其中,執(zhí)行由操作碼指示的操作包括執(zhí)行統(tǒng)計讀取操作。全文摘要提供了一種提供統(tǒng)計功能的存儲系統(tǒng)。該存儲系統(tǒng)包括雙端口存儲陣列,雙端口存儲陣列的一個端口與統(tǒng)計處理器相連。統(tǒng)計處理器可以響應從外部處理器接收到的操作碼命令而對存儲在雙端口存儲陣列中的數據執(zhí)行統(tǒng)計分析。文檔編號G06F15/16GK101258477SQ200580044822公開日2008年9月3日申請日期2005年10月24日優(yōu)先權日2004年10月25日發(fā)明者葉宗光,特雷沃·黑埃特,王德江,蘇尼爾·凱士亞,邁克·約翰·米勒申請人:集成裝置技術公司