一种用于多核处理器Cache一致性实物验证的装置的制作方法

文档序号:6608504阅读:189来源:国知局
专利名称:一种用于多核处理器Cache一致性实物验证的装置的制作方法
技术领域
本发明涉及一种用于多核处理器实物验证的装置,特别是涉及多核处 理器Cache —致性的正确性验证。
背景技术
随着微处理器的发展,传统的处理器设计制造方法己经难以实现性能 的突破,单核微处理器越来越难以满足应用需求,微处理器进入多核时代。 从单核到多核,不仅仅是处理器核心数量的简单增加,发展多核处理器对 处理器体系架构、计算机整体架构、操作系统和应用软件都提出了巨大的 挑战。随着多核处理器结构复杂度的增加,如何保证多核处理器设计的正 确性,尤其是多核处理器Cache —致性的正确性越来越成为多核微处理器 验证的难点之一。
通常,功能验证主要有软件模拟和实物硬件仿真两种方法。但是由于 多核处理器在系统架构上和单核处理器相比有着本质的差异,这也就决定 了原来单核处理器的软件模拟环境、测试激励、实物硬件仿真平台都不能 直接应用于多核处理器的功能验证,而需要进行大量的改造,有些环境甚 至需要重新构建,这样,单核处理器的验证成果就很难得到继承,大大增 加了多核处理器的开发周期。

发明内容
本发明要解决的技术问题是在多核处理器实现有独立的Cache和共享存储的前提下,提供一种用于多核处理器Cache —致性实物验证的装置, 在单核验证平台的基础上内嵌一个虚拟处理器核,来支持对多核处理器 Cache —致性的正确性验证。
为解决上述技术问题,本发明的多核处理器Cache —致性实物验证装 置采用如下技术方案实现该装置包括处理器FPGA和外部系统两个组 成部分,处理器FPGA和外部系统之间通过高密度插槽相连。其中,外 部系统上实现了系统控制逻辑和存储访问控制逻辑;处理器FPGA上实 现了虚拟多核处理器,包括以下组成部分真实处理器核、虚拟处理器核、 二级高速缓存、核间一致性控制部件和系统接口控制部件;真实处理器核 与虚拟处理器核都和二级高速缓存、核间一致性控制部件相连,其中虚拟 处理器核是真实处理器核高度抽象的行为级模型,虚拟处理器核的功能主 要是实现真实处理器核与核间一致性控制部件的接口协议,虚拟处理器核 通过模仿真实处理器核,向核间一致性控制部件发出访存干扰命令,同时 处理来自一致性控制部件返回的响应和Cache —致性请求,并保持核间共 享数据的一致性。
采用本发明的多核处理器Cache —致性实物验证装置,虚拟处理器核 通过模仿真实处理器核发出干扰命令,改变共享数据空间的一致性状态, 但并不真正修改共享空间的数据,通过这种方法来达到干扰真实处理器核 正常工作的目的。采用该装置能够模仿多核处理器自动产生共享存储访问 请求并自动保证结果的正确性,在单核处理器FPGA验证平台上就可以 验证多核处理器的Cache —致性的正确性,降低多核处理器的FPGA实 物验证代价,从而提高了多核处理器Cache—致性的验证效率。该装置所采用的验证方法还适用于多核处理器Cache —致性的软件模拟验证,同样 可以降低模拟验证的复杂度,提高模拟验证的速度。


下面结合附图与具体实施方式
对本发明作详细说明 图l是本发明用于多核处理器Cache—致性实物验证装置的结构框图; 图2是本发明中虚拟处理器核的结构框图3是本发明中虚拟处理器核访存请求处理流程图; 图4是本发明中虚拟处理器核访存响应处理流程图5是本发明中虚拟处理器核Cache —致性请求处理流程图; 图6是本发明中虚拟处理器核取数请求处理流程图。
具体实施例方式
如图1所示,本发明用于多核处理器Cache —致性实物验证的装置包 括处理器FPGA实现(101 )、外部系统(105 )两个组成部分,处理器FPGA 实现(101)和外部系统(105)之间通过高密度插槽相连。其中,外部系 统(105)上实现了系统控制逻辑和存储访问控制逻辑;处理器FPGA实 现(101)上实现了虚拟多核处理器,包括以下组成部分真实处理器核 (102)、虚拟处理器核(103)、 二级高速缓存、核间一致性控制部件和系 统接口控制部件(104);真实处理器核(102)与虚拟处理器核都与二级 高速缓存和核间一致性控制部件(104)相连,其中虚拟处理器核(103) 是真实处理器核(102)高度抽象的行为级模型,虚拟处理器核(103)的 功能主要是实现了真实处理器核(102)与核间一致性控制部件(104)的 接口协议,虚拟处理器核(103)通过模仿真实处理器核(102),向核间一致性控制部件(104)发出访存干扰命令,同时处理来自一致性控制部
件(104)返回的响应和Cache—致性请求,并保持核间共享数据的一致 性。
下面结合实施例详细说明本发明中虚拟处理器核的实现方法。
如图2所示,虚拟处理器核监测真实处理器核(102)发送给核间一致 性控制部件(104)的访存请求地址和取指请求地址,将监测到的请求地 址有选择地放入地址缓冲队列(202)中,依次按序从地址缓冲队列(202) 中读出地址,通过一个地址转换生成器(203),对地址进行相关性变换生 成一个新的请求地址,使用此新地址访问一级数据标记(206),根据命中 信息形成合法的访存请求,登记到不命中地址队列(204)中,经过仲裁 向核间一致性控制部件(104)发送特定访存请求命令,此访存请求命令 和真实处理器核(102)发送的请求命令有一定的相关性,以达到干扰核 间一致性处理流程的目的;同时虚拟处理器核(103)接收来自核间一致 性控制部件(104)的访存响应,根据响应的类型来修改不命中地址队列 (204)、 一级数据标记(206)和一级数据高速缓存(207)中的内容。
为保证Cache—致性,虚拟处理器核(103)还能够接收来自核间一致 性控制部件(104)的Cache—致性请求和取数请求。如果是Cache—致 性请求,根据Cache—致性请求内容修改一级数据标记(206)和不命中 地址队列(204),并返回相应的共享一致性响应和数据;如果是取数请求, 从一级数据高速缓存(207)中读出相应的数据,并返回取数响应和数据。
虚拟处理器核(103)中设置了一系列配置寄存器(210),这些配置寄 存器(210)主要用于控制对真实处理器核(102)请求地址的频率监测,发送干扰命令的间隔拍数、地址相关性变换规则等,通过对这些配置寄存
器(210)的调整可以控制虚拟处理器核(103)向真实处理器核(102) 发送干扰命令的相关性强度和疏密程度。
虚拟处理器核(103)的主要处理流程有四个访存请求处理流程、访
存响应处理流程、Cache—致性请求处理流程、取数请求处理流程。下面
具体说明各个流程的处理步骤。
如图3所示,虚拟处理器核(103)访存请求处理步骤如下
(1) 监测真实处理器核(102)是否有有效的访存请求或取指请求, 如果有则将请求地址记录到地址缓冲队列(202)中,否则继续
(2) 如果不命中地址队列(204)不满,则从地址缓冲队列(202) 中读出一个地址,否则等待;
(3) 将读出的地址经过相关性变换后与不命中地址队列(204)中已 有条目地址进行比较,如果相同则丢弃此地址不做任何处理, 否则根据该地址生成合法的请求命令;
(4) 生成合法的请求命令的步骤是首先判断是否为可Cache地址, 如果不是则生成1/0读的请求命令,如果是用该地址访问一级 数据标记(206),再根据命中信息生成相应的访存请求命令, 登记到不命中地址队列(204)条目中,经过仲裁后向核间一致 性控制部件(104)发送访存请求,以干扰真实处理器核(102) 的正常运行。
如图4所示,虚拟处理器核访存响应处理步骤如下(1) 接收核间一致性控制部件(104)来的访存响应,首先判断是否
为错误响应,如果是则需要删除不命中地址队列(204)条目
并进行报错处理。
(2) 根据访存响应的四种类型(非法响应、置脏失败、置脏成功、 数据装填)进行相应的操作,如修改一级数据标记(206)的 状态,删除不命中地址队列(204)条目,装填一级数据高速 缓存(207)等。
如图5所示,虚拟处理器核(103) Cache—致性请求处理步骤如下
(1) 接收到来自核间一致性控制部件(104)的Cache—致性请求, 根据Cache —致性请求的内容,如果是要修改一级数据标记
(206) 状态的,则修改一级数据标记206状态;
(2) 如果是需要数据的Cache—致性请求,则从一级数据高速缓存
(207) 中读出相应的数据并返回给核间一致性控制部件。 如图6所示,虚拟处理器核(103)取数请求处理步骤如下 接收来自核间一致性控制部件(104)的取数请求,从一级数据高速缓
存(207)中读出相应的数据并返回给核间一致性控制部件(104)。
虚拟处理器核(103)能够并行处理上述四个流程,通过状态机的有效
控制来保证各个处理流程并行操作时不会对同一资源(如一级数据标记 (206)和一级数据高速缓存(207)的读写端口)产生使用冲突。
与传统的多核处理器验证手段相比,本发明可以最大限度地继承已有
的单核处理器验证成果,不需要对测试激励和验证环境做过多的改造,在
单核处理器验证平台的基础上内嵌一个虚拟处理器核(103),通过模仿多核处理器自动产生共享存储访问请求并自动保证结果正确性来达到快速
验证多核处理器Cache —致性的目的,降低了多核处理器的FPGA实物 验证代价,从而提高了多核处理器Cache —致性的验证效率。在软件模拟 验证中使用这种验证方法同样可以降低模拟验证的复杂度,提高模拟验证 速度。
权利要求
1、一种用于多核处理器Cache一致性实物验证的装置,其特征在于包括处理器FPGA实现(101)和外部系统(105)两个部分,处理器FPGA实现(101)和外部系统(105)之间通过高密度插槽相连;其中外部系统上实现了系统控制逻辑和存储访问控制逻辑;处理器FPGA实现(101)上实现了虚拟多核处理器,包括以下组成部分真实处理器核(102)、虚拟处理器核(103)、二级高速缓存、核间一致性控制部件和系统接口控制部件(104)。真实处理器核(102)与虚拟处理器核(103)都和二级高速缓存、核间一致性控制部件(104)相连,其中虚拟处理器核(103)是真实处理器核(102)高度抽象的行为级模型,虚拟处理器核(103)的功能主要是实现了真实处理器核(102)与核间一致性控制部件(104)的接口协议,虚拟处理器核(103)通过模仿真实处理器核(102),向核间一致性控制部件(104)发出访存干扰命令,同时处理来自一致性控制部件(104)返回的响应和Cache一致性请求,并保持核间共享数据的一致性。
2、 根据权利要求1所述的一种用于多核处理器Cache —致性实物验 证的装置,所述虚拟处理器核(103)的工作原理是通过采集真实处理器核 (102)发出来的访存请求地址,经过相关性转换,生成一个和原地址相关 的新访存地址。该新访存地址根据一级数据标记(206)的命中情况来形成 合法的访存干扰命令登记到不命中地址队列(204),经过仲裁后向一致性 控制部件(104)发送访存干扰命令,同时还能够根据一致性控制部件(104) 返回的响应,修改一级数据高速缓存(207)的状态或数据,此外还能够处 理来自核间一致性控制部件(104)的Cache —致性请求,并返回响应和数据,干扰真实处理器核(102)的正常工作,以验证多核处理器Cache —致 性的正确性。
3、根据权利要求2所述的一种用于多核处理器Cache —致性实物验 证的装置,其特征在于使用硬件描述语言实现的虚拟处理器核(103), 在软件模拟和硬件仿真中都可以使用;在软件模拟环境中,原有的单核处 理器验证测试激励全部可以继承,只要将虚拟处理器核内嵌到原有的单核 处理器验证环境中,就可以模拟验证多核处理器Cache —致性的正确性; 在单核处理器FPGA验证平台的基础上可以保持原有硬件平台结构不变, 将虚拟处理器核(103)内嵌到原有的单核处理器FPGA中,就可以支持多 核处理器Cache —致性实物验证。
全文摘要
本发明公开了一种用于多核处理器Cache一致性实物验证的装置。其目的是为多核处理器Cache一致性提供一种开销小、效率高的实物验证装置。本装置是在单核处理器的现场可编程门阵列(Field ProgrammableGate-Array,简称FPGA)验证平台的基础上内嵌了一个虚拟处理器核(103)来实现验证多核处理器Cache一致性的目的。所述虚拟处理器核(103)能够模仿多核处理器自动产生共享存储访问请求并自动保证结果的正确性。使用本装置在单核处理器FPGA验证平台上就可以验证多核处理器Cache一致性的正确性,降低了多核处理器的FPGA实物验证代价,从而提高了多核处理器Cache一致性的验证效率,同时,在模拟验证中使用这种验证方法同样可以降低模拟验证的复杂度,提高模拟验证的速度。
文档编号G06F17/50GK101446987SQ20071009430
公开日2009年6月3日 申请日期2007年11月27日 优先权日2007年11月27日
发明者吴志勇, 强 李 申请人:上海高性能集成电路设计中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1