- PDP-11
-
Для термина «PDP» см. другие значения.
PDP-11 — серия 16-разрядных мини-ЭВМ компании DEC, серийно производившихся и продававшихся в 1970—80-х годах. Развитие серии PDP-8 из общей линейки компьютеров PDP. В PDP-11 появилось несколько уникальных технологических инноваций, эта серия была проще в программировании, чем её предшественники. Но, несмотря на её всеобщее признание со стороны программистов, PDP-11 со временем была вытеснена персональными компьютерами, включая IBM PC и Apple II.
Содержание
Особенности PDP-11
Система команд
Программисты полюбили PDP-11 за её «ортогональную» систему команд: можно было отдельно запоминать команды, и отдельно — методы доступа к операндам. Можно было считать, что любой метод доступа (режим адресации) будет работать с любой операцией; не нужно было запоминать список исключений и особых случаев, в которых операция имеет ограниченный набор режимов адресации, все регистры (
R0
…R7
) могли использоваться с любой командой. РегистрыR0
…R4
были универсальными, а регистрыR5
(FP
, указатель кадра, англ. frame pointer),R6
(SP
, указатель стека, англ. stack pointer) иR7
(PC
, счётчик команд, англ. program counter) — были специальными, для нескольких команд были исключения, но все эти регистры могли использоваться как операнды в арифметико-логических операциях или использоваться при формировании адресов операндов.В некотором смысле, набор режимов адресации образовывал «базис», а набор операций — другой базис. Каждая двухоперандная инструкция состояла из двух 6-битных идентификаторов операндов (каждый из них содержал три бита на номер регистра и три бита на режим адресации), а также из 4-битного кода операции; однооперандная инструкция содержала один 6-битный идентификатор операнда и 10-битный код операции.
Отсутствие отдельной шины ввода/вывода
В отличие от многих других компьютеров своего времени, первые модели PDP-11 не имели отдельной шины ввода/вывода — только шину памяти Unibus. Все регистры устройств ввода/вывода имели свои адреса, аналогичные адресам памяти, поэтому отдельные инструкции ввода/вывода были не нужны. Система прерываний была сделана максимально простой, но достаточно гибкой. Каждое устройство имело свой вектор прерывания, которое при необходимости сообщало процессору, поэтому не было жёсткого ограничения на количество векторов, доступных для использования устройствами.
Высокопроизводительные машины семейства, начиная с PDP-11/45, уже имели отдельную шину памяти, Unibus же продолжала использоваться только для ввода/вывода. В PDP-11/70 был сделан ещё один шаг вперёд: добавился отдельный интерфейс для магнитных дисков и лент — Massbus. Тем не менее, управляющие регистры устройств ввода/вывода по-прежнему проецировались на память, и отдельных инструкций ввода/вывода не требовалось.
Разработана для массового производства
И наконец, компьютеры PDP-11 были разработаны для производства на заводах с низкоквалифицированной рабочей силой. Размеры всех конструктивных частей были относительно некритичными. При сборке печатные платы подключались к общей плате, на которой применялся монтаж навивкой. Соединительные блоки были очень похожи на те, которые уже давно применялись в телефонии.
Пример программы
Пример программы «Hello, World!» на макроассемблере MACRO-11, для запуска под RT-11:
.TITLE HELLO WORLD .MCALL .TTYOUT,.EXIT HELLO:: MOV #MSG,R1 ;НАЧАЛЬНЫЙ АДРЕС СТРОКИ 1$: MOVB (R1)+,R0 ;ПОЛУЧАЕМ СЛЕДУЮЩИЙ СИМВОЛ BEQ DONE ;ЕСЛИ НОЛЬ, ВЫХОДИМ ИЗ ЦИКЛА .TTYOUT ;ИНАЧЕ ПЕЧАТАЕМ СИМВОЛ BR 1$ ;ПОВТОР ЦИКЛА DONE: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO
Для компиляции и запуска этой программы в системе RT-11 выполняется последовательность команд:
. MACRO HELLO ERRORS DETECTED: 0 . LINK HELLO . RUN HELLO Hello, world!
Операционные системы
- От DEC: DOS-11, IAS, P/OS, RSX-11, RT-11, RSTS/E, Ultrix-11.
- От сторонних производителей: ANDOS, MK-DOS, CSI-DOS, TRIPOS, MUMPS, Unix (несколько версий), TSX-Plus, Venix, SHAREeleven, SHAREplus и другие.
- Советские: РАФОС, ФОДОС, РУДОС, ОС ДВК (клоны RT-11), ОСРВ СМ ЭВМ (клон RSX-11), ДЕМОС (клон UNIX), ИНМОС (клон UNIX), ДОС КП (клон RSTS/E), NTS.
PDP-11 за железным занавесом
В СССР и других странах восточного блока было разработано и выпускалось несколько машин, совместимых по системе команд и частично по архитектуре с серией PDP-11:[1]
- СМ-3, СМ-4, СМ-1420, СМ-1600 — см. СМ ЭВМ — в СССР
- ДВК — персональный компьютер на основе К1801ВМ1/ВМ2/ВМ3 и сопроцессора ВМ4
- Электроника-60 — клон LSI-11 (PDP-11/06)
- Электроника-79 — аналог DEC PDP-11/70.
- Электроника 85 — клон DEC Pro-350 на основе КН1831
- Электроника 87, СМ-1425 — клон Micro PDP 11/73
- Электроника 100-16
- Электроника 100-25 — Почти 100 % аналог (не только архитектурного уровня, но и аппаратного) DEC PDP-11/40. Выпускался для собственных нужд Минэлектронмаш, ПО «Кварц» г. Калининград.
- ИЗОТ-1016 — в Болгарии
- TPA-11/40, TPA-11/48, TPA-11/110, TPA-11/170, TPA-EMU-11, TPA-11/440, TPA-11/420 — в Венгрии
- CORAL 4001/4011/4030 — в Румынии
- Mera — в Польше
- Наири-4 — в Армении
- Немига
- Электроника БК-0010 — домашний/учебный компьютер на основе K1801BM1A
- Союз-Неон ПК-11/16 — домашний/учебный компьютер на основе Н1806ВМ2.
- Электроника МС 0511 «УКНЦ» — учебный компьютер на 2-х процессорах КМ1801ВМ2
- Саратов-2 — разработана в Центральном НИИ измерительной аппаратуры, г. Саратов[2]
- Электроника МК-85 — Программируемый микрокалькулятор с процессором Т234-2 или Т36ВМ1-2 (КА1013ВМ1).
- Электроника МК-90 — Программируемый микрокалькулятор с процессором К588ВС2.
Электроника 100-16 Электроника 100-25 Электроника-79 Ширина шины адресов, бит 16 18 22 Набор команд 73 (базовый без MARK) 89 (B+, EIS, FIS, менеджер памяти) 137 (B+, EIS, FIS, FP11, менеджер памяти) Быстродействие, оп/с 250 000 800 000 3 000 000 Число регистров 8 8 16 Режимы привилегий 1 2 3 Уровней прерываний 5 5 8 Примечания
- ↑ The PDP-11 FAQ — PDP-11s behind the Iron Curtain
- ↑ Леонид Черняк. Высокопроизводительные встроенные компьютеры — статья в журнале «Открытые системы»
Литература
- Экхауз Р., Моррис Л., Мини-ЭВМ: организация и программирование / Р. Экхауз, Л. Моррис; Пер. с англ. А. Ф. Кондратюка, Л. С. Черняка. — М. : Финансы и статистика, 1983. — 359 с.
- Сингер М. Мини-ЭВМ PDP-11: Программирование на языке ассемблера и организация машины: Пер. с англ = PDP-11. Assembler Language Programming and Machine Organization / Michael Singer. — М.: Мир, 1984. — 272 с.
См. также
- MSP430 — Контроллер с архитектурой, достаточно близкой к идеям PDP-11.
Ссылки
- Проект PDP-11.ORG.RU
- SIMH — эмулятор PDP
Компьютеры Digital Equipment Corporation PDP 18 бит PDP-1/4 • PDP-7/9/15 12 бит LINC • PDP-5/8/12 • LINC-8 • DECmate VAX VAX-11 • MicroVAX • VAX 8000 • VAXstation • Firefly • VAXserver • VAX 6000 • VAX 4000 • VAX 9000 • VAXft • VAX 7000/10000 x86 Rainbow 100 • VAXmate • DECstation • Multia • Digital Personal Workstation MIPS DECstation • DECsystem Alpha DEC 3000 AXP • DEC 4000 AXP • DEC 7000/10000 AXP • DECpc AXP 150 • DEC 2000 AXP • Multia • AlphaServer • AlphaStation • Digital Personal Workstation Категории:- История компьютерной техники
- Digital Equipment Corporation
Wikimedia Foundation. 2010.