ЛИНК-8

LINC-8 — это название мини-компьютера , произведенного Digital Equipment Corporation в период с 1966 по 1969 год. Он сочетает в себе компьютер LINC и PDP-8 в одном корпусе, что позволяет запускать программы, написанные для любой из двух архитектур.
Архитектура
[ редактировать ]
LINC-8 содержит один ЦП PDP-8 и один ЦП LINC, частично эмулированный PDP-8. В любой момент компьютер находится либо в «режиме LINC», либо в «режиме PDP-8» — оба процессора не могут работать параллельно. Предусмотрены инструкции по переключению между режимами. В LINC-8 все прерывания обрабатываются процессором PDP-8, и программы, использующие архитектуру прерываний LINC, не могут быть запущены.
LINC представляет собой 12-битную с дополнением до единиц аккумуляторную машину , тогда как PDP-8, также являясь 12-битной аккумуляторной машиной, работает в арифметике с дополнением до двух .
Адресация памяти в двух архитектурах также различна. В LINC полное адресное пространство разделено на сегменты по 1024 слова , два из которых выбираются для одновременного использования: поле инструкции и поле данных . Прямой доступ к данным в поле инструкций возможен с использованием 10-битных адресов. К полю данных можно обращаться только косвенно. Поле инструкций и поле данных теоретически могут быть выбраны из 32 областей по 1 КБ 12-битных слов каждая, поскольку максимальная архитектура составляет 32 КБ слов. На практике лишь немногие системы LINC-8 когда-либо были расширены до 8K. Расширение памяти сначала осуществляется за счет добавления аппаратного обеспечения расширения памяти PDP-8 и инструкций расширенной памяти, а также нескольких незначительных модификаций процессора LINC для адресации памяти, превышающей базовый общий объем 4 КБ. Как только это будет достигнуто, «крылья» памяти 4K могут быть добавлены в последовательную схему шины, которую теоретически можно расширить до семи раз, чтобы реализовать все 32K. На практике это всегда сложно реализовать на «обычном» PDP-8, а в случае с LINC-8 возникает необходимость немного замедлить работу ЦП, чтобы просто добавить первые дополнительные 4К.
Таким образом, на практике сегменты памяти LINC-8 ограничены сегментами 0–3 или, возможно, 0–7 в некоторых реализациях 8K. Однако базовые машины 4K не могут адресоваться за пределами 0–3, в то время как модели с расширенной памятью могут пытаться адресовать сегменты 0–37 восьмеричных, даже если памяти не существует.
По соглашению область сегмента 0 недоступна для обычных полностью эмулируемых операций LINC. Это связано с тем, что туда загружается программа PDP-8, обычно известная как PROGOFOP, для обработки всех прерываний, ловушек и т. д. Можно написать программу для «частичного» ЦП LINC, то есть использовать только то оборудование, которое действительно существует. Всякий раз, когда выполняется операция, которую он не может обработать, работа PDP-8 возобновляется. Однако деятельность ЛИНК могла быть прекращена по ряду причин. Таким образом, всегда рекомендуется загружать PROGOFOP при попытке использовать «полные» программы LINC в этой системе.
Для этой машины было написано множество операционных систем; некоторые из них представляли собой слегка модифицированные версии, разработанные для исходного процессора LINC, на котором он частично основан. Соглашения о загрузке позволяют сначала загрузить образ специальной версии PROGOFOP, а затем выполнить инструкции ленты для загрузки операционной системы на основе LINC. В некоторых случаях процедура загрузки осуществляется вручную прямо на коммутаторах консоли LINC; более поздние системы автоматически запускают систему после загрузки ПРОГОФОП.
Другие операционные системы на самом деле более универсальны и в основном игнорируют сторону LINC. Это системы только для PDP-8, хотя, возможно, они настроены индивидуально с учетом особенностей LINC-8. В некоторых случаях это означает, что их нельзя запустить ни на какой другой машине; в других случаях LINC-8 просто представлял собой обычный вариант драйверов ничем не примечательной системы PDP-8. Преимущество системы на базе PDP-8 состоит в том, что ПРОГОФОП здесь излишен. При необходимости система PDP-8 может загрузить PROGOFOP, а также пользовательскую программу, преимущественно ориентированную на LINC, для доступа к лабораторным периферийным устройствам. Соглашение LINC о недоступности всего первого 1 КБ, зарезервированное для PROGOFOP, заменяется на гораздо меньшее соглашение PDP-8, согласно которому резервируется только 07600-07777 или последняя страница из 128 слов первых 4 КБ машины. Это соответствует небольшой зарезервированной области в конце сегмента 3 LINC в обмен на гораздо большую общую гибкость.
PDP-8 делит свою память на страницы по 128 слов . Инструкция может ссылаться на текущую страницу , то есть на страницу, на которой находилась сама инструкция, или на страницу 0 , 128 слов памяти по адресам 0–127. Косвенная адресация может использоваться для создания 12-битных адресов. Если реализовано более 4 КБ памяти, косвенная адресация расширяется за счет включения поля данных, таким образом, можно получить косвенный доступ к любому местоположению максимум в 32 КБ. Опять же, аппаратные ограничения LINC-8 затрудняют достижение общего размера более 8 КБ. Также реализовано поле инструкций, позволяющее загружать более крупные программы в то же адресное пространство, которым управляет поле данных. Передача контроля может быть прямой или косвенной, в зависимости от необходимости. Новый адрес определяется путем сначала установки нового значения поля инструкции, а затем выполнения инструкции JMP или JMS по соответствующему 12-битному адресу нового поля, что в целом приводит к 15-битному адресу.
Компьютер включает в себя ряд периферийных устройств LINC, которые управляются специальными инструкциями режима LINC. Эти устройства включают в себя аналоговые входы в виде ручек и гнезд, реле для управления внешним оборудованием, приводы LINCtape (предшественник DECtape ), осциллографического типа электронно-лучевую трубку под программным управлением, а также телетайп Model 33 ASR. Фактически, ЭЛТ представляет собой специально модифицированный блок, основанный на стандартном осциллографе Tektronix, модифицированном для работы только с DA-преобразователями и интерфейсом усилителя; здесь нет схем развертки, как в обычных осциллографах. Большинство модификаций включают в себя специальные сильно урезанные подключаемые модули, в которых также размещены настоящие ручки, подключенные к самым низким каналам AD. Возможно, это предшественник современного интерфейса мыши; некоторые программы использовали вращение ручек способом, который позже напоминал двухмерную форму мыши; это ручки, управляющие одновременно только одним параметром и т. д.
Некоторые из этих периферийных устройств смоделированы и на самом деле являются периферийными устройствами PDP-8. Любая невыполненная операция останавливает ЦП LINC и прерывает процессор PDP-8 для обработки конкретных данных. В частности, LINCtape на самом деле является периферийным устройством PDP-8; класс ленты инструкций LINC перехватывается и прерывает PDP-8, который затем имитирует то, как настоящий LINC или PDP-12 будет выполнять особенности последней ленточной инструкции. Нажатие различных клавиш на, казалось бы, существующей консоли LINC вызывает прерывания PDP-8; PROGOFOP предназначен для эмуляции функций в том виде, в каком они были в оригинальном LINC.
Интересной особенностью является остановка FETCH/EXEC, которая реализована во всех аппаратных средствах LINC и PDP-12. Аппаратное обеспечение, если оно включено, постоянно контролирует выполнение инструкций до тех пор, пока не будут выполнены определенные условия. Это приведет к остановке программы LINC по прерыванию PDP-8. Имитированные операции консоли можно использовать для проверки памяти или внесения других изменений, например нажатия имитируемой клавиши DO. Клавиша DO выполняет любую инструкцию в левом регистре переключения, в то время как правый регистр переключения, возможно, также придется установить в случае инструкций с двойным словом, таких как большая часть класса лент. Загрузка некоторых операционных систем состоит из выполнения инструкции чтения ленты непосредственно с обоих наборов переключателей при нажатии имитируемой клавиши DO с последующим нажатием имитируемого переключателя START 20. По сути, LINC-8 реализует все функции консольной панели «настоящего» LINC, а затем использует PDP-8 для имитации большинства из них.
Цель
[ редактировать ]ЛИНК-8 был построен как лабораторный компьютер. Он достаточно мал, чтобы поместиться в лабораторной среде, обеспечивает скромную вычислительную мощность по низкой цене и включает в себя аппаратные возможности, необходимые для мониторинга и управления экспериментами.
Магнитный ленточный накопитель LINCtape, разработанный Уэсли А. Кларком для LINC, пригоден для работы в лабораторных условиях, а ленты можно небрежно положить в карман, уронить или даже проткнуть и разрезать, не теряя хранящиеся на них данные.
Текущий статус
[ редактировать ]В 1969 году DEC усовершенствовала LINC-8, выпустив PDP-12 , аналогичный комбинированный компьютер для лабораторного использования, и LINC-8 был отменен. Компьютеров LINC-8 было построено всего несколько сотен, поэтому сегодня эта модель является редкостью.
По состоянию на 2008 год проект по эмуляции LINC-8 на современном оборудовании реализуется в рамках компьютерного общества Update при Университете Упсалы .
Ссылки
[ редактировать ]Внешние ссылки
[ редактировать ]- Project GreenPea - эмулятор PDP-12