WikiDer > Electrologica X1

Electrologica X1
Память X1

В Electrologica X1 был цифровой компьютер спроектирован и изготовлен в Нидерландах с 1958 по 1965 год.[1] Около тридцати было произведено и продано в Нидерландах и за рубежом.

X1 был разработан Математический центр в Амстердам, академическая организация, которая занималась компьютерным проектированием с 1947 года и производилась Electrologica NV,[2] компания, созданная специально для производства машины.

X1 был твердотельным двоичным компьютером («полностью транзисторным»[1]) с память на магнитном сердечнике. Длина слова составляла 27 бит, а периферийные устройства включали перфоленту и магнитную ленту.[1] Это был один из первых европейских компьютеров с прерывать средство.

X1 был предметом Эдсгер Дейкстра Кандидат наук. диссертация,[3] и цель первой полной работы АЛГОЛ 60 компилятор, завершенный Дейкстрой и Яапом Зонневельдом.[4] В 1965 году X1 был заменен на X8. Electrologica была поглощена Philips несколькими годами позже.[1]

Набор инструкций

X1 позволял условное выполнение каждой инструкции, а не только ветвлений, как в большинстве компьютеров. Аналогичная возможность существовала в Цузе Z22 и ЗЕБРА, и намного позже в ARM архитектура. Подход, используемый в X1, более гибкий, чем эти другие: он делает выполнение условным от текущего состояния флаг состояния который устанавливается предыдущей инструкцией, если он включает модификатор для этой цели, но не изменяется в противном случае.[3] В результате условное выполнение может быть основано на тестах, выполненных на несколько строк раньше, а не на основе только результата самой последней арифметической операции. Это позволило компактно выразить программы. В следующем примере демонстрируется загрузка значения памяти в п в аккумулятор А, вызывая подпрограмму (которая предположительно использует это значение в А), и, наконец, установив А быть абсолютным значением числа, прочитанного:

   2A n P // копировать [п] в A, установите флаг условия в «да», если положительный 6T fn 0 // вызовите функцию в fn, который вернется с сохраненным флагом условия N 5P AA // если флаг условия "нет", скопируйте -A в A

В арифметических операторах X1 используются двоичные дополнение арифметика.

Ассемблер

X1 включал простой ассемблер в свой только для чтения памяти.[3] Он имеет довольно базовые функции: можно определять символические адреса, но символы состоят всего из двух букв. Команды именуются комбинацией цифры, представляющей операцию, и буквы, обозначающей регистр, с которым нужно работать, или одной или двух букв, обозначающих класс операции. Например, «0A» означает «добавить содержимое памяти к аккумулятору A», а «5P» означает «установить отрицательное значение аккумулятора другого аккумулятора». Обычно символические адреса используются для обозначения «абзацев», то есть связанных блоков кода или данных. Символьные адреса будут изменены на «номер строки» (числовое смещение) и «номер страницы» (число в диапазоне от 0 до 31). Например, «3 FE 6» - это номер строки 3, номер страницы 6, представляющий смещение 195 (6 * 32 + 3) от начала абзаца FE. Такая запись адреса является особенностью ассемблера; Аппаратная адресация просто использует 15-битные адреса.

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

  1. ^ а б c d Компьютеры Electrologica X1 и X8
  2. ^ "КОМПЬЮТЕРЫ, ЗА РУБЕЖОМ: 2. N. V. Electrologica, Амстердам, Голландия". Информационный бюллетень по цифровым компьютерам. 9 (3): 15–16. Июль 1957 г.
  3. ^ а б c «Связь с автоматическим компьютером», доктор философии Дейкстры. Тезис
  4. ^ Компилятор Dijkstra-Zonneveld ALGOL 60 для Electrologica X1