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

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

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

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

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

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

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

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

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

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

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

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

В процессоре IBM Power6 и IBM System z9 эти типы реализованы с использованием двоичного кодирования Densely Packed Decimal , первое - в аппаратном, а второе - в микрокоде.

использованная литература

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