Русская Википедия:Десятичный компьютер

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Плохой перевод

Файл:IBM-650-panel.jpg
Шаблон:Нп3 компьютера IBM 650 c двузначными индикаторами (1953 год).

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

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

И «Аналитическая машина» английского математика и изобретателя Чарльза Бэббиджа продуманная в XIX веке и явившаяся прообразом всех современных цифровых компьютеров. И электро-механический программируемый компьютер «Гарвардский Марк I» созданный в 1939—1944 годах компанией IBM по заказу ВМС США, массой около 4,5 тонны построенный на переключателях и реле с использованием наработок Чарльза Бэббиджа — были десятичными компьютерами.

Некоторые ранние электро-ламповые компьютеры, такие как: ENIAC (1945 год), Шаблон:Нп3 (1954 год) и IBM 650 (1954 год), и даже некоторые первые транзисторные компьютеры, такие как: Шаблон:Нп3 (1958 год) и Шаблон:Нп3 (1959 год) — были десятичными. В этих машинах базовой единицей данных была десятичная цифра, закодированная в той или иной схеме, например, как двоично-десятичный код (BCD), Шаблон:Нп3, Шаблон:Нп3 или код Шаблон:Нп3 (XS-3). Эти машины имели адресацию слов, а не байтов (за исключением IBM 1620). Нецифровые данные, например символы, кодировались двумя десятичными цифрами.

Другие ранние компьютеры были символ-ориентированными и реализовывали машинные инструкции для работы с числами, представленными в качестве последовательности (строки) символов. В этих машинах единицей информации был алфавитно-цифровой символ, как правило закодированный шестью двоичными битами. UNIVAC I и Шаблон:Нп3 имели адресацию 12-символьных слов. Среди машин IBM такими были Шаблон:Нп3, Шаблон:Нп3, Шаблон:Нп3, Шаблон:Нп3, а также Шаблон:Нп3[1].

Линия компьютеров Burroughs Шаблон:Нп3 (представлена ​​1966 году) использовала 8-разрядное кодирование EBCDIC или ASCII для символов, две десятичные цифры упаковывались в один байт. Эти компьютеры не имели операций двоичной арифметики, так что их тоже можно считать представителями десятичной архитектуры.

Программная поддержка

В 1964 году IBM представила линию IBM System/360 с исключительно байтовой адресацией и стандартизированным определением понятия «байт» (8 бит). Для облегчения работы с десятичными данными машины S/360 имели операции над упакованными десятичными числами (в дополнение к стандартным операциям над целыми) и операции с подвижной запятой (двоичные). В S/360 была стандартизирована также кодировка EBCDIC, хотя ASCII также поддерживалось[2].

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

Процессоры Motorola, такие как 68000, имели инструкции сложения и вычитания чисел BCD[5], как и MOS Technology 6502 (в более поздних вариантах архитектуры 68x00 — например FreeScale ColdFire — инструкции BCD изъяли).

Семейство процессоров IBM POWER6 и процессоры мейнфреймов Шаблон:Нп3 имплементируют работу с 7-, 16- и 34-разрядными десятичными числами (стандарт IEEE 754r, 2008 год) с использованием упаковки Шаблон:Нп3[6] — у POWER6 эти команды аппаратно, а у System z9 в микрокоде.

См. также

Примечания

Шаблон:Примечания

Ссылки

Внешние ссылки

Шаблон:Выбор языка Шаблон:Классы компьютеров Шаблон:Перевести Шаблон:Comp-hardware-stub