用于分解操作的高速缓存和体系结构特定功能分层的方法技术

技术编号:2889040 阅读:175 留言:0更新日期:2012-04-11 18:40
在高速缓存控制器内的高速缓存和体系结构特定功能被分层,以允许复杂操作被分解成等效的简单操作。这样,基本操作的体系结构变体被转换成独立的高速缓存和体系结构操作,并被分别处理。这样支持复杂操作的逻辑可以被简化并且运行得更快。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术总体上涉及数据处理系统中的高速缓存控制器,并且尤其涉及对高速缓存和体系结构特定功能进行分层的高速缓存控制器。更进一步,本专利技术涉及,在高速缓存控制器内,对高速缓存和体系结构特定功能进行分层,以便于允许复杂操作分解为高速缓存和体系结构的操作。使用二级(L2)高速缓存的数据处理系统典型地包括用于管理影响高速缓存事物处理的高速缓存控制器。这样的高速缓存控制器通常在功能级上实现,如图4所示。比如,高速缓存控制器402可以包括维护高速缓存目录的逻辑404、实现最近最少使用(LRU)替换原则的逻辑406、管理重载缓冲区408的逻辑、以及管理存回缓冲区410的逻辑。在传统的实现中,高速缓存对这些和其它体系结构功能,即高速缓存控制器所需的典型功能,总体上说是相当可见的。因此,高速缓存控制器设计对专门的处理器,如PowerPCTM、AlphaTM或X86族系列处理器是特定的。图4中所描述的基本高速缓存控制器设计支持的操作既可以是简单的也可以是复杂的。简单的操作传递单个信息片段,而复杂的操作包含不止一个清晰的信息片段。如比较由PowerPCTM支持的READ和READ原子操作。READ操作表示应读的一个给定的内存位置。READ原子操作表示应读的一个特定内存位置,以及如果层次中的任何其它设备改变内存位置中的数据,通知启动此操作的处理器。READ原子操作用于同步。对于给定体系结构支持的扩展复杂操作不能被分解,支持那个操作的控制器逻辑必须保持相互依赖,复杂操作的逻辑经常是一个支持多种特殊操作事例、处于复杂状态的机器。这样的逻辑是复杂的,需要重要的硅区来实现,并且难以同其它支持其它操作的逻辑互锁。因此,能够分解复杂操作,以使得支持操作的逻辑简单化是所期望的。更为期望的是分解复杂的操作,通过实施更快的执行操作的逻辑,来加快它们的执行速度。因此,本专利技术的一个目的在于为数据处理系统提供一个改进的高速缓存控制器。本专利技术的另一个目的在于提供一个改进的高速缓存控制器,其具有分层的高速缓存和体系结构特定功能。本专利技术还有一个目的在于在高速缓存控制器内使高速缓存和体系结构分层,以允许复杂操作被分解成高速缓存和体系结构的操作。如现在所描述的,上述目的已经实现。在高速缓存控制器内,高速缓存和体系结构的特定功能分层,以允许复杂操作被分解成等效的简单操作。这样,基本操作的体系结构变量可移交给不同的高速缓存和体系结构操作,并单独处理。支持复杂操作的逻辑因此可被简单化并且运行得更快。通过下列详细的书面描述,本专利技术上述的和其它的目的、特色和优势将显而易见。被认为能代表本专利技术的特征新特性在附加的权利要求书中列出。然而,专利技术本身、最佳使用模式以及进一步的目的和优点,通过参考下面对示范性实施例的详细描述,并连同附图,将可以很好地理解。其中附图说明图1描述了根据本专利技术的最佳实施例,用高速缓存控制器设计来实现的数据处理系统;图2是根据本专利技术的最佳实施例的、高速缓存控制器设计的框图;图3描述了根据本专利技术的最佳实施例的分解操作过程的高级流程图;以及图4是现有技术下的高速缓存控制器的设计。现在参考附图,并且尤其参考图1,描述一个根据本专利技术最佳实施例的、利用高速缓存控制器设计实现的数据处理系统。数据处理系统100可以包括仅仅一个处理器或包括几个处理器的对称多处理机(SMP)系统。在所描述的例子中表示了单个处理器系统。处理器102可以是超标量精简指令集(RISC)处理器,在处理器内,包括分解的一级指令以及数据高速缓存104和106。PowerTM处理器可用作处理器102。处理器102连接到二级(L2)高速缓存108上,此为非共享高速缓存。第二个处理器(未画出)可以加入到此系统,其可以拥有单独的L2高速缓存或者与处理器102共享L2高速缓存108。L2高速缓存108与用于数据处理系统100的系统总线110连接。如I/O总线桥114一样,本机内存112也连接到系统总线110上。其它设备,如内存映射图形适配器116也可以连接到系统总线110上。I/O总线桥114还连接到I/O总线118上,此总线可以连接多种其它设备,如局域网(LAN)适配器120和硬盘驱动器122。对此技术一般熟练的人员,可以理解图1中描述的硬件是可以更改的。比如,还可以加入其它外设,如光盘驱动器和类似产品,或用其取代所描述的硬件。所描述的例子并不意味着要对本专利技术体系结构进行仿效。尤其是,数据处理系统可不必如例子中所表示的,仅局限于单处理器,以从本专利技术受益。比如,通过使用各带相应的L2高速缓存的两个处理器,本专利技术可以用来提高数据处理系统的性能。参考图2,描述了根据本专利技术最佳实施例的、非共享高速缓存控制器的设计框图。控制器202在图1中描述的高速缓存108内实现。控制器202包括连接到上层总线206的总线接口单元204,以用于处理器或更高一级高速缓存;以及连接下层总线210的总线接口单元208,此总线可以是系统总线或连接到另一个高速缓存的总线。上层总线206与下层总线210可以不同;比如,上层总线可以是60X,而下层总线可以是另一种总线。高速缓存和控制器202中的体系结构的特定功能被分层。这样,控制器202包括高速缓存控制器212及体系结构控制器214。操作被区别为“高速缓存”或“体系结构”操作。高速缓存控制器212仅处理高速缓存操作,并且只有高速缓存控制器212对高速缓存216操作。体系结构控制器214处理体系结构的操作,并且其操作被高速缓存212看作系统方面的操作。第三单元,非高速缓存控制器218,也包括在高速缓存控制器202中。非高速缓存控制器218实际上是高速缓存控制器212的副本,其也仅仅处理高速缓存操作。然而,高速缓存控制器212处理指向高速缓存内存单元的高速缓存操作,非高速缓存控制器218处理的高速缓存操作指向没有映射到高速缓存216的高速缓存内存单元。由于那些对此技术熟练的人员所了解的原因,把系统内存的一部分当成不可高速缓存的是有利的。比如,这样的内存可以被内存映射器件所使用。高速缓存控制器212对整个高速缓存块操作,而非高速缓存控制器218对较小的内存段操作,往往小于8-16个字节。而且,非高速缓存控制器218不存贮数据,而高速缓存控制器212保存在高速缓存216中处理的数据副本。高速缓存操作是那些典型的操作,即读或写内存单元的数值,并因此可以修改或检索内存单元的数据值。其余操作被定义为体系结构操作。与高速缓存操作不同,体系结构操作通常不改变内存单元的数值。体系结构操作可在高速缓存层次中,把数据移到不同的单元,改变个别内存单元中的数据状态,或执行其它这样的功能。然而,体系结构操作通常不直接改变内存单元的数值。由高速缓存控制器212支持的高速缓存操作,包括了影响系统高速缓存的大多数操作。在由给定处理器支持的完整操作集里,高速缓存操作可以不从被频繁地执行并/或消耗绝大部分处理器周期的一部分指令集中导出。然而,忽略指向处理器内部其它功能单元如浮点、定点、或分支单元的指令,高速缓存操作经常集中使用,并使用大部分时间。影响系统高速缓存的其余操作--那些用于高速缓存管理、操作系统管理、页面管理和同步化,等--被结构体系控制器214分层和支持。事实上,所有的处理器体系结构支持如此的操作,其本文档来自技高网...

【技术保护点】
一种在数据处理系统中处理操作的方法,包括:在总线上,检测一个复杂操作;以及执行至少一种简单操作,其中通过执行所述至少一种简单操作,达到所述复杂操作的期望结果。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:拉维K阿里米利约汉S多德森杰里D路易斯德雷克E威廉
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1