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]