HP Сатурн
![]() | |
Дизайнер | Хьюлетт-Паккард |
---|---|
Биты | Гибридный 64-битный георадар, 20-битная адресная шина, 4-битный тракт данных, минимальный размер слова 4 бита |
Представлено | 1984 |
Версия | «Уровень 2» |
Дизайн | ЦИСК |
Тип | Комбинация архитектуры загрузки-хранения с некоторыми исключениями, которые попадают в архитектур регистр-память . семейство |
Кодирование | Переменная |
Ветвление | Бит переноса, «липкий» бит и другие регистры флагов. |
Порядок байтов | Прямой порядок байтов |
Размер страницы | Нет MMU или пейджинга. |
Расширения | Только расширения для эмулируемых ARM . «виртуальных» процессоров на базе |
Открыть | Собственный |
Предшественник | Орех |
Регистры | |
Девять 64-битных регистров GPR и «скретч», два 20-битных регистра «указатель данных» и другие разные регистры. | |
общего назначения | Четыре 64-битных георадара |
Плавающая точка | Нет регистров FPU |
Вектор | Нет векторных регистров |
Семейство было ( 4-битных datapath ) микропроцессоров Saturn разработано компанией Hewlett-Packard в 1980-х годах сначала для карманного компьютера HP-71B , выпущенного в 1984 году, а позднее для различных калькуляторов HP (начиная с HP-18C ). Он пришел на смену процессорам семейства Nut , использовавшимся в более ранних калькуляторах. HP48SX и HP48S были последними моделями, в которых использовались процессоры Saturn производства HP, в более поздних моделях использовались процессоры производства NEC . В серии HP 49 изначально использовался процессор Saturn, пока не появилась фабрика NEC. [номер 1] в 2003 году процессор больше не мог производиться по техническим причинам. Начиная с модели HP 49g+ в 2003 году, калькуляторы перешли на процессор Samsung S3C2410 с ядром ARM920T (часть архитектуры ARMv4T ), на котором в программном обеспечении использовался эмулятор аппаратного обеспечения Saturn. . В 2000 году HP 39G и HP 40G были последними калькуляторами, представленными на базе аппаратного обеспечения Saturn, произведенного NEC. Последними калькуляторами, использующими эмулятор Saturn, были HP 39gs , HP 40gs и HP 50g в 2006 году, а также версия hp 48gII 2007 года . HP 50g был последним калькулятором, проданным HP с использованием этого эмулятора, когда он был снят с производства в 2015 году из-за прекращения производства процессора ARM, на котором он был основан, Samsung. [1] [2] [3]
Архитектура
[ редактировать ]Аппаратура Сатурна представляет собой серийную конструкцию. [4] в отличие от своего предшественника Nut , который был бит-последовательным . [5] Внутри ЦП Saturn имеет четыре 4-битные шины данных, которые обеспечивают производительность почти 1 такт на каждый полубайт, при этом одна или две шины действуют как источник, а одна или две - как пункт назначения. [4] Наименьшее адресное слово — это 4-битный полубайт, который может содержать одну цифру в двоично-десятичном формате (BCD). Любая единица данных в регистрах размером больше полубайта, вплоть до 64 бит, может обрабатываться целиком, однако ЦП Saturn выполняет операцию последовательно, по полубайту внутри страны. [4]
Архитектура Saturn имеет внутреннюю ширину регистра 64 бита и 20 бит адреса, при этом память адресуется с 4-битной (полубайтной) степенью детализации. Инструкции Saturn ALU поддерживают переменную ширину данных, оперируя от одного до 16 полубайтами слова. Первоначальные чипы ЦП Saturn обеспечивали четырехбитную внешнюю шину данных, но позже SoC на базе Saturn включили преобразование шины чипа в 8-битную внешнюю шину данных и 19-битную внешнюю адресную шину.
Архитектура Saturn имеет четыре 64-битных GPR (регистра общего назначения) с именами A, B, C и D. Кроме того, имеется также пять 64-битных «рабочих» регистров с именами R0, R1, R2, R3 и R4. Они могут только хранить данные. Если для данных в рабочем регистре требуется операция ALU, то соответствующий регистр необходимо сначала передать в георадар. Другие регистры включают в себя регистр «указателя» с 1 полубайтом с именем P, который обычно используется для выбора полубайта в георадаре или диапазона полубайтов (или для выравнивания непосредственных данных по определенному полубайту в георадаре с циклическим циклом). Для доступа к памяти имеются два 20-битных регистра-указателя данных с именами D0 и D1. Архитектура Saturn также имеет регистр счетчика ПК или программы , который может взаимодействовать с георадарами. Существует также 8-уровневый циклический 20-битный аппаратный стек возврата LIFO под названием RSTK, используемый при выдаче инструкции вызова подпрограммы. Кроме того, ЦП Saturn оснащен 16-битным программным регистром состояния с именем ST и 1-байтовым регистром состояния аппаратного обеспечения с именем HS, который, в частности, содержит флаг SB или «липкий бит», указывающий, была ли двоичная 1 сдвинута вправо. георадар. Кроме того, архитектура Saturn имеет 12-битный регистр OUT и 16-битный регистр IN, которые в SoC Yorke и Clarke используются для захвата ввода с клавиатуры, а также для управления звуковым сигналом. Также имеется 1-битный регистр флага переноса.
В дополнение к вышесказанному, ЦП Saturn имеет простую систему прерываний без приоритетов. Когда происходит прерывание, ЦП завершает выполнение текущей инструкции, сохраняет счетчик программ в аппаратный стек возврата (RSTK) и переходит по адресу 0x0000Fh, где предыдущее значение находится в полубайтах. [4] ЦП также напрямую взаимодействует с логикой сканирования клавиатуры.
На следующей диаграмме изображены регистры (каждый белый квадрат представляет собой 4 бита/полубайт, за исключением флага Carry, который равен 1 биту):

Формат и поля 64-битного регистра георадара Сатурна:
Биты | 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 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Клев | Ф | И | Д | С | Б | А | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
Поля | XS | Б | |||||||||||||||
А | |||||||||||||||||
С | М | Х | |||||||||||||||
В | |||||||||||||||||
Р=0 | П | ||||||||||||||||
Р=7 | WP |
Доступ к данным в регистрах общего назначения можно получить через поля, попадающие на границы полубайтов, тогда как рабочие регистры допускают только операции загрузки и сохранения. Поля, как показано на диаграмме выше, следующие: W (целый 64-битный GPR), A (адрес, первые 5 полубайтов GPR), S (знак мантиссы, наиболее значимый полубайт GPR), XS (знак экспоненты). , полубайт 2 георадара), M (мантисса, полубайты 3–14 георадара), X (экспонента, первые 3 полубайта георадара) и B (первый байт георадара). Кроме того, имеется поле P, которое выбирает полубайт из GPR на основе 4-битного значения регистра P. Кроме того, имеется поле WP, которое выбирает полубайты от 0 до полубайта, выбранного в регистре P. 64 бита (16 полубайтов) могут содержать числа с плавающей запятой в формате BCD, состоящие из полубайта знака (который равен «9», если число отрицательное), 12 цифр мантиссы и трехзначного показателя дополнения до 10, хранящегося в формате BCD ( ±499). [6] Внутреннее представление значений BCD с плавающей запятой представляет собой 15-значную мантиссу с одним полубайтом знака в одном регистре в сочетании с 20-битной экспонентой в формате дополнения до 10 в другом регистре. Использование BCD вместо прямого двоичного представления выгодно для калькуляторов, поскольку позволяет избежать проблем округления , возникающих при двоично-десятичном преобразовании .
Адреса инструкций и данных процессора Saturn также основаны на полубайтах. Три регистра указателя (включая счетчик программ) и регистры адреса имеют ширину 20 бит. Благодаря этому архитектура Saturn может адресовать 1 М полубайтов или, что эквивалентно, 512 Кбайт . За пределами этого размера (например, в 48GX) переключение банков используется .
Оригинальный карманный компьютер HP-71B и HP-28C имели процессор Saturn в виде отдельного чипа. В сериях HP 48S/SX, 48G/GX и HP-28S, HP-27S, HP-42S, HP-32SII и HP-20S ядро ЦП Saturn интегрировано как часть более сложной интегральной схемы (ИС) SoC . .
Пример кода
[ редактировать ]Ниже приведена целочисленная реализация алгоритма извлечения квадратного корня из десятичного числа BCD в синтаксисе ассемблера Saturn Jazz/HP Tools:
** 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
Чипсеты и приложения
[ редактировать ]Оригинальный процессор Saturn дал название всей архитектуре набора команд . Более поздние чипы имели свои кодовые названия:
уровень ISA | Кодовое название процессора | Используется в моделях калькуляторов. | Характеристики |
---|---|---|---|
0 [7] [8] | Сатурн (1LF2) | НР-44А , НР-71Б (1984 г.) | |
1 [7] [8] | Сатурн (1ЛК7) | НР-18С (1986 г.), НР-28С (1987 г.), НР-71Б | 640 кГц, дополнительные инструкции |
2 [7] [8] | Берт [9] (1LU7) [9] | ХП-10Б (1988 г.), ХП-20С (1988 г.), ХП-21С | 640 кГц, ПЗУ 10 КБ, ОЗУ 256 байт, драйвер ЖК-дисплея |
2 [7] [8] | Сакаджавеа [9] (1LR3) | HP-14B , HP-22S , HP-32S (1988), HP-32S+ , HP-32SII (1991) | 640 кГц, ПЗУ 16 КБ, ОЗУ 512 байт, драйвер ЖК-дисплея |
2 [7] [8] | Льюис [9] (1LR2) | HP-17B (1988 г.), 17BII HP ( 1990 г.), HP (1988 г.), HP 19BII (1990 г.), -19B HP-27S (1988 г.), HP-28S (1988 г.), HP-42S (1988 г.) | 1 МГц, ПЗУ 64 КБ, драйвер ЖК-дисплея, контроллер памяти, ИК- управление, CMOS 3 В |
2 [7] [8] | Кларк [9] (1LT8) [9] | HP 48SX (1990 г.), HP 48S (1991 г.) | 2 МГц, ЖК-контроллер, контроллер памяти, UART и ИК-управление, дополнительные инструкции |
2 [7] [8] | Йорк [9] 00048-80063 [10] | HP 38G (1995 г.), HP 38G+ (1998 г.), HP 39G (2000 г.), HP 40G (2000 г.), HP 48GX (1993 г.), HP 48G (1993 г.), [номер 1] HP 48G+ (1998 г.), HP 49G (1999 г.) | 3,68–4 МГц, контроллер ЖК-дисплея, контроллер памяти, UART и ИК-управление, производство NEC , дополнительные инструкции, иногда также известные как Saturn 5. платформа |
? | Нью-Йорк | HP 48GX Прототип | 8 МГц, ЖК-контроллер, контроллер памяти, UART и ИК-управление. Он был создан только как внутренний прототип HP и никогда не выпускался в продажу. [11] [12] |
2 [7] [8] [номер 2] | Apple Серия ( Большое Яблоко , [9] Середина Яблока , [9] Маленькое яблоко ) | hp 39g+ (2003 г.), HP 39gs (2006 г.), HP 40gs (2006 г.), hp 49g+ (2003 г.), hp 48gII (2003/2007 г.), HP 50g (2006 г.) | Виртуальная версия процессора Yorke, эмулируемая представителями Samsung S3C2410 семейства процессоров с частотой 48/75 МГц с ядром ARM920T ( архитектуры ARMv4T ), также известным как Saturn+, с дополнительными виртуальными инструкциями. |
Кодовые названия ЦП вдохновлены участниками экспедиции Льюиса и Кларка 1804–1806 годов, первой сухопутной экспедиции США к побережью Тихого океана и обратно. Кодовые названия виртуального ЦП / эмулятора были вдохновлены прототипом «Нью-Йоркской» SoC Saturn с тактовой частотой 8 МГц, который так и не был запущен в производство. [12] По словам одного из членов ACO (Австралийской операции по калькулятору), «Большое яблоко» произошло от кодового названия «Нью-Йорк» прототипа SoC на базе Saturn с частотой 8 МГц в связи с Нью-Йорком, отсюда и название «Большое яблоко». яблоко», «Среднее яблоко» и «Маленькое яблоко». [12]
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ Jump up to: а б В HP 48G процессор Saturn имеет маркировку « NEC Japan, D3004GD, 00048-80063, 9738PX002».
- ^ В эмулируемых/виртуальных процессорах Saturn серии Apple уровень/версия ISA равна «2», но с виртуальными расширениями кода операции.
Ссылки
[ редактировать ]- ^ Куперус, Клаас (04 марта 2015 г.). «HP 50g: Конец эпохи» . forum.hp-prime.de . Моравия. Архивировано из оригинала 02 апреля 2015 г.
- ^ Куперус, Клаас (06 марта 2015 г.). «HP 50g не очень хорошие новости?» . Музей HP . Моравия. Архивировано из оригинала 8 июля 2018 г. Проверено 1 января 2016 г.
- ^ Вессман, Тимоти «Тим» Джеймс (26 декабря 2015 г.). «Windows 10 не позволяет устанавливать драйверы USB HP 50g» . Музей HP . Архивировано из оригинала 8 июля 2018 г. Проверено 1 января 2016 г.
- ^ Jump up to: а б с д «3.1 Обзор процессора». Спецификация внутренней конструкции аппаратного обеспечения HP-71B . Корпорация Хьюлетт-Паккард. Сентябрь 1984 г. с. 3-1. 00071-90071.
- ^ Технические характеристики процессора HP-41C, драйвера дисплея, HP-IL, хранилища данных, микросхемы таймера и интерфейсной микросхемы . Корпорация Хьюлетт-Паккард. Июль 1981 г. с. 5.
- ^ Фернандес, Жильбер Анри (16 июля 2005 г.) [29 января 1999 г.]. «Глава 56.1 Действительное число». В Рехлине, Эрик (ред.). Введение в язык ассемблера Saturn (3-е изд.). hpcalc.org. п. 104. ID 1693. Архивировано из оригинала 13 ноября 2018 г. Проверено 29 апреля 2019 г.
Если показатель степени отрицательный, показатель степени кодируется как «1000 - ABS(показатель)»
[1] - ^ Jump up to: а б с д и ж г час Доннини, Джузеппе (26 июня 2020 г.). « Нью-Йорк»? . www.hpmuseum.org . Проверено 6 июля 2020 г.
- ^ Jump up to: а б с д и ж г час «Руководство ассемблера Сатурн» . www.hpcalc.org . Хьюлетт Паккард. 20 августа 1993 г. Проверено 6 июля 2020 г.
- ^ Jump up to: а б с д и ж г час я Финсет, Крейг А. (23 декабря 2016 г.). «имена» . Архивировано из оригинала 21 декабря 2017 г. Проверено 21 декабря 2017 г.
- ^ Арнетт, Дэйв (3 мая 1994 г.). «Назови этот чип!» . Группа новостей : comp.sys.hp48 . Архивировано из оригинала 29 апреля 2019 г. Проверено 22 апреля 2019 г.
- ^ де Бребиссон, Сирил (17 июня 2020 г.). "RE: "Нью-Йорк"?" . www.hpmuseum.org . Проверено 18 июня 2020 г.
- ^ Jump up to: а б с де Бребиссон, Сирил (16 июня 2020 г.). "RE: "Нью-Йорк"?" . www.hpmuseum.org . Проверено 18 июня 2020 г.
Дальнейшее чтение
[ редактировать ]- Мастраччи, Мэтью (1998) [1995]. «Руководство по процессору Saturn (с приложениями HP48)» . 1.0б. Архивировано из оригинала 6 августа 2016 г. Проверено 3 мая 2006 г.
- Курбис, Поль ; Лаланд, Себастьян (27 июня 2006 г.) [1989]. Путешествие в центр HP28c/s (на французском языке) (2-е изд.). Париж, Франция: Editions de la Règle à Calculation. OCLC 636072913 . Архивировано из оригинала 6 августа 2016 г. Проверено 6 сентября 2015 г. [2] [3] [4] [5] [6] [7]
- Курбис, Поль ; Лаланд, Себастьен (25 июня 2006 г.) [1993]. Машинный язык HP48 — путешествие в центр HP 48s/sx . Перевод Кэннона, Дугласа Р. (2-е изд.). Корваллис, Орегон, США: Grapevine Publications, Inc. OCLC 34148948 . Архивировано из оригинала 14 ноября 2018 г. Проверено 6 сентября 2015 г. [8] [9] [10] [11] [12] [13]
- Курбис, Поль ; Лаланд, Себастьян (25 июня 2006 г.) [1991]. Путешествие в центр HP48 s/sx . 3.02 (на французском языке) (3-е изд.). Париж, Франция: Editions Angkor. ISBN 2-87892-003-1 . ОСЛК 29640044 . Архивировано из оригинала 13 ноября 2018 г. Проверено 6 сентября 2015 г. [14] [15] [16] [17] [18] [19] [20]
- Курбис, Поль (25 июня 2006 г.) [1993]. Отправляйтесь в центр HP48 g/gx . 3.05 (на французском языке) (3-е изд.). Париж, Франция: Editions Angkor. ISBN 2-87892-006-6 . ОСЛК 29640044 . Архивировано из оригинала 6 августа 2016 г. Проверено 6 сентября 2015 г. [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32]
- Курбис, Поль ; де Бребиссон, Сирил (март 1994 г.). Компаньон HP48 G/GX (на французском языке). Париж, Франция: Editions Angkor. ISBN 2-87892-007-4 . Архивировано из оригинала 6 августа 2016 г. Проверено 6 сентября 2015 г. [33]
- Фернандес, Жильбер Анри (16 июля 2005 г.) [29 января 1999 г.]. Рехлин, Эрик (ред.). Введение в язык ассемблера Saturn (3-е изд.). hpcalc.org. ID 1693. Архивировано из оригинала 6 августа 2016 г. Проверено 17 февраля 2009 г. [34]