Ultra Sparc 系列是SUN微电子系统公司设计的一款面向商业用途的芯片,这个系列是目前而言市面上唯一一款开源的64位处理器,也是唯一一款开源的CMT微处理器。可以搜索OpenSparc找到一些相关的资料。
这款芯片的设计思想是建立在流水线优化技术弹尽粮绝的基础之上的,并且用于提高单个线程的性能的技术又会经常使得处理器结构变得很复杂且流水线的利用率和能耗的参数会变得很差劲。所以ultrasparc项目提出了一种基于线程级并行的优化解决方案。其设计是以commercial workload作为背景而设计的,大多数commercial workload在并行的线程上需要很强的扩展性,即需要添加很多并行线程通常而言由于大量的工作线程,commercial workload会存在下面几个问题:
- 指令级的依赖(ILP)很少
- cache中信息丢失率高
- 处理器的速度过快,但是memory中读取的速度很慢
为了解决这些问题UltraSPARC T2流水线负载抛弃了线程级别的memory读写操作(减少memory对指令吞吐量的影响)。此外其还应用了CMT(chip multi-threading)技术,这实现了多达64个硬件线程来保证处理器的吞吐量的目的。
其结构如下图所示: