Десятичный компьютер (:yvxmncudw tkbh,Zmyj)
Необходимо проверить качество перевода, исправить содержательные и стилистические ошибки. |
Десятичные компьютеры — электронные цифровые вычислительные машины, имеющие внутреннее представление данных и адресов в виде десятичных чисел, а также набор инструкций, ориентированный на работу с такими числами и адресами, без преобразования их в двоичную форму. Некоторые из таких машин имели также изменяющуюся длину машинного слова, что позволяло работать с числами большой разрядности.
Ранние компьютеры
[править | править код]И «Аналитическая машина» английского математика и изобретателя Чарльза Бэббиджа продуманная в XIX веке и явившаяся прообразом всех современных цифровых компьютеров. И электро-механический программируемый компьютер «Гарвардский Марк I» созданный в 1939—1944 годах компанией IBM по заказу ВМС США, массой около 4,5 тонны построенный на переключателях и реле с использованием наработок Чарльза Бэббиджа — были десятичными компьютерами.
Некоторые ранние электро-ламповые компьютеры, такие как: ENIAC (1945 год), IBM NORC[англ.] (1954 год) и IBM 650 (1954 год), и даже некоторые первые транзисторные компьютеры, такие как: IBM 7070[англ.] (1958 год) и IBM 1620[англ.] (1959 год) — были десятичными. В этих машинах базовой единицей данных была десятичная цифра, закодированная в той или иной схеме, например, как двоично-десятичный код (BCD), би-квинарный код[англ.], код «два из пяти»[англ.] или код excess-3[англ.] (XS-3). Эти машины имели адресацию слов, а не байтов (за исключением IBM 1620). Нецифровые данные, например символы, кодировались двумя десятичными цифрами.
Другие ранние компьютеры были символ-ориентированными и реализовывали машинные инструкции для работы с числами, представленными в качестве последовательности (строки) символов. В этих машинах единицей информации был алфавитно-цифровой символ, как правило закодированный шестью двоичными битами. UNIVAC I и UNIVAC II[англ.] имели адресацию 12-символьных слов. Среди машин IBM такими были IBM 702[англ.], IBM 705[англ.], серия IBM 1400[англ.], IBM 7010[англ.], а также IBM 7080[англ.][1].
Линия компьютеров Burroughs B2500[англ.] (представлена 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 и процессоры мейнфреймов IBM System z9[англ.] имплементируют работу с 7-, 16- и 34-разрядными десятичными числами (стандарт IEEE 754r, 2008 год) с использованием упаковки Densely packed decimal[англ.][6] — у POWER6 эти команды аппаратно, а у System z9 в микрокоде.
См. также
[править | править код]- Троичный компьютер
- Десятичная система счисления
- Двоичная система счисления
- Информатика
- Математическая логика
- Алгебра логики
- Машинный код
Примечания
[править | править код]- ↑ IBM. IBM 1401 Data Processing System: Reference Manual. — April 1962. — P. 20. — ISBN A24-1403-5. Архивная копия от 9 декабря 2019 на Wayback Machine Источник . Дата обращения: 31 января 2022. Архивировано 9 декабря 2019 года.
- ↑ IBM. IBM System/360 Principles of Operation. — 1964. — ISBN A22-6821-0. Архивная копия от 29 февраля 2012 на Wayback Machine Источник . Дата обращения: 31 января 2022. Архивировано 29 февраля 2012 года.
- ↑ MASM Programmer's Guide . Microsoft (1992). Дата обращения: 1 июля 2007. Архивировано из оригинала 15 июля 2007 года.
- ↑ Douglas W. Jones. BCD Arithmetic, a tutorial (англ.). The University of Iowa, Department of Computer Science (2002). Дата обращения: 31 января 2022. Архивировано 3 сентября 2011 года.
- ↑ Motorola M68000 Family Programmer's Reference Manual . Дата обращения: 1 июля 2007. Архивировано 24 сентября 2015 года.
- ↑ Mike F. Cowlishaw. General Decimal Arithmetic . IBM (2015). Дата обращения: 2 января 2016. Архивировано 25 декабря 2018 года.
Ссылки
[править | править код]В другом языковом разделе есть более полная статья Decimal computer (англ.). |
Это заготовка статьи об аппаратном обеспечении. Помогите Википедии, дополнив её. |