Electrologica X1

редактировать
Память X1

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

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

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

X1 был предметом Эдсгера Дейкстры доктора философии. диссертацию и цель первого полностью работающего компилятора АЛГОЛ 60, выполненного Дейкстрой и Яапом Зонневельдом. В 1965 году X1 был заменен на X8. Несколько лет спустя компания Electrologica была поглощена Philips.

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

X1 позволял условное выполнение каждой инструкции, а не только переходов, как в большинстве компьютеров. Аналогичная возможность существовала в Zuse Z22 и ZEBRA, а гораздо позже в архитектуре ARM. Подход, используемый в X1, более гибок, чем эти другие: он делает выполнение условным для текущего состояния флага условия, который установлен предыдущей инструкцией, если он включает модификатор для этой цели, но не затрагивается в противном случае. В результате условное выполнение может быть основано на тестах, выполненных на несколько строк раньше, а не на основе только результата самой последней арифметической операции. Это позволило компактно выразить программы. В следующем примере демонстрируется загрузка значения памяти в n в аккумулятор A, вызов подпрограммы (которая предположительно использует это значение в A ) и, наконец, установка A быть абсолютным значением прочитанного числа:

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

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

Ассемблер

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

Ссылки
На Викискладе есть материалы, связанные с Electrologica X1.
Последняя правка сделана 2021-05-18 11:29:22
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте