TW201701161A - 用於分離突發頻寬裁定之方法及裝置 - Google Patents
用於分離突發頻寬裁定之方法及裝置 Download PDFInfo
- Publication number
- TW201701161A TW201701161A TW105117243A TW105117243A TW201701161A TW 201701161 A TW201701161 A TW 201701161A TW 105117243 A TW105117243 A TW 105117243A TW 105117243 A TW105117243 A TW 105117243A TW 201701161 A TW201701161 A TW 201701161A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- channel
- embedded system
- scheme
- data transfer
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/30—Handling 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/37—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Bus Control (AREA)
Abstract
本發明揭示一種嵌入式系統及用於控制此嵌入式系統之方法。該嵌入式系統包含包括複數個通道之一直接記憶體控制器,其中複數個通道裁定方案可程式化,其中DMA控制器可程式化以將一指定通道上之一區塊資料傳送分離成複數個單獨資料傳送,其中可在該資料傳送之單獨資料傳送之間,中斷一指定通道上之一資料傳送。
Description
本申請案主張2015年6月1日申請之共同擁有美國臨時專利申請案第62/169,354號之優先權,該案據此出於所有目的而以引用的方式併入本文中。
本發明係關於一種用於特定言之直接記憶體存取(DMA)控制器中之分離突發頻寬裁定之方法及裝置。
許多嵌入式系統(諸如微控制器)包括一DMA控制器,該DMA控制器允許經由微控制器之內部系統匯流排之一有效且快速資料傳送。一匯流排(特定言之,一嵌入式系統中之一系統匯流排)通常允許嵌入式系統之各種組件通信。DMA控制器往往為所謂的突發操作提供必要條件,該等突發操作為處於高速之一大資料傳送提供必要條件。然而,此等突發操作可阻止整個匯流排,且需要存取之其他組件將無法存取匯流排,直至已完成突發傳送為止。因此,需要記入待處理異動之請求與狀態的額外措施。
需要防止一低優先權代理器在突發操作期間佔據匯流排達延長的一段時間。藉由將突發操作分離成異動,可在其他模組中共用匯流
排頻寬。
揭示一種嵌入式系統及用於控制此嵌入式系統之方法。該嵌入式系統包含包括複數個通道之一直接記憶體控制器,其中複數個通道裁定方案可程式化,其中DMA控制器可程式化以將一指定通道上之一區塊資料傳送分離成複數個單獨資料傳送,其中可在資料傳送之單獨資料傳送之間,中斷一指定通道上之一資料傳送。
根據各種實施例,揭示一種嵌入式系統。該嵌入式系統可包含包括複數個通道之一直接記憶體控制器,其中複數個通道裁定方案可程式化,其中DMA控制器可程式化以將一指定通道上之一區塊資料傳送分離成複數個單獨資料傳送,其中可在資料傳送之單獨資料傳送之間,中斷一指定通道上之一資料傳送。
在某些實施例中,裁定方案包含一循環方案及一固定優先權方案。在其他實施例中,裁定方案包含一循環方案及一可指派優先權方案。在某些實施例中,一區塊資料傳送可在一位元於一控制暫存器中之設定後,旋即被分離成複數個單獨資料傳送。
在某些實施例中,一單獨資料傳送可包含一可程式化最大值之資料位元組。在此等實施例中,可程式化最大值係儲存於一控制暫存器中之一值。
在某些實施例中,一單獨資料傳送可包含固定數目之資料位元組。在此等實施例中,固定數目之資料位元組可為一個位元組。
在各種實施例中,揭示一種用於操作一嵌入式系統之方法。該方法可包含:操作包括複數個通道之一直接記憶體控制器,其中複數個通道裁定方案可程式化;及程式化DMA控制器以將一指定通道上之一區塊資料傳送分離成複數個單獨資料傳送,其中可在資料傳送之單獨資料傳送之間,中斷一指定通道上之一資料傳送。
在該方法之某些實施例中,裁定方案可包含一循環方案及一固
定優先權方案。在其他實施例中,裁定方案可包含一循環方案及一可指派優先權方案。
在該方法之某些實施例中,一區塊資料傳送可在一位元於一控制暫存器中之設定後,旋即被分離成複數個單獨資料傳送。在相同或替代實施例中,一單獨資料傳送可包含一可程式化最大值之資料位元組。在此等實施例中,可程式化最大值係儲存於一控制暫存器中之一值。
在該方法之某些實施例中,一單獨資料傳送可包含固定數目之資料位元組。在此等實施例中,固定數目之資料位元組可為一個位元組。
100‧‧‧嵌入式系統
110‧‧‧中央處理單元(CPU)
130‧‧‧周邊器件
140‧‧‧周邊器件
150‧‧‧直接記憶體存取控制器(「DMA」或「記憶體」)
160‧‧‧記憶體
200a‧‧‧子異動
200b‧‧‧子異動
200c‧‧‧子異動
210a‧‧‧子異動
210b‧‧‧子異動
210c‧‧‧子異動
210d‧‧‧子異動
210e‧‧‧子異動
220a‧‧‧子異動
220b‧‧‧子異動
圖1展示根據本發明之特定實施例之一典型嵌入式系統,諸如包含與一內部系統匯流排耦合之一中央處理單元之一微控制器,該內部系統匯流排連接微控制器之各種周邊器件;圖2圖解說明根據本發明之特定實施例之根據此方案之三個通道之一實例典型資料傳送;且圖3展示根據本發明之特定實施例之其中用於通道1之傳送被分解成許多子異動之一實例。
需要防止一低優先權代理器在突發操作期間佔據匯流排達延長的一段時間。藉由將突發操作分離成異動,可在其他模組中共用匯流排頻寬。
圖1展示根據本發明之特定實施例之一典型嵌入式系統100,諸如包含與一內部系統匯流排耦合之一中央處理單元(CPU)110之一微控制器,該內部系統匯流排連接微控制器之各種周邊器件130至150。該等周邊器件之一者可為一直接記憶體存取控制器(「DMA」或「控
制器」)150,其允許在周邊器件130、140等等與記憶體160之間或記憶體160內之資料傳送。一嵌入式DMA控制器150提供複數個傳輸通道,例如,16個通道,其中每一通道可具有一可指派或固定通道優先權,或控制器150可使用一循環指派。可藉由一各自信號來觸發每一通道操作。若多個經選擇觸發同時出現在多個通道中,則DMA巨集經設計以基於循環或一固定優先權方案來選擇下一通道用於服務。注意兩個方案共用根據某些實施例之下列共同特性。
在某些實施例中,對於每一觸發而言,必須完成所有相關聯異動。對於一「一次性」傳送模式而言,可在當前通道正等待下一觸發時服務下一通道。對於一「連續」模式而言,下一通道將僅在當前通道之計數器(例如,「CNT[15:0]」)遞減至零時獲得服務。在相同或替代實施例中,必須在服務另一通道之前完成讀取及寫入異動組合兩者以避免資料排序問題。
在某些實施例中,授予判定係用以評估每一指令週期。程序以基於一設定方案判定當前具有最高優先權之請求通道開始。接著,僅在判贏之DMA通道之匯流排頻寬可用時給定授予。若由判贏之DMA通道請求的特定匯流排的頻寬不可用,則以下一指令週期重複程序。
在某些實施例中,可使用一「循環」優先權方案。在此一方案中,可(例如)至少在於一控制暫存器中設定一優先權位元時使用優先權。例如,當一各自控制暫存器中之DMACON.PRIORITY位元被設定為低時,一循環優先權方案被用於選擇下一DMA通道以供服務。例如,若方案以通道0開始,則待選擇下一通道係具有下一輪之最低通道編號之通道。例如,若同時觸發通道0、1及2,則通道0將首先被排程用於服務,接著分別服務通道1及通道2。下文表1圖解說明此實例預設設定。圖2圖解說明根據本發明之特定實施例之根據此方案之三個通道之一實例典型資料傳送。
然而,在某些組態中,若在其後任何時間再次觸發通道0,則將僅在下一輪之開始處首先服務該通道0。即使在第二次觸發通道0之前已被服務之後再次觸發通道1,仍將在第二輪於通道0之後服務通道1。
在某些實施例中,可使用一「固定」優先權方案。在此一方案中,可(例如)至少在於一控制暫存器中設定一優先權位元時使用優先權。例如,當DMACON.PRIORITY位元在一各自控制暫存器中設定為高時,基於通道編號固定優先權方案。例如,以通道0開始,無關於之前已發生之內容,待選擇下一通道係具有最低通道優先權之通道。例如,若同時觸發通道0、1及2,則通道0將首先被排程用於服務,接著分別進行通道1及通道2。若再次觸發通道0,則一旦完成當前反覆(由一或多個異動組成),通道0即將被排程用於服務。下文表2圖解說明用於此一方案之一實例設定。
在許多系統中,發現多個DMA通道。特定裁定方案通常使用固定優先權且匯流排存取可通常被授予無法如圖2中展示般中斷之一完整傳送。此等類型之方案允許長期運行低優先權傳送而顯著延遲高優先權請求之服務。
根據各種實施例,維持通道狀態,其使傳送可中斷且使傳送可恢復。此外,一傳送被分解成許多子異動(例如,處於位元組位準),其可允許盡可能多的裁定機會。圖3展示根據本發明之特定實施例之其中用於通道1之傳送被分解成許多子異動210a、210b、210c、210d及210e之一實例。類似地,通道0上之傳送被分解成子異動200a、200b及200c。通道2上之一傳送被分解成子異動220a及220b。可實施各種裁定方案,且其可依每一異動而非每一傳送被應用,此可允許一低優先權突發傳送藉由一較高優先權傳送之分離。圖3中之實例圖解說明類似於上文參考圖2描述之方案之一固定優先權方案中之參考子異動。假定通道1及通道2在一第一時間t1請求一傳送,歸因於較高優先權,通道1之傳送首先開始。然而,傳送可被分解成可中斷子異動210a至210e。因此,當通道0在時間t2請求一傳送時,通道0傳送將被中斷且將在時間t3恢復。在時間t4,通道2請求一傳送,由於無較高優先權傳送待處理,故該傳送將被授予。
各種實施例提供下列優點:嵌入式系統具有不同於其他電腦之使用規範。在嵌入式系統中,延時係一更可能的關鍵系統特性而非處理量。系統將能夠比當前可行方案更好地滿足最小反應時間數量級。此增大可供8位元微控制器服務之問題領域。
100‧‧‧嵌入式系統
110‧‧‧中央處理單元(CPU)
130‧‧‧周邊器件
140‧‧‧周邊器件
150‧‧‧直接記憶體存取控制器(「DMA」或「記憶體」)
160‧‧‧記憶體
Claims (20)
- 一種嵌入式系統,其包括包括複數個通道之一直接記憶體控制器,其中複數個通道裁定方案可程式化,其中DMA控制器可程式化以將一指定通道上之一區塊資料傳送分離成複數個單獨資料傳送,其中可在該資料傳送之單獨資料傳送之間,中斷一指定通道上之一資料傳送。
- 如請求項1之嵌入式系統,其中該等裁定方案包括一循環方案。
- 如請求項1之嵌入式系統,其中該等裁定方案包括一固定優先權方案。
- 如請求項1之嵌入式系統,其中該等裁定方案包括一可指派優先權方案。
- 如請求項1之嵌入式系統,其中一區塊資料傳送在一位元於一控制暫存器中之設定後,旋即被分離成該複數個單獨資料傳送。
- 如請求項1之嵌入式系統,其中一單獨資料傳送包括一可程式化最大值之資料位元組。
- 如請求項5之嵌入式系統,其中該可程式化最大值係儲存在一控制暫存器中之一值。
- 如請求項1之嵌入式系統,其中一單獨資料傳送包括固定數目之資料位元組。
- 如請求項7之嵌入式系統,其中固定數目之資料位元組係一個位元組。
- 一種用於操作一嵌入式系統之方法,該方法包括:操作包括複數個通道之一直接記憶體控制器,其中複數個通道裁定方案係可程式化;程式化該DMA控制器以將一指定通道上之一區塊資料傳送分 離成複數個單獨資料傳送,其中可在該資料傳送之單獨資料傳送之間,中斷一指定通道上之一資料傳送。
- 如請求項9之方法,其中該等裁定方案包括一循環方案。
- 如請求項9之方法,其中該等裁定方案包括一固定優先權方案。
- 如請求項9之方法,其中該等裁定方案包括一可指派優先權方案。
- 如請求項9之方法,其中一區塊資料傳送在一位元於一控制暫存器中之設定後,旋即被分離成該複數個單獨資料傳送。
- 如請求項9之方法,其中一單獨資料傳送包括一可程式化最大值之資料位元組。
- 如請求項14之方法,其中該可程式化最大值係儲存在一控制暫存器中之一值。
- 如請求項9之方法,其中一單獨資料傳送包括固定數目之資料位元組。
- 如請求項16之方法,其中固定數目之資料位元組係一個位元組。
- 一種嵌入式系統,其包括:一直接記憶體控制器,其包括複數個通道,其中複數個通道裁定方案可程式化;其中該DMA控制器可程式化以將一指定通道上之一區塊資料傳送分離成複數個單獨資料傳送;其中可在該資料傳送之單獨資料傳送之間,中斷一指定通道上之一資料傳送;其中一區塊資料傳送在一位元於一控制暫存器中之設定後,旋即被分離成該複數個單獨資料傳送;其中一單獨資料傳送包括固定數目之資料位元組; 其中該等裁定方案包括一循環方案及一固定優先權方案;且其中該等裁定方案包括一循環方案及一可指派優先權方案。
- 如請求項18之嵌入式系統,其中該等裁定方案中之至少一者係選自由一循環方案、一固定優先權方案及一可指派優先權方案組成之群組。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562169354P | 2015-06-01 | 2015-06-01 | |
US15/169,352 US10318457B2 (en) | 2015-06-01 | 2016-05-31 | Method and apparatus for split burst bandwidth arbitration |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201701161A true TW201701161A (zh) | 2017-01-01 |
Family
ID=57397562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105117243A TW201701161A (zh) | 2015-06-01 | 2016-06-01 | 用於分離突發頻寬裁定之方法及裝置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10318457B2 (zh) |
EP (1) | EP3304327B1 (zh) |
JP (1) | JP2018516406A (zh) |
KR (1) | KR20180014689A (zh) |
CN (1) | CN107667357B (zh) |
TW (1) | TW201701161A (zh) |
WO (1) | WO2016196549A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294233B (zh) * | 2015-06-29 | 2019-05-03 | 华为技术有限公司 | 一种直接内存访问的传输控制方法及装置 |
US10838896B2 (en) * | 2018-10-15 | 2020-11-17 | Texas Instruments Incorporated | Split direct memory access (DMA) |
CN110138553B (zh) * | 2019-05-10 | 2022-08-19 | 郑州信大捷安信息技术股份有限公司 | 一种IPSec VPN网关数据包处理装置及方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371517A (en) * | 1991-11-08 | 1994-12-06 | Texas Instruments Incorporated | Video interface palette, systems and method |
US7752400B1 (en) | 2000-12-14 | 2010-07-06 | F5 Networks, Inc. | Arbitration and crossbar device and method |
JP5040050B2 (ja) * | 2001-06-12 | 2012-10-03 | 富士通株式会社 | 複数チャネルdmaコントローラおよびプロセッサシステム |
EP1899828B1 (en) * | 2005-06-30 | 2009-11-25 | Freescale Semiconductor, Inc. | Device and method for arbitrating between direct memory access task requests |
JP4470183B2 (ja) * | 2006-08-28 | 2010-06-02 | エルピーダメモリ株式会社 | 半導体記憶装置 |
CN101150486A (zh) * | 2007-11-15 | 2008-03-26 | 曙光信息产业(北京)有限公司 | 一种零拷贝缓冲区队列网络数据接收的管理方法 |
US7877524B1 (en) * | 2007-11-23 | 2011-01-25 | Pmc-Sierra Us, Inc. | Logical address direct memory access with multiple concurrent physical ports and internal switching |
JP2010054989A (ja) * | 2008-08-29 | 2010-03-11 | Mitsubishi Electric Corp | 階調制御方法および表示装置 |
US8812898B1 (en) * | 2012-09-27 | 2014-08-19 | Cadence Design Systems, Inc. | System and method for transfer of data between memory with dynamic error recovery |
US8880756B1 (en) | 2013-07-01 | 2014-11-04 | Atmel Corporation | Direct memory access controller |
CN104536921A (zh) * | 2015-01-19 | 2015-04-22 | 浪潮电子信息产业股份有限公司 | 一种edma控制器分离式并行数据通道的设计方法 |
-
2016
- 2016-05-31 US US15/169,352 patent/US10318457B2/en active Active
- 2016-06-01 EP EP16728540.2A patent/EP3304327B1/en active Active
- 2016-06-01 WO PCT/US2016/035156 patent/WO2016196549A1/en active Application Filing
- 2016-06-01 KR KR1020177031595A patent/KR20180014689A/ko unknown
- 2016-06-01 JP JP2017561329A patent/JP2018516406A/ja active Pending
- 2016-06-01 CN CN201680029623.9A patent/CN107667357B/zh active Active
- 2016-06-01 TW TW105117243A patent/TW201701161A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN107667357B (zh) | 2021-05-25 |
EP3304327B1 (en) | 2020-01-08 |
CN107667357A (zh) | 2018-02-06 |
KR20180014689A (ko) | 2018-02-09 |
US10318457B2 (en) | 2019-06-11 |
US20160350246A1 (en) | 2016-12-01 |
EP3304327A1 (en) | 2018-04-11 |
WO2016196549A1 (en) | 2016-12-08 |
JP2018516406A (ja) | 2018-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7478186B1 (en) | Interrupt coalescer for DMA channel | |
US9626309B1 (en) | Method and controller for requesting queue arbitration and coalescing memory access commands | |
JP2009508247A (ja) | バス調停に関する方法及びシステム | |
US20150220460A1 (en) | Arbitrating direct memory access channel requests | |
WO2013140656A1 (ja) | データ処理装置、半導体外観検査装置、およびデータ容量増加抑制方法 | |
EP3747170A1 (en) | End-to-end quality-of-service in a network-on-chip | |
US7213084B2 (en) | System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit | |
TW201701161A (zh) | 用於分離突發頻寬裁定之方法及裝置 | |
CN109002408B (zh) | 总线仲裁方法和系统 | |
JP2014035628A5 (zh) | ||
KR20130083910A (ko) | 스트림 트랜잭션(들)에 관련된 정보에 기초한 스트림 트랜잭션들의 중재 | |
US7054970B2 (en) | Bus arbiter for integrated circuit systems | |
GB2437322A (en) | System and method for bandwidth sharing in buses | |
US9367511B2 (en) | System method for managing USB data transfers by sorting a plurality of endpoints in scheduling queue in descending order based partially on endpoint frequency | |
CN107102822B (zh) | 一种数据回写方法及装置 | |
US9916129B1 (en) | Flow control for direct memory access transfers | |
EP2290552A1 (en) | Data transfer device, information processing device, and control method | |
US9910812B2 (en) | Initiating multiple data transactions on a system bus | |
JPH0727507B2 (ja) | チャネル選択アービトレーション | |
US6889283B2 (en) | Method and system to promote arbitration priority in a buffer queue | |
EP2588965B1 (en) | Method, apparatus and system for maintaining transaction coherecy in a multiple data bus platform | |
KR20090128851A (ko) | 버스 중재 방법 및 장치 | |
WO2020230413A1 (ja) | 情報処理装置 | |
WO2019038834A1 (ja) | 情報処理装置及びリソース使用調停方法 | |
KR100718082B1 (ko) | 멀티포트 i2c 컨트롤러 및 그의 동작제어방법 |