Из Википедии, бесплатной энциклопедии
  (Перенаправлено с HP Yorke )
Перейти к навигации Перейти к поиску

Сатурн семейство 4-разрядный ( DATAPATH ) микропроцессоры было разработано компанией Hewlett-Packard в 1980 - х годах первым для HP-71B КПК , а позже для различных HP калькуляторов (Начиная с HP-18C ). Он пришел на смену процессорам семейства Nut , которые использовались в более ранних калькуляторах. Оригинальный чип Saturn был впервые использован в портативном компьютере с BASIC- программированием HP-71B , представленном в 1984 году. Более поздние модели этого семейства использовались в популярной серии HP 48калькуляторов. HP48SX и HP48S были последними моделями, в которых использовались подлинные процессоры Saturn производства HP. В более поздних моделях калькуляторов использовались процессоры Saturn производства NEC. В серии HP 49 изначально также использовался ЦП Saturn, пока NEC fab [nb 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 году, а также версия 2007 года hp 48gII . HP 50g, последний калькулятор, использующий этот эмулятор, был снят с производства в 2015 году, когда Samsung прекратила выпуск процессора ARM, на котором он был основан. [1] [2] [3]

Архитектура [ править ]

Аппаратное обеспечение Saturn представляет собой последовательную конструкцию [4], в отличие от его предшественника Nut , который был бит-последовательным . [5] Внутри ЦП Saturn имеет четыре 4-битных шины данных, которые обеспечивают выполнение почти 1 цикла на полубайт, при этом одна или две шины действуют как источник, а одна или две - как место назначения. [4] Наименьшее адресуемое слово - это 4-битный полубайт, который может содержать одно двоично-десятичное число.(BCD) цифра. Любая единица данных в регистрах размером больше полубайта, в которой конец упомянутой единицы данных попадает на границу полубайта, а начало упомянутой единицы данных начинается с нуля полубайта (а также в некоторых случаях, когда начальная позиция упомянутой единицы данных приходится на граница полубайта с определенными полями регистров, например «M» или «X»), и которая может быть до 64-битной, может использоваться как единое целое, но ЦП Saturn выполняет операцию последовательно внутри внутри полубайтов полубайтовая основа. [4]

Архитектура Saturn имеет 64-битную ширину слова данных и 20-битную ширину адреса, при этом память адресуется с 4-битной ( полубайтовой ) степенью детализации. Команды Saturn ALU поддерживают переменную ширину данных, обрабатывая от одного до 16 полубайтов слова. Основные регистры ( GPR ) вместе с временными регистрами имеют полностью 64-битную ширину, но адресные регистры имеют ширину только 20-битную. Первоначальные микросхемы ЦП Saturn обеспечивали 4-битную внешнюю шину данных, но более поздние 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 бита / полубайт, за исключением флага переноса, который равен 1 биту):

Формат и поля регистра 64-битного георадара Saturn:

Доступ к данным в регистрах общего назначения можно получить через поля, которые попадают на границы полубайтов, тогда как временные регистры допускают только операции загрузки и сохранения. Поля, как показано на приведенной выше диаграмме, это W (весь 64-битный георадар), A (первые 5 полубайтов георадара), S (старший полубайт георадара), XS (2 полубайта георадара), M (3–14 полубайтов георадара), X (первые 3 полубайта георадара) и B (первый байт георадара). Кроме того, есть поле P, которое выбирает полубайт из GPR на основе 4-битного значения P-регистра. Также есть поле WP, которое выбирает полубайты от 0 до полубайта, выбранного в регистре P. 64 бита (16 полубайтов) могут содержать числа с плавающей запятой в формате BCD, состоящие из знакового полубайта (который равен «9», если число отрицательное), 12 мантисс.цифры и 3-значная десятичная экспонента с дополнением, хранящаяся в формате BCD (± 499). [6] Внутреннее представление значений с плавающей запятой BCD представляет собой 15-значную мантиссу с одним полубайтом знака в одном регистре в сочетании с 20-разрядной экспонентой в формате дополнения до 10 в другом регистре. Использование двоично-десятичного представления вместо прямого двоичного представления выгодно для калькуляторов, поскольку позволяет избежать проблем с округлением , возникающих при преобразовании двоичного / десятичного числа .

Адреса процессора Saturn также основаны на полубайтах. Три регистра указателя (включая счетчик программ ) и регистры адреса имеют ширину 20 бит. Благодаря этому архитектура Saturn может адресовать 1 M полубайтов или, что то же самое, 512 K байт. За пределами этого размера (например, в 48GX) используется переключение банков .

В сериях HP 48S / SX и 48G / GX, а также в таких калькуляторах, как HP-28S, HP-42S, HP-32SII и HP-20S, ядро процессора Saturn интегрировано как часть более сложной интегральной схемы. (IC) Пакет SoC , за исключением оригинального портативного компьютера HP-71B и HP-28C, в котором для процессора Saturn использовался отдельный чип. Эти пакеты имеют кодовые названия, вдохновленные участниками экспедиции Льюиса и Кларка . Кодовое имя IC - Кларк в S / SX после Уильяма Кларка и Йорк в G / GX после слуги Кларка.. Другие ИС на основе Сатурна, такие как те, что используются в HP-28S, HP-42S, HP-32SII и HP-20S, имели другие кодовые названия. В частности, SoC HP-42S и HP-28S носили кодовое название Lewis , в честь Меривезер Льюис . Другие калькуляторы HP, такие как HP-32SII и HP-20S, имели SoC с кодовым названием Sacajawea в честь Сакагавеа и Берта соответственно, хотя происхождение кодового имени Bert может быть неизвестно.

Пример кода [ править ]

Ниже приводится целочисленная реализация алгоритма десятичного квадратного корня BCD в синтаксисе сборки Saturn Jazz / HP Tools:

** Далее предполагается, что AW содержит аргумент (<1E14).** Результат (IP (SQRT (AW))) в CW: SETDEC ASL W C = AW А = А + AW  А = А + AW А = А + CW ASR W C = 0 Вт P = 13 LC (1) 5 - CSR WP C = C-1 P - С = С + 1 П  A = AC W  GONC -  А = А + CW  CSR W  П = П-1  П = П-1  GONC - СЕТЕКС A = CW

Чипсеты и приложения [ править ]

Оригинальный ЦП Saturn дал название всей архитектуре набора команд . У более поздних чипов были свои кодовые названия:

Кодовые названия CPU вдохновлены участниками экспедиции Льюиса и Кларка 1804–1806 годов, первой наземной экспедиции Соединенных Штатов на побережье Тихого океана и обратно. Кодовые названия виртуального процессора / эмулятора были вдохновлены прототипом 8-мегагерцовой SoC на базе Сатурна "New-Yorke", которая так и не поступила в производство. [12] По словам одного из членов ACO (Australian Calculator Operation), «Большое Яблоко» произошло от кодового названия «Нью-Йорк» прототипа 8 МГц SoC на основе Сатурна, и первоначальному автору казалось, что это интимная ссылка на город «Нью-Йорк», отсюда и названия «Большое яблоко», «Среднее яблоко» и «Маленькое яблоко». [12]

Заметки [ править ]

  1. ^ a b В HP 48G процессор Saturn имеет маркировку « NEC Japan, D3004GD, 00048-80063, 9738PX002».
  2. ^ В эмулируемых / виртуальных ЦП Saturn серии "Apple" уровень / версия ISA - "2", но с виртуальными расширениями кода операции.

Ссылки [ править ]

  1. ^ Kuperus, Клаас (2015-03-04). «HP 50g: конец эпохи» . forum.hp-prime.de . Моравия. Архивировано из оригинала на 2015-04-02.
  2. ^ Куперус, Клаас (2015-03-06). "HP 50g - не очень хорошие новости?" . Музей HP . Моравия. Архивировано 8 июля 2018 года . Проверено 1 января 2016 .
  3. ^ Вессман, Тимоти Джеймс (2015-12-26). «Windows 10 не позволяет устанавливать драйверы HP 50g USB» . Музей HP . Архивировано 8 июля 2018 года . Проверено 1 января 2016 .
  4. ^ a b c d Технические характеристики внутреннего оборудования HP-71B Том 1 . Корпорация Hewlett Packard. Сентябрь 1984. с. 3-1.
  5. ^ Технические характеристики ЦП HP-41C, драйвера дисплея, HP-IL, хранилища данных, таймера и интерфейсной ИС . Корпорация Hewlett Packard. Июль 1981 г. с. 5.
  6. ^ Фернандес, Гилберт (2005-07-16) [1999-01-29]. «Глава 56.1 Реальное число». В Рехлине, Эрик (ред.). Введение в язык ассемблера Saturn . hpcalc.org (3-е изд.). п. 104. ID 1693. Архивировано 13 ноября 2018 года . Проверено 29 апреля 2019 . Если показатель степени отрицательный, показатель степени кодируется как «1000 - ABS (показатель степени)». [1]
  7. ^ a b c d e f g h Доннини, Джузеппе (26.06.2020). " " Нью-Йорк "?" . www.hpmuseum.org . Проверено 6 июля 2020 .
  8. ^ a b c d e f g h "Руководство по сборке Saturn" . www.hpcalc.org . Hewlett Packard. 1993-08-20 . Проверено 6 июля 2020 .
  9. ^ a b c d e f g h i Финсет, Крейг А. (23 декабря 2016 г.). "имена" . Архивировано 21 декабря 2017 года . Проверено 21 декабря 2017 .
  10. ^ Арнетт, Дэйв (1994-05-03). "Назовите эту микросхему!" . Группа новостейcomp.sys.hp48 . Архивировано 29 апреля 2019 года . Проверено 22 апреля 2019 .
  11. ^ Де Brébisson, Сирил (2020-06-17). "RE:" Нью-Йорк "?" . www.hpmuseum.org . Проверено 18 июня 2020 .
  12. ^ Б де Brébisson, Сирил (2020-06-16). "RE:" Нью-Йорк "?" . www.hpmuseum.org . Проверено 18 июня 2020 .

Дальнейшее чтение [ править ]

  • Мастраччи, Мэтью (1998) [1995]. «Руководство по процессору Saturn (с приложениями HP48)» . 1.0b. Архивировано из оригинала на 2016-08-06 . Проверено 3 мая 2006 .
  • Курбис, Поль ; Лаланд, Себастьен (27.06.2006) [1989]. Voyage au center de la HP28c / s (на французском языке) (2-е изд.). Париж, Франция: Editions de la Règle à Calcul. 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-е изд.). Париж, Франция: Издания Ангкор. ISBN 2-87892-003-1. OCLC  29640044 . Архивировано 13 ноября 2018 года . Проверено 6 сентября 2015 . [14] [15] [16] [17] [18] [19] [20]
  • Курбис, Поль (25 июня 2006 г.) [1993]. Voyage Àu центр де - ла - HP48 г / дм . 3.05 (на французском языке) (3-е изд.). Париж, Франция: Издания Ангкор. ISBN 2-87892-006-6. OCLC  29640044 . Архивировано 6 августа 2016 года . Проверено 6 сентября 2015 . [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] »
  • Курбис, Поль ; де Бребиссон, Сирил (март 1994). Le compagnon de Voyage de la HP48 G / GX (на французском языке). Париж, Франция: Издания Ангкор. ISBN 2-87892-007-4. Архивировано из оригинала на 2016-08-06 . Проверено 6 сентября 2015 . [33]
  • Фернандес, Гилберт (2005-07-16) [1999-01-29]. Рехлин, Эрик (ред.). Введение в язык ассемблера Saturn . hpcalc.org (3-е изд.). ID 1693. Архивировано 06.08.2016 . Проверено 17 февраля 2009 . [34]

Внешние ссылки [ править ]

  • Сводная информация в Музее калькуляторов HP