CN101855623B - 具有可间接存取的存储器的控制器 - Google Patents

具有可间接存取的存储器的控制器 Download PDF

Info

Publication number
CN101855623B
CN101855623B CN200880115788.3A CN200880115788A CN101855623B CN 101855623 B CN101855623 B CN 101855623B CN 200880115788 A CN200880115788 A CN 200880115788A CN 101855623 B CN101855623 B CN 101855623B
Authority
CN
China
Prior art keywords
register
address
group
access
interface
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.)
Active
Application number
CN200880115788.3A
Other languages
English (en)
Other versions
CN101855623A (zh
Inventor
迈克尔·西蒙斯
霍华德·亨利·施伦德
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 CN101855623A publication Critical patent/CN101855623A/zh
Application granted granted Critical
Publication of CN101855623B publication Critical patent/CN101855623B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

一种控制器具有:接口;缓冲器存储器;第一组寄存器,其用于存取所述缓冲器存储器;第二组寄存器,其独立于所述第一组寄存器且用于存取所述缓冲器存储器;以及控制单元,其用于解码并执行通过所述接口接收的缓冲器存储器存取命令以通过所述第一或第二组寄存器来存取所述缓冲器存储器。

Description

具有可间接存取的存储器的控制器
技术领域
本申请案的技术领域涉及具有可间接存取的存储器的控制器。
背景技术
存在许多控制器,明确地说独立式控制器,所述控制器包含处理器由于相关联接口的地址大小的约束而不可直接存取的大存储器。举例来说,以太网控制器(明确地说,独立式以太网控制器)经设计以充当用于任何类型的微处理器或微控制器的以太网网络接口。此控制器可具有相当大的存储器且可包括专用接口,例如串行外围设备接口(SPI)总线。在一些实施例中,还可使用SPI总线或任何其它有能力的接口连接将此以太网控制器集成于微控制器中。在以太网控制器的情况下,所述控制器处置所有通信协议且包含用于中间存储入局及出局消息的大缓冲器。微控制器或微处理器可接着经由接口通信及控制所述以太网控制器。独立式或集成式以太网控制器处置入局及出局数据包的协调以及包滤波。所述以太网控制器可进一步包含内部直接存储器存取(DMA)模块以用于快速数据吞吐量及硬件相关联校验和计算。以太网控制器与微控制器或微处理器的通信可被建立为中断或轮询驱动式。
如上所述,并入于此类型控制器中的缓冲器相对大,且因此由于相应接口的通信协议的地址大小限制而不可直接寻址。因此,通常经由一组控制寄存器通过窗口化接口来存取所述缓冲器。此一组控制寄存器包含用于待写入或读取的数据的寄存器以及含有缓冲器的物理读取或写入地址的至少一个指针寄存器。然而,此存取方案可在当前以太网控制器中导致瓶颈,对于在读取与写入存取之间或在存取以太网缓冲器的不同任务之间频繁切换的操作尤其如此,使得每当发生一切换时必须保存指针寄存器的内容。
发明内容
根据一实施例,一种控制器可包含:接口;缓冲器存储器;第一组寄存器,其用于存取所述缓冲器存储器;第二组寄存器,其独立于所述第一组寄存器且用于存取所述缓冲器存储器;以及控制单元,其用于解码并执行通过所述接口接收的缓冲器存储器存取命令以通过所述第一或第二组寄存器存取所述缓冲器存储器。
根据又一实施例,所述第一组寄存器可包含第一读取指针寄存器及第一写入指针寄存器,且所述第二组寄存器可包含第二读取指针寄存器及第二写入指针寄存器。根据又一实施例,所述控制器可进一步包含自动递增或自动递减单元,所述自动递增或自动递减单元用于递增或递减所述第一及/或第二组寄存器中的至少一个寄存器的内容。根据又一实施例,所述控制器可进一步包含环绕单元,所述环绕单元用于将所述第一及/或第二组寄存器中的至少一个指针寄存器中所存储的地址复位到预定义地址。根据又一实施例,所述控制器可进一步包含与每一指针寄存器耦合的至少一个多路复用器。根据又一实施例,所述多路复用器进一步可接收直接地址信号。根据又一实施例,所述控制器可进一步包含特殊功能寄存器,所述特殊功能寄存器用于在所述缓冲器存储器中定义分裂地址,所述分裂地址将所述缓冲器存储器分裂成被指派给所述第一组寄存器的第一段及被分配给所述第二组寄存器的第二段。根据又一实施例,所述控制器可进一步包含多个特殊功能寄存器,所述多个特殊功能寄存器用于在所述缓冲器存储器中定义被指派给每一组寄存器的存储器段。根据又一实施例,所述控制器可进一步包含至少一第三组寄存器,所述至少一第三组寄存器独立于所述第一及第二组寄存器且用于存取所述缓冲器存储器,其中所述第三组寄存器包含第三读取指针寄存器及第三写入指针寄存器。根据又一实施例,所述控制器可以是以太网控制器,且所述包缓冲器存储器可与所述组寄存器耦合且可与所述以太网控制器的发射及接收单元耦合。
根据另一实施例,一种以太网控制器可包含:物理层及媒体接入控制层;缓冲器存储器;物理与媒体接入控制层,其与所述缓冲器存储器耦合;一组发射(TX)寄存器,其与所述缓冲器存储器耦合且包含第一读取指针寄存器及第一写入指针寄存器;一组接收(RX)寄存器,其与所述缓冲器存储器耦合且包含第二读取指针寄存器及第二写入指针寄存器;一组用户定义的寄存器,其与所述缓冲器存储器耦合且包含第三读取指针寄存器及第三写入指针寄存器;以及控制单元,其用于解码并执行通过接口接收的缓冲器存储器存取命令以通过所述发射、接收或用户定义的寄存器来存取所述缓冲器存储器。
根据又一实施例,所述以太网控制器可进一步包含自动递增或自动递减单元,所述自动递增或自动递减单元用于递增或递减所述指针寄存器中任一者的内容。根据又一实施例,所述以太网控制器可进一步包含环绕单元,所述环绕单元用于将所述指针寄存器中的任一者中所存储的地址复位到预定义开始地址。根据又一实施例,所述以太网控制器可进一步包含与每一指针寄存器耦合的至少一个多路复用器。根据又一实施例,所述多路复用器进一步可接收直接地址信号。根据又一实施例,所述以太网控制器可进一步包含特殊功能寄存器,所述特殊功能寄存器用于在所述缓冲器存储器中定义分裂地址,所述分裂地址将所述缓冲器存储器分裂成被指派给所述发射寄存器的第一段及被指派给所述接收寄存器的第二段。根据又一实施例,所述以太网控制器可进一步包含多个特殊功能寄存器,所述多个特殊功能寄存器用于定义用于所述用户定义的寄存器的存储器段。根据又一实施例,所述以太网控制器可进一步包含多个特殊功能寄存器,所述多个特殊功能寄存器用于在所述缓冲器存储器中定义指派给每一组寄存器的存储器段。
根据再一实施例,一种用于通过具有有限寻址能力的接口存取控制器中的存储器的方法可包含以下步骤:通过所述接口将所述存储器的第一地址加载到第一组存取寄存器中的第一地址寄存器中;通过所述接口将所述存储器的第二地址加载到第二组存取寄存器中的第二地址寄存器中;通过所述接口接收第一读取命令;通过所述第一地址寄存器存取所述存储器且从所述存储器中的所述第一地址接收第一数据;通过所述接口输出所述第一数据;通过所述接口接收第二读取命令;通过所述第二地址寄存器存取所述存储器且从所述存储器中的第二地址接收第二数据;以及通过所述接口输出所述第二数据。
根据又一实施例,所述方法可进一步包含在读取所述存储器之后自动递增或自动递减所述第一及第二地址寄存器的步骤。根据又一实施例,所述方法可进一步包含在自动递增或自动递减之后对所述第一及第二地址寄存器执行地址环绕功能的步骤。根据又一实施例,所述方法可进一步包含以下步骤:通过所述接口将所述存储器的第三地址加载到第三组存取寄存器中的第三地址寄存器中;通过所述接口将所述存储器的第三地址加载到第三组存取寄存器中的第三地址寄存器中;通过所述接口接收第三读取命令;通过所述第三地址寄存器存取所述存储器且从所述存储器的所述第三地址接收第三数据;以及通过所述接口输出所述第三数据。
根据再一实施例,一种用于通过具有有限寻址能力的接口存取控制器中的存储器的方法可包含以下步骤:通过所述接口将第一地址加载到第一组存取寄存器中的第一地址寄存器中;通过所述接口将第二地址加载到第二组存取寄存器中的第二地址寄存器中;通过所述接口接收第一写入命令;通过所述接口接收第一写入数据;通过所述第一地址寄存器存取所述存储器且将所述第一数据在所述第一地址下存储到所述存储器中;通过所述接口接收第二写入命令;通过所述接口接收第二写入数据;以及通过所述第二地址寄存器存取所述存储器并将所述第二数据在所述第二地址下存储到所述存储器中。
根据又一实施例,所述方法可进一步包含在读取所述存储器之后自动递增或自动递减所述第一及第二地址寄存器的步骤。根据又一实施例,所述方法可进一步包含在自动递增或自动递减之后对所述第一及第二地址寄存器执行地址环绕功能的步骤。根据又一实施例,所述方法可进一步包含以下步骤:通过所述接口将第三地址加载到第三组存取寄存器中的第三地址寄存器中;通过所述接口将第三地址加载到第三组存取寄存器中的第三地址寄存器中;通过所述接口接收第三写入命令;通过所述接口接收第三写入数据;以及通过所述第三地址寄存器存取所述存储器并将所述第三数据在所述第三地址下存储到所述存储器中。
所属领域的技术人员依据以下图、描述及上述权利要求书将易于明了本发明的其它技术优点。本申请案的各种实施例仅可获得所阐明的优点的子集。没有一个优点对于所述实施例是决定性的。
附图说明
可通过参考以下结合附图所做的描述获取对本发明及其优点的更完整理解,在所述附图中相同参考编号指示相同特征,且其中:
图1是在独立式以太网控制器或微控制器的集成式模块中使用的以太网控制器模块的框图;
图2图解说明缓冲器存取逻辑的实施例;
图3图解说明缓冲器存取逻辑的另一实施例。
图4图解说明缓冲器存取逻辑的又一实施例。
图5图解说明根据实施例的缓冲器内的可变块指派。
虽然已参考本发明的实例性实施例描绘、描述及界定了本发明的各实施例,但此参考并不暗示对本发明的限制,且不应推断出存在此限制。所揭示的标的物能够在形式及功能上具有大量修改、更改及等效形式,所属领域的技术人员根据本发明将会联想到所述修改、更改及等效形式并受益于本发明。所描绘及所描述的本发明的各实施例仅作为实例,而并非是对本发明的范围的穷尽说明。
具体实施方式
一般来说,可集成于微控制器中的此独立式控制器具有接口,所述接口具有有限地址能力。举例来说,典型的8位串行接口将需要多个地址发射以形成能够在大缓冲器存储器中寻址每一个存储器位置的长地址。因此,通过此接口的直接存取将形成瓶颈且使得发射速率显著地减慢。因此,此等模块包含窗口化存取机构,其中使用地址寄存器来提供实际地址。在多数应用(例如,以太网控制器)中,地址寄存器通常仅必须设定一次,因为对此大缓冲器的存取通常是有顺序的。换句话说,一旦已存取特定存储器位置,便需要递增或递减所述地址,此取决于用以存取下一存储器位置的写入机构。此递增或递减功能可在无外部处理器支持的情况下由控制器自动地处置。因此,针对读取及写入存取,实施自动递增及/或自动递减功能性。微控制器需要通过串行接口起始地址寄存器一次且接着每当需要存取到缓冲器时仅需要发送读取或写入命令。相应的以太网模块或控制器接着通过从存储器发送相应数据或将相应数据接收到存储器、通过递增或递减指针寄存器以及通过等待下一命令来回答此命令。可实施例如块读取或块写入的其它命令,所述命令致使相应控制器从大缓冲器发射多个顺序数据(举例来说,一个或一个以上数据包)或将所述顺序数据发射到此大缓冲器。
图1显示以太网控制器100的框图,作为控制器的实施例,所述以太网控制器100可以是独立式以太网控制器或集成于(例如)微控制器中的以太网控制器模块。以太网控制器100包含具有发射及接收单元TX及RX的典型物理层(PHY)170,所述发射及接收单元TX及RX用于在网络上发射及接收实际模拟数据。此物理层170与媒体接入控制(MAC)数据链路层150耦合以用于实施实际以太网标准(IEEE 802.3)。Mac层150与接收单元135及发射单元145耦合,接收单元135及发射单元145可包括相应的滤波器单元、流控制及主机接口。以太网控制器还可包括直接存储器存取(DMA)控制器140,其能够执行(例如)校验和评估。仲裁器130可经实施以切换实际缓冲器125与模块120、135、140及145之间的耦合。控制寄存器120与总线接口115及串行或并行接口105耦合。所述串行接口可以是(例如)SPI接口或任何其它适合的电路间接口。总线接口115可提供额外中断信号以提供对以太网控制器100的额外控制。以太网控制器100可由系统控制单元110在内部控制,所述系统控制单元110控制以太网控制器100的相应单元。系统控制单元110从串行或并行接口105接收命令并提供对这些命令的解码。所述命令可提供对至少一些或所有寄存器的读取及写入并用于执行相应控制器的功能。明确地说,系统控制110可提供相应控制序列以执行对缓冲器125的读取及写入存取,如下文将更详细地解释。时钟单元160提供所需的以太网发射时钟信号。
图2显示具有窗口存取存储器的任何类型控制器的另一实施例的特定区段200的某些细节。在此实施例中,提供用于微控制器或微处理器的多个接口。由SPI接口210提供第一接口,且由并行接口220提供第二接口。两个接口可能在其地址能力上受到限制且因此需要窗口化存储器存取。两个接口与通过信号215控制的多路复用器230耦合,信号215可从外部供应。因此,装置200可借助并行或串行接口操作。多路复用器230的输出耦合到各种控制寄存器且耦合到另一多路复用器260的输入。所述各种控制寄存器可包含一组多个窗口存取寄存器250。此外,可提供其它缓冲器控制逻辑及/或寄存器。举例来说,此额外控制逻辑290可提供指针寄存器的自动递增及/或自动递减以及环绕功能性,且因此,控制及管理缓冲器中的预定义存储器段的边界。举例来说,读取通道及写入通道可指派有缓冲器中的存储器段。为避免通过数据从一个通道进入到另一通道进行的任何类型的盖写,这些边界控制290可监视存储于相应寄存器中的存取地址且在指针寄存器越过边界的情况下提供环绕功能性。然而,在其它实施例中,存储器段还可重叠以允许增强的功能性。
多路复用器260的输出耦合到实际缓冲器125且还可任选地耦合到包含多个特殊功能寄存器的控制寄存器块270。此外,如由框280指示,可提供时钟及复位逻辑。窗口存取寄存器250可包括三组数据/指针寄存器。每一数据/指针寄存器组可包含单独的读取及写入指针寄存器且还可包括数据寄存器或锁存器。在一些实施例中,例如锁存器的数据寄存器可能并非必要的且可将数据输入输出直接路由到系统的相应数据总线。在其它实施例中,可仅提供两组寄存器或多于3组的寄存器。
图3显示根据实施例的三个寄存器组的一个可能实施方案的更多细节。第一组寄存器专用于第一通道,举例来说,发射通道TX。其可包含数据寄存器或锁存器310。然而,如由虚线所指示,此寄存器可仅表示包缓冲器125内的存储器映射地址,所述存储器映射地址致使从SPI/并行接口210/220传送去往缓冲器125的数据/将来自缓冲器125的数据传送到SPI/并行接口210/220。每一组寄存器包含写入指针寄存器315及读取指针寄存器320。在一个实施例中,读取及写入指针寄存器315及320可与多路复用器325耦合,多路复用器325输出被馈送到多路复用器380的第一输入的地址信号327。从包缓冲器125接收数据310。类似地,第二组寄存器专用于第二通道,举例来说,接收通道RX。其包含写入指针寄存器335及读取指针寄存器340。同样,取决于各种设计选择,可实施数据锁存器330。读取及写入指针寄存器335及340与多路复用器345耦合,多路复用器345输出被馈送到多路复用器380的第二输入的地址信号347。如果实施了数据锁存器330,那么将其与包缓冲器125耦合以用于数据输入/输出。最后,第三组寄存器专用于第三通道,举例来说,提供用户定义的存取。所述组包含写入指针寄存器355及读取指针寄存器360。任选地,其同样可包含数据锁存器350。读取及写入指针寄存器355及360与多路复用器365耦合,多路复用器365输出被馈送到多路复用器380的第三输入的地址信号367。数据锁存器350可与包缓冲器125的数据端口直接耦合。多路复用器380还可具有用于提供直接地址的第四输入。多路复用器380的输出信号用于寻址缓冲器125。在相应包缓冲器输出处提供输出数据。
图4显示具有单个多路复用器410的第二实施例。多路复用器410具有7个输入并选择这些输入中的一者用于寻址包缓冲器125。三个寄存器组中的每一者提供写入及读取地址。此外,可绕过由三个寄存器组提供的间接寻址而提供直接地址。在此实施例中,在无任何介入锁存器的情况下,将数据输入/输出直接路由到相应数据总线。然而,根据其它实施例,可个别地或针对所有间接寄存器组提供数据锁存器。
由外部处理器发送到控制器的读取命令致使系统控制执行步骤序列以给外部处理器提供所请求的数据。为此,所述系统控制使用指定的寄存器组来存取缓冲器。每一寄存器组可具有专用读取及写入命令或专用寄存器映射地址。然而,在另一实施例中,可使用特殊功能寄存器来定义待使用的寄存器组。其它命令可致使提供多个数据的块读取或包读取。系统控制单元110通过解译及执行经定义命令的状态机或小控制器单元来提供相应功能性。
常规窗口化缓冲器存取系统仅提供单个寄存器组,所述单个寄存器组包含一读取/写入指针寄存器或一个单独的读取指针寄存器及一个写入指针寄存器。每一读取或写入指针通常是自动递增或自动递减的。因此,至少在发生需要存取到缓冲器的不同部分的任务切换时的任何时间,存取控制器首先必需保存至少所述指针寄存器的内容。此外,每一读取及写入寄存器可仅存取缓冲器的预定义区域。举例来说,可将缓冲器分段成用于接收通道RX的区域及用于发射通道TX的区域。这些区域可不重叠且因此取决于哪一通道为活动的,必需将单个地址指针寄存器组和所述通道的相应边界进行比较。
根据一实施例,用于对缓冲器的窗口化存取的存取电路包含多个独立寄存器组,其中每一组包含单独数据寄存器以及相关联的读取及写入指针寄存器。在一个实施例中,可提供用于读取及写入通道的单独寄存器组。每一寄存器组可包含用于控制边界的独立控制逻辑。举例来说,如针对发射通道所示,发射写入指针边界控制单元317可与寄存器315耦合。此边界控制单元317可包括自动递增及/或自动递减逻辑以及比较逻辑,所述比较逻辑用以将寄存器315的内容与预定义或可编程边界进行比较。在一个实施例中,此控制单元317可在边界出现交叉时产生中断或可将地址复位到预定义或可编程的段开始地址,借此提供环绕功能性。在后一情况下,指针寄存器315可提供先进先出(FIFO)寄存器的功能性。
可为读取指针寄存器320提供单独控制单元322。然而,每一组的寄存器可仅提供单个边界控制单元,其对读取及写入指针寄存器315及320两者起作用。虽然未显示,但可为读取控制寄存器组330到340及用户定义的存取寄存器组350到360提供类似单元。多路复用器380由接口或系统控制单元110控制且选择适当输出以将缓冲器125与单个组的控制寄存器耦合。
图5显示预定义或可编程段的实例。举例来说,可将缓冲器125划分成两个主要的非重叠段A及B。然而,在其它实施例中,还可将所述段定义为重叠。第一地址347指向预定义边界A内的用于接收通道的任何地址。在此实施例中,使用单个控制单元510来控制寄存器335及340。此控制寄存器可在对缓冲器125的存取已完成之后自动递增或递减寄存器的内容。此外,单元510可提供相应地址的边界检查且在地址的递增将导致进入到段B中的跨接的情况下将寄存器复位到段A的开始地址。类似地,控制单元520可针对发射通道以及寄存器315及320提供相同功能性。可提供特殊功能寄存器以定义段A及B,举例来说,寄存器可包含将缓冲器125划分成两个段的分裂地址。然而,在其它实施例中,可自由地编程这些段的边界。此外,可提供额外特殊功能寄存器以定义用户定义的地址段C,如图4中所示。此用户定义的段可与一个或两个段重叠。用户定义的控制单元530还可提供与单元510及520类似的功能性。归因于发射通道及读取通道以及另一用户定义的存取包含单独存取寄存器的事实,可简化相应控制逻辑,因为仅必需比较单个边界地址。此外,这些通道之间的切换不需要必须保存这些寄存器的内容,因此,仅在某些情形下必须保存这些寄存器。此允许减少的软件额外负担且避免针对这些指针寄存器的任何计时问题。
如图4中的进一步显示,根据另一实施例,可通过寄存器块515提供额外特殊功能寄存器。一个寄存器DATALOW可通过将地址347与单元135(参见图1)中的相应指针进行比较来指示段中的未读取数据的电平。预定义阈值可产生中断以用信号通知缓冲器125中的数据的低电平。类似地,可通过寄存器DATAHIGH指示数据的高电平。同样,此寄存器可在向微控制器或处理器指示超出高阈值电平而必须读取缓冲器以防止溢流的情况下产生中断。可提供由空控制寄存器指示的其它寄存器,举例来说,其在一段内包含可产生中断的某些绝对边界地址。然而,可提供与地址指针信号327、347及367相关联的其它特殊功能。
在其它实施例中,可将缓冲器125划分成多于2个段。可在单元135及145(参见图1)中指派特定包滤波器以提供被指派给那些段的相应发射及接收功能性。举例来说,每一滤波器可仅从经指派的段读取或写入。单元135及145可提供相同的环绕功能性,因此,形成相应的FIFO寄存器。可提供另一控制逻辑以通过将单元135、145与窗口存取寄存器250的相应地址指针进行比较来防止未读取数据的盖写。
本发明并非局限于以太网控制器,而是可应用于任何类型的独立式控制器或具有可经由相应指针寄存器间接存取的存储器的可集成控制器。

Claims (25)

1.一种以太网控制器,其包含:
接口,其与所述控制器的端口耦合,所述接口可操作以接收缓冲器存储器存取命令;
缓冲器存储器,其与所述接口耦合,其中所述缓冲器存储器具有不能通过所述接口以直接存取的方式而完全寻址的地址范围;
第一组寄存器,其包含经配置以寻址所述缓冲器存储器的第一寻址寄存器;
第二组寄存器,其独立于所述第一组寄存器且包含经配置以寻址所述缓冲器存储器的第二寻址寄存器,其中第二组寄存器的地址范围与第一组寄存器的地址范围不重叠;
以及
控制单元,其用于解码并执行通过所述接口接收的缓冲器存储器存取命令以通过所述第一或第二组寄存器来存取所述缓冲器存储器。
2.根据权利要求1所述的控制器,其中所述第一组寄存器包含第一读取指针寄存器及第一写入指针寄存器,且所述第二组寄存器包含第二读取指针寄存器及第二写入指针寄存器。
3.根据权利要求1所述的控制器,其进一步包含自动递增或自动递减单元,所述自动递增或自动递减单元用于递增或递减所述第一及/或第二组寄存器中的至少一个寄存器的内容。
4.根据权利要求1所述的控制器,其进一步包含环绕单元,所述环绕单元用于将所述第一及/或第二组寄存器中的至少一个寄存器中所存储的地址复位到预定义地址。
5.根据权利要求2所述的控制器,其进一步包含与每一指针寄存器耦合的至少一个多路复用器。
6.根据权利要求5所述的控制器,其中所述多路复用器进一步接收直接地址信号。
7.根据权利要求1所述的控制器,其进一步包含特殊功能寄存器,所述特殊功能寄存器用于在所述缓冲器存储器中定义分裂地址,所述分裂地址将所述缓冲器存储器分裂成被指派给所述第一组寄存器的第一段及被指派给所述第二组寄存器的第二段。
8.根据权利要求1所述的控制器,其进一步包含多个特殊功能寄存器,所述多个特殊功能寄存器用于在所述缓冲器存储器中定义被指派给每一组寄存器的存储器段。
9.根据权利要求1所述的控制器,其进一步包含至少第三组寄存器,所述至少第三组寄存器独立于所述第一及第二组寄存器且经配置以寻址所述缓冲器存储器,其中所述第三组寄存器包含第三读取指针寄存器及第三写入指针寄存器。
10.一种以太网控制器,其包含:
物理层及媒体接入控制层;
缓冲器存储器,其与所述物理及媒体接入控制层耦合;
一组发射(TX)寄存器,其与所述缓冲器存储器耦合且包含第一读取指针寄存器及第一写入指针寄存器;
一组接收(RX)寄存器,其与所述缓冲器存储器耦合且包含第二读取指针寄存器及第二写入指针寄存器,其中接收(RX)寄存器组的地址范围与发射(TX)寄存器组的地址范围不重叠;
一组用户定义的寄存器,其与所述缓冲器存储器耦合且包含第三读取指针寄存器及第三写入指针寄存器;
以及
控制单元,其用于解码并执行通过具有有限寻址能力的接口接收的缓冲器存储器存取命令,其中所述缓冲器存储器具有不能由所述接口直接寻址的地址范围,所述控制单元经配置以通过所述发射、接收或用户定义的寄存器来存取所述缓冲器存储器,其中选择存储在第一、第二及第三读取或写入指针寄存器中的一者中的地址用于存取所述缓冲器存储器,并且其中从所述缓冲器存储器读取相关联的数据或向所述缓冲器存储器写入相关联的数据。
11.根据权利要求10所述的以太网控制器,其进一步包含自动递增或自动递减单元,所述自动递增或自动递减单元用于递增或递减第一、第二及第三读取或写入指针寄存器中任一者的内容。
12.根据权利要求10所述的以太网控制器,其进一步包含环绕单元,所述环绕单元用于将第一、第二及第三读取或写入指针寄存器中的任一者中所存储的地址复位到预定义开始地址。
13.根据权利要求10所述的以太网控制器,其进一步包含与每一指针寄存器耦合的至少一个多路复用器。
14.根据权利要求13所述的以太网控制器,其中所述多路复用器进一步接收直接地址信号。
15.根据权利要求10所述的以太网控制器,其进一步包含特殊功能寄存器,所述特殊功能寄存器用于在所述缓冲器存储器中定义分裂地址,所述分裂地址将所述缓冲器存储器分裂成被指派给所述发射寄存器的第一段及被指派给所述接收寄存器的第二段。
16.根据权利要求15所述的以太网控制器,其进一步包含多个特殊功能寄存器,所述多个特殊功能寄存器用于为所述用户定义的寄存器定义存储器段。
17.根据权利要求10所述的以太网控制器,其进一步包含多个特殊功能寄存器,所述多个特殊功能寄存器用于在所述缓冲器存储器中定义被指派给每一组寄存器的存储器段。
18.一种用于通过具有有限寻址能力的接口存取控制器中的存储器的方法,其中通过所述接口接收存取所述存储器的命令,所述方法包含以下步骤:
通过所述具有有限寻址能力的接口将所述存储器的第一地址加载到第一组存取寄存器中的第一地址寄存器中,其中所述存储器安排在所述控制器中且具有不能由所述接口直接寻址的地址范围;
通过所述接口将所述存储器的第二地址加载到第二组存取寄存器中的第二地址寄存器中,其中第二组存取寄存器的地址范围与第一组存取寄存器的地址范围不重叠;
通过所述接口接收第一读取或写入命令;
通过所述第一地址寄存器中的地址存取所述存储器,且从所述存储器中的所述第一地址接收第一读取数据并通过所述接口输出所述第一读取数据,或通过所述接口接收第一写入数据并将所述第一写入数据在所述第一地址下存储到所述存储器中;
通过所述接口接收第二读取或写入命令;
通过所述第二地址寄存器中的地址存取所述存储器,且从所述存储器中的所述第二地址接收第二读取数据并通过所述接口输出所述第二读取数据,或通过所述接口接收第二写入数据并将所述第二写入数据在所述第二地址下存储到所述存储器中。
19.根据权利要求18所述的方法,其进一步包含在读取所述存储器之后自动递增或递减所述第一及第二地址寄存器的步骤。
20.根据权利要求19所述的方法,其进一步包含在自动递增或自动递减之后对所述第一及第二地址寄存器执行地址环绕功能的步骤,其中所述地址环绕功能用于将存储在所述第一及第二地址寄存器中的地址复位到预定义地址或可编程段开始地址。
21.根据权利要求18所述的方法,其进一步包含以下步骤:
通过所述接口将所述存储器的第三地址加载到第三组存取寄存器中的第三地址寄存器中;
通过所述接口接收第三读取命令;
通过所述第三地址寄存器中的地址存取所述存储器且从所述存储器中的所述第三地址接收第三数据;以及
通过所述接口输出所述第三数据。
22.一种用于通过具有有限寻址能力的接口存取控制器中的存储器的方法,所述方法包含以下步骤:
通过所述接口将第一地址加载到第一组存取寄存器中的第一地址寄存器中,其中所述存储器安排在所述控制器中且具有不能通过所述接口以直接存取的方式而完全寻址的地址范围;
通过所述接口将第二地址加载到第二组存取寄存器中的第二地址寄存器中,其中第二组存取寄存器的地址范围与第一组存取寄存器的地址范围不重叠;
通过所述接口接收第一写入命令;
通过所述接口接收第一写入数据;
通过所述第一地址寄存器中的地址存取所述存储器,且将所述第一写入数据在所述第一地址下存储到所述存储器中;
通过所述接口接收第二写入命令;
通过所述接口接收第二写入数据;以及
通过所述第二地址寄存器中的地址存取所述存储器,且将所述第二写入数据在所述第二地址下存储到所述存储器中。
23.根据权利要求22所述的方法,其进一步包含在读取所述存储器之后自动递增或自动递减所述第一及第二地址寄存器的步骤。
24.根据权利要求23所述的方法,其进一步包含在自动递增或自动递减之后对所述第一及第二地址寄存器执行地址环绕功能的步骤,其中所述地址环绕功能用于将存储在所述第一及第二地址寄存器中的地址复位到预定义地址或可编程段开始地址。
25.根据权利要求22所述的方法,其进一步包含以下步骤:
通过所述接口将第三地址加载到第三组存取寄存器中的第三地址寄存器中;
通过所述接口将第三地址加载到第三组存取寄存器中的第三地址寄存器中;
通过所述接口接收第三写入命令;
通过所述接口接收第三写入数据;以及
通过所述第三地址寄存器中的地址存取所述存储器,且将所述第三写入数据在所述第三地址下存储到所述存储器中。
CN200880115788.3A 2007-11-21 2008-11-21 具有可间接存取的存储器的控制器 Active CN101855623B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/944,138 US8166213B2 (en) 2007-11-21 2007-11-21 Controller with indirect accessible memory
US11/944,138 2007-11-21
PCT/US2008/084350 WO2009067665A2 (en) 2007-11-21 2008-11-21 Controller with indirect accessible memory

Publications (2)

Publication Number Publication Date
CN101855623A CN101855623A (zh) 2010-10-06
CN101855623B true CN101855623B (zh) 2013-05-01

Family

ID=40348039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880115788.3A Active CN101855623B (zh) 2007-11-21 2008-11-21 具有可间接存取的存储器的控制器

Country Status (5)

Country Link
US (1) US8166213B2 (zh)
EP (2) EP3029579A3 (zh)
KR (1) KR101485081B1 (zh)
CN (1) CN101855623B (zh)
WO (1) WO2009067665A2 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008316A (ja) * 2009-06-23 2011-01-13 Seiko Epson Corp 情報処理装置、画像表示装置及び情報処理方法
US8963587B2 (en) * 2013-05-14 2015-02-24 Apple Inc. Clock generation using fixed dividers and multiplex circuits
CN114896179B (zh) * 2022-07-12 2022-09-27 统信软件技术有限公司 内存页的拷贝方法、装置、计算设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109334A (en) * 1987-10-27 1992-04-28 Sharp Kabushiki Kaisha Memory management unit capable of expanding the offset part of the physical address
US5867672A (en) * 1996-05-21 1999-02-02 Integrated Device Technology, Inc. Triple-bus FIFO buffers that can be chained together to increase buffer depth
CN1217506A (zh) * 1997-11-07 1999-05-26 日本电气株式会社 高速缓存存储器系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4403283A (en) * 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
JPS58137065A (ja) * 1982-02-08 1983-08-15 Hitachi Ltd メモリシステム
JPH01293431A (ja) * 1988-05-23 1989-11-27 Toshiba Corp メモリアクセス方式
US4965748A (en) * 1989-07-12 1990-10-23 Ricoh Company, Ltd. Laser printer controller flexible frame buffer architecture which allows offsetting different input/output data widths
US5805927A (en) * 1994-01-28 1998-09-08 Apple Computer, Inc. Direct memory access channel architecture and method for reception of network information
JPH0981501A (ja) * 1995-09-19 1997-03-28 Hitachi Ltd デジタル処理装置及びdmaコントローラ
IL116984A (en) * 1996-01-31 2000-07-26 Galileo Technology Ltd Multiple FIFO array and method of construction thereof
EP1396786A1 (en) 2002-09-03 2004-03-10 STMicroelectronics Limited Bridge circuit for use in retiming in a semiconductor integrated circuit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109334A (en) * 1987-10-27 1992-04-28 Sharp Kabushiki Kaisha Memory management unit capable of expanding the offset part of the physical address
US5867672A (en) * 1996-05-21 1999-02-02 Integrated Device Technology, Inc. Triple-bus FIFO buffers that can be chained together to increase buffer depth
CN1217506A (zh) * 1997-11-07 1999-05-26 日本电气株式会社 高速缓存存储器系统

Also Published As

Publication number Publication date
WO2009067665A2 (en) 2009-05-28
KR101485081B1 (ko) 2015-01-21
EP2212798A2 (en) 2010-08-04
EP3029579A3 (en) 2016-06-22
US8166213B2 (en) 2012-04-24
CN101855623A (zh) 2010-10-06
KR20100087294A (ko) 2010-08-04
EP3029579A2 (en) 2016-06-08
WO2009067665A3 (en) 2009-09-11
US20090132734A1 (en) 2009-05-21

Similar Documents

Publication Publication Date Title
EP1026596B1 (en) Direct memory access control
KR100638067B1 (ko) 고성능 통신 제어기
CN103064805B (zh) Spi控制器及通信方法
US7908458B2 (en) Ethernet controller
US20020184453A1 (en) Data bus system including posted reads and writes
US20220214816A1 (en) Extensible Storage System and Method
CN103714026A (zh) 一种支持原址数据交换的存储器访问方法及装置
CN101855623B (zh) 具有可间接存取的存储器的控制器
CN102750245B (zh) 报文接收方法、报文接收模块、装置及系统
US7035956B2 (en) Transmission control circuit, reception control circuit, communications control circuit, and communications control unit
US6088744A (en) Multiport data buffer having multi level caching wherein each data port has a FIFO buffer coupled thereto
CN102388359A (zh) 信号保序方法和装置
US20100262754A1 (en) Cpu data bus pld/fpga interface using dual port ram structure built in pld
US9244824B2 (en) Memory sub-system and computing system including the same
JP5497743B2 (ja) 複数のプロセスからメモリ領域へのアクセスを制御する方法、及び、本方法を実現するためのメッセージメモリを備えた通信モジュール
CN101836401B (zh) 以太网控制器
CN107590088B (zh) 一种dma读操作的处理方法、系统及相关装置
TW201237866A (en) Controlling method and controller for DRAM
JPH04177445A (ja) ディスクリプタ制御方式
EP0446335B1 (en) Packet/fast packet switch for voice and data
KR102260820B1 (ko) 대칭적 인터페이스 기반 인터럽트 신호 처리 장치 및 방법
US20100011140A1 (en) Ethernet Controller Using Same Host Bus Timing for All Data Object Access
CN118210561A (zh) 一种fpga快速加载方法、装置、设备及介质
US20060155887A1 (en) Enhanced multi-access data port
JP3138597B2 (ja) バースト信号送出管理用メモリを用いたダイナミックポーリング方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant