Десятичный компьютер - Decimal computer

Передняя панель IBM 650 с двоично-десятичный кодированный десятичный отображает

Десятичные компьютеры это компьютеры, которые могут представлять числа и адреса в десятичный а также предоставление инструкций по работе с этими числами и адресами непосредственно в десятичном формате, без преобразования в чистый двоичный представление. У некоторых также была переменная длина слова, что позволило работать с числами с большим количеством цифр.

Ранние компьютеры

Рано компьютеры которые были исключительно десятичными, включают ENIAC, IBM NORC, IBM 650, IBM 1620, IBM 7070. В этих машинах основной единицей данных была десятичная цифра, закодированная по одной из нескольких схем, включая двоично-десятичный (BCD), бипятичный и код два из пяти. За исключением IBM 1620 и 1710, эти машины использовали слово адресация. Когда в этих машинах использовались нечисловые символы, они кодировались как две десятичные цифры.

Другие ранние компьютеры были ориентированы на символы, предоставляя инструкции для выполнения арифметических операций над символьными строками десятичных чисел, используя BCD или превышение-3 (XS-3)[1] для десятичных цифр. На этих машинах основным элементом данных был буквенно-цифровой символ, обычно кодируемый шестьюбиты. UNIVAC I и UNIVAC II использованная адресация слов с 12-значными словами. Примеры IBM включают IBM 702, IBM 705, то IBM 1400 серии,[2] IBM 7010, а IBM 7080.

Поздние компьютеры

В IBM System / 360, представленный в 1964 году для унификации продуктовых линеек IBM, используется посимвольная двоичная адресация, а также включает инструкции для упакованной десятичной арифметики, а также двоичной целочисленной арифметики и двоичной с плавающей запятой. Он использовал 8 бит персонажей и представил EBCDIC кодировка, хотя ASCII также был поддержан.[3] В Берроуз B2500 представленный в 1966 году, также использовал 8-битные символы EBCDIC или ASCII и мог упаковывать две десятичные цифры на байт, но не обеспечивал двоичную арифметику, что делало его десятичной архитектурой.

Более современные компьютеры

Некоторые семейства микропроцессоров предлагают ограниченную поддержку десятичных чисел. Например, микропроцессоры семейства 80x86 предоставляют инструкции для преобразования однобайтовых чисел BCD (упакованных и распакованных) в двоичный формат до или после арифметических операций.[4] Эти операции не были распространены на более широкие форматы и, следовательно, теперь выполняются медленнее, чем при использовании 32-битный или более широкие приемы BCD для вычисления в BCD (см. [1] ). В x87 FPU имеет инструкции для преобразования 10-байтовых (18 десятичных цифр) упакованных десятичных данных, хотя затем он работает с ними как с числами с плавающей запятой.

В Motorola 68000 предоставлены инструкции для сложения и вычитания BCD;[5] как и 6502. В более поздних процессорах семейства 68000 эти инструкции были удалены, когда Холодный огонь Был определен набор команд, и все мэйнфреймы IBM также аппаратно обеспечивают целочисленную арифметику BCD. Зилог Z80, Motorola 6800 и его производные вместе с другими 8-битными процессорами, а также Intel x86 есть специальные инструкции, поддерживающие преобразование в BCD и обратно. В Psion Organizer I Программное обеспечение портативного компьютера, поставляемое производителем, реализовало свои операции с плавающей запятой в программном обеспечении, полностью используя BCD. Все более поздние модели Psion использовали только двоичный код, а не BCD.

Десятичная арифметика сейчас становится все более распространенной; например, в 2008 были добавлены три десятичных типа с двумя двоичными кодировками IEEE 754r стандартный, с 7-, 16- и 34-значным десятичным числом значения.[6]

В процессоре IBM Power6 и IBM System z9 эти типы реализованы с использованием Плотно упакованная десятичная дробь двоичное кодирование,[7] первый аппаратно, а второй - микрокод.

Рекомендации

  1. ^ Справочное руководство для программистов расширенных систем UNIVAC 1005 (PDF), Сперри Рэнд, стр. 1–8, ФСД-1089р1
  2. ^ Система обработки данных IBM 1401: Справочное руководство (PDF). IBM. Апрель 1962 г. с. 20. A24-1403-5.
  3. ^ IBM (1964). Принципы работы IBM System / 360 (PDF). Первое издание. A22-6821-0.
  4. ^ "Руководство программиста MASM". Microsoft. 1992. Архивировано с оригинал на 2007-07-15. Получено 2007-07-01.
  5. ^ "Справочное руководство для программистов семейства Motorola M68000" (PDF). Получено 2007-07-01.
  6. ^ «ПРОЕКТ стандарта для арифметики с плавающей запятой P754» (PDF). 2006-10-04. Получено 2007-07-01.[постоянная мертвая ссылка ]
  7. ^ Cowlishaw, Майк Ф. (2015) [1981,2008]. «Общая десятичная арифметика». IBM. Получено 2016-01-02.

дальнейшее чтение