本发明专利技术提出的一种弱相关多端口并行存储控制器,与外围设备中的访存单元和包含多个存储块的存储体连接,能够实现外围设备中的访存单元与外围设备中的存储体之间的多端口并行存储;其包括:存储器端口模块、仲裁模块、地址生成模块、端口转接模块。本发明专利技术提出的多端口并行存储控制器具有如下优点:①支持任意长度的块读写,灵活度更高;②地址和数据的传输复用同一组信号线完成,大大降低了系统中传输信号线的数量,利于布局布线的实施,降低了系统的复杂性和成本;③本发明专利技术所提出的多端口并行存储控制器结构简单,使用信号传输线较少,能够支持大规模多端口存储器的设计与实现,提高多个处理器并行访存的效率。
【技术实现步骤摘要】
本专利技术涉及一种弱相关多端口并行存储控制器,属于计算机体系结构、集成电路设计领域,适用于多内核微处理器及多处理器系统的共享存储器的构建。
技术介绍
现有多端 口并行存储控制器的实现方式有2类①对于包括m个端口的存储控制器,其控制n个存储块(芯片)时,采用mXn交叉开关或片上网络将n个存储块(芯片)连接在一起,不同端口通过交叉开关或片上网络同时访问不同的存储块或芯片,此类结构共享存储器常见于目前绝大部分多核处理器的L2级共享存储器;其中m、n为正整数,m ^ 2且n > m ;②采用足够高频率的存储芯片,以致能够在较短时间内分m次访问不同存储单元的数据,完成不同端口的并行访问,此类结构共享存储器常见于处理器主频不高的场合,如手机等嵌入式应用。上述两类结构多端口存储器的缺点在于第①类多端口存储器仅支持固定长度数据的读写,灵活度较低;第②类多端口存储器往往只能应用于处理器主频不很高的场合,所以在多核处理器及大容量的L2共享存储的场合不适用。
技术实现思路
本专利技术的目的在于克服已有多端口存储器控制器存在的缺陷,提出一种弱相关多端口并行存储控制器,提高多个处理器并行访存的效率。本专利技术的目的是通过以下技术方案实现的。一种弱相关多端口并行存储控制器,与外围设备中的访存单元和包含多个存储块的存储体连接,能够实现外围设备中的访存单元与外围设备中的存储体之间的多端口并行存储;所述弱相关多端口并行存储控制器包括存储器端口模块、仲裁模块、地址生成模块、口转接|吴块。所述存储器端口模块,包含m个端口,并预先为m个端口设置优先级顺序,m个端口的优先级均不同;其中,m3 2 ;其功能包括①从外围设备中的访存单元获取并锁存访存请求信息;所述访存请求信息包括请求访存的起始地址、请求访存的长度及访存模式;所述访存模式包括读操作和写操作。②管理m个端口的状态;所述端口的状态为占用、等待或者空闲。所述占用是指当外围设备中的访存单元正通过存储器端口模块中的某一端口进行访存操作时,称该端口的状态为占用;所述等待是指当存储器端口模块中的某一端口接收到访存请求信息,但该端口与其它端口之间发生访存冲突,暂时不能进行访存操作,需等待到下一周期再次进行仲裁,则称该端口的状态为等待;所述空闲是指存储器端口模块中的某一端口的状态既非占用、又非等待状态,称该端口的状态为空闲。 所述仲裁模块的功能包括①从存储器端口模块中接收到访存请求信息的端口获取存访存请求信息和状态信息。②从地址生成模块获取当前时刻存储器端口模块每个端口的具体访存地址。③判断接收到访存请求信息的端口是否发生访存冲突。④如果接收到访存请求信息的端口发生访存冲突,则进行仲裁并将仲裁结果发送至地址生成模块和存储器端口模块中的相应端口。所述仲裁结果为允许进行访存操作或者等待。⑤如果接收到访存请求信息的端口未发生访存冲突,则发送允许进行访存操作信号至地址生成模块和存储器端口模块的相应端口。所述判断存储器端口之间是否发生访存冲突的具体方法为 当存储器端口模块的m个端口中的2个以上端口同时发起存储访问请求并且请求访存的起始地址相同时,则认为发生访存冲突,称该类访存冲突为并行冲突。当存储器端口模块的m个端口中的I个端口发起存储访问请求并且请求访存的起始地址所在的存储块下一时刻将被其它端口访问时,则认为发生访存冲突,称该类访存冲突为阻塞冲突。当发生并行冲突时,所述仲裁模块进行仲裁的具体方法为根据发生并行冲突的端口的优先级进行仲裁,允许优先级最高的端口进行访存操作。当发生阻塞冲突时,所述仲裁模块进行仲裁的具体方法为不允许该端口进行访存操作,使该端口处于等待状态。所述地址生成模块的功能包括①从存储器端口模块获取访存请求信息;②从仲裁模块获取仲裁结果。③根据访存请求信息中的请求访存的起始地址、请求访存的长度生成当前时刻允许进行访存操作的端口的具体访存地址。所述端口转接模块的功能为从地址生成模块获取当前时刻允许进行访存操作的端口的具体访存地址及访存模式,在该端口与外围设备中的存储体之间建立连接,实现数据传输。各功能申旲块的连接关系为存储器端口模块分别与外围设备中的访存单元、仲裁模块、地址生成模块、端口转接模块连接;仲裁模块分别与存储器端口模块、地址生成模块连接;地址生成模块分别与存储器端口模块、端口转接模块、仲裁模块连接;端口转接模块分别与地址生成模块和外围设备中的存储体连接。所述存储器端口模块与外围设备中的访存单元之间的连接采用地址和数据复用同一组信号线的方式进行。其工作过程包括第I步至第7步,具体为第I步设置存储器端口模块的各端口初始状态均为空闲。当外围设备中的访存单元有访存请求时,执行第2步到第7步的操作。第2步外围设备中的访存单元同时发送r个访存请求信息到存储器端口模块的r个端口,其中I <r<m。第3步存储器端口模块锁存访存请求信息,并设置接收到访存请求信息的端口的状态为等待;第4步存储器端口模块中接收到访存请求信息的端口将端口状态信息和访存请求信息发送给仲裁模块。第5步仲裁模块根据访存请求信息以及当前时刻存储器端口模块每个端口的具体访存地址,依次判断接收到访存请求信息的端口是否发生访存冲突;所述当前时刻存储器端口模块每个端口的具体访存地址的初始值均为空。如果接收到访存请求信息的端口未发生访存冲突,则发送允许进行访存操作信号至地址生成模块和存储器端口模块的相应端口 ;如果接收到访存请求信息的端口发生访存冲突,则进行仲裁并将仲裁结果发送至地址生成模块和存储器端口模块的相应端口。 第6步所述存储器端口模块中接收到访存请求信息的端口用“端口 P”表示。当端口 P接收到仲裁模块发送来的允许进行访存操作信号时,进行第6. I步至第6. 4步操作第6. I步端口 P将其状态设置为占用,并向外围设备中的访存单元发送数据传输应答信号,同时端口 P将访存请求信息中的请求访存的起始地址、请求访存的长度发送至地址生成模块,将访存请求信息中的访存模式发送给端口转发模块;第6. 2步与第6. I步同步地址生成模块根据端口 P的访存请求信息中的请求访存的起始地址、请求访存的长度生成当前时刻端口 P的具体访存地址,同时将端口 P的具体访存地址发送给端口转发模块和仲裁模块;第6. 3步端口转发模块根据端口 P的访存请求信息中的访存模式以及当前时刻端口 P的具体访存地址,在端口 P与外围设备中的存储体之间建立连接,使端口 P与外围设备中的存储体之间实现数据传输。第6. 4步地址生成模块根据端口 P的访存请求信息中的请求访存的起始地址、请求访存的长度以及当前时刻端口 P的具体访存地址判断本次访存请求的数据访问是否完成,如果没有完成,则返回到第6. 2步;如果已经完成,则将端口 P的状态设置为空闲。第7步当端口 P接收到仲裁模块发送来的仲裁结果为等待时,返回到第5步。经过上述步骤的操作,即可实现多端口并行存储。有益效果本专利技术提出的一种弱相关多端口并行存储控制器与已有技术相比,具有以下优占-^ \\\ ①本专利技术所提出的多端口并行存储控制器支持任意长度的块读写,灵活度更高;②本专利技术所提出的多端口并行存储控制器中地址和数据的传输复用同一组信号线完成,大大降低了系统中传输信号线的数量,利于布局布线的实施,降低了系统的复杂性和本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:计卫星,刘彩霞,石峰,薛立成,王一拙,高玉金,
申请(专利权)人:北京理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。