一种处理器的制造方法

文档序号:10036276阅读:296来源:国知局
一种处理器的制造方法
【技术领域】
[0001]本实用新型涉及一种处理器。
【背景技术】
[0002]当提及处理器为64位或32位时,这通常指的是寄存器的宽度(即,软件可见寄存器的宽度),以及当提及操作系统为64位或32位时,这指的是虚拟存储地址的宽度。具有64位存储地址的处理器因此能够直接访问264字节的字节可寻址存储器。大部分新处理器为64位的,并且这种处理器当运行64位软件的时候执行得最有效率。然而,64位处理器是向下兼容的,以及大部分可以运行大部分32位软件,但这个效率低,因为32位软件在64位处理器中不使用所有的硬件。
[0003]下面描述的实施方式不受解决已知处理器结构的任何或所有缺点的实现的限制。【实用新型内容】
[0004]本【实用新型内容】被提供以简化形式来介绍一系列概念,这些概念在【具体实施方式】中有进一步的描述。该【实用新型内容】并不打算表明所主张的主题的关键特征或本质特征,其也不打算用作在确定所主张的主题的范围时的帮助。
[0005]描述了在64位处理器上有效运行32位操作系统的方法。在一个实施方式中,处理器包括64位硬件,并且当运行64位操作系统时,处理器起单线程处理器的作用。然而,当运行32位操作系统(其可能为运行在虚拟机上的客户操作系统)时,处理器起双线程核的作用。寄存器文件在逻辑上被分为两个部分,每个线程一个部分,且功能单元内的逻辑可在线程之间被分割、线程之间被共享或被复制以便为每个线程提供逻辑的实例。配置位(configurat1n bits)可被设置成指示处理器是应该起单线程还是多线程设备的作用。
[0006]根据本实用新型的一方面,提供了一种处理器,其可具有:第一操作模式,其中所述处理器可以起单线程(η.X)位处理器的作用;第二操作模式,其中所述处理器可以起η线程X位处理器的作用,其中η是大于一的正整数,所述处理器可包括:
[0007]取指级,其可被安排成在第一操作模式中从软件的单一线程提取指令,并在所述第二操作模式中从软件的η个线程中的每一个线程提取指令;
[0008]—个或多个配置寄存器,其可被安排成存储配置参数,所述配置参数可指示软件可见寄存器的宽度;
[0009]寄存器文件,其可包括多个通用寄存器;
[0010]控制逻辑,其可与所述寄存器文件相关联,并可被安排成在所述第二操作模式中在逻辑上将所述寄存器文件分为η个部分并控制对所述部分的访问,每个部分可被安排成存储用于所述软件的η个线程中的一个线程的数据;以及
[0011]—个或多个功能单元,其可被安排成在所述第一操作模式中执行来自所述单一线程的指令,并且在所述第二操作模式中执行来自所述η个线程的指令,
[0012]其中所述取指级、所述控制逻辑和所述功能单元均可被安排成根据所述配置参数的值在所述第一操作模式和所述第二操作模式之间转换。
[0013]在一些实施方式中,所述处理器可以为64位处理器,η = 2且X = 32,所述配置参数可被安排成指示所述软件是64位操作系统还是32位操作系统,以及所述取指级、所述控制逻辑和所述功能单元均可被安排成在所述第一操作模式中运行以响应所述配置参数指示所述软件为64位操作系统,并且在所述第二操作模式中运行以响应所述配置参数指示所述软件为32位操作系统。
[0014]在一些实施方式中,η = 2。
[0015]在一些实施方式中,所述功能单元可包括由两个连接的逻辑块形成的逻辑功能,其中在所述第二操作模式中,所述逻辑块之间的连接可以被封住,且每个块可执行来自两个线程中的一个线程的指令,其中可基于所述配置参数的值控制所述两个连接的逻辑块之间的链接。
[0016]在一些实施方式中,处理器还可包括在所述两个连接的逻辑块之间的进位路径中的逻辑,其中,所述逻辑可被基于所述配置寄存器中存储的配置参数的值控制。
[0017]在一些实施方式中,所述功能单元可包括逻辑功能,所述逻辑功能可包括多个复制的块,每个块可被安排成执行来自不同线程的指令。
[0018]在一些实施方式中,所述功能单元可包括逻辑功能,所述逻辑功能可包括逻辑块和仲裁逻辑,且所述仲裁逻辑可被安排成在所述第二操作模式中在线程之间共享所述逻辑块。
[0019]在一些实施方式中,所述处理器可以为乱序处理器,且所述处理器还可包括:
[0020]重排序缓冲器;以及
[0021]提交单元,
[0022]其中在所述第二操作模式中,所述重排序缓冲器可在逻辑上被分为η个部分,每个部分可以与所述η个线程中的一个线程相关联,以及
[0023]其中所述提交单元可被安排成在所述第一操作模式中对所述单一线程的指令进行重排序,并且在所述第二操作模式中通过从所述重排序缓冲器读取来对所述η个线程中的每一个线程的指令进行重排序。
[0024]在一些实施方式中,功能单元可包括刷新逻辑,所述刷新逻辑可被安排成在刷新所述功能单元的一部分之前执行对线程号的比较。
[0025]在一些实施方式中,所述软件可包括运行在所述处理器上的虚拟机上的客户系统。
[0026]第一方面提供具有第一和第二操作模式的处理器,处理器包括:一个或多个配置寄存器,其被安排成存储配置参数,配置参数表明软件可见寄存器的宽度;寄存器文件,其包括多个通用寄存器;控制逻辑,其与寄存器文件相联系并在第二操作模式中安排成逻辑上将寄存器文件分为多个部分并控制对部分的访问,每个部分被安排成存储用于软件的多个线程中的一个的数据;以及一个或多个功能单元,其被安排成在第一操作模式中执行来自单线程的指令并在第二操作模式中执行来自多线程的指令,其中取指级、控制逻辑和功能单元中每个被安排成根据配置参数的值在第一和第二操作模式之间转换。
[0027]第二方面提供一种操作处理器的方法,其包括设置一个或多个配置寄存器来指示软件可读寄存器的宽度;以及根据配置寄存器在第一和第二操作模式之间转换,其中在第一操作模式中,处理器起单线程处理器的作用,并在第二操作模式中,处理器起多线程处理器的作用。
[0028]另外的方面提供了计算机可读存储介质,其具有在其上编码的用于产生如本文中所述的处理器的计算机可读程序代码;计算机可读存储介质,其具有在其上编码的用于产生配置成执行本文描述的方法的处理器的计算机可读程序代码。
[0029]本文描述的方法可由配置有软件的计算机执行,软件以存储在有形存储介质上的机器可读形式,例如以包括用于配置计算机来执行所述方法的组成部分的计算机可读程序代码的计算机程序的形式、或以包括适合于当程序在计算机上运行时执行本文所述的任何方法的所有步骤的计算机程序代码工具的计算机程序的形式,且其中的计算机程序可体现在计算机可读存储介质上。有形(或非暂时性)存储介质的例子包括磁盘、拇指驱动器、存储卡等,且并不包括传播信号。软件可适合于在并行处理器或串行处理器上执行,使得方法步骤可以按任何适当的顺序或同时被执行。
[0030]本文描述的硬件部件可由非暂时性计算机可读存储介质产生,非暂时性计算机可读存储介质具有在其上编码的计算机可读程序代码。
[0031]这确认了固件和软件可被单独使用,且是有价值的。预期包含软件,软件运行于或控制“哑”或标准硬件,以执行期望功能。还预期包括“描述”或定义硬件配置的软件,例如,如用于设计硅片或用于配置通用可编程芯片的HDL(硬件描述语言)软件,以执行期望功能。
[0032]如将对技术人员明显的是,优选的特征可在适当时被组合,并可与本实用新型的任何方面组合。
【附图说明】
[0033]将参考下面的附图以例子的方式描述本实用新型的实施方式,其中:
[0034]图1示出示例性乱序处理器的原理图;
[0035]图2示出算术逻辑单元(ALU)里的加法器功能的三个原理图;
[0036]图3示出第一和第二操作模式中的示例性功能单元的两个原理图;
[0037]图4为操作如图1所示的处理器的示例性方法的流程图;以及
[0038]图5是示例性有序处理器的原理图。
[0039]在全部附图中使用共同的参考数字来指示类似的特征。
【具体实施方式】
[0040]下面仅以例子的方式描述本实用新型的实施方式。这些例子代表申请人当前已知的实施本实用新型的最佳方式,但是其不是可实现本实用新型的唯一方式。该描述阐述例子的功能和用于构造和操作例子的步骤序列。然而,可通过不同的例子来实现相同或等效的功能和序列。
[0041]如上所述,尽管诸如32位操作系统(0S)的32位软件能够在64位硬件上运行,但是32位软件不利用64位处理器中的额外的硬件。本文描述了处理器结构和操作处理器的方法,其使得64位硬件能够对运行在该硬件上的32位软件表现为双线程32位核,对64位软件表现为单线程64位核。例如,32位软件可以是运行在64位管理程序(或虚拟机监视程序)上的客户OS,或者可选择地,处理器可被设计成被启动到64位操作模式或32位操作模式。通过在起双线程32位处理器(如本文所述的)作用的64位硬件上运行32位软件,与将32位软件运行在标准的64位处理器上相比,提高了软件的性能。而且,在使用虚拟化的情况下(例如,32位软件为运行在64位管理程序上的客户OS的情况下),硬件能以对于客户OS透明的方式在两种操作模式(单线程64位和双线程32位)之间转换,并且可根据硬件上正运行什么(例如,客户OS是32位还是64位)来动态地做到这点。本文所描述的硬件操作对于64位软件是不变的,但
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1