欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

簡單直接存儲器存取中的外圍供應(yīng)尋址的制作方法

文檔序號:6455736閱讀:155來源:國知局

專利名稱::簡單直接存儲器存取中的外圍供應(yīng)尋址的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及允許從源到目的地的靈活數(shù)據(jù)傳送的直接存儲器存取(DMA)控制器。
背景技術(shù)
:當(dāng)今的DMA控制器或模塊用于(例如)在兩個存儲器位置之間獨立地從中央處理單元(CPU)傳送數(shù)據(jù)。然而,常規(guī)DMA模塊通常并未構(gòu)建有復(fù)雜的尋址模式。不可能在不使DMA模塊明顯復(fù)雜化的情況下使源或目的地供應(yīng)及尋址DMA。
發(fā)明內(nèi)容根據(jù)一個實施例,一個或一個以上外圍設(shè)備供應(yīng)RAM中的地址的一部分。所述DMA中的寄存器選擇將外圍地址的哪些位用于尋址RAM以及哪些位由DMA通道提供。這些尋址模式的添加允許對RAM的非線性存取。例如,消息可被置于例如RAM的特定位置中或雙端口RAM緩沖器中,或者可從RAM內(nèi)的特定位置或雙端口RAM緩沖器讀取。結(jié)合附圖閱讀下文說明可更全面地理解本發(fā)明及其優(yōu)點,在附圖中圖l是外圍設(shè)備、DMA及存儲器的示意性框圖;圖2是DMA寄存器的示意性框圖3是經(jīng)配置以選擇性地允許外圍間接地址選擇的DMA通道的示意性框圖;圖4是經(jīng)配置以選擇性地允許外圍間接地址選擇的DMA通道的目的地側(cè)的示意性框圖5是存儲器尋址系統(tǒng)的示意性框圖;及圖6是DMA通道的另一實施例的示意性框圖。具體實施例方式因此,根據(jù)實施例,一種執(zhí)行直接存儲器存取的方法包含以下步驟通過直接存儲器存取控制器選擇用于執(zhí)行直接存儲器存取的外圍裝置;由外圍裝置給直接存儲器存取控制器提供部分地址;及通過在直接存儲器存取控制器內(nèi)組合部分地址與來自源寄存器的選定位來形成目的地地址。根據(jù)實施例,所述部分地址可以是源及/或目的地地址的最低有效位。根據(jù)實施例,所述部分地址的位數(shù)目可取決于選定的外圍裝置。根據(jù)實施例,所述部分地址的位數(shù)目可以是可編程的。根據(jù)實施例,當(dāng)選擇外圍裝置時,可自動地選擇部分地址的相應(yīng)位。根據(jù)另一實施例,一種執(zhí)行對存儲器的直接存取的方法包含以下步驟配置通道以接收來自外圍裝置的多個地址位;及基于來自外圍裝置的多個地址位及來自源或目的地寄存器的多個地址位挑選存儲器中的位置。根據(jù)實施例,控制寄存器可從外圍裝置的多個地址位中確定通道應(yīng)使用的地址位。根據(jù)實施例,來自外圍裝置的多個地址位可提供存儲器的位置中的通道偏移。根據(jù)實施例,源寄存器可供應(yīng)通道的開始及結(jié)束地址。根據(jù)實施例,源寄存器可以是DMA設(shè)置寄存器。根據(jù)實施例,控制寄存器可以是用戶可配置寄存器。根據(jù)實施例,可使用軟件來配置用戶可配置寄存器。根據(jù)實施例,根據(jù)實施例,控制寄存器可確定外圍地址的多個地址位以在源或目的地地址中使用。根據(jù)另一實施例,一種使用直接存儲器存取(DMA)來存取存儲器的方法包含以下步驟選擇來自外圍裝置的多個地址位;選擇來自指針寄存器的多個地址位;將來自外圍裝置的選定的多個地址位及來自指針的多個地址位插入到多路復(fù)用器中;及至少部分地基于由多路復(fù)用器選擇的多個地址位來挑選存儲器位置。根據(jù)實施例,存儲器位置可以是源或目的地地址路徑。根據(jù)實施例,指針寄存器可以是DMA通道中的寄存器。根據(jù)實施例,多路復(fù)用器可選擇部分地址且存儲器位置由部分地址及來自指針寄存器的其它位形成。根據(jù)另一實施例,直接存儲器存取(DMA)控制器可包含寄存器,其用于提供第一指針地址;輸入,其接收來自外圍裝置的部分地址;及合并器,其用于合并部分地址與由寄存器提供的位以形成第二指針地址。根據(jù)實施例,DMA控制器可進(jìn)一步包含接收部分地址及來自所述寄存器的多個位的多路復(fù)用器。根據(jù)實施例,DMA控制器可進(jìn)一步包含用于控制所述多路復(fù)用器的控制寄存器。根據(jù)實施例,DMA控制器可進(jìn)一步包含接收來自多個外圍裝置的多個部分地址的第一多路復(fù)用器。根據(jù)實施例,DMA控制器可進(jìn)一步包含接收來自所述第一多路復(fù)用器的選定的部分地址及來自所述寄存器的多個位的第二多路復(fù)用器。根據(jù)實施例,DMA控制器可進(jìn)一步包含多個多路復(fù)用器,其每一者接收來自多個外圍裝置的多個部分地址及來自所述寄存器的多個位;及控制寄存器,其用于控制所述多個多路復(fù)用器。根據(jù)實施例,DMA控制器可進(jìn)一步包含多個控制寄存器及一控制多路復(fù)用器,所述控制多路復(fù)用器用于選擇來自所述多個控制寄存器的控制信號以控制所述多個多路復(fù)用器,其中每一控制寄存器與外圍裝置相關(guān)聯(lián)?,F(xiàn)在參照圖式,圖中示意性地圖解說明本發(fā)明的實例性實施例的細(xì)節(jié)。圖式中的相同元件將由相同的編號來表示,且相似的元件將由帶有不同小寫字母后綴的相同編號來表示。圖1顯示包括以下三個主要組件的實例性系統(tǒng)裝置外圍設(shè)備、DMA模塊110及雙端口RAM模塊120。裝置外圍設(shè)備包括外圍模塊1051...N。外圍設(shè)備是數(shù)據(jù)的產(chǎn)生者(例如,UART接收)或數(shù)據(jù)的消費者(例如,UART傳輸),換句話說,所述外圍設(shè)備接收及/或傳輸數(shù)據(jù)。0]^八模塊110包括通道115()..,通常,每一通道經(jīng)配置以將外圍模塊u中的一者連接到雙端口RAM模塊120的數(shù)據(jù)輸入的范圍。然而,在其它實施例中,可使用任何其它類型的存儲器。在某些刺激下,DMA模塊110從源(外圍模塊115a,M中的一者)提取數(shù)據(jù),且將所述數(shù)據(jù)寫入到目的地,例如,雙端口RAM120。例如,數(shù)據(jù)塊傳送設(shè)定DMA模塊中的開始及結(jié)束源地址以及開始及結(jié)束目的地地址。在開始傳送后,DMA模塊以源開始地址設(shè)定源地址寄存器且以目的地開始地址設(shè)定目的地地址寄存器,并使用源地址寄存器從所述源提取第一數(shù)據(jù)。接著,使用目的地地址寄存器將此數(shù)據(jù)傳送到目的地。接著,遞增源及目的地地址寄存器兩者且重復(fù)過程直到源地址寄存器到達(dá)目的地結(jié)束地址為止。為防止CPU的任何停止,根據(jù)圖1中的實施例的布置包含雙端口RAM。雙端口RAM模塊120包括DMA側(cè)及CPU側(cè)。CPU與DMA地址/數(shù)據(jù)總線的分離防止CPU性能在高DMA活動時期期間發(fā)生降級。用戶可配置每一DMA通道115a..M以指向雙端口RAM120內(nèi)的給定地址范圍。如上所述,其它實施例可包括其它類型的存儲器。圖2中描繪通常以205顯示的實例性DMA通道。DMA通道205包括源側(cè)210及目的地側(cè)215。源側(cè)210包括開始地址寄存器225、結(jié)束地址寄存器220及指針230。所述目的地側(cè)包括開始地址235及結(jié)束地址240以及指針245。指針230輸出源/讀取地址的一部分。指針245輸出目的地寫入地址的至少一部分。在一些實例性實施方案中,指針230及245中的每一者存儲一字。在一個實例性實施方案中,將具有等于系統(tǒng)寬度的寬度的單個字從通道源指針傳送到通道目的地指針。在傳送完成之后,源指針230經(jīng)更新以指向下一字,除非到達(dá)緩沖器的結(jié)束。在所述情況下,同樣可以開始地址225加載源指針230。標(biāo)準(zhǔn)DMA存儲器存取可能并不能充分滿足更復(fù)雜的外圍設(shè)備(例如,控制器區(qū)域網(wǎng)絡(luò)(CAN))或具有更復(fù)雜尋址模式的外圍設(shè)備,例如,多通道模擬到數(shù)字轉(zhuǎn)換器。例如,某些外圍設(shè)備可能需要規(guī)定將DMA通道內(nèi)的地址用作數(shù)據(jù)的源或目的地。對于具有多字消息大小或期望以非線性模式存取DMA存儲器的外圍設(shè)備來說,能夠?qū)MA存儲器分區(qū)成多個"消息"大小的塊且使外圍設(shè)備識別存取這些塊的次序?qū)⑹怯杏玫?。例如,在CAN中,每一消息由8xl6個字塊構(gòu)成。在表l中給出的實例中,以緩沖器0開始、此后是緩沖器2、緩沖器1、且最后是緩沖器3來傳輸均在DMA隊列中的四個消息。表l-DMA存儲器的多字塊的非線性尋址<table>tableseeoriginaldocumentpage6</column></row><table><table>tableseeoriginaldocumentpage7</column></row><table>外圍設(shè)備可如下使用簡單DMA模塊來執(zhí)行這些功能設(shè)置DMA以允許所討論的外圍設(shè)備導(dǎo)出選定的地址位。例如,在表2中,地址位2:0將由給出通道偏移的外圍設(shè)備導(dǎo)出,同時由界定通道的開始及結(jié)束地址的DMA設(shè)置寄存器供應(yīng)所述地址的最高有效位。此可使用寄存器來實施,所述寄存器將描述DMA通道應(yīng)從附接到DMA通道的外圍設(shè)備提取哪些地址位。表3顯示可怎樣將RAM分區(qū)成(例如)四個不同的區(qū)段。在此實例中,將每一通道指派給不同的外圍設(shè)備。在具有例如512字節(jié)容量且因此具有9個地址位A(rA8的RAM中,可實施以下方案。通道0被指派給SPI串行接口且使用256字節(jié)的緩沖器。因此,RAM地址的下部8個位Ao-八7將由外圍設(shè)備提供,且MSB八8(設(shè)定為"0")由目的地地址寄存器提供。通道1被指派給模擬到數(shù)字轉(zhuǎn)換器且需要尋址RAM中的8個字節(jié)。在此實例中,最低的3個位A。-A2由外圍設(shè)備提供,且剩余位A3-A8(設(shè)定為"100000")來自目的地地址寄存器。串行接口UART需要例如216字節(jié)的緩沖器。因此,地址位Ao-A7(使用"0001000"的偏移)由外圍設(shè)備提供且MSB位As(設(shè)定為"l")由目的地地址寄存器提供。最后,32個位用于存儲器中的CAN總線,且因此,位Ao-A4由外圍設(shè)備提供且位A5-A8(設(shè)定為"1111")由目的地寄存器提供。表3<table>tableseeoriginaldocumentpage7</column></row><table>1E0-Iff控制器區(qū)域網(wǎng)絡(luò)圖3顯示DMA通道305,其進(jìn)一步接收外圍供應(yīng)地址,而所述外圍供應(yīng)地址被輸入到源側(cè)210及目的地側(cè)215兩者。DMA通道305進(jìn)一步包括外圍地址選擇寄存器310。外圍地址選擇寄存器310可由用戶以軟件配置。接著,使用外圍地址選擇寄存器310來選擇將在目的地地址中使用外圍地址的哪些位。當(dāng)DMA通道經(jīng)配置以允許由外圍設(shè)備部分地選擇雙端口RAM120中的源或目的地地址時,使用外圍供應(yīng)地址。在一個實施方案中,將外圍供應(yīng)地址附加到由源地址給出的基本地址。在另一實施方案中,外圍供應(yīng)地址可分別替代由相應(yīng)指針提供的地址的指定位。為此,用于源及目的地的每一地址產(chǎn)生裝置包含例如多路復(fù)用器或選擇器,其用于在相應(yīng)位之間進(jìn)行選擇。因此,取決于怎樣控制多路復(fù)用器或選擇器,DMA模塊可以正常模式(其中通過簡單地遞增或遞減來提供所有地址產(chǎn)生)或以延伸模式(其中由外圍設(shè)備部分地控制地址產(chǎn)生)來操作。圖4顯示DMA寄存器的目的地側(cè)215,其經(jīng)配置以從外圍設(shè)備讀取且寫入到雙端口RAM120中的規(guī)定位置。多路復(fù)用器410被添加到目的地地址路徑且選擇由外圍設(shè)備選擇的目的地地址的n+m個位中的n個位以及由指針245選擇的n個地址位。為此,多路復(fù)用器將接收來自指針245的相應(yīng)n個位及來自外圍設(shè)備的n個相應(yīng)外圍地址位。外圍地址選擇信號(其由外圍地址選擇寄存器310提供或從外圍地址選擇寄存器310導(dǎo)出)控制多路復(fù)用器選擇相應(yīng)多路復(fù)用器輸入。在多路復(fù)用器410的輸出處,將來自指針245的剩余的m個地址位添加到n個選定的位以形成具有n+m個位的完整地址。圖5顯示實例性實施方案,其中外圍設(shè)備(例如通過多路復(fù)用器520選擇的ADC或CAN模塊)供應(yīng)4個位,例如,位,而目的地地址寄存器540提供存儲器地址的剩余上部4個位,例如,位[7:4]。另一多路復(fù)用器530由源選擇寄存器510控制且選擇目的地地址寄存器540的相應(yīng)位或由多路復(fù)用器520的輸出所提供的位。圖5中顯示僅一個多路復(fù)用器530用于位0。取決于外圍設(shè)備提供多少個位,將提供相應(yīng)數(shù)目的多路復(fù)用器。在CAN模塊的情況下,下部地址位中的第四個位[NUM一BUFFERS:3]將選擇目的地緩沖器且最低的三個位[2:0]將選擇當(dāng)前正用數(shù)據(jù)加載8個16位字中的哪一字。取決于實施例,外圍設(shè)備使用的緩沖器大小(最大)可顯著大于以上所提及CAN實施例中的緩沖器大小,例如,所述緩沖器大小可僅由DMA的雙端口RAM的大小限制。圖6顯示使用不同多路復(fù)用器布置的另一實施例。目的地地址寄存器600包含8個位,其中例如上部位a、b、c及d直接饋送到輸出650。下部位e、f、g及h饋送到四個多路復(fù)用器610、612、6B及614的第一輸入0。多路復(fù)用器610、612、613及614的第二輸入1接收來自外圍設(shè)備660的相應(yīng)下部地址信號,而多路復(fù)用器610、612、613及614的第三輸入2接收來自外圍設(shè)備670的相應(yīng)下部地址信號。多路復(fù)用器610、612、613及614的輸出與輸出650耦合,使得在輸出650處呈現(xiàn)完整地址。8源選擇寄存器630提供用于多路復(fù)用器610、612、613及614的控制信號。因此,任一目的地地址寄存器、第一外圍設(shè)備660或第二外圍設(shè)備670根據(jù)其內(nèi)容提供地址輸出的位。例如,源選擇寄存器630具有8個位0...7。2個位可選擇多路復(fù)用器的四個不同輸入。因此,位0及1用于控制多路復(fù)用器610,位2及3用于控制多路復(fù)用器611,位4及5用于控制多路復(fù)用器612且位6及7用于控制多路復(fù)用器613。因此,取決于根據(jù)相應(yīng)所耦合外圍設(shè)備的規(guī)格寫入的寄存器630的內(nèi)容,多路復(fù)用器610、612、613及614選擇適當(dāng)輸入以形成輸出650處的輸出地址。此外,每一外圍設(shè)備可具有相關(guān)聯(lián)的寄存器,如由虛線框640所示。接著,額外多路復(fù)用器650可自動地選擇與已經(jīng)選擇用于DMA傳送的特定外圍設(shè)備相關(guān)聯(lián)的寄存器。所描述實施例的若干優(yōu)點中的一者是外圍設(shè)備提供的且替代目的地地址寄存器的相應(yīng)位的部分地址位不必是連續(xù)的。換句話說,在DMA傳送期間未必遞增這些位,而是其可以是無序的。然而,如果RAM在串行數(shù)據(jù)DMA傳送中用作緩沖器,那么這些位當(dāng)然可由外圍設(shè)備來遞增以填充RAM內(nèi)的經(jīng)指派緩沖器空間。此外,部分地址替代還允許其中從結(jié)束地址到開始地址寫入緩沖器的簡單反轉(zhuǎn)填充。因此,取決于外圍設(shè)備的能力及DMA模塊的編程,可實現(xiàn)任何類型的有序或無序傳輸。因此,本發(fā)明極適于實現(xiàn)所述目標(biāo)并獲得所提及的結(jié)果及優(yōu)點以及本文中固有的結(jié)果及優(yōu)點。盡管所屬
技術(shù)領(lǐng)域
的技術(shù)人員可做出眾多改變,但所述改變均包括在所附權(quán)利要求書所界定的本發(fā)明的精神內(nèi)。權(quán)利要求1、一種執(zhí)行直接存儲器存取的方法,其包含通過直接存儲器存取控制器來選擇用于執(zhí)行直接存儲器存取的外圍裝置;由所述外圍裝置向所述直接存儲器存取控制器提供部分地址;及通過在所述直接存儲器存取控制器內(nèi)組合所述部分地址與來自源寄存器的選定位來形成目的地地址。2、如權(quán)利要求l所述的方法,其中所述部分地址是所述源及/或目的地地址的最低有效位。3、如權(quán)利要求l所述的方法,其中所述部分地址的位數(shù)目取決于所述選定的外圍裝置。4、如權(quán)利要求l所述的方法,其中所述部分地址的所述位數(shù)目是可編程的。5、如權(quán)利要求3所述的方法,其中在選擇所述外圍裝置時,自動地選擇所述部分地址的相應(yīng)位。6、一種執(zhí)行對存儲器的直接存取的方法,其包含配置通道以接收來自外圍裝置的多個地址位;基于來自外圍裝置的多個地址位及來自源或目的地寄存器的多個地址位來選擇性地挑選所述存儲器中的位置。7、如權(quán)利要求6所述的方法,其中控制寄存器從來自所述外圍裝置的所述多個地址位中確定所述通道應(yīng)使用的所述地址位。8、如權(quán)利要求7所述的方法,其中來自外圍裝置的所述多個地址位提供所述存儲器的所述位置中的通道偏移。9、如權(quán)利要求8所述的方法,其中所述源寄存器供應(yīng)所述通道的開始及結(jié)束地址。10、如權(quán)利要求9所述的方法,其中所述源寄存器是直接存儲器存取設(shè)置寄存器。11、如權(quán)利要求7所述的方法,其中所述控制寄存器是用戶可配置寄存器。12、如權(quán)利要求ll所述的方法,其中使用軟件配置所述用戶可配置寄存器。13、如權(quán)利要求7所述的方法,其中所述控制寄存器確定外圍地址的所述多個地址位以在所述源或目的地地址中使用。14、一種使用直接存儲器存取(DMA)來存取存儲器的方法,其包含選擇來自外圍裝置的多個地址位;選擇來自指針寄存器的多個地址位;將來自所述外圍裝置的所述選定的多個地址位及來自所述指針的所述多個地址位插入到多路復(fù)用器中;至少部分地基于所述多路復(fù)用器所選擇的所述多個地址位來挑選存儲器位置。15、如權(quán)利要求14所述的方法,其中所述存儲器位置是源或目的地地址路徑。16、如權(quán)利要求14所述的方法,其中所述指針寄存器是直接存儲器存取通道中的寄存器。17、如權(quán)利要求14所述的方法,其中所述多路復(fù)用器選擇部分地址,且通過所述部分地址及來自所述指針寄存器的其它位形成所述存儲器位置。18、一種直接存儲器存取(DMA)控制器,其包含寄存器,其用于提供第一指針地址;輸入,其接收來自外圍裝置的部分地址;合并器,其用于合并所述部分地址與所述寄存器所提供的位,以形成第二指針地址。19、如權(quán)利要求18所述的直接存儲器存取控制器,其進(jìn)一步包含多路復(fù)用器,其接收所述部分地址及來自所述寄存器的多個位。20、如權(quán)利要求18所述的直接存儲器存取控制器,其進(jìn)一步包含控制寄存器,其用于控制所述多路復(fù)用器。21、如權(quán)利要求18所述的直接存儲器存取控制器,其進(jìn)一步包含第一多路復(fù)用器,其接收來自多個外圍裝置的多個部分地址。22、如權(quán)利要求21所述的直接存儲器存取控制器,其進(jìn)一步包含第二多路復(fù)用器,其接收來自所述第一多路復(fù)用器的選定部分地址及來自所述寄存器的多個位。23、如權(quán)利要求18所述的直接存儲器存取控制器,其進(jìn)一步包含多個多路復(fù)用器,其每一者接收來自多個外圍裝置的多個部分地址及來自所述寄存器的多個位;控制寄存器,其用于控制所述多個多路復(fù)用器。24、如權(quán)利要求23所述的直接存儲器存取控制器,其進(jìn)一步包含多個控制寄存器及一控制多路復(fù)用器,所述控制多路復(fù)用器用于選擇來自所述多個控制寄存器的控制信號以控制所述多個多路復(fù)用器,其中每一控制寄存器與外圍裝置相關(guān)聯(lián)。全文摘要本發(fā)明揭示一種執(zhí)行直接存儲器存取的方法,其具有以下步驟通過直接存儲器存取控制器選擇用于執(zhí)行直接存儲器存取的外圍裝置;由所述外圍裝置向所述直接存儲器存取控制器提供部分地址;及通過在所述直接存儲器存取控制器內(nèi)組合所述部分地址與來自源寄存器的選定位來形成源或目的地地址。文檔編號G06F13/20GK101506784SQ200780031326公開日2009年8月12日申請日期2007年7月24日優(yōu)先權(quán)日2006年7月25日發(fā)明者史蒂文·道森,威廉·斯米特,布賴恩·博爾斯申請人:密克羅奇普技術(shù)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
建阳市| 微山县| 东平县| 浦城县| 廉江市| 广西| 红安县| 韩城市| 兴海县| 安西县| 鄂托克旗| 台南市| 栾川县| 宜兴市| 平阳县| 陆良县| 温州市| 富顺县| 怀仁县| 舞钢市| 丰镇市| 甘肃省| 新田县| 阿拉尔市| 鄂托克旗| 梁河县| 宜阳县| 宜昌市| 南溪县| 宜昌市| 临夏县| 白山市| 阿荣旗| 闸北区| 陈巴尔虎旗| 常山县| 建阳市| 罗源县| 冷水江市| 漳浦县| 安庆市|