UltraSPARC T1

UltraSPARC T1是太阳微系统所研发的微处理器，而处理器还在开发阶段时的研发代号称为“Niagara，尼亚加拉瀑布”，之后在2005年11月14日正式研发完成并发表。UltraSPARC T1是一颗多核心（执行核）、多线程（多执行绪）的CPU，且针对服务器运算的运用需求而强化省电设计，在1.2GHz运作时脉下的典型用电为72W（Watt，瓦、瓦特）。

UltraSPARC T1衍生自UltraSPARC系列微处理器，它是太阳微系统公司的第一颗多核多绪处理器，这颗处理器内可以有4个、6个、8个CPU核心，且每个核心最多可同时执掌、处理4个执行绪，如此UltraSPARC T1处理器在最理想状态下可同时执行32个执行绪。

UltraSPARC T1的运作与太阳微系统的高阶对称处理（SMP）系统很近似，它具有系统分割能力，可以将一个或数个核心切割成一个分区（Partition），然后在分区内执行一个或数个程序（Process）及执行绪（Thread），此外待执行的程序、执行绪也可以尽速派送或转移给其他较闲余的执行核心，进而增加整体执行效率。

## 核心

<image>

UltraSPARC T1是针对多绪执行而设计的特殊处理器，它运用新的架构来获取高执行效率，而不是为单一个执行核心加入更多智慧化、最优化的心力设计，昇阳的目标是在同一时间内尽可能执行、处理多个执行绪，使每个执行核心的执行管线能达到最大的使用率。

此种作法目前来看似乎成效不错，现有的基准标竿测试证实UltraSPARC T1内的每个执行核心确实更有效率，这是与约2001年的UltraSPARC III相比，UltraSPARC III是一颗单核、单绪，且能完整执行SPARC v9指令集的处理器。

UltraSPARC T1内虽有8个执行核心，但每个执行核心的结构复杂度并不如现有的高阶处理器，而且每个执行核心也不具备超序执行（out-of-order execution，简称：OOO，也称乱序执行）的能力，也没有配属大容量的快取内存。单绪型的处理器极倚赖大容量的快取内存来提升执行效能，原因是：一旦在快取内存中抓取不到所需的资料（称为：漏失，miss）时，就必须从主内存中去提取（fetch）资料，而增加快取内存的容量可减少漏失的几率，不过即便如此，漏失对效能依然是很大的冲击影响。

相对的，UltraSPARC T1的核心是运用多执行绪的处理特性来避开快取漏失所造成的效能冲击，当快取漏失发生时，核心会转去处理另一个执行绪（在此假设还有其他可放置的待处理位置，每个核最多可执掌4个执行绪），在处理的同时，原先漏失的的需求资料，也会在这时候以背景作业的方式自外部主内存提取到处理器内。如此虽然每个执行绪的处理速度会较慢，但每个核心的整体处理进出量及运算利用率反而是大幅提高。而这也意味着快取漏失的冲击影响被大幅降低，这样UltraSPARC T1就能以较少的内建快取内存而仍可维持大量的进出处理执行效率，快取内存的容量不再需要大到得容纳执行核心所需的所有资料或绝大多数的资料，只要能容纳每个执行绪最近所漏失而必须提取至处理器内的资料。

## 目标市场

UltraSPARC T1有其独到的功效能力使其能专注、适合在特有的市场，而不是用在高阶财务数字运算及超高效能的应用，它是锁定在网络方面的高需求伺服运算上，如高流量的网站服务器，这类的伺服运算会用到大量的执行绪，且各执行绪间没有相依性，或者是没有太高的相依性，各绪相当的个别独立。

不过，UltraSPARC T1的设计上也有个局限，那就是整个处理器内仅有1个浮点运算单元，且使用上由8个核心所共享，因此UltraSPARC T1不适合用来执行具有大量浮点运算的应用程序。然而，这颗处理器所想定的互联网服务器应用市场本就不常用到大量的浮点运算，太阳微系统方面不认为在这个市场上这将成为一个问题。

- - 附注：文章虽如此翻译，但我持有另一个看法，即是太阳微系统为了及早推出UltraSPARC T1处理器，因此将重要性较次的设计项目加以精省，而浮点运算、加密运算皆在此列，所以UltraSPARC T1仅有8个整数运算核心，但却没有8个浮点数运算核心及8个加密运算核心，反而是只有1个浮点数运算核心与1个加密运算核心，而这些已在后续的新款处理器中得到补足强化。

已经证实这些问题已经在升阳的下一代芯片UltraSPARC T2中得到解决。这款芯片将具有8个核，每个核具有8个硬件线程支持能力（这比UltraSPARC-T1多一倍）。同时，每个核心都具有独立的浮点运算单元。因此，这款芯片的浮点运算能力甚至可用于高性能计算领域（需要大量浮点运算支持）。

同为多核心处理器，Sun的Niagara系列芯片（UltraSPARC T1, T2）与IBM的多核心芯片Cell显著不同。首先，前者是对等结构，各核之间地位对等、没有差异；而后者是主从结构。其次，前者的每个核心均具有完整的SPARC V9指令集支持能力，均可独立执行任何指令，理论上二进制代码可以直接运行；后者只有一个Power核心作为主控，其余核心实质上都是矢量处理单元（VPE），只负责执行SIMD指令，如果要充分发挥其处理能力，应用程序必须以SIMD指令重写。以上不同造成了两款芯片面向不同应用的事实，即前者适合于处理无规则数据流，如网络服务器；后者适合大批量规则运算，如做为游戏机处理芯片。

## 研发代号：“Rock”

UltraSPARC T1是针对单颗CPU的系统所设计，所以它不具备对称处理（SMP）能力，即由UltraSPARC T1组成的系统，最多只能有一颗多核心芯片。而未来昇阳的CMT UltraSPARC处理器，如Rock（研发代号）将会是多颗处理芯片的服务器架构，多颗多核心Rock芯片将能组成对称多处理机（SMP）系统，进一步扩展运算能力。Rock处理器将锁定在传统资料运算工作，如数据库执行。因此，Rock看来将成为太阳微系统在SMP架构处理器上的新接替，预计会取代现有的UltraSPARC III、UltraSPARC IV。

与UltraSPARC T1不同的，Rock重视且强化浮点运算的能力。另外根据太阳微系统的透露，Rock上将具有一种Hardware Scout（硬件侦测，硬件侦察）功能，是以多执行绪式的硬件线路设计让Rock具有数据预取（prefetching）的能力。

此外，Rock不是用来接替UltraSPARC T1，太阳微系统已公开其UltraSPARC T2（Niagara 2）处理器的计划，Niagara 2将与UltraSPARC T1相同，皆诉求在网络型运算。

## UltraSPARC T2

UltraSPARC T2是太阳微系统所研发的 8 核心处理器，每个核心最高可执掌8个执行绪，即可同时执行64个执行绪；且每个核心皆会配属到1个浮点运算单元，即是一颗T2处理器内会有8个浮点运算单元。

## 开放原码

2006年3月21日，太阳微系统将UltraSPARC T1的相关原始程式码，以GPL（GNU General Public License）授权的方式加以公开公布，而公开的项目包括：

- UltraSPARC T1在逻辑电路设计上的原始程式码（使用Verilog语言）
- 验证套件与电路功效的模拟推演模型
- 指令集的规格（2005年的UltraSPARC架构版本）
- Solaris 10操作系统在推演模拟之用时的系统映象档（Image）

## 操作系统支持

- Solaris
- Ubuntu

## 外部链接

- 在太阳微系统的官方正式网站上，关于UltraSPARC T1处理器的资讯
- 太阳微系统发表八核处理器 – 2005年11月14日，作者：Jessica Davis，出处：Electronic News
- OpenSPARC – 太阳微系统的OpenSPARC网站
- UltraSPARC T1 Project home - UltraSPARC T1专案网站

## 基本资料

- 产品化：2005
- CPU主频范围：1.0
- CPU主频范围：1.4
- CPU主频范围：GHz
- 设计团队：Sun Microsystems
- manuf1：Texas Instruments
- core1：S1
- 指令集架构：SPARC V9
- 核心数量：4, 6, 8
- 继任：UltraSPARC T2