Itanium 的 BIOS 并不是您通常熟悉的个人计算机的 BIOS。可扩展固件接口 (EFI) 是将操作系统从 BIOS 和硬件中分离出来的抽象层。EFI Shell 与 Windows 中的命令提示符很相似。在某些方面,EFI Shell 就像是一个内置的小型操作系统。从 EFI Shell,您可以访问驱动器(包括 CD-ROM)、运行可执行文件(例如 Windows 的安装程序),甚至可以执行简单的文本编辑。系统配置数据存储在非挥发性内存中,而不是存储在硬盘上,并且可以通过 EFI Shell 进行配置。
Itanium 是一种顺序处理器,意味着它会以指令提供的顺序来执行这些指令。这与普通的 x86 处理器不同,x86 处理器在可能的情况下会在管线中重新排序指令,然后尝试并行执行指令。对于 Itanium 而言,编译器必须明确地排序指令,然后负责检查指令之间的相互依存关系。编译器还必须负责通知处理器可以并行执行的指令。Intel 有一个为此定义的新术语:EPIC。EPIC 表示明确并行指令集计算。它负责编译器执行所有优化。处理器将不会进行任何重新排序。这使得编译器责任更加重大,稍后将在本文中进行讨论。
Itanium 由九个执行单元组成,如下所示:
| • |
两个整数单元 |
| • |
两个整数/负载存储单元 |
| • |
两个浮点单元 |
| • |
三个分支单元 |
Itanium 具有一个十阶管线,负责提取、解码和执行指令。Itanium 最多可以同时处理六条指令。
Itanium 具有多达 328 个寄存器:128 个 64 位整数通用寄存器、128 个 82 位浮点寄存器、64 个 1 位谓词寄存器、8 个分支寄存器以及用于各种目的的其他寄存器的集合,例如 x86 后向兼容性(当运行在 x86 兼容模式中时,Itanium 会将一些 x86 寄存器映射到 64 位寄存器上,同时提供专门用于处理器的 x86 模式的其他寄存器)。
要协助管理如此大量的寄存器,Itanium 有能力同时设计和轮换寄存器。我们将通用寄存器分成两组:前 32 个寄存器是固定的、全局寄存器。后 96 个寄存器可以用于设计和轮换。
ALLOC 指令用于建立寄存器框架。寄存器框架将物理寄存器(硬件)映射到逻辑寄存器(软件)上,这样当调用某个函数时,不再需要推出或弹出所有参数,编译器就可以为子例程分配一定范围的寄存器,其中的一些寄存器可能会映射到父例程的寄存器上。可以在两者之间重叠的寄存器用于传递参数。这样比将参数推出和弹出到堆栈上更为有效。当然,推出和弹出参数的传统方法仍然可以使用。
由于前 32 个寄存器是固定的,您无法设计它们。因此,可以设计的寄存器的最大数量为(其余的)96 个寄存器。另外,只有整数寄存器可以设计,浮点寄存器和谓词寄存器不能进行设计。
寄存器也可以轮换或转移到一个或多个位置。在解开循环时,这可能很有帮助,因此使用不同的物理寄存器,在不相互干预的情况下,那些周而复始地在相同的寄存器集中运行的循环可以同时运行。利用这个选项,编译器可以更进一步改进指令的并行处理。
IA-64 指令是 41 位长的指令。指定 128 个通用寄存器中之一需要使用七位,并且指定两个源寄存器和一个目标寄存器,一共是 21 位。每条指令可以指定 64 个谓词寄存器中的一个,再加上 6 位。这占用了 27 位,而我们尚未指定实际的操作代码。
指令封装到 128 位的“绑定”中。其中三条指令(123 位),再加上 5 位模板字段。然后,这些绑定会被汇编到“组”中。组是理论上可以同时执行的指令集合。组中的指令没有相互依存关系。在编译时,编译器必须对此进行计算并对绑定一起分组。处理器将不会再次检查编译器的工作,所以编译器必须保证其正确。组可以是任意的长度。模板字段中的一位表示组的结束。
绑定和组是不同的。绑定是指令分派到处理器的方式。Itanium 的总线和解码电路为 128 位宽,刚好用于 3 条指令(Itanium 实际上同时分派两个绑定)。组是指令进行交互的逻辑方式。
(责任编辑:城尘)
|
|||
| · 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
· 华为路由器产品 · 路由器模拟器 · AIX操作系统管理应用(.. · 思科路由器配置 · 路由器组网解决方案 · 路由器密码恢复 · 无线路由器故障处理 · 路由故障处理手册 |
||
|
|||
| · Java基础教程 · VPN技术 · SQL Server 2005全解 · ARP攻击防范与解决方案 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · 三层交换技术专题 |
· SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 · Windows操作系统安装 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 · Windows操作系统安装 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·网名接龙--之大话黄琨 ^o^ ·ARP欺骗引发的“冤案”—.. |
·ARP欺骗的原理、步骤和危.. ·利用负载均衡技术针对Web.. |
| ·VMware Workstation 6.01.. ·Windows Server 2008 RC0.. |
·ISA Server 2006的全自动.. ·ISA Server、虚拟机、托.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· IT基础教程 · 平凡黑客讲述精彩人生(.. · 平凡黑客讲述精彩人生(.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· AMD三核心处理器解析 痛.. · 服务器基础知识入门 · Rambus第二?看全缓冲内.. |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |