CN107861895A - 基于分布式仲裁的可编程输入输出pio写合并装置和方法 - Google Patents

基于分布式仲裁的可编程输入输出pio写合并装置和方法 Download PDF

Info

Publication number
CN107861895A
CN107861895A CN201710996013.2A CN201710996013A CN107861895A CN 107861895 A CN107861895 A CN 107861895A CN 201710996013 A CN201710996013 A CN 201710996013A CN 107861895 A CN107861895 A CN 107861895A
Authority
CN
China
Prior art keywords
write
merging
module
address
pio
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.)
Granted
Application number
CN201710996013.2A
Other languages
English (en)
Other versions
CN107861895B (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.)
Shenzhen Phoebe Microelectronics Co Ltd
Original Assignee
Shenzhen Phoebe Microelectronics Co Ltd
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 Shenzhen Phoebe Microelectronics Co Ltd filed Critical Shenzhen Phoebe Microelectronics Co Ltd
Priority to CN201710996013.2A priority Critical patent/CN107861895B/zh
Publication of CN107861895A publication Critical patent/CN107861895A/zh
Application granted granted Critical
Publication of CN107861895B publication Critical patent/CN107861895B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/4009Coupling between buses with data restructuring
    • 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/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • 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/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)

Abstract

本发明实施例提供一种基于分布式仲裁的可编程输入输出PIO写合并装置和方法,属于数据通信领域。至少一个写合并缓存器模块中的每个写合并缓存器模块对应一个分布式仲裁器模块,所述PIO接口模块用于将接收到的PIO写请求处理为适合所述至少一个写合并缓存器模块的格式,其中所述PIO写请求包括写地址和写数据;每个写合并缓存器模块用于接收所述PIO写请求,并且存储有与所述写地址相同的缓存器地址的写合并缓存器模块输出命中信号;每个分布式仲裁器模块用于在接收到所述命中信号时输出使能信号,使对应的写合并缓存器模块根据所述写地址的地址偏移写入所述写数据。本发明易于实现、扩展性好、通用性强,可以最大限度的简化数据处理过程。

Description

基于分布式仲裁的可编程输入输出PIO写合并装置和方法
技术领域
本发明涉及数据通信,具体地涉及基于分布式仲裁的PIO写合并装置和方法。
背景技术
现有技术中,CPU通过PIO指令方式访问I/O设备,根据CPU字长的不同,PIO指令中的数据长度通常为1/2/4/8字节。当I/O设备的字长大于CPU字长时,例如CPU字长为4字节,而I/O设备内部的寄存器访问粒度固定为8字节,CPU访问设备寄存器时会发出两个连续地址的4字节PIO写请求,I/O设备必须能够支持将多个PIO请求进行合并,完成一次寄存器写操作。当多个应用并发访问设备时,PIO写请求会交叉乱序,这使得PIO写合并更加复杂,I/O设备完成困难。
发明内容
本发明实施例的目的是提供一种基于分布式仲裁的PIO写合并装置和方法,该基于分布式仲裁的PIO写合并装置和方法易于实现、扩展性好、通用性强,可以最大限度的简化数据处理过程。
为了实现上述目的,本发明实施例提供一种基于分布式仲裁的可编程输入输出PIO写合并装置,该装置包括:至少一个写合并缓存器模块、至少一个分布式仲裁器模块以及PIO接口模块,其中,所述至少一个写合并缓存器模块中的每个写合并缓存器模块对应一个分布式仲裁器模块,所述PIO接口模块用于将接收到的PIO写请求处理为适合所述至少一个写合并缓存器模块的格式,其中所述PIO写请求包括写地址和写数据;所述至少一个写合并缓存器模块中的每个写合并缓存器模块用于接收所述PIO写请求,并且存储有与所述写地址相同的缓存器地址的写合并缓存器模块输出命中信号;所述至少一个分布式仲裁器模块中的每个分布式仲裁器模块用于在接收到所述命中信号时输出使能信号,使对应的写合并缓存器模块根据所述写地址的地址偏移写入所述写数据。
优选地,所述每个写合并缓存器模块包括用于写入所述写数据的写合并数据单元,该写合并数据单元用于根据数据存储的状态输出空状态信号或满状态信号;所述每个分布式仲裁器模块还用于接收所述空状态信号,并且在未接收到所述命中信号时,接收到所述空状态信号的至少一个分布式仲裁器模块的其中一个分布式仲裁器模块输出所述使能信号,使对应的写合并数据单元根据所述写地址的地址偏移写入所述写数据。
优选地,所述每个写合并缓存器模块还包括:写合并地址单元,在所述写合并数据单元输出空状态信号的情况下,所述写合并地址单元用于在接收到所述使能信号时存储所述写地址以作为所述缓存器地址。
优选地,所述每个写合并缓存器模块还包括:写合并超时单元,用于在所述写合并数据单元写入所述写数据时开始计时,以及当预定时间内所述写合并数据单元未输出所述满状态信号时,清空所述写合并缓存器模块。
优选地,该装置还包括:输出仲裁器模块,用于接收所述满状态信号,输出并清空存储在发出所述满状态信号的写合并缓存器模块中的地址和数据。
本发明还提供一种基于分布式仲裁的可编程输入输出PIO写合并装置执行的方法,该方法包括:PIO接口模块将接收到的PIO写请求处理为适合至少一个写合并缓存器模块的格式,其中所述PIO写请求包括写地址和写数据;至少一个写合并缓存器模块中的每个写合并缓存器模块接收所述PIO写请求,并且存储有与所述写地址相同的缓存器地址的写合并缓存器模块输出命中信号;至少一个分布式仲裁器模块中的每个分布式仲裁器模块在接收到所述命中信号时输出使能信号,使对应的写合并缓存器模块根据写地址的地址偏移写入所述写数据。
优选地,所述每个写合并缓存器模块包括用于写入所述写数据的写合并数据单元,该方法还包括:写合并数据单元根据数据存储的状态输出空状态信号或满状态信号;每个分布式仲裁器模块接收所述空状态信号,并且在未接收到所述命中信号时,接收到所述空状态信号的至少一个分布式仲裁器模块的其中一个分布式仲裁器模块输出所述使能信号,使对应的写合并数据单元根据所述写地址的地址偏移写入所述写数据。
优选地,所述每个写合并缓存器模块包括写合并地址单元,该方法还包括:在所述写合并数据单元输出空状态信号的情况下,在接收到所述使能信号时,写合并地址单元存储所述写地址以作为所述缓存器地址。
优选地,该方法还包括:在所述写合并数据单元写入所述写数据时,写合并超时单元开始计时,当预定时间内所述写合并数据单元未输出所述满状态信号时,清空所述写合并缓存器模块。
优选地,该方法还包括:输出仲裁器模块接收所述满状态信号,输出并清空存储在发出所述满状态信号的写合并缓存器模块中的地址和数据。
通过上述技术方案,采用本发明提供的基于分布式仲裁的PIO写合并装置和方法,所述PIO接口模块用于将接收到的PIO写请求处理为适合所述至少一个写合并缓存器模块的格式,其中所述PIO写请求包括写地址和写数据;所述至少一个写合并缓存器模块中的每个写合并缓存器模块用于接收所述PIO写请求,并且存储有与所述写地址相同的缓存器地址的写合并缓存器模块输出命中信号;所述至少一个分布式仲裁器模块中的每个分布式仲裁器模块用于在接收到所述命中信号时输出使能信号,使对应的写合并缓存器模块根据所述写地址的地址偏移写入所述写数据。该基于分布式仲裁的PIO写合并装置和方法使用上述模块进行数据的处理和写合并,可以支持乱序写合并,易于实现、扩展性好、通用性强,可以最大限度的简化数据处理过程。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是本发明一实施例提供的基于分布式仲裁的PIO写合并装置的结构示意图;
图2是本发明一实施例提供的基于分布式仲裁的PIO写合并装置的结构示意图;
图3是本发明一实施例提供的基于分布式仲裁的PIO写合并装置的交互示意图;以及
图4是本发明一实施例提供的基于分布式仲裁的PIO写合并方法的流程图。
附图标记说明
1 PIO接口模块 2 写合并缓存器模块
3 分布式仲裁器模块 4 输出仲裁器模块
21 写合并地址单元 22 写合并数据单元
23 写合并超时单元。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
图1是本发明一实施例提供的基于分布式仲裁的PIO写合并装置的结构示意图。如图1所示,本发明实施例提供一种基于分布式仲裁的PIO写合并装置,该装置包括:至少一个写合并缓存器模块2、至少一个分布式仲裁器模块3以及PIO接口模块1,其中,所述至少一个写合并缓存器模块2中的每个写合并缓存器模块2对应一个分布式仲裁器模块,所述PIO接口模块1用于将接收到的PIO写请求处理为适合所述至少一个写合并缓存器模块2的格式,其中所述PIO写请求包括写地址和写数据;所述至少一个写合并缓存器模块2中的每个写合并缓存器模块2用于接收所述PIO写请求,并且存储有与所述写地址相同的缓存器地址的写合并缓存器模块输出命中信号;所述至少一个分布式仲裁器模块3中的每个分布式仲裁器模块3用于在接收到所述命中信号时输出使能信号,使对应的写合并缓存器模块2根据所述写地址的地址偏移写入所述写数据。
PIO接口模块1将CPU发出的PIO写请求处理成统一的格式(主要是数据长度)以适应至少一个写合并缓存器模块2,PIO写请求包括数据有效信号(reg_wt_valid),写地址(reg_wt_addr)和写数据(reg_data),并发送给写合并缓存器模块2,其中数据有效信号(reg_wt_valid)在有PIO写请求发送时即为有效,以下说明书描述的过程均是在数据有效信号有效时发生的。根据需要PIO接口模块1可以支持多种CPU总线接口,例如PCI/PCIe总线接口,AXI总线接口,Local Bus总线接口等。
写合并缓存器模块2是一个宽度为2N(N>=0)字节的数据寄存器(buf_data)加上一个64位宽的地址寄存器(buf_addr)组成的寄存器组,数据寄存器(buf_data)能够以2k字节(0<=k<=N)为单位进行读写访问,每个写合并缓存器模块2可以将2(N-k)个2k字节的PIO写请求合并成1个2N字节的写请求。多个PIO写请求之间可以乱序,写合并缓存器模块2可以根据地址对数据进行合并。
在本实施例中,每个写合并缓存器模块2对应一个分布式仲裁器模块3。写合并缓存器模块2可以具有“命中状态”(buf_hit),表示写合并缓存器模块2中有部分数据,每一个写合并缓存器模块2将接收到的PIO写请求中的写地址(reg_wt_addr)与自身存储的缓存器地址比较,在某一个写合并缓存器模块2中上述两个地址相同时,发出命中信号(buf_hit=1),表示该写请求命中了该写合并缓存器模块2,以表示该写合并缓存器模块2可以写入该PIO写请求中的写数据(reg_data),其中,针对每一个PIO写请求,有且只有一个写合并缓存器模块会发出命中信号(buf_hit=1)。与该写合并缓存器模块2对应的分布式仲裁器模块3接收到该命中信号时,发出使能信号(buf_en=1)至写合并缓存器模块2,使写合并缓存器模块2按照写地址(reg_wt_addr)的地位地址偏移将写数据(reg_data)写入写合并缓存器模块2的相应位置,其中缓存器地址的由来将在下文详细描述。
图2是本发明一实施例提供的基于分布式仲裁的PIO写合并装置的结构示意图。如图2所示,每个写合并缓存器模块2包括写合并数据单元22、写合并地址单元21以及写合并超时单元23,用于写入所述写数据的写合并数据单元22用于根据数据存储的状态输出空状态信号或满状态信号;所述每个分布式仲裁器模块3还用于接收所述空状态信号,并且在未接收到所述命中信号时,接收到所述空状态信号的至少一个分布式仲裁器模块3的其中一个分布式仲裁器模块3输出所述使能信号,使对应的写合并数据单元22根据所述写地址的地址偏移写入所述写数据;写合并地址单元21在所述写合并数据单元输出空状态信号的情况下,用于在接收到所述使能信号时存储所述写地址以作为所述缓存器地址;写合并超时单元23用于在所述写合并数据单元22写入所述写数据时开始计时,以及当预定时间内所述写合并数据单元22未输出所述满状态信号时,清空所述写合并缓存器模块2。
写合并数据单元22包括数据寄存器(buf_data),不仅可以在接收到使能信号(buf_en=1)时写入写数据(reg_data),还可以根据自身的状态输出空状态信号(buf_empty=1)或满状态信号(buf_full=1)。
写合并地址单元21包括地址寄存器(buf_addr),不仅可以判断写地址(reg_wt_addr)是否与缓存器地址相同以及输出命中信号(buf_hit=1),还可以在接收到使能信号(buf_en=1)时存储写地址(reg_wt_addr)以作为缓存器地址。
写合并超时单元23在写合并数据单元22写入写数据(reg_data)时清0并开始计时,当预定时间内写合并数据单元22未输出满状态信号(buf_full=1)时,清空包含该写合并单元的写合并缓存器模块2,该清空指的是写合并数据单元22的数据清空(buf_data=0),写合并地址单元21的缓存器地址清空(buf_addr=0),写合并数据单元22恢复空状态(buf_empty=1,buf_full=0)以及清除命中信号(buf_hit=0)。
在本实施例中,写合并缓存器模块2还具有两种状态,分别为:空状态(buf_empty),表示写合并缓存器模块2中无任何数据,可以接收一个新的写合并请求;满状态(buf_full),表示写合并缓存器模块2完成了一个64bit数据的写合并,可以进行输出。写合并数据单元22可以输出空状态信号(buf_empty=1)至对应的分布式仲裁器模块3。在每一个写合并缓存器模块2的写合并地址单元21发现没有任何一个写合并缓存器模块2的缓存器地址与写地址(reg_wt_addr)相同时,即每个分布式仲裁器模块3均不能接收到命中信号,则分布式仲裁器模块3选择向某一个输出空状态信号(buf_empty=1)的写合并缓存器模块2发出使能信号(buf_en=1),使该写合并数据单元22写入写数据(reg_data),使写合并地址单元21存储写地址(reg_wt_addr)以作为缓存器地址。
另外,可以提前设置写合并缓存器模块2的编号,以控制分布式仲裁器的选择顺序,即在分布式仲裁器模块3选择输出空状态信号(buf_empty=1)的写合并缓存器模块2时,以编号顺序选择,可以使写数据(reg_data)的写入更加规律。但是,无论分布式仲裁器如何选择写合并缓存器模块2,在同一PIO写请求期间,只能有一个分布式仲裁器向对应的写合并缓存器模块2发送使能信号(buf_en=1)。
在开始接收第一个PIO写请求前,可以初始化所有写合并缓存器模块,包括写合并数据单元22的数据清空(buf_data=0),写合并地址单元21的缓存器地址清空(buf_addr=0),写合并数据单元22恢复空状态(buf_empty=1,buf_full=0)以及清除命中信号(buf_hit=0)。
图3是本发明一实施例提供的基于分布式仲裁的PIO写合并装置的交互示意图。如图3所示,该基于分布式仲裁的PIO写合并装置还包括:输出仲裁器模块4,用于接收所述满状态信号,输出并清空存储在发出所述满状态信号的写合并缓存器模块2中的地址和数据。
输出仲裁器模块4接收所述满状态信号(buf_full=1),对所有发出满状态信号(buf_full=1)的写合并缓存器模块2进行仲裁,选择一个写合并缓存器模块2,输出写合并地址单元21的地址和写合并数据单元22的数据,并清空写合并缓存器模块2。该清空指的是写合并数据单元22的数据清空(buf_data=0),写合并地址单元21的缓存器地址清空(buf_addr=0),写合并数据单元22恢复空状态(buf_empty=1,buf_full=0)以及清除命中信号(buf_hit=0)。
图4是本发明一实施例提供的基于分布式仲裁的PIO写合并方法的流程图。如图4所示,本发明还提供一种基于分布式仲裁的PIO写合并方法,该方法包括:所述PIO接口模块将接收到的PIO写请求处理为适合至少一个写合并缓存器模块的格式,其中所述PIO写请求包括写地址和写数据(步骤S41);至少一个写合并缓存器模块中的每个写合并缓存器模块接收所述PIO写请求,并且存储有与所述写地址相同的缓存器地址的写合并缓存器模块输出命中信号(步骤S42);至少一个分布式仲裁器模块中的每个分布式仲裁器模块在接收到所述命中信号时输出使能信号(步骤S43);对应的写合并缓存器模块根据所述写地址的地址偏移写入所述写数据(步骤S44)。
优选地,所述每个写合并缓存器模块包括用于写入所述写数据的写合并数据单元,该方法还包括:写合并数据单元根据数据存储的状态输出空状态信号或满状态信号;每个分布式仲裁器模块接收所述空状态信号,并且在未接收到所述命中信号时,接收到所述空状态信号的至少一个分布式仲裁器模块的其中一个分布式仲裁器模块输出所述使能信号,使对应的写合并数据单元根据所述写地址的地址偏移写入所述写数据。
优选地,所述每个写合并缓存器模块包括写合并地址单元,该方法还包括:在所述写合并数据单元输出空状态信号的情况下,在接收到所述使能信号时,写合并地址单元存储所述写地址以作为所述缓存器地址。
优选地,该方法还包括:在所述写合并数据单元写入所述写数据时,写合并超时单元开始计时,当预定时间内所述写合并数据单元未输出所述满状态信号时,清空所述写合并缓存器模块。
优选地,该方法还包括:输出仲裁器模块接收所述满状态信号,输出并清空存储在发出所述满状态信号的写合并缓存器模块中的地址和数据。
通过上述技术方案,采用本发明提供的基于分布式仲裁的PIO写合并装置和方法进行数据的处理和写合并,可以支持乱序写合并,易于实现、扩展性好、通用性强,可以最大限度的简化数据处理过程。
以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

Claims (10)

1.一种基于分布式仲裁的可编程输入输出PIO写合并装置,其特征在于,该装置包括:
至少一个写合并缓存器模块、至少一个分布式仲裁器模块以及PIO接口模块,其中,所述至少一个写合并缓存器模块中的每个写合并缓存器模块对应一个分布式仲裁器模块,
所述PIO接口模块用于将接收到的PIO写请求处理为适合所述至少一个写合并缓存器模块的格式,其中所述PIO写请求包括写地址和写数据;
所述至少一个写合并缓存器模块中的每个写合并缓存器模块用于接收所述PIO写请求,并且存储有与所述写地址相同的缓存器地址的写合并缓存器模块输出命中信号;
所述至少一个分布式仲裁器模块中的每个分布式仲裁器模块用于在接收到所述命中信号时输出使能信号,使对应的写合并缓存器模块根据所述写地址的地址偏移写入所述写数据。
2.根据权利要求1所述的基于分布式仲裁的PIO写合并装置,其特征在于,
所述每个写合并缓存器模块包括用于写入所述写数据的写合并数据单元,该写合并数据单元用于根据数据存储的状态输出空状态信号或满状态信号;
所述每个分布式仲裁器模块还用于接收所述空状态信号,并且在未接收到所述命中信号时,接收到所述空状态信号的至少一个分布式仲裁器模块的其中一个分布式仲裁器模块输出所述使能信号,使对应的写合并数据单元根据所述写地址的地址偏移写入所述写数据。
3.根据权利要求2所述的基于分布式仲裁的PIO写合并装置,其特征在于,所述每个写合并缓存器模块还包括:
写合并地址单元,在所述写合并数据单元输出空状态信号的情况下,所述写合并地址单元用于在接收到所述使能信号时存储所述写地址以作为所述缓存器地址。
4.根据权利要求3所述的基于分布式仲裁的PIO写合并装置,其特征在于,所述每个写合并缓存器模块还包括:
写合并超时单元,用于在所述写合并数据单元写入所述写数据时开始计时,以及当预定时间内所述写合并数据单元未输出所述满状态信号时,清空所述写合并缓存器模块。
5.根据权利要求2所述的基于分布式仲裁的PIO写合并装置,其特征在于,该装置还包括:
输出仲裁器模块,用于接收所述满状态信号,输出并清空存储在发出所述满状态信号的写合并缓存器模块中的地址和数据。
6.一种权利要求1-5中任意一项权利要求所述的基于分布式仲裁的可编程输入输出PIO写合并装置执行的方法,其特征在于,该方法包括:
PIO接口模块将接收到的PIO写请求处理为适合至少一个写合并缓存器模块的格式,其中所述PIO写请求包括写地址和写数据;
至少一个写合并缓存器模块中的每个写合并缓存器模块接收所述PIO写请求,并且存储有与所述写地址相同的缓存器地址的写合并缓存器模块输出命中信号;
至少一个分布式仲裁器模块中的每个分布式仲裁器模块在接收到所述命中信号时输出使能信号,使对应的写合并缓存器模块根据所述写地址的地址偏移写入所述写数据。
7.根据权利要求6所述的方法,其特征在于,所述每个写合并缓存器模块包括用于写入所述写数据的写合并数据单元,该方法还包括:
写合并数据单元根据数据存储的状态输出空状态信号或满状态信号;
每个分布式仲裁器模块接收所述空状态信号,并且在未接收到所述命中信号时,接收到所述空状态信号的至少一个分布式仲裁器模块的其中一个分布式仲裁器模块输出所述使能信号,使对应的写合并数据单元根据所述写地址的地址偏移写入所述写数据。
8.根据权利要求7所述的方法,其特征在于,所述每个写合并缓存器模块包括写合并地址单元,该方法还包括:
在所述写合并数据单元输出空状态信号的情况下,在接收到所述使能信号时,写合并地址单元存储所述写地址以作为所述缓存器地址。
9.根据权利要求8所述的方法,其特征在于,该方法还包括:
在所述写合并数据单元写入所述写数据时,写合并超时单元开始计时,当预定时间内所述写合并数据单元未输出所述满状态信号时,清空所述写合并缓存器模块。
10.根据权利要求7所述的方法,其特征在于,该方法还包括:
输出仲裁器模块接收所述满状态信号,输出并清空存储在发出所述满状态信号的写合并缓存器模块中的地址和数据。
CN201710996013.2A 2017-10-23 2017-10-23 基于分布式仲裁的可编程输入输出pio写合并装置和方法 Active CN107861895B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710996013.2A CN107861895B (zh) 2017-10-23 2017-10-23 基于分布式仲裁的可编程输入输出pio写合并装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710996013.2A CN107861895B (zh) 2017-10-23 2017-10-23 基于分布式仲裁的可编程输入输出pio写合并装置和方法

Publications (2)

Publication Number Publication Date
CN107861895A true CN107861895A (zh) 2018-03-30
CN107861895B CN107861895B (zh) 2019-11-19

Family

ID=61696243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710996013.2A Active CN107861895B (zh) 2017-10-23 2017-10-23 基于分布式仲裁的可编程输入输出pio写合并装置和方法

Country Status (1)

Country Link
CN (1) CN107861895B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666235A (zh) * 2020-05-26 2020-09-15 中国人民解放军国防科技大学 用于高速互连网络接口芯片的pio通信装置,芯片,设备及方法
CN111694770A (zh) * 2019-03-15 2020-09-22 杭州宏杉科技股份有限公司 一种处理io请求的方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59154524A (ja) * 1983-02-23 1984-09-03 Hitachi Ltd 分散形処理装置のデ−タ転送装置
US4491909A (en) * 1981-03-18 1985-01-01 International Business Machines Corporation Data processing system having shared memory
US6047355A (en) * 1993-04-30 2000-04-04 Intel Corporation Symmetric multiprocessing system with unified environment and distributed system functions
TW508522B (en) * 1997-08-08 2002-11-01 Ibm System input/output interface design for scaling
CN103150278A (zh) * 2013-03-05 2013-06-12 中国人民解放军国防科学技术大学 基于pio和dma混合的网络接口卡描述符提交方法
CN103488597A (zh) * 2013-09-27 2014-01-01 深圳先进技术研究院 一种先进先出缓存器及其读写数据的方法
CN106415513A (zh) * 2014-06-26 2017-02-15 英特尔公司 用于分组发送的优化的信用返回机制
CN106886498A (zh) * 2017-02-28 2017-06-23 华为技术有限公司 数据处理装置和终端
CN106951182A (zh) * 2017-02-24 2017-07-14 深圳市中博睿存信息技术有限公司 一种块设备缓存方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4491909A (en) * 1981-03-18 1985-01-01 International Business Machines Corporation Data processing system having shared memory
JPS59154524A (ja) * 1983-02-23 1984-09-03 Hitachi Ltd 分散形処理装置のデ−タ転送装置
US6047355A (en) * 1993-04-30 2000-04-04 Intel Corporation Symmetric multiprocessing system with unified environment and distributed system functions
TW508522B (en) * 1997-08-08 2002-11-01 Ibm System input/output interface design for scaling
CN103150278A (zh) * 2013-03-05 2013-06-12 中国人民解放军国防科学技术大学 基于pio和dma混合的网络接口卡描述符提交方法
CN103488597A (zh) * 2013-09-27 2014-01-01 深圳先进技术研究院 一种先进先出缓存器及其读写数据的方法
CN106415513A (zh) * 2014-06-26 2017-02-15 英特尔公司 用于分组发送的优化的信用返回机制
CN106951182A (zh) * 2017-02-24 2017-07-14 深圳市中博睿存信息技术有限公司 一种块设备缓存方法和装置
CN106886498A (zh) * 2017-02-28 2017-06-23 华为技术有限公司 数据处理装置和终端

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李胜蓝,姜宏旭,符炜剑,陈姣: "基于PCIe的多路传输系统的DMA控制器设计", 《计算机应用》 *
郭御风,李琼,刘光明,肖立权: "一种新型高效共享的并行I/O 系统", 《计算机工程》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694770A (zh) * 2019-03-15 2020-09-22 杭州宏杉科技股份有限公司 一种处理io请求的方法及装置
CN111666235A (zh) * 2020-05-26 2020-09-15 中国人民解放军国防科技大学 用于高速互连网络接口芯片的pio通信装置,芯片,设备及方法

Also Published As

Publication number Publication date
CN107861895B (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
US20180005670A1 (en) Hybrid lpddr4-dram with cached nvm and flash-nand in multi-chip packages for mobile devices
CN107256363B (zh) 一种由加解密模块阵列组成的高速加解密装置
CN107092835B (zh) 一种虚拟存储盘的计算机数据加密装置及方法
RU2015134146A (ru) Система памяти
CN103366794A (zh) 用于减少接脚数内存总线接口的装置及方法
CN104320317B (zh) 一种以太网物理层芯片状态的传送方法和装置
CN111078597B (zh) 一种中断消息生成装置、方法以及端设备
CN104111870A (zh) 一种中断处理装置及中断处理方法
US20140365837A1 (en) Test apparatus and method for testing server
CN107797821A (zh) 重试读取方法以及使用该方法的装置
CN107861895B (zh) 基于分布式仲裁的可编程输入输出pio写合并装置和方法
US6782463B2 (en) Shared memory array
TW201835757A (zh) 垃圾回收方法以及使用該方法的裝置
US7743184B2 (en) Coherent access register data transfer device and methods thereof
CN103885900B (zh) 数据访问处理方法、PCIe设备和用户设备
US7725645B2 (en) Dual use for data valid signal in non-volatile memory
CN110399219B (zh) 内存访问方法、dmc及存储介质
CN105264608A (zh) 存储数据的方法、内存控制器和中央处理器
CN104899158A (zh) 访存优化方法和装置
US20180203813A1 (en) Methods for processing return entities associated with multiple requests in single interrupt service routine thread and apparatuses using the same
CN109597577A (zh) 一种处理nvme协议读写命令的方法、系统及相关装置
KR102338872B1 (ko) 다수의 클라이언트 데이터를 처리하는 저장 장치 및 방법
CN112286863A (zh) 处理暨存储电路
CN106201935A (zh) 用于处理存储队列中数据相关的装置及方法
US10515007B2 (en) Technologies for remapping pending bit array read requests

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
GR01 Patent grant
GR01 Patent grant