The embodiment of the invention provides a programmable input and output PIO write merge device and method based on distributed arbitration, which belongs to the field of data communication. At least one write buffer in each merge module and write corresponding to a distributed arbiter module and buffer module, the PIO interface module is used for receiving the PIO write request for the at least one format with write buffer module, wherein the PIO write requests including the write address and write data; with each write buffer module is used for receiving the PIO write requests, and write with storage buffer module output hit signal with the same address register address; each distributed arbiter module is used to output the signal to the hit signal when receiving the corresponding write merge buffer module according to the address offset the address is written by the write data. The invention is easy to be realized, has good extensibility, and has strong generality, and can simplify the process of data processing to the maximum.
【技术实现步骤摘要】
基于分布式仲裁的可编程输入输出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写请求,并且存储有与所述写地址相同的缓存器地址的写合并缓存器模块输出命中信号;所述至少一个分布式仲裁器模块中的每个分布式仲裁器模块用于在接收到所述命中信号时输出使能信号,使对应的写合并缓存器模块根据所述写地址的地址偏移写入所述写数据。
【技术特征摘要】
1.一种基于分布式仲裁的可编程输入输出PIO写合并装置,其特征在于,该装置包括:至少一个写合并缓存器模块、至少一个分布式仲裁器模块以及PIO接口模块,其中,所述至少一个写合并缓存器模块中的每个写合并缓存器模块对应一个分布式仲裁器模块,所述PIO接口模块用于将接收到的PIO写请求处理为适合所述至少一个写合并缓存器模块的格式,其中所述PIO写请求包括写地址和写数据;所述至少一个写合并缓存器模块中的每个写合并缓存器模块用于接收所述PIO写请求,并且存储有与所述写地址相同的缓存器地址的写合并缓存器模块输出命中信号;所述至少一个分布式仲裁器模块中的每个分布式仲裁器模块用于在接收到所述命中信号时输出使能信号,使对应的写合并缓存器模块根据所述写地址的地址偏移写入所述写数据。2.根据权利要求1所述的基于分布式仲裁的PIO写合并装置,其特征在于,所述每个写合并缓存器模块包括用于写入所述写数据的写合并数据单元,该写合并数据单元用于根据数据存储的状态输出空状态信号或满状态信号;所述每个分布式仲裁器模块还用于接收所述空状态信号,并且在未接收到所述命中信号时,接收到所述空状态信号的至少一个分布式仲裁器模块的其中一个分布式仲裁器模块输出所述使能信号,使对应的写合并数据单元根据所述写地址的地址偏移写入所述写数据。3.根据权利要求2所述的基于分布式仲裁的PIO写合并装置,其特征在于,所述每个写合并缓存器模块还包括:写合并地址单元,在所述写合并数据单元输出空状态信号的情况下,所述写合并地址单元用于在接收到所述使能信号时存储所述写地址以作为所述缓存器地址。4.根据权利要求3所述的基于分布式仲裁的PIO写合并装置,其特征在于,所述每个写合并缓存器模块还包括:写合并超时单元,用于在所述写合并数据单元写入所述写数据时开始计时,以及当预定时间内所述写合并数据单元未输出所述满状态信号时,清空所述写合并缓存器模块。5.根据权利要求2所述的基于分布式仲裁的PIO写合并装...
【专利技术属性】
技术研发人员:王克非,张磊,徐亚东,黄文斌,
申请(专利权)人:深圳市楠菲微电子有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。