CN114416632A - 一种基于多总线协议灵活转换的两级缓存互联结构 - Google Patents
一种基于多总线协议灵活转换的两级缓存互联结构 Download PDFInfo
- Publication number
- CN114416632A CN114416632A CN202111626869.3A CN202111626869A CN114416632A CN 114416632 A CN114416632 A CN 114416632A CN 202111626869 A CN202111626869 A CN 202111626869A CN 114416632 A CN114416632 A CN 114416632A
- Authority
- CN
- China
- Prior art keywords
- request
- write
- read
- interception
- level cache
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种基于多总线协议灵活转换的两级缓存互联结构,由复位管理单元、总线协议转换单元、读请求处理单元、写请求处理单元、侦听请求处理单元和可编程仲裁单元组成,每个处理器核都有单独的互联单元来实现与二级缓存的互连通信,可以同时接收各个核发出的请求。复位管理单元可以实现二级缓存在复位后自动刷新功能。总线协议转换单元可以实现处理器核接口与二级缓存接口不同协议之间的转换。读请求处理单元与写请求处理单元分别对读操作和写操作进行分类处理,侦听请求处理单元实现两级缓存之间侦听请求信息的处理。可编程仲裁单元根据不同的仲裁配置实现各个处理器核与二级缓存之间读写及侦听信息的传输。
Description
技术领域
本发明涉及多核处理器设计技术领域,涉及一种两级缓存互联结构,特别是一种适合于多个处理器核共享一个具有不同总线接口二级缓存的连接方式。
背景技术
目前,多核处理器已经替代单核处理器成为提高整体系统性能的主要研究方向,同时处理器性能的提高方式也从指令级并行转为了线程级并行。在应用线程级并行的处理器体系结构中,共享存储具有明显的优势而被广泛使用。
相对于传统的私有存储结构,由多个处理器核共享的二级存储系统可以大幅度降低一级缓存的缺失代价,提供有效的低延迟高带宽通信机制,并且为操作系统提供了一个全局性的地址空间以便于多进程应用程序在共享存储空间并行运行。
现在的具有共享存储的多核处理器架构中,所采用二级缓存接口都需要符合与处理器核总线接口相同的总线协议,特别是总线接口为符合串行总线协议的处理器在进行多核共享二级缓存结构设计时,多采用在连接有处理器master的串行总线上通过总线的slave接口与符合相同协议接口的二级缓存相连接的方式来实现,该连接方式类似于将二级缓存模块作为一个外部设备进行连接,由于串行总线的顺序执行特点,以及多个处理器核共用一条总线上的同一个二级缓存设备接口,因此当同时有多个核对共享二级存储空间进行访问时,则需要经过总线仲裁,未得到总线使用权的处理器核需要等待较长的时钟周期才能够对二级缓存进行访问,使得该连接方式无法充分开发多核处理器并行操作特性,从而限制了对系统整体运行速度的提高。
发明内容
本发明解决的技术问题是:克服现有连接方式的上述缺陷,提供一种基于多总线协议灵活转换的两级缓存互联结构,通过处理器总线接口与二级缓存总线接口之间的灵活转换设计,使得该互联结构不仅可以实现不同接口两级缓存之间的连接,而且还支持多个串行接口处理器核对共享二级缓存空间的同时访问,提高了处理器核读写访问的响应速度,可以提升多核处理器系统的访存性能。
本发明的技术方案是:一种基于多总线协议灵活转换的两级缓存互联结构,该互联结构包括可编程仲裁单元、N个互联单元;N大于等于1;
每个处理器核都有单独的一级缓存和总线接口,一级缓存通过总线接口与外部通信,N个处理器核共享二级缓存,二级缓存包括至少一个接口模块与可编程仲裁单元进行通信;处理器核与互联单元一一对应;
互联单元,用于实现处理器核总线接口与二级缓存接口之间的协议转换,接收处理器核发出读请求信息和写请求信息请求,生成对二级缓存的二级读请求信号、对二级缓存的二级写请求信号,发送给可编程仲裁单元;接收可编程仲裁单元发出的侦听请求,并生成侦听请求信号发送给处理器核;接收二级缓存的响应信号,反馈给处理器核;
可编程仲裁单元,根据二级缓存端口数量,对各互联单元发出的二级读请求信号或者二级写请求信号进行仲裁,保证二级缓存的每个端口同一时刻只有一个处理器核访问;将二级缓存端口发送的响应信号反馈给对应的互联单元;接收二级缓存发出的侦听请求并发送给互联单元。
上述基于多总线协议灵活转换的两级缓存互联结构还包括复位管理单元;
复位管理单元,接收外部输入的复位信号,在复位信号释放之后,向二级缓存发送刷新指令,使得二级缓存在复位之后所有遗留数据全部标识为无效状态。
优选地,所述互联单元包括总线协议转换单元、读请求处理单元、写请求处理单元;
总线协议转换单元,按照处理器核的接口协议,对处理器核总线接口信号进行解析,分解得到读请求信息或写请求信息,并按照二级缓存的接口协议,生成二级读请求信息和二级写请求信息,将二级读请求信息发送给读请求处理单元,将二级写请求信息发送给写请求处理单元;所述二级读请求信息包括读操作的请求类型、请求地址、数据大小;所述二级写请求信息,包括写操作请求类型、请求地址、数据大小、被写入数据、有效字节;
读请求处理单元,识别二级读请求信息中读操作的请求类型,为不同的请求类型生成相应的属性值;为二级读请求信息分配唯一的读请求ID;将二级读请求信息、属性以及读请求ID按照二级缓存的接口协议时序要求发送至可编程仲裁单元;
写请求处理单元,从二级写请求信息中提取地址、待写入数据、数据大小、有效字节;识别写操作的请求类型,为不同的请求类型生成相对应的属性值,采用属性信号表示;为二级写请求信息分配唯一的写请求ID;将写请求ID、地址、类型、属性、数据大小存入地址缓冲区;将写请求ID、待写入数据、有效字节写入数据缓冲区;按照二级缓存的接口协议,将二级写请求信息及其属性信号,以及写请求ID信号发送至可编程仲裁单元。
优选地,所述读请求处理单元包括读请求类型识别模块、读请求信号生成模块、ID管理模块、读响应信号处理模块;
读请求类型识别模块,解析二级读请求信息,对处理器核所发出的读操作的请求类型进行识别,为不同的请求类型生成相应的属性值,发送给读请求信号生成模块;
读请求信号生成模块,将二级读请求信息、属性以及读请求ID按照二级缓存的接口协议时序要求发送至可编程仲裁单元;
ID管理模块,为二级读请求信息分配不同的读请求ID,发送给读请求信号生成模块,接收二级缓存返回的读响应信息中的读响应识别号,判断读请求信息中的读请求ID与读响应识别号是否匹配,将匹配成功信号发送给读响应信号处理模块;
读响应信号处理模块,接收二级缓存返回的读响应信息;所述读响应信息包括读响应识别号、返回的数据、数据返回完成信号以及读响应类型;接收ID管理模块反馈的匹配成功信号;将返回的数据和响应类型返回给总线协议转换单元。
优选地,所述写请求处理单元包括写请求类型识别模块,写请求信号生成模块、ID管理模块、写请求缓冲器和写响应信号处理模块;
写请求类型识别模块,从二级写请求信息中提取请求类型、地址、待写入数据、数据大小、有效字节,之后,向ID管理模块发送ID请求消息,将写请求信息发送给写请求信号生成模块;
写请求信号生成模块,接收二级写请求信息后,为不同的请求类型生成相对应的属性;根据所写出数据的地址设置与二级缓存数据接口位宽相匹配的二级写请求信息,将二级写请求信息、属性与ID管理模块生成的请求ID一起发送至写请求缓冲器,之后,向写响应信号处理模块发送写请求到达标识信号;从写请求缓冲器中提取同一个写请求ID所对应的地址、类型、属性、数据大小、待写入数据、有效字节,按照二级缓存的接口协议,发送给可编程仲裁模块;
ID管理模块,收到ID请求消息后,为二级写请求信息分配唯一的写请求ID,将该写请求ID发送给写请求缓冲器和写请求信号生成模块;接收二级缓存返回的写响应信息中的写响应识别号,判断写请求信息中的写请求ID与写响应识别号是否匹配,将匹配成功信息发送给写响应信号处理模块和写请求缓冲器;
写请求缓冲器,将写请求ID、地址、类型、属性、数据大小存入地址缓冲区;将写请求ID、待写入数据、有效字节写入数据缓冲区;所述写请求缓冲器数据缓冲区中的数据位宽和地址缓冲区中的地址位宽与二级缓存相应接口位宽相同;接收ID管理模块发送的匹配成功信息,将匹配成功的写请求信息从写请求缓冲器中清除;
写响应信号处理模块,在接收到写请求到达标识信号后,按照二级缓存的接口协议,返回写响应信号给总线协议转换单元;同时写响应信号处理模块还接收二级缓存返回的写响应信息,所述写响应信息包括写响应识别号和写响应类型,并将二级缓存反馈的错误信号发送至处理器核进行处理。
优选地,所述写请求缓冲器能够缓存最多四组写操作请求信息。
优选地,所述互联单元还包括侦听请求处理单元;
侦听请求处理单元,实现对处理器核侦听请求信息的处理和传输,通过可编程仲裁单元实现与二级缓存之间读写及侦听信息的传输,保证缓存数据的一致性。
优选地,所述侦听请求处理单元包括侦听请求信号生成模块和侦听响应信号生成模块;
可编程仲裁模块,同时监听二级缓存发出的侦听请求信息和各个处理器核的二级写操作请求信息,当接收到二级缓存发出的侦听请求或有处理器核发送写操作请求时,通过可编程仲裁模块发出二级侦听请求给侦听请求信号生成模块;所述二级侦听请求包括侦听地址和侦听类型;
侦听请求信号生成模块,在接收到可编程仲裁模块发出的二级侦听请求后,根据一级缓存和二级缓存的缓存行大小对二级侦听请求中的侦听地址进行调整,将侦听请求中二级缓存的地址转换为各处理核对应的一级缓存地址,作为调整后的侦听地址,将调整后的侦听地址和侦听类型,组成处理器核端侦听请求信息,发送至各处理器核;
侦听响应信号生成模块,收到各处理器核发出的核端侦听响应信息之后,根据一级缓存和二级缓存的缓存行大小对侦听返回数据进行调整,将核端侦听响应信息中与处理器核总线接口相匹配的数据位宽转换为与二级缓存接口相匹配的数据位宽,作为调整后的侦听响应数据,将调整后的侦听响应数据与侦听响应类型,组成侦听响应信息,通过可编程仲裁模块向二级缓存发送响应信息。
本发明与现有技术相比具有如下有益效果:
(1)、本发明提出的两级缓存互联结构具有可扩展特性,对每个处理器核都有单独的读写和侦听通道以及相对应的二级缓存接口,可以适用于不同数量的处理器核架构。
(2)、本发明通过对总线协议的灵活转换设计,使得该互联结构可以支持不同总线接口两级缓存之间的互联,使得多核处理器架构设计师在选择二级缓存类型时有更多的选择范围。
(3)、本发明通过可配置的总线协议转换功能和仲裁选择功能,使得该互联结构可以支持多个串行接口处理器核对共享二级缓存空间的同时访问,避免了由总线仲裁导致的长时间等待周期,提高了多核处理器系统的访存性能。
(4)、本发明通过写请求处理单元增加了写缓冲器,可以缓存最多四组写操作请求信息,减少了因二级缓存不能及时接收写请求而引起的处理器访存操作堵塞,提高了处理器访存指令的执行速度。
(5)、本发明通过复位管理单元在复位信号释放之后自动向二级缓存发送刷新指令,使软件编程人员不需要在系统复位之后通过软件对二级缓存中的无效数据进行刷新。
(6)、本发明通过对写操作的监听和二级缓存侦听信息的传输保证了缓存数据一致性,并根据一级缓存和二级缓存的缓存行大小对侦听地址进行调整,可以适用于两级缓存有不同缓存行大小的处理器架构。
(7)、本发明写响应信号处理模块在接收到写请求后,自动按照总线协议的要求返回写响应信号给总线协议转换单元,不必等待二级缓存的响应,减少了处理器核等待二级缓存返回写响应信号的时间,提高了对处理器核写请求的响应速度。
附图说明
图1为本发明两级缓存互联结构应用示意图;
图2为本发明互联结构中读请求处理单元结构示意图;
图3为本发明互联结构中写请求处理单元结构示意图;
图4为本发明互联结构中写请求缓冲器内部结构示意图;
图5为本发明互联结构中侦听请求地址处理方式示意图。
具体实施方式
下面结合附图对本发明作进一步描述:
本发明提供了一种基于多总线协议灵活转换的两级缓存互联结构,该两级缓存互联结构包括复位管理单元;可编程仲裁单元、N个互联单元;N大于等于1。
每个处理器核都有单独的一级缓存和总线接口,一级缓存通过总线接口与外部通信,N个处理器核共享二级缓存,二级缓存包括至少一个接口模块与可编程仲裁单元进行通信;处理器核与互联单元一一对应,二级缓存可以同时与多个处理器核进行通信。
互联单元,用于实现处理器核一级缓存接口与二级缓存接口之间的协议转换,接收处理器核发出读请求信息和写请求信息请求,生成对二级缓存的二级读请求信号、对二级缓存的二级写请求信号,发送给可编程仲裁单元;接收可编程仲裁单元发出的侦听请求,并生成侦听请求信号发送给处理器核;接收二级缓存的响应信号,反馈给处理器核;
可编程仲裁单元,根据不同的仲裁配置实现各个处理器核与二级缓存之间读写及侦听信息的传输,并通过对处理器核写操作的监听来维护一级缓存之间的数据一致性,具体为:根据二级缓存端口数量,对各互联单元发出的二级读请求信号或者二级写请求信号进行仲裁,保证二级缓存的每个端口同一时刻只有一个处理器核访问;将二级缓存端口发送的响应信号反馈给对应的互联单元;接收二级缓存发出的侦听请求并发送给互联单元。
复位管理单元,接收外部输入的复位信号,在复位信号释放之后,向二级缓存发送刷新指令,使得二级缓存在复位之后所有遗留数据全部标识为无效状态,实现二级缓存在复位后自动刷新功能。
优选地,所述互联单元包括总线协议转换单元、读请求处理单元、写请求处理单元;
总线协议转换单元,用于实现处理器核接口与二级缓存接口不同协议之间的转换,具体为:按照处理器核的接口协议,对处理器核总线接口信号进行解析,分解得到读请求信息或写请求信息,并按照二级缓存的接口协议,生成二级读请求信息和二级写请求信息,将二级读请求信息发送给读请求处理单元,将二级写请求信息发送给写请求处理单元;所述二级读请求信息包括读操作的请求类型、请求地址、数据大小;所述二级写请求信息,包括写操作请求类型、请求地址、数据大小、被写入数据、有效字节;总线协议转换单元可以实现多总线协议的灵活转换,使得具有不同总线接口的处理器核与二级缓存可以进行互联通信。
读请求处理单元,识别二级读请求信息中读操作的请求类型,为不同的请求类型生成相应的属性值;为二级读请求信息分配唯一的读请求ID;将二级读请求信息、属性以及读请求ID按照二级缓存的接口协议时序要求发送至可编程仲裁单元;
写请求处理单元,从二级写请求信息中提取地址、待写入数据、数据大小、有效字节;识别写操作的请求类型,为不同的请求类型生成相对应的属性值,采用属性信号表示;为二级写请求信息分配唯一的写请求ID;将写请求ID、地址、类型、属性、数据大小存入地址缓冲区;将写请求ID、待写入数据、有效字节写入数据缓冲区;按照二级缓存的接口协议,将二级写请求信息及其属性信号,以及写请求ID信号发送至可编程仲裁单元。
读请求处理单元用于实现两级缓存之间读操作请求和响应的握手通信;优选地,所述读请求处理单元包括读请求类型识别模块、读请求信号生成模块、ID管理模块、读响应信号处理模块;
读请求类型识别模块,解析二级读请求信息,对处理器核所发出的读操作的请求类型进行识别,为不同的请求类型生成相应的属性值,发送给读请求信号生成模块;
读请求信号生成模块,将二级读请求信息、属性以及读请求ID按照二级缓存的接口协议时序要求发送至可编程仲裁单元;
ID管理模块,为二级读请求信息分配不同的读请求ID,发送给读请求信号生成模块,接收二级缓存返回的读响应信息中的读响应识别号,判断读请求信息中的读请求ID与读响应识别号是否匹配,将匹配成功信号发送给读响应信号处理模块;
读响应信号处理模块,接收二级缓存返回的读响应信息;所述读响应信息包括读响应识别号、返回的数据、数据返回完成信号以及读响应类型;接收ID管理模块反馈的匹配成功信号;将返回的数据和响应类型返回给总线协议转换单元。
判断二级读请求信息中的ID号与读响应识别号是否匹配具体步骤为:
当读请求信息中的ID号与读响应识别号相同时,认为读请求信息中的读请求ID号与读响应识别号匹配;
当读请求信息中的ID号与读响应识别号不同时,认为读请求信息中的ID号与读响应识别号不匹配。
根据读请求的类型、大小,一个读请求可能会连续返回多次数据,数据返回完成信号用来指示所有数据返回完成。
写请求处理单元,用于实现对处理器核写请求的缓存以及两级缓存之间写操作请求和响应的握手通信。
优选地,所述写请求处理单元包括写请求类型识别模块,写请求信号生成模块、ID管理模块、写请求缓冲器和写响应信号处理模块;
写请求类型识别模块,从二级写请求信息中提取请求类型、地址、待写入数据、数据大小、有效字节,之后,向ID管理模块发送ID请求消息,将写请求信息发送给写请求信号生成模块;
写请求信号生成模块,接收二级写请求信息后,为不同的请求类型生成相对应的属性;根据所写出数据的地址设置与二级缓存数据接口位宽相匹配的二级写请求信息,将二级写请求信息、属性与ID管理模块生成的请求ID一起发送至写请求缓冲器,之后,向写响应信号处理模块发送写请求到达标识信号;从写请求缓冲器中提取同一个写请求ID所对应的地址、类型、属性、数据大小、待写入数据、有效字节,按照二级缓存的接口协议,发送给可编程仲裁模块;
ID管理模块,收到ID请求消息后,为二级写请求信息分配唯一的写请求ID,将该写请求ID发送给写请求缓冲器和写请求信号生成模块;接收二级缓存返回的写响应信息中的写响应识别号,判断写请求信息中的写请求ID与写响应识别号是否匹配,将匹配成功信息发送给写响应信号处理模块和写请求缓冲器;
写请求缓冲器,将写请求ID、地址、类型、属性、数据大小存入地址缓冲区;将写请求ID、待写入数据、有效字节写入数据缓冲区;所述写请求缓冲器数据缓冲区中的数据位宽和地址缓冲区中的地址位宽与二级缓存相应接口位宽相同;接收ID管理模块发送的匹配成功信息,将匹配成功的写请求信息从写请求缓冲器中清除;
写响应信号处理模块,在接收到写请求到达标识信号后,按照二级缓存的接口协议,返回写响应信号给总线协议转换单元;同时写响应信号处理模块还接收二级缓存返回的写响应信息,所述写响应信息包括写响应识别号和写响应类型,并将二级缓存反馈的错误信号发送至处理器核进行处理。这里的写响应模块在写请求到达后会提前返回写响应给总线协议转换单元,后面如果二级缓存返回的写响应类型是错误类型,则再单独反馈错误。这是为了减少处理器核等待写反馈的时间。
优选地,所述写请求缓冲器能够缓存最多四组写操作请求信息。
优选地,所述互联单元还包括侦听请求处理单元;
侦听请求处理单元,实现对处理器核侦听请求信息的处理和传输,通过可编程仲裁单元实现与二级缓存之间读写及侦听信息的传输,保证缓存数据的一致性。
优选地,所述侦听请求处理单元包括侦听请求信号生成模块和侦听响应信号生成模块;
可编程仲裁模块,同时监听二级缓存发出的侦听请求信息和各个处理器核的二级写操作请求信息,当接收到二级缓存发出的侦听请求或有处理器核发送写操作请求时,通过可编程仲裁模块发出二级侦听请求给侦听请求信号生成模块;所述二级侦听请求包括侦听地址和侦听类型;
侦听请求信号生成模块,在接收到可编程仲裁模块发出的二级侦听请求后,根据一级缓存和二级缓存的缓存行大小对二级侦听请求中的侦听地址进行调整,将侦听请求中二级缓存的地址转换为各处理核对应的一级缓存地址,作为调整后的侦听地址,将调整后的侦听地址和侦听类型,组成处理器核端侦听请求信息,发送至各处理器核;
侦听响应信号生成模块,收到各处理器核发出的核端侦听响应信息之后,根据一级缓存和二级缓存的缓存行大小对侦听返回数据进行调整,将核端侦听响应信息中与处理器核总线接口相匹配的数据位宽转换为与二级缓存接口相匹配的数据位宽,作为调整后的侦听响应数据,将调整后的侦听响应数据与侦听响应类型,组成侦听响应信息,通过可编程仲裁模块向二级缓存发送响应信息。
实施例:
如图1所示,本发明一种基于多总线协议灵活转换的两级缓存互联结构主要由复位管理单元、可编程仲裁单元组成和N个互联单元,N大于等于1。每个互联单元包括总线协议转换单元、读请求处理单元、写请求处理单元、侦听请求处理单元。
每个处理器核都有单独的互联单元与之对应,来实现与二级缓存的互连通信。不同的总线协议定义的信号不一样,比如,处理器核总线接口出来的请求类型可能就用一组4位的信号线来表示N种属性,而二级缓存接口符合的另一种总线协议会需要类型信号和属性信号两组信号线来表示,各表示一部分属性。因此,互联单元通过总线协议转换单元实现处理器核接口与二级缓存接口不同协议之间的转换,并分别通过读请求处理单元与写请求处理单元对读操作和写操作进行分别处理,通过侦听请求处理单元实现对二级缓存侦听请求信息的处理和传输,通过可编程仲裁单元实现与两级缓存之间读写及侦听信息的传输,以及处理器核对其他master写操作的侦听,保证缓存数据的一致性。
复位管理单元用来实现二级缓存在复位后自动刷新的功能。在复位信号释放之后,复位管理单元向二级缓存发送刷新指令,实现二级缓存在复位之后所有遗留数据全部自动刷新功能。
总线协议转换单元实现接口协议信号的转换,可以根据不同的两级缓存接口进行配置,在处理器核为串行总线接口时,可以将处理器核接口信号进行串并转换,实现读写通道的分离,便于二级缓存互联结构对两级缓存之间的读写操作分别进行处理。
如图2所示为读请求处理单元的结构图。读请求处理单元用来实现两级缓存之间读操作请求和响应的握手通信,包括读请求类型识别模块,读请求信号生成模块,ID管理模块和读响应信号处理模块。该单元在接收到处理器核所发出的读请求信息之后,通过读请求类型识别模块对读操作的请求类型进行识别,分类出指令读请求、数据读请求、可缓存的读请求以及不可缓存的读请求,以便于二级缓存模块对不同类型的请求进行分别处理,比如,二级缓存将指令和数据分别存储在不同的存储区,当收到数据读请求时,从数据存储区中提取数据,当收到指令读请求时,从指令存储区中读取。读请求信号生成模块为不同的请求类型设置相对应的属性值,与ID管理模块生成的请求ID一起作为该请求的识别信息发送至二级缓存。ID管理模块负责根据不同的请求类型为各个读请求分配不同的识别号(ID),并与接收到的二级缓存返回的读响应识别号进行ID匹配。读响应信号处理模块用来接收二级缓存返回的读响应信号,并将返回的读请求数据和读请求是否成功的信息按照总线协议的要求返回给总线协议转换单元。
如图3所示为写请求处理单元的内部结构图。写请求处理单元用来实现对处理器核写请求的缓存以及两级缓存之间写操作请求和响应的握手通信,包括写请求类型识别模块,写请求信号生成模块,ID管理模块,写请求缓冲器和写响应信号处理模块。
写请求类型识别模块对处理器核所发出的写操作的请求类型进行识别,写请求信号生成模块根据识别出的可缓存写请求类型、不可缓存写请求类型以及缓存一致性维护操作请求类型,分别设置相对应的写请求类型和属性值,并根据所写出数据的地址设置与二级缓存数据接口位宽相匹配的写请求信息,与ID管理模块生成的请求ID一起发送至写请求缓冲器。ID管理模块根据不同的请求类型为各个写请求分配不同的识别号(ID),并与接收到的二级缓存返回的写响应识别号进行ID匹配。在接收到写请求后,写响应信号处理模块按照总线协议的要求返回写响应信号给总线协议转换单元,不必等待二级缓存的响应,提高了对处理器核写请求的响应速度。同时写响应信号处理模块还负责将二级缓存反馈的错误信号发送至处理器核进行处理。
写请求缓冲器包含四个写请求buffer,可以缓存四组写操作请求信息,如图4所示为写请求缓冲器所缓存信息示意图,包含地址信息缓冲区和数据信息缓冲区,分别保存了地址请求的ID、地址、类型、属性、大小信息和数据请求的ID、数据、有效字节信息,根据ID信息来保证地址请求和数据请求的匹配关系。写请求缓冲器缓存处理器核发出的写请求信息,并在二级缓存准备好时将写请求发送出去,减少了因二级缓存不能及时接收写请求而导致的处理器核访存操作堵塞。
侦听请求处理单元包括侦听请求信号生成模块和侦听响应信号生成模块,用来实现对侦听信息的处理,并将侦听请求反馈至处理器核,以便处理器核能够完成数据一致性维护操作。侦听请求信号生成模块在接收到二级缓存发出的侦听请求后,根据一级缓存和二级缓存的缓存行大小对侦听请求进行调整,并将调整后的侦听地址和侦听请求信号发送至处理器核。侦听响应信号生成模块接收处理器核发出的侦听响应信息,并根据侦听请求信号生成模块对侦听请求的调整向二级缓存发送响应信息。侦听请求信息包括侦听地址和侦听类型,类型包括无效某个地址等,即把某个地址读出或者无效。
如图5所示举例说明:当二级缓存的缓存行大小为64字节时,其发出的侦听地址为64字节对齐,即不论写操作地址为0x40或是0x70,二级缓存发出的侦听地址均为0x40,此时在一级缓存的缓存行大小为32字节,即地址为32字节对齐时,侦听请求信号生成模块会向处理器核连续发送地址为0x40、0x60两个侦听请求,以确保无论是向二级缓存行的高位地址还是低位地址进行的写操作,都能保证两级缓存之间的数据一致性。
可编程仲裁模块接收互联单元中各个处理器核读写请求信息,并可根据二级缓存接口数量来进行仲裁配置,若二级缓存有多个接口可以分别接收各个处理器核的请求,则可以将各个处理器核读写请求信息并行发送至二级缓存,减少了总线仲裁所需的等待周期;若二级缓存只有一个接口,则可编程仲裁模块可配置为仲裁模式,各个处理器核的请求经过仲裁之后发送至二级缓存。
为了实现处理器核对共享地址写操作的侦听,可编程仲裁模块同时监听二级缓存发出的侦听请求和各个处理器核的写操作请求信息,将监听到的信息发送至侦听请求处理单元进行处理,处理器核接收到侦听请求后将侦听地址与自己的一级缓存进行匹配,若有缓存行命中则执行无效该缓存行的操作,以此来保证缓存数据一致性。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (8)
1.一种基于多总线协议灵活转换的两级缓存互联结构,其特征在于可编程仲裁单元、N个互联单元;N大于等于1;
每个处理器核都有单独的一级缓存和总线接口,一级缓存通过总线接口与外部通信,N个处理器核共享二级缓存,二级缓存包括至少一个接口模块与可编程仲裁单元进行通信;处理器核与互联单元一一对应;
互联单元,用于实现处理器核总线接口与二级缓存接口之间的协议转换,接收处理器核发出读请求信息和写请求信息请求,生成对二级缓存的二级读请求信号、对二级缓存的二级写请求信号,发送给可编程仲裁单元;接收可编程仲裁单元发出的侦听请求,并生成侦听请求信号发送给处理器核;接收二级缓存的响应信号,反馈给处理器核;
可编程仲裁单元,根据二级缓存端口数量,对各互联单元发出的二级读请求信号或者二级写请求信号进行仲裁,保证二级缓存的每个端口同一时刻只有一个处理器核访问;将二级缓存端口发送的响应信号反馈给对应的互联单元;接收二级缓存发出的侦听请求并发送给互联单元。
2.根据权利要求1所述的一种基于多总线协议灵活转换的两级缓存互联结构,其特征在于还包括复位管理单元;
复位管理单元,接收外部输入的复位信号,在复位信号释放之后,向二级缓存发送刷新指令,使得二级缓存在复位之后所有遗留数据全部标识为无效状态。
3.根据权利要求1所述的一种基于多总线协议灵活转换的两级缓存互联结构,其特征在于所述互联单元包括总线协议转换单元、读请求处理单元、写请求处理单元;
总线协议转换单元,按照处理器核的接口协议,对处理器核总线接口信号进行解析,分解得到读请求信息或写请求信息,并按照二级缓存的接口协议,生成二级读请求信息和二级写请求信息,将二级读请求信息发送给读请求处理单元,将二级写请求信息发送给写请求处理单元;所述二级读请求信息包括读操作的请求类型、请求地址、数据大小;所述二级写请求信息,包括写操作请求类型、请求地址、数据大小、被写入数据、有效字节;
读请求处理单元,识别二级读请求信息中读操作的请求类型,为不同的请求类型生成相应的属性值;为二级读请求信息分配唯一的读请求ID;将二级读请求信息、属性以及读请求ID按照二级缓存的接口协议时序要求发送至可编程仲裁单元;
写请求处理单元,从二级写请求信息中提取地址、待写入数据、数据大小、有效字节;识别写操作的请求类型,为不同的请求类型生成相对应的属性值,采用属性信号表示;为二级写请求信息分配唯一的写请求ID;将写请求ID、地址、类型、属性、数据大小存入地址缓冲区;将写请求ID、待写入数据、有效字节写入数据缓冲区;按照二级缓存的接口协议,将二级写请求信息及其属性信号,以及写请求ID信号发送至可编程仲裁单元。
4.根据权利要求1所述的一种基于多总线协议灵活转换的两级缓存互联结构,其特征在于所述读请求处理单元包括读请求类型识别模块、读请求信号生成模块、ID管理模块、读响应信号处理模块;
读请求类型识别模块,解析二级读请求信息,对处理器核所发出的读操作的请求类型进行识别,为不同的请求类型生成相应的属性值,发送给读请求信号生成模块;
读请求信号生成模块,将二级读请求信息、属性以及读请求ID按照二级缓存的接口协议时序要求发送至可编程仲裁单元;
ID管理模块,为二级读请求信息分配不同的读请求ID,发送给读请求信号生成模块,接收二级缓存返回的读响应信息中的读响应识别号,判断读请求信息中的读请求ID与读响应识别号是否匹配,将匹配成功信号发送给读响应信号处理模块;
读响应信号处理模块,接收二级缓存返回的读响应信息;所述读响应信息包括读响应识别号、返回的数据、数据返回完成信号以及读响应类型;接收ID管理模块反馈的匹配成功信号;将返回的数据和响应类型返回给总线协议转换单元。
5.根据权利要求1所述的一种基于多总线协议灵活转换的两级缓存互联结构,其特征在于所述写请求处理单元包括写请求类型识别模块,写请求信号生成模块、ID管理模块、写请求缓冲器和写响应信号处理模块;
写请求类型识别模块,从二级写请求信息中提取请求类型、地址、待写入数据、数据大小、有效字节,之后,向ID管理模块发送ID请求消息,将写请求信息发送给写请求信号生成模块;
写请求信号生成模块,接收二级写请求信息后,为不同的请求类型生成相对应的属性;根据所写出数据的地址设置与二级缓存数据接口位宽相匹配的二级写请求信息,将二级写请求信息、属性与ID管理模块生成的请求ID一起发送至写请求缓冲器,之后,向写响应信号处理模块发送写请求到达标识信号;从写请求缓冲器中提取同一个写请求ID所对应的地址、类型、属性、数据大小、待写入数据、有效字节,按照二级缓存的接口协议,发送给可编程仲裁模块;
ID管理模块,收到ID请求消息后,为二级写请求信息分配唯一的写请求ID,将该写请求ID发送给写请求缓冲器和写请求信号生成模块;接收二级缓存返回的写响应信息中的写响应识别号,判断写请求信息中的写请求ID与写响应识别号是否匹配,将匹配成功信息发送给写响应信号处理模块和写请求缓冲器;
写请求缓冲器,将写请求ID、地址、类型、属性、数据大小存入地址缓冲区;将写请求ID、待写入数据、有效字节写入数据缓冲区;所述写请求缓冲器数据缓冲区中的数据位宽和地址缓冲区中的地址位宽与二级缓存相应接口位宽相同;接收ID管理模块发送的匹配成功信息,将匹配成功的写请求信息从写请求缓冲器中清除;
写响应信号处理模块,在接收到写请求到达标识信号后,按照二级缓存的接口协议,返回写响应信号给总线协议转换单元;同时写响应信号处理模块还接收二级缓存返回的写响应信息,所述写响应信息包括写响应识别号和写响应类型,并将二级缓存反馈的错误信号发送至处理器核进行处理。
6.根据权利要求6所述的一种基于多总线协议灵活转换的两级缓存互联结构,其特征在于所述写请求缓冲器能够缓存最多四组写操作请求信息。
7.根据权利要求1所述的一种基于多总线协议灵活转换的两级缓存互联结构,其特征在于所述互联单元还包括侦听请求处理单元;
侦听请求处理单元,实现对处理器核侦听请求信息的处理和传输,通过可编程仲裁单元实现与二级缓存之间读写及侦听信息的传输,保证缓存数据的一致性。
8.根据权利要求1所述的一种基于多总线协议灵活转换的两级缓存互联结构,其特征在于所述侦听请求处理单元包括侦听请求信号生成模块和侦听响应信号生成模块;
可编程仲裁模块,同时监听二级缓存发出的侦听请求信息和各个处理器核的二级写操作请求信息,当接收到二级缓存发出的侦听请求或有处理器核发送写操作请求时,通过可编程仲裁模块发出二级侦听请求给侦听请求信号生成模块;所述二级侦听请求包括侦听地址和侦听类型;
侦听请求信号生成模块,在接收到可编程仲裁模块发出的二级侦听请求后,根据一级缓存和二级缓存的缓存行大小对二级侦听请求中的侦听地址进行调整,将侦听请求中二级缓存的地址转换为各处理核对应的一级缓存地址,作为调整后的侦听地址,将调整后的侦听地址和侦听类型,组成处理器核端侦听请求信息,发送至各处理器核;
侦听响应信号生成模块,收到各处理器核发出的核端侦听响应信息之后,根据一级缓存和二级缓存的缓存行大小对侦听返回数据进行调整,将核端侦听响应信息中与处理器核总线接口相匹配的数据位宽转换为与二级缓存接口相匹配的数据位宽,作为调整后的侦听响应数据,将调整后的侦听响应数据与侦听响应类型,组成侦听响应信息,通过可编程仲裁模块向二级缓存发送响应信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111626869.3A CN114416632A (zh) | 2021-12-28 | 2021-12-28 | 一种基于多总线协议灵活转换的两级缓存互联结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111626869.3A CN114416632A (zh) | 2021-12-28 | 2021-12-28 | 一种基于多总线协议灵活转换的两级缓存互联结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416632A true CN114416632A (zh) | 2022-04-29 |
Family
ID=81270196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111626869.3A Pending CN114416632A (zh) | 2021-12-28 | 2021-12-28 | 一种基于多总线协议灵活转换的两级缓存互联结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416632A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114188A (zh) * | 2022-06-23 | 2022-09-27 | 云南大学 | 一种嵌入式处理器高速缓存器结构及控制方法 |
CN116561020A (zh) * | 2023-05-15 | 2023-08-08 | 合芯科技(苏州)有限公司 | 一种混合缓存粒度下的请求处理方法、设备及存储介质 |
CN117389931A (zh) * | 2023-12-12 | 2024-01-12 | 芯动微电子科技(武汉)有限公司 | 适用于总线访问gpu核内存储器的协议转换模块及方法 |
CN118331919A (zh) * | 2024-06-11 | 2024-07-12 | 鼎道智芯(上海)半导体有限公司 | 数据通信方法、地址转换装置及电子设备 |
-
2021
- 2021-12-28 CN CN202111626869.3A patent/CN114416632A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114188A (zh) * | 2022-06-23 | 2022-09-27 | 云南大学 | 一种嵌入式处理器高速缓存器结构及控制方法 |
CN115114188B (zh) * | 2022-06-23 | 2023-04-07 | 云南大学 | 一种嵌入式处理器高速缓存器结构及控制方法 |
CN116561020A (zh) * | 2023-05-15 | 2023-08-08 | 合芯科技(苏州)有限公司 | 一种混合缓存粒度下的请求处理方法、设备及存储介质 |
CN116561020B (zh) * | 2023-05-15 | 2024-04-09 | 合芯科技(苏州)有限公司 | 一种混合缓存粒度下的请求处理方法、设备及存储介质 |
CN117389931A (zh) * | 2023-12-12 | 2024-01-12 | 芯动微电子科技(武汉)有限公司 | 适用于总线访问gpu核内存储器的协议转换模块及方法 |
CN117389931B (zh) * | 2023-12-12 | 2024-05-03 | 芯动微电子科技(武汉)有限公司 | 适用于总线访问gpu核内存储器的协议转换模块及方法 |
CN118331919A (zh) * | 2024-06-11 | 2024-07-12 | 鼎道智芯(上海)半导体有限公司 | 数据通信方法、地址转换装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114416632A (zh) | 一种基于多总线协议灵活转换的两级缓存互联结构 | |
US6557069B1 (en) | Processor-memory bus architecture for supporting multiple processors | |
CN100507874C (zh) | 用于存储器系统性能监视的存储器集线器和方法 | |
US5799207A (en) | Non-blocking peripheral access architecture having a register configure to indicate a path selection for data transfer between a master, memory, and an I/O device | |
CN102110072B (zh) | 一种多处理器完全互访的方法及系统 | |
US20050146944A1 (en) | Memory module and method having on-board data search capabilities and processor-based system using such memory modules | |
CN105224488B (zh) | 一种pci总线控制器及其控制方法 | |
CN105095254B (zh) | 一种实现数据一致性的方法及装置 | |
US9330002B2 (en) | Multi-core interconnect in a network processor | |
CN101515261B (zh) | 集成电路内设备之间的数据传输 | |
US9213656B2 (en) | Flexible arbitration scheme for multi endpoint atomic accesses in multicore systems | |
TW200534110A (en) | A method for supporting improved burst transfers on a coherent bus | |
TW200421087A (en) | Memory hub and access method having internal row caching | |
CN112988647A (zh) | 一种TileLink总线到AXI4总线转换系统及方法 | |
US20140115273A1 (en) | Distributed data return buffer for coherence system with speculative address support | |
US11082327B2 (en) | System and method for computational transport network-on-chip (NoC) | |
US9372796B2 (en) | Optimum cache access scheme for multi endpoint atomic access in a multicore system | |
JPH0322068A (ja) | データ処理システム | |
KR20010056536A (ko) | 이중포트 구조로 이루어진 다수의 트랜잭션 버퍼를 구비한캐쉬 제어기 | |
US20080133834A1 (en) | Bit ordering for communicating an address on a serial fabric | |
CN115328832B (zh) | 一种基于pcie dma的数据调度系统与方法 | |
EP3926482A1 (en) | System and method for performing transaction aggregation in a network-on-chip (noc) | |
CN209249081U (zh) | 一种eMMC主机控制器和eMMC控制系统 | |
Fu et al. | A hardware-efficient dual-source data replication and local broadcast mechanism in distributed shared caches | |
CN111694777A (zh) | 基于PCIe接口的DMA传输方法 |
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 |