HP Saturn
Saturn(土星)四位微处理器系列是惠普在二十世纪八十年代为可编程计算器/微机设计的。它是在更早期计算器中所使用的HP Nut处理器的后继版本。1984年,Saturn芯片组在HP-71B掌上BASIC编程计算机上首先使用。 之后的型号在更流行的HP 48系列计算器上使用。而在NEC代工厂[nb 1]在2003年因技术原因停产该型号处理器之前,HP 49系列也一直使用Saturn处理器。所以,自2003年的HP 49G+问世起,惠普开始用三星基于ARM920T内核(ARMv4T架构)的S3C2410处理器来软模拟Saturn处理器。而2000年的HP 39G和HP 40G也是最后两款基于Saturn硬件的惠普计算器。最后几款基于Saturn模拟器的机型是2006年出产的HP 39gs、HP 40gs以及HP 50g。同样,这也包括2007年出品的hp 48gII。使用这类模拟器的HP 50g也在三星停产该种ARM处理器的2015年停产了。[1][2][3]
架构
[编辑]Saturn是一种基于半字节架构的处理器;这意味着,数据的核心单元是4字节的,这能储存二-十进制编码(BCD)数字。
Saturn微处理器在硬件上是一种64位-20位混合CPU,但它事实上是一种类4位处理器。这是因为它向程序映射了基于半字节的数据并使用基于半字节的寻址系统。主寄存器A、B、C、D和变量寄存器R0、R1、R2、R3、R4是完整的64位的,但数字寄存器D0和D1只有20位。很明显,从外部获取逻辑数据需将其转换为八位物理获取地址。处理器另外提供有一个20位地址总线来编码,由于二十位中有一个高/低半字节选择位,所以只剩下19位可供使用。
Saturn处理器的64位寄存器格式如下:
Bits | 63-60 | 59-56 | 55-52 | 51-48 | 47-44 | 43-40 | 39-36 | 35-32 | 31-28 | 27-24 | 23-20 | 19-16 | 15-12 | 11-8 | 7-4 | 3-0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
半字节 | F | E | D | C | B | A | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
寄存器字域 | wwww | wwww | wwww | wwww | wwww | wwww | wwww | wwww | wwww | wwww | wwww | wwww | wwww | wwww | wwww | wwww |
数域 | ssss | mmmm | mmmm | mmmm | mmmm | mmmm | mmmm | mmmm | mmmm | mmmm | mmmm | mmmm | mmmm | xxxx | xxxx | xxxx |
地址域 | ???? | ???? | ???? | ???? | ???? | ???? | ???? | ???? | ???? | ???? | ???? | aaaa | aaaa | aaaa | aaaa | aaaa |
字节段 | ???? | ???? | ???? | ???? | ???? | ???? | ???? | ???? | ???? | ???? | ???? | ???? | ???? | ssss | bbbb | bbbb |
Saturn有四个通用寄存器和五个暂存寄存器。它们都是64位的。在计算方面,通用寄存器中的数据能在半字节范围内被存取和使用。反之,暂存寄存器只允许读取和存储指令的执行。64位(16半字节)能存储有标志半字节BCD格式浮点数编码。即,12位小数和BCD格式的三位数(±499)。[4] BCD的使用代替了标准二进制表示法是更计算友好的,这消除了舍入误差。这主要出现在二进制-十进制转换过程中。
为了更好的内存使用效率,Saturn的地址也是基于半字节的。三个指针 寄存器(包括指令计数器)和内存地址数据路径都是二十位的,因此,在Saturn架构中,1百万半字节=512千字节。超过这个容量范围的(例如HP 48GX)使用了存储体切换技术。
在HP 48S/SX和48G/GX系列里,Saturn处理器内核是集成在更复杂的集成电路(IC)模块中的。这些模块的代号源自于刘易斯与克拉克远征的两个主人翁。S/SX的IC代号为“克拉克”,而这是威廉·克拉克 (探险家)的名字。而G/GX的代号是“约克”。这是克拉克家里女仆的名字。上述基于Saturn处理器的芯片组的统一代号为“刘易斯”,这是梅里韦瑟·刘易斯的名字。
芯片组与应用
[编辑]最初的Saturn处理器代号与这个指令集架构是一样的。但后来的芯片有它们自己的芯片代号。
代 | 处理器代号 | 应用的计算器型号 | 性能 |
---|---|---|---|
0 | Saturn (1LF2) | HP-44A, HP-71B (1984) | |
? | (1LJ7) | ThinkJet 打印机(1984),带有一个内建的HP Integral PC (1985) | |
1 | Saturn (1LK7) | HP-18C (1986), HP-28C (1987), HP-71B | 640 kHz,有更多的指令。 |
Bert[5] (1LU7)[5] | HP-10B (1988), HP-20S (1988), HP-21S | 640 kHz, 10 KB ROM, 256 字节的RAM, LCD驱动 | |
Sacajawea[5] (1LR3, 1LE2) | HP-14B, HP-22S, HP-32S (1988), HP-32S+, HP-32SII (1991) | 640 kHz, 16 KB ROM, 512 字节的RAM, LCD驱动 | |
Lewis[5] (1LR2, 1LT8) | HP-17B (1988), HP 17BII (1990), HP-19B (1988), HP 19BII (1990), HP-27S (1988), HP-28S (1988), HP-42S (1988) | 1 MHz, 64 KB ROM, LCD驱动, 存储控制器, 红外 控制, 3V CMOS | |
2 | Clarke[5] (1LT8)[5] | HP 48SX (1990), HP 48S (1990) | 2 MHz, LCD 控制器, 存储控制器, UART和红外控制,以及更多的指令 |
3 | Yorke[5] (1LT8) | HP 38G (1995), HP 38G+ (1998), HP 39G (2000), HP 40G (2000), HP 48GX (1993), HP 48G (1993),[nb 1] HP 48G+ (1998), HP 49G (1999) | 3.68-4 MHz, LCD 控制器,存储控制器, UART和红外,由NEC制造,更多的指令,有时也被称作Saturn 5平台。 |
New-Yorke | HP 48GX prototype | 8 MHz, LCD控制器,存储控制器, UART和红外控制。这只在惠普公司内部测试过,并未公开发售。[来源请求]Template:Discuss | |
4 | Apple系列(Big Apple,[5] Mid Apple,[5] Little Apple) | hp 39g+ (2003), HP 39gs (2006), HP 40gs (2006), hp 49g+ (2003), hp 48gII (2003/2007), HP 50g (2006) | 由48/75 MHz的ARMv4T内核的ARM920T处理器,三星 S3C2410模拟的Yorke CPU。亦称带有增补虚拟指令的Saturn+。 |
注释
[编辑]参考资料
[编辑]- ^ Kuperus, Klaas. HP 50g: End of an era. Moravia. 2015-03-04 [2018-11-13]. (原始内容存档于2015-04-02).
- ^ Kuperus, Klaas. HP 50g not so good news?. Moravia. 2015-03-06 [2016-01-01]. (原始内容存档于2018-07-08).
- ^ Wessman, Timothy James. Windows 10 won't allow HP 50g USB drivers to be installed. HP Museum. 2015-12-26 [2016-01-01]. (原始内容存档于2018-07-08).
- ^ "Introduction to Saturn Assembly Language (PDF)" (页面存档备份,存于互联网档案馆) (P104,"56.1 Real number"). If the exponent is negative, the exponent is encoded as "1000 - ABS(exponent)".
- ^ 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 Finseth, Craig A. names. 2016-12-23 [2017-12-21]. (原始内容存档于2017-12-21).
扩展阅读
[编辑]- Mastracci, Matthew. Guide to the Saturn Processor (With HP48 Applications). 1.0b. 1998 [1995] [2006-05-03]. (原始内容存档于2016-08-06).
- Courbis, Paul; Lalande, Sébastien. Voyage au centre de la HP28c/s 2. Paris, France: Editions de la Règle à Calcul. 2006-06-27 [1989] [2015-09-06]. OCLC 636072913. (原始内容存档于2016-08-06) (法语). [1] [2] [3] [4] [5] [6]
- Courbis, Paul; Lalande, Sébastien. HP48 Machine Language - A Journey to the Center of the HP 48s/sx. 由Cannon, Douglas R.翻译 2nd. Corvallis, Oregon, USA: Grapevine Publications, Inc. 2006-06-25 [1993] [2015-09-06]. OCLC 34148948. (原始内容存档于2018-11-14). [7] [8] [9] [10] [11] [12]
- Courbis, Paul; Lalande, Sébastien. Voyage au centre de la HP48 s/sx. 3.02 3rd. Paris, France: Editions Angkor. 2006-06-25 [1991] [2015-09-06]. ISBN 2-87892-003-1. OCLC 29640044. (原始内容存档于2018-11-13) (法语). [13] [14] [15] [16] [17] [18] [19]
- Courbis, Paul. Voyage au centre de la HP48 g/gx. 3.05 3rd. Paris, France: Editions Angkor. 2006-06-25 [1993] [2015-09-06]. ISBN 2-87892-006-6. OCLC 29640044. (原始内容存档于2016-08-06) (法语). [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31]
- Courbis, Paul; de Brébisson, Cyrille. Le compagnon de Voyage de la HP48 G/GX. Paris, France: Editions Angkor. March 1994 [2015-09-06]. ISBN 2-87892-007-4. (原始内容存档于2016-08-06) (法语). [32]
- Fernandes, Gilbert. Eric Rechlin , 编. Introduction to Saturn Assembly Language (ZIP, PDF) 3rd. hpcalc.org. 2005-07-16 [2009-02-17]. (原始内容存档于2016-08-06). [33]