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

      可重尋址的虛擬dma控制和狀況寄存器的制作方法

      文檔序號:6487325閱讀:350來源:國知局
      專利名稱:可重尋址的虛擬dma控制和狀況寄存器的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及在存儲器地址空間中定義虛擬DMA寄存器,以控制和監(jiān)控DMA傳輸?shù)臓顩r。
      背景技術(shù)
      各種計算機系統(tǒng)架構(gòu)已采用許多方法來嘗試在計算機系統(tǒng)內(nèi)跨總線和在裝置(包括存儲器裝置、I/O裝置等等)之間有效地傳輸數(shù)據(jù)塊。一種最簡單的方法允許CPU(中央處理單元)從一個裝置讀取數(shù)據(jù)塊,隨后將該數(shù)據(jù)塊寫到另一裝置。但是,該任務(wù)常被認為更適合委派給其它可選機制,從而CPU能更完全地專用于執(zhí)行更復(fù)雜的計算和其它計算任務(wù)。
      一種廣泛使用的可選機制是向這種計算機系統(tǒng)添加DMA(直接存儲器存取)控制器,以接管計算機系統(tǒng)的系統(tǒng)存儲器和其它裝置之間的數(shù)據(jù)塊移動。通常,這種DMA控制器被編程為通過CPU將傳輸參數(shù)直接寫入DMA控制器內(nèi)的寄存器以執(zhí)行數(shù)據(jù)塊的特定傳輸。隨后,在執(zhí)行數(shù)據(jù)塊的傳輸時,CPU通常被編程為輪詢DMA控制器內(nèi)的一個或更多寄存器以查詢傳輸狀況。
      但是,這種DMA控制器的使用具有一些缺點。雖然CPU擺脫了實際執(zhí)行數(shù)據(jù)塊傳輸?shù)呢摀?dān),但使CPU輪詢DMA控制器內(nèi)的寄存器以查詢傳輸狀況仍常被認為是低效的。此外,在計算機系統(tǒng)的許多實現(xiàn)中,由CPU執(zhí)行用于編程DMA控制器內(nèi)的寄存器的寫操作以及由CPU執(zhí)行用于查詢DMA控制器內(nèi)的寄存器的狀態(tài)的讀操作會花費超過期望的時間。
      另一廣泛使用的可選機制是將總線主控性能加入計算機系統(tǒng)內(nèi)的各種I/0裝置,以使這些裝置本身能自主地執(zhí)行數(shù)據(jù)塊的傳輸。通常,那樣的傳輸被編程為通過CPU將傳輸參數(shù)直接寫入這種總線主控裝置內(nèi)的寄存器來進行。接著,在執(zhí)行數(shù)據(jù)塊傳輸時,CPU輪詢總線主控裝置內(nèi)的一個或更多寄存器,查詢傳輸狀況。
      但使用這樣的總線主控裝置具有一些缺點。雖然CPU擺脫了實際執(zhí)行數(shù)據(jù)塊傳輸?shù)呢摀?dān),但由CPU執(zhí)行以編程DMA控制器內(nèi)的寄存器的寫操作以及由CPU執(zhí)行以查詢DMA控制器內(nèi)寄存器的狀態(tài)的讀操作會花費超過預(yù)期的時間。此外,總線主控裝置執(zhí)行的讀操作,特別是從系統(tǒng)存儲器中讀取數(shù)據(jù)塊,也會花費超過預(yù)期的時間。


      借助以下詳細描述,將使本發(fā)明的目的、特點和優(yōu)點對于本領(lǐng)域的熟練技術(shù)人員來說顯而易見,其中圖1是采用計算機系統(tǒng)的實施例的框圖。
      圖2是采用計算機系統(tǒng)的另一實施例的另一框圖。
      圖3是參與傳輸數(shù)據(jù)塊的裝置之間的交互作用的實施例的框圖。
      圖4是參與傳輸多個數(shù)據(jù)塊的裝置之間的交互作用的實施例的框圖。
      圖5是參與傳輸多個數(shù)據(jù)塊的裝置之間的交互作用的實施例的另一框圖。
      圖6是參與傳輸多個數(shù)據(jù)塊的裝置之間的交互作用的實施例的另一框圖。
      圖7是采用計算機系統(tǒng)的其它實施例的又一框圖。
      圖8是一個實施例的流程圖。
      圖9是另一實施例的流程圖。
      圖10是又一實施例的流程圖。
      具體實施例方式
      附圖中,出于說明目的,闡述了許多細節(jié)以提供本發(fā)明的透徹理解。但,本領(lǐng)域的熟練技術(shù)人員顯見的是這些特定細節(jié)不是實施這里所要求的本發(fā)明所必要的。
      如以下所要求的本發(fā)明涉及結(jié)合對維持計算機系統(tǒng)或其它類似電子系統(tǒng)的其它裝置內(nèi)的存儲位置中DMA控制器的虛擬寄存器的支持。雖然以下討論以計算機系統(tǒng)內(nèi)的DMA控制器為中心,但本領(lǐng)域的熟練技術(shù)人員將理解,以下要求的本發(fā)明可在具有DMA控制器的電子系統(tǒng)或者用于在裝置之間移動數(shù)據(jù)塊的其它類似的專用邏輯的支持下實施。
      圖1是采用計算機系統(tǒng)的實施例的框圖。計算機系統(tǒng)100至少部分由CPU(中央處理單元)110、總線119、邏輯120、總線149、系統(tǒng)存儲器140、總線159和裝置150構(gòu)成。CPU110、總線119、邏輯120、總線149和系統(tǒng)存儲器140構(gòu)成能執(zhí)行系統(tǒng)存儲器140內(nèi)和/或計算機系統(tǒng)100的其它裝置內(nèi)存儲的機器可讀指令的計算機系統(tǒng)100的核心形式。但本領(lǐng)域的熟練技術(shù)人員易于理解這僅僅是計算機系統(tǒng)100的核心的許多可能形式的一個示例,計算機系統(tǒng)100也可進一步由未示出的其它總線和裝置構(gòu)成。
      在各種實施例中,CPU110可以是各種類型的CPU中的任一種,包括至少能執(zhí)行部分地公知和使用的Intel Corporation,Santa Clara,California始創(chuàng)的“x86”指令集的CPU。此外,在各種可能的實施例中,可能存在超過一個CPU連同提供對超過一個CPU的支持的附加總線和/或裝置(未示出)。邏輯120經(jīng)由總線119耦合到CPU110,并實現(xiàn)支持CPU110的指令執(zhí)行的各種功能,包括控制和向CPU110提供對邏輯120經(jīng)由總線149進一步耦合的系統(tǒng)存儲器140的訪問。邏輯120還提供了對構(gòu)成計算機系統(tǒng)100的其它裝置的訪問,諸如邏輯120經(jīng)由總線159耦合的裝置150。
      在與總線119、149和159耦合并向CPU110提供對系統(tǒng)存儲器140和裝置150的每一個的訪問以啟動傳輸?shù)刂?、命令和?shù)據(jù)的事務(wù)時,邏輯120用作這些總線之間通常所稱的“橋路”。在用作橋路時,邏輯120還向計算機系統(tǒng)100提供存儲器控制器122,以幫助實現(xiàn)總線149上的事務(wù),并提供總線接口127,以幫助實現(xiàn)總線159上的事務(wù)。為了使CPU110擺脫實施數(shù)據(jù)塊的某些傳輸?shù)呢摵?,邏?20進一步提供DMA控制器130。
      在各種實施例中,系統(tǒng)存儲器140可以是各種類型的隨機存取存儲器(RAM)中的任一種,其中包括快速頁面模式(FPM)、擴充數(shù)據(jù)輸出(EDO)、單倍數(shù)據(jù)率(SDR)或雙倍數(shù)據(jù)率(DDR)形式的同步動態(tài)RAM(SDRAM)或者采用RAMBUSTM接口或其它接口的RAM。存儲器控制器122和總線149被配置成支持一種或多種類型的存儲器和/或存儲器接口的定時和/或協(xié)議要求。
      在各種實施例中,可構(gòu)成計算機系統(tǒng)100的總線159和/或其它總線可以被設(shè)計成符合已成為計算機設(shè)計領(lǐng)域中“標準化”的各種公知形式總線中的任一種的特征和/或規(guī)范,諸如擴展工業(yè)標準架構(gòu)(EISA)、Micro ChannelTM架構(gòu)(MCA)、外圍組件互連(PCI)、PCI-X、PCI Express等??偩€接口127和157被配置成支持總線159的定時和/或協(xié)議要求。
      在一個實施例中,CPU110執(zhí)行一系列指令,這使得CPU110編程DMA控制器130以實現(xiàn)系統(tǒng)存儲器140內(nèi)的數(shù)據(jù)存儲位置146和148之間的數(shù)據(jù)塊傳輸。CPU110用指定所發(fā)生的傳輸?shù)母鞣N參數(shù)的值寫入一個或多個參數(shù)寄存器133,這些參數(shù)包括但不限于數(shù)據(jù)存儲位置146和148的起始地址、指示要傳輸?shù)臄?shù)據(jù)量的值(即,數(shù)據(jù)塊大小)、指示在系統(tǒng)存儲器140內(nèi)分配的狀況存儲位置144處提供的傳輸狀況的值以及進入一個或多個控制比特以使得傳輸發(fā)生的值。DMA控制器130隨后執(zhí)行該傳輸。在該傳輸?shù)膱?zhí)行期間,CPU110能讀取狀況存儲位置144一次或多次,以確定DMA控制器130是否已將值寫入狀態(tài)存儲位置144,指示該傳輸已完成。假定在諸如計算機系統(tǒng)100的計算機系統(tǒng)的設(shè)計中常在CPU和系統(tǒng)存儲器之間創(chuàng)建低等待時間路徑,CPU110將很可能能夠通過讀取系統(tǒng)存儲器140內(nèi)的狀況存儲位置144來重復(fù)檢查傳輸狀況,這比從DMA控制器130內(nèi)的寄存器讀取的現(xiàn)有技術(shù)方法快速得多。
      在另一實施例中,CPU110執(zhí)行一系列指令,這使得CPU110通過將所發(fā)生的傳輸?shù)母鞣N參數(shù)寫入系統(tǒng)存儲器140內(nèi)分配的可選參數(shù)存儲位置143來編程DMA控制器130以實現(xiàn)系統(tǒng)存儲器140內(nèi)的數(shù)據(jù)存儲位置146和148之間的數(shù)據(jù)塊傳輸。這些參數(shù)可包括,但不限于,數(shù)據(jù)存儲位置146和148的起始地址、指示要傳輸?shù)臄?shù)據(jù)量的值以及指示狀況存儲位置144處提供的傳輸狀況的值。還使得CPU110用指示可選參數(shù)存儲位置143的起始地址的值以及進入一個或多個控制比特作為使傳輸發(fā)生的觸發(fā)器的值寫入一個或多個參數(shù)寄存器133。響應(yīng)于該觸發(fā)器,DMA控制器130隨后執(zhí)行該傳輸。在傳輸執(zhí)行期間,CPU110能讀取狀況存儲位置144一次或多次,以確定DMA控制器130是否已將一值寫入狀態(tài)存儲位置144,指示該傳輸已完成。
      在本實施例的一個變型中,狀態(tài)存儲位置144是可選參數(shù)存儲位置143的任一部分或者被分配于處于離開可選參數(shù)存儲位置143的基地址有預(yù)定偏移處的系統(tǒng)存儲器140內(nèi)的地址。在本實施例的另一變型中,DMA控制器130用狀況存儲位置144的地址分別編程(經(jīng)由參數(shù)寄存器133或可選參數(shù)存儲位置143)。
      在本實施例的又一變型中,傳輸?shù)臓顩r被寫入裝置150的裝置存儲160內(nèi)的可選狀況存儲位置164,且DMA控制器130用可選狀況存儲位置164的地址編程(經(jīng)由參數(shù)寄存器133或可選參數(shù)存儲位置143)??蛇x狀況存儲位置164由裝置存儲160內(nèi)分配的一個或多個存儲器位置構(gòu)成,該裝置存儲160即根據(jù)裝置150的性質(zhì)可用于任何數(shù)量的可能用途的裝置150內(nèi)的存儲器緩沖器,如本領(lǐng)域的熟練技術(shù)人員易于理解的。將傳輸狀況寫入裝置150的裝置存儲160內(nèi)的可選狀況存儲位置164的優(yōu)點在于裝置150會等待這種狀況,作為實施某些其它任務(wù)的條件,且通過不將狀況寫入系統(tǒng)存儲器140內(nèi)的狀況存儲位置144,可以避免由于狀況隨后必須從該狀況存儲位置144傳輸給裝置150引起的不期望的延遲。如果從狀況存儲位置144到可選狀況存儲位置164的狀況的后續(xù)傳輸將要求裝置150采用裝置150可能具有用于讀取狀況存儲位置144的總線主控性能,該優(yōu)點會更大。如本領(lǐng)域的熟練技術(shù)人員將理解的,實施跨諸如總線159的總線的讀取操作會比寫入操作花費更長的時間來完成,并且還會瞬間鎖定總線。這是由于讀取操作首先要求進行跨總線的數(shù)據(jù)請求來讀取諸如傳輸狀況的一段數(shù)據(jù),隨后在請求的數(shù)據(jù)被提供之前,需要一段等待時期。根據(jù)總線159的設(shè)計,讀取和寫入操作的一致性和排序規(guī)則會要求在接收到所述狀況之前不使用總線159或者至少裝置150不實施跨總線159的其它傳輸?shù)闹辽僖粋€子集。因此,根據(jù)開始讀取操作時的情況,在應(yīng)答和完成讀取操作以便從狀況存儲位置144讀取狀況的狀態(tài)下,系統(tǒng)存儲器140和裝置150兩者以及總線149和159兩者可能被瞬間獨占。相反,如果狀況由DMA控制器130直接寫到裝置150,為了維持一致性和排序就可以利用通常作用于寫入操作上的較少的嚴格要求,從而可以允許寫入操作在總線接口127的寫入緩沖器128中記入,隨后在可能的時候在總線159鎖定的可能性較低的情況下通過總線159傳輸給裝置150。
      圖2是采用計算機系統(tǒng)的實施例的另一框圖。圖2中的標號項意味著一般地對應(yīng)于圖1中的標號項,且按與圖1的計算機系統(tǒng)100相似的方式,計算機200至少部分由CPU210、總線219、邏輯220、總線249、系統(tǒng)存儲器240、總線259和裝置250構(gòu)成。在采用計算機系統(tǒng)100的情況下,本領(lǐng)域的熟練技術(shù)人員將易于理解這僅僅是計算機系統(tǒng)200的核心的許多可能形式中的一個示例,而計算機系統(tǒng)200也可以進一步由未示出的其它總線和裝置構(gòu)成。邏輯220經(jīng)由總線219耦合到CPU210,并實現(xiàn)支持CPU210的指令執(zhí)行的各種功能,包括控制和向CPU210提供對系統(tǒng)存儲器240的訪問,其中邏輯220還經(jīng)由邏輯220內(nèi)的存儲器控制器222和總線249與該系統(tǒng)存儲器240耦合。邏輯220還提供對構(gòu)成計算機系統(tǒng)200的其它裝置(諸如裝置250)的訪問,其中邏輯220經(jīng)由邏輯220內(nèi)的總線接口227和總線259與所述其它裝置耦合。
      在一個實施例中,CPU210執(zhí)行一系列指令(可能存儲于系統(tǒng)存儲器240內(nèi)),這使得CPU210編程DMA控制器230以實施在系統(tǒng)存儲器240內(nèi)的數(shù)據(jù)存儲位置246和裝置250內(nèi)的數(shù)據(jù)存儲位置266之間的數(shù)據(jù)塊傳輸。CPU210將所發(fā)生的傳輸?shù)母鞣N參數(shù)寫入系統(tǒng)存儲器240內(nèi)分配的參數(shù)存儲位置243內(nèi)的存儲器位置。這些參數(shù)可包括,但不限于,數(shù)據(jù)存儲位置246和266的起始地址、指示要傳輸?shù)臄?shù)據(jù)量的值以及指示系統(tǒng)存儲器240內(nèi)分配的狀況存儲位置244處提供的傳輸狀況的值。還使得CPU210向裝置250內(nèi)的一個或多個參數(shù)寄存器233寫入指示參數(shù)存儲位置243的起始地址的值以及進入一個或多個控制比特作為使傳輸發(fā)生的觸發(fā)器的值。DMA控制器230隨后響應(yīng)于觸發(fā)器執(zhí)行該傳輸。在傳輸執(zhí)行期間,CPU210能讀取狀況存儲位置244一次或多次,以確定DMA控制器230是否已將一值寫入狀況存儲位置244,指示傳輸已完成。
      在該實施例的一個變型中,狀況存儲位置244是參數(shù)存儲位置243的一部分或者被分配于位于離開參數(shù)存儲位置243的基地址有預(yù)定偏移處的系統(tǒng)存儲器240內(nèi)的地址處。在該實施例的另一變型中,DMA控制器230用狀況存儲位置244的地址分別編程(在參數(shù)寄存器233或參數(shù)存儲位置243內(nèi))。在本實施例的又一變型中,如需要,傳輸狀況被寫入裝置250的裝置存儲260內(nèi)的可選狀況存儲位置264,且DMA控制器230用可選狀況存儲位置264的地址編程,從而允許更迅速地向裝置250提供傳輸狀況。
      在另一實施例中,CPU210執(zhí)行一系列指令,這使得CPU210通過將所發(fā)生的傳輸?shù)母鞣N參數(shù)寫入裝置250的裝置存儲260內(nèi)分配的可選參數(shù)存儲位置263編程DMA控制器230以實施在數(shù)據(jù)存儲位置246和266之間的數(shù)據(jù)塊傳輸。如前所述,這些參數(shù)可以包括,但不限于,數(shù)據(jù)存儲位置246和266的起始地址、指示要傳輸?shù)臄?shù)據(jù)量的值以及指示可選狀況存儲位置264處要提供的傳輸狀況的值。還使得CPU210用指示可選參數(shù)存儲位置263的起始地址的值以及進入一個或多個控制別作為使傳輸發(fā)生的觸發(fā)器的值寫入一個或多個參數(shù)寄存器233。DMA控制器230隨后響應(yīng)于觸發(fā)器執(zhí)行該傳輸。在該傳輸執(zhí)行期間,裝置250或CPU210能讀取狀況存儲位置264一次或多次,以確定DMA控制器230是否已將值寫入狀況存儲位置264,指示傳輸已完成。
      圖3是參與傳輸數(shù)據(jù)塊的裝置之間的交互作用的實施例的框圖。特別是,圖3描繪了在實施從源數(shù)據(jù)存儲位置346到目標數(shù)據(jù)存儲位置348的數(shù)據(jù)塊傳輸過程中控制裝置310、DMA控制器330和一個或多個存儲器裝置和/或提供存儲的裝置之間的交互作用??刂蒲b置310可以是CPU(計算機系統(tǒng)或其它電子系統(tǒng)中的任一個)、微控制器、定序器等,它們能執(zhí)行指令312以通過使控制裝置310編程與控制裝置310耦合的DMA控制器330內(nèi)的寄存器而使數(shù)據(jù)塊傳輸發(fā)生??蓪ぶ房臻g340是對控制裝置310和DMA控制器330可訪問的地址位置的映射。
      在一些實施例中,可尋址空間340可整體由與控制裝置310和DMA控制器330兩者耦合的單系統(tǒng)存儲器裝置(未示出)構(gòu)成。這種實施例可基本上類似于圖1的實施例,其中源數(shù)據(jù)存儲位置346和目標數(shù)據(jù)存儲位置348兩者按與數(shù)據(jù)存儲位置146和148相似的方式位于諸如系統(tǒng)存儲器140的系統(tǒng)存儲器裝置內(nèi)。在其它實施例中,可尋址空間340可由與控制裝置310和DMA控制器330耦合的其它裝置內(nèi)的存儲器裝置和/或緩沖器的組合構(gòu)成。這種實施例可基本上類似于圖2的實施例,其中源數(shù)據(jù)存儲位置346和目標數(shù)據(jù)存儲位置348按與系統(tǒng)存儲器240內(nèi)分配的數(shù)據(jù)存儲位置246以及裝置250的裝置存儲260內(nèi)分配的數(shù)據(jù)存儲位置266相似的方式在不同裝置內(nèi)被分配。更準確地,例如,源數(shù)據(jù)存儲位置346可位于系統(tǒng)存儲器內(nèi)而目標數(shù)據(jù)存儲位置348可位于另一裝置內(nèi)的緩沖器內(nèi)。
      通過將源數(shù)據(jù)存儲位置346和目標數(shù)據(jù)存儲位置348的基地址以及要傳輸?shù)臄?shù)據(jù)量和狀況存儲位置344的地址寫入?yún)?shù)存儲位置343,(作為執(zhí)行指令312的結(jié)果)使得控制裝置310準備從源數(shù)據(jù)存儲位置346到目標數(shù)據(jù)存儲位置348的數(shù)據(jù)塊傳輸?shù)膱?zhí)行??刂蒲b置310還將參數(shù)存儲位置343的基地址寫入DMA控制器330內(nèi)的參數(shù)寄存器333,而一個或多個比特觸發(fā)DMA控制器330以實施數(shù)據(jù)傳輸。
      響應(yīng)于該觸發(fā),DMA控制器330訪問被編程入?yún)?shù)寄存器333的基地址處的參數(shù)存儲位置343,以獲得源數(shù)據(jù)存儲位置346和目標數(shù)據(jù)存儲位置348的基地址、要傳輸?shù)臄?shù)據(jù)量以及狀況存儲位置344的基地址。DMA控制器330完成從源數(shù)據(jù)存儲位置346到目標數(shù)據(jù)存儲位置348的數(shù)據(jù)塊傳輸,并將傳輸狀況寫到狀況存儲位置344??刂蒲b置310從狀況存儲位置344讀取傳輸狀況,以確定DMA控制器330是否已將一值寫入狀況存儲位置344,指示數(shù)據(jù)傳輸已完成。
      圖4是參與傳輸多個數(shù)據(jù)塊的裝置之間的交互作用的實施例的框圖。特別是,圖4描繪了實施從源數(shù)據(jù)存儲位置446a到目標數(shù)據(jù)存儲位置448a的數(shù)據(jù)塊傳輸以及隨后從源數(shù)據(jù)存儲位置446b到目標數(shù)據(jù)存儲位置448b的另一數(shù)據(jù)塊傳輸?shù)倪^程中控制裝置410、DMA控制器430和一個或多個存儲裝置和/或提供存儲的裝置之間的交互作用。圖4中的標號項表示一般地對應(yīng)于圖3中的標號項,且與圖3的控制裝置310相似,控制裝置410可以是CPU(計算機系統(tǒng)或其它電子系統(tǒng)中的任一個的)、微控制器、定序器等,它們能執(zhí)行指令412以通過編程與控制裝置410耦合的DMA控制器430內(nèi)的寄存器而使數(shù)據(jù)塊傳輸發(fā)生。可尋址空間440是對控制裝置410和DMA控制器430可尋址的地址位置的映射。
      在一些實施例中,可尋址空間440可整體由與控制裝置410和DMA控制器430兩者耦合的單系統(tǒng)存儲器裝置(未示出)構(gòu)成。在其它實施例中,可尋址空間440可由與控制裝置410和DMA控制器430耦合的其它裝置內(nèi)的存儲器裝置和/或緩沖器的組合構(gòu)成。作為示例,源數(shù)據(jù)存儲位置446a和目標數(shù)據(jù)存儲位置448b可均位于系統(tǒng)存儲器內(nèi),而源數(shù)據(jù)存儲位置446b和目標數(shù)據(jù)存儲位置448a可均位于另一裝置內(nèi)的緩沖器內(nèi)。
      通過將源數(shù)據(jù)存儲位置446a和446b以及目標數(shù)據(jù)存儲位置448a和448b的基地址連同要傳輸?shù)膶?yīng)數(shù)據(jù)量和狀況存儲位置444a和444b的相應(yīng)地址讀入相應(yīng)的參數(shù)存儲位置443a和443b,(作為執(zhí)行指令412的結(jié)果)使得控制裝置410準備執(zhí)行從源數(shù)據(jù)多個數(shù)據(jù)塊傳輸??刂蒲b置410還將參數(shù)存儲位置443a的基地址寫入DMA控制器430內(nèi)的參數(shù)寄存器433,而一個或多個比特觸發(fā)DMA控制器430以開始數(shù)據(jù)塊傳輸。
      響應(yīng)于該觸發(fā),DMA控制器430訪問被編程入?yún)?shù)寄存器433的基地址處的參數(shù)存儲位置443a,以獲得源數(shù)據(jù)存儲位置446a和目標數(shù)據(jù)存儲位置448a的基地址、要傳輸?shù)臄?shù)據(jù)量以及狀況存儲位置444a的基地址。DMA控制器430實施從源數(shù)據(jù)存儲位置446a到目標數(shù)據(jù)存儲位置448a的數(shù)據(jù)塊傳輸,并將傳輸狀況寫到狀況存儲位置444a。DMA控制器430隨后訪問參數(shù)存儲位置443b以獲得源數(shù)據(jù)存儲位置446b和目標數(shù)據(jù)存儲位置448b的基地址、要傳輸?shù)臄?shù)據(jù)量和狀況存儲位置444b的基地址。DMA控制器430隨后實施從源數(shù)據(jù)存儲位置446b到目標數(shù)據(jù)存儲位置448b的數(shù)據(jù)塊傳輸,并將傳輸狀況寫到狀況存儲位置444b。控制裝置410從狀況存儲位置444a和444b讀取傳輸狀況,以確定DMA控制器430是否已將一值寫入狀況存儲位置444a和444b,指示數(shù)據(jù)傳輸已完成。
      在一個實施例中,被寫入?yún)?shù)寄存器433的參數(shù)存儲位置443a的基地址用作指向在鏈中以預(yù)定間隔(被編程或硬連線入DMA控制器430的間隔長度)設(shè)置的一個或多個參數(shù)存儲位置(諸如參數(shù)存儲位置443a)的基地址的指針,使得DMA控制器430僅需要鏈中的第一個這種參數(shù)存儲位置的基地址,且DMA控制器430能通過迭代該鏈直到遇到具有傳輸數(shù)據(jù)塊的參數(shù)的最后一個這種參數(shù)存儲位置。在這種實施例中,控制裝置410也可將一值寫入?yún)?shù)寄存器433,指示這種鏈中參數(shù)存儲位置的量。但在另一實施例中,每個參數(shù)存儲位置都可提供參數(shù)存儲位置鏈中的下一個參數(shù)存儲位置的基地址,從而不需要參數(shù)存儲位置鏈中的每個參數(shù)存儲位置在可尋址空間440內(nèi)按預(yù)定間隔定位置。在這種實施例中,這種鏈中的最后一個參數(shù)存儲位置可提供一值代替基地址,它指示已到達鏈中的最后一個參數(shù)存儲位置。
      圖5是參與多個數(shù)據(jù)塊傳輸?shù)难b置之間的交互作用實施例的另一框圖。特別是,圖5描繪了在執(zhí)行多個數(shù)據(jù)塊傳輸(為了清晰而未實際示出數(shù)據(jù)塊)的過程中DMA控制器和一個或多個存儲器裝置和/或提供存儲的裝置之間的交互作用。圖5中的標號項表示一般地對應(yīng)于圖4中的標號項,且按與圖4相似的方式,可尋址空間540是對控制裝置(未示出)和DMA控制器530可訪問的地址位置的映射。
      按與圖4類似的方式,多個參數(shù)存儲位置(543a到543d)已在可尋址空間540內(nèi)被分配,且類似于關(guān)于圖4所詳細討論的,DMA控制器530訪問參數(shù)存儲位置543a到543d中的每一個以獲得源數(shù)據(jù)和目標數(shù)據(jù)存儲位置的基地址連同要傳輸?shù)臄?shù)據(jù)量和要將指示每個傳輸狀況的值寫入的狀況存儲位置的相應(yīng)基地址。但與針對圖4所討論的實施例不同,圖5描繪了其中從參數(shù)存儲位置543a到543d指向作為單個共用位置的同一位置(即狀況存儲位置544)的實施例,其中每個傳輸?shù)臓顩r都將由DMA控制器530寫入到該位置中。這種單個狀況存儲位置的使用將允許控制裝置通過僅對可尋址空間540內(nèi)的一個位置的重復(fù)訪問來監(jiān)控多個傳輸?shù)臓顩r。在這種實施例中,由DMA控制器530寫入狀況存儲位置544的值可附加地結(jié)合一些形式的標識值,這將允許控制器區(qū)分哪些傳輸已完成和/或哪個傳輸當(dāng)前正進行中。
      圖5還描繪了參數(shù)寄存器533的使用以提供第一和最后一個參數(shù)存儲位置的基地址,作為一種方式來觸發(fā)一個或多個數(shù)據(jù)塊傳輸?shù)拈_始以及傳輸鏈中存在多少傳輸?shù)挠嫈?shù)。如前所述,一些實施例可采用可尋址空間540內(nèi)設(shè)置的每個參數(shù)存儲位置處的基地址之間的地址空間的預(yù)定間隔,且其它實施例可采用提供參數(shù)存儲位置鏈中下一個參數(shù)存儲位置的基地址的每個參數(shù)存儲位置內(nèi)的指針,用于實施相應(yīng)的多個傳輸。
      圖6是參與傳輸多個數(shù)據(jù)塊的裝置之間的交互作用實施例的又一框圖。特別是,圖6描繪了在實施多個數(shù)據(jù)塊傳輸(為了清楚而未實際示出數(shù)據(jù)塊)的過程中DMA控制器和一個或多個存儲器裝置和/或提供存儲的裝置之間的交互作用。圖6中的標號項表示一般地對應(yīng)于圖5中的標號項,并按與圖5相似的方式,可尋址空間640是對控制裝置(未示出)和DMA控制器630可訪問的地址位置的映射。按與圖5相類似的方式,多個參數(shù)存儲位置(643a到643c)已在可尋址空間640內(nèi)被分配,且類似于針對圖5詳細討論的,DMA控制器630訪問參數(shù)存儲位置643a到643c中的每一個以獲得源數(shù)據(jù)和目標數(shù)據(jù)存儲位置的基地址連同要傳輸?shù)臄?shù)據(jù)量以及要寫入指示每個傳輸狀況的值的狀況存儲位置的相應(yīng)基地址。但與針對圖5所討論的實施例不同的是,圖6描述了可尋址空間640內(nèi)不按規(guī)則間隔的方式分配的參數(shù)存儲位置643a到643c,其中在每個參數(shù)存儲位置內(nèi)提供用于下一個參數(shù)存儲位置的指針。在實施每個傳輸時,DMA控制器630訪問指向下一個參數(shù)存儲位置的指針,以獲得下一個參數(shù)存儲位置的基地址,直到訪問參數(shù)存儲位置643c內(nèi)的指針以獲得另一參數(shù)存儲位置的基地址的步驟提供一指示不再存在具有用于數(shù)據(jù)塊傳輸?shù)膮?shù)的參數(shù)存儲位置的指針,在這點處DMA控制器630停止實施數(shù)據(jù)塊的傳輸。
      圖6還示出了使用指向狀況存儲位置的指針以便將與參數(shù)存儲位置643a和643c相對應(yīng)的數(shù)據(jù)傳輸狀況提供給共用狀況存儲位置(即,狀況存儲位置644ac),并將與參數(shù)存儲位置643b相對應(yīng)的數(shù)據(jù)傳輸狀況提供給不同的狀況存儲位置(即,狀況存儲位置644b)。分開和共用狀況存儲位置的這種使用證明是有利的,其中多個傳輸與通過DMA控制器630是其一部分的計算機系統(tǒng)的一個功能的實現(xiàn)有關(guān),而其它傳輸與同一計算機系統(tǒng)內(nèi)的不同功能的實現(xiàn)有關(guān)。更具體地,狀況存儲位置644ac和644b可分配于不同的存儲器裝置和/或具有存儲器緩沖器的裝置內(nèi)。作為示例,狀況存儲位置644ac可分配于系統(tǒng)存儲器內(nèi),使得CPU能有效地監(jiān)控相應(yīng)的傳輸狀況,而狀況存儲位置644b可分配于另一裝置提供的存儲器緩沖器內(nèi),使得其它裝置能有效地監(jiān)控相應(yīng)的傳輸狀況。
      圖7是采用計算機系統(tǒng)的實施例的另一框圖。圖7中的標號項表示一般地對應(yīng)于圖2中的標號項,且按與圖2的計算機系統(tǒng)200相似的方式,計算機系統(tǒng)700至少部分由CPU710、總線719、邏輯720、總線749、系統(tǒng)存儲器740、總線759和裝置750構(gòu)成。在具有計算機系統(tǒng)200的情況下,本領(lǐng)域的熟練技術(shù)人員將易于理解這僅僅是計算機系統(tǒng)200核心的許多可能形式的一個示例,且計算機系統(tǒng)200還可進一步由未示出的其它總線和裝置構(gòu)成。邏輯720經(jīng)由總線719與CPU710耦合并執(zhí)行支持CPU710的各種功能,包括控制和向CPU710提供對系統(tǒng)存儲器740的訪問,其中該系統(tǒng)存儲器740經(jīng)由邏輯720內(nèi)的存儲器控制器722和總線749與邏輯720耦合。邏輯720還提供對構(gòu)成計算機系統(tǒng)700的其它裝置的訪問,諸如經(jīng)由邏輯720內(nèi)的總線接口727和總線759以及裝置750內(nèi)的總線接口757與邏輯720耦合的裝置750。
      CPU710執(zhí)行系統(tǒng)存儲器740內(nèi)存儲的一系列指令712,這使得CPU710編程DMA控制器730以實施從系統(tǒng)存儲器740內(nèi)分配的數(shù)據(jù)存儲位置746到裝置750的裝置存儲760內(nèi)分配的數(shù)據(jù)存儲位置766的數(shù)據(jù)塊傳輸。CPU710將所發(fā)生的傳輸?shù)母鞣N參數(shù)寫入系統(tǒng)存儲器740內(nèi)分配的DMA傳輸參數(shù)存儲位置743內(nèi)的存儲器位置。這些參數(shù)可包括,但不限于,數(shù)據(jù)存儲位置746和766的起始地址、指示要傳輸?shù)臄?shù)據(jù)量的值、以及指示傳輸狀況將在裝置存儲760內(nèi)分配的DMA傳輸狀況存儲位置764處提供的值。還使得CPU710用指定DMA傳輸參數(shù)存儲位置743的起始地址的值以及進入一個或多個控制比特作為使得傳輸發(fā)生的觸發(fā)器的值寫入DMA控制器730內(nèi)的一個或多個參數(shù)寄存器733。DMA控制器730隨后執(zhí)行該傳輸。在該傳輸?shù)膱?zhí)行期間,CPU710和/或裝置750能讀取DMA傳輸狀況存儲位置764一次或多次,以確定DMA控制器730是否已將一值寫入指示傳輸已完成的DMA傳輸狀況存儲位置764。
      CPU710還執(zhí)行更多系列的指令712,使得CPU710編程裝置750以實施從裝置750內(nèi)的裝置存儲760內(nèi)分配的數(shù)據(jù)存儲位置768到系統(tǒng)存儲器740內(nèi)分配的數(shù)據(jù)存儲位置748的數(shù)據(jù)塊傳輸。CPU710將所發(fā)生的傳輸?shù)母鞣N參數(shù)寫入裝置傳輸參數(shù)寄存器768。這些參數(shù)可包括,但不限于,數(shù)據(jù)存儲位置768和748的起始地址以及指示要傳輸?shù)臄?shù)據(jù)量的值。隨后,裝置750執(zhí)行該傳輸。
      與單獨利用DMA控制器730或裝置750執(zhí)行這兩種傳輸相比,利用DMA控制器730將數(shù)據(jù)從系統(tǒng)存儲器740傳輸?shù)窖b置750以及利用裝置750的主控功能將數(shù)據(jù)從裝置750傳輸?shù)较到y(tǒng)存儲器740可以在移動數(shù)據(jù)塊方面提供更高的效率。這樣,每個傳輸都作為跨總線759的一個或多個寫入操作而實施,利用了相應(yīng)的總線接口727和757可提供的寫入緩沖器728和758的優(yōu)點。寫入緩沖器728的使用將允許由DMA控制器730通過總線759將數(shù)據(jù)寫到裝置存儲760被緩沖或“記入(posted)”,使得一部分數(shù)據(jù)從寫入緩沖器728通過總線759向裝置存儲760傳播,DMA控制器730能從系統(tǒng)存儲器740中讀取另一部分數(shù)據(jù)。相應(yīng)地,裝置750的總線主控功能對系統(tǒng)緩沖器758的使用將允許裝置750將數(shù)據(jù)通過總線759寫到系統(tǒng)存儲器740,以便也被“記入”,從而一部分數(shù)據(jù)從寫入緩沖器758通過總線759向系統(tǒng)存儲器740傳播,裝置750能從裝置存儲760中讀取另一部分數(shù)據(jù)。
      在一些實施例中,DMA730和裝置750的總線主控功能的該組合使用可借助執(zhí)行由與裝置750相對應(yīng)的裝置驅(qū)動器提供的一系列指令的CPU710引起。在計算機700的正常操作過程中,這種裝置驅(qū)動器可與也由CPU710執(zhí)行的操作系統(tǒng)交互,以通過避免使用裝置750的總線主控功能從系統(tǒng)存儲器740讀取數(shù)據(jù)并避免使用DMA控制器730從裝置存儲760讀取數(shù)據(jù)來提升裝置750內(nèi)的裝置存儲760和系統(tǒng)存儲器740之間的數(shù)據(jù)傳輸效率。
      圖8是一實施例的流程圖。在810處,要傳輸數(shù)據(jù)的源和目標位置的基地址、要傳輸?shù)臄?shù)據(jù)量和要寫入傳輸狀況的狀況位置的基地址都經(jīng)由DMA寄存器或其它機制提供給DMA控制器。DMA控制器接收開始DMA傳輸?shù)膱?zhí)行的信號,且這在820處進行。在830處,在執(zhí)行傳輸時,CUP或其它裝置從DMA控制器寫入狀況的狀況位置讀取傳輸狀況。在840處,如果DMA控制器還未將一值寫入要寫入狀況的狀況位置,指示傳輸已完成,則在830處產(chǎn)生另一狀況讀取。否則,如果DMA控制器已將一值寫入將指示傳輸已完成的狀況寫入的狀況位置,則過程結(jié)束。
      圖9是數(shù)據(jù)塊傳輸?shù)牧硪粚嵤├牧鞒虉D。910處,包括但不限于要傳輸數(shù)據(jù)的數(shù)據(jù)源和目標位置的基地址、要傳輸?shù)臄?shù)據(jù)量以及要寫入傳輸狀況的狀況位置的基地址的傳輸參數(shù)都被寫入系統(tǒng)存儲器或其它存儲器裝置或具有可尋址存儲器(諸如緩沖器)的裝置的參數(shù)位置。在920處,要在910處寫入傳輸參數(shù)的參數(shù)位置的基地址經(jīng)由DMA寄存器或其它機制提供給DMA控制器。DMA控制器接收信號以開始傳輸?shù)膱?zhí)行,這在930處進行。在940處,隨著傳輸被執(zhí)行,CPU或其它裝置從DMA控制器寫入狀況的可尋址狀況位置讀取DMA傳輸?shù)臓顩r。950處,如果DMA控制器仍未將一值寫入要寫入指示DMA傳輸已完成的狀況的狀況位置,則940處發(fā)生另一狀況讀取。否則,如果DMA控制器已將一值寫入要寫入指示傳輸已完成的狀況的狀況位置,則過程結(jié)束。
      圖10是一實施例的流程圖。1010處,諸如數(shù)據(jù)源和目標位置的基地址、數(shù)據(jù)量和狀況位置的基地址的參數(shù)組被寫入用于多個傳輸?shù)亩鄠€參數(shù)位置,其中多個傳輸位置中的每一個都對應(yīng)于要執(zhí)行的多個傳輸中的每一個。1020處,要寫入傳輸參數(shù)的多個參數(shù)位置中的第一個的基地址經(jīng)由DMA寄存器或其它機制提供給DMA控制器。DMA控制器接收信號以開始DMA傳輸?shù)膱?zhí)行,并在1030處進行,且當(dāng)完成1030處執(zhí)行的DMA傳輸時,在1040處,指示DMA傳輸完成的狀況被寫入與該傳輸相對應(yīng)的狀況位置。如果在750處存在還要實施的另一傳輸?shù)膮?shù)的另一參數(shù)位置的指示,則在1030處執(zhí)行該傳輸。否則,如果不再存在與還要執(zhí)行的傳輸相對應(yīng)的參數(shù)位置,則過程結(jié)束。
      在其中支持實施多個傳輸?shù)那闆r下分配多個傳輸參數(shù)位置的每個前述實施例中,可以存在這些實施例的變型,其中傳輸參數(shù)位置可按循環(huán)或“FIFO類”方式使用,其中參數(shù)位置被用作環(huán)以便為新傳輸重復(fù)地重新使用。在傳輸參數(shù)位置采用指針將DMA控制器引導(dǎo)到可找到下一個傳輸參數(shù)位置的基地址的情況下,可使用這些指針使得在其它情況可能是“最后一個”傳輸參數(shù)位置的指針將指向可能是“第一個”傳輸參數(shù)位置的那個。在傳輸參數(shù)位置不采用指針的情況而依賴于以預(yù)定間隔設(shè)置于存儲器裝置(或提供存儲位置的其它裝置)的可尋址空間內(nèi)的情況下,可以向DMA控制器提供哪個傳輸參數(shù)位置是傳輸參數(shù)位置鏈中的最后一個的指示,使得DMA控制器能“循環(huán)回到”第一個。
      已結(jié)合較佳實施例描述了本發(fā)明。顯然,根據(jù)以上描述,大量可選方案、修改、變型和使用是本領(lǐng)域熟練技術(shù)人員顯而易見的。本領(lǐng)域的熟練技術(shù)人員可以理解,本發(fā)明可實施來支持計算機系統(tǒng)之外的電子裝置,諸如音頻/視頻娛樂裝置、車載控制器裝置、電子線路控制的電氣設(shè)備等。
      權(quán)利要求
      1.一種裝置,包括第一存儲器裝置,其中分配具有要傳輸?shù)臄?shù)據(jù)塊的源數(shù)據(jù)位置;第二存儲器裝置,其中分配了用于要傳輸?shù)臄?shù)據(jù)塊的目標數(shù)據(jù)位置;控制裝置,它與第一和第二存儲器裝置兩者耦合并能執(zhí)行機器可讀的指令;DMA控制器,它與所述控制裝置以及第一和第二裝置耦合,并具有控制裝置將指定狀況位置的基地址的值寫入其中的至少一個傳輸狀況位置基地址寄存器,在該狀況位置的基地址處DMA控制器寫入一表示從源數(shù)據(jù)位置到目標數(shù)據(jù)位置的數(shù)據(jù)塊傳輸狀況的值。
      2.如權(quán)利要求1所述的裝置,其特征在于,所述DMA控制器具有參數(shù)寄存器,控制裝置至少將源數(shù)據(jù)位置的基地址、目標數(shù)據(jù)位置的基地址以及構(gòu)成要傳輸?shù)臄?shù)據(jù)塊的數(shù)據(jù)量寫入其中。
      3.如權(quán)利要求1所述的裝置,其特征在于,DMA控制器具有其中控制裝置將指定參數(shù)位置的基地址的值寫入其中的至少一個傳輸參數(shù)位置基地址寄存器,DMA控制器從該參數(shù)位置的基地址獲得數(shù)據(jù)塊傳輸?shù)膮?shù)。
      4.如權(quán)利要求3所述的裝置,其特征在于,DMA控制器從其中獲得傳輸參數(shù)的參數(shù)位置至少存儲源數(shù)據(jù)位置的基地址、目標數(shù)據(jù)位置的基地址以及構(gòu)成要傳輸?shù)臄?shù)據(jù)塊的數(shù)據(jù)量。
      5.一種裝置,包括第一存儲器裝置,其中分配了具有第一傳輸中要傳輸?shù)臄?shù)據(jù)塊的源數(shù)據(jù)位置;第二存儲器裝置,其中分配了用于第一傳輸中要傳輸?shù)臄?shù)據(jù)塊的目標數(shù)據(jù)位置;控制裝置,它與第一和第二存儲器裝置兩者耦合并能執(zhí)行機器可讀的指令;DMA控制器,它與控制裝置以及第一和第二裝置兩者耦合,并具有控制裝置將指定第一參數(shù)的基地址的值寫入其中的傳輸參數(shù)位置基地址寄存器,其中DMA控制器從該第一參數(shù)位置的基地址獲得第一傳輸?shù)膮?shù)。
      6.如權(quán)利要求5所述的裝置,其特征在于,所述DMA控制器從其中獲得第一傳輸參數(shù)的第一參數(shù)位置至少存儲源數(shù)據(jù)位置的基地址、目標數(shù)據(jù)位置的基地址以及構(gòu)成第一傳輸中要傳輸?shù)臄?shù)據(jù)塊的數(shù)據(jù)量。
      7.如權(quán)利要求6所述的裝置,其特征在于,DMA控制器從其中獲得第一傳輸參數(shù)的第一參數(shù)位置還存儲第一傳輸狀況位置的基地址,其中控制裝置將指示第一傳輸狀況的值寫入該第一傳輸狀況位置的基地址中。
      8.如權(quán)利要求6所述的裝置,其特征在于,DMA控制器從其中獲得第一傳輸參數(shù)的第一參數(shù)位置還存儲第二參數(shù)位置的基地址,其中DMA控制器從該第二參數(shù)位置的基地址獲得第二傳輸?shù)膮?shù)。
      9.如權(quán)利要求8所述的裝置,其特征在于,DMA控制器從其中獲得第二傳輸參數(shù)的第二參數(shù)位置還存儲第二傳輸狀況位置的基地址,其中控制裝置將指示第二傳輸狀況的值寫入該第二傳輸狀況位置的基地址。
      10.一種方法,包括將用于由DMA控制器實施的第一數(shù)據(jù)塊的傳輸?shù)牡谝唤M參數(shù)寫到存儲器裝置內(nèi)分配的第一傳輸參數(shù)位置,其中用于第一數(shù)據(jù)塊傳輸?shù)膮?shù)由第一傳輸狀況位置的基地址構(gòu)成;將第一傳輸參數(shù)位置的基地址寫入DMA控制器的寄存器;通過訪問第一傳輸參數(shù)位置以獲得要實施的數(shù)據(jù)塊的傳輸參數(shù)來觸發(fā)DMA控制器以開始實施第一數(shù)據(jù)塊的傳輸;以及訪問第一傳輸狀況位置以確定DMA控制器是否已將一值寫入第一傳輸狀況位置,指示第一數(shù)據(jù)塊的傳輸已完成。
      11.如權(quán)利要求10所述的方法,其特征在于,觸發(fā)DMA控制器以開始實施第一數(shù)據(jù)塊的傳輸還包括從第一傳輸參數(shù)位置獲得第一數(shù)據(jù)源位置的基地址,在第一數(shù)據(jù)塊的傳輸期間從該第一數(shù)據(jù)源位置讀取第一數(shù)據(jù)塊,其中第一數(shù)據(jù)源位置分配于第一存儲器裝置內(nèi);從第一傳輸參數(shù)位置獲得第一數(shù)據(jù)目標位置的基地址,在第一數(shù)據(jù)塊的傳輸期間將第一數(shù)據(jù)塊寫入該第一數(shù)據(jù)目標位置,其中第一數(shù)據(jù)目標位置分配于第二存儲器裝置內(nèi);以及從第一傳輸參數(shù)位置獲得指定要傳輸?shù)牡谝粩?shù)據(jù)塊所包含的數(shù)據(jù)量的值。
      12.如權(quán)利要求10所述的方法,其特征在于,還包括訪問第一傳輸參數(shù)位置以獲得具有用于第二數(shù)據(jù)塊傳輸?shù)牡诙?shù)組的第二傳輸參數(shù)位置的基地址。
      13.一種包括代碼的機器可訪問介質(zhì),所述代碼在由電子裝置內(nèi)的處理器執(zhí)行時使得該電子裝置將用于由DMA控制器實施的第一數(shù)據(jù)塊的傳輸?shù)牡谝唤M參數(shù)寫到存儲器裝置內(nèi)分配的第一傳輸參數(shù)位置,其中用于第一數(shù)據(jù)塊傳輸?shù)膮?shù)由第一傳輸狀況位置的基地址構(gòu)成;將第一傳輸參數(shù)位置的基地址寫入DMA控制器的寄存器;通過訪問第一傳輸參數(shù)位置以獲得要實施的數(shù)據(jù)塊的傳輸參數(shù)來觸發(fā)DMA控制器以開始實施第一數(shù)據(jù)塊的傳輸;以及訪問第一傳輸狀況位置以確定DMA控制器是否已將一值寫入第一傳輸狀況位置,指示第一數(shù)據(jù)塊的傳輸已完成。
      14.如權(quán)利要求13所述的機器可訪問介質(zhì),其特征在于,進一步使得該電子裝置從第一傳輸參數(shù)位置獲得第一數(shù)據(jù)源位置的基地址,在第一數(shù)據(jù)塊的傳輸期間從該第一數(shù)據(jù)源位置讀取第一數(shù)據(jù)塊,其中第一數(shù)據(jù)源位置分配于第一存儲器裝置內(nèi);從第一傳輸參數(shù)位置獲得第一數(shù)據(jù)目標位置的基地址,在第一數(shù)據(jù)塊的傳輸期間將第一數(shù)據(jù)塊寫入該第一數(shù)據(jù)目標位置,其中第一數(shù)據(jù)目標位置分配于第二存儲器裝置內(nèi);以及從第一傳輸參數(shù)位置獲得指定要傳輸?shù)牡谝粩?shù)據(jù)塊所包含的數(shù)據(jù)量的值。
      15.如權(quán)利要求13所述的方法,其特征在于,還包括訪問第一傳輸參數(shù)位置以獲得具有用于第二數(shù)據(jù)塊傳輸?shù)牡诙?shù)組的第二傳輸參數(shù)位置的基地址。
      全文摘要
      一種用于實施DMA傳輸?shù)难b置和方法,其中將地址寫入DMA控制器的DMA寄存器,指定提供數(shù)據(jù)塊傳輸參數(shù)或者DMA控制器要寫入數(shù)據(jù)塊的傳輸狀況的存儲器裝置內(nèi)的存儲器位置。
      文檔編號G06F13/20GK1813248SQ200480018327
      公開日2006年8月2日 申請日期2004年6月23日 優(yōu)先權(quán)日2003年6月30日
      發(fā)明者J·倪, W·福特羅 申請人:英特爾公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1