CN113474761A - 用于配置多个核心独立外围设备的可编程任意序列直接存储器存取控制器 - Google Patents

用于配置多个核心独立外围设备的可编程任意序列直接存储器存取控制器 Download PDF

Info

Publication number
CN113474761A
CN113474761A CN201980092913.1A CN201980092913A CN113474761A CN 113474761 A CN113474761 A CN 113474761A CN 201980092913 A CN201980092913 A CN 201980092913A CN 113474761 A CN113474761 A CN 113474761A
Authority
CN
China
Prior art keywords
address
register
memory
data
arbitrary sequence
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201980092913.1A
Other languages
English (en)
Inventor
K·E·库提斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Inc
Original Assignee
Microchip Technology 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 Technology Inc filed Critical Microchip Technology Inc
Publication of CN113474761A publication Critical patent/CN113474761A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06F13/287Multiplexed DMA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [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/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)

Abstract

可编程任意序列直接存储器存取(DMA)控制器使用地址指针寄存器(202,204)访问顺序寻址的存储器位置(源或目的地)。包含间接存储器地址的每个顺序寻址的存储器位置存储在地址锁存器(203)中并用于访问要由DMA传输访问的实际非序列存储器位置。

Description

用于配置多个核心独立外围设备的可编程任意序列直接存储 器存取控制器
相关专利申请
本申请要求2019年2月27日提交的由Keith Edwin Curtis命名为“ProgrammableArbitrary Sequence Direct Memory Access Controller for Configuring MultipleCore Independent Peripherals”的共同拥有的美国临时专利申请序列号62/811,400的优先权;并且据此以引用方式并入本文以用于所有目的。
技术领域
本公开涉及直接存储器存取(DMA)控制,并且更具体地涉及用于配置多个核心独立外围设备(CIP)的可编程任意序列DMA控制器。
背景技术
核心独立外围设备被认为是不需要由CPU控制来执行其功能的外围设备。例如,常规模数转换器必须由CPU控制来对每个值进行采样,并且CPU一旦获得结果就必须存储该结果。核心独立版本的此类模数转换器仍可由CPU配置,但一旦该模数转换器已被配置,该模数转换器就可独立于CPU操作,并且例如可被独立触发并将结果存储在特定位置中。可以实现其他核心独立外围设备,这允许CPU免受控制任务的影响,从而增强微控制器的处理能力。核心独立外围设备(CIP)的主要优点之一是它们可在运行中被重新配置以改变CIP(伪外围设备)的性能或操作。遗憾的是,CIP配置寄存器可能分散在多个存储器映射的特殊功能寄存器(SFR)地址存储体上。使用程序固件进行CIP重新配置也相对慢,并且响应于外部信号而引起延迟时间。
可使用的一种方法是将两个DMA外围设备配置在一起,一个DMA外围设备从存储器访问SFR地址列表,然后用这些SFR地址对第二DMA外围设备进行编程,然后使实际CIP重新配置数据传输到CIP SFR。这是非常低效的,因为多个寄存器重复,并且写入速度较慢。它还要求两个DMA外围设备以触发彼此的方式交接。如果DMA外围设备命中错误或故障,则DMA操作失败。
发明内容
因此,所需要的是可编程任意序列直接存储器存取(DMA)控制器,该可编程任意序列DMA控制器可以在外部触发并且还可以可编程次序跳到不同的非序列存储器位置。
根据一个实施方案,可编程任意序列直接存储器存取(DMA)控制器可以包括:第一地址指针寄存器;第二地址指针寄存器;数据锁存器,该数据锁存器耦接到第一数据总线;地址锁存器,该地址锁存器耦接到第二数据总线;多路复用器,该多路复用器具有耦接到第一地址指针寄存器的第一输入端、耦接到地址锁存器的第二输入端、耦接到第二地址指针寄存器的第三输入端以及耦接到地址总线的输出端;和控制逻辑部件,该控制逻辑部件耦接到第一地址指针寄存器和第二地址指针寄存器、地址锁存器、多路复用器和数据锁存器并且控制该第一地址指针寄存器和该第二地址指针寄存器、该地址锁存器、该多路复用器和该数据锁存器。
根据另一个实施方案,控制逻辑部件可以与总线仲裁逻辑部件通信。根据另一个实施方案,数据锁存器可以写入第一数据总线并从该第一数据总线读取。根据另一个实施方案,第一数据总线可以耦接到数据存储器。根据另一个实施方案,第二数据总线可以耦接到程序存储器。根据另一个实施方案,程序存储器可以是非易失性存储器。根据另一个实施方案,非易失性存储器可以是闪存可编程存储器。根据另一个实施方案,数据存储器可以是随机存取存储器(RAM)。根据另一个实施方案,第一数据总线和第二数据总线可以耦接到存储器。根据另一个实施方案,第一字节计数器和第二字节计数器可以与控制逻辑部件通信,并且可以对传输的数据字节数进行计数。
根据另一个实施方案,一种用于利用可编程任意序列直接存储器存取(DMA)控制器进行间接存储器寻址的方法可以包括以下步骤:读取存储在由第一地址指针寄存器指定的存储器地址处的寄存器地址;将寄存器地址存储在地址锁存器中;读取存储在由第二地址指针寄存器指定的另一存储器地址处的配置数据;将配置数据存储在数据锁存器中;以及将存储在数据锁存器中的配置数据写入存储在地址锁存器中的寄存器地址处的寄存器。
根据该方法的另一个实施方案,可以包括将数据锁存器耦接到第一数据总线和数据存储器的步骤。根据该方法的另一个实施方案,可以包括将地址锁存器耦接到第二数据总线和程序存储器的步骤。根据该方法的另一个实施方案,寄存器可以是外围寄存器。根据该方法的另一个实施方案,外围寄存器可以是特殊功能寄存器。根据该方法的另一个实施方案,特殊功能寄存器可以与核心独立外围设备(CIP)相关联。
根据又一个实施方案,一种用于利用可编程任意序列直接存储器存取(DMA)控制器进行间接存储器寻址的方法可以包括以下步骤:读取存储在由第一地址指针寄存器指定的存储器地址处的寄存器地址;将寄存器地址存储在地址锁存器中;读取存储在外围寄存器中的配置数据,该外围寄存器具有由地址锁存器中的寄存器地址指定的存储器地址;将配置数据存储在数据锁存器中;以及将配置数据写入由第二地址指针寄存器指定的地址处的存储器。
根据该方法的另一个实施方案,可以包括将数据锁存器耦接到第一数据总线和数据存储器的步骤。根据该方法的另一个实施方案,可以包括将地址锁存器耦接到第二数据总线和程序存储器的步骤。根据该方法的另一个实施方案,寄存器可以是外围寄存器。根据该方法的另一个实施方案,外围寄存器可以是特殊功能寄存器。根据该方法的另一个实施方案,特殊功能寄存器可以与核心独立外围设备(CIP)相关联。
附图说明
通过参考以下结合附图的描述,可以获得对本公开的更完整的理解,其中:
图1示出了直接存储器存取(DMA)控制器的现有技术示意性框图;
图2示出了根据本公开的特定示例性实施方案的可编程任意序列DMA控制器的示意性框图;
图3示出了根据本公开的特定示例性实施方案的图2的可编程任意序列DMA控制器的将新配置数据加载到任意序列存储器位置中的操作的示意性流程图;
图4示出了根据本公开的特定示例性实施方案的图2的可编程任意序列DMA控制器的从任意序列存储器位置读取现有配置数据的操作的示意性流程图;并且
图5示出了序列存储器位置和非序列存储器位置的示意性框图。
虽然本公开易受各种修改形式和替代形式的影响,但是其特定示例性实施方案已经在附图中示出并且在本文中详细描述。然而,应当理解,本文对特定示例性实施方案的描述并非旨在将本公开限于本文所公开的形式。
具体实施方式
本公开的实施方案可包括可编程任意序列DMA控制器。使用源地址寄存器/目的地地址寄存器和计数器正常(顺序地)访问存储器系统地址(源或目的地)的一侧。间接访问存储器系统的第二侧(目的地或源)。地址寄存器保持存储器位置的地址。存储器位置保持要访问的实际位置。使用该方法,例如但不限于,可将特殊功能寄存器(SFR)地址的列表编程到存储器中,并且当触发DMA时,以程序存储器中的列表所指示的次序将数据传输到SFR地址。SFR通常是用于配置和控制各种外围设备的功能的寄存器。为了易于访问这些寄存器,它们是映射到数据存储空间的存储器。
根据本公开的特定示例性实施方案,可编程任意序列DMA控制器可以将多个外围设备的内容复制到存储器,或者从存储器复制到外围SFR,而不需要SFR的地址为顺序次序。这还允许DMA仅通过参考不同的列表就有可能将外围设备重新配置为若干预设配置中的任一个预设配置。DMA还可由外部信号触发,该外部信号形成动态系统,该动态系统可响应于外部刺激而重新配置SFR,例如CIP的SFR。
所提出的解决方案比需要两个DMA控制器更简单,因为它是对现有DMA控制器设计的修改。这也消除了交叉连接两个不同DMA控制器的需要。其应比一对DMA控制器更小、更快,并且具有更小的SFR占有面积。在另一个实施方案中,可通过包括操作模式寄存器来进一步增强DMA控制器,该操作模式寄存器允许控制DMA控制器以常规操作模式或间接操作模式操作,如将在下文更详细地解释。
现在参见附图,示意性地示出了示例性实施方案的细节。附图中的相似元件将由相似数字表示,并且类似的元件将由具有不同的小写字母后缀的相似数字表示。
参考图1,描绘了直接存储器存取(DMA)控制器的现有技术示意性框图。DMA控制器可包括第一地址指针寄存器102、第二地址指针寄存器104、第一字节计数器106、控制逻辑部件108、第二字节计数器110、双输入多路复用器112和数据锁存器118。多路复用器112可耦接到存储器地址总线114,并且数据锁存器118可耦接到存储器数据总线116。控制逻辑部件108可与总线仲裁逻辑部件(未示出)通信。
第一地址指针寄存器102和第二地址指针寄存器104与计数器(未示出)顺序地递增,并且指向序列存储器位置。第一地址指针寄存器102包含要从其检索数据的存储器位置的地址。第二地址指针寄存器104包含要写入数据的另一存储器位置的地址。存储器(未示出)可特别是例如但不限于闪存程序存储器、固件存储器、随机存取存储器(RAM)。
首先从由第一地址指针寄存器102指定的存储器位置读取数据,其中多路复用器112将来自第一地址指针寄存器102的源地址耦接到与存储器总线(未示出)耦接的地址总线114。该存储器(源)位置的内容(数据)经由数据总线116读取并存储在数据锁存器118中。然后,多路复用器112将来自第二地址指针寄存器104的目的地地址耦接到地址总线114,并且该地址处的存储器(目的地)位置经由数据总线116与存储在数据锁存器118中的内容(数据)一起写入。地址总线114和数据总线116可耦接到存储器(未示出)。
当存储器地址位置是顺序的时,上述存储器数据传输操作运行良好,但当存储器地址位置不是顺序的时,上述存储器数据传输操作不运行良好,因为非序列存储器地址位置可能无法缓存和/或将添加到存储器寻址延迟时间。进行非序列DMA传输的一种方式需要图1所示的两个DMA控制器。这是非常低效的,因为多个寄存器重复,并且写入速度较慢。它还要求两个DMA控制器以触发彼此的方式交接。如果命中错误或故障,则数据传输失败。
参考图2,描绘了根据本公开的特定示例性实施方案的可编程任意序列DMA控制器的示意性框图。图2中示出了通常以数字200参考的可编程任意序列DMA控制器,该可编程任意序列DMA控制器提供了更好且更有效的方式来处理任意序列DMA传输。可编程任意序列DMA控制器200可包括第一地址指针寄存器202、第二地址指针寄存器204、第一字节计数器206、控制逻辑部件208、第二字节计数器210、具有耦接到地址总线214的输出端的多路复用器212、具有耦接到第一数据总线216的输出端和输入端的数据锁存器218、具有耦接到第二数据总线222的输入端的地址锁存器220、以及与控制逻辑部件208通信的总线仲裁逻辑部件228。
第一数据总线216可耦接到数据存储器226,并且第二数据总线222可耦接到程序存储器224。数据存储器226可以是例如但不限于八位存储器,并且程序存储器224可以是例如但不限于十四位存储器。任一存储器的寻址可通过地址总线214进行。程序存储器224可包含要向其传输数据或从其读取数据的间接目的地地址。耦接到第二数据总线222的程序存储器224可以是例如但不限于非易失性随机存取存储器(RAM),诸如闪存可编程存储器。数据存储器226可以是易失性或非易失性RAM。数据存储器226和程序存储器224可具有相同位宽并且可可由单个存储器构成。
下文参考图3和图4及其描述更全面地公开了图2所示的可编程任意序列DMA控制器的操作。第二数据总线222可耦接到与第一数据总线216相同或不同的存储器。地址锁存器220耦接到第二数据总线222并经由该第二数据总线从程序存储器224读取间接目的地地址并存储该间接目的地地址。数据锁存器218可经由第一数据总线216从其相关联的存储器读取数据/向其相关联的存储器写入数据。控制逻辑部件208可与总线仲裁逻辑部件228通信。字节计数器206和210可用于对正在传输的存储器字节数进行计数。
为了允许DMA控制器以如图1所示的常规模式操作,提供了操作模式寄存器250。操作模式寄存器可允许以常规模式或间接模式操作,例如通过清除或设置寄存器250中的一位255。其他配置是可以是可能的,并且寄存器250中的多于一个位可用于限定实际操作模式。当以常规操作模式操作时,将不使用地址锁存器220,并且DMA控制器将如上文图1所述起作用。操作模式寄存器可以是存储器映射的特殊功能寄存器250,或者已经存在的配置寄存器的未使用位可用于设置间接或常规DMA操作模式。
对核心独立外围设备(CIP)和特殊功能寄存器(SFR)地址和数据的参考将在本文中用于进行示意性的说明,如下文图3和图4及其描述所示。数字电子领域的普通技术人员以及本公开的有益效果将易于理解,并且能够将本公开的教导内容应用于需要间接DMA寻址的其他应用和外围寄存器配置写入和读取。
参考图3,描绘了根据本公开的特定示例性实施方案的图2的可编程任意序列DMA控制器的将新配置数据加载到任意序列存储器位置中的操作的示意性流程图。任意序列存储器位置由存储在另一存储器位置中的存储器地址确定。在步骤302中,开始DMA传输。A)在步骤304中,读取在由第一地址指针寄存器202指定的存储器地址处存储在存储器中的CIPSFR地址,然后在步骤306中例如经由第二数据总线222将该CIP SFR地址从程序存储器224存储在地址锁存器220中。B)在步骤308中,利用地址总线214和第二数据总线222读取在由第二地址指针寄存器204指定的存储器地址处存储在数据存储器226中的CIP配置数据,并在步骤310中将该CIP配置数据存储在数据锁存器218中。C)在步骤312中,利用地址总线214和第一数据总线216将步骤310的存储在数据锁存器218中的CIP配置数据写入CIP SFR(存储器)地址中,该地址是存储在地址锁存器220中的数据存储器226中的特定地址。因此,仅需要三次DMA传输来执行间接寻址以配置或更新CIP SFR。对于需要加载或更新的每个CIPSFR,例如对于多个CIP SFR,可重复这些DMA传输。
参考图4,描绘了根据本公开的特定示例性实施方案的图2的可编程任意序列DMA控制器的从任意序列存储器位置读取现有配置数据的操作的示意性流程图。任意序列存储器位置由存储在由地址指针寄存器中指定的另一存储器位置中的存储器地址确定。在步骤402中,开始DMA传输。A)在步骤404中,利用地址总线214和第二数据总线222读取在由第一地址指针寄存器202指定的存储器地址处存储在存储器(例如,程序存储器224)中的CIPSFR地址,然后在步骤406中通过将地址锁存器220耦接到第二数据总线222和程序存储器224来将该CIP SFR地址存储在地址锁存器220中。B)在步骤408中,通过将地址锁存器220耦接到地址总线214和第一数据总线216并利用该地址总线和第一数据总线来读取在由地址锁存器220指定的存储器地址处存储在CIP SFR中的CIP配置数据,该CIP配置数据是数据存储器226中的特定地址,然后在步骤410中将该CIP配置数据存储在数据锁存器218中。C)在步骤412中,利用地址总线214和数据总线216将存储在数据锁存器218中的CIP配置数据写入由第二地址指针寄存器204指定的数据存储器226的存储器地址中。因此,仅需要三次DMA传输来执行间接寻址以读取CIP SFR的内容并将其存储在由第一地址指针寄存器202限定的存储器位置中。对于需要读取的每个CIP SFR,例如对于多个CIP SFR,可重复这些DMA传输。
参考图5,描绘了序列存储器位置和非序列存储器位置的示意性框图。可表示程序存储器224的一部分的序列存储器位置520可用于存储可表示数据存储器226的一部分的非序列存储器位置530至544的地址。非序列存储器位置530至544可被存储器映射到各种外围设备的特殊功能寄存器以用于存储数据(例如,配置数据)。寄存器可包括核心独立外围设备(CIP)562的具有非序列存储器位置544的至少一个特殊功能寄存器(SFR)560。另选地,SFR 560可以是外围寄存器。非序列存储器位置530至544的地址可存储在序列存储器位置520a至520n中并如上所述进行访问。非序列存储器位置530至544可主要用于SFR 560地址。
已根据一个或多个实施方案描述了本公开,并且应当理解,除了明确陈述的那些方案之外,许多等同方案、替代方案、变型方案和修改方案是可能的,并且在本公开的范围内。虽然本公开易受各种修改形式和替代形式的影响,但是其具体示例性实施方案已经在附图中示出并且在本文中详细描述。然而,应当理解,本文对具体示例性实施方案的描述并非旨在将本公开限于本文所公开的特定形式。

Claims (26)

1.一种可编程任意序列直接存储器存取(DMA)控制器,包括:
第一地址指针寄存器;
第二地址指针寄存器;
数据锁存器,所述数据锁存器耦接到第一数据总线;
地址锁存器,所述地址锁存器耦接到第二数据总线;
多路复用器,所述多路复用器具有耦接到所述第一地址指针寄存器的第一输入端、耦接到所述地址锁存器的第二输入端、耦接到所述第二地址指针寄存器的第三输入端以及耦接到地址总线的输出端;和
控制逻辑部件,所述控制逻辑部件耦接到所述第一地址指针寄存器和所述第二地址指针寄存器、所述地址锁存器、所述多路复用器和所述数据锁存器并且控制所述第一地址指针寄存器和所述第二地址指针寄存器、所述地址锁存器、所述多路复用器和所述数据锁存器。
2.根据权利要求1所述的可编程任意序列DMA控制器,还包括控制寄存器,所述控制寄存器被配置为控制所述DMA控制器的操作模式,其中当以第一模式操作时,所述DMA控制器被配置为使用所述第一地址指针寄存器来存储源地址,并且使用所述第二地址指针寄存器来存储目的地地址,并且当以第二模式操作时,所述DMA控制器被配置为从所述第二数据总线接收所述地址锁存器中的源地址或目的地地址。
3.根据权利要求2所述的可编程任意序列DMA控制器,其中所述控制寄存器中的一位确定所述DMA控制器是以所述第一模式还是所述第二模式操作。
4.根据权利要求1至3中任一项所述的可编程任意序列DMA控制器,其中所述控制逻辑部件与总线仲裁逻辑部件通信。
5.根据权利要求1至4中任一项所述的可编程任意序列DMA控制器,其中所述数据锁存器写入所述第一数据总线并从所述第一数据总线读取。
6.根据权利要求1至5中任一项所述的可编程任意序列DMA控制器,其中所述第一数据总线耦接到数据存储器。
7.根据权利要求1至6中任一项所述的可编程任意序列DMA控制器,其中所述第二数据总线耦接到程序存储器。
8.根据权利要求7所述的可编程任意序列DMA控制器,其中所述程序存储器是非易失性存储器。
9.根据权利要求8所述的可编程任意序列DMA控制器,其中所述非易失性存储器是闪存可编程存储器。
10.根据权利要求6所述的可编程任意序列DMA控制器,其中所述数据存储器是随机存取存储器(RAM)。
11.根据权利要求1至10中任一项所述的可编程任意序列DMA控制器,其中所述第一数据总线和所述第二数据总线耦接到存储器。
12.根据权利要求1至11中任一项所述的可编程任意序列DMA控制器,还包括第一字节计数器和第二字节计数器,所述第一字节计数器和所述第二字节计数器与所述控制逻辑部件通信,并且对传输的数据字节数进行计数。
13.一种用于利用可编程任意序列直接存储器存取(DMA)控制器进行间接存储器寻址的方法,所述方法包括以下步骤:
读取存储在由第一地址指针寄存器指定的存储器地址处的寄存器地址;
将所述寄存器地址存储在地址锁存器中;
读取存储在由第二地址指针寄存器指定的另一存储器地址处的配置数据;
将所述配置数据存储在数据锁存器中;以及
将存储在所述数据锁存器中的所述配置数据写入存储在所述地址锁存器中的所述寄存器地址处的寄存器。
14.根据权利要求13所述的方法,其中所述寄存器是外围寄存器。
15.根据权利要求14所述的方法,其中所述外围寄存器是特殊功能寄存器。
16.根据权利要求15所述的方法,其中所述特殊功能寄存器与核心独立外围设备(CIP)相关联。
17.根据权利要求13至16中任一项所述的方法,还包括将所述数据锁存器耦接到第一数据总线和数据存储器的步骤。
18.根据权利要求13至17中任一项所述的方法,还包括将所述地址锁存器耦接到第二数据总线和程序存储器的步骤。
19.根据权利要求13至18中任一项所述的方法,其中所述DMA控制器能够被配置为以直接寻址模式操作,在所述直接寻址模式下,所述第一地址指针寄存器存储源地址,并且所述第二地址指针寄存器存储目的地地址。
20.一种用于利用可编程任意序列直接存储器存取(DMA)控制器进行间接存储器寻址的方法,所述方法包括以下步骤:
读取存储在由第一地址指针寄存器指定的存储器地址处的寄存器地址;
将所述寄存器地址存储在地址锁存器中;
读取存储在外围寄存器中的配置数据,所述外围寄存器具有由所述地址锁存器中的所述寄存器地址指定的存储器地址;
将所述配置数据存储在数据锁存器中;以及
将所述配置数据写入由第二地址指针寄存器指定的地址处的存储器。
21.根据权利要求20所述的方法,其中所述寄存器是外围寄存器。
22.根据权利要求21所述的方法,其中所述外围寄存器是特殊功能寄存器。
23.根据权利要求22所述的方法,其中所述特殊功能寄存器与核心独立外围设备(CIP)相关联。
24.根据权利要求20至23中任一项所述的方法,还包括将所述数据锁存器耦接到第一数据总线和数据存储器的步骤。
25.根据权利要求20至24中任一项所述的方法,还包括将所述地址锁存器耦接到第二数据总线和程序存储器的步骤。
26.根据权利要求20至25中任一项所述的方法,其中所述DMA控制器能够被配置为以直接寻址模式操作,在所述直接寻址模式下,所述第一地址指针寄存器存储源地址,并且所述第二地址指针寄存器存储目的地地址。
CN201980092913.1A 2019-02-27 2019-06-21 用于配置多个核心独立外围设备的可编程任意序列直接存储器存取控制器 Pending CN113474761A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962811400P 2019-02-27 2019-02-27
US62/811,400 2019-02-27
US16/377,439 US10983936B2 (en) 2019-02-27 2019-04-23 Programmable arbitrary sequence direct memory access controller for configuring multiple core independent peripherals
US16/377,439 2019-04-23
PCT/US2019/038390 WO2020176123A1 (en) 2019-02-27 2019-06-21 Programmable arbitrary sequence direct memory access controller for configuring multiple core independent peripherals

Publications (1)

Publication Number Publication Date
CN113474761A true CN113474761A (zh) 2021-10-01

Family

ID=72141137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980092913.1A Pending CN113474761A (zh) 2019-02-27 2019-06-21 用于配置多个核心独立外围设备的可编程任意序列直接存储器存取控制器

Country Status (4)

Country Link
US (1) US10983936B2 (zh)
CN (1) CN113474761A (zh)
DE (1) DE112019006932T5 (zh)
WO (1) WO2020176123A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10983936B2 (en) * 2019-02-27 2021-04-20 Microchip Technology Incorporated Programmable arbitrary sequence direct memory access controller for configuring multiple core independent peripherals

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151983A (en) * 1988-03-18 1992-09-29 Nec Corporation Microcomputer system with selectively bypassed memory output latches
US5513374A (en) * 1993-09-27 1996-04-30 Hitachi America, Inc. On-chip interface and DMA controller with interrupt functions for digital signal processor
WO2008014244A2 (en) * 2006-07-25 2008-01-31 Microchip Technology Incorporated Peripheral supplied addressing in a simple dma
CN104866453A (zh) * 2014-02-20 2015-08-26 三星电子株式会社 系统芯片、总线接口连接电路和其总线接口连接方法
US20200272588A1 (en) * 2019-02-27 2020-08-27 Microchip Technology Incorporated Programmable arbitrary sequence direct memory access controller for configuring multiple core independent peripherals

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847750A (en) 1986-02-13 1989-07-11 Intelligent Instrumentation, Inc. Peripheral DMA controller for data acquisition system
US5678063A (en) 1995-04-19 1997-10-14 National Instruments Corporation System and method for performing efficient random write operations
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
US6189082B1 (en) * 1999-01-29 2001-02-13 Neomagic Corp. Burst access of registers at non-consecutive addresses using a mapping control word
US20180107591A1 (en) * 2011-04-06 2018-04-19 P4tents1, LLC System, method and computer program product for fetching data between an execution of a plurality of threads
US10225944B2 (en) * 2016-01-29 2019-03-05 Ncr Corporation Mounting plinth for self-service terminal (SST)
US10360164B1 (en) * 2018-01-19 2019-07-23 Microchip Technology Incorporated Direct memory access adapter

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151983A (en) * 1988-03-18 1992-09-29 Nec Corporation Microcomputer system with selectively bypassed memory output latches
US5513374A (en) * 1993-09-27 1996-04-30 Hitachi America, Inc. On-chip interface and DMA controller with interrupt functions for digital signal processor
WO2008014244A2 (en) * 2006-07-25 2008-01-31 Microchip Technology Incorporated Peripheral supplied addressing in a simple dma
CN104866453A (zh) * 2014-02-20 2015-08-26 三星电子株式会社 系统芯片、总线接口连接电路和其总线接口连接方法
US20200272588A1 (en) * 2019-02-27 2020-08-27 Microchip Technology Incorporated Programmable arbitrary sequence direct memory access controller for configuring multiple core independent peripherals

Also Published As

Publication number Publication date
WO2020176123A1 (en) 2020-09-03
US20200272588A1 (en) 2020-08-27
DE112019006932T5 (de) 2021-12-02
US10983936B2 (en) 2021-04-20

Similar Documents

Publication Publication Date Title
US5251303A (en) System for DMA block data transfer based on linked control blocks
KR100265141B1 (ko) 데이터 프로세싱 시스템에서 데이터 최대화를 위한 직렬-병렬버스 인터페이스 및 그 방법
US7296143B2 (en) Method and system for loading processor boot code from serial flash memory
US8037228B2 (en) Bridge device with page-access based processor interface
JP5102644B2 (ja) 直接メモリ・アクセスを使用してプログラマブル論理装置を初期化するための方法、集積回路、システム及びコンピュータ・プログラム
US8370606B2 (en) Switching data pointers based on context
US20030056071A1 (en) Adaptable boot loader
US7617383B2 (en) Circular register arrays of a computer
JP4819301B2 (ja) Nandフラッシュメモリを利用したブートシステム及びその方法
US7433977B2 (en) DMAC to handle transfers of unknown lengths
CN107548488B (zh) 具有dsp引擎及增强上下文切换能力的中央处理单元
WO2001061497A1 (en) Configuration bits layout
US20160179388A1 (en) Method and apparatus for providing programmable nvm interface using sequencers
EP2396723B1 (en) Microcontroller with special banking instructions and method therefor
US5826105A (en) System for using an external CPU to access multifunction controller's control registers via configuration registers thereof after disabling the embedded microprocessor
CN113474761A (zh) 用于配置多个核心独立外围设备的可编程任意序列直接存储器存取控制器
KR20010102181A (ko) 원형 어드레스 레지스터
US20040236923A1 (en) Variable sized flash memory in PCI
GB2412767A (en) Processor with at least two buses between a read/write port and an associated memory with at least two portions
KR20200123799A (ko) 디바이스를 디버깅할 때 메타데이터에 액세스하기 위한 장치 및 방법
KR100534613B1 (ko) 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법
CN112685349B (zh) 可变位宽的位操作控制系统及方法
JP4132516B2 (ja) フィールド・プログラマブル・ゲートアレイ
CN111052100A (zh) 可位操作的直接存储器访问
US8816718B1 (en) Variable response mode for synchronous data read

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination