專利名稱:具有可間接存取的存儲(chǔ)器的控制器的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)案的技術(shù)領(lǐng)域涉及具有可間接存取的存儲(chǔ)器的控制器。
背景技術(shù):
存在許多控制器,明確地說(shuō)獨(dú)立式控制器,所述控制器包含處理器由于相關(guān)聯(lián)接 口的地址大小的約束而不可直接存取的大存儲(chǔ)器。舉例來(lái)說(shuō),以太網(wǎng)控制器(明確地說(shuō),獨(dú) 立式以太網(wǎng)控制器)經(jīng)設(shè)計(jì)以充當(dāng)用于任何類型的微處理器或微控制器的以太網(wǎng)網(wǎng)絡(luò)接 口。此控制器可具有相當(dāng)大的存儲(chǔ)器且可包括專用接口,例如串行外圍設(shè)備接口(SPI)總 線。在一些實(shí)施例中,還可使用SPI總線或任何其它有能力的接口連接將此以太網(wǎng)控制器 集成于微控制器中。在以太網(wǎng)控制器的情況下,所述控制器處置所有通信協(xié)議且包含用于 中間存儲(chǔ)入局及出局消息的大緩沖器。微控制器或微處理器可接著經(jīng)由接口通信及控制 所述以太網(wǎng)控制器。獨(dú)立式或集成式以太網(wǎng)控制器處置入局及出局?jǐn)?shù)據(jù)包的協(xié)調(diào)以及包濾 波。所述以太網(wǎng)控制器可進(jìn)一步包含內(nèi)部直接存儲(chǔ)器存取(DMA)模塊以用于快速數(shù)據(jù)吞吐 量及硬件相關(guān)聯(lián)校驗(yàn)和計(jì)算。以太網(wǎng)控制器與微控制器或微處理器的通信可被建立為中斷 或輪詢驅(qū)動(dòng)式。如上所述,并入于此類型控制器中的緩沖器相對(duì)大,且因此由于相應(yīng)接口的通信 協(xié)議的地址大小限制而不可直接尋址。因此,通常經(jīng)由一組控制寄存器通過(guò)窗口化接口來(lái) 存取所述緩沖器。此一組控制寄存器包含用于待寫入或讀取的數(shù)據(jù)的寄存器以及含有緩沖 器的物理讀取或?qū)懭氲刂返闹辽僖粋€(gè)指針寄存器。然而,此存取方案可在當(dāng)前以太網(wǎng)控制 器中導(dǎo)致瓶頸,對(duì)于在讀取與寫入存取之間或在存取以太網(wǎng)緩沖器的不同任務(wù)之間頻繁切 換的操作尤其如此,使得每當(dāng)發(fā)生一切換時(shí)必須保存指針寄存器的內(nèi)容。
發(fā)明內(nèi)容
根據(jù)一實(shí)施例,一種控制器可包含接口 ;緩沖器存儲(chǔ)器;第一組寄存器,其用于 存取所述緩沖器存儲(chǔ)器;第二組寄存器,其獨(dú)立于所述第一組寄存器且用于存取所述緩沖 器存儲(chǔ)器;以及控制單元,其用于解碼并執(zhí)行通過(guò)所述接口接收的緩沖器存儲(chǔ)器存取命令 以通過(guò)所述第一或第二組寄存器存取所述緩沖器存儲(chǔ)器。根據(jù)又一實(shí)施例,所述第一組寄存器可包含第一讀取指針寄存器及第一寫入指針 寄存器,且所述第二組寄存器可包含第二讀取指針寄存器及第二寫入指針寄存器。根據(jù)又 一實(shí)施例,所述控制器可進(jìn)一步包含自動(dòng)遞增或自動(dòng)遞減單元,所述自動(dòng)遞增或自動(dòng)遞減 單元用于遞增或遞減所述第一及/或第二組寄存器中的至少一個(gè)寄存器的內(nèi)容。根據(jù)又一 實(shí)施例,所述控制器可進(jìn)一步包含環(huán)繞單元,所述環(huán)繞單元用于將所述第一及/或第二組 寄存器中的至少一個(gè)指針寄存器中所存儲(chǔ)的地址復(fù)位到預(yù)定義地址。根據(jù)又一實(shí)施例,所 述控制器可進(jìn)一步包含與每一指針寄存器耦合的至少一個(gè)多路復(fù)用器。根據(jù)又一實(shí)施例, 所述多路復(fù)用器進(jìn)一步可接收直接地址信號(hào)。根據(jù)又一實(shí)施例,所述控制器可進(jìn)一步包含 特殊功能寄存器,所述特殊功能寄存器用于在所述緩沖器存儲(chǔ)器中定義分裂地址,所述分
5裂地址將所述緩沖器存儲(chǔ)器分裂成被指派給所述第一組寄存器的第一段及被分配給所述 第二組寄存器的第二段。根據(jù)又一實(shí)施例,所述控制器可進(jìn)一步包含多個(gè)特殊功能寄存器, 所述多個(gè)特殊功能寄存器用于在所述緩沖器存儲(chǔ)器中定義被指派給每一組寄存器的存儲(chǔ) 器段。根據(jù)又一實(shí)施例,所述控制器可進(jìn)一步包含至少一第三組寄存器,所述至少一第三組 寄存器獨(dú)立于所述第一及第二組寄存器且用于存取所述緩沖器存儲(chǔ)器,其中所述第三組寄 存器包含第三讀取指針寄存器及第三寫入指針寄存器。根據(jù)又一實(shí)施例,所述控制器可以 是以太網(wǎng)控制器,且所述包緩沖器存儲(chǔ)器可與所述組寄存器耦合且可與所述以太網(wǎng)控制器 的發(fā)射及接收單元耦合。根據(jù)另一實(shí)施例,一種以太網(wǎng)控制器可包含物理層及媒體接入控制層;緩沖器 存儲(chǔ)器;物理與媒體接入控制層,其與所述緩沖器存儲(chǔ)器耦合;一組發(fā)射(TX)寄存器,其 與所述緩沖器存儲(chǔ)器耦合且包含第一讀取指針寄存器及第一寫入指針寄存器;一組接收 (RX)寄存器,其與所述緩沖器存儲(chǔ)器耦合且包含第二讀取指針寄存器及第二寫入指針寄存 器;一組用戶定義的寄存器,其與所述緩沖器存儲(chǔ)器耦合且包含第三讀取指針寄存器及第 三寫入指針寄存器;以及控制單元,其用于解碼并執(zhí)行通過(guò)接口接收的緩沖器存儲(chǔ)器存取 命令以通過(guò)所述發(fā)射、接收或用戶定義的寄存器來(lái)存取所述緩沖器存儲(chǔ)器。根據(jù)又一實(shí)施例,所述以太網(wǎng)控制器可進(jìn)一步包含自動(dòng)遞增或自動(dòng)遞減單元,所 述自動(dòng)遞增或自動(dòng)遞減單元用于遞增或遞減所述指針寄存器中任一者的內(nèi)容。根據(jù)又一實(shí) 施例,所述以太網(wǎng)控制器可進(jìn)一步包含環(huán)繞單元,所述環(huán)繞單元用于將所述指針寄存器中 的任一者中所存儲(chǔ)的地址復(fù)位到預(yù)定義開(kāi)始地址。根據(jù)又一實(shí)施例,所述以太網(wǎng)控制器可 進(jìn)一步包含與每一指針寄存器耦合的至少一個(gè)多路復(fù)用器。根據(jù)又一實(shí)施例,所述多路復(fù) 用器進(jìn)一步可接收直接地址信號(hào)。根據(jù)又一實(shí)施例,所述以太網(wǎng)控制器可進(jìn)一步包含特殊 功能寄存器,所述特殊功能寄存器用于在所述緩沖器存儲(chǔ)器中定義分裂地址,所述分裂地 址將所述緩沖器存儲(chǔ)器分裂成被指派給所述發(fā)射寄存器的第一段及被指派給所述接收寄 存器的第二段。根據(jù)又一實(shí)施例,所述以太網(wǎng)控制器可進(jìn)一步包含多個(gè)特殊功能寄存器,所 述多個(gè)特殊功能寄存器用于定義用于所述用戶定義的寄存器的存儲(chǔ)器段。根據(jù)又一實(shí)施 例,所述以太網(wǎng)控制器可進(jìn)一步包含多個(gè)特殊功能寄存器,所述多個(gè)特殊功能寄存器用于 在所述緩沖器存儲(chǔ)器中定義指派給每一組寄存器的存儲(chǔ)器段。根據(jù)再一實(shí)施例,一種用于通過(guò)具有有限尋址能力的接口存取控制器中的存儲(chǔ)器 的方法可包含以下步驟通過(guò)所述接口將所述存儲(chǔ)器的第一地址加載到第一組存取寄存器 中的第一地址寄存器中;通過(guò)所述接口將所述存儲(chǔ)器的第二地址加載到第二組存取寄存器 中的第二地址寄存器中;通過(guò)所述接口接收第一讀取命令;通過(guò)所述第一地址寄存器存取 所述存儲(chǔ)器且從所述存儲(chǔ)器中的所述第一地址接收第一數(shù)據(jù);通過(guò)所述接口輸出所述第一 數(shù)據(jù);通過(guò)所述接口接收第二讀取命令;通過(guò)所述第二地址寄存器存取所述存儲(chǔ)器且從所 述存儲(chǔ)器中的第二地址接收第二數(shù)據(jù);以及通過(guò)所述接口輸出所述第二數(shù)據(jù)。根據(jù)又一實(shí)施例,所述方法可進(jìn)一步包含在讀取所述存儲(chǔ)器之后自動(dòng)遞增或自動(dòng) 遞減所述第一及第二地址寄存器的步驟。根據(jù)又一實(shí)施例,所述方法可進(jìn)一步包含在自動(dòng) 遞增或自動(dòng)遞減之后對(duì)所述第一及第二地址寄存器執(zhí)行地址環(huán)繞功能的步驟。根據(jù)又一實(shí) 施例,所述方法可進(jìn)一步包含以下步驟通過(guò)所述接口將所述存儲(chǔ)器的第三地址加載到第 三組存取寄存器中的第三地址寄存器中;通過(guò)所述接口將所述存儲(chǔ)器的第三地址加載到第三組存取寄存器中的第三地址寄存器中;通過(guò)所述接口接收第三讀取命令;通過(guò)所述第三 地址寄存器存取所述存儲(chǔ)器且從所述存儲(chǔ)器的所述第三地址接收第三數(shù)據(jù);以及通過(guò)所述 接口輸出所述第三數(shù)據(jù)。根據(jù)再一實(shí)施例,一種用于通過(guò)具有有限尋址能力的接口存取控制器中的存儲(chǔ)器 的方法可包含以下步驟通過(guò)所述接口將第一地址加載到第一組存取寄存器中的第一地址 寄存器中;通過(guò)所述接口將第二地址加載到第二組存取寄存器中的第二地址寄存器中;通 過(guò)所述接口接收第一寫入命令;通過(guò)所述接口接收第一寫入數(shù)據(jù);通過(guò)所述第一地址寄存 器存取所述存儲(chǔ)器且將所述第一數(shù)據(jù)在所述第一地址下存儲(chǔ)到所述存儲(chǔ)器中;通過(guò)所述接 口接收第二寫入命令;通過(guò)所述接口接收第二寫入數(shù)據(jù);以及通過(guò)所述第二地址寄存器存 取所述存儲(chǔ)器并將所述第二數(shù)據(jù)在所述第二地址下存儲(chǔ)到所述存儲(chǔ)器中。根據(jù)又一實(shí)施例,所述方法可進(jìn)一步包含在讀取所述存儲(chǔ)器之后自動(dòng)遞增或自動(dòng) 遞減所述第一及第二地址寄存器的步驟。根據(jù)又一實(shí)施例,所述方法可進(jìn)一步包含在自動(dòng) 遞增或自動(dòng)遞減之后對(duì)所述第一及第二地址寄存器執(zhí)行地址環(huán)繞功能的步驟。根據(jù)又一實(shí) 施例,所述方法可進(jìn)一步包含以下步驟通過(guò)所述接口將第三地址加載到第三組存取寄存 器中的第三地址寄存器中;通過(guò)所述接口將第三地址加載到第三組存取寄存器中的第三地 址寄存器中;通過(guò)所述接口接收第三寫入命令;通過(guò)所述接口接收第三寫入數(shù)據(jù);以及通 過(guò)所述第三地址寄存器存取所述存儲(chǔ)器并將所述第三數(shù)據(jù)在所述第三地址下存儲(chǔ)到所述 存儲(chǔ)器中。所屬領(lǐng)域的技術(shù)人員依據(jù)以下圖、描述及上述權(quán)利要求書將易于明了本發(fā)明的其 它技術(shù)優(yōu)點(diǎn)。本申請(qǐng)案的各種實(shí)施例僅可獲得所闡明的優(yōu)點(diǎn)的子集。沒(méi)有一個(gè)優(yōu)點(diǎn)對(duì)于所 述實(shí)施例是決定性的。
可通過(guò)參考以下結(jié)合附圖所做的描述獲取對(duì)本發(fā)明及其優(yōu)點(diǎn)的更完整理解,在所 述附圖中相同參考編號(hào)指示相同特征,且其中圖1是在獨(dú)立式以太網(wǎng)控制器或微控制器的集成式模塊中使用的以太網(wǎng)控制器 模塊的框圖;圖2圖解說(shuō)明緩沖器存取邏輯的實(shí)施例;圖3圖解說(shuō)明緩沖器存取邏輯的另一實(shí)施例。圖4圖解說(shuō)明緩沖器存取邏輯的又一實(shí)施例。圖5圖解說(shuō)明根據(jù)實(shí)施例的緩沖器內(nèi)的可變塊指派。雖然已參考本發(fā)明的實(shí)例性實(shí)施例描繪、描述及界定了本發(fā)明的各實(shí)施例,但此 參考并不暗示對(duì)本發(fā)明的限制,且不應(yīng)推斷出存在此限制。所揭示的標(biāo)的物能夠在形式及 功能上具有大量修改、更改及等效形式,所屬領(lǐng)域的技術(shù)人員根據(jù)本發(fā)明將會(huì)聯(lián)想到所述 修改、更改及等效形式并受益于本發(fā)明。所描繪及所描述的本發(fā)明的各實(shí)施例僅作為實(shí)例, 而并非是對(duì)本發(fā)明的范圍的窮盡說(shuō)明。
具體實(shí)施例方式一般來(lái)說(shuō),可集成于微控制器中的此獨(dú)立式控制器具有接口,所述接口具有有限地址能力。舉例來(lái)說(shuō),典型的8位串行接口將需要多個(gè)地址發(fā)射以形成能夠在大緩沖器存 儲(chǔ)器中尋址每一個(gè)存儲(chǔ)器位置的長(zhǎng)地址。因此,通過(guò)此接口的直接存取將形成瓶頸且使得 發(fā)射速率顯著地減慢。因此,此等模塊包含窗口化存取機(jī)構(gòu),其中使用地址寄存器來(lái)提供實(shí) 際地址。在多數(shù)應(yīng)用(例如,以太網(wǎng)控制器)中,地址寄存器通常僅必須設(shè)定一次,因?yàn)閷?duì) 此大緩沖器的存取通常是有順序的。換句話說(shuō),一旦已存取特定存儲(chǔ)器位置,便需要遞增或 遞減所述地址,此取決于用以存取下一存儲(chǔ)器位置的寫入機(jī)構(gòu)。此遞增或遞減功能可在無(wú) 外部處理器支持的情況下由控制器自動(dòng)地處置。因此,針對(duì)讀取及寫入存取,實(shí)施自動(dòng)遞增 及/或自動(dòng)遞減功能性。微控制器需要通過(guò)串行接口起始地址寄存器一次且接著每當(dāng)需要 存取到緩沖器時(shí)僅需要發(fā)送讀取或?qū)懭朊?。相?yīng)的以太網(wǎng)模塊或控制器接著通過(guò)從存儲(chǔ) 器發(fā)送相應(yīng)數(shù)據(jù)或?qū)⑾鄳?yīng)數(shù)據(jù)接收到存儲(chǔ)器、通過(guò)遞增或遞減指針寄存器以及通過(guò)等待下 一命令來(lái)回答此命令??蓪?shí)施例如塊讀取或塊寫入的其它命令,所述命令致使相應(yīng)控制器 從大緩沖器發(fā)射多個(gè)順序數(shù)據(jù)(舉例來(lái)說(shuō),一個(gè)或一個(gè)以上數(shù)據(jù)包)或?qū)⑺鲰樞驍?shù)據(jù)發(fā) 射到此大緩沖器。圖1顯示以太網(wǎng)控制器100的框圖,作為控制器的實(shí)施例,所述以太網(wǎng)控制器100 可以是獨(dú)立式以太網(wǎng)控制器或集成于(例如)微控制器中的以太網(wǎng)控制器模塊。以太網(wǎng)控 制器100包含具有發(fā)射及接收單元TX及RX的典型物理層(PHY) 170,所述發(fā)射及接收單元 TX及RX用于在網(wǎng)絡(luò)上發(fā)射及接收實(shí)際模擬數(shù)據(jù)。此物理層170與媒體接入控制(MAC)數(shù) 據(jù)鏈路層150耦合以用于實(shí)施實(shí)際以太網(wǎng)標(biāo)準(zhǔn)(IEEE 802. 3)。Mac層150與接收單元135 及發(fā)射單元145耦合,接收單元135及發(fā)射單元145可包括相應(yīng)的濾波器單元、流控制及主 機(jī)接口。以太網(wǎng)控制器還可包括直接存儲(chǔ)器存取(DMA)控制器140,其能夠執(zhí)行(例如)校 驗(yàn)和評(píng)估。仲裁器130可經(jīng)實(shí)施以切換實(shí)際緩沖器125與模塊120、135、140及145之間的 耦合??刂萍拇嫫?20與總線接口 115及串行或并行接口 105耦合。所述串行接口可以是 (例如)SPI接口或任何其它適合的電路間接口??偩€接口 115可提供額外中斷信號(hào)以提供 對(duì)以太網(wǎng)控制器100的額外控制。以太網(wǎng)控制器100可由系統(tǒng)控制單元110在內(nèi)部控制, 所述系統(tǒng)控制單元110控制以太網(wǎng)控制器100的相應(yīng)單元。系統(tǒng)控制單元110從串行或并 行接口 105接收命令并提供對(duì)這些命令的解碼。所述命令可提供對(duì)至少一些或所有寄存器 的讀取及寫入并用于執(zhí)行相應(yīng)控制器的功能。明確地說(shuō),系統(tǒng)控制110可提供相應(yīng)控制序 列以執(zhí)行對(duì)緩沖器125的讀取及寫入存取,如下文將更詳細(xì)地解釋。時(shí)鐘單元160提供所 需的以太網(wǎng)發(fā)射時(shí)鐘信號(hào)。圖2顯示具有窗口存取存儲(chǔ)器的任何類型控制器的另一實(shí)施例的特定區(qū)段200的 某些細(xì)節(jié)。在此實(shí)施例中,提供用于微控制器或微處理器的多個(gè)接口。由SPI接口 210提 供第一接口,且由并行接口 220提供第二接口。兩個(gè)接口可能在其地址能力上受到限制且 因此需要窗口化存儲(chǔ)器存取。兩個(gè)接口與通過(guò)信號(hào)215控制的多路復(fù)用器230耦合,信號(hào) 215可從外部供應(yīng)。因此,裝置200可借助并行或串行接口操作。多路復(fù)用器230的輸出耦 合到各種控制寄存器且耦合到另一多路復(fù)用器260的輸入。所述各種控制寄存器可包含一 組多個(gè)窗口存取寄存器250。此外,可提供其它緩沖器控制邏輯及/或寄存器。舉例來(lái)說(shuō), 此額外控制邏輯290可提供指針寄存器的自動(dòng)遞增及/或自動(dòng)遞減以及環(huán)繞功能性,且因 此,控制及管理緩沖器中的預(yù)定義存儲(chǔ)器段的邊界。舉例來(lái)說(shuō),讀取通道及寫入通道可指派 有緩沖器中的存儲(chǔ)器段。為避免通過(guò)數(shù)據(jù)從一個(gè)通道進(jìn)入到另一通道進(jìn)行的任何類型的蓋寫,這些邊界控制290可監(jiān)視存儲(chǔ)于相應(yīng)寄存器中的存取地址且在指針寄存器越過(guò)邊界的 情況下提供環(huán)繞功能性。然而,在其它實(shí)施例中,存儲(chǔ)器段還可重疊以允許增強(qiáng)的功能性。多路復(fù)用器260的輸出耦合到實(shí)際緩沖器125且還可任選地耦合到包含多個(gè)特殊 功能寄存器的控制寄存器塊270。此外,如由框280指示,可提供時(shí)鐘及復(fù)位邏輯。窗口存 取寄存器250可包括三組數(shù)據(jù)/指針寄存器。每一數(shù)據(jù)/指針寄存器組可包含單獨(dú)的讀取 及寫入指針寄存器且還可包括數(shù)據(jù)寄存器或鎖存器。在一些實(shí)施例中,例如鎖存器的數(shù)據(jù) 寄存器可能并非必要的且可將數(shù)據(jù)輸入輸出直接路由到系統(tǒng)的相應(yīng)數(shù)據(jù)總線。在其它實(shí)施 例中,可僅提供兩組寄存器或多于3組的寄存器。圖3顯示根據(jù)實(shí)施例的三個(gè)寄存器組的一個(gè)可能實(shí)施方案的更多細(xì)節(jié)。第一組寄 存器專用于第一通道,舉例來(lái)說(shuō),發(fā)射通道TX。其可包含數(shù)據(jù)寄存器或鎖存器310。然而, 如由虛線所指示,此寄存器可僅表示包緩沖器125內(nèi)的存儲(chǔ)器映射地址,所述存儲(chǔ)器映射 地址致使從SPI/并行接口 210/220傳送去往緩沖器125的數(shù)據(jù)/將來(lái)自緩沖器125的數(shù) 據(jù)傳送到SPI/并行接口 210/220。每一組寄存器包含寫入指針寄存器315及讀取指針寄存 器320。在一個(gè)實(shí)施例中,讀取及寫入指針寄存器315及320可與多路復(fù)用器325耦合,多 路復(fù)用器325輸出被饋送到多路復(fù)用器380的第一輸入的地址信號(hào)327。從包緩沖器125 接收數(shù)據(jù)310。類似地,第二組寄存器專用于第二通道,舉例來(lái)說(shuō),接收通道RX。其包含寫 入指針寄存器335及讀取指針寄存器340。同樣,取決于各種設(shè)計(jì)選擇,可實(shí)施數(shù)據(jù)鎖存器 330。讀取及寫入指針寄存器335及340與多路復(fù)用器345耦合,多路復(fù)用器345輸出被饋 送到多路復(fù)用器380的第二輸入的地址信號(hào)347。如果實(shí)施了數(shù)據(jù)鎖存器330,那么將其與 包緩沖器125耦合以用于數(shù)據(jù)輸入/輸出。最后,第三組寄存器專用于第三通道,舉例來(lái)說(shuō), 提供用戶定義的存取。所述組包含寫入指針寄存器355及讀取指針寄存器360。任選地,其 同樣可包含數(shù)據(jù)鎖存器350。讀取及寫入指針寄存器355及360與多路復(fù)用器365耦合,多 路復(fù)用器365輸出被饋送到多路復(fù)用器380的第三輸入的地址信號(hào)367。數(shù)據(jù)鎖存器350 可與包緩沖器125的數(shù)據(jù)端口直接耦合。多路復(fù)用器380還可具有用于提供直接地址的第 四輸入。多路復(fù)用器380的輸出信號(hào)用于尋址緩沖器125。在相應(yīng)包緩沖器輸出處提供輸 出數(shù)據(jù)。圖4顯示具有單個(gè)多路復(fù)用器410的第二實(shí)施例。多路復(fù)用器410具有7個(gè)輸入 并選擇這些輸入中的一者用于尋址包緩沖器125。三個(gè)寄存器組中的每一者提供寫入及讀 取地址。此外,可繞過(guò)由三個(gè)寄存器組提供的間接尋址而提供直接地址。在此實(shí)施例中,在 無(wú)任何介入鎖存器的情況下,將數(shù)據(jù)輸入/輸出直接路由到相應(yīng)數(shù)據(jù)總線。然而,根據(jù)其它 實(shí)施例,可個(gè)別地或針對(duì)所有間接寄存器組提供數(shù)據(jù)鎖存器。由外部處理器發(fā)送到控制器的讀取命令致使系統(tǒng)控制執(zhí)行步驟序列以給外部處 理器提供所請(qǐng)求的數(shù)據(jù)。為此,所述系統(tǒng)控制使用指定的寄存器組來(lái)存取緩沖器。每一寄 存器組可具有專用讀取及寫入命令或?qū)S眉拇嫫饔成涞刂贰H欢?,在另一?shí)施例中,可使用 特殊功能寄存器來(lái)定義待使用的寄存器組。其它命令可致使提供多個(gè)數(shù)據(jù)的塊讀取或包讀 取。系統(tǒng)控制單元110通過(guò)解譯及執(zhí)行經(jīng)定義命令的狀態(tài)機(jī)或小控制器單元來(lái)提供相應(yīng)功 能性。常規(guī)窗口化緩沖器存取系統(tǒng)僅提供單個(gè)寄存器組,所述單個(gè)寄存器組包含一讀取 /寫入指針寄存器或一個(gè)單獨(dú)的讀取指針寄存器及一個(gè)寫入指針寄存器。每一讀取或?qū)懭胫羔樛ǔJ亲詣?dòng)遞增或自動(dòng)遞減的。因此,至少在發(fā)生需要存取到緩沖器的不同部分的任 務(wù)切換時(shí)的任何時(shí)間,存取控制器首先必需保存至少所述指針寄存器的內(nèi)容。此外,每一讀 取及寫入寄存器可僅存取緩沖器的預(yù)定義區(qū)域。舉例來(lái)說(shuō),可將緩沖器分段成用于接收通 道RX的區(qū)域及用于發(fā)射通道TX的區(qū)域。這些區(qū)域可不重疊且因此取決于哪一通道為活動(dòng) 的,必需將單個(gè)地址指針寄存器組和所述通道的相應(yīng)邊界進(jìn)行比較。根據(jù)一實(shí)施例,用于對(duì)緩沖器的窗口化存取的存取電路包含多個(gè)獨(dú)立寄存器組, 其中每一組包含單獨(dú)數(shù)據(jù)寄存器以及相關(guān)聯(lián)的讀取及寫入指針寄存器。在一個(gè)實(shí)施例中, 可提供用于讀取及寫入通道的單獨(dú)寄存器組。每一寄存器組可包含用于控制邊界的獨(dú)立控 制邏輯。舉例來(lái)說(shuō),如針對(duì)發(fā)射通道所示,發(fā)射寫入指針邊界控制單元317可與寄存器315 耦合。此邊界控制單元317可包括自動(dòng)遞增及/或自動(dòng)遞減邏輯以及比較邏輯,所述比較 邏輯用以將寄存器315的內(nèi)容與預(yù)定義或可編程邊界進(jìn)行比較。在一個(gè)實(shí)施例中,此控制 單元317可在邊界出現(xiàn)交叉時(shí)產(chǎn)生中斷或可將地址復(fù)位到預(yù)定義或可編程的段開(kāi)始地址, 借此提供環(huán)繞功能性。在后一情況下,指針寄存器315可提供先進(jìn)先出(FIFO)寄存器的功 能性。可為讀取指針寄存器320提供單獨(dú)控制單元322。然而,每一組的寄存器可僅提供 單個(gè)邊界控制單元,其對(duì)讀取及寫入指針寄存器315及320兩者起作用。雖然未顯示,但可 為讀取控制寄存器組330到340及用戶定義的存取寄存器組350到360提供類似單元。多 路復(fù)用器380由接口或系統(tǒng)控制單元110控制且選擇適當(dāng)輸出以將緩沖器125與單個(gè)組的 控制寄存器耦合。圖5顯示預(yù)定義或可編程段的實(shí)例。舉例來(lái)說(shuō),可將緩沖器125劃分成兩個(gè)主要 的非重疊段A及B。然而,在其它實(shí)施例中,還可將所述段定義為重疊。第一地址347指向 預(yù)定義邊界A內(nèi)的用于接收通道的任何地址。在此實(shí)施例中,使用單個(gè)控制單元510來(lái)控 制寄存器335及340。此控制寄存器可在對(duì)緩沖器125的存取已完成之后自動(dòng)遞增或遞減 寄存器的內(nèi)容。此外,單元510可提供相應(yīng)地址的邊界檢查且在地址的遞增將導(dǎo)致進(jìn)入到 段B中的跨接的情況下將寄存器復(fù)位到段A的開(kāi)始地址。類似地,控制單元520可針對(duì)發(fā) 射通道以及寄存器315及320提供相同功能性??商峁┨厥夤δ芗拇嫫饕远x段A及B,舉 例來(lái)說(shuō),寄存器可包含將緩沖器125劃分成兩個(gè)段的分裂地址。然而,在其它實(shí)施例中,可 自由地編程這些段的邊界。此外,可提供額外特殊功能寄存器以定義用戶定義的地址段C, 如圖4中所示。此用戶定義的段可與一個(gè)或兩個(gè)段重疊。用戶定義的控制單元530還可提 供與單元510及520類似的功能性。歸因于發(fā)射通道及讀取通道以及另一用戶定義的存取 包含單獨(dú)存取寄存器的事實(shí),可簡(jiǎn)化相應(yīng)控制邏輯,因?yàn)閮H必需比較單個(gè)邊界地址。此外, 這些通道之間的切換不需要必須保存這些寄存器的內(nèi)容,因此,僅在某些情形下必須保存 這些寄存器。此允許減少的軟件額外負(fù)擔(dān)且避免針對(duì)這些指針寄存器的任何計(jì)時(shí)問(wèn)題。如圖4中的進(jìn)一步顯示,根據(jù)另一實(shí)施例,可通過(guò)寄存器塊515提供額外特殊功能 寄存器。一個(gè)寄存器DATAL0W可通過(guò)將地址347與單元135(參見(jiàn)圖1)中的相應(yīng)指針進(jìn)行 比較來(lái)指示段中的未讀取數(shù)據(jù)的電平。預(yù)定義閾值可產(chǎn)生中斷以用信號(hào)通知緩沖器125中 的數(shù)據(jù)的低電平。類似地,可通過(guò)寄存器DATAHIGH指示數(shù)據(jù)的高電平。同樣,此寄存器可 在向微控制器或處理器指示超出高閾值電平而必須讀取緩沖器以防止溢流的情況下產(chǎn)生 中斷??商峁┯煽湛刂萍拇嫫髦甘镜钠渌拇嫫鳎e例來(lái)說(shuō),其在一段內(nèi)包含可產(chǎn)生中斷的
10某些絕對(duì)邊界地址。然而,可提供與地址指針信號(hào)327、347及367相關(guān)聯(lián)的其它特殊功能。在其它實(shí)施例中,可將緩沖器125劃分成多于2個(gè)段??稍趩卧?35及145 (參見(jiàn) 圖1)中指派特定包濾波器以提供被指派給那些段的相應(yīng)發(fā)射及接收功能性。舉例來(lái)說(shuō),每 一濾波器可僅從經(jīng)指派的段讀取或?qū)懭?。單?35及145可提供相同的環(huán)繞功能性,因此, 形成相應(yīng)的FIFO寄存器??商峁┝硪豢刂七壿嬕酝ㄟ^(guò)將單元135、145與窗口存取寄存器 250的相應(yīng)地址指針進(jìn)行比較來(lái)防止未讀取數(shù)據(jù)的蓋寫。本發(fā)明并非局限于以太網(wǎng)控制器,而是可應(yīng)用于任何類型的獨(dú)立式控制器或具有 可經(jīng)由相應(yīng)指針寄存器間接存取的存儲(chǔ)器的可集成控制器。
權(quán)利要求
一種控制器,其包含接口;緩沖器存儲(chǔ)器;第一組寄存器,其用于存取所述緩沖器存儲(chǔ)器;第二組寄存器,其獨(dú)立于所述第一組寄存器且用于存取所述緩沖器存儲(chǔ)器;以及控制單元,其用于解碼并執(zhí)行通過(guò)所述接口接收的緩沖器存儲(chǔ)器存取命令以通過(guò)所述第一或第二組寄存器來(lái)存取所述緩沖器存儲(chǔ)器。
2.根據(jù)權(quán)利要求1所述的控制器,其中所述第一組寄存器包含第一讀取指針寄存器及 第一寫入指針寄存器,且所述第二組寄存器包含第二讀取指針寄存器及第二寫入指針寄存器。
3.根據(jù)權(quán)利要求1所述的控制器,其進(jìn)一步包含自動(dòng)遞增或自動(dòng)遞減單元,所述自動(dòng) 遞增或自動(dòng)遞減單元用于遞增或遞減所述第一及/或第二組寄存器中的至少一個(gè)寄存器 的內(nèi)容。
4.根據(jù)權(quán)利要求1所述的控制器,其進(jìn)一步包含環(huán)繞單元,所述環(huán)繞單元用于將所述 第一及/或第二組寄存器中的至少一個(gè)寄存器中所存儲(chǔ)的地址復(fù)位到預(yù)定義地址。
5.根據(jù)權(quán)利要求2所述的控制器,其進(jìn)一步包含與每一指針寄存器耦合的至少一個(gè)多 路復(fù)用器。
6.根據(jù)權(quán)利要求5所述的控制器,其中所述多路復(fù)用器進(jìn)一步接收直接地址信號(hào)。
7.根據(jù)權(quán)利要求1所述的控制器,其進(jìn)一步包含特殊功能寄存器,所述特殊功能寄存 器用于在所述緩沖器存儲(chǔ)器中定義分裂地址,所述分裂地址將所述緩沖器存儲(chǔ)器分裂成被 指派給所述第一組寄存器的第一段及被指派給所述第二組寄存器的第二段。
8.根據(jù)權(quán)利要求1所述的控制器,其進(jìn)一步包含多個(gè)特殊功能寄存器,所述多個(gè)特殊 功能寄存器用于在所述緩沖器存儲(chǔ)器中定義被指派給每一組寄存器的存儲(chǔ)器段。
9.根據(jù)權(quán)利要求1所述的控制器,其進(jìn)一步包含至少第三組寄存器,所述至少第三組 寄存器獨(dú)立于所述第一及第二組寄存器且用于存取所述緩沖器存儲(chǔ)器,其中所述第三組寄 存器包含第三讀取指針寄存器及第三寫入指針寄存器。
10.一種以太網(wǎng)控制器,其包含物理層及媒體接入控制層;緩沖器存儲(chǔ)器,其與所述物理及媒體接入控制層耦合;一組發(fā)射(TX)寄存器,其與所述緩沖器存儲(chǔ)器耦合且包含第一讀取指針寄存器及第 一寫入指針寄存器;一組接收(RX)寄存器,其與所述緩沖器存儲(chǔ)器耦合且包含第二讀取指針寄存器及第 二寫入指針寄存器;一組用戶定義的寄存器,其與所述緩沖器存儲(chǔ)器耦合且包含第三讀取指針寄存器及第 三寫入指針寄存器;以及控制單元,其用于解碼并執(zhí)行通過(guò)接口接收的緩沖器存儲(chǔ)器存取命令以通過(guò)所述發(fā) 射、接收或用戶定義的寄存器來(lái)存取所述緩沖器存儲(chǔ)器。
11.根據(jù)權(quán)利要求10所述的以太網(wǎng)控制器,其進(jìn)一步包含自動(dòng)遞增或自動(dòng)遞減單元, 所述自動(dòng)遞增或自動(dòng)遞減單元用于遞增或遞減所述指針寄存器中任一者的內(nèi)容。
12.根據(jù)權(quán)利要求10所述的以太網(wǎng)控制器,其進(jìn)一步包含環(huán)繞單元,所述環(huán)繞單元用 于將所述指針寄存器中的任一者中所存儲(chǔ)的地址復(fù)位到預(yù)定義開(kāi)始地址。
13.根據(jù)權(quán)利要求10所述的以太網(wǎng)控制器,其進(jìn)一步包含與每一指針寄存器耦合的至 少一個(gè)多路復(fù)用器。
14.根據(jù)權(quán)利要求13所述的以太網(wǎng)控制器,其中所述多路復(fù)用器進(jìn)一步接收直接地址信號(hào)。
15.根據(jù)權(quán)利要求10所述的以太網(wǎng)控制器,其進(jìn)一步包含特殊功能寄存器,所述特殊 功能寄存器用于在所述緩沖器存儲(chǔ)器中定義分裂地址,所述分裂地址將所述緩沖器存儲(chǔ)器 分裂成被指派給所述發(fā)射寄存器的第一段及被指派給所述接收寄存器的第二段。
16.根據(jù)權(quán)利要求15所述的以太網(wǎng)控制器,其進(jìn)一步包含多個(gè)特殊功能寄存器,所述 多個(gè)特殊功能寄存器用于為所述用戶定義的寄存器定義存儲(chǔ)器段。
17.根據(jù)權(quán)利要求10所述的以太網(wǎng)控制器,其進(jìn)一步包含多個(gè)特殊功能寄存器,所述 多個(gè)特殊功能寄存器用于在所述緩沖器存儲(chǔ)器中定義被指派給每一組寄存器的存儲(chǔ)器段。
18.一種用于通過(guò)具有有限尋址能力的接口存取控制器中的存儲(chǔ)器的方法,所述方法 包含以下步驟通過(guò)所述接口將所述存儲(chǔ)器的第一地址加載到第一組存取寄存器中的第一地址寄存 器中;通過(guò)所述接口將所述存儲(chǔ)器的第二地址加載到第二組存取存儲(chǔ)器中的第二地址寄存 器中;通過(guò)所述接口接收第一讀取命令;通過(guò)所述第一地址寄存器存取所述存儲(chǔ)器且從所述存儲(chǔ)器中的所述第一地址接收第 一數(shù)據(jù);通過(guò)所述接口輸出所述第一數(shù)據(jù);通過(guò)所述接口接收第二讀取命令;通過(guò)所述第二地址寄存器存取所述存儲(chǔ)器且從所述存儲(chǔ)器中的所述第二地址接收第 二數(shù)據(jù);以及通過(guò)所述接口輸出所述第二數(shù)據(jù)。
19.根據(jù)權(quán)利要求18所述的方法,其進(jìn)一步包含在讀取所述存儲(chǔ)器之后自動(dòng)遞增或遞 減所述第一及第二地址寄存器的步驟。
20.根據(jù)權(quán)利要求19所述的方法,其進(jìn)一步包含在自動(dòng)遞增或自動(dòng)遞減之后對(duì)所述第 一及第二地址寄存器執(zhí)行地址環(huán)繞功能的步驟。
21.根據(jù)權(quán)利要求18所述的方法,其進(jìn)一步包含以下步驟通過(guò)所述接口將所述存儲(chǔ)器的第三地址加載到第三組存取寄存器中的第三地址寄存 器中;通過(guò)所述接口將所述存儲(chǔ)器的第三地址加載到第三組存取寄存器中的第三地址寄存 器中;通過(guò)所述接口接收第三讀取命令;通過(guò)所述第三地址寄存器存取所述存儲(chǔ)器且從所述存儲(chǔ)器中的所述第三地址接收第 三數(shù)據(jù);以及通過(guò)所述接口輸出所述第三數(shù)據(jù)。
22.一種用于通過(guò)具有有限尋址能力的接口存取控制器中的存儲(chǔ)器的方法,所述方法 包含以下步驟通過(guò)所述接口將第一地址加載到第一組存取寄存器中的第一地址寄存器中; 通過(guò)所述接口將第二地址加載到第二組存取寄存器中的第二地址寄存器中; 通過(guò)所述接口接收第一寫入命令; 通過(guò)所述接口接收第一寫入數(shù)據(jù);通過(guò)所述第一地址寄存器存取所述存儲(chǔ)器,且將所述第一數(shù)據(jù)在所述第一地址下存儲(chǔ) 到所述存儲(chǔ)器中;通過(guò)所述接口接收第二寫入命令; 通過(guò)所述接口接收第二寫入數(shù)據(jù);以及通過(guò)所述第二地址寄存器存取所述存儲(chǔ)器,且將所述第二數(shù)據(jù)在所述第二地址下存儲(chǔ) 到所述存儲(chǔ)器中。
23.根據(jù)權(quán)利要求22所述的方法,其進(jìn)一步包含在讀取所述存儲(chǔ)器之后自動(dòng)遞增或自 動(dòng)遞減所述第一及第二地址寄存器的步驟。
24.根據(jù)權(quán)利要求23所述的方法,其進(jìn)一步包含在自動(dòng)遞增或自動(dòng)遞減之后對(duì)所述第 一及第二地址寄存器執(zhí)行地址環(huán)繞功能的步驟。
25.根據(jù)權(quán)利要求22所述的方法,其進(jìn)一步包含以下步驟通過(guò)所述接口將第三地址加載到第三組存取寄存器中的第三地址寄存器中; 通過(guò)所述接口將第三地址加載到第三組存取寄存器中的第三地址寄存器中; 通過(guò)所述接口接收第三寫入命令; 通過(guò)所述接口接收第三寫入數(shù)據(jù);以及通過(guò)所述第三地址寄存器存取所述存儲(chǔ)器,且將所述第三數(shù)據(jù)在所述第三地址下存儲(chǔ) 到所述存儲(chǔ)器中。
全文摘要
一種控制器具有接口;緩沖器存儲(chǔ)器;第一組寄存器,其用于存取所述緩沖器存儲(chǔ)器;第二組寄存器,其獨(dú)立于所述第一組寄存器且用于存取所述緩沖器存儲(chǔ)器;以及控制單元,其用于解碼并執(zhí)行通過(guò)所述接口接收的緩沖器存儲(chǔ)器存取命令以通過(guò)所述第一或第二組寄存器來(lái)存取所述緩沖器存儲(chǔ)器。
文檔編號(hào)G06F13/10GK101855623SQ200880115788
公開(kāi)日2010年10月6日 申請(qǐng)日期2008年11月21日 優(yōu)先權(quán)日2007年11月21日
發(fā)明者邁克爾·西蒙斯, 霍華德·亨利·施倫德 申請(qǐng)人:密克羅奇普技術(shù)公司