流水线处理器具有在所述流水线的发出级中检测寄存器访问指令的存在的电路。在后续级出现的加载未命中可以导致将所述寄存器访问指令标记有关联的位。所述寄存器访问指令进入所述流水线并且在到达刷新级时,所述处理器检查所述关联的位并刷新所述寄存器访问指令。
【技术实现步骤摘要】
本专利技术一般地涉及流水线处理器体系结构,更具体地说,涉及延迟加载未命中刷新(flush)以及伴随的重新取回和重新执行。
技术介绍
数十年来,微处理器开发人员一直依靠不断增加的晶体管密度和改进的体系结构效率的结合来使现代微处理器获得更高的吞吐量。在已使用的体系结构中包含流水线体系结构,其中各个分离的功能单元通常按次序执行分配的任务。一种通常改进流水线处理器性能的技术是通过从响应的高速缓存成功检索数据来推测性地假设发生存取存储器或加载。因此,在大部分时间内,指令随时准备在存储器传送数据或操作数时执行。遗憾的是,有时目标数据并未驻留在高速缓存中,并且存储单元会向流水线处理器发出“加载未命中”信号。微处理器设计人员已采用多种技术或后备机制来处理假设失败时的情况。一种此类后备机制是在未及时完成的加载指令后重新启动。当同时出现一级和二级高速缓存未命中时,需要超过100个处理器周期来等待通过从片外检索数据来完成加载指令。另一种后备机制提供了昂贵的指令刷新标记机制来重新启动相关的指令。标记机制会占用微处理器芯片上的大量区域。
技术实现思路
本专利技术提供了从流水线刷新寄存器访问指令的方法和装置。流水线处理器具有电路来检测流水线的发出级中寄存器访问指令的存在。处理器在后续的级中检测同一寄存器的加载指令。在检测到同一寄存器的两类指令时,处理器在跟踪寄存器中标记与所述发出级和所述后续级关联的位。处理器可以重复地将指令从流水线中的一个级移动到另一个级。处理器将所述寄存器访问指令传播到另一个级。然后,处理器将所述位传播到另一个级。接着,处理器将所述寄存器访问传播到刷新级。然后,最后的传播将所述位移动所述到刷新级。处理器刷新所述寄存器访问指令。附图说明在所附权利要求中说明了被认为是本专利技术特性的新颖特征。但是,当结合附图阅读时,通过参考以下对示例性实施例的详细说明,可以最佳地理解专利技术本身及其优选使用方式、进一步的目的和优点,这些附图是图1是根据本专利技术的示例性实施例的通用信息处理系统;图2A是根据本专利技术的示例性实施例的逻辑的详细图示;图2B是根据本专利技术的示例性实施例的逻辑的简化图示;图3示出了根据本专利技术的示例性实施例的主要流水线级;图4A是根据本专利技术的示例性实施例的在任意时刻通过流水线级的指令的进度;图4B示出了根据本专利技术的示例性实施例的在出现加载未命中时已离开EX7级的指令的未命中队列;图5A是根据本专利技术的示例性实施例的在任意时刻通过流水线级的指令的进度;图5B示出了根据本专利技术的示例性实施例的在出现加载命中时已离开EX7级的指令的未命中队列;图6A是根据本专利技术的示例性实施例的在任意时刻通过流水线级的指令的进度;图6B示出了根据本专利技术的示例性实施例的在出现加载未命中时已离开跟踪寄存器最低有效位级的指令的未命中队列; 图7A是根据本专利技术的示例性实施例的步骤的流程图;图7B是根据本专利技术的另一个示例性实施例的步骤的流程图;图7C是根据本专利技术的另一个示例性实施例的步骤的流程图。具体实施例方式现在参考图1,图1示出了其中可以实现本专利技术的实施例的信息处理系统的方块图。在所示实例中,信息处理系统100采用集线器体系结构,所述集线器体系结构包括北桥和存储器控制集线器(MCH)108以及南桥和输入/输出(I/O)控制集线器(ICH)110。处理单元102、主存储器104和图形处理器118连接到北桥和存储器控制集线器108。图形处理器118可以通过加速图形端口(AGP)连接到北桥和存储器控制集线器108。在所示实例中,局域网(LAN)适配器112、音频适配器116、键盘和鼠标适配器120、调制解调器122、只读存储器(ROM)124、通用串行总线(USB)端口和其他通信端口132以及PCI/PCIe设备134通过总线138连接到南桥和I/O控制集线器110。PCI/PCIe设备可以包括例如用于笔记本计算机的以太网适配器、插卡以及PC卡。PCI使用卡总线控制器,而PCIe并不使用卡总线控制器。ROM 124可以例如是闪速二进制输入/输出系统(BIOS)。硬盘驱动器126和CD-ROM驱动器130通过总线140连接到南桥和I/O控制器集线器110。硬盘驱动器126和CD-ROM驱动器130可以例如使用电子集成驱动器(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备136可被连接到南桥和I/O控制器集线器110。操作系统在处理器102上运行并协调和控制图1中的信息处理系统100内的各种组件。所述操作系统可以是可从市场上购买的操作系统,如可从MicrosoftTM公司购买的Windows XP。虽然图1中示出了一个采用处理单元102的信息处理系统,但是所述信息处理系统可以采用许多形式。例如,信息处理系统100可以采取桌面服务器、便携式电脑或其他板型计算机或数据处理系统的形式。所述系统还可以采用其他板型,如个人数字助理(PDA)、游戏设备、便携式电话设备、通信设备或包括处理器和存储器的其他设备。在本专利技术的示例性实施例中,处理器(如处理器102)在运行上具有关联的流水线处理器,并且在信息处理系统中,所述处理器可以在运行上允许指令在触发刷新之前完全进入处理器流水线。在所述过程中,示例性实施例无需如现有技术中那样在许多级处使用刷新比较器。此外,示例性实施例能够在加载未命中之后但是在完成任何与加载数据相关的指令之前处理指令。图2A示出了可以在本专利技术的示例性实施例中运行的逻辑部分的细节。逻辑200可以接收三个输入刷新位输入205;加载未命中信号输入207;以及跟踪寄存器最低有效位输入209。刷新位输入205可以来自先前级刷新锁存器。跟踪寄存器最低有效位也称为EX7位,因为该位与EX7级相关联。加载未命中信号输入207和跟踪寄存器最低有效位输入209被提供给逻辑“与”门203,“与”门203提供的输出也是逻辑“或”门201的输入。“与”门输出是逻辑200的中间结果。逻辑“或”门201从刷新位输入205获得第二个输入并将结果逻辑211提供给逻辑200以外的电路。图2B示出了逻辑200的简化版本。在此实例中,图形地示出了逻辑结果211具有指向远离逻辑200的箭头。加载未命中信号输入207和跟踪寄存器最低有效位输入209示为进入简化逻辑图的短边。图3示出了根据本专利技术的示例性实施例的主要流水线级。示例性级399可以包括功能单元级(例如,执行单元级EX1 311),所述功能单元级可以允许处理并具有足以保存中间执行结果的锁存器或其他存储。此外,示例性级399可以包括相应的刷新锁存器341、一个或多个关联位的关联跟踪寄存器361以及控制刷新锁存器341将已存储的位传播到后续级的方式的逻辑372。与示例性级399相比的先前级中的逻辑371可以对先前级的刷新锁存器339执行逻辑“或”以形成置于刷新锁存器341中的逻辑结果。只有与示例性级399相比,先前级的刷新锁存器339或先前的刷新锁存器才是在先的。其他级可以具有其他锁存器,所述锁存器包括先前级刷新锁存器(与那些其他级相比)。相反地,与示例性级399相比的后续级中的刷新锁存器343可以从逻辑372接收输出位。因此,后续级是从当前级的跟踪寄存器接收数据的级。此外,与示例性级399相比,刷新锁存器339是先前的刷新本文档来自技高网...
【技术保护点】
一种用于从具有多个级的流水线功能单元刷新寄存器访问指令的处理器实现的方法,所述方法包括: 在发出级中检测寄存器访问指令; 在后续级中检测所述寄存器的加载; 响应于在所述发出级中检测到所述寄存器访问指令和在所述后续级中检测到所述寄存器的所述加载,将位标记为已标记的位,其中所述已标记的位与所述发出级和所述后续级相关联; 将所述寄存器访问指令从所述发出级传播到第三级; 将所述已标记的位传播到所述第三级; 响应于将所述寄存器访问指令传播到所述第三级,将所述寄存器访问指令传播到刷新级; 响应于将所述已标记的位传播到所述第三级,将所述已标记的位传播到所述刷新级;以及 响应于将所述寄存器访问指令传播到所述刷新级和响应于将所述已标记的位传播到所述刷新级,从所述流水线功能单元刷新所述寄存器访问指令。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:D希比,KA费斯特,DS雷,AJ小万诺斯特兰,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。