HP Saturn

Saturn
Photo of HP48SX 1LT8 SoC die containing an embedded Saturn CPU
Photo of the exposed die of the HP 1LT8 Clarke SoC which contains the embedded Saturn microprocessor manufactured by HP for use in the HP 48SX
DesignerHewlett-Packard
BitsHybrid 64-bit GPR, 20-bit address bus, 4-bit datapath, 4-bit minimum word size
Introduced1984
Version"Level 2"
DesignCISC
TypeCombination of a load–store architecture with some exceptions which fall into the register–memory architecture family
EncodingVariable
BranchingCarry bit, "sticky" bit and other flag registers
EndiannessLittle-endian
Page sizeNo MMU or paging available
ExtensionsOnly extensions for emulated ARM-based "virtual" CPUs
OpenProprietary
PredecessorNut
Registers
Nine 64-bit GPR and "scratch" registers, two 20-bit "data pointer" registers and other miscellaneous registers
General-purposeFour 64-bit GPRs
Floating pointNo FPU registers
VectorNo vector registers

The Saturn family of 4-bit (datapath) microprocessors was developed by Hewlett-Packard in the 1980s first for the HP-71B handheld computer, released in 1984, and later for various HP calculators (starting with the HP-18C). It succeeded the Nut family of processors used in earlier calculators. The HP48SX and HP48S were the last models to use HP manufactured Saturn processors, later models used processors manufactured by NEC. The HP 49 series initially used the Saturn CPU until the NEC fab[nb 1] could no longer manufacture the processor for technical reasons in 2003. Starting with the HP 49g+ model in 2003, the calculators switched to a Samsung S3C2410 processor with an ARM920T core (part of the ARMv4T architecture) which ran an emulator of the Saturn hardware in software. In 2000, the HP 39G and HP 40G were the last calculators introduced based on the actual NEC fabricated Saturn hardware. The last calculators introduced to use the Saturn emulator were the HP 39gs, HP 40gs and HP 50g in 2006, as well as the 2007 revision of the hp 48gII. The HP 50g was the last calculator sold by HP using this emulator when it was discontinued in 2015 due to Samsung stopping production of the ARM processor on which it was based.[1][2][3]

Architecture

The Saturn hardware is a nibble serial design[4] as opposed to its Nut predecessor, which was bit-serial.[5] Internally, the Saturn CPU has four 4-bit data buses that allow for nearly 1-cycle per nibble performance with one or two buses acting as a source and one or two acting as a destination.[4] The smallest addressable word is a 4-bit nibble which can hold one binary-coded decimal (BCD) digit. Any unit of data in the registers larger than a nibble, up to 64-bits, can be operated on as a whole, however the Saturn CPU performs the operation serially on a nibble-by-nibble basis internally.[4]

The Saturn architecture has an internal register width of 64 bits and 20-bits of address, with memory being addressed to 4-bit (nibble) granularity. Saturn ALU instructions support variable data width, operating on one to 16 nibbles of a word. The original Saturn CPU chips provided a four-bit external data bus, but later Saturn-based SoCs included on chip bus conversion to an 8-bit external data bus and 19-bit external address bus.

The Saturn architecture has four 64-bit GPRs (General Purpose Registers), named A, B, C and D. In addition, there are also five 64-bit "scratch" registers named R0, R1, R2, R3 and R4. These can only store data. If an ALU operation is required for data in a scratch register, then the register in question must be transferred to a GPR first. Other registers include a 1-nibble "pointer" register named P, usually used to select a nibble in a GPR or a range of nibbles (or for aligning immediate data on a specific nibble in a GPR, with wrap-around). For memory access, there are two 20-bit data pointer registers named D0 and D1. The Saturn architecture also has a PC or program counter register which can interoperate with the GPRs. There is also an 8-level, circular, LIFO 20-bit hardware return stack named RSTK used when a subroutine call instruction is issued. Additionally, the Saturn CPU is equipped with a 16-bit software status register named ST and a 1-nibble hardware status register named HS, which notably, contains the SB or "sticky bit" flag indicating whether a binary 1 was right shifted off of a GPR. Furthermore, the Saturn architecture has a 12-bit OUT register and a 16-bit IN register, which in the Yorke and Clarke SoCs, are used to capture input from the keyboard and also control the beeper. There is also a 1-bit carry flag register.

In addition to the above, the Saturn CPU has a simple, non-prioritized interrupt system. When an interrupt occurs, the CPU finishes executing the current instruction, saves the program counter to the hardware return stack (RSTK) and jumps to address 0x0000Fh, where the preceding value is in nibbles.[4] The CPU also interacts with the keyboard scanning logic directly.

The following diagram depicts the registers (with each white square being 4-bits / a nibble except for the Carry flag, which is 1 bit):

"Graphical representation of HP Saturn register fields"
HP Saturn registers

Saturn 64-bit GPR register format and fields:

HP Saturn register fields
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 
Nibble F E D C B A 9 8 7 6 5 4 3 2 1 0
Fields   XS B
  A
S M X
W
P=0   P
P=7   WP

Data in the general purpose registers can be accessed via fields that fall on nibble boundaries, whereas the scratch registers allow only load and store operations. The fields, as shown in the above diagram, are W (whole 64-bit GPR), A (address, first 5 nibbles of a GPR), S (sign of mantissa, most significant nibble of a GPR), XS (exponent sign, nibble 2 of a GPR), M (mantissa, nibbles 3–14 of a GPR), X (exponent, first 3 nibbles of a GPR) and B (first byte of a GPR). In addition, there is the P field which selects a nibble from a GPR based on the P register's 4-bit value. Also, there is the WP field which selects nibbles 0 through the nibble selected in the P register. The 64 bits (16 nibbles) can hold BCD-formatted coded floating point numbers composed of a sign nibble (which is "9" if the number is negative), 12 mantissa digits and a 3-digit 10's complement exponent stored in BCD format (±499).[6] The internal representation of BCD floating point values are a 15-digit mantissa with one sign nibble in one register combined with a 20-bit exponent, in 10's complement format, in another register. The use of BCD instead of straight binary representation is advantageous for calculators as it avoids rounding problems that occur on the binary/decimal conversion.

The Saturn CPU's instruction and data addresses are also nibble-based. The three pointer registers (including the program counter) and address registers are 20 bits wide. Due to this, the Saturn architecture can address 1 M nibbles or, equivalently, 512 K bytes. Beyond that size (e.g. in the 48GX), bank switching is used.

The original HP-71B handheld computer and the HP-28C had the Saturn processor as a separate chip. In the HP 48S/SX, 48G/GX series and HP-28S, HP-27S, HP-42S, HP-32SII and HP-20S, the Saturn CPU core is integrated as part of a more complex integrated circuit (IC) SoC.

Example code

The following is an integer implementation of a BCD decimal square root algorithm in Saturn Jazz / HP Tools assembly syntax:

** In the following A.W is assumed to contain the argument (< 1E14).
** The result (IP(SQRT(A.W))) is in C.W:

        SETDEC
        ASL     W
        C=A     W
        A=A+A   W  
        A=A+A   W
        A=A+C   W
        ASR     W
        C=0     W
        P=      13
        LC(1)   5      
-       CSR     WP
        C=C-1   P  
--      C=C+1   P  
        A=A-C   W  
        GONC    --                  
        A=A+C   W  
        CSR     W  
        P=P-1                   
        P=P-1           
        GONC    -
        SETHEX
        A=C     W

Chipsets and applications

The original Saturn CPU gave its name to the entire instruction set architecture. Later chips had their own code names:

ISA level Processor code-name Used in calculator models Properties
0[7][8] Saturn (1LF2) HP-44A, HP-71B (1984)
1[7][8] Saturn (1LK7) HP-18C (1986), HP-28C (1987), HP-71B 640 kHz, more instructions
2[7][8] Bert[9] (1LU7)[9] HP-10B (1988), HP-20S (1988), HP-21S 640 kHz, 10 KB ROM, 256 bytes RAM, LCD driver
2[7][8] Sacajawea[9] (1LR3) HP-14B, HP-22S, HP-32S (1988), HP-32S+, HP-32SII (1991) 640 kHz, 16 KB ROM, 512 bytes RAM, LCD driver
2[7][8] Lewis[9] (1LR2) 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 driver, memory controller, IR control, 3 V CMOS
2[7][8] Clarke[9] (1LT8)[9] HP 48SX (1990), HP 48S (1991) 2 MHz, LCD controller, memory controller, UART and IR control, more instructions
2[7][8] Yorke[9] 00048-80063[10] 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 controller, memory controller, UART and IR control, manufactured by NEC, more instructions, sometimes also known as Saturn 5 platform
? New-Yorke HP 48GX prototype 8 MHz, LCD controller, memory controller, UART and IR control. This was only made as an internal HP prototype and never released in the wild.[11][12]
2[7][8][nb 2] Apple series (Big Apple,[9] Mid Apple,[9] Little Apple) hp 39g+ (2003), HP 39gs (2006), HP 40gs (2006), hp 49g+ (2003), hp 48gII (2003/2007), HP 50g (2006) Virtual version of the Yorke CPU emulated by members of the 48/75 MHz Samsung S3C2410 processor family with ARM920T core (of the ARMv4T architecture) aka Saturn+ with additional virtual instructions

The CPU code-names are inspired by members of the Lewis and Clark Expedition of 1804–1806, the first United States overland expedition to the Pacific coast and back. The virtual CPU / emulator code names were inspired by the prototype "New-Yorke" Saturn-based 8 MHz SoC that never made it to production.[12] According to one of the ACO (Australian Calculator Operation) members, "Big Apple" was derived from the code name "New-Yorke" of the prototype 8 MHz Saturn-based SoC in a reference to New York city, hence the names "Big apple", "Mid Apple" and "Little Apple".[12]

See also

Notes

  1. ^ a b In the HP 48G, the Saturn processor is labelled "NEC Japan, D3004GD, 00048-80063, 9738PX002".
  2. ^ In the emulated / virtual "Apple" series Saturn CPUs, the ISA level / version is "2" but with virtual opcode extensions.

References

  1. ^ Kuperus, Klaas (2015-03-04). "HP 50g: End of an era". forum.hp-prime.de. Moravia. Archived from the original on 2015-04-02.
  2. ^ Kuperus, Klaas (2015-03-06). "HP 50g not so good news?". HP Museum. Moravia. Archived from the original on 2018-07-08. Retrieved 2016-01-01.
  3. ^ Wessman, Timothy "Tim" James (2015-12-26). "Windows 10 won't allow HP 50g USB drivers to be installed". HP Museum. Archived from the original on 2018-07-08. Retrieved 2016-01-01.
  4. ^ a b c d "3.1 Processor Overview". HP-71B Hardware Internal Design Specification. Hewlett Packard Corporation. September 1984. p. 3-1. 00071-90071.
  5. ^ HP-41C CPU, Display Driver, HP-IL, Data Storage, Timer IC, and Interface IC Specifications. Hewlett Packard Corporation. July 1981. p. 5.
  6. ^ Fernandes, Gilbert Henri (2005-07-16) [1999-01-29]. "Chapter 56.1 Real number". In Rechlin, Eric (ed.). Introduction to Saturn Assembly Language (3rd ed.). hpcalc.org. p. 104. ID 1693. Archived from the original on 2018-11-13. Retrieved 2019-04-29. If the exponent is negative, the exponent is encoded as "1000 - ABS(exponent)" [1]
  7. ^ a b c d e f g h Donnini, Giuseppe (2020-06-26). ""New-Yorke" ?". www.hpmuseum.org. Retrieved 2020-07-06.
  8. ^ a b c d e f g h "The Saturn assembler manual". www.hpcalc.org. Hewlett Packard. 1993-08-20. Retrieved 2020-07-06.
  9. ^ a b c d e f g h i Finseth, Craig A. (2016-12-23). "names". Archived from the original on 2017-12-21. Retrieved 2017-12-21.
  10. ^ Arnett, Dave (1994-05-03). "Name that chip!". Newsgroupcomp.sys.hp48. Archived from the original on 2019-04-29. Retrieved 2019-04-22.
  11. ^ de Brébisson, Cyrille (2020-06-17). "RE: "New-Yorke" ?". www.hpmuseum.org. Retrieved 2020-06-18.
  12. ^ a b c de Brébisson, Cyrille (2020-06-16). "RE: "New-Yorke" ?". www.hpmuseum.org. Retrieved 2020-06-18.

Further reading

Read other articles:

Letak Richmond di Virginia Richmond merupakan sebuah kota di Amerika Serikat. Kota ini letaknya di bagian timur. Tepatnya di negara bagian Virginia. Pada tahun 2010, kota ini memiliki jumlah penduduk sebesar 204.214 jiwa dan memiliki luas wilayah 162 km². Kota ini memiliki angka kepadatan penduduk sebesar 1.239,8 jiwa/km². Pranala luar Situs Resmi Diarsipkan 2012-01-03 di Wayback Machine. James River Parks Richmond Chamber of Commerce Richmond Region Tourism Website Diarsipkan 2007-04-...

 

 

Essex-class aircraft carrier of the US Navy For other ships with the same name, see USS Hancock. CV-19 redirects here. For the disease, see COVID-19. USS Hancock off Pearl Harbor, 1968 History United States NameHancock NamesakeJohn Hancock BuilderFore River Shipyard Laid down26 January 1943 Launched24 January 1944 Commissioned15 April 1944 Decommissioned9 May 1947 Recommissioned15 February 1954 Decommissioned30 January 1976 General characteristics Class and typeEssex-class aircraft carrier Di...

 

 

Dodi Agus Prasetyo Kepala Dinas Pendidikan Angkatan LautPetahanaMulai menjabat 26 Juni 2023PendahuluArif BadrudinPenggantiPetahana Informasi pribadiLahirIndonesiaKebangsaan IndonesiaAlma materAkademi Angkatan Laut (1996)Karier militerPihak IndonesiaDinas/cabang TNI Angkatan LautMasa dinas1996—sekarangPangkat Laksamana Pertama TNINRP12625/PSatuanKorps PelautSunting kotak info • L • B Laksamana Pertama TNI Dodi Agus Prasetyo, S.Pi., M.A.P., CHRMP., CRMP., M.Tr...

NFL team season (won 3rd Super Bowl) 1988 San Francisco 49ers seasonOwnerEddie DeBartolo, Jr.General managerJohn McVayHead coachBill WalshDefensive coordinatorGeorge SeifertHome fieldCandlestick ParkLocal radioKGO–AM 810ResultsRecord10–6Division place1st NFC WestPlayoff finishWon Divisional Playoffs(vs. Vikings) 34–9Won NFC Championship(at Bears) 28–3Won Super Bowl XXIII(vs. Bengals) 20–16 ← 1987 49ers seasons 1989 → The 1988 season was the San Francisco 4...

 

 

Bahasa TidongBPS: 0474 3 Camucones, Tedong, Tidoeng, Tidung, Tiran, Tirones, Tiroon, Zedong Dituturkan diIndonesia, MalaysiaWilayahKalimantan Utara dan SabahPenutur27.000 di Indonesia (SIL, 2007) dan 20.000 di Malaysia (2000) Rumpun bahasaAustronesia Melayu-PolinesiaBorneo UtaraSarawakan UtaraDayikMurutikTidongTidong Kode bahasaISO 639-1-ISO 639-2-ISO 639-3Mencakup:ntd – Bahasa Tidung Sesayap (Malaysia)itd – Bahasa Tidung Nunukan (Indonesia)BPS (2010)0474 3 &...

 

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Taipei Nan Shan Plaza – news · newspapers · books · scholar · JSTOR (December 2017) (Learn how and when to remove this message) Office building, department store in Taipei, TaiwanTaipei Nan Shan Plaza臺北南山廣場Taipei Nan Shan Plaza in 2023General inform...

Para otros usos de este término, véase otoño (desambiguación). Árbol en otoño. Zapala, Neuquén Esquema a modo ilustrativo de las estaciones del año. Follaje otoñal visto desde la montaña Hogback, en Wilmington (Vermont, Estados Unidos). Otoño en Brasil. Estatua alegórica del otoño en el señorío de pazo de Lóngora (Liáns, Oleiros, España). Hojas muertas. El otoño es una de las cuatro estaciones del año de las zonas templadas, y de las dos estaciones de la zona intertropica...

 

 

1980 single by Toto CutugnoSolo noiSingle by Toto Cutugnofrom the album Voglio l'anima (re-issue) B-sideLiberiReleased7 February 1980LabelCaroselloSongwriter(s)Toto CutugnoProducer(s)Cristiano MinellonoToto Cutugno singles chronology Voglio l'anima (1979) Solo noi (1980) Innamorati (1980) AudioSolo noi on YouTube Solo noi (transl. Only us) is a 1980 song composed and performed by Toto Cutugno. It won the 30th edition of the Sanremo Music Festival. Background The song marked Cutugno's solo deb...

 

 

此條目需要补充更多来源。 (2021年7月4日)请协助補充多方面可靠来源以改善这篇条目,无法查证的内容可能會因為异议提出而被移除。致使用者:请搜索一下条目的标题(来源搜索:美国众议院 — 网页、新闻、书籍、学术、图像),以检查网络上是否存在该主题的更多可靠来源(判定指引)。 美國眾議院 United States House of Representatives第118届美国国会众议院徽章 众议院旗...

Hitler posing for pictures with his staff, 1940 Adolf Hitler, dictator of Germany from 1933 to 1945, employed a personal staff, which represented different branches and offices throughout his political career.[1] He maintained a group of aides-de-camp and adjutants, including Martin Bormann's younger brother Albert in the National Socialist Motor Corps (NSKK), Friedrich Hoßbach of the Wehrmacht, who was sacked for unfavourable conduct, and Fritz Darges of the Schutzstaffel (SS), who...

 

 

President of Honduras from 1986 to 1990 In this Spanish name, the first or paternal surname is Azcona and the second or maternal family name is del Hoyo. José AzconaAzcona in 1987President of HondurasIn office27 January 1986 – 27 January 1990Vice PresidentJosé Pineda GómezPreceded byRoberto Suazo CórdovaSucceeded byRafael Leonardo Callejas Personal detailsBornJosé Simón Azcona del Hoyo(1927-01-26)26 January 1927La Ceiba, Atlántida Department, HondurasDied24 October 2...

 

 

Private art school in Georgia, U.S. Savannah College of Art and DesignMottoArs longa, vita brevisMotto in EnglishArt is long, life is shortTypePrivate art schoolEstablished1978AccreditationSACSAcademic affiliationsNAAB, HKCAAVQ, CIDQEndowment$185 million (2019)[1]PresidentPaula S. WallaceAcademic staff720Administrative staff1,186Students14,840 (2019)[2]Undergraduates12,167 (2019)Postgraduates2,637 (2019)LocationSavannah and Atlanta, Georgia, U.S.; Lacoste, France32°04′...

Reservoir in KanagawaLake Sagami(2007)Lake SagamiLocationKanagawaCoordinates35°36′50″N 139°11′0″E / 35.61389°N 139.18333°E / 35.61389; 139.18333TypereservoirPrimary inflowsSagami River[1]Primary outflowsSagami RiverCatchment area1.064 km2 (0.411 sq mi)[1]Basin countriesJapanSurface area3 km2 (1.2 sq mi)Average depth19 m (62 ft)[2]Max. depth32 m (105 ft)[2]Water volume63,2...

 

 

1987 New Jersey General Assembly election ← 1985 November 5, 1987 1989 → All 80 seats in the New Jersey General Assembly41 seats needed for a majority   Majority party Minority party   Leader Chuck Hardwick Party Republican Democratic Leader's seat 20th Seats before 50 30 Seats won 42 38 Seat change 8 8 Speaker before election Chuck Hardwick Republican Elected Speaker Chuck Hardwick Republican Elections in New Jersey Federal government U.S....

 

 

Church in Rogaland, NorwaySkjold ChurchSkjold kyrkjeView of the church(Photo: Jarle Vines)59°30′21″N 5°35′22″E / 59.505747°N 5.58937°E / 59.505747; 5.58937LocationVindafjord Municipality,RogalandCountryNorwayDenominationChurch of NorwayChurchmanshipEvangelical LutheranHistoryStatusParish churchFounded13th centuryConsecrated16 May 1999EventsFire (1992)ArchitectureFunctional statusActiveArchitect(s)Nils A. VikanesArchitectural typeOctagonalCompleted1998 (...

Marshal of the Indian Air Force For the Indian conservationist, see Billy Arjan Singh. Marshal of the Indian Air ForceArjan SinghDFCMIAF Arjan Singh in his Marshal of the Indian Air Force uniform12th Lieutenant Governor of DelhiIn officeDec 1989 – Dec 1990Appointed byPresident of India (then, R. Venkataraman)Preceded byRomesh BhandariSucceeded byMarkandey Singh11th High Commissioner of India to KenyaIn office1974–1977PresidentV. V. Giri Fakhruddin Ali Ahmed B. D. Jatti Neelam San...

 

 

日本の政治家関根久蔵せきね きゅうぞう 生年月日 1894年12月20日出生地 日本 埼玉県児玉郡金屋村(現・埼玉県本庄市)没年月日 (1969-03-29) 1969年3月29日(74歳没)前職 農業所属政党 (日本進歩党→)(民主党→)(自由党→)自由民主党称号 正四位勲二等瑞宝章 参議院議員選挙区 全国区当選回数 1回(1度失格)在任期間 (1953年5月3日) - (1954年9月24日)1954年10月17日 ...

 

 

Brass instrument For other uses, see Tuba (disambiguation). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Tuba – news · newspapers · books · scholar · JSTOR (October 2019) (Learn how and when to remove this message) TubaA bass tuba in F with front-action piston valvesBrass instrumentClassification Wind Bra...

Road in Malaysia This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Malaysia Federal Route 237 – news · newspapers · books · scholar · JSTOR (January 2017) (Learn how and when to remove this message) Federal Route 237Jalan Chukai-Air PutihRoute informationLength28.00 km (17.40 mi)Major junctionsW...

 

 

FACOM201パラメトロン電子計算機(1960年、東京理科大学近代科学資料館所蔵) パラメトロン(英: parametron)はフェライトコアのヒステリシス特性による、パラメータ励振現象の分周作用を利用した論理素子である。1954年に当時東京大学大学院理学部高橋秀俊研究室の大学院生であった後藤英一が発明した。真空管やトランジスタの使用量を大幅に削減してコンピュー�...