PDP-11 — серия 16-разрядных мини-ЭВМ компании DEC, серийно производимых и продаваемых в 1970—80-х годах. Развитие серии PDP-8 из общей линейки компьютеров PDP. В PDP-11 появилось несколько уникальных технологических инноваций, эта серия была проще в программировании, чем её предшественники. Но, несмотря на её всеобщее признание со стороны программистов, PDP-11 со временем была вытеснена персональными компьютерами, включая IBM PC и Apple II.
Система команд ряда PDP-11 оказала сильное влияние на язык программирования C.
Особенности PDP-11
Система команд
Программисты полюбили PDP-11 за её «ортогональную» систему команд: можно было отдельно запоминать команды, и отдельно — методы доступа к операндам. Можно было считать, что любой метод доступа (режим адресации)
будет работать с любой операцией; не нужно было запоминать список
исключений и особых случаев, в которых операция имеет ограниченный
набор режимов адресации, все регистры были универсальными и могли
использоваться с любой командой. На самом деле исключения и особые
случаи были, но всего в нескольких довольно редко применяемых командах.
В некотором смысле, набор режимов адресации образовывал «базис», а
набор операций — другой базис. Каждая двухоперандная инструкция
состояла из двух 6-битных идентификаторов операндов (каждый из них
содержал три бита на номер регистра и три бита на режим адресации), а
также из 4-битного кода операции; однооперандная инструкция содержала
один 6-битный идентификатор операнда и 10-битный код операции. Из
восьми регистров (с номерами от 0 до 7), шесть были регистрами общего
назначения; регистр 6 особо выделялся в качестве указателя стека;
регистр 7 был указателем текущей инструкции. Однако все эти регистры
могли использоваться как операнды в арифметико-логических операциях или
использоваться при формировании адресов операндов.
Отсутствие отдельной шины ввода/вывода
В отличие от многих других компьютеров своего времени, первые модели
PDP-11 не имели отдельной шины ввода/вывода — только шину памяти Unibus.
Все регистры устройств ввода/вывода имели свои адреса, аналогичные
адресам памяти, поэтому отдельные инструкции ввода/вывода были не
нужны. Система прерываний была сделана максимально простой, но
достаточно гибкой. Каждое устройство имело свой вектор прерывания,
которое при необходимости сообщало процессору, поэтому не было жёсткого
ограничения на количество векторов, доступных для использования
устройствами.
Высокопроизводительные машины семейства, начиная с PDP-11/45, уже
имели отдельную шину памяти, Unibus же продолжала использоваться только
для ввода/вывода. В PDP-11/70 был сделан ещё один шаг вперёд: добавился
отдельный интерфейс для магнитных дисков и лент — Massbus.
Тем не менее, управляющие регистры устройств ввода/вывода по-прежнему
проецировались на память, и отдельных инструкций ввода/вывода не
требовалось.
Разработана для массового производства
И наконец, компьютеры PDP-11 были разработаны для производства на заводах с низкоквалифицированной рабочей силой.
Размеры всех конструктивных частей были относительно некритичными. При
сборке печатные платы подключались к общей плате, на которой применялся
монтаж навивкой. Соединительные блоки были очень похожи на те, которые
уже давно применялись в телефонии.
Images of some of the Micro PDP-11's QBUS
boards
|
|
KDJ11-B Processor.
|
|
Clearpoint QRAM-44B 2MB Memory.
|
|
RQDX3 - M7555 - MSCP MFM Disk Controller.
|
|
DQ132 9-track ½ Tape Controller
|
|
DELQA - M7516 - Ethernet Adapter. |
|
|
|
|
|
|
|
|
|
|
|
|
История фирмы DEC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
April
1970:
The PDP-11/20, the first of DIGITAL's 16-bit
family of machines, is delivered. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1971:
RSTS-11, a timesharing operating system for
the PDP-11, is introduced. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1971:
The PDP-11/45, the most powerful PDP-11 family
member to date is introduced. The PDP-11 was
featured in Garry Trudeau's Doonesbury comic strip. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1971:
The RTM (PDP-16) is introduced. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1972:
The PDP-16/M is introduced as the first
"sub-minicomputer" developed by
DIGITAL. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1972:
The PDP-11/40 is introduced. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1972:
DIGITAL introduces the PDP-11/05 and PDP-11/10 as the first
"inexpensive" PDP-11s. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
May 1973:
RSX-11D, a real-time operating system for
online data acquisition, monitoring and control
on the PDP-11, is introduced. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
July 1973:
RT-11, a real-time operating system for
monitoring and control, is introduced. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1974:
RSX-11M, a real-time operating system for
online control, is introduced for use on the
PDP-11. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
February
1975:
LSI-11, DIGITAL's first 16-bit
microcomputer, is introduced. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
February
1975:
The powerful PDP-11/70 is added to the PDP-11
family. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1975:
The PDP-11/34 is delivered. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
March
1977:
DIGITAL announces a new mid-range
price/performance system, the PDP-11/60. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
March
1979:
The F-11 microprocessor is announced. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
March
1979:
The PDP-11/23 is introduced. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
November
1979:
The PDP-11/44 ships. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
March
1981:
PDP-11/24 is introduced. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
May 1982:
DIGITAL introduces a range of new personal
computers. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
November
1985:
Introduction of the MicroPDP-11/83, the most powerful Q-bus
16-bit wordlength computer in DIGITAL's history. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
May 1990:
The 20th anniversary of the first PDP-11 computer
is marked by the introduction of two new PDP-11
systems: the MicroPDP-11/93 and the PDP-11/94. |
|
Пример программы
Пример программы «Hello, World!» на макроассемблере PDP-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
Операционные системы
Перфолента, использовавшаяся на PDP-11
- От DEC: DOS/BATCH, IAS, P/OS, RSX-11, RT-11, RSTS/E, Ultrix-11
- От сторонних производителей: ANDOS, MK-DOS, CSI-DOS, TRIPOS, MUMPS, Unix (несколько версий), TSX-Plus и другие.
- Советские: РАФОС, ФОДОС, РУДОС, ОС ДВК (клоны RT-11), ОС-РВ (клон RSX-11), ДЕМОС (клон UNIX), ИНМОС (клон UNIX), ДОС КП (клон RSTS/E)
PDP-11 за железным занавесом
В СССР
и других странах восточного блока было разработано и выпускалось
несколько машин, совместимых по системе команд и частично по
архитектуре с серией PDP-11: [1]
- СМ-3, СМ-4, СМ-1420, СМ-1600 — см. СМ ЭВМ — в СССР
- Электроника БК-0010 — домашний/учебный компьютер на основе K1801BM1A (аналог — LSI-11/03)
- ДВК — персональный компьютер на основе К1801ВМ1/ВМ2/ВМ3
- Союз-Неон ПК-11/16 — домашний/учебный компьютер на основе Н1806ВМ2.
- Электроника МС 0511 «УКНЦ» — учебный компьютер на 2-х процессорах КМ1801ВМ2
- Электроника 100/25 — клон PDP-11/34
- Электроника 79 — клон PDP-11/70
- Электроника 60 — клон LSI-11 (PDP-11/06)
- Электроника 85 — клон DEC Pro-350 на основе КН1831
- ИЗОТ-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 — в Польше
- Электроника 87, СМ-1425 — клон Micro PDP 11/73
- Наири-4 — в Армении
Литература
- Р. Экхауз, Л. Моррис, Мини-ЭВМ: организация и программирование, М.: Финансы и статистика, 1983.
- М. Сингер, Мини-ЭВМ PDP-11: Программирование на языке ассемблера и организация машины, М.:Мир, 1984.
|