微处理器以及在微处理器中存储数据的方法技术

技术编号:2825487 阅读:206 留言:0更新日期:2012-04-11 18:40
一种微处理器,包括用户可存取寄存器组、随机存取存储器与微代码。该随机存取存储器位于该微处理器的非用户可存取地址空间内,其中该随机存取存储器比该用户可存取寄存器组密集,且存取速度比该用户可存取寄存器组慢。该微代码包括多个该微处理器的微指令集的多个微指令。该微指令集包括第一微指令与第二微指令。该第一微指令用以将该用户可存取寄存器组的数据存储至该随机存取存储器。该第二微指令用以将该随机存取存储器的数据加载至该用户可存取寄存器组。

【技术实现步骤摘要】

本专利技术涉及一种具有微代码的微处理器,更具体地涉及一种微代码的暂时变动存储。
技术介绍
微处理器包括指令集,该指令集是为该微处理器的指令集架构(Instruction Set Architecture,以下简称为ISA)的一部分,在本文可称为微处理器的宏架构(Macroarchitecture)。该指令集定义了微处理器可执行的合法指令集。程序设计师(在本文中可称为用户)利用该指令集中的指令写入程序,以被该微处理器执行。该程序设计师可为撰写应用程序的应用程序设计师,或者为撰写操作系统或可执行软件的系统程序设计师。ISA亦包括寄存器等资源,其可被该指令集中的指令存取。常用的ISA为IntelIA-32与IA-64ISA,可参照x86架构,其包括指令集与具有一般功用寄存器的用户可存取寄存器、数据段寄存器(Segment Registers)、堆栈与基底指针寄存器...等习知的寄存器。许多新型的微处理器包括微架构(Microarchitecture),其无法直接以写入程序直接存取至微处理器ISA中。该微架构包括其本身支持微指令的微指令集,其与上述ISA的用户可存取指令集不同。该ISA指令集的用户可存取指令有时可参照宏架构,以分辨其与微指令集的微指令的不同。微指令较宏指令来的简单,且可较直接地控制微处理器的硬件。微处理器设计者写入微代码,其包括微架构微指令集的微指令,且在微处理器的微架构内执行。典型上,微处理器包括指令转译器,其用以转译用户程序宏指令为微指令集的一个或多个微指令,然后分派给微处理器的执行单元以执行指令。若宏指令特别复杂,则该指令转译器可呼叫由多个微指令组成的微代码中的例行程序以执行该ISA指令。当代x86架构ISA微处理器是利用精简指令集(ReducedInstruction Set Computer,简称为RISC)微架构,其包括比IA-32宏架构集明显简单的RISC型态指令集。-->因此,微架构典型上包括除了用户可存取ISA资源以外的其它资源,例如,微代码专用的额外寄存器,其是为非用户可存取寄存器。举例来说,与许多RISC架构微处理器相比,IA-32ISA的用户可存取寄存器的数目相对来说是较少的,举例来说像是RISC型态微指令使用的非用户可存取寄存器。近来在微处理器的革新,ISA增加了在微架构所需的额外寄存器总量的需求,以发展新的特色。然而,很不幸地,使用在大量额外寄存器上的实际芯片量可能会被限制。此外,微代码不应使用系统存储器以作为额外存储空间,因为通常是由操作系统来配置与管理系统存储器的。因此,所需的应是提供微代码使用的额外存储空间,其与寄存器相比相对来说速度较快且仅需要较少的芯片区。
技术实现思路
本专利技术实施例公开了一种微处理器,包括用户可存取寄存器组、随机存取存储器与微代码。该随机存取存储器位于该微处理器的非用户可存取地址空间内,其中该随机存取存储器比该用户可存取寄存器组密集(dense),且存取速度你该用户可存取寄存器组慢。该微代码包括多个该微处理器的微指令集的多个微指令。该微指令集包括第一微指令与第二微指令。该第一微指令用以将该用户可存取寄存器组的数据存储至该随机存取存储器。该第二微指令用以将该随机存取存储器的数据加载至该用户可存取寄存器组。本专利技术实施例还公开了一种在微处理器中存储数据的方法。执行第一微指令,用以将该微处理器的用户可存取寄存器组的数据存储至该微处理器的随机存取存储器,其中该随机存取存储器位于该微处理器的非用户可存取地址空间内,其中该随机存取存储器较比用户可存取寄存器组密集,且存取速度比该用户可存取寄存器组慢。执行第二微指令,用以将该随机存取存储器的数据加载至该用户可存取寄存器组,其中该第一与第二微指令是为该微处理器的微指令集的多个微指令中的两个微指令。附图说明图1是显示本专利技术实施例的管线式微处理器的架构示意图,其包括私有随机存取存储器。图2是显示本专利技术实施例的不同系统存储器与私有随机存取存储器地址-->空间的示意图。图3是显示本专利技术实施例的执行私有随机存取存储器的loadPRAM微指令的步骤流程图。图4是显示本专利技术实施例的执行私有随机存取存储器storePRAM微指令的步骤流程图。图5是显示本专利技术实施例的图1的微处理器执行VMREAD宏指令的步骤流程图。图6是显示本专利技术实施例的图1的微处理器执行VMWRITE宏指令的步骤流程图。图7是显示本专利技术实施例的图1的微处理器执行x86架构的WRMSR宏指令的步骤流程图。图8是显示本专利技术实施例的图1的微处理器执行x86架构的RDMSR宏指令的步骤流程图。图9是显示本专利技术实施例的图1的微处理器执行x86架构的RSM宏指令的步骤流程图。图10是显示本专利技术实施例的图1的微处理器响应接收x86架构的SMI宏指令的操作的步骤流程图。主要组件符号说明100~微处理器102~指令缓冲区104~指令收件器106~指令转译器108~指令分派器112~用户可存取寄存器组114~数据缓冲区122~加载/存储单元124~执行单元126~私有随机存取存储器128~微代码132~总线接口单元-->134~非用户可存取寄存器组136~处理器总线302、304、402、404、502、504、602、604、702、704、802、804、902、904、1002、1004~流程步骤具体实施方式为了让本专利技术的目的、特征、及优点能更明显易懂,下文特举较佳实施例,并配合所附图式图1至图10,做详细的说明。本专利技术说明书提供不同的实施例来说明本专利技术不同实施方式的技术特征。其中,实施例中的各组件的配置是为说明所用,并非用以限制本专利技术。且实施例中图式标号的部分重复,是为了简化说明,并非意指不同实施例的间的关联性。图1是显示本专利技术实施例的管线式微处理器100的架构示意图,其包括私有随机存取存储器(Private Random Access Memory,PRAM)126。在实施例中,图1的微处理器100的组件(包括私有随机存取存储器126)是整合在单一半导体基板上。由于私有随机存取存储器126不可被用户代码宏指令存取,故其是为私有随机存取存储器,但其可被微处理器100经由其微代码128来存取。此外,微处理器100包括在其微指令集中的不同微指令,用以存取私有随机存取存储器126,如上所述。微处理器100包括指令缓冲区102,其用以缓冲来自耦接于微处理器100的系统存储器的用户程序宏指令。微处理器100亦包括指令收件器(Fetcher)104,其耦接于指令缓冲区102,用以自指令缓冲区102与系统存储器取得宏指令。微处理器100亦包括指令转译器106,其耦接于指令收件器104,用以解码取得的微处理器100的宏指令集的宏指令,并且转译该取得的宏指令为微处理器100的宏指令集的微指令。微处理器100亦包括loadPRAM与storePRAM微指令,而微指令亦包括一般存储器加载/存储微指令。微处理器100亦包括微代码128。微代码128包括该微处理器的微指令集的多个微指令。部分的微代码128包括微指令的例行程序(或序列),以执行宏指令或处理异常的情况。特别的是,当指令转译器106解码某些宏指令(例如,相对复杂的宏指令),其转换控制给微代码128中的适当的例行程序,而本文档来自技高网
...

【技术保护点】
一种具有微代码的微处理器,包括:用户可存取寄存器组;随机存取存储器,其位于该微处理器的非用户可存取地址空间内,其中该随机存取存储器比该用户可存取寄存器组密集,且存取速度比该用户可存取寄存器组慢;以及其中该微代码包括该微处理器的微指令集的多个微指令,该微指令集包括:第一微指令,其用以将该用户可存取寄存器组的数据存储至该随机存取存储器;以及第二微指令,其用以将该随机存取存储器的数据加载至该用户可存取寄存器组。

【技术特征摘要】
US 2007-4-10 60/910,982;US 2008-2-20 12/034,5031.一种具有微代码的微处理器,包括:用户可存取寄存器组;随机存取存储器,其位于该微处理器的非用户可存取地址空间内,其中该随机存取存储器比该用户可存取寄存器组密集,且存取速度比该用户可存取寄存器组慢;以及其中该微代码包括该微处理器的微指令集的多个微指令,该微指令集包括:第一微指令,其用以将该用户可存取寄存器组的数据存储至该随机存取存储器;以及第二微指令,其用以将该随机存取存储器的数据加载至该用户可存取寄存器组。2.如权利要求1所述的微处理器,其还包括:非用户可存取寄存器组,其中该非用户可存取寄存器组不如该随机存取存储器密集,且存取速度比该随机存取存储器快;其中该第一微指令更用以将该非用户可存取寄存器组的数据存储至该随机存取存储器,且该第二微指令用以将该随机存取存储器的数据加载至该非用户可存取寄存器组。3.如权利要求2所述的微处理器,其中,该微代码根据VMX VMWRITE指令执行一个或多个该第一微指令,以存储一部分的x86架构的虚拟机器延伸虚拟控制架构至该随机存取存储器。4.如权利要求2所述的微处理器,其中,该微代码根据VMX VMREAD指令执行一个或多个该第二微指令,以从该随机存取存储器加载一部分的x86架构的虚拟机器延伸虚拟控制架构。5.如权利要求2所述的微处理器,其中,该微代码根据x86架构的RSM指令执行一个或多个该第一微指令,以存储系统管理模式基地址至该随机存取存储器。6.如权利要求2所述的微处理器,其中,该微代码根据x86架构的系统管理中断指令执行一个或多个该第二微指令,以从该随机存取存储器加载系统管理模式基地址。7.如权利要求1所述的微处理器,其中,该微代码根据指定x86架构的IA32_SYSENTER_CS特别模块寄存器为目的特别模块寄存器的x86架构的WRMSR指令执行一个或多个该第一微指令,以存储特权阶级0码数据段值的数据段选择器至该随机存取存储器。8.如权利要求1所述的微处理器,其中,该微代码根据指定x86架构的IA32_SYSENTER_CS特别模块寄存器为来源特别模块寄存器的x86架构的RDMSR指令执行一个或多个该第二微指令,以从该随机存取存储器加载特权阶级0码数据段值的数据段选择器。9.如权利要求1所述的微处理器,其中,该微代码执行该第一或第二微指令以将该随机存取存储器作为暂时存储区,以存储该微代码的计算结果。10.如权利要求1所述的微处理器,其中,该微处理器根据该微代码指令存取的该非用户可存取地址...

【专利技术属性】
技术研发人员:G葛兰亨利罗德尼E虎克泰瑞派克斯柯林艾迪
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[]

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

1