一种对称多核的高效一致性侦听过滤装置,包括:集中式的多个处理器核一级高速缓存的标志副本阵列组合,包含所有处理器的标志副本阵列,一个处理器对应一个标志副本阵列;各个处理器的标志副本阵列划分区块,即任一处理器的标志副本阵列分成两个或两个以上的块,不同的块允许同时被访问;读写请求仲裁器,用于接收和仲裁从各个处理器发出的一致性读写操作请求,并且向标志副本阵列发起查询请求;分析单元,用于分析标志副本的查询结果,产生相应的命令,并且将命令发送给命令队列;命令队列,用于暂存未完成的命令,并且按照命令向标志副本发送更新请求,向处理器发送侦听请求。本发明专利技术提升多核中各处理器之间的通倩效率、提高整个多核的性能。
【技术实现步骤摘要】
本专利技术涉及计算机领域,具体涉及多核处理器系统、多核高速缓存一致性方法和设备。
技术介绍
在多核处理器系统中,集成有两个或者两个以上的微处理器。对称多核指的是系统中每个处理器地位平等,并且访问主存储器的时延是一致的,即有相同的访问时延,具有对称性。多核处理器能使得系统同时处理的指令总量增加,从而使整个计算机系统或者其他处理器系统的性能提升。同样性能下,多核处理器比单核处理器有设计简单、功耗低等优点,因此多核处理器成为了处理器市场的趋势。然而多核处理器系统绝非仅仅将多个处理器并行互连,例如它需要将任务或程 序分配,从而使它们能在多处理器上并行执行;它还要求存储器系统有一致性等。存储器系统的一致性是指系统中任何一个读操作读到的都是最新的数据,即读到的数据是系统中最后一个写操作的数据,具体体现为1) ;2) ;3)。为了使得存储器系统满足一致性要求,系统需要对来自所有处理器的写操作进行串行化。存储器系统的一致性问题由于多处理器带入的多个一级高速缓存而引起,因为每一个处理器的一级高速缓存是私有的,它里面的内容不被其他处理器所知晓,所以各个处理器的私有高速缓存中对同一个存储器地址的缓存数据有潜在的不一致性。高速缓存的私有性导致存储器系统可能出现不一致,因此,通过维护高速缓存的一致性可以维护存储器系统的一致性。高速缓存的一致性的维护需要让各个处理器的读写操作结果被其他的处理器所知晓,因为处理器的读写操作结果可能是保存在其私有的高速缓存中,所以处理器高速缓存中的状态和标志需要被各个处理器所知晓。在非多核处理器中,高速缓存中保存着数据副本以及数据副本的状态和标志;数据副本是高速缓存中暂存的主存储器(主存)中数据的副本,状态和标志是当前数据副本的信息标记;高速缓存中的数据副本,状态和标志供当前处理器查询和更新。而在多核处理器系统中,因为要维护多个高速缓存之间的一致性,所以当前处理器高速缓存的信息标记需要被其他处理器所知晓;为了避免处理器的私有高速缓存同时被当前处理器和其他处理器同时被查询和/或更新的冲突,通常复制一份标志,称作标志副本,而原有的标志称为标志原本;标志副本仅供其他处理器查询,让其他处理器知道当前处理器的状态,进而可以维护高速缓存的一致性。高速缓存所有的标志副本组成标志副本阵列(以下没有特别说明是单个标志副本的“标志副本”都指的是“标志副本阵列”),其中还包含了对应的状态信息。主动处理器发出的读写操作会请求查询标志副本,经过分析查询的结果以及读写操作类型,相应的侦听操作需要被发送给各个被动处理器;主动处理器是发出当前读写操作的处理器,被动处理器是非当前读写操作发起者的处理器。由于每个标志副本要接收从其他所有处理器读写操作的查询和更新请求,它大都比标志原本被查询和更新的更加频繁,因此标志副本处理查询和更新请求的速度直接影响多核通信的效率。当前嵌入式多核处理器系统中,大多标志副本都按照标志原本的方式进行组织,采用单端口、单一分块的存储阵列,这使得标志副本在每个时钟周期只能处理一个查询或更新。另外,在当前流行的嵌入式多核系统大都采用基于总线的侦听式架构。一般标志副本分布在各个处理器中,这使得读写操作在查询标志副本之后发出的侦听请求难以过滤,即每个读写操作都要对所有被动处理器发出侦听请求。
技术实现思路
为了克服现有的多核处理器系统的通信效率较低、性能受限的不足,本专利技术提供一种提升多核中各处理器之间的通信效率、提高整个多核的性能的对称多核的高效一致性侦听过滤装置。 为了解决上述技术问题采用的技术方案为一种对称多核的高效一致性侦听过滤装置,其特征在于所述高效一致性侦听过滤装置包括集中式的多个处理器核一级高速缓存的标志副本阵列组合,所述标志副本阵列组合包含所有处理器的标志副本阵列,一个处理器对应一个标志副本阵列;各个处理器的标志副本阵列划分区块,即任一处理器的标志副本阵列分成两个或两个以上的块,每个块使用独立的控制信号和数据信号,不同的块允许同时被访问;任一处理器的标志副本阵列可供其他处理器的读写操作访问,对不同处理器的标志副本阵列使用独立的控制信号和数据信号,不同的标志副本阵列允许同时被访问;读写请求仲裁器,用于接收和仲裁从各个处理器发出的一致性读写操作请求,并且向标志副本阵列发起查询请求;分析单元,用于分析标志副本的查询结果,产生相应的命令,并且将命令发送给命令队列;命令队列,用于暂存未完成的命令,并且按照命令向标志副本发送更新请求,向处理器发送侦听请求。进一步,所述标志副本阵列的查询请求和更新请求允许同时被接受;若查询请求和更新请求的对象是不同的处理器标志副本,该查询请求和更新请求同时被执行;若查询请求和更新请求的对象是同一个处理器标志副本的不同区块,该查询请求和更新请求也同时被执行。再进一步,所述读写请求仲裁器中,对从各个处理器发出的一致性读写操作进行仲裁,同时仲裁的读写操作请求最大个数为处理器的总个数;采用令牌传递方式对各个处理器的读写操作请求进行仲裁,得到令牌的处理器的读写操作请求被接收,没有得到令牌的处理器的读写操作请求不被接收;对于所有处理器,每一时刻有且只有一个处理器得到令牌;经过仲裁器仲裁之后的读写操作向标志副本阵列发起查询请求。更进一步,所述的一致性读写操作包括各个处理器发出的所有影响高速缓存一致性的读写操作;所述影响高速缓存一致性的读写操作包括 共享态写命中处理器发出的写操作;在其一级高速缓存中含有该写操作的目标地址的有效数据副本,即写命中;并且,其他处理器的一级高速缓存中也包含该读写操作的目标地址的有效数据副本,即处于共享态; 写缺失处理器发出的写操作;在其一级高速缓存中不含有该写操作的目标地址的有效数据副本,即写缺失; 读缺失处理器发出的读操作;在其一级高速缓存中不含有该写操作的目标地址的有效数据副本,即读缺失。各个处理器中一致性读写操作的目标地址的数据副本是从主存中读取的数据,保存于处理器的一级高速缓存中,所述数据副本有四种状态I)无效态数据副本在当前处理器的一级高速缓存中无效或者不存在;2)共享态数据副本在当前处理器的一级高速缓存中存在且有效,并且数据副本 在其他一个或者一个以上处理器的一级高速缓存中也存在且有效;3)独占干净态数据副本在当前处理器的一级高速缓存中存在且有效,并且该数据副本和主存中的数据一样,并且该数据副本在其他任何处理器的一级高速缓存不存在或者无效;4)独占修改态数据副本在当前处理器的一级高速缓存中存在且有效,并且该数据副本比主存中的数据副本更新,即被修改过,并且该数据副本在其他任何处理器的一级高速缓存不存在或者无效。当前查询请求只发给被动处理器的标志副本阵列;其中,当前发起读写操作请求处理器是主动处理器,其他的处理器是被动处理器,每次读写操作的主动处理器有且只有一个并且是当前读写操作的发起者。所述分析单元中,接收读写操作请求对标志副本阵列查询后的结果,按照读写请求类型和查询结果进行分析;分析得到的命令包含所有标志副本的更新请求信息,还包含向各个被动处理器发送的侦听请求信息。所述侦听请求既适用于写分配的一级高速缓存一致性维护,也适用于写不分配的一级高速缓存一致性维护;有三种侦听请求,它们是 I)使无效该侦听请求要求被动处理器将被动处理器自身一级高速缓存中的数据本文档来自技高网...
【技术保护点】
一种对称多核的高效一致性侦听过滤装置,其特征在于:所述高效一致性侦听过滤装置包括:集中式的多个处理器核一级高速缓存的标志副本阵列组合,所述标志副本阵列组合包含所有处理器的标志副本阵列,一个处理器对应一个标志副本阵列;各个处理器的标志副本阵列划分区块,即任一处理器的标志副本阵列分成两个或两个以上的块,每个块使用独立的控制信号和数据信号,不同的块允许同时被访问;任一处理器的标志副本阵列可供其他处理器的读写操作访问,对不同处理器的标志副本阵列使用独立的控制信号和数据信号,不同的标志副本阵列允许同时被访问;读写请求仲裁器,用于接收和仲裁从各个处理器发出的一致性读写操作请求,并且向标志副本阵列发起查询请求;分析单元,用于分析标志副本的查询结果,产生相应的命令,并且将命令发送给命令队列;命令队列,用于暂存未完成的命令,并且按照命令向标志副本发送更新请求,向处理器发送侦听请求。
【技术特征摘要】
【专利技术属性】
技术研发人员:葛海通,张晓旭,黄凯,严晓浪,
申请(专利权)人:杭州中天微系统有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。