高速缓存控制装置以及控制方法制造方法及图纸

技术编号:5519017 阅读:207 留言:0更新日期:2012-04-11 18:40
为了控制对多个线程共享的高速缓存的访问请求,构成为具备存储与各线程对应设置的标记的存储单元,在线程进入原子指令的执行的情况下,在存储单元存储的标记中写入规定的值,并且在该原子指令结束的情况下写入与该值不同的规定的值,由此表示线程是否正在执行原子指令。并且,在从某个线程发出访问请求的情况下,通过参照存储单元的标记值,判断与该线程不同的其他线程是否正在执行原子指令,在判断为其他线程正在执行原子指令的情况下,使访问请求待机。据此,能够通过简单的结构实现在处理原子指令时需要的互斥控制处理。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及SMT ( Simultaneous Multi Thread,同步多线程)方式 的处理器使用的高速緩存控制装置以及控制方法,特别地,涉及在SMT 方式的处理器中通过简单的结构来实现处理CAS( Compare And Swap, 比较并交换)指令等原子指令时需要的互斥控制处理的高速緩存控制装 置以及控制方法。SMT方式的处理器是同时执行多个线程的处理器。在该SMT方式 的处理器中,多个线程共享高速緩存,因此需要构造与单线程方式的处 理器中使用的高速緩存控制不同结构的高速緩存控制。
技术介绍
图17中图示单线程方式的处理器中使用的高速緩存控制的结构。在此,图中所示的1000是指令控制部,2000是高速緩存控制部, 2001是高速緩存RAM, 2002是读取端口 (Fetch Port), 2003是存储 端口 (Store Port), 2004是与读取端口 2002对应而设置的选择电路, 2005是与存储端口 2003对应而设置的选择电路,2006是与读取端口 2002对应而设置的检查电路,2007是与存储端口 2003对应而设置的检 查电路,2008是与读取端口 2002以及存储端口 2003对应而设置的检查 电路,2009是用于输出请求的检查电路,2010是逻辑与电路,2011是 优先控制电路。如图17所示,来自指令控制部1000的存储器访问请求暂时被保持 在位于高速緩存控制部2000的具有多个项(entry)的读取端口 2002 中。对读取端口 2002的各项按照指令顺序分配访问请求,但是,在以 乱序处理存储器访问的处理器中,以不同顺序方式读出并进行高速緩存 访问处理,高速緩存访问处理结束后,该读取端口 2002的项被释放。6在有效的读取端口 2002的项中,最旧的项由未图示的控制电路生 成的FP-TOQ ( Fetch-Port-Top-Of-Queue,读取端口队列头)指示。此外,在来自指令控制部1000的存储器访问请求是存储请求的情 况下,该请求在保持在读取端口 2002中的同时,还保持在存储端口 2003 中。在处理存储请求时,如果在地址转换处理或访问请求的顺序性保证 等方面没有问题,则在该时刻释放读取端口 2002的项,随后存储端口 2003管理对高速緩存RAM 2001的存储处理,存储处理结束后,该存 储端口 2003的项被释放。在有效的存储端口 2003的项中,最旧的项由未图示的控制电路生 成的SP-TOQ ( Store-Port-Top-Of-Queue,存储端口队列头)指示。作为来自指令控制部1000的存储器访问请求的一个,有基于CAS 指令等的原子性加载/存储请求(以下称作读取与存储请求)。在该读取与存储请求的从执行加载到存储为止的期间内,必须禁止 由其他指令进行的该数据的参照和更新。因此,在读取与存储请求访问数据A时,需要设置如下条件(a-l)读取与存储请求的处理被禁止,直到在该处理之前的访问数 据A的请求的处理全部结束为止;(a-2 )在读取与存储请求后面访问数据A的请求的处理被禁止,直 到读取与存储请求的处理结束为止;(b )在读取与存储请求的处理从开始到结束的期间内,禁止从高速 緩存RAM 2001输出数据A,由此,利用条件U-1)、 (a-2)保证对读取与存储对象数据的处理器 内的互斥控制,利用条件(b)保证多处理器结构中的处理器之间的互 斥控制。因此,使用检查电路2006、 2007,如图18以及图19的流程图所示 那样,如果保持读取与存储请求的读取端口 2002和存储端口 2003的项是FP-TOQ和SP-TOQ,则允许开始该读取与存储请求的处理,由此保 证条件(a-l )。在此,在图18的流程图中,假设通过选择电路2004、 2005的选择 处理,处理在读取端口 2002的FP#m的项(第m个项)以及存储端口 2003 的 SP#n 的项(第 n 个项)中保持的访问请求 (request#m=request#n )。接着,使用检查电路2008,如图18以及图20的流程图所示那样, 在从FP-TOQ的项到保持该访问请求的读取端口 2002的项之间存在读 取与存储请求的项的情况下禁止开始读取与存储请求以外的访问请求 的处理,在虽然不存在这种项、但是与存储端口 2003中保持的在先的 存储请求的对象数据一致的情况下进行禁止开始读取与存储请求以外 的访问请求的处理,由此保证条件(a-2)。并且,4吏用检查电路2009,如图21的流程图所示那样,在SP-TOQ 的项是读取与存储请求的情况下,禁止开始从高速緩存RAM 2001输出 数据的处理,由此保证条件(b)。按照这种结构,在单线程方式的处理器中,实现在读取与存储指令 的执行中要求的互斥控制处理。另一方面,在SMT方式的处理器中需要进行线程间的互斥控制, 因此不能原样利用以此方式构成的单线程方式的处理器中使用的高速 緩存控制。但是实际情况是,迄今为止还没有公开在安装SMT方式的处理器 的情况下,通过怎样的结构来实现在读取与存储指令的执行中要求的互 斥控制处理。因此,作为制造商,在安装SMT方式的处理器的情况下,需要构 造实现在处理CAS指令等读取与存储指令时需要的互斥控制处理的新 的结构的高速緩存控制技术。在此,作为与本专利技术有关的技术,下述专利文献l中记载了在SMT 方式的处理器中,实现保证线程间共享的数据的读出以及写入的执行顺序的一致性的专利技术。专利文献1: WO2004/068361号公报
技术实现思路
如前所述,在SMT方式的处理器中,需要线程间的互斥控制,因 此不能原样利用以此方式构成的单线程方式的处理器中使用的高速緩 存控制。但是实际情况是,迄今为止还没有公开在安装SMT方式的处理器 的情况下,通过怎样的结构来实现在读取与存储指令的执行中要求的互 斥控制处理。因此,作为制造商,在安装SMT方式的处理器的情况下,需要构 造实现在处理CAS指令等读取与存储指令时需要的互斥控制处理的新 的结构的高速緩存控制技术。本专利技术是鉴于上述情况而完成的,其目的是提供一种新的高速緩存 控制技术,在SMT方式的处理器中,该技术能够通过简单的结构实现 处理CAS指令(Compare And Swap,比较并交换指令)等不可分地执 行多个处理的原子指令时需要的互斥控制处理。i]第一结构为了实现上述目的,本专利技术的高速緩存控制装置为了控制对同时执 行的多个线程共享的高速緩存的访问请求,以包括如下单元的方式构 成(l)存储单元,存储与各线程对应设置的、在该线程进入原子指令 (例如,原子加载存储指令等原子指令)的执行的情况下表示规定的值、 在该原子指令结束的情况下表示与该值不同的规定的值的标记;(2)判 断单元,在从某个线程发出访问请求的情况下,通过参照存储单元存储 的标记值,来判断与该线程不同的其他线程是否正在执行原子指令;(3) 执行单元,在判断单元判断为其他线程正在执行原子指令的情况下,执 行使访问请求待机的处理;U)指示单元,在存在从高速緩存输出数据 的请求的情况下,通过参照存储单元存储的标记值,判断全部线程是否 都不在执行原子指令,在判断为全部线程都不在执行该指令的情况下,9指示执行从高本文档来自技高网
...

【技术保护点】
一种高速缓存控制装置,其特征在于,控制对同时执行的多个线程共享的高速缓存的访问请求,包括:    存储单元,存储与各线程对应设置的、在该线程进入不可分地执行多个处理的原子指令的执行的情况下表示第一规定值、在该原子指令结束的情况下表示与所述第一规定值不同的第二规定值的标记;    判断单元,在从某个线程发出访问请求的情况下,通过参照所述存储单元存储的标记值,判断与发出了访问请求的线程不同的其他线程是否正在执行原子指令;以及    执行单元,在所述判断单元判断为所述其他线程正在执行原子指令的情况下,执行使所述发出的访问请求待机的处理。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:清田直宏
申请(专利权)人:富士通株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1