TWI296762B - Apparatus, method and machine-accessible medium comprising code for carrying out a dma transfer - Google Patents

Apparatus, method and machine-accessible medium comprising code for carrying out a dma transfer Download PDF

Info

Publication number
TWI296762B
TWI296762B TW093118788A TW93118788A TWI296762B TW I296762 B TWI296762 B TW I296762B TW 093118788 A TW093118788 A TW 093118788A TW 93118788 A TW93118788 A TW 93118788A TW I296762 B TWI296762 B TW I296762B
Authority
TW
Taiwan
Prior art keywords
transmission
location
data
parameter
dma controller
Prior art date
Application number
TW093118788A
Other languages
English (en)
Other versions
TW200508876A (en
Inventor
William T Futral
Jie Ni
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW200508876A publication Critical patent/TW200508876A/zh
Application granted granted Critical
Publication of TWI296762B publication Critical patent/TWI296762B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

1296762 玖、發明說明: 【發明所屬之技術領域】 發明領域 本發明是有關於界定在記憶體位址空間中虛擬“直接 5記憶體存取”(DMA)暫存器,以控制與監視DMA狀態之轉 換。 L iltr 發明背景 各種電腦系統結構使用多種方法,以嘗試在電腦系統 10中跨匯流排以及在裝置(包括:記憶體裝置、1/0裝置等)之 間,有效率地傳送資料塊。此等最簡單方法之一是允許 CPU(中央處理單元)從一裝置讀取資料塊,以及然後將此資 料塊寫至另一裝置。然而,此項任務通常被認為較佳適合 交付給其他替代機構,以致於CPU可以更完全致力於執行 15 更複雜計算與其他演算任務。 一種廣泛使用替代機構是添加“直接記憶體存 取’’(DMA ·· Direct Memory Access)控制器至此種電腦裝置, 以接管·在電腦糸統之系統記憶體與其他裝置之間資料塊 之移動。此種DMA控制器典型地被設計··藉由cpu將傳輸 20參數直接寫入在DMA控制器中之暫存器中,以執行資料塊 之特定傳送。然後,當執行資料塊之傳輸時,將CPu典型 地設計成詢問在DMA控制器中一或多個暫存器,以查詢此 傳輸之狀態。 然而’使用此種DMA控制器是有缺點的。雖然,cpu 1296762 被免除實際上執行資料塊傳輸之負擔,但是,由CPU詢問 =DMA控制器中暫存器以查詢傳輸狀態,健經常被認為 有政率巾且,在電腦系統許多應用中,由CPU所執行 寫入作業以程式控制在DMA控制器中之暫存器、以及CPU 5所執行讀取作業以從DMA控制器中之暫存器查詢狀態,會 被認為使用較所期望更多之時間。 …另-種廣泛使用之替代機構是將匯流排主控能力併入 電=糸統中之各彻0裝置中,以致於裝置本身能夠自動執 比仃貧料塊之傳輸。典型地設計此種傳輸,由㈣將此傳輸 之參數直接寫入於此種匯流排主控裝置之暫存器中而執行 此傳輪。然後,當執行此項資料塊傳輸時,CPU詢問在匯 流排主控裝置中一或多個暫存器,以查詢此傳輸之狀態。 然而,使用此種匯流排主控裝置是有缺點的。雖然, U CPU破免除實際上執行資料塊傳輸之負擔,但是,由咖 15所執行寫人作業以程式控制在DMA控難中之暫存器、以 及CPU所執行讀取作業,是從DMA控制器中之暫存器查詢 狀態,會被認為使用較所期望更多之時間。而且,由匯流 t主控褒置所執行之讀_f,尤其是從系統記憶體讀: 貧料塊之作業’亦會使用較被認為所期望更多之時間。 2 0 ▲本發明之目的、特性、以及優點將由以下詳細說明而 對熟習此技術人士為明顯。 ·
【發明内容J 本發明係為一種裝置,包括:第一記憶體裝置其中配 置來源資料位置,其具有被傳輸之資料塊;第二記憶體裝 1296762 置其中配置目的地資料位置,用於所傳輸之資料塊連接至 第一與第二記憶體裝置之控制裝置,且可以執行機器可讀 取指令;以及連接至控制裝置以及第一與第二裝置之DMA 控制器,且具有至少一傳輸狀態位置基本位址暫存器,此 5 控制裝置將值寫入其中以設定狀態位置之基本位址,在該 位址DMA控制器寫入值,以顯示從來源資料位置至目的地 資料位置之資料塊傳輸之狀態。 圖式簡單說明 第1圖為使用電腦系統之實施例之方塊圖; 10 第2圖為使用電腦系統之其他實施例之另一方塊圖; 第3圖為在實施資料塊傳輸之裝置間交互作用之實施 例之方塊圖; 第4圖為在實施多重資料塊傳輸之裝置間交互作用之 實施例之方塊圖; 15 第5圖為在實施多重資料塊傳輸之裝置間交互作用之 實施例之另一方塊圖; 第6圖為在實施多重資料塊傳輸之裝置間交互作用之 實施例之還有另一方塊圖; 第7圖為使用電腦系統之其他實施例之還有另一方塊 20 圖; 第8圖為一實施例之流程圖; 第9圖為另一實施例之流程圖;以及 第10圖為還有另一實施例之流程圖。 1296762 較佳實施例之詳細說明 在以下之描述中,為了說明目的列舉各種細節,以提 供對本發明徹底之暸解。然而,對於熟習此技術人士為明 顯,並不須要此等特定細節以執行以下所主張之本發明。 5 以下所主張之本發明是關於:將一種用於維持0]^八控 制器所用虛擬暫存器之支持包括於電腦系統或其他類似電 子系統之其他裝置中之儲存位置中。雖然,以下之討論集 中在電腦系統中之DMA控制器,而熟習此技術人士瞭解, 可以實施以下所主張之本發明,以支持具有DMA控制器或 10 其他類似專用邏輯之電子系統,用於在此等裝置之間移動 資料塊。 第1圖為使用電腦系統之實施例之方塊圖。電腦系統 100之至少一部份是由以下所構成:中央處理單元(cpu : central processing unit)110、匯流排 119、邏輯 120 ' 匯流排 15 149、系統記憶體140、匯流排159、以及裳置150。〇?1;11〇、 •匯流排119、邏輯120、匯流排149、以及系統記憶體14〇構 成電腦系統100核心之形式,其可以執行··儲存於系統記憶 體140及/或電腦系統1〇〇之其他裝置中之機器可讀取指 令。然而,熟習此技術之人士將輕易瞭解,這僅為電腦系 20統100核心之許多可能形式之一例,且電腦系統100更可由 未顯示之其他匯流排與裝置所構成。 在各種實施例中,CPU 110可以為多種型式CPU之任何 一種,其包括能夠執行廣為所知且使用下列指令集之至少 一部份之CPIJ :由在Santa Clara、California之Intel公司所生 1296762 . 1 產之“x86”指令集。而且,在各種可能實施例中,可以有一 個以上之CPU與其他_排及/或裝置,以提供對於一個以 上cpu(未圖示)之支持。邏輯12〇經由匯流排ιΐ9連接至 110,以及執行各種功能以支持cpu之指令執行,1包括^ 5制與提供CPU 110對系統記憶體14〇之存取,其㈣匯祕 149進-步連接至賴12〇。邏輯跡緖供對構成電腦系統 100之其他裝置之存取,例如:裝置15〇,其經由匯流排⑼ 連接至邏輯120。 在被連接至匯流排119、149、以及159中,且提供cpu 10 n〇至各系統記憶體14〇與裝置150之存取,使得可以藉由傳 送位址、命令、以及資料而實施交易,此邏輯12〇作為通常 稱為此專匯流排間之‘橋樑”。在作為橋樑中,邏輯亦將 記憶體控制器122提供給電腦系統1〇〇,以協助執行在匯流 排149上之交易,且亦提供匯流排介面127,以協助執行在 15匯流排159上之交易。為了免除CPU 110—些執行傳送資料 塊之負擔,邏輯120更提供DMA控制器130。 在各種實施例中,系統記憶體140可以為任何各種型式 之隨機存取記憶體(RAM),包括:第一頁模式(FPM)、延伸 資料輸出(EDO)、單一資料率(SDR)、或雙資料率(DDR)型 20 式之同步動態RAM(SDRAM),或使用RAMBUSDtm介面或 其他介面之RAM。設計記憶體控制器122與匯流排149,以 支持一或多個型式之記憶體及/或記憶體介面之時間及/或 協定須求。 在各種實施例中,可以設計構成電腦系統100之匯流排 1296762 159及/或其他匯流排,以符合廣為人知之任何各種形式匯 流排之特性及/或規格,其在電腦設計技術中已成為“標 準”,例如··延伸工業標準結構(EISA”微通道結構(MCA)、 周邊元件連接(PCI)、Pci-χ、pci-Express等。亦可設計匯 5流排介面127與157,以支持匯流排159之時間及/或協定須 求。 在一實施例中,CPU 110執行一系列指令,其造成CPU 110程式控制DMA控制器130,而在系統記憶體14〇中資料儲 存位置146與148間執行資料塊之傳輸。cpu 11〇以規範使傳 10輸發生之各種參數之值寫入一或多個參數暫存器133,其包 括但不受限於:資料儲存位置146與148之開始位址、顯示 所傳送資料數量(即,資料塊之大小)之值、顯示在系統記 憶體140中所設在狀態儲存位置144所提供之傳輸狀態之 值、以及在一或多個控制位元中造成傳輸發生之值。然後, 15 DMA控制為130執行此傳輸。在此傳輸執行期間,cpu 11〇 能夠可以讀取狀態儲存位置144一或多次,以確定麗八控制 器130疋否已將此值寫入至狀態儲存位置Μ*中,其顯示已 完成此傳輸。給定此為電腦系統例如電腦系統1〇〇設計中共 同之實施方式,而在CPU與系統記憶體間產生非常低可能 如之通路,其為可能CPU 110可以較習知技術從dma控制器 130中之暫存㈣取方式更快地、藉由讀取在系統記憶體 140中狀態儲存位置144,而重複檢查傳輸狀態。 在另-實施例中,CPU 110執行一系列齡,藉由將使 傳輸發生之各種參數寫人於在系統記憶則辦所設另外 10 1296762 之參數儲存位置143中,其造成CPU 110程式控制DMA控制 的130而在糸統3己憶體140中資料儲存位置ms與148間執 行資料塊之傳輸。此種參數可以包括但不受限於:資料儲 存位置I46與148之開始位址、顯示所傳送資料數量之值、 5以及顯示在狀態儲存位置144所提供之傳輸狀態之值。此亦 造成CPU 110以下列之值寫入一或多個參數暫存器133 :規 範其他參數儲存位置143之開始位置之值;在一或多個控制 位兀中作為觸發以造成傳輸發生之值。響應於此觸發,此 DMA控制器130執行此傳輸。在此傳輸執行期間,cpu 11〇 1〇此夠可以讀取狀態健存位置I44一或多次,以確定DMA控制 器130是否已將此值寫入至狀態儲存位置144中,其顯示已 完成此傳輸。 在此實施例之一變化形式中,狀態儲存位置144是為: 替代參數儲存位置143之一部份;或配置在系統記憶體14〇 15中之位址、其被預先設定對替代參數儲存位置143偏移。在 此實施例之另一變化形式中,以用於狀態儲存位置144之位 址,將DMA控制器130各別程式控制(經由參數暫存器133 或替代參數儲存位置143)。 在此實施例之還有其他變化形式中,將傳輸狀態寫入 20裝置150之裝置儲存體中之替代狀態儲存位置164,以及以 用於狀態儲存位置164之位址,將DMA控制器130各別程式 控制(經由參數暫存器133或替代參數儲存位置143)。替代狀 態儲存位置164是由配置在裝置儲存器16〇中之一或多個記 憶體位置所構成,取決於裝置150之性質,可以使用此在裝 11 1296762 置150中之記憶體緩衝器,用於任何多個可能目的,如同由 熟習此技術者所輕易暸解者。 此將傳輸狀態寫入於裝置150之裝置儲存器16〇中之替 代狀態儲存位置164中之優點為:此裝置15〇可以等候此種 5 狀態做為條件,以執行某其他任務,且可以藉由:不將狀 態寫入於系統記憶體140中之狀態儲存位置144中,而避免 非所欲之延遲;隨後,可能必須將此狀態從此系統記憶體 傳送至裝置150。此優點可以較大,如果此隨後將狀態從狀 態儲存位置144傳輸至替代狀態儲存位置164,須要裝置150 10 使用其所擁有之匯流排主控能力以讀取狀態儲存位置 144。如同熟習此技術所瞭解者,跨匯流排例如匯流排159 實施讀取作業會較須要較寫入作業更長時間完成,且亦可 將匯流排暫時鎖住。這是由於此讀取作業首先須要跨匯流 排作資料請求以讀取一件資料例如傳輸狀態,以及然後須 15要等候下一次之期間,一直到可以提供所請求之資料為 止。取決於匯流排159之設計,此讀與寫作業之一致性與順 序之規則可以要求:不使用匯流排159,或至少裝置15〇不 執行跨匯流排159之其他傳輸之至少一子集合一直至接收 到狀態為止。因此,取決於讀取作業開始時之狀態,此系 2〇 統記憶體140與裝置150、以及匯流排149與159,可以由於 回答以及完成讀取作業由狀態儲存位置144讀取狀態而被 暫時獨占。相反的,如果由DMA控制器130將狀態直接寫至 裝置15 0,則可以使用相較於通常施加在寫入作業上較不嚴 格之要求以維持一致性與次序,以致於可以允許將寫入作 12 1296762 業置於匯流排介面127之寫入緩衝器128中,且然後當可能 時,以匯流排159較少被鎖定之可能性,稍後跨匯流排159 傳輸至裝置150。 第2圖為使用電腦系統之實施例之另一方塊圖。此等在 5第2圖中編號之元件其意義通常對應於第1圖中之編號元 件,以及與第1圖之電腦系統1〇〇相同之方式,電腦系統200 之至少一部份是由以下所構成:CPU 210、匯流排219、邏 輯220、匯流排249、系統記憶體240、匯流排259、以及裝 置250。如同與電腦系統1〇〇相同之情形,熟習此技術之人 10 士可輕易瞭解,這僅是電腦系統200之核心之許多可能形式 之一例而已,且電腦系統200可以更由未圖示之其他匯流排 與裝置所構成。邏輯220經由匯流排219連接至CPU210,且 執行各種功能以支持CPU210之指令執行,包括控制與對 CPU 210提供至系統記憶體240之存取,其經由邏輯220中之 15 記憶體控制器222以及匯流排249進一步連接至邏輯22〇。邏 輯220亦可提供存取至構成電腦系統220之其他裝置,例 如·裝置250,其經由邏輯220中之匯流排介面227與匯流排 259,連接至邏輯220。 在一實施例中,CPU 210執行一系列指令(也許儲存於 20系統記憶體240中),其造成CPU 210以程式控制〇]^八控制 器230 ’而在系統§己憶體240中之資料儲存位置Mg與裝置 250中之資料儲存位置266間實施資料塊傳輸。cpU21〇將傳 輸發生之各種參數寫入至:配置於系統記憶體24〇中參數儲 存位置243中之記憶體位置中。此等參數可以包括但不受限 13 1296762 於:資料儲存位置246與266之開始位址 ;顯示傳輸資料數 Ϊ之值’以及顯不配置於系統記憶體24〇中在狀態儲存位置 244所提供傳輸狀態之值。其亦造成(::1>11 21〇以下列之值寫 入於裝置250中之-或多個參數暫存器233中:以界定參數 5儲存位置243開始位址之值、與在一或多個控制位元中作為 觸發以造成傳輸發生之值。然後,DMA控制器23〇執行傳輸 以響應此觸發。在此傳輸執行期間,cpu 21〇能夠可以讀取 狀態儲存位置244—或多次,以確定DMA控制器23〇是否已 將此值寫入至狀態儲存位置244中,其顯示已完成此傳輸。 10 在此實施例之一變化形式中,狀態儲存位置244是為: 參數儲存位置243之一部份;或配置在系統記憶體24〇中之 位址、其被預先設定對參數儲存位置243之基本位址偏移。 在此實施例之另一變化形式中,以用於狀態儲存位置244之 位址,將DMA控制器230各別程式控制(在參數暫存器233 15或參數儲存位置243中)。在此實施例之還有其他變化形式 中,將傳輸狀態寫入裝置250之裝置儲存體260中之替代狀 態儲存位置264,以及以用於替代狀態儲存位置264之位 址,將DMA控制器230程式控制,因而,如果想要的話,允 許將傳輸狀態更快速地提供給裝置250。 20 在另一實施例中,CPU 210執行一系列指令,其造成 CPU 210將DMA控制器230程式控制,藉由將使傳輸發生之 各種參數寫入配置於裝置250之裝置儲存體260中替代參數 餘存位置263中,而在資料儲存位置246與266之間執行資料 塊傳輸。如同先前,此等參數可以包括但不受限於··資料 14 1296762 儲存位置246與266之開始位置;顯示所傳輸資料數量之 值;以及顯示在替代狀態儲存位置264所提供傳輸狀態之 值。CPU 210亦被造成將以下值寫入一或多個參數暫存器 233中:規範替代參數儲存位置263開始位置之值,以及在 5 一或多個控制位元中作為觸發以造成傳輸發生之值。然 後,DMA控制器230執行傳輸以響應此觸發。在此傳輸執行 期間,裝置250或CPU 210能夠可以讀取狀態儲存位置264 一或多次,以確定D Μ A控制器230是否已將此值寫入至狀態 儲存位置264中,其顯示已完成此傳輸。 10 第3圖為從事資料塊傳輸之裝置間交互作用之實施例 之方塊圖。第3圖說明以下裝置間之交互作用:控制裝置 310、DMA控制器330、以及一或多個記憶體裝置及/或裝置 其提供儲存體以執行從來源資料儲存位置346至目的資料 儲存位置348之資料傳輸。控制裝置31〇可以為CPU(電腦系 15統或其他電子系統)、微控制器、序列器等,其能夠執行指 令312,藉由造成控制裝置310程式控制:在連接至控制裝 置310之DMA控制器330中之暫存器,而造成資料塊傳輸發 生。可定址空間340為位址位置圖,可由控制裝置310與〇]^八 控制器330存取。 20 在某些實施例中,此可定址空間340可以完全由:連接 至控制裝置310與DMA控制器330之單一系統記憶體裝置 (未圖示)所構成。此等實施例可以大致類似於第1圖之實施 例,而以與資料儲存位置146與148相同方式,使來源資料 儲存位置346與目的地資料儲存位置348位於系統記憶體裝 15 1296762 置例如系統記憶體裝置14〇中。在其他實施例中,可定址空 間340可以由記憶體裝置及/或其他裝置中之緩衝器之組合 所構成,此等裝置連接至控制裝置31〇與1)]^八控制器33〇。 此等實施例可以大致類似於第2圖之實施例,將來源資料儲 5存位置346與目的資料儲存位置348配置於不同裝置中,其 方式與將資料儲存位置246配置在系統記憶體240中、以及 將貢料儲存位置266配置在裝置250之裝置儲存體260中相 同。更準確而言,例如,來源資料儲存位置346可以位於系 統記憶體中,以及目的地資料儲存位置348可以位於另一裝 10 置之緩衝器中。 (由於執行指令312)造成控制裝置310由以下方式,準備 執行從來源資料儲存位置346至目的地資料儲存位置348之 資料塊傳輸:藉由將來源資料儲存位置346至目的地資料儲 存位置348配置之基本位址、與所傳輸資料之數量、以及狀 15悲儲存位置344之位址,寫入於參數儲存位置343中。控制 I置310亦將參數儲存位置343之基本位址寫入於DMA控制 器330中之參數暫存器333中,以及寫入一或多個位元以觸 發DMA控制器330以執行資料傳輸。 響應於此觸發’ DMA控制器330以設計於參數暫存器 20 333中之基本位址存取參數儲存位置343,以獲得:來源資 料儲存位置346至目的地資料儲存位置348之基本位址、傳 輸資料之數量、以及狀態儲存位置344之基本位址。DMA 控制裔330執行從來源資料儲存位置346至目的資料儲存位 置348之資料塊傳輸,以及將傳輸狀態寫至狀態儲存位置 16 1296762 344。控制裝置3i〇從狀態儲存位置344讀取傳輸狀態,以確 定DMA控制器330是否將此值寫入狀態儲存位置344中,以 顯示已完成資料傳輸。 第4圖為進行多重資料塊傳輸之裝置間之交互作用之 5 實施例之方塊圖。第4圖說明控制裝置410、DMA控制器 430、以及一或多個記憶體裝置及/或裝置之交互作用,其 提供儲存體以執行從:來源資料儲存位置446a至目的地資 料儲存位置448a之資料塊傳輸;以及將另一個資料塊從來 源資料儲存位置446b傳送至目的地資料儲存位置448b。此 10在第4圖中標號之元件通常對應於第3圖中所標號之元件, 以及與第3圖之控制裝置310相同,控制裝置41〇可以為 CPU(為電腦系統或其他電子裝置)、微控制器、序列器等, 其藉由程式控制連接控制裝置41〇之DMA控制器430中之暫 存器,而可以執行指令412以造成資料塊傳輸發生。可定址 15空間440為位址位置圖,其可由控制裝置410與DMA控制器 430存取。 在某些實施例中,此可定址空間440可以完全由連接至 控制裝置410與DMA控制器430之單一系統記憶體裝置(未 圖示)所構成。在其他實施例中,此可定址空間44〇可以由·· 20記憶體裝置及/或其他裝置中之緩衝器組合而成,而此等其 他裝置連接至控制裝置410與DMA控制器430。作為例子: 來源資料儲存位置446a與目的地資料儲存位置448b可以位 於系統記憶體中,以及來源資料儲存位置446b至目的地資 料儲存位置448a可以位於另外裝置之緩衝器中。 17 1296762 (由於執行指令412)造成控制裝置410由以下方式,準備 執行夕重貪料塊傳輸··藉由將來源資料儲存位置446a與 446b以及目的地資料儲存位置44如與44肋之基本位址、與 所相對應傳輸資料之數量、以及相對應狀態儲存位置料如 5與44扑之位址’寫入於相對應參數儲存位置443a與443b 中。控制裴置410亦將參數儲存位置443a之基本位址、寫入 於DMA控制器·中之參數暫存器奶中,以及寫入一或多 個位元以觸發DMA控制器43〇開始傳輸資料塊。 響應於此觸發,DMA控制器430以設計於參數暫存器 433中之基本位址存取參數儲存位置如,以獲得:來源資 料儲存位置446a至目的資料儲存位置448a之基本位址、傳 輸資料之數量、以及狀態儲存位置444a之基本位址。Dma 控制器430執行從來源資料儲存位置446a至目的地資料儲 存位置448a之貧料塊傳輸,以及將傳輸狀態寫至狀態儲存 15位置444a。DMA控制器430然後存取參數儲存位置443b,以 獲得:來源資料儲存位置446b與目的地資料儲存位置44肋 之基本位址、傳輸資料之數量、以及狀態儲存位置44扑之 基本位址。DMA控制器430然後執行從來源資料儲存位置 446b至目的地資料儲存位置448b之資料塊傳輸,以及將傳 2〇輸狀怨寫至狀態儲存位置444b。控制裝置410從狀態儲存位 置444a與444b讀取傳輸狀態,以確定DMA控制器43〇是否已 將值寫入狀悲儲存位置444a與444b,以顯示已完成資料傳 輸。 ' 在一貫施例中,此寫入於參數暫存器433中之參數儲存 18 1296762 位置443a之基本位址,作為至一或多個參數儲存位置(例 如:參數儲存位置4«a)之基本位址之指標,此等位置是設 置在一鏈中預先決定之間隔(此等間隔之長度是以程式設 計、或硬式繞線至DMA控制器430中),以致於DMA控制器 5 430只須要此鏈中第一個此種參數儲存位置之基本位址,且 DMA控制器430可以經由此鏈重複,一直至遇到具有用於資 料塊傳輸之參數之最後此種參數儲存位置為止。在此種實
施例中,控制裝置410亦可將值寫入於參數暫存器433中, 以顯示在此種鏈中參數儲存位置之數量。然而,在另一實 10施例中,各參數儲存位置可以提供在此參數儲存位置鏈中 下一個參數儲存位置之基本位址,因而免除在參數儲存位 置鏈中各參數儲存位置,必須位於此可定址空間44〇中預先 設定之間隔。在此種實施例中,在此種鏈中之最後參數位 置可以提供值以取代基本位址,其顯示已抵達此鏈中最後 15 參數儲存位置。
第5圖為在從事多重資料塊傳輸之裝置間交互作用之 實施例之另-方塊圖。第5圖說明在觀八控制器與一或多個 記憶體裝置及/或裝置之交互作用,此等裝置提供儲存體以 執行多重資料塊傳輸之間之交互作用(為了清楚說明起 20見’並未實際顯示資料塊)。在第頂中所編號元件复音義 通讀應第4圖中之編號元件,且與第4圖相同之方^此 可疋址空間540為位址位置圖,可由控制裝置(未圖示)與 DMA控制器53〇存取。 與第4圖類似之方式,在此可定址空間540中配置多個 19 1296762 參數儲存位置(543a至543d),且類似於關於第4圖所詳細討 觸者’ DMA控制器53時取各參數儲存位置5438至543(1,以 獲得··來源資料與目的地資料儲存位置之基本位址、傳輸 二貝料之數量、以及用於狀態儲存位置之相對應基本位址, 5其中之寫入值顯示各傳輸狀態。然而,不同於有關第4圖所 討論之實施例,第5圖說明實施例其中相同位置,即,狀態 儲存位置544是指出至從參數儲存位置54如至54如中作為 單一共同位置,而由DMA控制器530將各傳輸狀態寫入。此 種單一狀態儲存位置之使用,允許控制裝置以可定址空間 10 540對僅一個位置重複存取,以監視多重傳輸之狀態。在此 種實施例中,此由DMA控制器530寫入於狀態儲存位置544 中之值,可以額外地包括某種形式之辨識值,以允許控制 裝置在·已完成之傳輸及/或目前正在進行之傳輸間區別。 第5圖亦說明使用參數暫存器533,以提供第一與最後 15參數儲存位置之基本位址,作為一種方式以:觸發開始作 一或多個資料塊之傳輸,與計算在此傳輸鏈中存在多少傳 輸。如同先前所討論,某些實施例可以使用在基本位址間 位址空間之預設間隔,以此間隔在可定址空間54〇中設置各 參數儲存位置,以及其他實施例可以使用在各參數儲存位 20置中之指標,以提供參數儲存位置鏈中下一個參數儲存位 置之基本位址,用於執行相對應之多重傳輸。 第6圖為在從事多重資料塊傳輸之裝置間交互作用之 貫施例之另一方塊圖。第6圖尤其說明在DMA控制器與一或 多個記憶體裝置及/或裝置之交互作用,此裝置提供儲存體 20 1296762 貝枓塊)。在第6圖中所編號元件复 未貝U不 編號元件。且與第5圖類似之方式中之 配置多個參_#^43_43/此可歧空間640中 5 10 15 20 所詳細討論者),且類似於關於第5圖 至643c 控制器咖存取各參數储存位置⑷a 位址、二!;;之:!資料與9的地資料儲存位置之基本 基本位及用於狀態儲存位置之相對應 右關— 之寫人值顯示各傳輸狀態。然而,不同於 弟6圖所討論之實施例,第6圖說明以非均勻間隔之方 在可定址空間640中配置參數儲存位置643a至643c,且 =在各參數儲存位置所提供祕下—個參數儲存位置之 仏°在執行各傳射’ DMA控制ϋ 630存取至下—個參數 儲存位置之指標,以獲得下—個參數齡位置之基本位 直至存取在參數儲存位置643c中之指標,以獲得另 一個參數儲存位置之基本位址為止,其提供指標以顯示不 在有參數儲存位置具有用於資料塊傳輸之參數,在此點 DMA控制器630停止執行資料塊之傳輸。 第6圖亦說明使用指至狀態儲存位置之指標,以提供資 料傳輸狀態,其將參數儲存位置643a至643c對應於共同狀 態儲存位置(即,狀態儲存位置644ac),以及提供資料傳輸 狀態,其將參數儲存位置643b對應於不同之狀態儲存位置 (即,狀態儲存位置644b)。使用此種各別與共同狀態儲存位 置言正明是有利的:其多重傳輸是有關於由電腦系統執行一 功能,DMA控制器630為其一部份;而其他之傳輸是有關於 21 1296762 執行在相同電腦系統中不同功能。更特定而言,狀態儲存 位置644ac與644b可以配置於··不同之記憶體裝置及/或具有 δ己t思體緩衝器之裝置中。作為例子,狀態儲存位置644ac可 以配置於系統記憶體中,以致於CPU可以有效率地監視相 5 對應傳輸之狀態;而狀態儲存位置644可以配置於由另一裝 置所提供之記憶體緩衝器中,以致於其他裝置可以有效率 地監視相對應傳輸之狀態。 第7圖為使用電腦系統實施例之另一方塊圖。在第7圖 中所編號之元件其意義通常對應於第2圖中之編號元件,且 10 與第2圖中電腦系統2〇〇相同方式,電腦系統700至少部份是 由下列所構成:CPU 710、匯流排719、邏輯720、匯流排 729、系統記憶體74〇、匯流排759、以及裝置750。如同電 腦系統200之情形,熟習此技術人士可以輕易瞭解,這只是 電腦系統200核心之許多可能型式之一例而已,且電腦系統 15 200更由其他未圖示之匯流排與裝置所構成。邏輯720經由 匯流排719連接CPU710,且執行各種功能以支持CPU 710 包括:提供CPU 710且控制其對系統記憶體740之存取,此 記憶體更經由邏輯720中之記憶體控制器722與匯流排749 連接至邏輯720。邏輯720亦提供存取至構成電腦系統700其 2〇 他裝置,例如裝置750,其經由:邏輯720中之匯流排介面 727、匯流排759、以及裝置750中之匯流排介面757連接至 邏輯720。 CPU 710執行儲存於系統記憶體740中之一系列指令 712,其造成CPU 710程式控制DMA控制器730,以執行從 22 1296762 配置於系統記憶體740中之資料儲存位置746、至裝置75〇之 裝置儲存體760中之資料儲存位置766、之資料塊傳輸。cpu 710亦將傳輸發生之各種參數寫入於配置於系統記憶體74〇 中之DMA傳輸參數儲存位置743中之記憶體位置中。此種參 5數可以包括但不受限於··資料儲存位置746與766之開始位 址、顯示所傳送資料數量之值、以及此值其顯示此傳輸狀 態是在配置於裝置儲存器76〇中之DMA傳輸狀態儲存位置 764所提供。此亦造成cpu 71〇以下列之值寫入在〇以八控制 器730中之一或多個參數暫存器733 ·•規範DMA傳輸參數儲 10存位置743之開始位置之值;在一或多個控制位元中作為觸 务以造成傳輸發生之值。然後,DMA控制器73〇執行此傳 輸。在此傳輸執行期間,CPU爪及/或裝置能夠可以 讀取DMA傳輸狀態儲存位置764一或多次,以確定dma控 制為730疋否已將此值寫入至DMA傳輸狀態儲存位置剔 15中,其顯示已完成此傳輸。 710亦執行多個系列指令712,其造成 20 式控制裝置750,以執行從配置於裝置7辦裝置儲存體· 中之資料儲存位置768、至配置於系統記憶體74q中資料儲 存位置748、之資料塊傳輸。咖71〇亦將資各種資料塊傳 輸發生之各種參數寫入於裝置傳輸參數暫存器768中。此種 參數可以包括但不受限於:資料儲存位置768與748之開始 位址、顯示所傳送資料數量之值。然後,裝置乃晚行: 輸。 使用DMA控制器730將資料從系、统記憶體74〇傳輸至 23 1296762 裝置750,以及使用裝置750之匯流排主控功能,將資料從 裝置750傳送至系統記憶體74〇,可以較只使用DMA控制器 730或裝置750提供更大效率以移動資料塊而執行此兩項傳 輸。以此方式,其各項傳輸作為跨匯流排之759之一或多個 5 寫入操作實施,而利用相對應匯流排介面727與757所提供 之寫入緩衝器728與758。此寫入緩衝器728之使用,允許此 由DMA控制器730經由匯流排759寫至裝置儲存器760之資 料被緩衝或“置放”(post),以致於資料之一部份從寫入緩衝 器728經由匯流排759傳輸至裝置儲存器76〇,而DMA控制器 10 730可以從系統記憶體740讀取另一部份資料。相對應地, 藉由裝置750之匯流排主控功能而使用寫入缓衝器758,允 許此由裝置750經由匯流排759寫至系統記憶體74〇之資料 被“置放”,以致於資料之一部份從寫入緩衝器758經由匯流 排759傳輸至系統記憶體740,而裝置75〇可以從裝置儲存體 15 760讀取另一部份資料。 在某些實施例中,DMA控制器73〇與裝置75〇之匯流排 主控功能之組合使用,可以藉由CPU71()執行由對應於裝置 之裝置驅動器所提供之-系列指令而實現。此種裝置驅 動器可以與作業祕交互作用’其由咖7财電腦7〇〇之 20 正常操作中執行’其藉由以下方式以增加在裝置中裝置 健存體與系統記憶體740之間資料傳輸之效率:藉由避 免使用裝置7 5 0之匯流排主控功能從系統記憶體彻讀取資 料,以及避免使用譏控制器730從敦置儲存體76〇讀取資 料〇 、、 24 1296762 第8圖為實施例之流程圖。在步驟810,將所傳輸資料 之來源與目的地位置之基本位址、傳輸資料之數量、以及 此傳輸狀態所寫至之狀態位置之基本位址,均經由DMA暫 存器或其他機構提供至DMA控制器。此DMA控制器被通知 5開始執行DMA傳輸且在步驟820開始傳輸。在步驟83〇,當 執行此傳輸時,CPU或其他裝置從此狀態位置讀取傳輸狀 態’而DMA控制器將狀態寫入於此狀態位置中。在步驟 840’如果DMA控制器尚未將此顯示傳輸已完成之值寫入此 應將狀態寫入其中之狀態位置中,則在步驟83〇產生另一個 10狀態讀取。否則,如果DMA控制器已將此顯示傳輸已完成 之值寫入此應將狀態寫入其中之狀態位置中,則此流程達 到終點。 第9圖為資料塊傳輸另一實施例之流程圖。在步驟 910,此所傳輸裝置包括但不受限於:此所傳輸資料之資料 15來源與目的地位置之基本位址、所傳輸資料之數量、將傳 輸狀態寫入其中之狀態位置之基本位址。將此等傳輸參數 均寫入系統記憶體、或其他記憶體裝置、或具有可定址記 憶體例如緩衝器之裝置中之參數位置中。在步驟92〇,將在 步驟910將傳輸參數寫入其中之參數位置之基本位址,經由 20 DMA暫存器或其他機構提供給DMA控制器。此DMA控制 器被通知開始執行傳輸,並且在步驟93〇執行傳輸。在步驟 940 ’當執行此傳輪時,cpu或其他裝置從可定址狀態位置 頃取DMA之傳輪狀態,而由DMA控制器將此狀態寫入於此 位置中。在步驟95〇,如果dma控制器尚未將此顯示傳輸已 25 1296762 完成之值寫入此應將狀態寫入其中之狀態位置中,則在步 驟940產生另一狀態讀取。否則,如果dma控制器已將此顯 示傳輸已完成之值寫入此應將狀態寫入其中之狀態位置 中,則此流程達到終點。 5 第10圖為一實施例之流程圖。在步驟1010,將參數集 合例如:資料來源與目的地位置之基本位址、資料之數量、 以及狀態位置之基本位址,寫入於用於多個傳輸之多個參 數位置,而以各多個傳輸位置對應於將被執行之各多個傳 輸。在步驟1020,將傳輸參數寫入其中之多個參數之第一 1〇個之基本位址、經由DMA暫存器或其他機構提供給DMA控 制器。DMA控制器被通知開始執行DMA傳輸,並且在步驟 1030執行此傳輸,以及當在步驟1〇3〇完成執行dma傳輸 時,則在步驟1040將此顯示DMA傳輸完成之狀態寫入於^ 應於此傳輸之狀態位置中。如果在步驟75〇,其顯示此具有 15用於另一尚待執行傳輸之參數之另一參數位置,則在步驟 1〇3〇執行傳輸。否則’如果不再有對應於尚待執行傳輪之 參數位置,則此流程達到終點。 ,
在各上述實施例中,其中配置多個傳輸參數位置,以 支持執行多個傳輸,此等實施例可以具有變化,其中,j 20以用循環或“先進先出,,方式使用傳輸參數位置,其中參= 位置作為回路使用1致於其被重複重新使㈣新= 輸。當傳輸參數位置使用指標、以導引〇]^八控制器至可p 找到下-個傳輸參數位置之基本位址時,可以使用°此= 標,以致於此“最後”傳輪參數位置之指標可以指向“第—I 26 1296762 I ' 傳輸參數位置。當傳輪參數位置不使用指標時,而依靠以 預先設定間隔設置於記憶體裝置(或提供儲存位置之其他 裝置)之可定址空間中,則DMA控制器可以設有顯示,其傳 輸參數位置並非是在傳輸參數位置鏈中最後一個,以致於 5 此DMA控制器可以“迴路回,,至鏈中第一個。 以上本發明以較佳實施例說明。由於以上說明,對於 熟習此技術之人士應為明顯,可以對其作各種替代、修正、 變化、以及應用。熟習此技術之人士瞭解,可以實施本發 明以支持電腦系統以外之電子裝置,例如:聲頻/視頻娛樂 10 裝置、車輛中之控制裝置、以及由電路控制之裝置等。 【圖式簡單說明】 第1圖為使用電腦系統之實施例之方塊圖; 第2圖為使用電腦系統之其他實施例之另一方塊圖; 第3圖為在實施資料塊傳輸之裝置間交互作用之實施 15 例之方塊圖; 第4圖為在實施多重資料塊傳輸之裝置間交互作用之 實施例之方塊圖; 第5圖為在實施多重資料塊傳輸之裝置間交互作用之 實施例之另一方塊圖; 20 第6圖為在實施多重資料塊傳輸之裝置間交互作用之 實施例之還有另一方塊圖; 第7圖為使用電腦系統之其他實施例之還有另一方塊 圖; 第8圖為一實施例之流程圖; 27 1296762 第9圖為另一實施例之流程圖;以及 第10圖為還有另一實施例之流程圖。 【圖式之主要元件代表符號表】 110···中央處理單元 119···匯流排 120…邏輯 122···記憶體控制器 127…匯流排介面 128…寫入緩衝器 130—DMA控制器 133…參數暫存器 140···系統記憶體 143…替代參數儲存位置 144…狀態儲存位置 146···資料儲存位置 148···資料儲存位置 149···匯流排 150…裝置 157···匯流排介面 158···寫入緩衝器 159…匯流排 160···裝置儲存體 164…替代狀態儲存位置 210···中央處理單元 219···匯流排 220…邏輯 222···記憶體控制器 227…匯流排介面 228…寫入緩衝器 230—DMA控制器 233…參數暫存器 240··•系統記憶體 243…參數儲存位置 244…狀態儲存位置 246···資料儲存位置 249···匯流排 250…裝置 257···匯流排介面 258…寫入緩衝器 259···匯流排 260···裝置儲存體 263…替代參數儲存位置 264…替代狀態儲存位置 266···資料儲存位置 310…控制裝置
28 1296762 312…指令 633·· •參數暫存器 330···ϋΜΑ控制器 640·· •可定址空間 333…參數暫存器 643a 、643b…參數儲存位置 340···可定址空間 644ac、644b…狀態儲存位置 343…參數儲存位置 710·· •中央處理單元 344…狀態儲存位置 712·· •指令 346···來源資料儲存位置 719·· •匯流排 348···目的地資料儲存位置 720·· •邏輯 410…控制裝置 722·· •記憶體控制器 412…指令 727·· •匯流排介面 430···ϋΜΑ控制器 728·· •寫入緩衝器 433···參數暫存器 730·· •DMA控制器 440···可定址空間 733" •DMA傳輸參數暫存器 443a、443b…參數儲存位置 740·· •系統記憶體 444a、444b…狀態儲存位置 743·· •DMA傳輸參數儲存位置 446a、446b…來源資料儲存位置 746·· •資料儲存位置 448a、448b…目的地資料儲存 748" •資料儲存位置 位置 749" •匯流排 530—DMA控制器 750·· •裝置 533···參數暫存器 757·· •匯流排介面 540···可定址空間 758" •寫入緩衝器 543a、543b…參數儲存位置 759" •匯流排 544…狀態儲存位置 760·· •裝置儲存體 630—DMA控制器 763·· •裝置傳輸參數暫存器
29 1296762 764...DMA傳輸狀態儲存位置 910、920…步驟 766···資料儲存位置 1010、1020…步驟 768···資料儲存位置 810、820…步驟
30

Claims (1)

1296762 96. 10. 2 9 7 一 年月曰修止替換頁 拾、申請專利範圍: 第93118788號申請案申請專利範圍修正本 96.10.29. I 一種用於執行直接記憶體存取(DMA)傳輸之裝置,包 括: 第一記憶體裝置,其中配置來源資料位置,其具有 被傳輸之資料塊; 第二記憶體裝置,其中配置目的地資料位置,用於 所傳輸之資料塊; 連接至第一與第二記憶體裝置之控制裝置,且可以 執行機器可讀取指令;以及 連接至控制裝置以及第一與第二記憶體裝置之直 接記憶體存取(DMA)控制器,且其具有至少一傳輸狀態 位置基本位址暫存器,此控制裝置將值寫入其中,該值 為每一傳輸設定狀態位置之基本位址,在該位址DMA 控制器寫入值,以顯示從來源資料位置至目的地資料位 置之資料塊傳輸之狀態。 2·如申凊專利範圍第1項之裝置,其中DMA控制器具有參 數暫存器,此控制裝置至少將以下寫入其中:來源資料 位置之基本位址、目的地資料位置之基本位址、以及構 成此所傳輸資料塊之資料數量。 3·如申請專利範圍第1項之裝置,其中DMA控制器具有至 少一傳輸參數位置基本位址暫存器,此控制裝置將設定 參數位置基本位址之值寫入其中,從此位址DMA控制器 獲得傳輸資料塊之參數。 31 1296762 ._ _..分 .:;-Γ / : 4·如申凊專利範圍第3項之裝置,其中此DMA控制器從其 獲付傳輪參數之參數位置至少儲存:來源資料位置之基 本位址、目的地資料位置之基本位址、以及構成此所傳 輸資料塊之資料數量。 5 5· 一種用於執行直接記憶體存取傳輸之裝置,包括: 第—記憶體裝置其中配置來源資料位置,其具有從 第一傳輪中所傳輸之資料塊; 第二記憶體裝置其中配置目的地資料位置,用於在 第一傳輸中所傳輸之資料塊; 10 連接至第一與第二記憶體裝置之控制裝置,且可以 執行機器可讀取指令;以及 連接至控制裝置以及第一與第二記憶體裝置之 DMA控制器,且具有傳輸參數位置基本位址暫存器,此 控制裝置將設定第一參數位置基本位址之值寫入其 15 中,從此位址DMA控制器在傳輸時間獲得第一傳輸之參 數。 " 6·如申請專利範圍第5項之裝置,其中此DMA控制器從其 獲得第一傳輸參數之第一參數位置至少儲存:來源資料 位置之基本位址、目的地資料位置之基本位址、以及構 20 成此第一傳輸中所傳輸資料塊之資料數量。 7.如申請專利範圍第6項之裝置,其中此DMA控制器從其 獲得第一傳輸參數之第一參數位置更儲存:第一傳^狀 態位置之基本位址’此控制裝置將顯示此第一傳輪狀維 之值寫入其中。 32 1296762 8.如申請專利範圍第6項之裝置,其中此DMA控制器從其 獲得第一傳輸參數之第一參數位置更儲存:第二參數位 置之基本位址,DMA控制器從該位址獲得第二傳輸之參 數。 5 9·如申請專利範圍第8項之裝置,其中此DMA控制器從其 獲得第二傳輸參數之第二參數位置更儲存:第二傳輸狀 態位置之基本位址,控制裝置將顯示第二傳輸狀態之值 寫入其中。 10· —種用於執行直接記憶體存取傳輸之方法,其包括下列 10 步驟: 將由DMA控制器所執行用於第_資料塊傳輸之第 一組參數寫至:配置於記憶财置巾第—傳輸參數位 其中此用於第—資料塊傳輸之參數是由第-傳輸狀 態位置之基本位址所構成; 15 20 將第一傳輸參數位置之基, 签不位址寫入至DMA控制 器之暫存器中; 田仔取第 妒U 丨㈣,職罝,以觸發DMA控制器開 。執仃苐-:轉塊之傳輸,以 料塊之傳輪參數;以及 叫間獲付所執订貢 存取此第一傳輸狀態位址 已將一佶宦 Λ確疋:dma控制器是否 等值寫入於第一傳輸狀態位 -資料塊之傳輸。 〜、、員不已完成此第 u·如申請專利範圍第10項之方法, 開始執杆裳一 ,、肀此觸發DMA控制器 執仃弟一貧料塊之傳輸更包括· 33
1296762 從第一傳輸參數位置獲得第一資料來源位置之基 本位址,在第一資料塊傳輸期間從此位址讀取第一資料 塊,其中此第一資料來源位置是配置於第一記憶體裝置 中; m 5 從第一傳輸參數位置獲得第一資料目的地位置之
基本位址,在第一資料塊傳輸期間對此位址寫入第一資 料塊,其中此第一資料目的地位置是配置於第二記憶體 裝置中;以及 從第一傳輸參數位置獲得一值其設定資料數量,此 10 數量構成此所傳輸之第一資料塊。 12. 如申請專利範圍第10項之方法,更包括:存取第一傳輸 參數位置以獲得第二傳輸參數位置之基本位址,其具有 用於傳輸第二資料塊之第二組參數。 13. —種包含有程式碼之機器可存取媒體,當該程式碼由電 15 子裝置中處理器執行時,造成此電子裝置: 將由DMA控制器執行用於傳輸第一資料塊之第一 組參數,寫至配置於記憶體裝置中之第一傳輸參數位 置,其中,此用於傳輸第一資料塊之參數是由第一傳輸 狀態位置之基本位址所構成; 20 將第一傳輸參數位置之基本位址在傳輸時間寫入 於DMA控制器之暫存器中; 藉由存取第一傳輸參數位置,獲得所執行資料塊傳 輸之參數,以觸發DMA控制器開始執行第一資料塊之傳 輸;以及 34 1296762
存取此第一傳輸狀態位址以確定:D Μ A控制器是否 已將一值寫入於第一傳輸狀態位置,其顯示已完成此第 一資料塊之傳輸。 14. 如申請專利範圍第13項之機器可存取媒體,其中更造成 5 此電子裝置: 從第一傳輸參數位置獲得第一資料來源位置之基 本位址,在第一資料塊傳輸期間從此基本位址讀取第一 資料塊,其中此第一資料來源位置是配置於第一記憶體 裝置中; 10 從第一傳輸參數位置獲得第一資料目的地位置之 基本位址,在第一資料塊傳輸期間將第一資料塊寫入此 基本位址,其中此第一資料目的地位置是配置於第二記 憶體裝置中;以及 從第一傳輸參數位置獲得一值其設定資料數量,此 15 數量構成此所傳輸之第一資料塊。 15. 如申請專利範圍第13項之機器可存取媒體,更包括存取 第一傳輸參數位置以獲得第二傳輸參數位置之基本位 址,其具有用於傳輸第二資料塊之第二組參數。 16. 如申請專利範圍第1項之裝置,其進一步包含: 20 耦接於該DΜA控制器和該第一記憶體裝置之間的 一第一標準化匯流排;以及 耦接於該D Μ A控制器和該第二記憶體裝置之間的 一第二標準化匯流排。 17. 如申請專利範圍第1項之裝置,其中該DMA控制器形成 35 1296762 «_____ 9410月2 9日修(/)正替換頁 忒第一記憶體裝置和該第二記憶體裝置間之一橋接器。 18·如申請專利範圍第1項之裝置,其中該第-記憶體裝置 係和該第二記憶體裝置為同一裝置。 5 I9·如申請專利範圍第1項之裝置,其中該第一記憶體裝置 與該第二記憶體裝置係在該控制裝置之同一可定址空 間内。 2〇·如申請專利範圍第丨項之裝置,其中該控制裝置在執行 機器可讀式指令期間寫入一值,該值為每一異動指定一 狀態位置之一基本位址。 21·如申請專利範圍第1〇項之方法,其中存取該第一傳輪狀 態包括一處理器讀取該第一傳輸狀態; 且進一步包含一DMA控制器將一值寫入該第一傳 輪狀態。 36 1296762 柒、指定代表圖: (一) 本案指定代表圖為:第(1 )圖。 (二) 本代表圖之元件代表符號簡單說明: 110···中央處理單元 119···匯流排 120…邏輯 122···記憶體控制器 127…匯流排介面 128···寫入緩衝器 130···ϋΜΑ控制器 133…參數暫存器 140···系統記憶體 143···替代參數儲存位置 144…狀態儲存位置 146···資料儲存位置 148…資料儲存位置 149···匯流排 150…裝置 157···匯流排介面 158···寫入記憶體 159···匯流排 160…裝置儲存體 164…替代狀態儲存位置 捌、本案若有化學式時,請揭示最能顯示發明特徵的化學式
TW093118788A 2003-06-30 2004-06-28 Apparatus, method and machine-accessible medium comprising code for carrying out a dma transfer TWI296762B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/610,660 US7120708B2 (en) 2003-06-30 2003-06-30 Readdressable virtual DMA control and status registers

Publications (2)

Publication Number Publication Date
TW200508876A TW200508876A (en) 2005-03-01
TWI296762B true TWI296762B (en) 2008-05-11

Family

ID=33541181

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093118788A TWI296762B (en) 2003-06-30 2004-06-28 Apparatus, method and machine-accessible medium comprising code for carrying out a dma transfer

Country Status (9)

Country Link
US (1) US7120708B2 (zh)
EP (1) EP1639481B1 (zh)
JP (2) JP4800207B2 (zh)
KR (1) KR100868395B1 (zh)
CN (1) CN100421097C (zh)
AT (1) ATE379812T1 (zh)
DE (1) DE602004010399T2 (zh)
TW (1) TWI296762B (zh)
WO (1) WO2005006201A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI258077B (en) * 2004-05-11 2006-07-11 Winbond Electronics Corp Method of DMA and program DMA controller for card reader
US7579683B1 (en) 2004-06-29 2009-08-25 National Semiconductor Corporation Memory interface optimized for stacked configurations
EP1617335A1 (fr) * 2004-07-12 2006-01-18 Stmicroelectronics SA Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé
GB2433611A (en) * 2005-12-21 2007-06-27 Advanced Risc Mach Ltd DMA controller with virtual channels
US20080082715A1 (en) * 2006-09-29 2008-04-03 Honeywell International Inc. Data transfers over multiple data buses
KR100891508B1 (ko) * 2007-03-16 2009-04-06 삼성전자주식회사 가상 디엠에이를 포함하는 시스템
DE102007029833B4 (de) * 2007-06-28 2019-03-28 Texas Instruments Deutschland Gmbh Mikrocontroller mit Datenmodifikationsmodul und System umfassend ein Datenmodifikationsmodul
US7822885B2 (en) * 2007-10-16 2010-10-26 Applied Micro Circuits Corporation Channel-less multithreaded DMA controller
JP5268841B2 (ja) * 2009-09-11 2013-08-21 三菱電機株式会社 情報処理装置
JP5527512B2 (ja) * 2009-09-28 2014-06-18 ソニー株式会社 バスプロトコル変換装置及びバスプロトコル変換方法
JP5351339B2 (ja) * 2010-06-07 2013-11-27 株式会社日立製作所 データ転送装置及びデータ転送方法
TWI465905B (zh) 2010-09-22 2014-12-21 Toshiba Kk 記憶體系統、主機控制器、及直接記憶體存取之控制方法
US8959278B2 (en) * 2011-05-12 2015-02-17 Freescale Semiconductor, Inc. System and method for scalable movement and replication of data
DE102016211768A1 (de) * 2016-06-29 2018-01-04 Robert Bosch Gmbh Speicherdirektzugriffssteuereinrichtung und Betriebsverfahren hierfür
CN107643992B (zh) * 2017-09-27 2020-09-08 成都忆芯科技有限公司 PCIe控制器与使用PCIe控制器的环回数据通路
CN109739805B (zh) * 2018-12-27 2023-06-23 北京中星微电子有限公司 配置模块的参数的方法和配置模块的参数的装置
CN113032300A (zh) * 2021-03-23 2021-06-25 安谋科技(中国)有限公司 数据的传输控制方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04177445A (ja) * 1990-11-08 1992-06-24 Nec Corp ディスクリプタ制御方式
JPH04324561A (ja) * 1991-04-25 1992-11-13 Shikoku Nippon Denki Software Kk Dma情報のポーリング制御装置
EP0544083A3 (en) * 1991-11-26 1994-09-14 Ibm Interleaved risc-type parallel processor and processing methods
JPH0696007A (ja) * 1992-09-17 1994-04-08 Fujitsu Ltd Dma転送方式
US5828903A (en) * 1994-09-30 1998-10-27 Intel Corporation System for performing DMA transfer with a pipeline control switching such that the first storage area contains location of a buffer for subsequent transfer
US5687395A (en) * 1994-10-28 1997-11-11 Hewlett-Packard Company Main memory buffer for low cost / high performance input/output of data in a computer system
US5828901A (en) * 1995-12-21 1998-10-27 Cirrus Logic, Inc. Method and apparatus for placing multiple frames of data in a buffer in a direct memory access transfer
KR0160193B1 (ko) * 1995-12-30 1998-12-15 김광호 직접메모리접근 제어장치
US6049842A (en) * 1997-05-01 2000-04-11 International Business Machines Corporation Efficient data transfer mechanism for input/output devices
US6065071A (en) 1998-03-26 2000-05-16 Nvidia Corporation Method and apparatus for trapping unimplemented operations in input/output devices
US6023738A (en) 1998-03-30 2000-02-08 Nvidia Corporation Method and apparatus for accelerating the transfer of graphical images
US6134607A (en) * 1998-04-03 2000-10-17 Avid Technology, Inc. Method and apparatus for controlling data flow between devices connected by a memory
US6202106B1 (en) 1998-09-09 2001-03-13 Xilinx, Inc. Method for providing specific knowledge of a structure of parameter blocks to an intelligent direct memory access controller
JP3206568B2 (ja) * 1998-10-28 2001-09-10 日本電気株式会社 Dma制御方法及び装置
US6314478B1 (en) * 1998-12-29 2001-11-06 Nec America, Inc. System for accessing a space appended to a circular queue after traversing an end of the queue and upon completion copying data back to the queue
GB2371641B (en) * 2001-01-27 2004-10-06 Mitel Semiconductor Ltd Direct memory access controller for circular buffers
US7287101B2 (en) 2003-08-05 2007-10-23 Intel Corporation Direct memory access using memory descriptor list

Also Published As

Publication number Publication date
JP2007520770A (ja) 2007-07-26
ATE379812T1 (de) 2007-12-15
TW200508876A (en) 2005-03-01
US20040267979A1 (en) 2004-12-30
DE602004010399T2 (de) 2008-10-09
WO2005006201A1 (en) 2005-01-20
KR20060028705A (ko) 2006-03-31
KR100868395B1 (ko) 2008-11-11
JP5275414B2 (ja) 2013-08-28
EP1639481B1 (en) 2007-11-28
CN100421097C (zh) 2008-09-24
EP1639481A1 (en) 2006-03-29
DE602004010399D1 (de) 2008-01-10
JP4800207B2 (ja) 2011-10-26
JP2011204269A (ja) 2011-10-13
US7120708B2 (en) 2006-10-10
CN1813248A (zh) 2006-08-02

Similar Documents

Publication Publication Date Title
TWI296762B (en) Apparatus, method and machine-accessible medium comprising code for carrying out a dma transfer
EP2912558B1 (en) Apparatuses and methods for memory operations having variable latencies
CN103366794B (zh) 用于减少接脚数内存总线接口的装置及方法
JP3819004B2 (ja) メモリ制御装置
CN107710175A (zh) 存储器模块以及操作系统和方法
KR920010951B1 (ko) 데이타 제어장치 및 그것을 사용하는 시스템
JP4531223B2 (ja) 集合的メモリを共有する複数のプロセッサを備えたデータ処理装置
KR100261787B1 (ko) 테스트 및 자기진단 메카니즘
CN113703818A (zh) 设备升级方法和装置、计算机设备和计算机可读存储介质
JP2985496B2 (ja) Dma転送方式
JP2004126645A (ja) メモリ制御装置
TW321723B (en) Testing and diagnostic mechanism
JPH03136156A (ja) バススレーブ装置
JP2593935B2 (ja) ダイレクトメモリアクセス装置
JPH01131596A (ja) ビデオ更新構成体を含むコンピュータワークステーション
Wallach Preliminary Specification
JPS63101953A (ja) 記憶装置
JPS63156263A (ja) アダプタのメインテナンス方式
JPH02244350A (ja) 主記憶装置アクセス方式
JPS63292355A (ja) Dma転送制御方式
JPS62187956A (ja) Dma制御方式
JPS6330953A (ja) バス制御方式
JP2006113862A (ja) Lsiの論理検証方法、および装置
JPS62168246A (ja) メモリ書込み制御方式
JPH01183753A (ja) 入出力制御装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees