[发明专利]用于处理具有高速缓存旁路的修饰指令的数据处理器有效
申请号: | 201110293438.X | 申请日: | 2011-09-21 |
公开(公告)号: | CN102566970A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 威廉·C·莫耶 | 申请(专利权)人: | 飞思卡尔半导体公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 李宝泉;周亚荣 |
地址: | 美国得*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 处理 具有 高速缓存 旁路 修饰 指令 数据 处理器 | ||
技术领域
本公开总体上涉及数据处理系统,并且更具体地涉及处理具有高速缓存旁路的修饰指令。
背景技术
在实现网络的多处理器或多核心数据处理系统中,使用多个计数器来维持统计所需的多种功能,例如递增、递减和读-修改-写操作。因为多个核心可尝试同时更新相同的计数器,所以产生网络延迟并消耗大量资源。单一通信链路可以生成对高达每秒两百万计数器更新的需要,其中每一次更新都修改上一数据值。通常需要执行原子更新(即不可中断的连续更新)的机制。诸如使用软件信号机(semaphore)或软件锁的常规原子更新机制可能引起系统延迟。为了减小系统延迟,可使用统计加速器。然而,在单一处理中,通常足够的信息不能被发送至统计加速器以描述原子操作。
因为在处理器中的计数器位尺寸可大于寄存器的尺寸,所以锁变量在多存储器存取更新计数器的分部时已经也用于限制对计数器的存取。当核心需要取得计数器的所有权以用于原子更新时,对于每个锁变量来说,可通过大量数据处理循环。处理器必须使用处理循环来获得锁变量,如果锁变量已经被另一处理器占用,则等待锁变量被释放,执行计数器更新并释放锁变量。因此,降低系统速度和性能。
附图说明
通过示例来图示本发明且其并不由附图限制,其中相同的附图标记指示类似元件。附图的元件为了简化和清楚而被图示,并且不一定按比例绘制。
图1以框图形式图示了根据本发明一个实施例的数据处理系统;
图2以框图形式图示了根据本发明一个实施例的图1的数据处理系统的示例性处理器;
图3以框图形式图示了根据本发明一个实施例的图示处理器和智能存储器的图1的数据处理系统的一部分;
图4以图表形式图示了根据本发明一个实施例的用于实现修饰指令的数据处理指令;
图5以框图形式图示了根据本发明一个实施例的图2的处理器的示例性高速缓存;
图6以流程图形式图示了根据本发明一个实施例的处理修饰指令的示例性方法;以及
图7以图表形式图示了根据本发明一个实施例的图3的智能存储器的示例性部分。
具体实施方式
本文描述了一种用于操作数据处理系统的方法,该数据处理系统具有处理器和存储器设备,该存储器设备是来自处理器的信息的目标或接收者。处理器和存储器设备经由系统互连而耦合用以操作。处理器执行或处理修饰指令。作为执行修饰指令的一部分指令,处理器确定与指令有关的指令操作以及地址。修饰值还基于修饰指令由处理器来确定。修饰值或修饰是提供至存储器设备以执行修饰操作的信息。修饰值从处理器的通用寄存器中的存储提供并与物理地址一起被传送至存储器设备,该物理地址指示由修饰指令执行产生的目标位置。修饰值是至存储器设备的命令,以执行除了所执行的修饰指令的主要功能之外的功能。例如,所执行的修饰指令可以是修饰加载或修饰存储,该修饰存储指示存储器设备的目标位置,并且修饰值可以是以某种方式修改在目标位置中存储的值的命令。例如,其可以是递增或递减目标位置的命令或可以是将目标位置数据与另一操作数相乘的命令。对于修饰加载和存储来说,目标地址(即物理地址)和修饰值都提供至存储器设备。在修饰存储指令的情况下,也可以将或不将数据值从处理器提供至存储器设备。在修饰加载指令的情况下,数据值从存储器设备返回处理器,其中数据值可以是在执行由修饰值指示的修改之前或之后在目标地址处存储的数据值。应当理解,任何不同的附加或替换处理功能都能响应于修饰值由目标设备来实现。修饰值通常不由处理器解释而是由存储器设备解释。以这种方式,处理器无需具有由修饰值执行的功能的任何知识。
在一个实施例中,修饰存取指令可利用高速缓存旁路来执行修饰存取(例如加载或存储)。在这种情况下,由于修饰值是导致由存储器设备对存储器设备中的目标位置的修改的命令,所以用于修饰存取的对高速缓存的更新可能导致在高速缓存中存储不准确的信息。因此,在一个实施例中,一旦确定指令是具有高速缓存旁路的修饰指令,则不分配新的高速缓存入口,无论高速缓存分配策略指示什么。也就是,即使修饰存取指令的存取地址导致高速缓存缺失,且高速缓存分配策略指示高速缓存分配应当响应于高速缓存缺失来执行,但不对于具有高速缓存旁路的修饰存取指令执行分配。此外,如果修饰存取指令的存取地址导致高速缓存命中,则在存储器设备完成由修饰值指示的功能之前,导致命中的高速缓存入口被刷新并失效。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞思卡尔半导体公司,未经飞思卡尔半导体公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110293438.X/2.html,转载请声明来源钻瓜专利网。