本发明专利技术属于计算机体系结构设计技术领域,具体为一种基于MSI协议的双核Cache一致性系统电路结构。本发明专利技术采用MSI协议来实现双核Cache系统的数据一致性。针对嵌入式以及一些低功耗应用场合,本发明专利技术提出了一种低开销的电路结构。其主要由数据表、标记表、状态表、Cache控制器、总线侦听控制器、Cache侦听仲裁器以及总线接口构成。本发明专利技术可以以较小的开销来实现对双核Cache数据一致性的维护,非常适合于需要多核实现但对面积和功耗要求较高的场合。
【技术实现步骤摘要】
一种基于MSI协议的双核Cache一致性系统电路结构
本专利技术属于计算机体系结构设计领域,具体为一种基于MSI协议的双核Cache一致性系统电路结构。本专利技术面向嵌入式等对功耗和面积有较高要求的多核应用系统。
技术介绍
随着单核处理器技术的不断发展,目前通过提高频率已经很难实现理想的性能提升。于此同时,还是带来了较大的功耗开销,使得供电和散热也成为了提升系统的瓶颈。多核处理器,通过在片上集成多个处理器核心来提高处理器的计算能力。可以再较低的频率下实现较高的性能,而且可以通过对处理器数量的扩展来实现性能的提高,并且可以避免较大的功耗开销。然而,多核处理器也存在着一些问题。其中比较重要的问题是如何维护各个处理器自己私有的Cache之间的数据一致性的问题。目前商业的处理器都采用了相应的Cache一致性协议来实现数据一致性的维护,然而对于商业的处理器,由于其偏重于考虑通用场合,所以Cache的设计会比较复杂,尤其是Cache一致性维护电路的设计。对于一些嵌入式场合,尤其是一些对功耗和芯片面积要求较高的多核应用场合,如果设计一个可以有效维护数据一致性的低开小Cache系统成为了必须的设计。本专利技术从上述一些专用的应用场景出发,设计出了一种低开销的基于MSI协议的双核Cache一致性系统电路结构来解决一些应用场合的需求和面临的挑战。
技术实现思路
本专利技术是一种低开销的基于MSI协议的双核Cache一致性系统电路结构。主要
技术实现思路
为Cache整体的电路结构,以及其中的Cache控制器和总线侦听控制器的设计。本专利技术提供的一种基于MSI协议的双核Cache一致性系统电路结构,包括两处理器、两Cache和一主存;所述两Cache分别和两处理器相连;所述两Cache通过总线和主存相连;其中:所述Cache由数据表、标记表、状态表、Cache控制器,Cache侦听仲裁、总线侦听控制器及总线接口组成;所述处理器发出的写数据信号输入给数据表的写端口用于实现对数据表中数据存储单元的写操作;处理器发出的访存地址信号分别输入给数据表、标记表和状态表,用于对Cache行中存储的数据、标记段和状态进行索引,并把索引出的结果输出给Cache控制器;Cache控制器将索引出的标记段与处理器发出的访存地址信号中的标记段进行比较,产生Cache命中信号,并输出给处理器;Cache控制器与Cache的总线侦听控制器通过请求信号与应答信号进行连接,同时与另外一个Cache中的总线侦听控制器连接实现侦听操作;Cache控制器和总线侦听控制器分别与数据表、标记表和状态表连接实现Cache内容匹配和进行Cache行状态的更新操作;Cache控制器和总线侦听控制器与总线接口通过读写地址与数据信号连接实现总线的访问,进而实现主存的访问;Cache侦听仲裁器分别和Cache控制器、总线侦听控制器相连。本专利技术中,所述Cache还包括一状态机;其用于实现Cache控制器产生的未命中处理;该状态机由七个状态构成,分别为空闲状态、发起请求状态、写回状态、广播状态、总线读状态、更新Cache状态和命中状态;系统复位后Cache控制器进入空闲状态;当处理器发出访存操作且未命中的情况下进入发起请求状态,在该状态下向Cache侦听仲裁器发起Cache控制权限请求信号;Cache侦听仲裁器给出授权信号后,状态会由发起请求状态进入写回状态或者广播状态;如果需要访存的Cache行的状态为修改状态且标记不匹配,则进入写回状态;对于其他情况则进入广播状态;在写回状态中发起总线写操作将将要被替换掉的Cache行写回到主存中;写回状态收到总线的写应答信号后进入广播状态;在广播状态中将该Cache的读写操作类型和读写地址广播给另外一个Cache的总线侦听控制器;广播状态收到另外一个Cache的总线侦听控制器的应答后进入总线读或者Cache更新状态;如果处理器发出的是读操作则进入总线读状态来获得需要读的数据;如果处理器发出的是写操作则进行更新Cache状态;在更新Cache状态中完成对Cache行内容的更新;完成更新操作后进入命中状态来产生处理器的命中信号;然后直接进入空闲状态来等待下一次Cache不命中事件。本专利技术中,所述Cache还包括一状态机,用于总线侦听控制器对于侦听事件的处理。该状态机由五个状态构成,分别为空闲状态、发起请求状态、更新Cache状态、写回状态和应答状态;系统复位后总线侦听控制器进入空闲状态;当另外Cache中的Cache控制器发出侦听请求操作后进入发起请求状态来获取对Cache行操作的授权;获得Cache侦听仲裁器的授权后进入更新Cache状态或者应答状态;如果侦听标记发生匹配,则进入更新Cache状态;如果侦听标记不匹配,则进入应答状态;在更新Cache状态中,实现对Cache行MSI状态的更新;如果该Cache行的状态为非修改状态则进入应答状态;如果该Cache行的状态为修改状态则进入写回状态;在写回状态中通过访问总线来将Cache行中的内容写回到主存;当接收到总线的写应答信号后由写回状态跳转到应答状态;应答状态用于完成对另外一个Cache的Cache控制器发出应答信号;随后直接进行空闲状态来等待下一次总线侦听事件。本专利技术的有益效果在于:其电路结构低开销,非常适合于需要多核实现但对面积和功耗要求较高的场合。附图说明图1是双核Cache一致性系统电路结构图。图2是MSI协议的状态转换图。图3是Cache控制器状态机的状态转换图。图4是总线侦听控制器状态机的状态转换图。具体实施方式本专利技术是一种低开销的基于MSI协议的双核Cache一致性系统电路结构。主要
技术实现思路
为Cache整体的电路结构,以及其中的Cache控制器和总线侦听控制器的设计。下面将结合附图进行说明。MSI协议是用于实现Cache一致性的较为简单的协议,通过三个状态(修改状态、共享状态和无效状态)来标记数据的状态。其状态转换如图2所示。其中当Cache行处于修改状态时,本地处理器能进行随意读写,而其他处理器进行访问时,该状态需要转换为共享状态或者无效状态,并把修改后的数据写回到主存中,从而使得在相同的Cache行只有一个处理器具有修改的状态,其他处理器为无效状态。而共享状态可以同时存在于不同的Cache的相应行中,这是由于对于共享状态,处理器仅具有读权限,所以不会带来数据一致性的问题。本专利技术所提出的基于MSI协议的双核Cache一致性系统电路结构如图1所示,其主要由数据表(DATA)、标记表(TAG)、状态表(STATE)、Cache控制器、总线侦听控制器、Cache侦听仲裁和总线接口构成。Cache与处理器和主存的连接关系如下:处理器输入给Cache的信号有处理器访存有效信号、处理器读写操作信号、处理器访存地址和处理器写数据信号;Cache返回给处理器的信号有Cache命中信号、读数据信号;Cache通过总线接口连接在总线上,来实现对主存的访问;Cache内部的连接关系如下:处理器发出的写数据信号输入给数据表的写端口用于实现对Cache数据表中数据存储单元的写操作;处理器发出的访存地址信号输入给数据表、标记表和状态表来对Cache行中存储的数据、标记段和状态进行索引,并把索引出的结果输入给Cache控制本文档来自技高网...
【技术保护点】
一种基于MSI协议的双核Cache一致性系统电路结构,其特征在于:其包括两处理器、两Cache和一主存;所述两Cache分别和两处理器相连;所述两Cache通过总线和主存相连;其中:所述Cache由数据表、标记表、状态表、Cache控制器,Cache侦听仲裁、总线侦听控制器及总线接口组成; 所述处理器发出的写数据信号输入给数据表的写端口用于实现对数据表中数据存储单元的写操作;处理器发出的访存地址信号分别输入给数据表、标记表和状态表,用于对Cache行中存储的数据、标记段和状态进行索引,并把索引出的结果输出给Cache控制器;Cache控制器将索引出的标记段与处理器发出的访存地址信号中的标记段进行比较,产生Cache命中信号,并输出给处理器; Cache控制器与Cache的总线侦听控制器通过请求信号与应答信号进行连接,同时与另外一个Cache中的总线侦听控制器连接实现侦听操作;Cache控制器和总线侦听控制器分别与数据表、标记表和状态表连接实现Cache内容匹配和进行Cache行状态的更新操作;Cache控制器和总线侦听控制器与总线接口通过读写地址与数据信号连接实现总线的访问,进而实现主存的访问;Cache侦听仲裁器分别和Cache控制器、总线侦听控制器相连。...
【技术特征摘要】
1.一种基于MSI协议的双核Cache一致性系统电路结构,其特征在于:其包括两处理器、两Cache和一主存;所述两Cache分别和两处理器相连;所述两Cache通过总线和主存相连;其中:所述Cache由数据表、标记表、状态表、Cache控制器,Cache侦听仲裁、总线侦听控制器及总线接口组成;所述处理器发出的写数据信号输入给数据表的写端口用于实现对数据表中数据存储单元的写操作;处理器发出的访存地址信号分别输入给数据表、标记表和状态表,用于对Cache行中存储的数据、标记段和状态进行索引,并把索引出的结果输出给Cache控制器;Cache控制器将索引出的标记段与处理器发出的访存地址信号中的标记段进行比较,产生Cache命中信号,并输出给处理器;Cache控制器与Cache的总线侦听控制器通过请求信号与应答信号进行连接,同时与另外一个Cache中的总线侦听控制器连接实现侦听操作;Cache控制器和总线侦听控制器分别与数据表、标记表和状态表连接实现Cache内容匹配和进行Cache行状态的更新操作;Cache控制器和总线侦听控制器与总线接口通过读写地址与数据信号连接实现总线的访问,进而实现主存的访问;Cache侦听仲裁器分别和Cache控制器、总线侦听控制器相连;其中:所述Cache还包括一状态机;其用于实现Cache控制器产生的未命中处理;该状态机由七个状态构成,分别为空闲状态、发起请求状态、写回状态、广播状态、总线读状态、更新Cache状态和命中状态;系统复位后Cache控制器进入空闲状态;当处理器发出访存操作且未命中的情况下进入发起请求状态,在发起请求状态下向Cache侦听仲裁器发起Cache控制权限请求信号;Cache侦听仲裁器给出授权信号后,状态会由发起请求状态进入写回状态或者广播状态;如果需要访...
【专利技术属性】
技术研发人员:韩军,窦仁峰,曾凌云,曾晓洋,
申请(专利权)人:复旦大学,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。