[发明专利]乱序执行微处理器及提升效能的方法、执行方法有效
申请号: | 201010112024.8 | 申请日: | 2010-02-05 |
公开(公告)号: | CN101776989A | 公开(公告)日: | 2010-07-14 |
发明(设计)人: | 吉拉德·M·卡尔;罗德尼·E·虎克;泰瑞·派克斯 | 申请(专利权)人: | 威盛电子股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京林达刘知识产权代理事务所 11277 | 代理人: | 刘新宇;王璐 |
地址: | 中国台*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 执行 微处理器 提升 效能 方法 | ||
技术领域
本发明有关于微处理器领域的应用,特别是有关于微处理 器领域的暂存器重新命名的应用。
背景技术
计算机程序设计者将一计算机程序内的指令按照一特定的 顺序安排,通常这个特定顺序称为程序顺序。计算机程序设计 者通过执行计算机程序的微处理器,根据程序顺序,并依据如 何执行指令的特定规则以执行计算机程序里的各项指令。举例 来说,于第一个例子中,假设指令B的程序顺序是于指令A之后, 并且假设指令A写入至微处理器的一暂存器,指令B从同一暂存 器中读取数据。于此例中,程序设计者通过微处理器,利用指 令A所写入的数值来执行指令B,而不是利用在指令A将其数值 写入至暂存器之前在暂存器中的数值。于第二个例子中,假设 指令A由暂存器中读取数据且指令B写入至暂存器。于此例中, 程序设计者是通过微处理器,利用在指令B将其数值写入至暂 存器之前在暂存器中的数值来执行指令A。于第三个例子中, 假设指令A以及指令B皆将数据写入至暂存器,指令C的程序顺 序在指令B之后,并且指令C读取暂存器的数据。于此例中,程 序设计者是通过微处理器,利用由指令B写入的数值来执行指 令C,而不是指令A写入的数值。
一种可以使微处理器根据上述程序顺序的规则执行的方法 是简单地根据程序顺序来执行指令。然而,许多较先进的微处 理器,特别是包括多个执行单元的超纯量管线微处理器 (superscalar pipelined microprocessor),可在一个单一时脉周期 中发送多个指令,并且可通过乱序(out-of-order),亦即不依照 程序顺序来执行指令,以实现效能的提升。乱序执行特别利于 在指令流中需要较长的时间来执行的特定的指令(通常为长延 迟指令,例如浮点指令或存储器读取指令)的处理。
当一个有序(in-order)执行微处理器遇到(encounter)一长延 迟指令时,执行单元可能在多个时隙(time slot)中(在一些情况 下可为100个时隙)保持闲置(idle),用以等待长延迟指令完成。 然而,在等待长延迟指令完成的同时,一个乱序执行微处理器 试着去找到可被执行单元所执行的指令。这些指令通常为独立 指令,因为这些指令可以在不违反任何与程序顺序有关的规则 (例如上述讨论三种)的情况下,不依照与长延迟指令有关的程 序顺序加以执行。相反地,有序执行微处理器必须等候执行与 任何程序顺序出现在之前的指令(例如长延迟指令)相关的指 令。因此,可以发现一乱序执行超纯量管线微处理器的多个执 行单元的效能利用,可能受限于微处理器可在程序的指令流中 找到的独立指令的个数。
一种应用在乱序执行超纯量管线微处理器上,用以增加指 令流的独立指令的数量的现有技术为暂存器重新命名。特别地, 暂存器重新命名可以帮助在上面第二以及第三例子中的指令A 以及指令B彼此独立,使得微处理器可以不照顺序执行指令A以 及指令B。微处理器包括结构暂存器(architectural register),例 如程序指令定义的运算元的来源暂存器或存放结果的目的暂存 器。举例来说,一个x86结构微处理器的整数结构暂存器包括 EAX、EBX、ECX、EDX、ESI、EDI、ESP以及EBP暂存器等。 一个具有暂存器重新命名功能的微处理器包括比结构暂存器的 数量更多的实体暂存器。举例来说,一结构定义为8个整数暂存 器的x86微处理器可能具有32个实体暂存器,其可重新命名8个 结构暂存器。当微处理器遇到定义这些结构暂存器中的一暂存 器为其目的暂存器的一指令时,重新命名硬件将结构暂存器“重 新命名”为实体暂存器中其中之一。当微处理器执行此指令以产 生结果时,微处理器便将结果写入至实体暂存器。此外,假设 一个指令定义结构暂存器中其中一者为一运算元的来源,重新 命名硬件判断与目前指令相依(关)的指令,该指令是在程序顺 序中将一结果写入至定义好的来源结构暂存器的最新的指令但 较早于目前指令。重新命名硬件将致使目前指令不去参考结构 暂存器,而是去参考与目前指令相关的结构暂存器被重新命名 后的实体暂存器。如此一来,将使得目前指令从适当地重新命 名的实体暂存器中接收其来源运算元。
然而,通过暂存器重新命名来提升效能可能会造成硬件芯 片(die)空间、电源以及复杂度的大量增加。在许多暂存器重新 命名微处理器上,这是存在的事实。因此,需要一种可在一乱 序执行超纯量管线微处理器上对效能、成本冲突提供一良好平 衡的解决方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于威盛电子股份有限公司,未经威盛电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010112024.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:上行链路控制信道格式
- 下一篇:粉末储存装置及使用粉末储存装置的图像形成设备