TW200844749A - Direct memory access controller - Google Patents

Direct memory access controller Download PDF

Info

Publication number
TW200844749A
TW200844749A TW096147710A TW96147710A TW200844749A TW 200844749 A TW200844749 A TW 200844749A TW 096147710 A TW096147710 A TW 096147710A TW 96147710 A TW96147710 A TW 96147710A TW 200844749 A TW200844749 A TW 200844749A
Authority
TW
Taiwan
Prior art keywords
dma
dma controller
bus
channel
cpu
Prior art date
Application number
TW096147710A
Other languages
English (en)
Other versions
TWI443519B (zh
Inventor
Joseph W Triece
Rodney J Pesavento
Gregg D Lahti
Steven Dawson
Original Assignee
Microchip Tech Inc
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 Microchip Tech Inc filed Critical Microchip Tech Inc
Publication of TW200844749A publication Critical patent/TW200844749A/zh
Application granted granted Critical
Publication of TWI443519B publication Critical patent/TWI443519B/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/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • G06F13/34Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer with priority control
    • 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
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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
    • 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
    • G06F13/285Halt processor DMA
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Description

200844749 九、發明說明: 【發明所屬之技術領域】 本申請案技術領域係關於-種直接記憶體存取控制器。 【先前技術】 在微處理器系統、整合式微控制器料中典型使用直接 記憶體存取控制器(DMA)。使心隐控制器以獨立於電腦 系統之中央處理單元來執行自記憶體至周邊裝置與自周邊 裝置至記憶體之資料傳送。為此目的,可將舰八控制器視 為具有有限能力的第二可程式化處理單元。一般而言,指 示DMA控制器傳送來自來源位置的特定量之資料至目的地 位置。來源可係在記憶體内,例如,微控制器的資料記憶 體、周邊裝置的記憶體或由周邊裝置產生或在周邊裝置内 可存取的資料,諸如類比轉數位轉換器、埠、擷取比較單 元等周邊裝置。目的地亦可係在記憶體内,因此允許在電 腦系統或微控制器的記憶體裝置内高速傳送。但是,目的 地亦可係周邊裝置,諸如數位轉類比轉換器、埠等。為了 傳送來自來源的資料至目的地,DMA控制器必須接收各自 的來源位址與目的地位址。此外,需要指定每一傳送長 度。為此目的,DMA控制器需要接收資料傳送的長度或待 傳送之資料的開始與結束位址。 另外,使用DMA控制器以支援系統中的中央處理單元 (CPU),尤其對於冗長的資料傳送。接著,使cpu可用於 執行其它功能。但是,CPU與DMA控制器共用相同的記憶 體匯流排系統。因此,為了阻止在存取匯流排時介於cpu 127490.doc 200844749 與DMA之間的任何類型衝突(其可使DMA受到CPU拖延時 間),DMA的優先權通常優先於CPU,當正在進行傳送 時,禁止CPU存取記憶體匯流排。即使CPU可執行未涉及 存取共用之記憶體匯流排的其它功能,此DMA優先權仍然 可限制系統彈性。因此,需要一種具有DMA控制器的改良 系統。 【發明内容】 根據一項具體實施例,一種系統可具有:至少一匯流 排;一中央處理器(CPU),其耦合至該匯流排;一記憶 體,其耦合至該匯流排;一直接記憶體存取(DMA)控制 器,其具有複數個DMA通道並且其運作獨立於該CPU並且 係耦合至該匯流排,其中為了存取該匯流排,該DMA控制 器係可程式化用以:於一第一模式中,具有高於該CPU之 優先權;於一第二模式中,使該DM A控制器之至少一 DMA通道暫停存取該匯流排。 根據進一步具體實施例,該系統可進一步包括:一控制 暫存器,其耦合至該DMA控制器並且用於程式化該DMA 控制器,該控制暫存器包括一用於設定該第一模式或該第 二模式之位元。根據進一步具體實施例,該第一模式或該 第二模式係可透過饋送至該DMA控制器之一控制訊號程式 化。根據進一步具體實施例,該複數個DMA通道之每一者 可具有一受指派之優先權層級。根據進一步具體實施例, 該DMA控制器可對於每一通道包括一通道控制暫存器。根 127490.doc 200844749 據進-步具體實施例’每一通道控制暫存器可包括一可程 式化位元’該可程式化位元控制是否啟用或停用該通道。 根據進-步具體實施例’該第-模式或該第二模式係可透 過饋送至該DMA控制器之一控制訊辦 J矾就耘式化,該控制訊號 包括一優先權層級。 根據另-具體實施例’-種用於在輕合至—主控裝置及 -直接記憶體存取(DMA)控制器的_匯流排上實行一資料 傳輸之方法;該方法可包括下列步驟:·應對_祕資料 傳輸之請求,授予該DMA控制器存取該匯流排程式化 該DMA控制器以暫停該DMA資料傳輪;-授予該主控裝置 存取該匯流排;·由該主控裝置實行至少—匯流排;_ 程式化該DMA控制器以重新繼續該DMA資料傳輸。 根據進一步具體實施例,程式化該DMA控制器之該等步 驟可係由-可組態暫存器予以實行。根據進—步呈體實施 例,程式化該DMA控制器之該等步驟可係藉由設定及重新 該可組態暫存器中之—位元予以實行。根據進-步具體實 施例,程式化該DMA控制器之該等步驟可係藉由饋送一控 制訊號至該DMA控制器予以實行。根據進_步且體實施 :卜該控制訊號可自饋送至該主控裝置的一例外訊號予以 DM生A批根據進一步具體實施例,如果在已起始暫停之前該 線控:器已起始該資料傳輸之一資料傳送,則該系統可 、、、该貝料傳达並且接著暫停該DMA控制器之存取。根據 進-步具體實施例’該主控裝置可係一中央處理單元 127490.doc 200844749 (CPU),並且該程式化步驟係由該CPU予以實行。根據進 一步具體實施例,該主控裝置可係一周邊裝置,並且該程 式化步驟可係由一中央處理單元予以實行。 根據另一具體實施例,一種微控制器可包括:至少一匯 流排;一中央處理器(CPU),其耦合至該匯流排;一記憶 體,其耦合至該匯流排;複數個周邊裝置,其耦合至該匯 流排;以及一直接記憶體存取(DMA)控制器,其運作獨立 於該CPU並且係耦合至該匯流排,其中為了存取該匯流 排,該DMA控制器係可程式化用以:於一第一模式中,具 有高於該CPU及該複數個周邊裝置之優先權;於一第二模 式中’使該DMA控制器之至少一 DMA通道暫停存取該匯 流排。 根據進一步具體實施例,該微控制器可進一步包括:一 控制暫存器,其耦合至該DMA控制器並且用於程式化該 DMA控制器,該控制暫存器包括一用於設定該第一模式或 。亥第一模式之位元。根據進一步具體實施例,該第一模式 或忒第一模式係可透過饋送至該DMA控制器之一控制訊號 弋化根據進一步具體實施例,該控制訊號可自饋送至 2中央處理單元的一例外訊號予以產生。根據進一步具體 貝轭例,該DMA控制器可包括複數個DMA通道。根據進 :步具體實施例,該DMA控制器可對於每一通道包括一通 之^制暫存裔。根據進一步具體實施例,每一通道控制暫 芍可包括一可程式化位元,該可程式化位元控制是否啟 127490.doc 200844749 用或停用該通道。根據進一步具體實施例,每一通道控制 暫存器可包括一可程式化位元欄位,該可程式化位元欄位 判定一 DMA通道之一優先權。 根據另一具體實施例,一種用於在耦合至一主控裝置及 一直接記憶體存取(DMA)控制器的一匯流排上實行一資料 傳輸之方法,該DMA控制器具有複數個DMA通道;該方 法包括下列步驟:-將一優先權層級指派給該複數個DMA 通道之每一者;-應對一 DMA資料傳輸之請求,將該DMA 控制器對該匯流排之存取授予給該複數個DMA通道之一 者;-饋送具有一優先權層級之一暫停命令至該DMA控制 器;-如果該暫停命令中之該優先權層級高於具有對該匯 流排之存取的該DMA通道的一優先權層級,則_使具有低 於該暫停命令中之該優先權層級之優先權之任何DMA通道 暫停存取該匯流排;以及如果無任何其它DMA通道具有 對該匯流排之存取,則-授予該主控裝置存取該匯流 排;-由該主控裝置實行至少一匯流排存取;以及-饋送一 重新繼續命令至該DMA控制器,以重新繼續該DMA資料 傳輸。 根據進一步具體實施例,該DMA控制器係可運作以循環 處理具有相同優先權層級之DMA通道的多個DMA通道處 理程序。 熟悉此項技術者可從接下來的附圖、實施方式及申請專 利範圍明白本揭示内容的其他技術優點。本申請案之各種 127490.doc -10- 200844749 具體實施例可獲得僅所提出之優點的子集。無任一優點係 具體實施例之關鍵。 【實施方式】 根據一項具體實施例,如上文所述,DMA控制器與CPU 共用相同的資料與位址匯流排,以用於傳送資料往返於記 憶體。CPU與DMA控制器兩者皆可對匯流排之存取。因 此,CPU或DMA控制器可係主控者(master)。另外,複數 個周邊裝置係可組態以存取匯流排並且變成該匯流排上的 ^ 主控者或從屬者。系統可憑藉"先到優先”優先權或使用指 派之優先權來授予對匯流排之存取。’’先到優先”優先權方 案將對匯流排之存取授予給首先請求存取者。所有其它請 求者必須等待並且將依其請求順序循序給予存取。但是, 大多數系統使用指派式優先權方案,其中每一可能的主控 者之受指派存取優先權可優先於較低優先權。一般而言, 在此類系統中,DMA控制器具有最高優先權。因此,如果 _ CPU或周邊裝置主控者及DMA控制器正在主動企圖授予匯 流排,則DMA控制器之存取匯流排的優先權一般優先於所 有其它可能的主控裝置。因此,透過DMA控制器進行資料 ^ 傳送的任何啟動將使CPU或周邊裝置受到時間拖延。根據 一項具體實施例,DMA控制器經設計成為可程式化,其方 式使得CPU可(例如)藉由設定專用控制暫存器中的位元來 暫停DMA控制器之資料傳送。 但是,可提供其它控制機制以暫停DMA控制器,例如, 127490.doc • 11 - 200844749 透過介於CPU與DMA控制器之間的專用控制線。舉例而 言,當cpu接收一中斷或其它例外狀況(excepti〇n)時, CPU必須藉由將資料推入至共用記憶體中的堆疊來變更内 容。如果CPU提供例外狀況層級(excepti〇n level)訊號,則 DMA可使用該訊號來暫停其活動,允許cpu較快速地儲存 其内容並且較快速地獲得對服務常式之存取。 亦可允許DMA控制器在一事件(諸如中斷)上喚醒,同時 數位裝置中的中央CPU及相關邏輯維持在電源關閉或睡眠 模式中。以此方式,DMA邏輯或1)|^八控制器可服務請 求,同時CPU及相關邏輯係在睡眠模式中。當抵達緩衝器 計數或以其它方式判定傳輸結束時,則(例如)藉由另一 ^ 斷訊號來喚醒處理器,並且CPU退出電源關閉模式或睡眠 模式。 習知數位裝置當前回應事件之方式為喚醒處理器核心或 整個系統並且透過各別中斷系統來執行各別指令。此耗時 且導致消耗更多電流以供電給CPU及程式記憶體,以在回 到睡眠模式之前執行服務常式。根據一項具體實施例,僅 喚醒DMA控制器以服務非同步事件,允許CPU、程式記情 體及非該服務所需的其它組件維持在低度電力狀態,同時 服務該事件。事件通常僅僅讀取周邊裝置内容並且將值儲 存於本端記憶體中。這可單獨由DMA控制器來達成。根據 一項具體實施例,在服務事件後,DMA控制器回到睡眠模 式。 、 127490.doc -12- 200844749 在一晶片微控制器或系統可具有下列模式(可透過各自 受控中斷系統或其它適合控制來實施彼等模式)。在執行 模式中:所有區塊按對於所有周邊裝置與中央處理單元的 各自組態值進行執行。在此模式中,CPU係作用中狀態並 且耗電。在第一低度電力模式(閒置模式)中:處理器時脈 停止並且僅消耗待命電力,舉例而言,該時脈可被閘控關 閉(gated off)。匯流排矩陣上的匯流排時脈繼續執行。快 閃程式記憶體係處於待命模式中。中斷事件啟動僅dma控 制器,或使DMA控制器處於全速度並且處理器時脈具有降 低之時脈。在第二低度電力模式(睡眠模式)中:處理器時 脈及匯流排時脈停止。快閃程式記憶體被停止供電。非同 步中斷事件啟動僅DMA控制器之時脈。在其它具體實施例 中,可提供更多模<,在彼等模式中僅某些裝置接收區塊 並且因此係運作狀態。 習知技術數位裝置不具有未啟用CPU而退出低度電力模 式的能力。根據下文更詳細說明之具體實施例,dma控制 器可依偽同步於系統時脈之個別的系統時脈執行。此時脈 於私式化外部事件(舉例而言,諸如中斷)以唤醒DMA時將 被啟用。於此處理程序期間不需要啟用CPU,這節省電 力。根據-項具體實施例’每次DMA控制器完成一傳輸 時,使儲存:欠數11的暫存器增加!。—旦已記錄dma事件的 預先定義讀則,則可料斷事件警*cpu。根據一具 體貝&例’中斷控制器可债測周邊裝置(usb或乙太網路) 127490.doc -13- 200844749 之事件,並且唤醒彼等周邊裝置至(例如)閒置模式,從而 彼等周邊裝置可將其緩衝器寫入系統資料隨機存取記憶體 (RAM)。因此,如果於睡眠模式期間發生DMA事件,則僅 DMA控制器及資料記憶體與(視需要)各自之周邊裝置自睡 眠模式切換至作用中模式。因此,僅對DMA處理程序所需 的系統組件應請求而啟動’並且一旦已完成請求將再次予 以撤銷啟動。
120可提供一 明苓閱附圖,現在將說明本申請案的較佳具體實施例。 圖1繪不在電腦系統内DMA控制器(諸如微控制器1〇〇)之典 型具體實施例的方塊圖;一般而言,微控制器i 〇〇包括(例 如)一經由匯流排矩陣12〇耦合至系統組件及周邊裝置的中央 處理單元(cpu)iio。透過匯流排矩陣120,cpu 11〇與複數 個周邊裝置i至k 145···150直接通信及/或透過周邊橋接器 180與複數個周邊裝置11至111 165…17〇通信。周邊裝置可係 諸如如下(但不限於)裝置:1/〇埠;記憶體;a/d轉換器與 D/A轉換器;計時器;脈寬調變器等等。可提供一中斷控 制σσ 5 5其控制中斷訊號以用於提供非同步啟動CPU 11 〇 内之中斷常式。可使用中斷訊號以中斷t前執行之指令 ^ X丄V/刀人土廿曰Y時服務常式。亦可使 ‘控制DMA控制器125之功能性,舉例而言, :輸。但是,此外,亦可使用中斷訊號來喚醒 MA控制器i25及其它周邊裝置。匯流排矩睁 專用中斷匯流排以運送彼等訊號。中斷控制 127490.doc -14- 200844749 器155可被程式化以遮罩某些中斷層級,舉例而言,用以 防止某些中斷訊號中斷或喚醒CPU 110。 另外,可在匯流排矩陣120内提供一專用記憶體匯流 排,以經由一快取區130耦合CPU 11〇與一快閃程式記憶體 135。一資料隨機存取記憶體(Ram) 140亦可經由匯流排矩 陣120而耦合至CPU 110。圖中以數字125來繪示一直接記 憶體存取控制器(DMA)。該DMA控制器125亦耦合至匯流 I 排矩陣120,以允許介於耦合至匯流排矩陣ι2〇之裝置之間 的資料傳送。在匯流排矩陣12〇内,DMA單元可透過各種 匯流排而耦合至記憶體14〇及周邊裝置145··.15〇與 165···170。另外,DMA控制器125可透過匯流排矩陣12〇接 收來自CPU 110的複數個控制訊號。一系統時脈裝置i丨5直 接或透過匯流排矩陣12〇中之各自的控制訊號提供各種時 脈訊號至CPU及需要一時脈的所有單元。根據一具體實施 例,為了允許CPU與DMA控制器之獨立運作,為cpu與 • DMA控制器提供兩個或多個獨立時脈訊號。亦可透過匯流 排矩陣120來提供不同時脈給其它系統組件。替代做法 為,系統内的每一組件可運作以控制自己的電力模式。為 ^ 此目的,匯流排矩陣120可包括一專用電源控制匯流排, _ "亥專用包源控制匯流排耦合至一電源管理單元1 75,其包 括單個或多個控制訊號、電力模式訊號及指示哪些單元正 運^於哪-電力模式的控制訊號。但是,替代做法為,電 源官理單元可直接控制所有單元。 127490.doc -15· 200844749 此類系統允許在不需要涉及Cpu ! 10情況下由DMA控制 為125進行介於耦合至12之任何周邊裝置ΐ45·••15〇與 165·.. 170之間的貧料傳送,以及介於彼等周邊裝置 ^5···1 5〇、165···170與記憶體140之間或記憶體内140的資 料傳送。通常僅為了初始化DMA控制器125及一旦已傳送 資料P通即予以處理才需要Cpu 11〇。一旦Dma控制器125 被私式化,則不需要CPU 11〇辅助來適當導引資料傳送。 接著,使CPU 110可用於執行其它任務。為此目的,實行 平打DMA傳送的系統通常不變更相關聯於該系統之單元的 電源管理,原因係(舉例而言)在一些情況中,cpu 11〇可 實行獨立功能,同時DMA控制器125實行資料傳送。電源 管理單元175允許裝置之彈性控制。因此,取決於省電模 式,可關閉該系統的不同單元。該等省電模式之電力消耗 自咼至低變化。CPU 11〇在大多數省電模式中通常係處於 作用中狀態並且可以不同時脈速度運作。一般而言,僅在 最高省電模式中,才完全關閉CPU 11 0。 根據一項具體實施例,具有CPU 110及DMA控制器125 的系統允許特定模式,在該特定模式中,可與CPU 110分 離地啟動DMA控制器125,並且在該特定模式中,cPU 110可同時進入從降低之時脈速度至完全撤銷啟動的不同 層級省電模式。根據具體實施例,一旦CPU 110與1)^1八控 制器125進入較高層級省電模式(諸如cpu 11〇與DMA控制 器125被停止的靜態模式),隨即透過〇]^八傳送請求獨立地 127490.doc •16· 200844749 啟動DMA控制器125。此類請求可(例如)透過一自各中斷 訊號予以產生。一旦接收到此類傳送請求,DMA控制器 125將運作。為此目的,若需要,電源管理單元可喚醒 DMA控制器125及一或多個請求之周邊裝置。但是,在一 • 項具體實施例中,中斷訊號就其本身而言可啟動DMA控制 器125。甚至於省電模式期間記憶體14〇可已經處於作用中 狀悲,但若非處於作用中狀態,則若需要亦可予以重新啟 _ 動。一旦各自DMA傳送所需的所有單元係作用中狀態,則 DMA控制器125適當地開始DMA傳送。於此時間期間, CPU及非處理程序所需的其它裝置維持在其各自睡眠模式 中。這可藉由(舉例而言)遮罩中斷層級來達成,遮罩中斷 層級之方式致使各自中斷層級僅啟動DMA控制器125並且 不啟動CPU 110。DMA控制器125監視並且控制傳送,以 及直接或透過電源管理單元175發送訊號至cpu 11〇,該訊 號將唤醒CPU 110。舉例而言,在一項具體實施例中,一 • 旦DMA傳輸完成,DMA控制器125可產生層級充分高以喚 醒CPU 110的中斷。因此,接著,cpu可進一步處理已傳 送之資料。一旦CPU 110完成任何必要處理,cpu 11〇可 , 再次進入各自省電模式。再者,在DMA控制器125已服務 DMA請求之後,其可重新進人睡眠模式或低度電力模式。 在-項具體實施例中,僅如果已完成預先決定數量之觸八 傳輸才起始用於CPU 110之喚醒處理程序。為此目的,提 供各自之暫存斋’每次已完成_DMA傳輸時,使該暫存器 127490.doc -17- 200844749 增加1。僅如果此暫存器的内容高於或等於一預定次數 η>=1才產生用於喚醒CPU 110的中斷訊號。 在另-項具體實施例中,一特殊暫存器可包括一起始 CPU 110之啟動的位址或資料。此具體實施例對於如果 CPU 110自睡眠模式轉變至作用中模式需要顯著時間量有 所用處。因此,-中間位址(其被設定至介於傳輸之開始 與結束位址的預先定義數目個記憶體地點)可觸發CPU 之重新啟動。因此,每當已完成DMA傳送時,CPU將成為 作用中狀態,而無(例如)起因於振盪器啟動時間的任何進 一步延遲。作為特殊暫存器之替代,可使用一控制暫存器 中的一位元欄位來定義對該結束位址的一位移,其可用於 在已元成DMA傳輸之Sij產生一喚醒訊號。 圖2繪示在匯流排矩陣120内使用的一匯流排2〇〇之一些 匯流排訊號。舉例而言,匯流排可包括慣用位址與資料訊 號以及複數個控制訊號。在複數個控制訊號之中,該等控 制訊號可包括(如圖所示)··複數個中斷訊號,用於定義具 有不同優先權/層級的中斷訊號;一特定訊號,用於指示 睡眠模式;以及相關聯之模式訊號,其指示待進入的睡眠 模式類型。可包括指示出哪一些單元應進入各自睡.眠模式 的其它訊號。圖2亦繪示在特定單元無法被個別指派不同 電力模式的系統中可使用的專用CPU時脈訊號及個別之 DMA時脈訊號之實例。底部控制線指示出在微處理器或微 控制器中慣常實施的其它控制訊號。 127490.doc -18- 200844749 圖3繪示DMA控制器之具體實施例。複數個〇撾八通道 350...360經提供並且受控於控制匯流排34〇,諸如中斷請 求控制匯流排。該等DMA通道350···36〇耦合至匯流排 310,以接收資料及位址。具體而言,一位址解碼器32〇接 收位址320並且與各自控制暫存器33〇相比較,以控制dma 傳送的功能性。可使用一多工器370以控制各自通道 350···360的輸出。控制器38〇控制多工器37〇並且因此控制 流動通過後續匯流排矩陣介面39〇之資料。圖3所示之具體 實施例可受控於各自中斷訊號。舉例而言,可使用中斷訊 號來起始透過各自通道的傳送。為此目的,每個頻道可被 指派一各自中斷層級。可使用一中斷層級子集,並&dma 控制器125係可程式化以指派某些中斷層級給各自傳送通 道。另外,DMA控制器係可程式化以在下列狀況下產生複 數個中斷訊號:在完成一傳輸後;抵達一傳輸中的一定 ,’、、占诸如傳送一通道緩衝裔之一半;抵達一通道緩衝器内 的一預先定義點;或匹配一待傳送的預先定義資料型樣。 可實施其它中斷控制訊號。 圖4繪示DMA控制器125内之通道之具體實施例的更多細 節。根據一項具體實施例,DMA控制器125可具有靜態設 計並且因此可接收其自己的DMA時脈訊號490,可使用 DMA時脈訊號490來直接控制電力模式,舉例而言:在高 度笔力模式中’裝置將接收最高時脈速度;在最低電力模 式中無任何B守脈訊说,及中間電力模式可包括各種中間時 127490.doc -19· 200844749 脈速度。DMA控制器125可包括可程式化閘,其接收時脈 訊號’並且可在進入睡眠模式後隨即封鎖時脈訊號,以及 在接收到中斷喚醒訊號後隨即開啟彼等閘。DMA控制器 125進-步包括-資料暫存器或鎖存器他及—相關聯之 位址暫存器或鎖存器440a,機,該兩者麵合至匯流排矩 陣120内的一接收匯流排47〇與一傳輸匯流排料〇。圖4以虛 線標示接收匯流排470及傳輸匯流排48〇可合為一並且係同 一者’諸如圖2中之匯流排200。但是,在另一具體實施例 中,DMA控制器125亦可經組態成在兩個不同匯流排之間 通信。在此具體實施例中,接收匯流排47〇可係(例如)如圖 3所不之匯流排301,以及傳輸匯流排48〇可係經連接至如 圖3所不之匯流排矩陣介面39〇的另一匯流排。兩資料暫存 或鎖存器410a及位址暫存器或鎖存器44〇a,44〇b皆耦合 至彼等匯流排。替代做法為,可對於傳輸與接收利用分開 的暫存器。由於來源與目的地位址通常不同,所以如圖3 所示之分開的位址暫存器440a與440b有所用處。資料暫存 器410a及傳輸及/或接收暫存器440a,440b可進一步耦合至 比較器420及450,以判定資料與位址之匹配。 於DMA資料傳送期間,DMA控制器125可經程式化以傳 送特定量之資料至一目的地,該特定量之資料可開始於一 來源開始位址並且結束於一來源結束位址,其亦可開始於 一目的地開始位址並且結束於一目的地結束位址。為此目 的,舉例而言,來源開始位址被載入至暫存器440a,並且 127490.doc -20 * 200844749 目的地開始位址被載入至暫存器440b。dma控制器i25進 -步接收待傳送之資料區塊的長度或—來源結束位址。如 果使用來源結束位址,則此位址被載入至各自暫存器44〇c 中,該暫存器440c耦合至一比較器單元45〇。替代做法 為’可使用目的地結束位址或如上文所述的資料區塊長度 來判定傳送結束。-旦已實行此類示範㈣始化,則資二 傳送適當地發生。DMA控制器125進一步可包括另一暫存 器44〇d,可使用該暫存器44〇(1來定義一特定中間位址,Z 用於產生-傳送已抵達-定點之訊號。為此㈣,此暫存 器440d可被預設為-位址,該位址指示出—傳送緩衝器的 中間點或該緩衝器内的任何其它點。比較器單元45〇可包 括一群組之比較器或可經組態以在比較不同暫存器内容後 隨即產生個別之訊號。可使用該等比較器輸出訊號來產生 特定之中斷訊號。 在下文中解說使用單個匯流排的傳送。DMA控制器125 將第一位址(儲存在暫存器44〇a中的來源開始位址)置於該 匯流排上。此位址可係在一記憶體或耦合至該匯流排的任 何裝置内。接著,相關聯之資料被傳送至資料暫存器* 1 中。在一後續步驟中,解除暫存器44〇a與該匯流排之耦 口,並且使暫存器440b耦合至該匯流排。替代做法為,如 果僅使用一個位址暫存器,則將目的地開始位址載入至該 位址暫存器。因此,該目的地位址現在被置於該匯流排上 以定址各自目的地,諸如一記憶體或耦合至該匯流排的任 127490.doc -21- 200844749 何裝置。儲存在暫存器410a中的資料被傳送至該目的地位 址。接著累加來源位址暫存器440a及目的地位址暫存器 440b,亚且重複處理程序直到該來源位址暫存器含有 來源結束暫存器。此傳輸結束可(例如)藉由比較器450 (其 比較位址暫存器44〇a與暫存器440〇之内容)予以偵測。^ 使用暫存H44Gd來產生中間訊號,該中間訊號指示出已抵 達傳輸的一定狀態/時間。
此外,DMA控制器125允許有條件式傳送,其一旦已接 收到-特定型樣(諸如-預先定義資料位元組)隨即停止傳 送。為此目的,DMA控制器125包括一進一步型樣暫存器 僅。在初始化之後,隨即將—型樣(諸如m立元組) 載入至該暫存器侧。__旦比較器42G_到介於暫存写 他中载入之資料與型樣暫存器410b之間的匹配,則產: 一各自訊號430,該訊號43()向DMA控制器125指示出已抵 達傳輸結束。為了防止無盡的傳輸…定義一最大傳送 外,亦可使用位址比較器45〇。 因此,一般而言,才艮據此具體實施例之dma控制考 允許兩種不同類型處理程序處理程序被定為固定長 度傳輸’其允許DMA控制器傳送—經Μ區塊之資料、 二處理程序具有—開放式長度,並且其長度係藉由—特定 =以定義。舉例而言,亦可藉由一特定符號來定義傳 二:束。=在另一具體實施例中’ -符號序列可定義傳 因此’更具彈性Μ傳輸結束係可行的。舉例而 127490.doc -22. 200844749 言’作為單個位元組之替代,可使用—含兩個位元組的序 列,諸如復位(CR)換行(LF)序列。為此目的,可提供複數 個暫存器,該複數個暫存器係用各自序列予以程式化。可 用一最大傳送長度來增強第二處理程序類型,以避免無盡 的傳送迴圈並且因此提供額外安全性。
圖5繪示DMA控制器125之另一示範性具體實施例。在此 具體實施例中,提供一來源暫存器51〇及一目的地位址暫 存器520。另外,一長度/最大長度暫存器53〇耦合至一比 較w 5 80其可產生一結束位址4貞測訊號;EndAddr。比較5| 580另外耦合至一計數器57〇。一型樣暫存器54〇耦合至另 一比較器550,該比較器550亦連接至一資料暫存器56〇, 該資料暫存器560接收及傳輸適當的資料Din與。比較 器550產生一訊號Match,其接著可產生一傳輸結束訊號 EofTrans。可提供多個型樣暫存器54〇及相關聯之比較 器,如使用虛線之各自元件所標示。可提供介於該等暫存 态與δ亥專比較器之間的各自邏輯,以允許不同類型之傳 輸。作為一項實例,圖5繪示一第 其接收來自比較器580之訊號EndAddr。驅動器585的輸出 耦合至一 OR閘590之一第一輸入。一第二可控制式反轉界 555接收來自比較器550的訊號Match。驅動器555的輸出輕 合至OR閘590之第二輸入。因此,〇R閘59〇的輸出提供— 傳輸結束訊號EofTrans。可使用此訊號來控制一資料傳 送。另外,此訊號可被饋送至一電源管理單元〗75。 127490.doc •23- 200844749 替代做法為,提供比較5|單开$ 6 s μ 平乂裔早565以比較來源或目的地 位址暫存器51〇 52〇鱼杜击仞从撕六怒 ,…果位址暫存器595,以直接產生一 傳輸結束訊號EofTrans。在另一适且鲆者仏 牡乃項具體實施例中,提供位 私暫存為5 4 5,使用盆內交p/ A LJL· sL· 1 t 土z , 文用,、円合以自結束位址暫存器595減去一
位移’用以產生一獨立之提早喚醒訊號,將於下文更詳細 描述。作為進一步替代方案,使用喚醒位址暫存器575來 代' 移暫存器545。在此具體實施例中,藉由比較比較 來源或目的地位址暫存器51〇, 52〇與結束位址暫存器595來 產生傳輸結束訊號E〇fTrans,以及藉由比較比較來源或目 的地位址暫存窃51〇,52〇與唤醒位址暫存器5乃來產生喚醒 訊號 WakeUp。 根據另一具體實施例,此外,可提供控制暫存器515 (其 儲存預先定義可程式化次數η)及暫存器535 (其充當一計 數器並且計數DMA控制器所執行的傳輸次數)。該兩者暫 存器的内容係由比較器525予以比較並且將結果饋送至電 源官理單元175。暫存器515儲存整數η,該整數n係由使用 者透過CPU 110予以程式化。在設定系統成為睡眠模式之 後,隨即重新暫存器535為DMA# = {)。如果在睡眠模式期間 接收到一 DMA請求,則重新啟動DMA控制器及DMA傳輸 所需的各自裝置。如果已完成一傳輸,則累加暫存器 且因此累加DMA#。比較器525比較暫存器515與535的内容 並且發送一結果至電源管理單元175。如果DMA#>=n,則 電源管理單元175產生喚醒訊號。否則,使DMA控制器125 127490.doc -24 - 200844749 回到睡眠核式直到下一 DMA請求到達。 可在不同模式中實行DMA傳輸。在第一模式中,驅動器 555被控制以解除比較器55〇與〇尺閘59〇之耦合,在〇汉閘 590之第二輸入處產生一恆定邏輯低訊號,並且驅動器以5 被控制以使比較器580耦合至0尺閘59〇。將各自來源開始 位址及目的地開始位址載入至暫存器51〇與52〇。將待傳輸 之資料區塊的長度址載入至暫存器53〇,並且將計數器57〇 重設至0。接著可開始資料傳送。為此目的,藉由暫存器 5 10所定址的資料被載入至暫存器56〇中並且被寫入至暫存 器520中所包含的位址。接著,使暫存器51〇與52〇累加所 傳輸之資料的大小。舉例而言,如果資料暫存器係一位元 組寬之暫存器,則使暫存器510與520累加1。如果資料暫 存器係一 16位元暫存器,則使暫存器51〇與52〇累加2,以 此類推。相應地累加計數器570。比較器580比較計數器 570之計數值與暫存器530。重複資料傳送直到該計數值匹 配暫存器530之内容。如果達成此一匹配,則EndAddr訊號 變成邏輯高,並且OR閘590的輸出將變高,以指示出一傳 輸結束EofTrans。結果,停止DMA控制器。 在第二模式中,驅動器585被控制以解除比較器58〇與 〇R閘590之耦合,在〇R閘590之第一輸入處產生一恆定邏 輯低訊號,並且驅動器555被控制以使比較器550耦合至 OR閘590。在此模式中,再次將各自開始位址載入至來源 暫存器510與目的地暫存器520。此外,將預先定義型樣載 127490.doc -25- 200844749 入至型樣暫存器540。再次,開始DMA傳送,並且將關聯 於來源暫存器的第一資料載入至資料暫存器56〇中,並且 與型樣暫存H54G比較。如果—匹配發生,則比較器⑽在 〃輸出處產生一咼訊號,其造成〇11閘59〇之輸出處之一高 訊號並且指示出傳輸結束。否則,累加暫存器510與520, 並且傳达繼續直到介於所傳輸之資料與型樣暫存器“Ο之 間發生匹配。在第三模式中,驅動器555及585皆被啟動以 使比較器550及580耦合至〇11閘59〇。在此模式中,再次將 各自開始位址載入至暫存器51〇與52〇。另外,一最大長度 值被載人至資料暫存器53G中,並且—型樣被載入至暫存 器540中。如上文所述,資料傳送發生。但是,傳輸結束 係由比較器550或580產生。
一旦 CPU 在CPU 110係作用中狀態或暫停時,或當cpu 11〇處於 睡眠模式而DMA控制器U5及各自周邊裝置係作用中狀態 時,可執行所有DMA傳送。接著使用電源管理單元175以 控制進一步處理程序。為此目的,E〇nirans訊號亦可被轉 遞至電源管理單元175。電源管理單元175可包括一各自之 暫存器,其可經程式化以取決於如上文所述之DMA傳輸次 數或取決於通道、周邊裝置等等而產生一喚醒訊號(該喚 醒訊號被發送至CPU 110)。因此,在CPU 11〇必須立即處 理一特定DMA傳送之資料的程式化模式中,假使CPU 11〇 本來係處於睡眠模式或暫停模式,則電源管理單元175將 在元成各自之DMA傳輸後’隨即唤醒cpu 127490.doc -26 - 200844749 no已完成其資料處理,並且如果已請求,CPU 11〇可依據 其進-步程式化而再次進人睡眠模式或暫停模式。同樣 地,一旦已完成所有待決的傳輸,隨即使1)撾八控制器 回到各自之睡眠模式。 此外,當CPU 110及DMA控制器125兩者皆係作用中狀 態時,通當DMA控制器125具有對任何匯流排存取的優先 權口此田在匯流排上傳送資料時,禁止CPU 11 〇存 取該同-匯流排並且因此受到時間拖延。自同的情況發生 在可變成該匯流排上的主控者的周邊裝置。但是,有時 候,允許CPU或另一周邊裝置存取當前被DMA控制器125 使用之匯流排係重要的。為了允許此類存取,DMA控制器 係可經由暫存器程式化成為暫停當前傳送。為此目的, CPU 110可设定DMA控制器内的一專用位元,以向dma控 制器125指示出DMA控制器125暫其當前傳送直到cpu玉1〇 重設該各自位元。作為錢—控制暫存器㈣—專用位元 之替代,如上文所述,可使用一專用控制線來使dma控制 态暫停其當前資料傳輸。另夕卜,可使用一優先權方案,其 中每DMA通道及/或相關聯之歸八單元可被指派一特定 優先權層級。-暫停訊號可包括_特定優先權層級。因 此,僅低於該等定優先權層級的通道應cpu之請求而予以 暫停。 因此,在偵測到一暫停訊號之後,DMA控制器125終止 當前資料傳送,即,使在㈣到暫停位^訊號之前已開 127490.doc -27· 200844749 始的早個資料傳送完成。在另一具體實施例中,一已嫉開 始的資料傳送被中止,而不需要完成該資料傳送。在:成 或中止此類已經開始的傳送之後,使dma控制器暫停任何 進-步傳送,並且保持健存其當前狀態。換言之,維護所 . 冑暫存器内容’同時DMA控制器係處於暫停模式。如果已 中止資料傳送,則在傳送中止能夠重複中止的處理程序之 後,將祕控制器重設至各自狀態。在暫停模式期間, ❿ DMA控制器解除對用於傳送資料之使用的封鎖。就優先權 方案而言,僅優先權高於暫停優先權的dma處理程序將予 以完成,並且接著DMA控制器切換進入暫停模式。因此, 現在允許CPU 110或周邊裝置完全存取各自匯流排並且可 傳送必要資料。在完成各目傳送之後,cpu ιι〇可藉由下 列方式釋出DMA暫停模式:重新控制暫存器中的各自位 元;撤銷啟動各自控制訊號;或發送一具有最低優先權的 暫停命令。此機制允許更具彈性控制對系統内匯流排的存 _ 取。因此,如果-定程式要求立即受到cpu或周邊裝置注 思,則CPU可用可控制方式使DMA控制器暫停封鎖cpu的 當前傳輸,並且CPU或周邊裝置可實行必要的存取。 * 圖6A及6B繪示用於控制DMA控制器125之通道的某些控 . 制暫存器。舉例而言,根據圖6A,使用暫存器6〇〇 DMACON控制DMA控制器之一般功能。位元15係用於啟 動或撤銷啟動DMA控制器125。透過此位元,可啟用或停 用DMA模組。位元14係用於:當設定此位元時,於除錯模 127490.doc -28· 200844749 式J間凍結” DMA ;或當未設定此位元時,於除錯模式 期間允許DMA傳送。位元13係用於··當設定此位元時,於 睡眠模式期間凍結傳送;及當未設定此位元時,於睡眠模 式期間允許傳送。位元12係用於動態控制DMA控制器125 暫停,如上文所述。為此目的,位元12可被設定至 以暫停DMA傳送並且允許CPU不中斷存取匯流排。 當位元12被重設至"〇”時,DMA控制器125正常運作,這將
、、、口予DMA控制器高於匯流排的優先權,藉此使cpu的任何 存取受到拖延或中斷。一項優先權機制可自動暫停具有低 於暫停命令之優先權的DMA通道。可經中一項中斷機制來 實施優先權方案。 暫存器610 CHXCON控制個別通道由於每一資料傳 輸可由複數個處理程序所組成,所以可使用位元〇至工 CHPR以提供各自位元量。優先權指派係用於判定多個通 道處理程序將被執行的順序。舉例而t,如果通道〇具有 最高優先權並且所有其它通道具有較低優先權,則將執行 ^^[1:0]來定義—指派給每—通道的優先權。在此具體 實施例中’ DMA控制器125可具有若干通道,舉例而言,4 或8個通道。該2個位元能夠定義4項不同優先權。根據一 具體實施例,如果需要更多優先權,則可擴大位元欄位 對於通道0的所有處理程序直到已產生用&此通道的 Ε〇ΓΓΓ咖訊號並且已完成資料傳輸。如果多個通道具有相 同優先權’則控制器將循環處理該優先權的所有該等通 127490.doc -29- 200844749 此,如果通道2及3具有最高優先權並μ較高優先 :’則在對於通道2的一項處理程序之後,控制器將 刀、至通道2以執行對於此通道的處理程序,並且接著切 換回到通道2,以此類推,直 j匕70成對於該兩個通道的 ^ 序。如果具有較高優先權的通道在另—較低優 序將::逼具有待f之處理程序時請求傳送,則該處理程 、 至具有較高優先權的通道之前完成。 例圖1:示在具有8個通道之系統之多個通道傳送的實 其中通道0^2與4係作用中狀態。 ^ 另d 傳送處理程序開始於下-循環,如識 用中通道的線"作用中通道”所示。於對於通^ 运期間’通道4請求傳送。因為通 道〇,所以在下、的棱先柘回於通 程戽# 农時間t2,開始對於通道4的傳送處理 I:通道4之傳送期間,通道2請求傳送。因I 道2的優先權高於通道4,所以在 口為通 於通道2的值、、,忐 衣寸間h,開始對 理程序期門:理程序。當執行對於通道2之循序傳送處 對m 對於通道G與4之傳送。在時間%,完成 傳送,此時的所通有曾傳且控制器重新繼續對於通道4的 求傳送,其中通^ Γ優先權。在時Fa1t5,通道1請 將從現在開始循二的優先榷相同於通道4。因此,控制器 其傳輪-收 通道1及通道4之傳送,直到已完成 接收到h優先權請求。在圖10所示之實例中, 127490.doc -30- 200844749 在時間t6 ’完成對於通道…之傳輸。因此,控制器 繼續對於剩餘通❹的下—料處理㈣。結何時候,, DMA控制器可垃】a目士 ^ 7接收具有一疋優先權層級的暫停命令。接 著僅有較向優先權的通道被允許繼續進行其處理程 序此方式可在DMA控制器内實施非常彈性之暫停機制, 其允許選擇性暫停某些或所有DMA通道。 明重新參閱圖6A之暫存器CHXCON,位元4至5
ETMD[1:G]係用於定義操作模式。舉例而言,可指派4種不 同杈式。因此,彼等位元允許定義(例如)關於圖5描述的三 種模式。 清重新參閱圖6八之暫存器CHXC〇N,位元8(及 係(例如)用於定義是否在已完成傳輸時產生喚醒訊號。如 果設定各自位元,可電源管理單元175可自(例如)0尺閘59〇 (如囷5所示)接收此訊號,並且產生對於cpu 1之各自喚 醒讯唬。作為如圖6所示之位元襴位替代方 案,可使用兩個或兩個以上位元來定義中斷訊號的中斷層 、、及(旦已完成對於各自通道的傳輸,將產生該中斷訊 號)。在此情況中,舉例而言,將使用〇11閘59〇之輸出訊號 來產生該中斷訊號^ CPU 110可經程式化為僅如果接收到 具有一定優先權層級的中斷才喚醒。換言之,在睡眠模式 中,將遮罩某些較低優先權中斷。此一方法將允許簡單設 計的唤醒機制。不應喚醒CPU 110的〇]^人傳輸將被指派較 低層級優先權,而要求CPU處理經傳輸之資料的〇]^八傳送 127490.doc -31 - 200844749 將被指派較高優先權以喚醒CPU 110。 位元14 CHAED係用於:當設定此位元時,即使通道被 停用,仍然允許登錄通道開始/中止事件。位元1 5 CHEN係 用於:當設定此位元時,個別啟用各自通道。因此,可使 用彼等位元來個別暫停通道傳送。 請重新參考圖6A,位元16至26 CHOFFSET[8:0]指示出 一位移,用以早先於DMA傳送完成而產生喚醒訊號。舉例 而言,在DMA記憶體傳送中,每一處理程序要求一已知時 ^ 間h。如果對於CPU 110的啟動時間延遲係25xt〗,則位元 欄位CHOFFSET可被程式化為25。可提供各自比較器565 及暫存器545,其比較目的地位址減位移與實際來源位 址,如圖5所示。比較結果獨立於傳輸結束訊號並且被饋 送至電源管理單元175。 圖6B繪示另一暫存器620 DCHXECON,可對於每一通道 實施該暫存器,該暫存器控制每一通道的中斷功能性。為 • 此目的,位元16-23定義位元欄位CHAIRQ,其可用中斷層 級予以程式化。高於經程式化層級的中斷將促使中止各自 通道傳送。位元8-15定義位元欄位CHSIRQ,並且係用於 . 定義將促使開始對於通道之DMA傳送的中斷層級。位元7 CFORCE可用於:當設定此位元至”1”時,強制開始DMA傳 送。位元6 CABORT可用於:當設定此位元至”1”時,中止 一特定傳送。位元5 PATCEN可用於設定型樣匹配功能 性。因此,當已設定此位元至’’ Γ’時,在一型樣匹配(如上 127490.doc -32- 200844749 文所述)之後隨即中止一傳送。 圖6B繪示另一暫存器630 CHXINT,其係用於控制一受 中斷控制之DMA系統中的某些功能。可使用此暫存器來程 式化某些中斷訊號之產生與功能性。位元23 CHSDIE啟用 指示出何時通道來源緩衝器已用完之中斷。位元22 CHSHIE啟用指示出何時通道來源緩衝器係半空之中斷(抵 達緩衝器中央)。位元21 CHDDIE啟用指示出何時通道目 的地缓衝器已用完之中斷。位元20 CHDHIE啟用指示出何 時通道目的地緩衝器係半空之中斷(抵達缓衝器中央)。位 元19 CHBCIE係用於啟用指示出區塊傳送完成之中斷。位 元18 CHCCIE係用於啟用指示出資料格傳送(cell transfer) 完成之中斷。位元17 CHTAIE係用於啟用傳送中止之中 斷。位元16 CHERIE係用於啟用通道位址錯誤之中斷。位 元7 CHSDIF係一中斷旗標位元,其指示出通道來源緩衝 器指標已抵達該來源緩衝器之結尾。位元6 CHSHIF係一 中斷旗標位元,其指示出通道來源緩衝器指標已抵達該來 源緩衝器之中點。位元5 CHDDIF係一中斷旗標位元,其 指示出通道目的地緩衝器指標已抵達該目的地緩衝器之結 尾。位元4 CHDHIF係一中斷旗標位元,其指示出通道目 的地緩衝器指標已抵達該目的地緩衝器之中點。位元3 CHBCIF係一中斷旗標位元,其指示出已完成區塊傳送。 位元2 CHCCIF係一中斷旗標位元,其指示出已完成資料 格傳送。位元1 CHTAIF係一中斷旗標位元,其指示出已偵 127490.doc -33- 200844749 元組數目。該位元組數目可大於來源大小或目的地大小, 可個別程式化來源大小或目的地大小。因&,區塊傳送包 含一或多個資料格傳送。 測到匹配CHAIRQ的中斷並且已中止職傳送。位元〇 CH聊係一中斷旗標位元,其指示出已摘測到通道位址 錯誤。在上文所述之具體實施例中,f料格傳送描述告在 等待另-事件之前DMA通道具有起始之傳送時傳送的:元 組數目。因此,資料格傳送包括可程式化數目個單字組傳 送,其中在32位元系統中,每—單字組傳送可由至少*個 位元組所組成。區塊傳送被定義為當啟用通道時傳送的位
圖11繪示系統之一具體實施例,該系統具有:一 cpu 110 ; —DMA控制器125 ; —中斷控制器155 ;及專用控制 訊號,諸如中斷匯流排1110,個別中斷線112〇、113〇與 1140。在一項具體實施例中,可使用中斷匯流排ηι〇來產 生不同輸入訊號,如上文所述。中斷控制器1 5 5係用於控 制彼等中斷。但是,在其它具體實施例中,介於DmA控制 器125與CPU 110之間可使用直接連接,諸如中斷線114〇。 另外,中斷控制器155可使用及產生進一步個別中斷訊號 1120與1130。但是,可實施中斷匯流排111〇,舉例而言, 使用單個中斷訊號(其被饋送至所有單元)及複數個控制 線,以指示出各自中斷層級。使用複數個暫存器(舉例而 言,如上文所述之暫存器)允許非常彈性地控制包含CPU 110及DMA控制器125之系統。根據一項具體實施例, 127490.doc -34- 200844749 DMA通道將傳送來自來源暫存器之資料至目的地暫存器, 而不需要CPU介入。通道來源緩衝器開始位址暫存器定義 來源缓衝器的開始位址。通道目的地緩衝器開始位址暫存 器定義目的地緩衝器的開始位址。來源緩衝器及目的地緩 衝器兩者係可使用各自暫存器個別地組態。可藉由設定自 各位元CFORCE的軟體起始資料格傳送,或藉由匹配經程 式化CHSIRQ中斷層級的中斷事件起始資料格傳送。dma
傳送將於起始時實行資料格傳送。根據一項具體實施例, 通道繼續維持已啟用狀態,直到DMA通道已傳送較大的來 源或目的地緩衝器。每一通道使用緩衝器指標來持續追蹤 自來源緩衝器及目的地緩衝器所傳送的字組數。當來源或 目的地緩衝器指標係緩衝器大小之—半時,或#來源或目 的地計數H抵達缓衝ϋ結尾時,可產生緩衝器中斷。根據 不同具體實施例’中斷可受控於中斷控制器155並且可予 以個別管理或透過允許複數個優先權層級的專时斷匯流 排予以管理。 如上文所述,使用者亦可藉由撰寫暫停位元sus (請表 閱圖6A)來立即暫停_模組125。這將立即使祕暫停 任何進^ 步匯流排處理栽成 ^
序。可實施此項功能以允許CPU 具有完全的匯流排存取。业荆 , 典型地,當CPU要求完全控制匯 流排以用於原子指令庠列"表 7序列(堵如非揮發性記憶體模組之解 除鎖定序列)時,將使 & ΜΑ暫停。可使用位元chen (請參 閱圖6A,暫存器610)來塹作加 " ’木暫彳τ個別通道。如果dMA傳送正在 127490.doc -35 - 200844749 進展中並且CHEN位元被設定至0,則當完成當前處理程序 並且將暫停此通道上的進一步處理程序。設定啟用位元 CHEN至0將不影響通道指標或處理程序計數器。當暫停通 道時,使用者可藉由設定CHAED位元(請參閱圖6A,暫存 器610)而決擇繼續接收事件,諸如中止中斷。如上文所 述,亦可使用優先權方案來個別暫停某些DMA通道。 圖7繪示具有根據具體實施例之DMA控制器之系統的睡 眠模式之具體實施例的流程圖。在第一步驟710中,可進 入睡眠模式的所有單元(包括CPU 110)被撤銷啟動,以使 電力消耗減至最小。在步驟720中,DMA控制器檢查是否 已接收到DMA傳送要求。如果受中斷驅動,則不需要對此 請求之輪詢,並且將執行常式以作為中斷服務常式。替代 做法為,DMA控制器亦可係處於睡眠模式中,並且DMA 傳送要求或中斷將喚醒DMA控制器。若需要,在步驟730 中,將透過各自喚醒訊號來啟動DMA傳輸所需的所有單 元。在步驟740中,開始DMA傳送並且實行第一處理程 序。在步驟750中,DMA控制器檢查是否已完成傳輸。如 果未完成傳輸,則常式回到步驟740以實行另一處理程 序。如果已完成傳輸,則在步驟750之後,常式可依不同 方式運作。
根據第一具體實施例,常式繼續進行步驟760a,在此步 驟中檢查是否喚醒CPU 110。如果(例如)已設定各自通道 控制暫存器中的各自位元,則將在步驟770中啟動CPU 127490.doc -36- 200844749 110。否則,常式略過步驟770。作為一項 # m 760 A 770 > ㈢ 案,對於 層級的中斷訊號。 產生-有先則受指派中斷 根據第二具體實施例,常式繼續進行步驟755,在此步 驟中累加暫存HDMA “接著,在步㈣Qb巾,檢查是否 祕-η,以判定是否唤醒cpuil〇。如果(例如戌成的 傳2次數小於-預先決定數目n,則健不啟動咖HO並 且系式略過步驟770。前女虫丨中半&人 、, 則文判疋步驟之組合當然係可行的 並且可按照所要求的系統設計予以實施。 根據第三具體實施例,常式繼續進行步驟77Ge,在此步 驟中’所有裝置重新進人在開始處理程序之前本來的各= 睡眠模式。 ,繪示DMA控制器之初始化之具體實施例的流程圖。 在第-步驟81〇中’決策是否使用型樣模式。如果不使用 型樣模式’則常式分支至步驟82〇 ’在此步驟中儲存來源 位址及目的地位址。在一後續步驟83〇中’藉由結束位址 或區塊長度來判定傳輸長度。接著,常式結束。如果使用 型樣模式’貝4常式進行至步驟84〇,在此步驟中設定來源 及目的地。然後在步驟850中,選擇性地設定傳輸最大長 度,並且在步驟860中儲存資料終止型樣值。在步驟87〇^ 設定型樣模型並且初始化常式結束。 圖9更詳細繪示DMA傳送常式之具體實施例的流程圖, 諸如圖7之步驟740至750。常式開始於步驟91〇,在此步驟 127490.doc •37· 200844749
中,讀取在開始位址處的來源資料。在步驟920中,此資 料寫入至目的地位址。在步驟930中,檢查是否已設定型 樣匹配模式。如果未設定型樣匹配模式,則累加來源位址 及目的地位址,並且在步驟960中遞減資料長度值。在步 驟970中,檢查資料長度值是否係〇。如果資料長度值係 〇,則傳送結束;如果資料長度值不是0,則常式回到步驟 910。如果已設定型樣模式,則常式從步驟93〇分支至步驟 950,在此步驟中檢是資料是否匹配型樣。如果匹配發 生,則傳送結束。否則,常式繼續進行步驟94〇,如上文 所述。 理器不需要提取指令並且未非必要地消耗能量以理解為什 麼喚醒CPU。如上文所述,提取时取快閃記憶體時消耗 電力。由於未實行往返於程式記憶體的任何傳送,所以當 顧A控制器被唤醒時,程式記憶體可繼續維㈣閉電源。 因此,僅DMA處理程序所需的組件將被啟動,並且在已完 成處理程序之後可返回至睡眠。 _ &丹考,右有需要,DMA控 制器可經程式化成為暫停。 在一般暫存器、優先權 方案或訊心的各自位元來暫停完整的dma模組。作是, 亦可透過專用通道控制暫. 道。因此,若有1 先權方案來暫停個別通 h @ ㈣流排之存取給CPU。 因此,本發明經妥善 優點,以及Μ㈣ 達成提㈣目標與 奴點以及本身固有的其它目盥展啡 目與優點。雖然已藉由引用本 127490.doc -38- 200844749 發明特定較佳具體實施例來描繪、描述及定義本發明,然 而此等引用非意謂著限制本發明,並且不推斷任何此類限 制。本發明的形式及功能可以有相當大量的修改、改變及 同等物,如熟悉相關技術者所知。所描繪及描寫的本發明 不乾性具體實施例僅係示範性,並且不是詳盡的本發明範 鹫。據此,本發明僅意欲受限於隨附申請專利範圍之精神 與範疇,在所有態樣給予完全的同等物認定。 【圖式簡單說明】 圖1繪示在電腦系統内典型DMA控制器(舉例而言,諸如 微控制器)的方塊圖; 圖2繪示匯流排矩陣中使用的示範性匯流排; 圖3繪示DMA控制器之第一具體實施例細節的方塊圖; 圖4繪示DMA控制器之第二具體實施例細節的方塊圖; 圖5繪示DMA控制器之第二具體實施例細節的方塊圖; 圖6A及6B繪示用於控制具有根據本發明之dma控制器 之糸統的某些態樣的典型暫存琴; 圖7緣示根據一項呈體眚 煩/、體只%例之糸統控制常式的流程 圖; 圖8繪不DMA初始化常式; 圖9繪示DMA控制器傳送常式的流程圖; 圖10繪示多通道傳送的時序圖;及 圖11繪示具有使用中斷來 辦求控制糸統功能性之DMA控制器 的系統。 127490.doc -39- 200844749 【主要元件符號說明】 100 微控制器 110 中央處理單元(CPU) 115 系統時脈裝置 120 匯流排矩陣 125 DMA控制器(直接記憶體存取控制 器;DMA模組) 130 快取區 ® 135 快閃程式記憶體 140 資料隨機存取記憶體 145...150 周邊裝置i至k 155 中斷控制器 165...170 周邊裝置η至m 180 周邊裝置橋接器 200 匯流排 ⑩ 31〇 匯流排 320 位址解碼器 330 控制暫存器 340 控制匯流排 350…360 DMA通道 ' 370 多工器 380 控制器 390 匯流排矩陣介面 410a 資料暫存器或鎖存器 127490.doc -40· 200844749
410b 型樣暫存器 420 比較器 440a, 440b 位址暫存器或鎖存器(傳輸及/或接 收暫存器) 440c 結束位址暫存器 440d 中間位址暫存器 450 比較器(比較器單元;位址比較器) 470 接收匯流排 480 傳輸匯流排 490 DMA時脈訊號 510 來源暫存器(來源開始位址暫存器) 515 控制暫存器 520 目的地位址暫存器(目的地開始位 址暫存器) 525 比較器 530 長度/最大長度暫存器 535 DMA傳輸次數(DMA#)暫存器 540 型樣暫存器 545 位移暫存器 550 比較器 555 第二可控制式反轉器(驅動器) 560 資料暫存器 565 比較器單元 570 計數器 127490.doc -41- 200844749
575 喚醒位址暫存器 580 比較器 585 第一可控制式驅動器 590 OR閘 595 結束位址暫存器 600 暫存器DMACON 610 暫存器CHXCON 620 暫存器DCHXECON 630 暫存器 CHXINT 1110 中斷匯流排 1120, 1130, 1140 中斷線(中斷訊號) CABORT 中止傳送 CFORCE 強制開始DMA傳送 CHAED 登錄通道開始/中止事件 CHAIRQ 中斷層級 CHBCIE 啟用指示出區塊傳送完成之中斷 CHBCIF 中斷旗標位元,指示出已完成區塊 傳送 CHCCIE 啟用指示出資料格傳送完成之中斷 CHCCIF 中斷旗標位元,指示出已完成資料 格傳送 CHDDIE 啟用指示何時通道目的地缓衝器已 用完之中斷 CHDDIF 中斷旗標位元,指示出通道目的地 127490.doc -42- 200844749
CHDHIE CHDHIF
CHEN CHERIE CHERIF CHOFFSET[8:0] CHPR[1:0] CHSDIE CHSDIF
CHSHIE CHSHIF
CHSIRQ 緩衝器指標已抵達該目的地缓衝器 之結尾 啟用指示出何時通道目的地緩衝器 係半空之中斷 中斷旗標位元,指示出通道目的地 緩衝器指標已抵達該目的地緩衝器 之中點 啟用通道 啟用通道位址錯誤之中斷 中斷旗標位元,指示出已偵測到通 道位址錯誤 位移 通道優先權 啟用指示通道來源緩衝器已用完之 中斷 中斷旗標位元,指示出通道來源緩 衝器指標已抵達該來源緩衝器之 結尾 啟用指示何時通道來源緩衝器係半 空之中斷 中斷旗標位元,指示出通道來源緩 衝器指標已抵達該來源缓衝器之 中點 開始通道DMA傳送的中斷層級 127490.doc •43- 200844749 CHTAIE 啟用傳送中止之中斷 CHTAIF 中斷旗標位元,指示出 配CHAIRQ的中斷並且 傳送 EndAddr 結束位址偵測(訊號) EofTrans 傳輸結束訊號 ETMD[1:0] 定義操作模式 ETWU[1:0] 產生訊號 Match 訊號 PATCEN 型樣匹配功能性 SUS 暫停位元 WakeUp 喚醒訊號
已偵測到匹 已中止DMA 127490.doc 44-

Claims (1)

  1. 200844749 十、申請專利範圍: 1. 一種系統,包括: 至少一匯流排; 一中央處理器(CPU),其耦合至該匯流排; 一記憶體,其耦合至該匯流排; ‘ 一直接記憶體存取(DMA)控制器,其具有複數個DMA ^ 通道並且運作獨立於該CPU而耦合至該匯流排,其中為 了存取該匯流排,該DMA控制器係可程式化的,以於一 9 第一模式中,具有高於該CPU之優先權,及於一第二模 式中,使該DMA控制器之至少一 DMA通道暫停存取該匯 流排。 2 ·如請求項1之系統,進一步包括:一控制暫存器,其摩禺 合至該DMA控制器並且用於程式化該DMA控制器,該控 制暫存器包括一用於設定該第一模式或該第二模式之位 元。 3. 如請求項1之系統,其中該第一模式或該第二模式係可 透過一饋送至該DMA控制器之控制訊號而程式化。 4. 如請求項1之系統,其中該複數個DMA通道之每一者具 有一受指派之優先權層級。 • 5. 如請求項1之系統,其中該DMA控制器對於每一通道包 * 括一通道控制暫存器。 6.如請求項5之系統,其中每一通道控制暫存器包括一可 程式化位元,該可程式化位元控制是否啟用或停用該通 道0 127490.doc 200844749 7.如請求項4之系統,其中該第一模式或該第二模式係可 透過一饋送至該DMA控制器之控制訊號而程式化,該控 制訊號包括一優先權層級。 8· —種用於在耦合至一主控裝置及一直接記憶體存取 (DMA)控制ϋ之—匯流排上實行—諸傳輸之方法;該 方法包括: -應對一 DMA資料傳輸之請求,授予該])]^八控制器存 取該匯流排; -程式化該DMA控制器以暫停該£)1^八資料傳輸; •授予該主控裝置存取該匯流排; -由該主控裝置實行至少一匯流排存取; -程式化該DMA控制器以重新繼續該DMA資料傳輸。 9.如喷求項8之方法,其中程式化該DMA控制器之該等步 驟係由一可組態暫存器實行。 10·如請求項9之方法,其中程式化該DMA控制器之該等步 驟係由設定及重新該可組態暫存器中之一位元實行。 如請求項8之方法,其中程式化該DMA控制器之該等步 驟係由饋送一控制訊號至該DMA控制器實行。 12·如請求項11之方法,其中該控制訊號係產生自一饋送至 該主控裝置的例外訊號。 13. 如請求項8之方法,#中如果在已起始暫停之前該DMA 控制器已起始該資料傳輸之一資料傳送,則終止該資料 傳送,且接著暫停該DMA控制器之存取。 14. 如請求項8之方法,其中該主控裝置係一中央處理單元 127490.doc 200844749 (CPU),並且該程式化步驟係由該CPU實行。 15·如請求項8之方法,其中該主控裝置係一周邊裴置,並 且該程式化步驟係由一中央處理單元實行。 16· —種微控制器,包括: 至少一匯流排; 一中央處理器(CPU),其耦合至該匯流排; 一記憶體,其耦合至該匯流排; 複數個周邊裝置,其耦合至該匯流排; 一直接記憶體存取(DMA)控制器,其運作獨立於該 CPU而耦合至該匯流排,其中為了存取該匯流排,該 DMA控制器係可程式化的,以於一第一模式中,具有高 於該CPU及該複數個周邊裝置之優先權,及於一第二模 式中,使該DMA控制器之至少一 DMA通道暫停存取該匯 流排。 17·如請求項16之微控制器,進一步包括:一控制暫存器, 其耦合至該DMA控制器且用於程式化該DMA控制器,該 控制暫存器包括一用於設定該第一模式或該第二模式之 位元。 1 8·如請求項16之微控制器,其中該第一模式或該第二模式 係可透過饋一送至該DMA控制器之控制訊號而程式化。 19.如請求項18之微控制器,其中該控制訊號係產生自饋送 至該中央處理單元的一例外訊號。 20·如請求項16之微控制器,其中該DMA控制器包括複數個 DMA通道。 127490.doc 200844749 21·如請求項20之微控制器,其中該DMA控制器對於每一通 道包括一通道控制暫存器。 22.如請求項21之微控制器,其中每一通道控制暫存器包括 一可程式化位元,該可程式化位元控制是否啟用或停用 該通道。 23·如請求項21之微控制器,其中每一通道控制暫存器包括 • 一可程式化位元欄位,該可程式化位元欄位判定一 DMA 通道之一優先權。 ® 24· —種用於在耦合至一主控裝置及一直接記憶體存取 (DMA)控制器之一匯流排上實行一資料傳輸之方法,該 DMA控制器具有複數個DMA通道;該方法包括: -將一優先權層級指派給該複數個DMA通道之每一 者; -應對一 DMA資料傳輸之請求,將該DMA控制器對該 匯流排之存取授予給該複數個DMA通道之一者; | -饋送具有一優先權層級之一暫停命令至該DMA控制 32. · -如果該暫停命令中之該優先權層級高於具有一對該匯 流排之存取之該DMA通道的優先權層級,則 -使具有低於該暫停命令中之該優先權層級之優先 ~ 權之任何DMA通道暫停存取該匯流排; -如果無任何其它DM A通道具有對該匯流排之存 取,則 -授予該主控裝置存取該匯流排; I27490.doc 200844749 -由該主控裝置實行至少一匯流排存取; -饋送一重新繼續命令至該DMA控制器,以重新繼 續該DMA資料傳輸。 25·如請求項8之方法,其中該DMA控制器係可運作以循環 處理具有相同優先權層級之DMA通道的多個DMA通道處 理程序。
    127490.doc
TW096147710A 2006-12-15 2007-12-13 用於直接記憶體存取之系統、用於實行一資料傳輸之方法及微控制器 TWI443519B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US87029506P 2006-12-15 2006-12-15
US87026706P 2006-12-15 2006-12-15
US11/928,132 US9141572B2 (en) 2006-12-15 2007-10-30 Direct memory access controller

Publications (2)

Publication Number Publication Date
TW200844749A true TW200844749A (en) 2008-11-16
TWI443519B TWI443519B (zh) 2014-07-01

Family

ID=39447608

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096147710A TWI443519B (zh) 2006-12-15 2007-12-13 用於直接記憶體存取之系統、用於實行一資料傳輸之方法及微控制器

Country Status (6)

Country Link
US (2) US9141572B2 (zh)
EP (1) EP2095246B1 (zh)
KR (1) KR101386128B1 (zh)
AT (1) ATE545089T1 (zh)
TW (1) TWI443519B (zh)
WO (1) WO2008076892A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI461910B (zh) * 2010-10-21 2014-11-21 Micron Technology Inc 用於依照組態資訊執行原子記憶體操作之記憶體及方法
TWI746523B (zh) * 2016-03-02 2021-11-21 英商Arm股份有限公司 暫存器存取控制

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7086583B2 (en) * 2004-01-20 2006-08-08 Standard Microsystems Corporation Systems and methods for power reduction in systems having removable media devices
US9141572B2 (en) 2006-12-15 2015-09-22 Microchip Technology Incorporated Direct memory access controller
US8250253B2 (en) * 2010-06-23 2012-08-21 Intel Corporation Method, apparatus and system for reduced channel starvation in a DMA engine
KR101685407B1 (ko) 2010-07-29 2016-12-13 삼성전자주식회사 멀티코어 시스템을 위한 다이렉트 메모리 억세스 장치 및 다이렉트 메모리 억세스 장치의 동작 방법
CN102314400B (zh) * 2011-09-27 2014-12-24 广东威创视讯科技股份有限公司 一种分散聚合式dma方法及装置
MY174440A (en) * 2011-10-03 2020-04-18 Intel Corp System and method for performance optimization in usb operations
CN106909444B (zh) * 2011-12-22 2021-01-12 英特尔公司 用于指定应用线程性能状态的指令的指令处理装置及相关方法
US8943238B2 (en) * 2012-05-18 2015-01-27 Atmel Corporation Operations using direct memory access
JP6176058B2 (ja) * 2013-10-29 2017-08-09 株式会社ソシオネクスト ダイレクトメモリアクセス制御装置、その制御方法、及び情報処理システム
CN104965676B (zh) 2015-06-17 2018-10-16 深圳市中兴微电子技术有限公司 一种随机存取存储器的访问方法、装置及控制芯片
DE102016205536A1 (de) * 2016-04-04 2017-10-05 Robert Bosch Gmbh Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit
DE102016206109A1 (de) * 2016-04-13 2017-10-19 Robert Bosch Gmbh Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit
DE102016211768A1 (de) * 2016-06-29 2018-01-04 Robert Bosch Gmbh Speicherdirektzugriffssteuereinrichtung und Betriebsverfahren hierfür
US10114776B2 (en) * 2016-11-03 2018-10-30 Microchip Technology Incorporated System arbiter with programmable priority levels
KR102447465B1 (ko) * 2017-09-08 2022-09-27 삼성전자주식회사 호스트로부터의 읽기 요청에 대한 짧은 읽기 응답 시간을 제공하기 위해 내부 동작을 일시적으로 중단하는 스토리지 장치
US10515993B2 (en) 2018-05-17 2019-12-24 Hi Llc Stacked photodetector assemblies
US11119704B2 (en) * 2019-03-28 2021-09-14 Intel Corporation System, apparatus and method for sharing a flash device among multiple masters of a computing platform

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4989113A (en) * 1987-03-13 1991-01-29 Texas Instruments Incorporated Data processing device having direct memory access with improved transfer control
CA2063413C (en) 1989-06-30 2000-08-15 Leroy D. Harper Computer power management system
US5517626A (en) * 1990-05-07 1996-05-14 S3, Incorporated Open high speed bus for microcomputer system
US5461266A (en) * 1990-11-27 1995-10-24 Hitachi, Ltd. Power consumption control system
US5379381A (en) 1991-08-12 1995-01-03 Stratus Computer, Inc. System using separate transfer circuits for performing different transfer operations respectively and scanning I/O devices status upon absence of both operations
US5367639A (en) * 1991-12-30 1994-11-22 Sun Microsystems, Inc. Method and apparatus for dynamic chaining of DMA operations without incurring race conditions
JPH05250305A (ja) * 1992-03-06 1993-09-28 Mitsubishi Electric Corp データ転送制御方式
US5574575A (en) * 1992-06-18 1996-11-12 Brother Kogyo Kabushiki Kaisha Facsimile machine
KR100352045B1 (ko) * 1994-01-10 2002-12-28 선 마이크로시스템즈 인코퍼레이티드 컴퓨터시스템에서전력소모를감소시키기위한방법및장치
US5828856A (en) * 1994-01-28 1998-10-27 Apple Computer, Inc. Dual bus concurrent multi-channel direct memory access controller and method
US5835733A (en) * 1994-12-22 1998-11-10 Texas Instruments Incorporated Method and apparatus for implementing a single DMA controller to perform DMA operations for devices on multiple buses in docking stations, notebook and desktop computer system
KR0135904B1 (ko) * 1994-12-30 1998-06-15 김광호 중앙처리장치의 버스 미사용시 전력소모 방지장치 및 그 방법
US5826106A (en) * 1995-05-26 1998-10-20 National Semiconductor Corporation High performance multifunction direct memory access (DMA) controller
JPH0954748A (ja) * 1995-08-11 1997-02-25 Toshiba Corp コンピュータシステムおよびこのシステムに設けられるdmaコントローラ
JPH1040211A (ja) * 1996-04-30 1998-02-13 Texas Instr Inc <Ti> パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路
JP2996183B2 (ja) 1996-08-16 1999-12-27 日本電気株式会社 Dma機能を備えたデータ処理装置
US5896550A (en) * 1997-04-03 1999-04-20 Vlsi Technology, Inc. Direct memory access controller with full read/write capability
US6154793A (en) * 1997-04-30 2000-11-28 Zilog, Inc. DMA with dynamically assigned channels, flexible block boundary notification and recording, type code checking and updating, commands, and status reporting
JP3524337B2 (ja) * 1997-07-25 2004-05-10 キヤノン株式会社 バス管理装置及びそれを有する複合機器の制御装置
US6167465A (en) * 1998-05-20 2000-12-26 Aureal Semiconductor, Inc. System for managing multiple DMA connections between a peripheral device and a memory and performing real-time operations on data carried by a selected DMA connection
US6467009B1 (en) * 1998-10-14 2002-10-15 Triscend Corporation Configurable processor system unit
US6763448B1 (en) * 1999-02-16 2004-07-13 Renesas Technology Corp. Microcomputer and microcomputer system
JP2000315186A (ja) * 1999-05-06 2000-11-14 Hitachi Ltd 半導体装置
EP1059589B1 (en) * 1999-06-09 2005-03-30 Texas Instruments Incorporated Multi-channel DMA with scheduled ports
US6701405B1 (en) * 1999-10-01 2004-03-02 Hitachi, Ltd. DMA handshake protocol
US6560712B1 (en) 1999-11-16 2003-05-06 Motorola, Inc. Bus arbitration in low power system
JP2001180083A (ja) * 1999-12-24 2001-07-03 Fuji Xerox Co Ltd 印刷装置
JP4204759B2 (ja) 2001-03-09 2009-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーション Dma転送制御方法及び制御装置
US7245945B2 (en) * 2002-11-05 2007-07-17 Intel Corporation Portable computing device adapted to update display information while in a low power mode
US7281103B2 (en) * 2003-10-01 2007-10-09 Kabushiki Kaisha Toshiba Microcomputer with a security function for accessing a program storage memory
US20050149771A1 (en) * 2003-11-07 2005-07-07 Seiko Epson Corporation Processor control circuit, information processing apparatus, and central processing unit
TWI258077B (en) 2004-05-11 2006-07-11 Winbond Electronics Corp Method of DMA and program DMA controller for card reader
DE102004032237A1 (de) * 2004-07-02 2006-01-26 Infineon Technologies Ag Konfiguration von Bauelementen bei einem Übergang von einem Niedrigleistungs-Betriebsmodus in einen Normalleistungs-Betriebsmodus
US7502896B2 (en) * 2005-06-07 2009-03-10 Stmicroelectronics Pvt. Ltd. System and method for maintaining the integrity of data transfers in shared memory configurations
JP4530971B2 (ja) 2005-11-07 2010-08-25 株式会社ソニー・コンピュータエンタテインメント 起動処理装置、dma転送システム、dma転送方法
EP1785811B1 (en) * 2005-11-14 2018-12-05 Texas Instruments Incorporated Memory information transfer power management
US20070162642A1 (en) * 2005-12-19 2007-07-12 Ivo Tousek A dma controller with multiple intra-channel software request support
US9141572B2 (en) 2006-12-15 2015-09-22 Microchip Technology Incorporated Direct memory access controller
US8775839B2 (en) * 2008-02-08 2014-07-08 Texas Instruments Incorporated Global hardware supervised power transition management circuits, processes and systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI461910B (zh) * 2010-10-21 2014-11-21 Micron Technology Inc 用於依照組態資訊執行原子記憶體操作之記憶體及方法
TWI746523B (zh) * 2016-03-02 2021-11-21 英商Arm股份有限公司 暫存器存取控制

Also Published As

Publication number Publication date
KR20090092835A (ko) 2009-09-01
US20160011998A1 (en) 2016-01-14
US20080147907A1 (en) 2008-06-19
ATE545089T1 (de) 2012-02-15
EP2095246B1 (en) 2012-02-08
TWI443519B (zh) 2014-07-01
US9141572B2 (en) 2015-09-22
KR101386128B1 (ko) 2014-04-17
US9921985B2 (en) 2018-03-20
WO2008076892A2 (en) 2008-06-26
WO2008076892A3 (en) 2008-08-14
EP2095246A2 (en) 2009-09-02

Similar Documents

Publication Publication Date Title
TW200844749A (en) Direct memory access controller
TW200844750A (en) Direct memory access controller
TWI527051B (zh) 記憶體控制器之調校、電力閘控與動態頻率改變
CN101558396B (zh) 直接存储器存取控制器
JP4685312B2 (ja) データ処理システムおよび電力節約方法
WO2019070399A1 (en) DYNAMIC CONTROL OF MULTI-REGION MATRIX
US10621128B2 (en) Controlling transitions of devices between normal state and quiescent state
US8954632B2 (en) System method for regulating an input/output interface by sampling during a time duration associated with I/O states
US20180120926A1 (en) Controlling transitions of devices between normal state and quiescent state
US20220222190A1 (en) Seamlessly Integrated Microcontroller Chip
US20190012283A1 (en) Dma controller with trigger sequence generator
CN112306652A (zh) 带有上下文提示的功能的唤醒和调度
US20210397379A1 (en) Norflash sharing
KR101285665B1 (ko) 수면 모드를 지원하는 멀티 코어 시스템 온 칩
EP3238085B1 (en) Virtual legacy wire
JP2005346708A (ja) データ処理装置およびそのポーリング・ループ管理方法
US10078600B2 (en) Apparatus and method for vector-based signal routing
CN111670432A (zh) 处理器间通信