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

      輔助總線狀態(tài)轉(zhuǎn)變的處理器和方法

      文檔序號(hào):6458212閱讀:317來源:國知局
      專利名稱:輔助總線狀態(tài)轉(zhuǎn)變的處理器和方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及集成電路上的通用處理器體系結(jié)構(gòu),并且更具體地,涉及 作為處理器和具有多協(xié)議的多個(gè)數(shù)據(jù)總線單元之間的接口的可配置有限狀態(tài)機(jī)(TCAM)。
      技術(shù)背景在半導(dǎo)體集成電路(ic)上使用小型晶體管的微處理器(mP)在其 硬件數(shù)字系統(tǒng)的設(shè)計(jì)中可以使用狀態(tài)機(jī)或有限狀態(tài)機(jī)(FSM)。微處理器 還可以4吏用可編程狀態(tài)才幾。例如,在授予Wise等人的美國專利No.6799246中公開了一種用于從 存儲(chǔ)器總線接收數(shù)據(jù)并且將數(shù)據(jù)存儲(chǔ)進(jìn)存儲(chǔ)器陣列的硬件系統(tǒng)。存儲(chǔ)器數(shù) 據(jù)可以被轉(zhuǎn)換為駐留在與其關(guān)聯(lián)的總線地址不同的存儲(chǔ)器陣列的部分。這 允許存儲(chǔ)器陣列實(shí)現(xiàn)在數(shù)據(jù)存儲(chǔ)以及數(shù)據(jù)操作方面的靈活性。使用三重內(nèi) 容可尋址存儲(chǔ)器設(shè)備(TCAM)來從外部存儲(chǔ)器總線地址提供對(duì)數(shù)據(jù)駐留 位置的索引。公開了利用外圍總線控制信號(hào)針對(duì)存儲(chǔ)器陣列和數(shù)據(jù)移動(dòng)的 存儲(chǔ)器硬件輔助。用于集成電路上的片上系統(tǒng)(SOC)環(huán)境的處理器系統(tǒng)可以使用用于 通用外圍處理器的基于軟件的體系結(jié)構(gòu)。然而,在實(shí)踐中,這種體系結(jié)構(gòu) 的有用性受多總線的協(xié)議需求的限制。例如,如果總線協(xié)議需要在單個(gè)周 期內(nèi)來自微控制器(MCU或u控制器(uController))的響應(yīng),貝'j u控制器可能不具有滿足指定響應(yīng)時(shí)間的帶寬。核心IP庫是實(shí)現(xiàn)不同功能(例如PCI核、UART核、SRAM核) 的邏輯設(shè)計(jì)的庫。核心IP庫包含大量的獨(dú)特設(shè)計(jì),對(duì)其設(shè)計(jì)、維護(hù)和從技 術(shù)到技術(shù)節(jié)點(diǎn)遷移的成本很高。然而,在專用集成電路(ASIC)的集成電 路設(shè)計(jì)功能中需要核心IP庫。高速接口之間的總線適配器通常使用例如在ASIC內(nèi)的專用電路來實(shí) 現(xiàn)。如果在該專用電路內(nèi)發(fā)現(xiàn)缺陷或者接口協(xié)議發(fā)生改變,則ASIC必須 重新設(shè)計(jì)和制造,這需要一定的費(fèi)用并且對(duì)實(shí)現(xiàn)產(chǎn)品商用所需的時(shí)間長度 (市場投^L時(shí)間)產(chǎn)生顯著影響。外圍處理器或微控制器提供將一個(gè)總線標(biāo)準(zhǔn)轉(zhuǎn)換為另 一個(gè)所需的處 理。這些處理器通常不是系統(tǒng)的主處理器,而是專用于處理接口轉(zhuǎn)換。通 過寸吏用這些外圍處理器,某些外圍核心或微控制器是可替換的,它們之前 用專用電路構(gòu)建。出于性能和尺寸的原因,外圍核心通常使用專用電路???線協(xié)議需要狀態(tài)跟蹤,并且以前只有專用電路能夠滿足性能需求。然而, 隨著性能和尺寸領(lǐng)域的技術(shù)改進(jìn),可適度地應(yīng)用更多的通用解決方案。當(dāng)使用通用微處理器來替換外圍核心、處理器或微控制器時(shí),可以支 持的各種協(xié)議將取決于微處理器的性能等等。在給定的技術(shù)節(jié)點(diǎn),該微處 理器可以將某個(gè)最大數(shù)目的周期專門用于分析和響應(yīng)外圍接口的各種狀 態(tài)。對(duì)于復(fù)雜或快速接口,該周期數(shù)可能不夠充分。因此,當(dāng)在專用電路上發(fā)現(xiàn)錯(cuò)誤時(shí),或者當(dāng)實(shí)現(xiàn)接口協(xié)議改變時(shí),將 期望減少所需費(fèi)用和對(duì)設(shè)計(jì)、制造和時(shí)間的影響。還將期望提供一種用于 當(dāng)發(fā)現(xiàn)缺陷時(shí)或者當(dāng)實(shí)現(xiàn)接口協(xié)議改變時(shí)消除對(duì)重新設(shè)計(jì)和制造ASIC的 需要的方式。此外,還將期望軟件體系結(jié)構(gòu)提供對(duì)總線上的多種協(xié)議的控 制。發(fā)明內(nèi)容本發(fā)明涉及一種集成電路(IC)上的通用外圍處理器體系結(jié)構(gòu),其包 括第 一數(shù)據(jù)總線和第二數(shù)據(jù)總線。第 一和第二數(shù)據(jù)總線耦合到三重內(nèi)容可 尋址存儲(chǔ)器(TCAM)接口邏輯設(shè)備并且處理器耦合到TCAM。 TCAM使 能第一和第二數(shù)據(jù)總線之間的通信。數(shù)據(jù)路徑使能第一和第二數(shù)據(jù)總線之 間的數(shù)據(jù)傳送,并且數(shù)據(jù)路徑還與數(shù)據(jù)存儲(chǔ)設(shè)備通信。數(shù)據(jù)控制路徑使能 數(shù)據(jù)存儲(chǔ)設(shè)備、處理器和TCAM之間的通信,并且耦合到數(shù)據(jù)存儲(chǔ)設(shè)備、 處理器和TCAM。數(shù)據(jù)存儲(chǔ)設(shè)備可以包括FIFO設(shè)備。第一和第二TCAM 分別耦合到第 一和第二總線,并且第 一和第二處理器可以耦合到第一和第二 TCAM,同時(shí)第一和第二數(shù)據(jù)存儲(chǔ)設(shè)備可以都與數(shù)據(jù)路徑通信。在根據(jù)本發(fā)明的另一方面, 一種集成電路(IC)上的通用外圍處理器 體系結(jié)構(gòu)包括第 一數(shù)據(jù)總線和第二數(shù)據(jù)總線。第 一數(shù)據(jù)總線耦合到第一 TCAM,并且第二數(shù)據(jù)總線耦合到第二TCAM,用于使能第一和第二總線 之間的通信,包括使能多個(gè)信令協(xié)議的接口。用于管理IC上的控制功能 的處理器通過數(shù)據(jù)路徑耦合到第一 TCAM和第二 TCAM,使得數(shù)據(jù)路徑 與耦合到第二存儲(chǔ)設(shè)備的第一存儲(chǔ)設(shè)備通信。數(shù)據(jù)控制路徑使能第一和第 二數(shù)據(jù)存儲(chǔ)設(shè)備、處理器以及第一和第二TCAM之間的通信,并且耦合到 第一和第二數(shù)據(jù)存儲(chǔ)設(shè)備、處理器和第一和第二TCAM。在本發(fā)明的相關(guān)方面,TCAM適用于處理器之間的使用預(yù)定義協(xié)議的 接口。在本發(fā)明的相關(guān)方面,多個(gè)TCAM彼此通信且與多個(gè)處理器通信。 在本發(fā)明的相關(guān)方面,多個(gè)FIFO與第一和第二數(shù)據(jù)總線通信。 在本發(fā)明的相關(guān)方面,至少兩個(gè)時(shí)鐘域和多個(gè)元穩(wěn)定性 (meta-stability )設(shè)備與處理器通信,以提供時(shí)鐘域與處理器之間的接口 。 根據(jù)本發(fā)明的另一方面, 一種集成電路(IC)上的通用外圍處理器體 系結(jié)構(gòu)包括第一數(shù)據(jù)總線和第二數(shù)據(jù)總線,其與第一三重內(nèi)容可尋址存儲(chǔ) 器(第一 TCAM)和第二三重內(nèi)容可尋址存儲(chǔ)器(第二 TCAM)通信, 使得第一和第二 TCAM使能第一和第二數(shù)據(jù)總線之間的通信,包括使能多 個(gè)信令協(xié)議的接口。用于管理IC上的控制功能的第一處理器耦合到第一 TCAM,而第二處理器耦合到第二TCAM。第一數(shù)據(jù)存儲(chǔ)設(shè)備與第一處理 器通信,而第二數(shù)據(jù)存儲(chǔ)設(shè)備與第二處理器通信。第一和第二數(shù)據(jù)存儲(chǔ)設(shè) 備都耦合到第一數(shù)據(jù)總線和第二數(shù)據(jù)總線并且彼此通信。數(shù)據(jù)控制路徑使 能第一和第二數(shù)據(jù)存儲(chǔ)設(shè)備、第一和第二處理器以及第一和第二TCAM之 間的通信,并且耦合到第一和第二數(shù)據(jù)存儲(chǔ)設(shè)備、第一和第二處理器以及 第一和第二 TCAM。第一 TCAM配置為狀態(tài)機(jī)并且耦合到第一數(shù)據(jù)存儲(chǔ) 設(shè)備。第一 TCAM適用于第一處理器和第一數(shù)據(jù)總線之間的使用第一預(yù)定 義協(xié)議的接口 。第二 TCAM配置為狀態(tài)機(jī)并且耦合到第二數(shù)據(jù)存儲(chǔ)設(shè)備。第二 TCAM適用于第二處理器和笫二數(shù)據(jù)總線之間的使用第二預(yù)定義協(xié) 議的接口。在本發(fā)明的相關(guān)方面,第一數(shù)據(jù)總線和第一TCAM在第一時(shí)鐘域中, 而笫二數(shù)據(jù)總線和第二TCAM在第二時(shí)鐘域中。此外,至少一個(gè)元穩(wěn)定性 設(shè)備與第一和第二數(shù)據(jù)總線以及第一和第二處理器通信并且提供第一和第 二數(shù)據(jù)總線與第一和第二處理器之間的接口。在本發(fā)明的相關(guān)方面,第 一和第二數(shù)據(jù)存儲(chǔ)設(shè)備分別包括第 一和第二 FIFO設(shè)備。在本發(fā)明的相關(guān)方面,第一和第二變換器分別提供第一和第二數(shù)據(jù)總 線之間的數(shù)據(jù)變換。此外第一和第二變換器分別經(jīng)由多個(gè)數(shù)據(jù)路徑與第一 和笫二數(shù)據(jù)存儲(chǔ)設(shè)備通信,并且分別經(jīng)由多個(gè)控制路徑與第 一和第二處理 器通信。在本發(fā)明的相關(guān)方面,第一和第二數(shù)據(jù)總線彼此通信,并且經(jīng)由多個(gè) 數(shù)據(jù)路徑與第 一和第二存儲(chǔ)設(shè)備通信。在本發(fā)明的另一方面, 一種方法使得IC上的外圍處理器能夠提供多 個(gè)數(shù)據(jù)總線之間的接口,并且包括提供第一數(shù)據(jù)總線和笫二數(shù)據(jù)總線, 其中第一數(shù)據(jù)總線耦合到第一 TCAM接口邏輯設(shè)備,并且第二數(shù)據(jù)總線耦 合到第二 TCAM接口邏輯設(shè)備,以便使能第一和第二數(shù)據(jù)總線之間的通 信。提供用于管理控制功能的處理器,該處理器耦合到第一TCAM和第二 TCAM。數(shù)據(jù)路徑使能與耦合到第二數(shù)據(jù)存儲(chǔ)設(shè)備的第一數(shù)據(jù)存儲(chǔ)設(shè)備之 間的數(shù)據(jù)傳送。該方法還提供第一控制路徑,其使能與第一數(shù)據(jù)存儲(chǔ)設(shè) 備之間的通信并且耦合到第一數(shù)椐存儲(chǔ)設(shè)備;第二控制路徑,其使能與第 二數(shù)據(jù)存儲(chǔ)設(shè)備之間的通信并且耦合到第二數(shù)據(jù)存儲(chǔ)設(shè)備。接收從處理器 到第一或第二 TCAM中至少之一的數(shù)據(jù)以提供處理器與第一和第二數(shù)據(jù) 總線之間的使用預(yù)定義協(xié)議的接口。第一和第二 TCAM可以配置為狀態(tài) 機(jī)。在本發(fā)明的相關(guān)方面,第一處理器和第二處理器耦合到笫一 TCAM和 第二 TCAM。第一 TCAM接收來自第一處理器的數(shù)據(jù)而第二 TCAM接收來自第二處理器的數(shù)據(jù)。


      圖1是根據(jù)本發(fā)明的實(shí)施例的通用總線接口順序有限狀態(tài)機(jī)(FSM ) 的框圖;圖2是圖1示出的FSM中的示例性TCAM設(shè)備的框圖; 圖3A是針對(duì)圖1示出的FSM的示例性狀態(tài)圖;以及 圖3B是針對(duì)圖3示出的狀態(tài)圖的狀態(tài)表。
      具體實(shí)施方式
      本發(fā)明提供用于在通用外圍處理器體系結(jié)構(gòu)中使用的可重復(fù)編程的有 限狀態(tài)機(jī)。如果在狀態(tài)機(jī)中發(fā)現(xiàn)錯(cuò)誤或者接口協(xié)議改變,則該可重復(fù)編程 的有限狀態(tài)機(jī)可以實(shí)現(xiàn)改變。三重內(nèi)容可尋址存儲(chǔ)器(TCAM)提供一種 實(shí)現(xiàn)高性能有限狀態(tài)機(jī)的機(jī)制。FSM可以處理接口信令協(xié)議,同時(shí)處理器 處理剩余的控制功能。通常,信號(hào)可以是單個(gè)線載數(shù)字信號(hào),其可以被分 配一個(gè)意思,例如"開始傳送(start-transfer ),,、"請(qǐng)求總線(request-bus )"、 "準(zhǔn)予總線(grant-bus),,等。信令協(xié)議是已定義的、必須被遵守以影響 某種事務(wù)的不同信號(hào)之間的交互和事件的序列。例如,總線一側(cè)上的設(shè)備 可能希望寫數(shù)據(jù),并且因此聲稱請(qǐng)求信號(hào)(request-signal)。接收單元可 以聲稱準(zhǔn)予總線。發(fā)送設(shè)備于是可以聲稱開始傳送,并且于是開始在數(shù)據(jù) 總線上發(fā)送數(shù)據(jù)。所有這些事件可能需要在另一個(gè)事件的幾個(gè)周期內(nèi)發(fā)生。FSM能夠遵 循協(xié)議規(guī)則,其中處理器可能不具有帶寬。在該例子中,處理器將向TCAM 內(nèi)的FSM發(fā)出寫命令(這是控制功能),并且TCAM將在所需時(shí)間內(nèi)負(fù) 責(zé)聲稱和響應(yīng)各個(gè)信號(hào),以構(gòu)成寫事務(wù)。通常,根據(jù)本發(fā)明,如圖l所示例的,微處理器或微控制器30、 100 使用可編程有限狀態(tài)機(jī)14、 120 (作為接口邏輯設(shè)備)來實(shí)現(xiàn)針對(duì)多個(gè)數(shù) 據(jù)總線20、 152的接口功能。本發(fā)明使用(三重內(nèi)容可尋址存儲(chǔ)器)TCAM 來構(gòu)建有限狀態(tài)機(jī)14、 120。此外,本發(fā)明提供可編程有限狀態(tài)機(jī)14、 120,其可以用于多個(gè)總線20、 152之間的接口 。本發(fā)明還涉及本地總線和TCAM 交互。本發(fā)明訪問外部外圍總線并且控制與外圍總線控制信號(hào)相關(guān)聯(lián)的工 作。本發(fā)明的示例性的實(shí)施例在圖1中示出并且包括通用處理器體系結(jié) 構(gòu),其包括第一數(shù)據(jù)總線20和第二數(shù)據(jù)總線152,其中從第一總線到第二 總線的數(shù)據(jù)流路徑由 一 系列信號(hào)交互來啟動(dòng),該信號(hào)交互可以例如由總線 一側(cè)上可能希望寫數(shù)據(jù)的設(shè)備啟動(dòng)。系統(tǒng)包括兩個(gè)可配置的有限狀態(tài)機(jī) 14、 120,其針對(duì)相應(yīng)的數(shù)據(jù)總線20、 152在處理器30、 100和控制總線 18、 150之間接口連接。FSM 14、 120使用三重內(nèi)容可尋址存儲(chǔ)器設(shè)備(TCAM)來提供處理器30、 100和控制總線18、 150之間的接口。本發(fā) 明擴(kuò)展了通用外圍處理器的體系結(jié)構(gòu)以提供可配置的有限狀態(tài)機(jī)14、 100(接口邏輯設(shè)備),其可以處理低層協(xié)議要求。本發(fā)明的實(shí)施例通過提供 基于三重內(nèi)容可尋址存儲(chǔ)器(TCAM)的靈活的FSM體系結(jié)構(gòu)來使用基 于軟件的方法。總而言之,本發(fā)明描述了一種通用有限狀態(tài)機(jī)(FSM),其可以從微 處理器卸下(offload)低層協(xié)議處理,由此擴(kuò)展該基于微處理器的體系結(jié) 構(gòu)所支持的接口數(shù)。該有限狀態(tài)機(jī)體系結(jié)構(gòu)的主要單元是三重內(nèi)容可尋址 存儲(chǔ)器(TCAM)。三重CAM ( TCAM )利用"無關(guān)(don't care ) " ( X,s ) 狀態(tài)而允許模式匹配,其匹配特定狀態(tài)的一組信號(hào)。在搜索期間,無關(guān)狀 態(tài)用作通配符(wildcard)。根據(jù)本發(fā)明的通用外圍處理器包括TCAM。 TCAM是完全可配置的 并且可以匹配通配輸入模式和"X"(無關(guān))狀態(tài)。在實(shí)現(xiàn)TCAM時(shí),狀 態(tài)機(jī)中的分支數(shù)限于TCAM輸入的總數(shù)。TCAM的內(nèi)容可以被修改,因 此,F(xiàn)SM的定義可以動(dòng)態(tài)重新編程。默認(rèn)狀態(tài)可以容易地限定陷阱錯(cuò)誤狀 態(tài)。默認(rèn)陷阱狀態(tài)可被編程到TCAM中,使得不匹配任何有效狀態(tài)的輸入 將匹配陷阱狀態(tài)的標(biāo)簽。例如,如果TCAM被編程使得最低優(yōu)先級(jí)輸入(考 慮到匹配時(shí)的最后輸入)定義所有輸入為無關(guān),則在給定了沒有任何更高 優(yōu)先級(jí)輸入被匹配的情況下,該輸入將總是得到匹配。FSM經(jīng)由硬件分支 矢量將狀態(tài)信息傳輸給微處理器。硬件分支矢量允許執(zhí)行線程定義其將作用在FSM的當(dāng)前狀態(tài)的點(diǎn)。此外,本發(fā)明的通用外圍處理器包括作為外圍處理器和總線單元之間 的接口的可配置的FSM的使用。通用外圍處理器使用TCAM來構(gòu)建可配 置的FSM,其提供硬件分支矢量給微處理器。根據(jù)本發(fā)明的FSM是動(dòng)態(tài) 可重新配置的,以便處理接口協(xié)議的各個(gè)階段。參考圖1,通用總線接口順序FSM電路IO的實(shí)施例在集成電路(IC 或芯片)350上示出。FSM電路10沿著分割線95分成時(shí)鐘域A10a和時(shí) 鐘域B 10b。 FSM電路10包括沿著分割線95的元穩(wěn)定性設(shè)備80、 90和 190。元穩(wěn)定性設(shè)備80、 90和190與處理器通信以提供時(shí)鐘域與處理器之 間的接口 。沿總線A數(shù)據(jù)路徑20的數(shù)據(jù)在時(shí)鐘域A 10a中經(jīng)由數(shù)據(jù)路徑 22、 64和66朝著時(shí)鐘域B 10b行進(jìn)。在時(shí)鐘域B10b內(nèi),數(shù)據(jù)路徑經(jīng)由 數(shù)據(jù)路徑82和98繼續(xù)下去,因此數(shù)據(jù)路徑98與總線B數(shù)據(jù)路徑152連 接。沿著總線B的數(shù)據(jù)在朝著時(shí)鐘域A 10a的方向上經(jīng)由數(shù)據(jù)路徑132和 134行進(jìn),因此數(shù)據(jù)路徑142與元穩(wěn)定性設(shè)備1卯連接。時(shí)鐘域A10a中 的FIFO 50經(jīng)由數(shù)據(jù)路徑192連接到元穩(wěn)定性i殳備190。數(shù)據(jù)路徑194返 回到總線A數(shù)據(jù)路徑120。通常,F(xiàn)IFO指先入先出,其是一種處理來自 隊(duì)列或堆棧的程序工作請(qǐng)求使得時(shí)間最久的請(qǐng)求下一個(gè)被處理的方法。電路IO (在圖1中示出)包括總線序列FSM 14,其經(jīng)由控制路徑21 連接到總線A控制線18。 FSM 14被設(shè)計(jì)作為TCAM。微控制器30經(jīng)由 控制路徑32與FSM 14通信,并且經(jīng)由數(shù)據(jù)路徑34與TCAM FSM 14通 信。微控制器30還經(jīng)由控制路徑36直接與總線A控制線18通信,以及 經(jīng)由控制路徑62與變換設(shè)備60直接通信。變換設(shè)備60執(zhí)行總線A 20和 總線B 152之間的數(shù)據(jù)變換。FSM分別經(jīng)由控制路徑52、 58與FIFO 50 和56 二者通信。微控制器30經(jīng)由控制路徑94與元穩(wěn)定性設(shè)備90通信。 變換設(shè)備60經(jīng)由數(shù)據(jù)路徑66連接到元穩(wěn)定性設(shè)備80,元穩(wěn)定性設(shè)備80 接著經(jīng)由數(shù)據(jù)路徑82連接到FIFO 96。繼續(xù)參考圖1,微控制器100經(jīng)由控制路徑102連接到元穩(wěn)定性設(shè)備 90,并且經(jīng)由控制路徑110連接到總線序列TCAM FSM 120。微控制器 100還經(jīng)由控制路徑104直接連接到總線B控制線150,并且經(jīng)由控制路徑106直接連接到變換設(shè)備140。與變換設(shè)備60類似,變換設(shè)備140執(zhí)行 總線A20和總線B152之間的數(shù)據(jù)變換。例如,總線A20可以被配置為 傳輸32位寬的數(shù)據(jù)部分,而總線B152可以傳輸8位寬的數(shù)據(jù)部分。在該 例子中,從總線A到總線B的傳輸將需要將32位寬的數(shù)據(jù)部分分成4個(gè) 8位寬的數(shù)據(jù)部分。類似地,從總線B到總線A的傳輸將需要將4個(gè)8位 寬的數(shù)據(jù)片匯集成一個(gè)32位的片。此外,變換設(shè)備60、 140可以根據(jù)每個(gè) 總線規(guī)范的字節(jié)排序規(guī)則來重新排序字節(jié)。變換設(shè)備60、 140允許總線序 列FSM14、 120管理總線協(xié)議的控制部分,而變換設(shè)備60、 140管理所實(shí) 現(xiàn)的總線協(xié)議的數(shù)據(jù)格式化方面。如圖1所示,F(xiàn)IFO 96經(jīng)由數(shù)據(jù)路徑98連接到總線B數(shù)據(jù)路徑152。 總線序列TCAM FSM 120經(jīng)由控制路徑110連接到孩史控制器100,并且經(jīng) 由控制路徑122連接到總線B控制邏輯150。 TCAM FSM 120經(jīng)由控制路 徑126連接到FIFO 130,并且經(jīng)由數(shù)據(jù)路徑112連接到微控制器100。總 線B數(shù)據(jù)152經(jīng)由控制路徑132連接到FIFO 130。 FIFO 130經(jīng)由控制路 徑134連接到變換電路140。變換140經(jīng)由控制路徑142連接到元穩(wěn)定性 設(shè)備l卯。FIFO 150經(jīng)由數(shù)據(jù)路徑192連接到元穩(wěn)定性設(shè)備190,并且經(jīng) 由數(shù)據(jù)路徑194連接到總線A數(shù)據(jù)路徑??偩€序列FSM 14、 120分別監(jiān)控總線A控制邏輯18和總線B控制邏 輯150,并且可以從^:處理器30、 100卸下信號(hào)級(jí)協(xié)"i義。另外,總線序列 FSM 14、 120可以控制從相應(yīng)的總線20、 152的數(shù)據(jù)部分加載和卸載合適 的FIFO。微處理器30、 100可以分別經(jīng)由數(shù)據(jù)路徑34、 112在總線序列 FSM內(nèi)分別加載TCAM FSM 14、 120的內(nèi)容。時(shí)鐘域A 10a和時(shí)鐘域B 10b 可以不是同步的,并且因此元穩(wěn)定性設(shè)備80、 90、 190提脈^適的時(shí)鐘域 接口。參考圖2,總線序列FS的實(shí)施例是通過TCAM 300構(gòu)建的。TCAM 300 的輸入包括FIFO狀態(tài)信號(hào)304 (滿級(jí)別)、來自孩i控制器308的信號(hào)、 來自外圍總線312的控制部分的信號(hào)和表示FSM 316的當(dāng)前狀態(tài)的信號(hào)。 根據(jù)這些輸入信號(hào)的值,可以確定下一狀態(tài)320和輸出324。來自TCAM 300的輸出信號(hào)包括下一狀態(tài)320、外圍總線上的驅(qū)動(dòng)信號(hào)324、 FIFO控制信號(hào)328 (加載/卸載)、和用于由微處理器中的寄存器330接收的分 支矢量332。孩£控制器輸入308加載TCAM 300的標(biāo)簽336和內(nèi)容340 二 者。標(biāo)簽336與具有內(nèi)容340的特定存儲(chǔ)器地址單元相關(guān)聯(lián)。因?yàn)镮C350 或4鼓控制器30、 100 (圖1)可以動(dòng)態(tài)改變?cè)摖顟B(tài)才幾/TCAM 300的定義, 所以可以針對(duì)接口定義的不同階段(訓(xùn)練、自動(dòng)檢測、睡眠等等)改變協(xié) 議。FIFO的控制(何時(shí)加載/卸載)和FIFO的狀態(tài)(滿、空、將滿等等) 經(jīng)由控制路徑58、 52、 124、 126 (在圖1中示出)傳輸給狀態(tài)機(jī)14、 120/ 從狀態(tài)機(jī)14、 120傳輸。例如,參考圖1,如果總線A20試圖向總線B152 寫數(shù)據(jù),則狀態(tài)機(jī)可以進(jìn)入等待來自總線A20的數(shù)據(jù)到達(dá)的狀態(tài)。在該情 況下,如果有空間的話它將把數(shù)據(jù)加載入FIFO 56。如果FIF0 56沒有空 間,則狀態(tài)機(jī)14可以轉(zhuǎn)換到另一狀態(tài),其在總線A上聲稱某個(gè)等待信號(hào)。 如圖2所示,F(xiàn)IFO狀態(tài)304是到TCAM300的輸入的一個(gè)字段。FIFO控 制328是FSM輸出的一個(gè)字段。對(duì)FIFO和控制信號(hào)的編碼將取決于FIFO 接口,其不在此進(jìn)行規(guī)定。參考圖3A和3B ,示出了一個(gè)示例狀態(tài)圖400和相應(yīng)的狀態(tài)表600。 狀態(tài)圖400和表600反映一個(gè)示例TCAM中的可能的狀態(tài)改變。當(dāng)設(shè)計(jì)總 線序列FSM來處理不同協(xié)議時(shí),需要狀態(tài)機(jī)來跟蹤協(xié)議的各個(gè)階段。 TCAM使能了對(duì)狀態(tài)機(jī)的一般化構(gòu)建。通過使用狀態(tài)機(jī),TCAM可以被 編程以包含下一狀態(tài)以及各種控制。應(yīng)該理解,TCAM可以用于根據(jù)總線 上的特定協(xié)議構(gòu)建任何數(shù)量的不同類型的狀態(tài)機(jī)。特定的有限狀態(tài)機(jī)轉(zhuǎn)換由FSM輸入的某種組合來觸發(fā)。采取特定轉(zhuǎn) 換路徑的判決基于FSM輸入(包括根本沒有輸入)的某個(gè)子集,在該情 況下剩余的輸入被認(rèn)為是無關(guān)的。通過TCAM構(gòu)建的狀態(tài)機(jī)可以使用 TCAM中的"掩碼,,功能定義哪些輸入是重要的而哪些輸入是無關(guān)的。在 圖3A中,例如,從狀態(tài)C 450到D 550的轉(zhuǎn)換將總是發(fā)生,而與輸入的 狀態(tài)(In=XXX)無關(guān)。因此,狀態(tài)機(jī)表的行712設(shè)置了掩碼的所有位, 其意味著在匹配表的該行時(shí)將不考慮任何輸入位。在圖3A中示出的狀態(tài)圖400中,描述了狀態(tài)A402,其具有的值表示出當(dāng)前狀態(tài)"00" 404、總線輸出狀態(tài)"00" 408以及分支狀態(tài)"00" 412。 在狀態(tài)圖600中,三行702、 704、 706示出當(dāng)前狀態(tài)為"00" 404,其對(duì)應(yīng) 于狀態(tài)402。狀態(tài)圖600中的下一狀態(tài)列616是"01" 、 "10"或"00", 其分別對(duì)應(yīng)于4亍702、 704、 706。參考圖3,如可以從狀態(tài)圖400中看出的那樣,狀態(tài)A 402的下一狀 態(tài)可以是返回420到狀態(tài)A 402中的狀態(tài)"00",其分別對(duì)應(yīng)于行706、 列616、 620和624,并且特別地對(duì)應(yīng)于狀態(tài)A 420的總線輸出"00" 408 和分支"00" 412。同樣,A 402的下一狀態(tài)可以是到狀態(tài)C 450,其中當(dāng) 前狀態(tài)是"10" 452,其對(duì)應(yīng)于行704、列616,其中下一狀態(tài)是"10"。 C 450中的總線輸出狀態(tài)"11"和分支狀態(tài)"00"分別對(duì)應(yīng)于行704中的 列620、 624。針對(duì)行704的列608中示出的FIFO輸入"X10"對(duì)應(yīng)于狀 態(tài)圖中對(duì)狀態(tài)C450的輸入451。最后,A402的下一狀態(tài)可以是在B500 中示出的當(dāng)前狀態(tài)"01" 504,其具有總線輸出狀態(tài)"01" 506和分支狀態(tài) "00" 508,其分別對(duì)應(yīng)于表600中的行702、列616、 620和624。在針對(duì) 行702的列608中示出的FIFO輸入"X01"對(duì)應(yīng)于狀態(tài)圖中對(duì)狀態(tài)B 500 的輸入502。在圖3B示出的狀態(tài)圖中,所呈現(xiàn)的狀態(tài)C 450的當(dāng)前狀態(tài)是"10" 452,其對(duì)應(yīng)于狀態(tài)表600中的行712、列604。下一狀態(tài)是D 550,其中 當(dāng)前狀態(tài)是"11",其對(duì)應(yīng)于狀態(tài)表中的行714和716、列616。狀態(tài)表 600的行712、列608示出的FIFO輸入在狀態(tài)圖中描述為進(jìn)入狀態(tài)550的 輸入"XXX" 551。狀態(tài)D550中示出的下一總線輸出狀態(tài)"10" 556和下 一分支狀態(tài)"10" 568對(duì)應(yīng)地在狀態(tài)表600中的行712、列620和624中分 別示出,并且下一狀態(tài)"11"在列616中示出。從狀態(tài)B 500中,當(dāng)前狀態(tài)是"01",其對(duì)應(yīng)于狀態(tài)表中的行708和 710。下一狀態(tài)可以是"11",其跟隨輸入"XOO"沿著路徑510到狀態(tài)D 550,并且在狀態(tài)表600的行708、列616示出。行708中列620和624中 的下一總線和下一分支狀態(tài)分別示出"10"和"10",其對(duì)應(yīng)于狀態(tài)D550 中的總線輸出和分支狀態(tài)。當(dāng)跟隨返回線501回到B 500時(shí),狀態(tài)500的 下一狀態(tài)輸出也可以是"01",并且如狀態(tài)表中行710、列616所示那樣,其中對(duì)應(yīng)的總線輸出狀態(tài)"01" 506和分支狀態(tài)"00" 508分別在列620 和列624中示出。從狀態(tài)D550中,當(dāng)前狀態(tài)552是"11",其對(duì)應(yīng)于狀態(tài)表中的行714。 在狀態(tài)表600的行714、列616中,下一狀態(tài)是"00"。如狀態(tài)圖中的線 560所示出的那樣,狀態(tài)D550的下一狀態(tài)是返回具有當(dāng)前狀態(tài)"00" 404 的狀態(tài)A402。同樣,D550的下一狀態(tài)輸出可以是返回554到D,其對(duì)應(yīng) 于狀態(tài)表600中的行716、列616。根據(jù)本發(fā)明,TCAM可以被編程以實(shí)現(xiàn)任何有限狀態(tài)機(jī)。用于對(duì)有限狀態(tài)機(jī)的編程的限制包括TCAM的特性,例如輸入數(shù)量、標(biāo)簽尺寸等。TCAM類似于標(biāo)準(zhǔn)隨機(jī)存取存儲(chǔ)器(RAM),因?yàn)槠湓诳蓪ぶ反鎯?chǔ)器單元陣列中存儲(chǔ)信息。然而,在RAM中,地址用于訪問該陣列,而且地址根據(jù)RAM的設(shè)計(jì)與存儲(chǔ)陣列中的單元隱含地相關(guān)聯(lián)。相反地,在TCAM中,存儲(chǔ)器單元與地址或標(biāo)簽的這種關(guān)聯(lián)必須是例如被明確編程到圖2中示出的TCAM 300的標(biāo)簽部分336之中。TCAM查看所述輸入,將輸入與標(biāo)簽內(nèi)容比較以確定要訪問哪個(gè)存儲(chǔ)單元內(nèi)容。TCAM的標(biāo)簽部分必須 在讀和寫可以發(fā)生之前進(jìn)行初始化。此外,對(duì)于構(gòu)建通用有限狀態(tài)機(jī),TCAM是有利的,因?yàn)檠诖a位612 (圖3)可以被認(rèn)為是TCAM的標(biāo)簽部分的一部分,其允許忽略輸入的位 字段。掩碼表示出在試圖將輸入與標(biāo)簽匹配時(shí)輸入中的哪些位是重要的。 另 一個(gè)特征是以特定的順序搜索標(biāo)簽。有可能將標(biāo)簽編程使得多個(gè)標(biāo)簽可 以匹配給定的輸入,因此TCAM將總是選擇最高優(yōu)先級(jí)的匹配。例如,在 圖3中,在表的最后一行(716) , TCAM掩碼被設(shè)置為全l,其意味著在 嘗試將輸入與標(biāo)簽匹配時(shí)將忽略所有輸入。這具有的效果是任何輸入都 將匹配該標(biāo)簽。然而,因?yàn)檫@是最低優(yōu)先級(jí)輸入,所以僅當(dāng)沒有任何高優(yōu) 先級(jí)標(biāo)簽匹配時(shí),該標(biāo)簽才匹配。盡管已經(jīng)關(guān)于本發(fā)明的優(yōu)選實(shí)施例具體地示出和描述了本發(fā)明,但是 本領(lǐng)域技術(shù)人員將理解,在不偏離本申請(qǐng)的精神和范圍的情況下可以在形 式和細(xì)節(jié)上進(jìn)行修改。因此,目的在于本發(fā)明不限于此處描述和說明的精 確形式和細(xì)節(jié),而是落在所附權(quán)利要求的范圍內(nèi)。
      權(quán)利要求
      1.一種集成電路上的通用外圍處理器體系結(jié)構(gòu),包括第一數(shù)據(jù)總線和第二數(shù)據(jù)總線,其中所述第一和第二數(shù)據(jù)總線耦合到三重內(nèi)容可尋址存儲(chǔ)器設(shè)備,其用于使能所述第一和第二數(shù)據(jù)總線之間的通信;用于管理所述集成電路上的控制功能的處理器,其耦合到所述三重內(nèi)容可尋址存儲(chǔ)器設(shè)備;數(shù)據(jù)路徑,其使能所述第一和第二數(shù)據(jù)總線之間的數(shù)據(jù)傳送,其中所述數(shù)據(jù)路徑還與數(shù)據(jù)存儲(chǔ)設(shè)備通信;以及數(shù)據(jù)控制路徑,其使能所述數(shù)據(jù)存儲(chǔ)設(shè)備、所述處理器和所述三重內(nèi)容可尋址存儲(chǔ)器設(shè)備之間的通信,并且耦合到所述數(shù)據(jù)存儲(chǔ)設(shè)備、所述處理器和所述三重內(nèi)容可尋址存儲(chǔ)器設(shè)備。
      2. 根據(jù)權(quán)利要求l所述的外圍處理器,其中所迷數(shù)據(jù)存儲(chǔ)設(shè)備包括先 入先出設(shè)備。
      3. 根據(jù)權(quán)利要求l所述的外圍處理器,進(jìn)一步包括耦合到所述第一三 重內(nèi)容可尋址存儲(chǔ)器和所述第二三重內(nèi)容可尋址存儲(chǔ)器的第 一和第二處理 器;以及包括都和所述數(shù)據(jù)路徑通信的第一和第二數(shù)據(jù)存儲(chǔ)設(shè)備。
      4. 一種集成電路上的通用外圍處理器體系結(jié)構(gòu),包括 第一數(shù)據(jù)總線和第二數(shù)據(jù)總線,其中所述第一數(shù)據(jù)總線耦合到配置為狀態(tài)機(jī)的第一三重內(nèi)容可尋址存儲(chǔ)器接口邏輯設(shè)備,并且所述第二數(shù)據(jù)總 線耦合到配置為狀態(tài)機(jī)的第二三重內(nèi)容可尋址存儲(chǔ)器接口邏輯設(shè)備,其中 所述第一和第二三重內(nèi)容可尋址存儲(chǔ)器使能所述笫一和第二數(shù)據(jù)總線之間 的通信,包括使能多個(gè)信令協(xié)議的接口 ;用于管理所述集成電路上的控制功能的處理器,其通過數(shù)據(jù)路徑耦合 到所述笫一三重內(nèi)容可尋址存儲(chǔ)器和所述第二三重內(nèi)容可尋址存儲(chǔ)器,其 中所述數(shù)據(jù)路徑與耦合到第二數(shù)據(jù)存儲(chǔ)設(shè)備的笫一數(shù)據(jù)存儲(chǔ)設(shè)備通信;以及數(shù)據(jù)控制路徑,其使能所述第一和第二數(shù)據(jù)存儲(chǔ)設(shè)備、所述處理器和 所述第 一和第二三重內(nèi)容可尋址存儲(chǔ)器接口邏輯設(shè)備之間的通信,并且耦 合到所述第一和第二數(shù)據(jù)存儲(chǔ)設(shè)備、所述處理器和所述第一和第二三重內(nèi) 容可尋址存儲(chǔ)器接口邏輯設(shè)備,并且所述第一和第二三重內(nèi)容可尋址存儲(chǔ) 器適用于處理器之間的使用預(yù)定義協(xié)議的接口 。
      5. 根據(jù)權(quán)利要求4所述的外圍處理器,進(jìn)一步包括多個(gè)三重內(nèi)容可尋 址存儲(chǔ)器,這些三重內(nèi)容可尋址存儲(chǔ)器彼此通信且與多個(gè)處理器通信。
      6. 根據(jù)權(quán)利要求4所述的外圍處理器,包括多個(gè)先入先出設(shè)備,其與 所述第一和第二數(shù)據(jù)總線通信。
      7. 根據(jù)權(quán)利要求4所述的外圍處理器,進(jìn)一步包括至少兩個(gè)時(shí)鐘域和 多個(gè)元穩(wěn)定性設(shè)備,其與處理器通信以提供所述時(shí)鐘域與所述處理器之間 的接口。
      8. —種集成電路上的通用外圍處理器體系結(jié)構(gòu),包括 第一數(shù)據(jù)總線和第二數(shù)據(jù)總線,其與笫一三重內(nèi)容可尋址存儲(chǔ)器和第二三重內(nèi)容可尋址存儲(chǔ)器通信,其中所述第一和第二接口邏輯設(shè)備使能所 述第 一和第二數(shù)據(jù)總線之間的通信,包括使能多個(gè)信令協(xié)議的接口 ;第一處理器和第二處理器,所述第一處理器用于管理所述集成電路上 的控制功能,并耦合到所述第一三重內(nèi)容可尋址存儲(chǔ)器,所述第二處理器 用于管理所述集成電路上的控制功能,并耦合到所述第二三重內(nèi)容可尋址 存儲(chǔ)器;第 一數(shù)據(jù)存儲(chǔ)設(shè)備和第二數(shù)據(jù)存儲(chǔ)設(shè)備,所述第 一數(shù)據(jù)存儲(chǔ)設(shè)備與所 述第一處理器通信,所述第二數(shù)據(jù)存儲(chǔ)設(shè)備與所述第二處理器通信,所述 第 一和第二數(shù)據(jù)存儲(chǔ)設(shè)備都耦合到所述第 一數(shù)據(jù)總線和所述第二數(shù)據(jù)總線 并且彼此通信;數(shù)據(jù)控制路徑,其使能所述第一和第二數(shù)據(jù)存儲(chǔ)設(shè)備、所述第一和第 二處理器以及所述第一和第二三重內(nèi)容可尋址存儲(chǔ)器之間的通信,并且耦 合到所述第一和第二數(shù)據(jù)存儲(chǔ)設(shè)備、所述第一和第二處理器以及所迷第一和第二三重內(nèi)容可尋址存儲(chǔ)器;所述第一三重內(nèi)容可尋址存儲(chǔ)器配置為狀態(tài)機(jī)并且耦合到所述第一數(shù) 據(jù)存儲(chǔ)設(shè)備,所述第一三重內(nèi)容可尋址存儲(chǔ)器適用于所述第一處理器和所 述第一數(shù)據(jù)總線之間的使用第一預(yù)定義協(xié)議的接口;以及所述第二三重內(nèi)容可尋址存儲(chǔ)器配置為狀態(tài)機(jī)并且耦合到所述第二數(shù) 據(jù)存儲(chǔ)設(shè)備,所述第二三重內(nèi)容可尋址存儲(chǔ)器適用于所述第二處理器和所 述第二數(shù)據(jù)總線之間的使用第二預(yù)定義協(xié)議的接口 。
      9. 根據(jù)權(quán)利要求8所述的外圍處理器,其中所述第一數(shù)據(jù)總線和所述 第一三重內(nèi)容可尋址存儲(chǔ)器在第一時(shí)鐘域中,而所述第二數(shù)據(jù)總線和所述 第二三重內(nèi)容可尋址存儲(chǔ)器在第二時(shí)鐘域中,并且至少一個(gè)元穩(wěn)定性設(shè)備 與所述第一和第二數(shù)據(jù)總線及所述第一和第二處理器通信并且提供所述第 一和第二數(shù)據(jù)總線與所述第一和第二處理器之間的接口。
      10. 根據(jù)權(quán)利要求8所述的外圍處理器,其中所述第一和第二數(shù)據(jù)存 儲(chǔ)設(shè)備分別包括第 一和第二先入先出設(shè)備。
      11. 根據(jù)權(quán)利要求8所述的外圍處理器,進(jìn)一步包括笫一和第二變換 器,用于分別提供所述第一和第二數(shù)據(jù)總線之間的數(shù)據(jù)變換,其中所述第 一和第二變換器分別經(jīng)由多個(gè)數(shù)據(jù)路徑與所述第 一和第二數(shù)據(jù)存儲(chǔ)設(shè)備通 信,并且分別經(jīng)由多個(gè)控制路徑與所述第一和第二處理器通信。
      12. 根據(jù)權(quán)利要求8所述的外圍處理器,其中所述第一和第二數(shù)據(jù)總 線彼此通信,并且經(jīng)由多個(gè)數(shù)據(jù)路徑與所述第一和第二存儲(chǔ)設(shè)備通信。
      13. —種使得集成電路上的外圍處理器能夠提供多個(gè)數(shù)據(jù)總線之間的 接口的方法,包括提供第一數(shù)據(jù)總線和第二數(shù)據(jù)總線,其中所述第一數(shù)據(jù)總線耦合到配 置為狀態(tài)機(jī)的第一三重內(nèi)容可尋址存儲(chǔ)器接口邏輯設(shè)備,并且所述第二數(shù) 據(jù)總線耦合到配置為狀態(tài)機(jī)的第二三重內(nèi)容可尋址存儲(chǔ)器接口邏輯設(shè)備, 以便使能所述第一和第二數(shù)據(jù)總線之間的通信;提供用于管理控制功能的處理器,所述處理器耦合到所述第一三重內(nèi) 容可尋址存儲(chǔ)器和所述第二三重內(nèi)容可尋址存儲(chǔ)器;提供數(shù)據(jù)路徑,所述數(shù)據(jù)路徑使能與耦合到第二數(shù)據(jù)存儲(chǔ)設(shè)備的第一數(shù)據(jù)存儲(chǔ)設(shè)備之間的數(shù)據(jù)傳送;提供第一控制路徑,其使能與所述第一數(shù)據(jù)存儲(chǔ)設(shè)備之間的通信并且 耦合到所述第 一數(shù)據(jù)存儲(chǔ)設(shè)備;提供第二控制路徑,其使能與所述第二數(shù)據(jù)存儲(chǔ)設(shè)備之間的通信并且 耦合到所述第二數(shù)據(jù)存儲(chǔ)設(shè)備;接收從所述處理器到所述第 一或第二三重內(nèi)容可尋址存儲(chǔ)器中的至少 一個(gè)的數(shù)據(jù),以提供所述處理器與所述第一和第二數(shù)據(jù)總線之間的使用預(yù) 定義協(xié)議的接口。
      14.根據(jù)權(quán)利要求13所述的方法,進(jìn)一步包括第一處理器和第二處理 器,其耦合到所述第一三重內(nèi)容可尋址存儲(chǔ)器和所述第二三重內(nèi)容可尋址 存儲(chǔ)器,并且所述第一三重內(nèi)容可尋址存儲(chǔ)器接收來自所述第一處理器的 數(shù)據(jù)而所述第二三重內(nèi)容可尋址存儲(chǔ)器接收來自所述第二處理器的數(shù)據(jù)。
      全文摘要
      一種輔助總線狀態(tài)轉(zhuǎn)變的處理器和方法。其中,一種集成電路(IC)上的通用外圍處理器體系結(jié)構(gòu)包括第一數(shù)據(jù)總線和第二數(shù)據(jù)總線,其與配置為狀態(tài)機(jī)的第一和第二三重內(nèi)容可尋址存儲(chǔ)器(TCAM)設(shè)備通信。第一和第二處理器耦合到第一總線接口邏輯和第二總線接口邏輯。第一和第二數(shù)據(jù)存儲(chǔ)設(shè)備與第一和第二處理器通信并且耦合到第一和第二數(shù)據(jù)總線并且彼此通信。TCAM設(shè)備被配置為狀態(tài)機(jī),并且耦合到處理器、數(shù)據(jù)存儲(chǔ)設(shè)備和總線接口邏輯,并且適用于與處理器、數(shù)據(jù)存儲(chǔ)設(shè)備和總線接口邏輯的使用預(yù)定義協(xié)議的接口。
      文檔編號(hào)G06F13/40GK101231627SQ20081000881
      公開日2008年7月30日 申請(qǐng)日期2008年1月24日 優(yōu)先權(quán)日2007年1月26日
      發(fā)明者C·R·奧格爾維, C·S·伍德拉夫, G·J·曼恩, J·M·諾曼, K·J·古德諾, P·A·山頓, S·布埃蒂, T·E·倫納德 申請(qǐng)人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1