ПДП-10
Также известен как | ДЭКсистема-10 |
---|---|
Разработчик | Корпорация цифрового оборудования |
Семейство продуктов | Программируемый процессор данных |
Тип | Главный компьютер |
Дата выпуска | 1966 год |
Снято с производства | 1983 год |
Операционная система | ITS , TOPS-10 , TENEX , WAITS , CompuServe Система разделения времени |
Платформа | Декабрь 36-бит |
Предшественник | ПДП-6 |
Связанный | ДЕКСИСТЕМА-20 |
компании Digital Equipment Corporation (DEC) PDP-10 , позже продаваемый как DECsystem-10 , представляет собой мейнфреймов. семейство [1] выпускается с 1966 года [2] и прекращено в 1983 году. [3] [4] [5] Модели 1970-х годов и позже продавались под названием DECsystem-10, особенно после того, как операционная система TOPS-10 стала широко использоваться. [а]
Архитектура PDP-10 почти идентична архитектуре более раннего PDP-6 от DEC , имеет ту же 36-битную длину слова и немного расширяет набор команд. Основным отличием была значительно улучшенная аппаратная реализация. Некоторые аспекты набора команд необычны, в первую очередь байтовые инструкции, которые оперируют битовыми полями любого размера от 1 до 36 бит включительно, согласно общему определению байта как непрерывной последовательности фиксированного числа битов .
PDP-10 был обнаружен во многих университетских вычислительных центрах и исследовательских лабораториях в 1970-х годах, наиболее известными из которых являются Гарвардского университета лаборатория Эйкена Массачусетского технологического института и , лаборатория искусственного интеллекта проект MAC , Стэнфорда вычислительная SAIL , Computer Center Corporation (CCC). , ETH (ZIR) и Университет Карнеги-Меллона . Ее основные операционные системы , TOPS-10 и TENEX , использовались при создании ранней ARPANET . По этим причинам PDP-10 занимает видное место в фольклоре ранних хакеров .
Проекты по расширению линейки PDP-10 затмил успех несвязанного с ним VAX суперминикомпьютера , а об отмене линейки PDP-10 было объявлено в 1983 году. По имеющимся данным, DEC продала «около 1500 DECsystem-10 к концу 1980 года. ." [6]
Модели и техническая эволюция
[ редактировать ]Оригинальный процессор PDP-10 — KA10, представленный в 1968 году. [7] В нем используются дискретные транзисторы, упакованные по технологии DEC Flip-Chip , а провода объединительных плат наматываются в полуавтоматическом производственном процессе. Время его цикла составляет 1 мкс, а время добавления 2,1 мкс. [8] В 1973 году KA10 был заменен на KI10, в котором используется транзисторно-транзисторная логика (TTL) SSI . В 1975 году к нему присоединился более производительный KL10 (позже более быстрые варианты), который построен на основе логики с эмиттерной связью (ECL), микропрограммирован и имеет кэш -память. Производительность KL10 составляла около 1 мегафлопс при использовании 36-битных чисел с плавающей запятой при сокращении строк матрицы. Он был немного быстрее, чем более новый VAX-11/750 , хотя и более ограничен в памяти.
Меньшая и менее дорогая модель, KS10, была представлена в 1978 году и использовала TTL и Am2901 побитовые компоненты PDP-11 , а также включала Unibus для подключения периферийных устройств. KS10 продавался как DECSYSTEM-2020, входящий в линейку DECSYSTEM-20; это был выход DEC на арену распределенной обработки данных , и она была представлена как «самая дешевая в мире мейнфреймовая компьютерная система». [9]
КА10
[ редактировать ]KA10 имеет максимальный объем основной памяти (как виртуальной, так и физической) 256 килослов (что эквивалентно 1152 килобайтам ); минимальный объем необходимой оперативной памяти составляет 16 килослов. По данным DEC, он не включал пейджинговой связи оборудование ; Управление памятью состоит из двух наборов регистров защиты и перемещения, называемых базовыми и граничными регистрами. пользователя каждую половину адресного пространства Это позволяет ограничить заданным разделом основной памяти , определяемым базовым физическим адресом и размером. Это позволяет использовать модель отдельного разделяемого сегмента кода только для чтения (обычно верхний сегмент) и для чтения и записи сегмента данных/ стека (обычно нижний сегмент), используемого TOPS-10 и позже принятого Unix . Некоторые машины KA10, сначала в MIT, а затем в Bolt, Beranek and Newman (BBN), были модифицированы для добавления виртуальной памяти. [10] [11] и поддержка пейджинговой связи по требованию , [12] [13] и больше физической памяти.
KA10 весит около 1920 фунтов (870 кг). [14]
10/50 была лучшей однопроцессорной машиной KA. [15] в то время, когда был представлен пакет программного обеспечения PA1050 . Двумя другими моделями KA10 были однопроцессорная 10/40 и двухпроцессорная 10/55. [16] [б]
КИ10
[ редактировать ]В KI10 появилась поддержка управления страничной памятью, а также поддержка большего физического адресного пространства в 4 мегаслова . В число моделей KI10 входят 1060, 1070 и 1077, последняя имеет два процессора.
КЛ10
[ редактировать ]Исходные модели KL10 PDP-10 (также продаваемые как DECsystem-10) (1080, 1088 и т. д.) используют исходную шину памяти PDP-10 с внешними модулями памяти. В данном контексте под модулем подразумевался шкаф размером примерно (ШxВxГ) 30 x 75 x 30 дюймов с емкостью от 32 до 256 киловатт памяти на магнитных сердечниках . Процессоры, используемые в DECSYSTEM-20 (2040, 2050, 2060, 2065), обычно, но неправильно называемые «KL20», используют внутреннюю память, установленную в том же шкафу, что и ЦП . Модели 10xx также имеют другую упаковку; они поставляются в оригинальных высоких шкафах PDP-10, а не в коротких, которые позже использовались в DECSYSTEM-20. Различия между моделями 10xx и 20xx заключались в первую очередь в том, в какой операционной системе они работали: TOPS-10 или TOPS-20 . Кроме того, различия носят скорее косметический, чем реальный характер; некоторые системы 10xx имеют внутреннюю память и ввод-вывод «в стиле 20», а некоторые системы 20xx имеют внешнюю память «в стиле 10» и шину ввода-вывода. В частности, все системы ARPAnet TOPS-20 имели шину ввода-вывода, поскольку AN20 Интерфейс IMP представлял собой устройство шины ввода-вывода. Оба могли запускать микрокод TOPS-10 или TOPS-20 и, следовательно, соответствующую операционную систему.
Модель Б
[ редактировать ]Более поздняя версия процессоров 2060 модели B устраняет ограничение в 256 на килослов виртуальное адресное пространство, поддерживая до 32 «секций» по 256 килослов каждая, а также существенные изменения в наборе команд. Эти две версии фактически представляют собой разные процессоры. Первой операционной системой, использующей возможности модели B, является TOPS-20 выпуска 3, а расширенная адресация пользовательского режима предлагается в TOPS-20 выпуска 4. Версии TOPS-20 после выпуска 4.1 работают только на модели B.
TOPS-10 версий 7.02 и 7.03 также использует расширенную адресацию при запуске на процессоре модели B 1090 (или 1091) с микрокодом TOPS-20.
МСА25
[ редактировать ]Последним обновлением KL10 было обновление MCA25 с 2060 до 2065 (или с 1091 до 1095), что дало некоторое увеличение производительности для программ, которые выполняются в нескольких разделах.
Массовый автобус
[ редактировать ]Архитектура ввода-вывода машин KL серии 20xx основана на конструкции шины DEC, называемой Massbus . Хотя многие объясняли успех PDP-11 решением DEC сделать PDP-11 Unibus открытой архитектурой, DEC вернулась к прежней философии с KL, сделав Massbus одновременно уникальным и запатентованным. Следовательно, на вторичном рынке не было производителей периферийных устройств, которые производили бы устройства для Massbus, и DEC решила устанавливать цену на свои собственные устройства Massbus, особенно на дисковод RP06, со значительной надбавкой по сравнению с сопоставимыми IBM-совместимыми устройствами. CompuServe , например, разработала собственный альтернативный дисковый контроллер, который мог работать на Massbus, но подключаться к дисковым подсистемам типа IBM 3330.
Фронтальные процессоры
[ редактировать ]Машины класса KL оснащены интерфейсным процессором PDP-11/40 для запуска и мониторинга системы. PDP-11 загружается с двухпортового диска RP06 (или, альтернативно, с 8-дюймового флоппи- дисковода или DECtape ), а затем на PDP-11 могут быть даны команды для запуска основного процессора, который обычно загружается с тот же дисковод RP06, что и PDP-11. PDP-11 выполняет функции сторожевого таймера во время работы основного процессора.
Связь с мэйнфреймами IBM, включая удаленный ввод заданий (RJE), осуществлялась через внешний процессор DN61 или DN-64 с использованием PDP-11/40 или PDP-11/34a. [17] [18]
КС10
[ редактировать ]KS10 — это более дешевый PDP-10, построенный на чипах AMD 2901 битовых с микропроцессором Intel 8080A в качестве процессора управления. [19] Конструкция KS10 была искажена до модели A, хотя большинство необходимых путей данных, необходимых для поддержки архитектуры модели B, присутствуют. Без сомнения, это было сделано для сегментирования рынка , но это значительно сократило срок службы KS10.
Система KS использует процедуру загрузки, аналогичную KL10. Управляющий процессор 8080 загружает микрокод с диска или магнитной ленты RM03, RM80 или RP06, а затем запускает основной процессор. 8080 переключает режимы после загрузки операционной системы и управляет консолью и последовательными портами удаленной диагностики.
Магнитные ленточные накопители
[ редактировать ]две модели ленточных накопителей Подсистема управления магнитной лентой TM10 поддерживала :
- Транспортировка магнитной ленты TU20 — 45 дюймов в секунду (дюйма в секунду)
- Транспортировка магнитной ленты TU30 — 75 дюймов в секунду (дюйма в секунду)
- Транспортировка магнитной ленты TU45 — 75 дюймов в секунду (дюйма в секунду)
Можно поддерживать сочетание до восьми из них при использовании семидорожечных или девятидорожечных устройств. Каждый из TU20 и TU30 выпускался в версиях A (9-дорожечный) и B (7-дорожечный), и все вышеупомянутые ленточные накопители могли читать/записывать с/на IBM-совместимые ленты с разрешением 200 BPI , 556 BPI и 800 BPI.
Контроллер TM10 Magtape был доступен в двух подмоделях:
- TM10A выполнил перехват цикла в/из памяти PDP-10 с использованием арифметического процессора KA10.
- TM10B получил доступ к памяти PDP-10, используя канал данных DF10, без «кражи цикла» у арифметического процессора KA10. [20] : 49
Архитектура набора команд
[ редактировать ]пользовательского режима От первых PDP-6 до KL-10 и KS-10 архитектура набора команд во многом одинакова. В этом разделе рассматривается эта архитектура. Единственное серьезное изменение в архитектуре — это добавление многосекционной расширенной адресации в KL-10; расширенная адресация, которая изменяет процесс генерации эффективного адреса инструкции, кратко обсуждается в конце. Обычно в системе используются 36-битные слова и инструкции и 18-битные адреса.
Регистры
[ редактировать ]
Обратите внимание, что порядок нумерации битов отличается от порядка нумерации некоторых других процессоров DEC и многих новых процессоров. |
Имеется 16 36-битных регистров общего назначения. Правая половина этих регистров (кроме регистра 0) может использоваться для индексации. Некоторые инструкции работают с парами регистров. Регистр «PC Word» разделен пополам; правые 18 бит содержат счетчик программ , а левые 13 бит содержат флаги состояния процессора с пятью нулями между двумя секциями. Биты регистра условий, которые записывают результаты арифметических операций ( например, переполнение), доступны только нескольким инструкциям.
В исходных системах КА-10 эти регистры представляют собой просто первые 16 слов основной памяти . Аппаратная опция «быстрые регистры» реализует их как регистры в ЦП, по-прежнему адресуемые как первые 16 слов памяти. Некоторое программное обеспечение пользуется этим, используя регистры в качестве кэша инструкций , загружая код в регистры и затем переходя по соответствующему адресу; это используется, например, в Maclisp для реализации одной версии сборщика мусора . [21] Все более поздние модели имеют регистры в ЦП.
Режим супервизора
[ редактировать ]Существует два режима работы: режим супервизора и режим пользователя. Помимо описанной выше разницы в обращении к памяти, программы в режиме супервизора могут выполнять операции ввода/вывода.
Связь из режима пользователя в режим супервизора осуществляется посредством нереализованных пользовательских операций (UUO): инструкций, которые не определяются аппаратным обеспечением и перехватываются супервизором. Этот механизм также используется для эмуляции операций, которые могут не иметь аппаратной реализации в более дешевых моделях.
Типы данных
[ редактировать ]Основными типами данных, которые напрямую поддерживаются архитектурой, являются 36-битные целочисленные арифметические операции с дополнением до двух (включая побитовые операции), 36-битные числа с плавающей запятой и полуслова. Расширенные 72-битные операции с плавающей запятой поддерживаются специальными инструкциями, предназначенными для использования в последовательностях из нескольких команд. Указатели байтов поддерживаются специальными инструкциями. Слово, структурированное как половина «счета» и половина «указателя», облегчает использование ограниченных областей памяти, особенно стеков .
Инструкции
[ редактировать ]
|
Инструкции хранятся в 36-битных словах. Существует два формата: общие инструкции и ввода/вывода . инструкции [22]
В общих инструкциях самые левые 9 битов, от 0 до 8, содержат код операции инструкции . Многие из возможных 512 кодов не определены в машинах базовой модели и зарезервированы для расширения, например, добавления аппаратного блока с плавающей запятой . После кода операции в битах с 9 по 12 указан номер регистра, который будет использоваться для инструкции. Все инструкции ввода/вывода начинаются с того, что биты с 0 по 2 установлены в 1 (десятичное значение 7), биты с 3 по 9 содержат номер устройства, а биты с 10 по 12 — код операции инструкции. [22]
В обоих форматах биты с 13 по 35 используются для формирования «эффективного адреса» E. Биты с 18 по 35 содержат числовой постоянный адрес Y. Этот адрес можно изменить путем добавления 18-битного значения в регистр X. номер регистра, указанный в битах с 14 по 17. Если они установлены в ноль, индексация не используется, то есть регистр 0 не может использоваться для индексации. Бит 13, I, указывает на косвенность, что означает, что конечный эффективный адрес, используемый инструкцией, — это не E, а адрес, хранящийся в ячейке памяти E. При использовании косвенности данные в слове E интерпретируются так же, как расположение инструкция; биты от 0 до 12 игнорируются, а биты от 13 до 35 образуют I, X и Y, как указано выше.
Выполнение инструкции начинается с вычисления E. Она добавляет содержимое данного регистра X (если не 0) к смещению Y; затем, если косвенный бит равен 1, извлекается значение E и вычисление эффективного адреса повторяется. Если I равен 1 в сохраненном значении в E в памяти, система затем будет выполнять косвенное перенаправление и по этому адресу, возможно, выполнив множество таких шагов. [22] Этот процесс продолжается до тех пор, пока не будет достигнуто косвенное слово с нулевым косвенным битом. Подобная косвенность была обычной чертой процессоров той эпохи.
В режиме супервизора адреса напрямую соответствуют физической памяти. В пользовательском режиме адреса транслируются в физическую память. Более ранние модели предоставляют пользовательскому процессу «высокую» и «низкую» память: адреса с верхним битом 0 используют один базовый регистр, а адреса с 1 — другой. Каждый сегмент непрерывен. Более поздние архитектуры имеют доступ к страничной памяти, что позволяет использовать несмежные адресные пространства. К регистрам общего назначения ЦП также можно обращаться как к ячейкам памяти 0–15.
Общие инструкции
[ редактировать ]Существует три основных класса общих инструкций: арифметические, логические и ходовые; условный переход; условный пропуск (который может иметь побочные эффекты). Есть также несколько более мелких классов.
Арифметические, логические операции и операции перемещения включают варианты, которые выполняют операции «немедленная регистрация», «память-регистр», «регистр-память», «регистр-и-память-оба» или «память-память». Поскольку к регистрам можно обращаться как к части памяти, также определены операции между регистрами. (Не все варианты полезны, хотя они четко определены.) Например, операция ADD имеет варианты ADDI (добавление 18-битной константы непосредственно в регистр), ADDM (добавление содержимого регистра в ячейку памяти ). , ADDB (добавить в оба , то есть добавить содержимое регистра в память и также поместить результат в регистр). Более сложным примером является HLROM ( слева половина направо в единицы , память . регистра ), который берет левую половину содержимого регистра, помещает ее в правую половину ячейки памяти и заменяет левую половину содержимого место памяти с помощью Ones. Инструкции из полуслова также используются для связанных списков: HLRZ — оператор CAR в Лиспе; HRRZ — это CDR.
Операции условного перехода проверяют содержимое регистра и переходят в заданное место в зависимости от результата сравнения. Все мнемоники этих инструкций начинаются с JUMP, JUMPA означает «переходить всегда» и JUMP означает «никогда не переходить» - вследствие симметричной конструкции набора команд он содержит несколько пустых операций, таких как JUMP. Например, JUMPN A,LOC переходит к адресу LOC, если содержимое регистра A не равно нулю. Существуют также условные переходы на основе регистра состояния процессора с помощью инструкции JRST. На KA10 и KI10 JRST быстрее, чем JUMPA, поэтому стандартным безусловным переходом является JRST.
Операции условного пропуска сравнивают содержимое регистра и памяти и пропускают следующую инструкцию (которая часто является безусловным переходом) в зависимости от результата сравнения. Простым примером является CAMN A,LOC, который сравнивает содержимое регистра A с содержимым ячейки LOC и пропускает следующую инструкцию, если они не равны. Более сложный пример — TLCE A,LOC (читай: «Проверить левое дополнение, пропустить, если равно»), который использует содержимое LOC в качестве маски и выбирает соответствующие биты в левой половине регистра A. Если все эти биты равны E qual равно нулю, пропустить следующую инструкцию; и в любом случае замените эти биты их логическим дополнением.
Некоторые более мелкие классы инструкций включают инструкции сдвига/поворота и инструкции вызова процедур. Особого внимания заслуживают инструкции стека PUSH и POP, а также соответствующие инструкции вызова стека PUSHJ и POPJ. Байтовые инструкции используют специальный формат косвенного слова для извлечения и хранения битовых полей произвольного размера, возможно, перемещая указатель на следующую единицу. [с]
Инструкции ввода/вывода
[ редактировать ]PDP-10 не использует устройства с отображением памяти , в отличие от PDP-11 и более поздних машин DEC. Отдельный набор инструкций используется для перемещения данных на устройства и обратно, определенные номером устройства в инструкции. Биты с 3 по 9 содержат номер устройства, а 7 бит позволяют всего использовать 128 устройств. Инструкции позволяют перемещать данные на устройства и обратно пословно (DATAO и DATAI) или поблочно (BLKO, BLKI). [23]
В блочном режиме значение, на которое указывает E, представляет собой слово в памяти, разделенное на две части: правые 18 бит указывают начальный адрес в памяти, где данные расположены (или в которые записываются), а левые 18 бит представляют собой счетчик. Инструкции блока увеличивают оба значения каждый раз, когда они вызываются, тем самым увеличивая счетчик, а также перемещаясь к следующей ячейке памяти. Затем он выполняет DATAO или DATAI. Наконец, он проверяет обратную сторону значения в E; если оно не равно нулю, следующая инструкция пропускается. Если оно равно нулю, выполняется следующая инструкция, обычно Прыжок обратно в начало цикла. [24] Инструкции BLK по сути представляют собой небольшие программы, которые циклически перебирают ДАННЫЕ и увеличивают инструкции, но, реализуя это в самом процессоре, они позволяют избежать необходимости многократного чтения серии инструкций из основной памяти и, таким образом, выполняют цикл гораздо быстрее. [25]
Последний набор инструкций ввода-вывода используется для записи и чтения кодов состояния на устройстве: CONO и CONI. [26] Кроме того, CONSZ выполнит CONI, сопоставит полученные данные со значением в E, а затем пропустит следующую инструкцию, если оно равно нулю, что используется аналогично командам BLK. В CONSZ проверяются только правильные 18 бит. [27]
Обработка прерываний
[ редактировать ]Второе использование инструкции CONO — установка уровня приоритета устройства для обработки прерываний . В инструкции CONO есть три бита, с 33 по 35, позволяющие установить устройство на уровни от 0 до 7. Уровень 1 является самым высоким, что означает, что если два устройства одновременно вызывают прерывание, устройство с наименьшим номером будет начать обработку. Уровень 0 означает «нет прерываний», поэтому устройство, установленное на уровень 0, не остановит процессор, даже если оно вызовет прерывание. [28]
С каждым каналом устройства связаны две ячейки памяти: одна по адресу 40+2N, а другая по адресу 41+2N, где N — номер канала. Таким образом, канал 1 использует ячейки 42 и 43. Когда прерывание получено и принято, что означает, что прерывание с более высоким приоритетом еще не запущено, система останавливается на следующей части цикла чтения из памяти и вместо этого начинает обработку по адресу, хранящемуся в первое из этих двух мест. должен Обработчик прерывания отключить уровень прерывания после его завершения, что он может сделать, выполнив инструкции CONO, DATA или BLK. [28]
Два номера устройств зарезервированы для специальных целей. Устройство 0 — это консоль на передней панели компьютера; при чтении устройство извлекает настройки переключателей панели, при записи загораются лампочки состояния. Устройство 4 — это «приоритетное прерывание», которое можно прочитать с помощью CONI, чтобы получить дополнительную информацию о произошедшем прерывании. [29]
Расширенная адресация
[ редактировать ]В процессорах, поддерживающих расширенную адресацию, адресное пространство разделено на «разделы». 18-битный адрес — это «локальный адрес», содержащий смещение внутри раздела, а «глобальный адрес» — это 30 бит, разделенный на 12-битный номер раздела внизу левых 18 бит и 18-битный номер раздела. смещение внутри этого раздела в правых 18 битах. Регистр может содержать либо «локальный индекс» с 18-битным беззнаковым смещением или локальным адресом в правых 18 битах, либо «глобальный индекс» с 30-битным беззнаковым смещением или глобальным адресом в правых 30 битах. Косвенное слово может быть либо «локальным косвенным словом» с установленным самым верхним битом, следующими 12 битами зарезервировано, а остальные биты являются косвенным битом, 4-битным кодом регистра и 18-битным смещением, или «глобальное косвенное слово», самый верхний бит которого очищен, следующий бит является косвенным битом, следующие 4 бита представляют собой код регистра, а оставшиеся 30 бит представляют собой смещение. [30] : 1-26–1-30
В процессе вычисления эффективного адреса генерируется 12-битный номер секции и 18-битное смещение внутри этого сегмента. [30] : 1-26–1-30
Программное обеспечение
[ редактировать ]Операционные системы
[ редактировать ]Исходная операционная система PDP-10 называлась просто «Монитор», но позже была переименована в TOPS-10 . В конце концов сама система PDP-10 была переименована в DECsystem-10. Ранние версии Monitor и TOPS-10 легли в основу Стэнфордской операционной системы WAITS и CompuServe системы разделения времени .
Со временем некоторые операторы PDP-10 начали использовать операционные системы, собранные из основных компонентов, разработанных за пределами DEC. Например, основной планировщик может быть из одного университета, Дисковая служба — из другого и т. д. Коммерческие службы разделения времени, такие как CompuServe , On-Line Systems, Inc. (OLS) и Rapidata , содержали сложные внутренние группы системного программирования, чтобы они могли модифицировать операционную систему по мере необходимости для своего бизнеса, не завися от DEC или других компаний. Существуют также сильные сообщества пользователей, такие как DECUS , через которые пользователи могут делиться разработанным ими программным обеспечением.
BBN разработала собственную альтернативную операционную систему TENEX , которая довольно быстро стала популярной в научном сообществе. Позже DEC портировала TENEX на KL10, значительно усовершенствовала его и назвала TOPS-20 , сформировав линейку DECSYSTEM-20.
MIT , который разработал CTSS, совместимую систему разделения времени для работы на IBM 709 (а позже и модифицированную систему IBM 7094 ), также разработал ITS, несовместимую систему разделения времени. [31] работать на своем PDP-6 (а позже и на модифицированном PDP-10); [ нужна ссылка ]
Компания Tymshare разработала TYMCOM-X , созданный на основе TOPS-10, но использующий страничную файловую систему, такую как TOPS-20. [32]
Языки программирования
[ редактировать ]DEC поддерживала DECsystem-10 FORTRAN IV (F40) для PDP-10 с 1967 по 1975 год. [33]
MACRO-10 (макросилятор языка ассемблера), COBOL, BASIC и AID поддерживались в рамках мониторов мультиобработки и обмена. [34]
На практике около 1970 года в Политехническом институте Хэтфилда был доступен ряд других сред программирования, включая LISP и SNOBOL.
Клоны
[ редактировать ]В 1971–1972 годах исследователи Xerox PARC были разочарованы отказом высшего руководства компании позволить им купить PDP-10. Xerox только что купила Scientific Data Systems (SDS) в 1969 году и хотела, чтобы PARC использовала машину SDS. Вместо этого группа под руководством Чарльза П. Такера спроектировала и построила две системы-клоны PDP-10 под названием MAXC (произносится как Max, в честь Макса Палевски , который продал SDS компании Xerox) для собственного использования. MAXC также был обратным названием компьютера Xerox с множественным доступом. МАКС управлял модифицированной версией «Техснабэкспорта». [35]
Попытки третьих сторон продать клоны PDP-10 оказались относительно безуспешными; см. Foonly , Системные концепции и XKL .
Использование CompuServe
[ редактировать ]Одна из крупнейших коллекций систем архитектуры DECsystem-10, когда-либо собранных, находилась в компании CompuServe , которая на пике своего развития управляла более чем 200 слабосвязанными системами в трех центрах обработки данных в Колумбусе, штат Огайо . CompuServe использовала эти системы в качестве «хостов», обеспечивая доступ к коммерческим приложениям и информационной службе CompuServe. Хотя первые такие системы были куплены у DEC, когда DEC отказалась от архитектуры PDP-10 в пользу VAX , CompuServe и другие клиенты PDP-10 начали покупать совместимые с вилкой компьютеры у Systems Concepts. По состоянию на январь 2007 г. [update]Компания CompuServe использовала небольшое количество компьютеров с архитектурой PDP-10 для выполнения некоторых функций биллинга и маршрутизации.
Основные источники питания, используемые в машинах серии KL, были настолько неэффективны, что инженеры CompuServe разработали запасной блок, потреблявший примерно половину энергии. CompuServe предложила DEC бесплатно лицензировать разработку своей поставки KL, если DEC пообещает, что на любом новом KL, купленном CompuServe, будет установлен более эффективный источник питания. DEC отклонила это предложение.
Еще одной модификацией PDP-10, внесенной инженерами CompuServe, стала замена сотен индикаторных ламп накаливания на процессорном шкафу KI10 светодиодными ламповыми модулями. Затраты на переоборудование были легко компенсированы за счет экономии на потреблении электроэнергии, уменьшении количества тепла и рабочей силы, необходимой для замены перегоревших ламп. Digital последовала этому шагу во всем мире. На рисунке справа показана световая панель памяти MF10, которая является современницей ЦП KI10. Этот предмет является частью компьютерного музея и в 2008 году был оснащен светодиодами только для демонстрационных целей. На самих процессорах KL и KS подобных блоков индикаторных лампочек не было — только на устаревшей памяти и периферийных устройствах.
Отмена и влияние
[ редактировать ]PDP-10 в конечном итоге затмили VAX суперминикомпьютеры (потомки PDP-11 ), когда DEC осознала, что линейки продуктов PDP-10 и VAX конкурируют друг с другом, и решила сконцентрировать свои усилия по разработке программного обеспечения на более прибыльном VAX. . Об отмене линейки продуктов PDP-10 было объявлено в 1983 году, включая отмену текущего проекта Jupiter по производству нового высокопроизводительного процессора PDP-10 (несмотря на то, что на момент отмены этот проект находился в хорошей форме) и проекта Minnow по производству настольный PDP-10, который, возможно, тогда находился на стадии прототипирования. [36]
Это событие означало гибель ITS и технической культуры, породившей оригинальный файл жаргона , но к 1990-м годам среди хакеров старых времен стало своего рода знаком чести освоить PDP-10.
PDP-10 Инструкции ассемблера LDB и DPB (загрузка/депозит байта ) продолжают существовать как функции в языке программирования Common Lisp . См. раздел «Ссылки» статьи о LISP . На 36-битный размер слова PDP-6 и PDP-10 повлияло удобство программирования, заключающееся в наличии двух указателей LISP, каждый по 18 бит, в одном слове.
Уилл Кроутер создал Adventure , прототип компьютерной приключенческой игры, для PDP-10. Дон Даглоу создал первую компьютерную бейсбольную игру (1971 г.) и Dungeon (1975 г.), первую ролевую видеоигру на PDP-10. Уолтер Брайт изначально создал Empire для PDP-10. Рой Трубшоу и Ричард Бартл создали первый MUD на PDP-10. Zork был написан на PDP-10. Компания Infocom использовала PDP-10 для разработки и тестирования игр. [37]
Билл Гейтс и Пол Аллен первоначально написали Altair BASIC, используя симулятор Intel 8080, работающий на PDP-10 в Гарвардском университете . Аллен перепрофилировал ассемблер PDP-10 в кросс-ассемблер для чипа 8080. [38] они основали Microsoft Вскоре после этого .
Эмуляция или симуляция
[ редактировать ]Программное обеспечение для моделирования исторических компьютеров SIMH содержит модули для эмуляции всех моделей ЦП PDP-10 на машинах под управлением Windows или Unix. Копии оригинальных дистрибутивных лент DEC доступны для загрузки из Интернета, что позволяет установить работающую систему TOPS-10 или TOPS-20. ITS и WAITS также доступны для SIMH. [39] [40]
Программное обеспечение KLH10 Кена Харренстиена для Unix-подобных систем эмулирует процессор KL10B с расширенной адресацией и 4 МВт памяти или процессор KS10 с 512 КВт памяти. Эмуляция KL10 поддерживает микрокод KL10 версии 442, что позволяет запускать окончательные версии TOPS-10 и TOPS-20. Эмуляция KS10 поддерживает как микрокод ITS v.262 для финальной версии KS10 ITS, так и микрокод DEC v.130 для финальных версий KS TOPS-10 и TOPS-20. [41]
Эта статья частично основана на Файле жаргона , который находится в свободном доступе.
См. также
[ редактировать ]Примечания
[ редактировать ]- ↑ Название TOPS-10 было объявлено в 1970 году.
- ^ также продается как 1040, 1050, 1055, а модели KI/KL - как 1060, 1070 и т. д.
- ^ см . Байтовая адресация § Гибридные системы
Ссылки
[ редактировать ]- ^ Черуцци, с. 208: «Он был большим — даже в собственной литературе DEC [PDP-10] называлась мэйнфреймом».
- ^ Черуцци, с. 139
- ^ Уинстенли, Грэм (1991). Искусственный интеллект в технике . Западный Суссекс, Англия: Уайли, Чичестер. п. 391. ИСБН 9780471926030 .
PDP-10... снят с производства в 1983 году.
- ^ «Производство PDP-10 было прекращено в 1983 году, а производство PDP-11 продолжалось до 1997 года» .
...при том, что третьи лица продолжают продавать детали, так что это действительно не то...
- ^ «Что означает пдп-10?» . определения.net .
PDP-10 представлял собой семейство мэйнфреймов, производившихся ... об отмене линейки PDP-10 было объявлено в 1983 году.
- ^ Ларри Леттьери (ноябрь 1980 г.). «Foonly бросает вызов патентам DEC с помощью эмулятора». Мини-микросистемы . стр. 15, 17.
- ^ «Руководство по PDP10» (PDF) . Декабрь 1968 года.
- ^ Digital Equipment Corporation, Справочник по цифровым малым компьютерам , стр. 376
- ^ «ДЕКСИСТЕМА-2020» . gordonbell.azurewebsites.net .
- ^ Стролло, Теодор Р.; Берчфлел, Джерри Д.; Томлинсон, Раймонд С. (22 июля 1970 г.). «Технические сведения о пейджере BBN модели 701» (PDF) . Болт, Беранек и Ньюман .
- ^ МакНэми, LP (1976). «Система виртуальной памяти для процессора PDP-10 KA10» .
- ^ Боброу, Дэниел Г .; Берчфилд, Джерри Д.; Мерфи, Дэниел Л .; Томлинсон, Раймонд С. (март 1972 г.). «Техснабэкспорт, система пейджингового разделения времени для PDP-10» (PDF) . Коммуникации АКМ . 15 (3): 135–143. CiteSeerX 10.1.1.509.1454 . дои : 10.1145/361268.361271 . S2CID 52848167 .
Процессор PDP-10, дополненный специальным пейджинговым оборудованием
- ^ «Справочное руководство по процессору DECsystem-10/DECSYSTEM-20» (PDF) . 1 июня 1982.
DECsystem-10... динамическое подкачивание и управление рабочим набором.
- ^ Руководство по установке PDP-10 (PDF) . Корпорация цифрового оборудования. п. 5.
- ^ Мерфи, Дэн (1989). «Истоки и развитие ТОПС-20» .
- ^ «Модели PDP-10» . 30 июня 2001 г.
Двухпроцессорная система PDP 1055 (1050) ... ранние мониторы DEC-10.
- ^ «Сообщения USENET alt.sys.pdp10 о внешних процессорах PDP-10» .
- ^ «Руководство по техническому обслуживанию DN60» . Корпорация цифрового оборудования. 31 октября 1978 г. JBS-77-001-02-У.
- ^ Техническое руководство DECSYSTEM-2020 на базе KS10 (PDF) (Второе изд.). Корпорация цифрового оборудования. Сентябрь 1979 г. ЭК-0КС10-ТМ-002.
- ^ Руководство по подготовке места PDP-10 (PDF) . Корпорация цифрового оборудования. Май 1970 года.
- ^ Дрожь, Олин. «История Т» . Проверено 25 октября 2019 г.
Maclisp на -10 использовал GC mark&sweep (одна версия которого, как известно, «работала в наборе регистров», хотя это уже другая история)
- ^ Jump up to: а б с Программирование 1970 , с. 13.
- ^ Программирование 1970 , стр. 87–88.
- ^ Программирование 1970 , с. 88.
- ^ Программирование 1970 , с. 89.
- ^ Программирование 1970 , с. 86.
- ^ Программирование 1970 , с. 87.
- ^ Jump up to: а б Программирование 1970 , с. 92.
- ^ Программирование 1970 , с. 94.
- ^ Jump up to: а б «Справочное руководство по процессору DECsystem-10/DECSYSTEM-20» (PDF) . Корпорация цифрового оборудования. Июнь 1982 г. AA-H391A-TK, AD-H391A-T1. Архивировано из оригинала (PDF) 11 октября 2015 года . Проверено 14 ноября 2015 г.
- ^ «Краткая история хакерского мира: ранние хакеры» .
MIT... построил свою собственную легендарную операционную систему.. Несовместимая система разделения времени
- ^ «Программное обеспечение Тимшер» . inwap.com . Проверено 24 сентября 2023 г.
- ^ Digital Equipment Corp. «Справочное руководство для программистов DECsystem-10 FORTRAN IV (F40)» (PDF) . Гитхаб . Корпорация цифрового оборудования . Проверено 15 апреля 2022 г.
- ^ Оборудование, цифровое (1968). «Справочник по PDP-10» (PDF) . bitsavers.org .
- ^ Такер, Чарльз (29 августа 2007 г.). «Устная история Чарльза (Чака) Такера» (PDF) . Музей компьютерной истории (интервью). Беседовал Коссов, Ал . Проверено 15 ноября 2019 г.
- ^ «36-битные компьютеры DEC» . Архивировано из оригинала 16 декабря 2009 года . Проверено 4 апреля 2009 г.
- ^ «Зорк на ПДП-10» .
Компания Infocom разработает Zork... PDP-10... хостинг... Несовместимую систему разделения времени... ARPANET... машину DMG... сообщество... что-то вроде расширенной группы бета-тестирования
- ^ Аллен, Пол (2012). Человек идеи: мемуары соучредителя Microsoft . Портфолио/Пингвин. п. 74. ИСБН 978-1-101-47645-1 .
- ^ «Несовместимая система разделения времени» . Гитхаб . 5 января 2022 г.
- ^ «Индекс /Дек/Ожидание» .
- ↑ Тим Шоппа «Объявление о KLH10» , 10 ноября 2001 г. Проверено 4 апреля 2009 г.
Источники
[ редактировать ]- Справочное руководство по системе DECsystem10 (PDF) . ДЕКАБРЬ. 1974.
- Справочное руководство по процессору DECsystem-10/DECSYSTEM-20 (PDF) . ДЕКАБРЬ. 1982.
- Программирование с использованием набора инструкций PDP-10 (PDF) . ДЕКАБРЬ. 1970.
- Серуцци, Пол Э. (2003). История современных вычислений (2-е изд.). МТИ Пресс. ISBN 0-262-53203-4 .
Дальнейшее чтение
[ редактировать ]- К. Гордон Белл , Алан Коток , Томас Н. Гастингс, Ричард Хилл, «Эволюция системы DECsystem 10», Communications of the ACM 21 :1:44 (январь 1978 г.) doi : 10.1145/359327.359335 , перепечатка в К. Гордоне Белле, Дж. Крейге Мадже, Джоне Э. Макнамаре, Компьютерная инженерия: взгляд DEC на проектирование аппаратных систем (Digital Press, 1978, ISBN 0932376002 )
Внешние ссылки
[ редактировать ]- 36 бит навсегда!
- Модели PDP-10 — показаны процессоры и модели.
- PDP-10 штука
- Страница «Разное» PDP10
- Жизнь в быстром кондиционере
- Страница DEC PDP-10 Колумбийского университета
- Страница программирования Panda TOPS-20
- Онлайн-системы в Living Computers: Museum + Labs, портале в коллекцию Пола Аллена , посвященную разделению времени и интерактивным компьютерам, в том числе:
- DECsystem-10 KA 1050 (KA-10) под управлением TOPS-10 v6.03a
- DECsystem-10 KI 1090 (KI-10) под управлением TOPS-10 v6.03A
- DECSYSTEM-20 KL 2065 (KL-10) под управлением TOPS-10 v7.04
- DECsystem-10 KL 1095 (KL-10) под управлением WAITS
- DECSYSTEM-2020 (КС-10) под управлением ИТС 1648
- XKL TOAD-2 под управлением TOPS-20
- Empire для PDP-10 (zip-файл загрузки исходного кода FORTRAN -10) от Classic Empire
- Архив программного обеспечения PDP-10 на Trailing Edge
- Реклама персонального мэйнфрейма. Архивировано 6 ноября 2018 г. в Wayback Machine.
- в компьютерном мире Реклама персонального мейнфрейма
- Документация PDP-10 на Bitsavers