使用认证的清单来实现对多处理器平台的外部确认的制作方法_3

文档序号:8528389阅读:来源:国知局
量效率和能量节约的其他类型的电路或半导体器件。例 如,所公开的实现不仅限于任何特定类型的计算机系统,也可以用于诸如手持式设备、片上 系统(S0C)设备以及嵌入式应用之类的其他设备中。手持式设备的某些示例包括蜂窝电 话、网际协议设备、数码相机、个人数字助理(PDA)以及手持式PC。嵌入式应用通常包括微 控制器、数字信号处理器OSP)、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交 换机,或能够执行下面教导的功能和操作的任何其他系统。此外,此处所描述的系统和方法 不仅限于物理计算设备,也可以涉及软件实现的方法。由此处所描述的系统和方法实现的 电能节省可以独立于基于操作系统(0S)的机制,诸如高级配置和平台接口(ACPI)标准,并 与其互补。
[0070] 此处所描述的方法和系统可以通过对于膝上型计算机、台式机、手持式PC、个人数 字助理、工程工作站、服务器、网络设备、网络集线器、交换机、嵌入式处理器、数字信号处理 器(DSP)、图形设备、视频游戏设备、机顶盒、微控制器、蜂窝电话、便携式媒体播放器、手持 式设备,以及各种其他电子设备的各种架构、设计和配置的计算机系统来实现,也适用于实 现此处所描述的方法。一般而言,如此处所公开的能够包括处理器和/或其他执行逻辑的 各种系统或电子设备一般适用于实现此处所描述的系统和方法。
[0071] 图5描绘了根据本公开一个或多个方面的计算机系统的一个示例的高级的组件 图示。根据此处所描述的实施例,计算机系统100可以包括两个或更多处理器110,其中包 括被配置成执行用于产生平台清单来实现外部平台确认的方法的处理逻辑。系统100是 基于位于加利福尼亚州圣克拉拉市的英特尔公司所提供的PENTIUMIII?、PENTIUM4?、 Xeon?、Itanium、XScale?和/或StrongARM?的微处理器的处理系统的代表,虽然也可以 被用来其他系统(包括具有其他微处理器的PC、工程工作站、机顶盒等等)。在一个实施例 中,示例系统100执行位于美国华盛顿州雷蒙德市的微软公司所提供的WINDOWS?操作系统 的一种版本,虽然也可以使用其他操作系统(例如,UNIX和Linux)、嵌入式软件和/或图形 用户界面。如此,此处所描述的各实施例不仅限于硬件电路和软件的任何特定的组合。
[0072] 在说明性示例中,处理器110包括实现将执行至少一个指令的算法的一个或多个 执行单元108。可以在单处理器台式机或服务器系统的上下文中来描述一个实施例,但是, 替换实施例可以被包括在多处理器系统中。系统100是"中枢"系统架构的不例。在一个说 明性示例中,处理器110包括复杂指令集计算机(CISC)微处理器、精简指令集计算(RISC) 微处理器、超长指令字(VLIW)微处理器、实现指令集的组合的处理器或任何其他处理器设 备,诸如,例如,数字信号处理器。处理器110耦合到在处理器110及系统100中的其他组 件之间传输数据信号的处理器总线110。系统100的元件(例如,图形加速器112、存储器 控制器中枢116、存储器120、I/O控制器中枢124、无线收发器126、闪存BIOS128、网络控 制器134、音频控制器136、串行扩展端口 138、I/O控制器140、等等)执行本领域普通技术 人员所共知的它们的常规功能。
[0073] 在一个实施例中,处理器110包括1级(L1)内部缓存。取决于架构,处理器110 可以具有单个内部缓存或多级内部缓存。取决于特定实现以及需求,其他实施例包括内部 和外部缓存两者的组合。寄存器组106将不同类型的数据存储在各种寄存器中,包括整数 寄存器、浮点寄存器、向量寄存器、分组寄存器、影子寄存器(shadowregister)、检查点寄 存器、状态寄存器以及指令指针寄存器。
[0074] 执行单元108 (包括执行整数和浮点操作的逻辑)也位于处理器110中。在一个 实施例中,处理器110包括存储微代码的微代码(uc〇de)R0M,该微代码在被执行时将执行 某些宏指令的算法或处理复杂情况。这里,微代码是潜在地可更新的,以为处理器110处理 逻辑缺陷/修补。对于一个实施例,执行单元108包括处理打包指令集109的逻辑。通过 将打包指令集109包括在通用处理器110的指令集内并包括相关的电路以执行这些指令, 可使用通用处理器110中的打包数据来执行许多多媒体应用所使用的操作。如此,通过使 用全宽的处理器的数据总线来对打包的数据执行操作,许多多媒体应用程序被加速并且更 有效率地被执行。这潜在地消除了跨处理器的数据总线来传输较小单位的数据以执行一个 或多个操作(一次一个数据元素)的必要性。执行单元108的替换实施例也可以用于微控 制器、嵌入式处理器、图形设备、DSP及其他类型的逻辑电路中。
[0075] 系统100包括存储器120。存储器120包括动态随机存取存储器(DRAM)设备、静 态随机存取存储器(SRAM)设备、闪存设备或其他存储器设备。存储器120存储要由处理器 110执行的指令129和/或通过数据信号来表示的数据123。在某些实现中,指令129可以 包括使用安全飞地执行逻辑的指令,如上文比较详细地描述的。
[0076] 系统逻辑芯片116耦合至处理器总线110和存储器120。在所示出的实施例中的 系统逻辑芯片116是存储器控制器中枢(MCH)。处理器110可经由处理器总线110与MCH 116通信。MCH116提供至存储器120的高带宽存储器路径118,用于指令和数据存储,以 及用于存储图形命令、数据和文本。MCH116将在处理器110、存储器120及系统100中的 其他组件之间定向数据信号,并在处理器总线110、存储器120以及系统I/O122之间桥接 数据信号。在一些实施例中,系统逻辑芯片116可提供耦合至图形控制器112的图形端口。 MCH116经由存储器接口 118耦合至存储器120。图形卡112通过加速图形端口(AGP)互 连114耦合至MCH116。
[0077] 系统100使用外围设备中枢接口总线122以将MCH116耦合至I/O控制器中枢 (ICH) 130。ICH130经由局部I/O总线提供至一些I/O设备的直接连接。局部I/O总线是 高速I/O总线,用于将外围设备连接至存储器120、芯片组以及处理器110。一些示例是音 频控制器、固件中枢(闪存BIOS) 128、无线收发机126、数据存储器124、包括用户输入和键 盘接口的传统I/O控制器、串行扩展端口(诸如通用串行总线USB)以及网络控制器134。 数据存储设备124可以包括硬盘驱动器、软盘驱动器、CD-ROM设备、闪存设备、或其他大容 量存储设备。
[0078] 对于系统的另一个实施例,根据一个实施例的指令可被用于芯片上系统。芯片上 系统的一个实施例包括处理器和存储器。用于这样一个系统的存储器是闪存存储器。闪存 存储器可位于与处理器和其他系统组件相同的管芯上。此外,诸如存储器控制器或图形控 制器之类的其他逻辑块也可位于芯片上系统上。
[0079] 图6是根据本公开的一个或多个方面的包括执行指令的逻辑电路的处理器200的 微架构的框图。在一些实施例中,根据一个实施例的指令可被实现为对具有字节大小、字大 小、双字大小、四字大小等并具有诸多数据类型(诸如单精度和双精度整数和浮点数据类 型)的数据元素执行操作。在一个实施例中,有序前端201是处理器200的一部分,其获取 将要被执行的指令,并准备这些指令以在稍后供处理器流水线使用。前端201可包括若干 单元。在一个实施例中,指令预取器226从存储器获取指令,并将指令馈送至指令解码器 228,指令解码器228随后解码或解释指令。例如,在一个实施例中,解码器将接收到的指令 解码为机器可以执行的一个或多个叫做"微指令"或"微操作"的操作。在其他实施例中, 解码器将指令解析为操作码和对应的数据及控制字段,它们被微架构用于执行根据一个实 施例的操作。在一个实施例中,追踪缓存230接受经解码的微操作,并将它们组装为程序有 序序列或微操作队列234中的踪迹,以用于执行。当追踪缓存230遇到复杂指令时,微代码 ROM232提供完成操作所需的微操作。
[0080] 一些指令被转换为单个微操作,而其他指令需要若干个微操作以完成整个操作。 在一个实施例中,如果需要四个以上的微操作才能完成指令,则解码器228访问微代码ROM 232来执行指令。对于一个实施例,指令可被解码为少量的微操作以用于在指令解码器228 处进行处理。在另一个实施例中,如果需要若干微操作来完成操作,则可将指令存储在微代 码R0M232中。跟踪缓存230引用入口点可编程逻辑阵列(PLA)来确定用于从微代码ROM 232中读取微代码序列的正确的微指令指针,以完成根据一个实施例的一个或多个指令。在 微代码ROM232完成对于指令的微操作序列化之后,机器的前端201恢复从追踪缓存230 获取微操作。
[0081] 无序执行引擎203是将指令准备好用于执行的单元。无序执行逻辑具有若干个缓 冲器,用于将指令流平滑并且重排序,以优化指令流进入流水线后的性能,并调度指令流以 供执行。分配器逻辑分配每个微操作需要的机器缓冲器和资源,以用于执行。寄存器混叠 使用逻辑将逻辑寄存器映射到寄存器组中的条目。在指令调度器(存储器调度器、快速调 度器202、慢速/通用浮点调度器204、简单浮点调度器206)之前,分配器也将每个微操作 的条目分配入两个微操作队列中的一个,一个队列用于存储器操作,另一个队列用于非存 储器操作。微操作调度器202、204、206基于它们的依赖的输入寄存器操作数源的就绪状态 以及微操作完成它们的操作所需的执行资源的可用性,来确定微操作何时准备好执行。一 个实施例的快速调度器202可以在主时钟周期的每一半调度,而其他调度器只能每个主处 理器时钟周期调度一次。调度器对分配端口进行仲裁以调度微操作以便执行。
[0082] 物理寄存器组208、210在调度器202、204、206和执行块211中的执行单元212、 214、216、218、220、222、224之间。对于整数和浮点运算,分别有单独的寄存器组208、210。 一个实施例的每个寄存器组208、210也包括旁路网络,旁路网络可将刚完成的还没有被写 入寄存器组的结果旁路或转发给新的依赖微操作。整数寄存器组208和浮点寄存器组210 也能够彼此通信数据。对于一个实施例,整数寄存器组208被划分为两个单独的寄存器组, 一个寄存器组用于低阶的32位数据,第二个寄存器组用于高阶的32位数据。一个实施例 的浮点寄存器组210具有128位宽度的条目,因为浮点指令通常具有从64至128位宽度的 操作数。
[0083]执行块 211 包括执行单元 212、214、216、218、220、222、224,在执行单元212、214、 216、218、220、222、224中实际执行指令。该区块包括寄存器组208、210,寄存器组208、210 存储微指令需要执行的整数和浮点数据操作数值。一个实施例的处理器200由若干个执行 单元所组成。一个实施例的处理器200包括有若干个执行单元:地址生成单元(AGU) 212、 AGU214、快速ALU216、快速ALU218、慢速ALU220、浮点ALU222、浮点移动单元224。对 于一个实施例,浮点执行块222、224执行浮点、MMX、SIMD、SSE以及其他操作。一个实施例 的浮点ALU222包括64位/64位浮点除法器,用于执行除法、平方根、以及余数微操作。对 于此处所描述系统和方法,可以利用浮点硬件来处理涉及浮点值的指令。在一个实施例中, ALU操作进入高速ALU执行单元216、218。一个实施例的高速ALU216、218可执行高速操 作,有效等待时间为半个时钟周期。对于一个实施例,大多数复杂整数操作进入慢速ALU 220,因为慢速ALU220包括用于长等待时间类型操作的整数执行硬件,诸如,乘法器、移位 器、标记逻辑和分支处理。存储器加载/存储操作由AGU212、214来执行。对于一个实施 例,整数ALU216、218、220是在对64比特数据操作数执行整数操作的上下文中描述的。在 替换实施例中,ALU216、218、220可被实现为支持各种数据比特,包括16、32、128、256等 等。类似地,浮点单元222,224可被实现为支持具有各种宽度的比特的操作数的范围。对 于一个实施例,浮点单元222、224可以结合SMD和多媒体指令对128比特宽的打包数据操 作数进行操作。
[0084] 在一个实施例中,微操作调度器202、204、20
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1