Elliott 803 - небольшой транзисторный цифровой компьютер средней скорости который был произведен британской компанией Elliott Brothers в 1960-х годах. Было построено около 211.
Серия 800 началась с 801, одноразовой испытательной машины, построенной в 1957 году Модель 802 была серийной, но в период с 1958 по 1961 год было продано только семь. Недолговечный 803A был построен в 1959 году и впервые доставлен в 1960 году; 803B был построен в 1960 году и впервые поставлен в 1961 году.
Заказчикам было доставлено более 200 компьютеров Elliott 803 по цене около 29000 фунтов стерлингов в 1960 году (что примерно эквивалентно 673000 фунтов стерлингов в 2019 году). Большинство продаж приходилось на версию 803B с большим количеством внутренних параллельных путей, большим объемом памяти и аппаратными операциями с плавающей запятой.
Elliott 803 был компьютером, используемым в ISI-609, первой в мире системе управления процессом или промышленной системой управления, в которой 803 был регистратором данных. Он использовался для этой цели в первом в США ядерном реакторе двойного назначения, N-Reactor.
. У значительного числа британских университетов был Elliott 803.
Elliott впоследствии разработал (1963) гораздо более быстрый, совместимый с программным обеспечением, Elliott 503.
Два полноценных компьютера Elliott 803 выжили. Один из них принадлежит Музею науки в Лондоне, но не выставлен на всеобщее обозрение. Второй принадлежит Национальному музею вычислительной техники (TNMoC) в Блетчли-Парк, полностью функционален, и посетители этого музея могут регулярно видеть его в действии.
803 - это транзисторная,, последовательная машина с битами ; 803B имеет больше внутренних параллельных путей. В нем используется ферритовая память с магнитным сердечником в 4096 или 8192 словах по 40 бит, содержащих 39 бит данных с четностью. Центральный процессор (ЦП) размещается в одном шкафу с высотой, шириной и глубиной 56 на 66 на 16 дюймов (142 на 168 на 41 см). Схемотехника основана на печатных платах, причем схемы достаточно просты, а большая часть сигнализации осуществляется по проводам. Второй шкаф размером примерно в половину меньше, чем используется для источника питания, который обычно основан на большой никель-кадмиевой батарее с зарядным устройством, ранней форме источника бесперебойного питания. Третий шкаф (того же размера, что и силовой шкаф) содержит дополнительную рабочую память на машинах с 8192 магазинами слов. Есть операторский пульт управления, Creed телетайп и скоростной бумажный перфолент считыватель и перфорация для ввода / вывода, с использованием 5-трекового телекода Эллиотта, а не Бодо. Лента читается со скоростью 500 символов в секунду и перфорируется со скоростью 100 символов в секунду. Пульт оператора длиной около 60 дюймов позволяет вручную вводить низкоуровневые инструкции для управления адресами и данными, а также запускать, останавливать и включать машину: имеется громкоговоритель (включаемый верхним битом регистра команд ), который позволяет оператору судить о состоянии вычисления. Система требует кондиционирования воздуха, потребляя около 3,5 кВт мощности в минимальной конфигурации. Минимальная установка весила около 1800 фунтов (820 кг).
Устройство для обработки магнитной пленки 35 ммДополнительное запоминающее устройство доступно на необычной системе магнитной ленты на основе стандартной пленки 35 мм покрытый оксидом железа (производство Kodak ). В то время это использовалось киноиндустрией для записи звуковых дорожек. Фабрика Эллиотта в Борехамвуде была близка к киностудии Элстри, что объясняет использование 35-миллиметровых носителей. Барабаны длиной 1000 футов вмещали 4096 блоков по 64 слова в блоке (4096 x 64 x 39 = 10 223 616 бит, или эквивалент примерно 1,3 мегабайта).
Еще одна необычная особенность - использование магнитных сердечников не только для памяти, но и в качестве логических вентилей. Эти логические ядра имеют 1, 2 или 3 входные обмотки, триггер (считывание) и выходную обмотку. В зависимости от полярности импульсы тока во входных обмотках либо намагничивают сердечник, либо гасят друг друга. Намагниченное состояние сердечника указывает результат логической логической функции. Две фазы тактового сигнала, обозначенные альфа и бета, используются для запуска (сброса в ноль) альтернативных ядер. Переход от единицы к нулю вызывает импульс на выходной обмотке. Ядра, которые получают альфа-триггерные импульсы (альфа-ядра), имеют входы, поступающие от вентилей, которые запускаются на бета-фазе (бета-ядра). Транзисторы в то время были дорогими, и каждый логический вентиль требовал только одного для усиления импульса выходной обмотки; однако один транзистор управляет входами небольшого числа (обычно 3) других ядер. Если необходимо управлять более чем 3 входами, каждое ядро может управлять еще двумя транзисторами.
Команды и данные основаны на 39-битном слове с двоичным представлением в арифметике 2 с дополнением. Набор команд работает с одним адресом и одним регистром накопителя с дополнительным вспомогательным регистром для целочисленного умножения и деления двойной длины. Хотя считается, что инструкции деления одинарной длины и извлечения квадратного корня были включены только в 803, предназначенных для приложений управления процессами, было обнаружено, что на одном оставшемся работающем 803B эти инструкции были включены, вероятно, потому, что он использовался компанией-разработчиком программного обеспечения для разработки реальных приложения для управления временем и процессами. Команда состоит из 6-битного функционального поля (обычно представленного в восьмеричной ) и 13-битного адреса. Это дает 64 инструкции, организованные в 8 групп по 8 инструкций. 13-битное адресное поле памяти дает адресный диапазон 8192 слов. Эти 19-битные инструкции упакованы по два в слово с дополнительным 39-м битом между ними, так называемая B-строка или B-цифра (термин унаследован от компьютера Ferranti Mark 1, где A-линия представляет аккумулятор, а B-линия - модификатор команд, оба хранятся в трубке Вильямса ). Установка цифры B приводит к добавлению содержимого адреса памяти первой инструкции ко второй инструкции во время выполнения, что позволяет индексировать, косвенную адресацию и другие модификации инструкций во время выполнения. Битовое время составляет 6 микросекунд, переходы выполняются за 288 микросекунд, а простые арифметические инструкции - за 576 микросекунд. Операции с плавающей точкой занимают несколько миллисекунд. IO прямая. Прерывания не использовались стандартными периферийными устройствами и не задокументированы в руководстве по программированию.
В нижеследующих описаниях A и N представляют аккумулятор и буквальный адрес, a и n представляют (начальное) содержимое аккумулятора и адресуемое местоположение хранилища, а 'и n' - результирующее содержимое.
Это арифметические операции с фиксированной запятой с 4 различными комбинациями операндов и адресатов результата:
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Группа 4 - это условные и безусловные переходы. Функции 40–43 переходят к первой инструкции пары, а 44–47 - ко второй.
| ||||||||||||||||
|
Группа 5 - это команды умножения, деления и сдвига. Некоторые из них используют 38-битный вспомогательный регистр (AR - содержимое обозначается ar), который можно рассматривать как расширение аккумулятора на наименее значимом конце. При умножении и делении a / ar рассматривается как дробь со знаком между -1 и одним младшим значащим битом меньше +1. Несмотря на то, что в Справочнике 803 сказано: «Все нечетные функции в группе 5 очищают AR», функция 57 не очищает его.
| ||||||||||||||||
|
Группа 6 - это команды с плавающей запятой (если -пункт установлен).
Числа с плавающей запятой представлены в 39-битном слове или в аккумуляторе как (от старшего до младшего значащего конца):
Ноль всегда представлен всеми 39 битами нуля.
Обратите внимание, что проверка на ноль и проверка на отрицательные инструкции перехода одинаково действительны для чисел с плавающей запятой.
| ||||||||||||||||||||||||||||||||||||
|
Все эти инструкции очищают вспомогательный регистр.
Группа 7 является вводом / выводом, за исключением 73, которая используется для связывания подпрограмм. Более полное описание функций Группы 7 можно найти по ссылке «Наше компьютерное наследие».
| ||||||||||||||||
|
Управление цифровым плоттером:
Инструкция | Движение пера |
72 7168 | Нет движения |
72 7169 | ВОСТОК |
72 7170 | ЗАПАД |
72 7172 | СЕВЕР |
72 7176 | ЮГ |
72 7173 | СЕВЕРО-ВОСТОК |
72 7174 | СЕВЕРО-ЗАПАД |
72 7177 | ЮГО-ВОСТОК |
72 7178 | ЮГО-ЗАПАД |
72 7184 | Pen Up |
72 7200 | Pen Down |
Вход в подпрограмму в объявлении dress N обычно выполняется последовательностью:
73 LINK: 40 N
Адрес возврата был сохранен в месте ссылки (обычно в месте до начала подпрограммы (например, N-1))
и возвращается с использованием последовательности:
00 LINK / 40 1
В качестве примера Ниже приведены Начальные инструкции, жестко зашитые в ячейки 0–3 и используемые для загрузки двоичного кода с бумажной ленты в память. В соответствии с соглашением 803 он записывается с двумя инструкциями в каждой строке, представляющими содержимое одного слова. Двоеточие или косая черта между ними представляют собой B-разрядное значение, равное нулю или единице соответственно.
0: 26 4: 06 0 Очистить loc'n 4; Очистить A 1: 22 4/16 3 Шаг 4; Сохранить A в loc'n (3 + содержимое loc'n 4) и очистить A 2: 55 5: 71 0 Сдвинуть A влево 5 раз; Прочтите ленту и «или» в A 3: 43 1: 40 2 Перейти к loc'n 1, если арифметика переполнена; Перейти к loc'n 2
В этой очень простой программе следует обратить внимание на несколько моментов:
(Значения данных для циклических местоположений 0 - 3 должны быть нулевыми, поскольку значения счетчиков 8192, 8193 и т. Д. Изменяют B-модифицированную вторую половину позиция 1 от 16 до 17, которая устанавливает a в n - a вместо его очистки, как того требует внутренний цикл.)
803 имеет малоизвестную средство прерывания. Хотя это не упоминается в руководстве по программированию и не используется ни одним из стандартных периферийных устройств, работа логики прерывания описана в справочниках по аппаратному обеспечению 803, а логика показана в схемах обслуживания 803 (Схема 1: LB7 Gb). Прерывания, вероятно, используются в основном в сочетании с настраиваемыми интерфейсами, предоставляемыми как часть систем управления процессами ARCH в реальном времени. Поскольку все инструкции ввода и вывода заставляют 803 становиться «занятым», если входные данные недоступны или если устройство вывода не завершило предыдущую операцию, прерывания не нужны и не используются для управления стандартными периферийными устройствами.
Возбуждение входа прерывания в компьютер вызывает перерыв в выполнении следующим образом: как только машина находится в подходящем состоянии (в частности, когда он не "занят", и только в определенных состояниях выборки / выполнения cycle), следующая пара инструкций выбирается из ячейки 5 сохранения без изменения регистра управления последовательностью (SCR). Предполагается, что ячейка 5 будет содержать стандартную пару инструкций входа в подпрограмму (73 LINK: 40 N - см. Выше), позволяющую сохранить адрес выполнения перед прерыванием (все еще в SCR) для последующего возврата. Внешнее оборудование, вызывающее прерывание, должно воздерживаться от создания другого прерывания до тех пор, пока первое не будет подтверждено какой-либо подходящей инструкцией ввода / вывода, чтобы предотвратить вложение прерываний. Компилятор Algol не считает местоположение 5 зарезервированным, хотя это может быть больше связано с непригодностью Algol для приложений управления процессами, чем с указанием того, что прерывания никогда не рассматриваются как основное средство.
Начальные инструкции, описанные как пример программы выше, фактически являются первичным загрузчиком, который обычно используется для чтения вторичного загрузчика, известного как T23, добавленного ко всем программным лентам. T23 позволяет использовать более гибкие возможности загрузки программ, включая проверку загруженного кода.
Программы машинного кода написаны в восьмеричном / десятичном представлении, приведенном в примере программы выше, и загружены рудиментарным ассемблером, известным как процедура ввода трансляции. Он не имеет средств символической адресации, но вместо этого позволяет разбивать источник на блоки, которые можно перемещать вручную, чтобы обеспечить расширение или сжатие предыдущего блока в разработке. Также существует Autocode для простых задач программирования, позволяющий ускорить разработку программ без необходимости знания машинного кода. Здесь нет средств преобразования формул и требуется свести все вычисления к серии назначений с не более чем одним оператором в правой части.
803B с 8192 словами памяти способен запускать компилятор Elliott ALGOL, основное подмножество языка Algol60, способный последовательно загружать и запускать несколько программ ALGOL. В значительной степени это было написано Тони Хоаром, нанятым Эллиотсом в качестве программиста в августе 1960 года. Хоар рассказывает о некоторых своих опытах в Эллиоттсе в своей 1980 Association for Computing Machinery (ACM) Премия Тьюринга лекция.
803B в Национальном музее вычислительной техники теперь работает достаточно хорошо, чтобы снова запустить этот компилятор. На YouTube есть короткое видео, в котором он компилирует и запускает простую программу.
Модель 803 при продаже NCR для коммерческого использования была названа NCR-Elliott 803. В это время Elliott Automation также производила / собирала NCR 315 в Борехамвуде.
Elliott 803 (а позже Elliott 4100) использовались в компьютерном бюро «Computer Workshop» совместного предприятия NCR-Elliott. Уникальной особенностью этого бюро было то, что они проводили 3-дневные курсы, чтобы научить своих клиентов писать свои собственные программы, и они часто передавались в дар библиотеке программ, которые можно было использовать. Клиенты приезжали в Борехамвуд (а затем и в Гринфорд), чтобы сами управлять компьютерами - одним из первых примеров персональных компьютеров. Цена за час составляла 8 фунтов стерлингов (что эквивалентно 186 фунтов стерлингов в 2019 году) с 9:00 до 17:00, 6 фунтов стерлингов (эквивалентно 139 фунтов стерлингов в 2019 году) с 17:00 до полуночи и 4 фунта стерлингов (эквивалент 93 фунтов стерлингов в 2019 году) с полуночи. до 9 часов утра.
Самыми популярными приложениями были в области гражданского строительства и архитектуры, для структурного анализа, выемки и насыпи, корректировки геодезических работ и ведомостей объемов работ.
Следующими были 803 пользователя:
Небольшое количество подержанных 803-х попало в школы Великобритании.
На сайте Wikimedia Commons есть СМИ, относящиеся к Elliott 803. |