stringtranslate.com

ПДП-10

Системы PDP-10 в сети ARPANET выделены желтым цветом.

PDP-10 компании Digital Equipment Corporation (DEC) , позже продаваемый как 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]

Модели и техническая эволюция

Флип-чип от DEC KA10, содержащий 9 транзисторов, 1971 г.
Терминатор шины памяти с быстрой защелкой, использовался на KI10, 1973 г.
Объединительная плата ЦП KL10 с проводной обмоткой

Первоначальный процессор PDP-10 — KA10, представленный в 1968 году. [7] В нем используются дискретные транзисторы, упакованные по технологии Flip-Chip компании DEC , а провода объединительных плат наматываются в полуавтоматическом производственном процессе. Время его цикла составляет 1 мкс, а время добавления 2,1 мкс. [8] В 1973 году KA10 был заменен на KI10, который использует транзисторно-транзисторную логику (TTL) SSI . В 1975 году к ним присоединился более производительный KL10 (позже более быстрые варианты), который построен на основе логики с эмиттерной связью (ECL), микропрограммирован и имеет кэш- память. Производительность KL10 составляла около 1 мегафлопс при использовании 36-битных чисел с плавающей запятой при сокращении строк матрицы. Он был немного быстрее, чем более новый VAX-11/750 , хотя и более ограничен в памяти.

Меньшая по размеру и менее дорогая модель, KS10, была представлена ​​в 1978 году и использовала побитовые компоненты TTL и Am2901 , а также включала Unibus PDP-11 для подключения периферийных устройств. KS10 продавался как DECSYSTEM-2020, часть линейки DECSYSTEM-20; это был выход DEC на арену распределенной обработки данных , и она была представлена ​​как «самая дешевая в мире мейнфреймовая компьютерная система». [9]

КА10

KA10 имеет максимальный объем основной памяти (как виртуальной, так и физической) 256 килослов (что эквивалентно 1152 килобайтам ); минимальный объем необходимой оперативной памяти составляет 16 килослов. По данным DEC, он не включал оборудование пейджинговой связи ; Управление памятью состоит из двух наборов регистров защиты и перемещения, называемых базовыми и граничными регистрами. Это позволяет ограничить каждую половину адресного пространства пользователя заданным разделом основной памяти , определяемым базовым физическим адресом и размером. Это позволяет использовать модель отдельного сегмента совместно используемого кода только для чтения (обычно верхний сегмент) и сегмента данных/ стека для чтения и записи (обычно нижний сегмент), используемого TOPS-10 и позже принятого Unix . Некоторые машины KA10, сначала в Массачусетском технологическом институте, а затем в Болте, Беранеке и Ньюмане (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-DA 1090 и 6 модулей памяти

Исходные модели 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.

Фронтальные процессоры

Интерфейс KL10 PDP-11/40

Машины класса 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

КС10

KS10 — это более дешевый PDP-10, построенный на битовых чипах AMD 2901 с микропроцессором Intel 8080A в качестве процессора управления. [19] Конструкция KS10 была искажена до модели A, хотя большинство необходимых путей данных, необходимых для поддержки архитектуры модели B, присутствуют. Без сомнения, это было сделано для сегментирования рынка , но это значительно сократило срок службы KS10.

Система KS использует процедуру загрузки, аналогичную KL10. Управляющий процессор 8080 загружает микрокод с диска или магнитной ленты RM03, RM80 или RP06, а затем запускает основной процессор. 8080 переключает режимы после загрузки операционной системы и управляет консолью и последовательными портами удаленной диагностики.

Магнитные ленточные накопители

Подсистема управления магнитной лентой TM10 поддерживала две модели ленточных накопителей :

Можно поддерживать сочетание до восьми из них при использовании семидорожечных или девятидорожечных устройств. Каждый из TU20 и TU30 выпускался в версиях A (9-дорожечный) и B (7-дорожечный), и все вышеупомянутые ленточные накопители могли читать/записывать с/на IBM-совместимые ленты с разрешением 200 BPI , 556 BPI и 800 BPI.

Контроллер TM10 Magtape был доступен в двух подмоделях:

Архитектура набора команд

От первых PDP-6 до KL-10 и KS-10 архитектура набора команд пользовательского режима во многом одинакова. В этом разделе рассматривается эта архитектура. Единственное серьезное изменение в архитектуре — это добавление многосекционной расширенной адресации в KL-10; расширенная адресация, которая изменяет процесс генерации эффективного адреса инструкции, кратко обсуждается в конце. Обычно в системе используются 36-битные слова и инструкции и 18-битные адреса.

Регистры

Имеется 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 (а позже и модифицированную систему разделения времени). ПДП-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 года CompuServe использовала небольшое количество компьютеров с архитектурой PDP-10 для выполнения некоторых функций биллинга и маршрутизации.

Основные источники питания, используемые в машинах серии KL, были настолько неэффективны, что инженеры CompuServe разработали запасной блок, потреблявший примерно половину энергии. CompuServe предложила DEC бесплатно лицензировать дизайн для своей поставки KL, если DEC пообещает, что на любом новом KL, купленном CompuServe, будет установлен более эффективный источник питания. DEC отклонила это предложение.

Световая панель MF10 со светодиодными лампами

Еще одной модификацией 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]

Эта статья частично основана на файле жаргона , который находится в свободном доступе.

Смотрите также

Примечания

  1. Название TOPS-10 было объявлено в 1970 году.
  2. ^ также продается как 1040, 1050, 1055, а модели KI/KL - как 1060, 1070 и т. д.
  3. ^ см. Байтовая адресация § Гибридные системы

Рекомендации

  1. ^ Черуцци, с. 208: «Он был большим — даже в собственной литературе DEC [PDP-10] называлась мэйнфреймом».
  2. ^ Черуцци, с. 139
  3. ^ Уинстенли, Грэм (1991). Искусственный интеллект в технике . Западный Суссекс, Англия: Уайли, Чичестер. п. 391. ИСБН 9780471926030. PDP-10... снят с производства в 1983 году.
  4. ^ «Производство PDP-10 было прекращено в 1983 году, но производство PDP-11 не прекращалось до 1997 года». ...при том, что третьи лица продолжают продавать детали, так что это действительно не то...
  5. ^ «Что означает pdp-10?». определения.net . PDP-10 представлял собой семейство мэйнфреймов, производившихся ... об отмене линейки PDP-10 было объявлено в 1983 году.
  6. ^ Ларри Леттьери (ноябрь 1980 г.). «Foonly бросает вызов патентам DEC с помощью эмулятора». Мини-микросистемы . стр. 15, 17.
  7. ^ «Руководство по PDP10» (PDF) . Декабрь 1968 года.
  8. ^ Digital Equipment Corporation, Справочник по цифровым малым компьютерам , стр. 376
  9. ^ "ДЕКСИСТЕМА-2020". gordonbell.azurewebsites.net .
  10. ^ Стролло, Теодор Р.; Берчфлел, Джерри Д.; Томлинсон, Раймонд С. (22 июля 1970 г.). «Технические сведения о пейджере BBN модели 701» (PDF) . Болт, Беранек и Ньюман .
  11. ^ МакНэми, LP (1976). «Система виртуальной памяти для процессора PDP-10 KA10».
  12. ^ Боброу, Дэниел Г .; Берчфилд, Джерри Д.; Мерфи, Дэниел Л .; Томлинсон, Раймонд С. (март 1972 г.). «Техснабэкспорт, система пейджингового разделения времени для PDP-10» (PDF) . Коммуникации АКМ . 15 (3): 135–143. CiteSeerX 10.1.1.509.1454 . дои : 10.1145/361268.361271. S2CID  52848167. Процессор PDP-10, дополненный специальным пейджинговым оборудованием. 
  13. ^ «Справочное руководство по процессору DECsystem-10/DECSYSTEM-20» (PDF) . 1 июня 1982. DECsystem-10... динамическое подкачивание и управление рабочим набором.
  14. ^ Руководство по установке PDP-10 (PDF) . Корпорация цифрового оборудования. п. 5.
  15. ^ Мерфи, Дэн (1989). «Истоки и развитие ТОПС-20».
  16. ^ "Модели PDP-10" . 30 июня 2001 г. Двухпроцессорная система PDP 1055 (1050) ... ранние мониторы DEC-10.
  17. ^ «Сообщения USENET alt.sys.pdp10 о внешних процессорах PDP-10» .
  18. ^ «Руководство по техническому обслуживанию DN60» . Корпорация цифрового оборудования. 31 октября 1978 г. JBS-77-001-02-У.
  19. ^ Техническое руководство DECSYSTEM-2020 на базе KS10 (PDF) (второе изд.). Корпорация цифрового оборудования. Сентябрь 1979 г. ЭК-0КС10-ТМ-002.
  20. ^ Руководство по подготовке места PDP-10 (PDF) . Корпорация цифрового оборудования. Май 1970 года.
  21. ^ Шиверс, Олин. «История Т» . Проверено 25 октября 2019 г. Maclisp на -10 использовал GC mark&sweep (одна версия которого, как известно, «работала в наборе регистров», хотя это уже другая история)
  22. ^ abc Программирование 1970, с. 13.
  23. ^ Программирование 1970, стр. 87–88.
  24. ^ Программирование 1970, с. 88.
  25. ^ Программирование 1970, с. 89.
  26. ^ Программирование 1970, с. 86.
  27. ^ Программирование 1970, с. 87.
  28. ^ ab Программирование 1970, с. 92.
  29. ^ Программирование 1970, с. 94.
  30. ^ ab «Справочное руководство по процессору DECsystem-10/DECSYSTEM-20» (PDF) . Корпорация цифрового оборудования. Июнь 1982 г. AA-H391A-TK, AD-H391A-T1. Архивировано из оригинала (PDF) 11 октября 2015 года . Проверено 14 ноября 2015 г.
  31. ^ «Краткая история хакерства: ранние хакеры». MIT... построил свою собственную легендарную операционную систему.. Несовместимая система разделения времени
  32. ^ "Программное обеспечение Tymshare" . inwap.com . Проверено 24 сентября 2023 г.
  33. ^ Digital Equipment Corp. «Справочное руководство для программистов DECsystem-10 FORTRAN IV (F40)» (PDF) . Гитхаб . Корпорация цифрового оборудования . Проверено 15 апреля 2022 г.
  34. ^ Оборудование, цифровое (1968). «Справочник по PDP-10» (PDF) . https://bitsavers.org/pdf/dec/pdp10/1970_PDP-10_Ref/1970PDP10Ref_Part0.pdf . {{cite web}}: Внешняя ссылка |website=( помощь )
  35. Такер, Чарльз (29 августа 2007 г.). «Устная история Чарльза (Чака) Такера» (PDF) . Музей компьютерной истории (интервью). Беседовал Коссов, Ал . Проверено 15 ноября 2019 г.
  36. ^ «36-битные компьютеры DEC» . Архивировано из оригинала 16 декабря 2009 года . Проверено 4 апреля 2009 г.
  37. ^ "Зорк на PDP-10" . Компания Infocom разработает Zork... PDP-10... хостинг... Несовместимую систему разделения времени... ARPANET... машину DMG... сообщество... что-то вроде расширенной группы бета-тестирования
  38. ^ Аллен, Пол (2012). Человек идеи: мемуары соучредителя Microsoft . Портфолио/Пингвин. п. 74. ИСБН 978-1-101-47645-1.
  39. ^ «Несовместимая система разделения времени» . Гитхаб . 5 января 2022 г.
  40. ^ "Индекс /Dec/Waits".
  41. Тим Шоппа «Объявление о KLH10», 10 ноября 2001 г. Проверено 4 апреля 2009 г.

Источники

дальнейшее чтение

Внешние ссылки

Группы новостей