|||
前次写到“组成无关”(微结构无关)应该是指令系统设计的第6个原则。
在IBM 801、Berkeley RISC、Stanford MIPS等先驱之后,RISC指令系统已经成为共识,美国几个计算机大厂分进入RISC指令系统设计领域。来看看1996年出版的CAQA第二版中RISC综述中的指令系统列表,如下图所示。有意思的是,作者没有介绍Alpha指令系统是因为没有版面了,还是因为和MIPS太像了。
惠普的PA-RISC、IBM的PowerPC和DEC的Alpha都是1980年代末、1990年代初推出的,其中PA-RISC最早。惠普公司是硅谷的创始者这一,早期以测试检测设备起家,1970年代向计算机领域转型,采用Intel和Motorola的芯片设计微机,采用自研芯片设计小型机。1981年开始组织人力研究处理器指令系统,并在1986年推出了PA-RISC指令系统,PA是精确架构Precision Architecture的缩写。这个工作的主要思想发表在1985年HP Journal第8期上,名为Beyond RISC。【1】
从这个项目的名称Spectrum(频谱),设计目标是广泛的市场适应性,工艺无关和实现无关、支持容易地将已有的软件应用移植到新的系统。惠普公司处理器设计方面没有历史“包袱”(兼容),全部重新开始。研究方法采用不断迭代的方法,从评估已有软件的性能和特性出发。研究组主要在IBM 370上统计了大量程序行为的统计信息,得出结论是采用RISC指令系统。【2】【3】
Spectrum研究项目最终决定大量使用Cache结构,如下图所示,并将Cache和TLB的功能开放给软件可以控制,因此起名精确架构,希望操作系统能对所有硬件通过指令进行精确的控制。
PA-RISC的总体介绍在1986年的HP Journal第8期发表【2】,其设计理念可以从题目中得到“Simple, but not simpler”尽可能简单,但不能太简单。从这篇论文中,可以看出,PA-RISC无疑是大厂设计必出精品,后续30年出现的任何通用处理器几乎没有出现和PA-RISC结构上颠覆性的差异。
遗憾的是PA-RISC和早期的RISC一样也没有做到“组成无关”(微结构无关),PA-RISC采用了delayed branch、delayed load/store和delayed interrupt等等针对单流水线的指令系统架构,为了支持精确中断和延迟转移的矛盾还设计了附加的结构。
PA-RISC曾经在商业竞争中取得过辉煌,市场份额曾经排列在IBM和DEC之后的第3名,但最终在2000年代初在和SUN的竞争中处于劣势,最后虽然提出了著名的EPIC理论,但最终只能和Intel合作设计itanium了。
HP公司是一个产品广泛的公司,测试测量设备、计算机、打印机等等,也许不像其他计算机企业一样“专注”于处理器设计和计算机业务,导致最终HP收购了康柏后,采用x86处理器(价廉物美)设计各类计算机,最终在PC市场上登上了头把交椅,但逐步放弃了PA-RISC。
PA-RISC仍然有很多宝贵的技术可以在设计新时代指令系统时参考:
1 条件执行,这里叫combined operations,指令在完成功能任务的同时检查条件位是否符合,如果不符合则按“无操作NOP”处理。这个技术非常适合在编译中减少短分支指令块对分支预测器的影响。ARMv4指令系统全部指令都是条件执行的,x86后来也加入了cmov指令系列。RISC-V没有这类指令。
2. Cache Hint技术,在load/store指令中有2比特的cc位用来“暗示”硬件该指令的局部性特性或一致性特性。这种编译指导的软硬件协作技术在后继的许多处理指令系统中都经常出现。RISC-V也有这个特征。
PA-RISC的介绍性论文出现在IEEE Computer杂志的1989年第一期【4】,作者是Ruby Lee。Lee教授目前在Princeton大学,曾经提出过面向多媒体的SIMD指令扩展技术,近十几年主要研究安全体系结构,在Cache抗侧信道攻击领域研究成果颇丰。
【1】Joel S. Birnbaum and William S. Worley, Jr. 1985. Beyond RISC: High-Precision Architecture. Hewlett-Packard Journal 36(8): 4-10.
【2】Michael J. Mahon, Ruby Bei-Loh Lee, Terrence C. Miller, Jerome C. Huck, and William R. Bryg. 1986. Hewlett-Packard Precision Architecture: The Processor. Hewlett-Packard Journal 37(8): 4-21.
【3】Joseph A. Lukes. 1986. Hewlett-Packard Precision Architecture Performance Analysis. Hewlett-Packard Journal 37(8): 30-39
【4】Lee, R. B. 1989. "Precision architecture." Computer 22(1): 78-91.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 08:01
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社