Кіріспе

Digital компаниясының 36 биттік компьютері (1966–1983)

Digital Equipment Corporation (DEC) компаниясының PDP 10 компьютері, кейіннен DECsystem 10 деп аталды, 1966 жылдан бастап өндіріліп, 1983 жылы тоқтатылған мейнфрейм компьютерлер отбасы. 1970-ші жылдардағы және одан кейінгі модельдер DECsystem 10 деген атпен сатылды, әсіресе TOPS 10 операциялық жүйесі кеңінен қолданыс тапқанда. PDP 10 архитектурасы DEC-тің алдыңғы PDP 6 архитектурасына дерлік толық сәйкес келеді, 36 биттік сөз ұзындығын бөліседі және нұсқаулар жиынтығын сәл кеңейтеді. Басты айырмашылық – аппараттық бөлігінің едәуір жақсартылуы. Нұсқаулар жиынтығының кейбір ерекшеліктері бар, әсіресе байттық нұсқаулар, олар байттың жалпы анықтамасына сәйкес, 1-ден 36 битке дейінгі кез келген мөлшердегі биттік өрістермен жұмыс істейді, яғни байт – белгілі бір саны бар биттердің үздісіз тізбегі. PDP 10 1970-ші жылдары көптеген университеттердің есептеу орталықтарында және ғылыми-зерттеу зертханаларында қолданылды, олардың ішінде Гарвард университетінің Айкен есептеу зертханасы, MIT-тің AI зертханасы және MAC жобасы, Стэнфордтың SAIL, Компьютерлік орталық корпорациясы (CCC), ETH (ZIR) және Карнеги Меллон университеті ең танымалдары болды. Оның негізгі операциялық жүйелері – TOPS 10 және TENEX – алғашқы ARPANET желісін құру үшін пайдаланылды. Осы себептерге байланысты PDP 10 ертедегі хакерлердің фольклорында маңызды орын алады. PDP 10 желісін кеңейту жобалары VAX суперминикомпьютерінің сәттілігімен қалып қойды, ал PDP 10 желісін тоқтату туралы 1983 жылы жарияланды. Мағлұматтарға сәйкес, DEC 1980 жылдың соңына дейін шамамен 1500 DECsystem 10 компьютерін сатқан.

Модельдер мен техникалық даму

PDP 10 процессорының түпнұсқасы 1968 жылы ұсынылған KA10 болып табылады. Ол DEC-тің Flip Chip технологиясымен жасалған дискретті транзисторларды қолданады, ал артқы панельдер жартылай автоматтандырылған өндіріс процесі арқылы сыммен оралады. Оның цикл уақыты 1 мкс, ал қосу уақыты 2,1 мкс. 1973 жылы KA10 транзистор-транзисторлық логика (TTL) SSI қолданатын KI10 процессормен алмастырылды. 1975 жылы оған жоғары өнімді KL10 (кейіннен жылдамдатылған нұсқалары) қосылды, ол эмитерлік байланыс логикасынан (ECL) құрастырылған, микробағдарламаланған және кэш жадына ие. KL10-ның өнімділігі матрицалық қатарларды қысқартуда 36 биттік қозғалмалы нүктелі сандарды пайдалану арқылы шамамен 1 мегафлопсқа жетеді. Ол жады көлемі жағынан шектеулі болғанымен, жаңа VAX 11/750-ден сәл жылдам болды. 1978 жылы TTL және Am2901 биттік кесімдер компоненттерін пайдаланатын, сондай-ақ сыртқы құрылғыларды қосу үшін PDP 11 Unibus-ты қамтитын кішірек, арзан KS10 моделі ұсынылды. KS10 DECSYSTEM 2020 ретінде сатылды, ол DECSYSTEM 20 қатарының бір бөлігі болды; бұл DEC-тің таратылған өңдеу саласына енуі болды және ол "әлемдегі ең төмен бағалы мейнфрейм компьютерлік жүйе" деп таныстырылды.

KA10

KA10 негізгі жадының максималды сыйымдылығы (виртуалды және физикалық) 256 килосөзді құрайды (1152 килобайтқа тең); ең аз қажетті негізгі жады 16 килосөз. DEC жеткізгендей, ол парақтандыру аппараттық құралдарын қамтымайды; жадты басқару екі жиын қорғау және қайта орналастыру тізілімдерінен тұрады, олар негіз және шекара тізілімдері деп аталады. Бұл пайдаланушының адрестік кеңістігінің әр бөлігін негізгі жадтың негізгі физикалық адресі және көлемімен белгіленген бөлікпен шектеуге мүмкіндік береді. Бұл TOPS 10 қолданған, ал кейіннен Unix қабылдаған, әдетте жоғары сегменттегі оқуға ғана арналған, бөлісе алатын код сегменті және әдетте төменгі сегменттегі оқу-жазу деректері/стек сегменті үлгісін іске асыруға мүмкіндік береді. Кейбір KA10 машиналары, алдымен MIT-де, кейін Bolt, Beranek and Newman (BBN) компаниясында виртуалды жадты, сұраныс бойынша парақшалауды қолдау және физикалық жадты кеңейту үшін өзгертілді. KA10-ның салмағы шамамен 10/50-ге тең. PA1050 бағдарламалық пакеті енгізілген кезде 10/50 Uni процессорлы KA машинасының ең жоғары деңгейі болды. KA10-ның тағы екі моделі – 10/40 бірпроцессорлы және 10/55 екіпроцессорлы машиналары болды.

KI10

KI10 беттелген жадты басқаруды енгізді, сонымен қатар 4 мегаваттық кеңейтілген физикалық адрестік кеңістікті қолдайды. KI10 модельдеріне 1060, 1070 және 1077 кіреді, соңғысы екі ОЖЖ (орталық процессор) құрамында болады.

KL10

Бастапқы 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" деп аталады, ішкі жадты пайдаланады, ол CPU-мен бірге бір шкафта орнатылған. 10xx модельдерінің корпусы да әр түрлі; олар DECSYSTEM 20 үшін кейін пайдаланылған қысқа емес, бастапқы PDP 10 шкафтарында келеді. 10xx және 20xx модельдерінің арасындағы басты айырмашылық – олар қолданған операциялық жүйе: TOPS 10 немесе TOPS 20. Одан басқа, айырмашылықтар көбінесе сыртқы, маңызды емес; кейбір 10xx жүйелерінде "20 стиліндегі" ішкі жад және кіріс-шығыс (I/O) құрылғылары бар, ал кейбір 20xx жүйелерінде "10 стиліндегі" сыртқы жад және I/O шинасы бар. Атап айтқанда, барлық ARPAnet TOPS 20 жүйелерінде I/O шинасы болды, себебі AN20 IMP интерфейсі – I/O шинасы құрылғысы. Екеуі де TOPS 10 немесе TOPS 20 микрокодын және тиісті операциялық жүйені іске қоса алады.

B үлгісі

2060 процессорларының кейінгі B үлгісі, әрқайсысы 256 килосөзден тұратын 32 "сегментті" қолдау арқылы виртуалды адрестік кеңістіктегі 256 килосөздік шектеуді жояды, сонымен қатар нұсқаулар жиынтығына маңызды өзгерістер енгізеді. Екі нұсқа да, әртүрлі CPU болып табылады. B үлгісінің мүмкіндіктерін пайдаланатын алғашқы операциялық жүйе – TOPS 20 3-ші нұсқасы, ал пайдаланушы режиміндегі кеңейтілген адрестеу TOPS 20 4-ші нұсқасында қолжетімді. 4.1 нұсқасынан кейінгі TOPS 20 нұсқалары тек B үлгісінде ғана жұмыс істейді. TOPS 10 нұсқалары 7.02 және 7.03, 1090 (немесе 1091) B үлгісіндегі процессорда TOPS 20 микрокодын орындағанда кеңейтілген адрестеуді пайдаланады.

MCA25

KL10-ға соңғы жаңарту – 2060-тан 2065-ке (немесе 1091-ден 1095-ке) дейінгі MCA25 жаңартуы болды, ол көп бөлімдерде іске қосылатын бағдарламалардың өнімділігін арттырды.

Massbus (көлік желісі)

20xx сериялы KL машиналарының I/O архитектурасы Massbus деп аталатын DEC шинасының дизайнына негізделген. Көптеген адамдар 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-ге негізгі процессорды іске қосу командалары беріледі, ол әдетте PDP 11 жүктеліп алған RP06 дискісінен іске қосылады. Негізгі процессор жұмыс істеп тұрғанда PDP 11 күзетші функцияларын орындайды. IBM мейнфреймдерімен байланыс, оның ішінде қашықтан жұмыс беру (RJE) DN61 немесе DN64 алдыңғы процессорлары арқылы PDP 11/40 немесе PDP 11/34a қолданысымен жүзеге асырылды.

KS10

KS10 – AMD 2901 биттік кесінді микросхемалары мен Intel 8080A микропроцессоры басқару процессоры ретінде қолданылып жасалған, төмен құнды PDP 10. KS10 дизайны Model B архитектурасын қолдауға қажетті көптеген дерек жолдары болғанымен, Model A ретінде жұмыс істеу үшін шектелген. Бұл, сөзсіз, нарықты бөлу мақсатында жасалған, бірақ KS10 өнімнің қызмет ету мерзімін қысқартты. KS жүйесі KL10 сияқты жүктеу процедурасын қолданады. 8080 басқару процессоры RM03, RM80 немесе RP06 дискісінен немесе магниттік таспадан микрокодты жүктеп, содан кейін негізгі процессорды іске қосады. 8080 операциялық жүйе іске қосылғаннан кейін режимдерді ауыстырып, консоль мен қашықтан диагностикалық порттарды басқарады.

Нұсқаулар жиынтығы архитектурасы

Алғашқы PDP 6s-тен KL 10 және KS 10-ға дейін пайдаланушы режиміндегі нұсқаулар жиынтығының архитектурасы көбінесе бірдей болып келеді. Осы бөлімде осы архитектура қарастырылады. Архитектурадағы жалғыз маңызды өзгеріс – KL 10-ға көп бөлімді кеңейтілген адрестеудің қосылуы; нұсқаудың тиімді адресін жасау процесін өзгертетін кеңейтілген адрестеу туралы соңында қысқаша айтылады. Жалпы алғанда, жүйеде 36 биттік сөздер мен нұсқаулар, сондай-ақ 18 биттік адрестер қолданылады.

Тіркелімдер

+ DEC PDP 10 тіркейді 00 . 17 18 . 35 (бит позициясы) Жалпы тіркелімдер AC0 Тіркейіш 0 AC1 Тіркейіш 1 AC2 Тіркейіш 2 AC3 Тіркейіш 3 AC4 Тіркейіш 4 AC5 Тіркейіш 5 AC6 Тіркейіш 6 AC7 Тіркейіш 7 AC10 Тіркейіш 8 AC11 Тіркейіш 9 AC12 Тіркейіш 10 AC13 Тіркейіш 11 AC14 Тіркейіш 12 AC15 Тіркейіш 13 AC16 Тіркейіш 14 AC17 Тіркейіш 15 Бағдарлама санағы және күй белгілері Бағдарлама белгілері 00000 ПК Бағдарлама санағы Биттердің нөмірлену реті кейбір басқа DEC процессорларынан және көптеген жаңа процессорлардан өзгеше екенін ескеріңіз. 16 жалпы мақсаттағы, 36 биттік тіркелімдер бар. Бұл тіркелімдердің оң жартысы (0 тіркелімнен басқа) индекстеу үшін пайдаланылуы мүмкін. Кейбір командалар тіркелімдер жұптарымен жұмыс істейді. "PC Word" тіркелімі екіге бөлінеді; оң жақтағы 18 бит бағдарлама санағын, ал сол жақтағы 13 бит процессордың күй белгілерін қамтиды, екі бөлімнің арасында бес нөл бар. Арифметикалық операциялардың нәтижелерін тіркейтетін (мысалы, үзілу) шарт тіркелімінің биттеріне тек бірнеше команда арқылы ғана қол жеткізуге болады. Алғашқы KA 10 жүйелерінде бұл тіркелімдер негізгі жадтың алғашқы 16 сөзі болып табылады. "Жылдам тіркелімдер" аппараттық опциясы оларды CPU-дағы тіркелімдер ретінде жүзеге асырады, бірақ олар әлі де жадтың алғашқы 16 сөзі ретінде адрестеледі. Кейбір бағдарламалық құралдар осы мүмкіндікті пайдаланып, тіркелімдерді командалар кэші ретінде пайдаланады, кодты тіркелімдерге жүктеу арқылы және содан кейін тиісті мекенжайға секіру арқылы; мысалы, Maclisp-те қоқыс жинаушының бір түрі осылай іске асырылады. Кейінгі модельдердің барлығында CPU-да тіркелімдер бар.

Бақылау режимінде

Екі жұмыс режимі бар: бақылаушы және пайдаланушы режимі. Жоғарыда сипатталған жадқа сілтеме жасау ерекшеліктерінен басқа, бақылаушы режиміндегі бағдарламалар кіріс/шығыс операцияларын орындай алады. Пайдаланушы режимінен бақылаушы режиміне хабарласу іске асырылмаған пайдаланушы операциялары (ІАПО) арқылы жүзеге асырылады: аппараттық құралмен анықталмаған және бақылаушымен тоқтатылатын командалар. Бұл механизм арзан модельдерде аппараттық іске асырылмаған операцияларды модельдеу үшін де қолданылады.

Деректер түрлері

Архитектура тікелей қолдайтын негізгі дерек түрлері – екі толықтырғыш 36 биттік бүтін сандар арифметикасы (биттік операцияларды қоса алғанда), 36 биттік қозғалмалы нүкте және жарты сөз. 72 биттік кеңейтілген қозғалмалы нүкте бірнеше нұсқаулар тізбегінде пайдалануға арналған арнайы нұсқаулар арқылы қолдауға ие. Байт көрсеткіштері арнайы нұсқаулармен қолдауға ие. "Сан" және "көрсеткіш" жартыларынан тұратын сөз жадтың шектелген аймақтарын, әсіресе стектерді пайдалануды жеңілдетеді.

Нұсқаулық

+ DEC PDP 10 нұсқаулық форматтары 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 . 35 (биттік орны) Жалпы нұсқаулар Opcode Аккумулятор нөмірі I Индекс нөмірі Жады мекенжайы I/O нұсқаулары 7 Құрылғы нөмірі Opcode I Индекс нөмірі Жады мекенжайы Нұсқаулар 36 биттік сөздерде сақталады. Екі формат бар: жалпы нұсқаулар және кіріс/шығыс нұсқаулары. Жалпы нұсқауларда, сол жақтан бастап алғашқы 9 бит (0-дан 8-ге дейін) нұсқаудың операциялық кодын (opcode) қамтиды. Мүмкін болатын 512 кодтың көпшілігі базалық модельдегі машиналарда анықталмаған және аппараттық қалқыма нүктелік құрылмын қосу сияқты кеңейту үшін резервтелген. 9-дан 12-ге дейінгі биттердегі операциялық кодтан кейін нұсқау үшін қолданылатын регистрдің нөмірі келеді. Кіріс/шығыс нұсқауларының барлығы 0-ден 2-ге дейінгі биттердің 1-ге (ондық мәні 7) тең болуымен басталады, 3-тен 9-ға дейінгі биттерде құрылғы нөмірі, ал 10-нан 12-ге дейінгі биттерде нұсқаудың операциялық коды болады. Екі форматта да 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 мекенжайындағы мән алынып, тиімді мекенжайды есептеу қайталанады. Егер E мекенжайында сақталған мәнде I 1-ге тең болса, жүйе сол мекенжай арқылы да жанама адрестеуді орындайды, мүмкін, осындай көптеген қадамдарды орындап. Бұл процесс жанама биті 0-ге тең жанама сөзге жеткенше жалғасады. Мұндай жанама адрестеу осы дәуірдегі процессорлардың кең таралған ерекшелігі болды. Басқарушы режимінде мекенжайлар тікелей физикалық жадқа сәйкес келеді. Пайдаланушы режимінде мекенжайлар физикалық жадқа түрлендіріледі. Алдыңғы модельдер пайдаланушы процесіне "жоғары" және "төмен" жадты бөледі: жоғарғы біті 0-ге тең мекенжайлар бір базалық регистрді, ал 1-ге тең мекенжайлар басқа базалық регистрді пайдаланады. Әрбір сегмент үздіріссіз болады. Жаңа архитектураларда беттік жадқа қол жеткізу қарастырылған, бұл үздіріссіз емес адрестік кеңістіктерге мүмкіндік береді. CPU-дың жалпы мақсаттағы регистрлеріне 0-ден 15-ке дейінгі жад мекенжайлары ретінде де қол жеткізуге болады.

Жалпы нұсқаулар

Жалпы нұсқаулардың үш негізгі класы бар: арифметикалық, логикалық және жылжыту; шартты секіру; шартты өткізу (қосымша әсерлері болуы мүмкін). Сондай-ақ бірнеше кішігірім сыныптар бар. Арифметикалық, логикалық және жылжыту операцияларына дереу мәнді регистрге, жадтан регистрге, регистрден жадқа, регистр және жадтан екеуіне немесе жадтан жадқа жұмыс істейтін түрлері кіреді. Реестрлер жадтың бөлігі ретінде адрестелуі мүмкін болғандықтан, регистрден регистрге операциялар да анықталған. (Барлық түрлері пайдалы емес, бірақ жақсы анықталған.) Мысалы, ADD операциясының түрлері ADDI (регистрге 18 биттік дереу тұрақтыны қосу), ADDM (регистр мазмұнын жад орнына қосу), ADDB (екіге қосу, яғни, регистр мазмұнын жадқа қосу және нәтижені регистрге қою). Күрделірек мысал - HLROM (Half Left to Right, Ones to Memory) (Жартысы солдан оңға, бірліктер жадқа), ол регистр мазмұнының сол жағын алып, оны жад орнының оң жағына орналастырады және жад орнының сол жағын бірліктермен ауыстырады. Жартылай сөздік нұсқаулар байланыстырылған тізімдер үшін де қолданылады: HLRZ - Lisp CAR операторы; HRRZ - CDR. Шартты секіру операциялары регистр мазмұнын салыстырып, нәтижесіне байланысты белгілі бір орналасуға секіреді. Бұл нұсқаулардың барлық мнемоникасы JUMP сөзімен басталады, JUMPA "әрқашан секіру" және JUMP "ешқашан секіру" дегенді білдіреді. Нұсқаулар жиынтығының симметриялық дизайнының салдарынан, онда JUMP сияқты бірнеше пайдасыз нұсқаулар бар. Мысалы, JUMPN A,LOC, егер A регистрінің мазмұны нөлден өзгеше болса, LOC адресіне секіреді. Сондай-ақ, JRST нұсқаулығын пайдалана отырып, процессордың жай-күй регистріне негізделген шартты секірулер бар. KA10 және KI10 процессорларында JRST, JUMPA-дан жылдам болғандықтан, стандартты шартты емес секіру JRST болып табылады. Шартты өткізу операциялары регистр мен жад мазмұнын салыстырып, нәтижесіне байланысты келесі нұсқауды (әдетте шартты секіру) өткізіп жібереді. Мысалы, CAMN A,LOC, A регистрінің мазмұнын LOC орнының мазмұнымен салыстырады және егер олар тең болмаса, келесі нұсқауды өткізіп жібереді. Күрделірек мысал - TLCE A,LOC (оқыңыз "Сол жақ қосымшасын тексеру, тең болса, өткізіп жіберіңіз"), ол LOC мазмұнын маска ретінде пайдаланып, A регистрінің сол жағындағы сәйкес келетін биттерді таңдайды. Егер бұл биттердің барлығы нөлге тең болса, келесі нұсқауды өткізіп жіберіңіз; және кез келген жағдайда, бұл биттерді олардың Бульдік толықтыруымен ауыстырыңыз. Кейбір кішігірім нұсқаулар кластарына ауысу/айналу нұсқаулары және процедураны шақыру нұсқаулары кіреді. Әсіресе PUSH және POP стек нұсқаулары, сондай-ақ PUSHJ және POPJ стек шақыру нұсқаулары ерекше назарға лайық. Байттық нұсқаулар кез келген өлшемдегі биттік өрістерді алу және сақтау үшін жанама сөздің арнайы форматын қолданады, сондай-ақ келесі бірлікке көрсеткішті жылжыту мүмкіндігі бар.

Кіріс/шығыс нұсқаулары

PDP 10, PDP 11 және одан кейінгі DEC машиналарынан өзгеше, жадқа бейнеленген құрылғыларды пайдаланбайды. Құрылғыға және одан деректерді жылжыту үшін, нұсқаулықта құрылғы нөмірімен анықталатын жеке нұсқаулар жиынтығы қолданылады. 3-тен 9-ға дейінгі биттер құрылғы нөмірін қамтиды, ал 7 бит 128 құрылғыға мүмкіндік береді. Нұсқаулар деректерді бір сөзбен (DATAO және DATAI) немесе бір блокпен (BLKO, BLKI) құрылғыға және одан жылжытуға рұқсат береді. Блок режимінде E көрсеткен мән – жадта екіге бөлінген сөз. Оның оң жағындағы 18 биті деректер орналасқан (немесе жазылған) жадтағы бастапқы мекенжайды көрсетеді, ал сол жағындағы 18 биті – санаушы. Блок нұсқаулары әр шақырылғанда екі мәнді де арттырады, осылайша санаушыны ұлғайтып, жадтағы келесі орынға көшеді. Содан кейін DATAO немесе DATAI орындалады. Соңында, E-дегі мәннің санаушы жағы тексеріледі. Егер ол нөлден өзгеше болса, келесі нұсқау жіберіліп қалдырылады. Егер нөл болса, келесі нұсқау орындалады, әдетте JUMP нұсқауы циклдің басына қайта оралады. BLK нұсқаулары DATA және инкремент нұсқауларын қайталайтын шағын бағдарламалар болып табылады, бірақ процессордың өзінде жүзеге асырылғандықтан, бұл негізгі жадтан нұсқаулар тізбегін қайта-қайта оқу қажеттілігін жояды және циклды әлдеқайда жылдам орындайды. I/O нұсқауларының соңғы жиынтығы құрылғыдағы жағдай кодтарын жазу және оқу үшін қолданылады – CONO және CONI. Сонымен қатар, CONSZ CONI-ді орындайды, алынған деректерді E-дегі мәнмен биттік маскамен салыстырады, содан кейін егер нәтиже нөл болса, келесі нұсқау жіберіліп қалдырылады, бұл BLK командаларына ұқсас әдіспен қолданылады. CONSZ-те тек оң жақтағы 18 бит қана тексеріледі.

Қолдануды тоқтату

CONO нұсқаулығының екінші қолданылуы – құрылғының үзіліс қызметін басқару деңгейін орнату. CONO нұсқаулығында 33-тен 35-ке дейінгі үш бит бар, бұл құрылғыны 0-ден 7-ге дейінгі деңгейге орнатуға мүмкіндік береді. 1-деңгей – ең жоғары, яғни егер екі құрылғы бір уақытта үзіліс тудырса, ең төмен нөмірлі құрылғы өңдеуді бастайды. 0-деңгейі «үзіліс жоқ» дегенді білдіреді, сондықтан 0-деңгейге орнатылған құрылғы процессорды тоқтатпайды, тіпті ол үзіліс тудырса да. Әрбір құрылғы арнасының оған сәйкес екі жад орны бар, біреуі 40+2N, ал екіншісі 41+2N, мұнда N – арна нөмірі. Осылайша, 1-арна 42 және 43 орындарын пайдаланады. Үзіліс алынып, қабылданғанда, яғни жоғары басымдыққа ие үзіліс орындалмайынша, жүйе нұсқау циклінің келесі жадтан оқу бөлігінде тоқтап, оның орнына осы екі орның біріншісінде сақталған мекенжайда өңдеуді бастайды. Үзіліс деңгейін аяқталған кезде сөндіру үзіліс өңдеушіге байланысты, ол CONO, DATA немесе BLK нұсқауларын орындау арқылы жасай алады. Құрылғының екі нөмірі арнайы мақсаттар үшін бөлінген. 0-құрылғы – компьютердің алдыңғы панельдік консолі; бұл құрылғыны оқу панельдегі коммутаторлардың параметрлерін алуға мүмкіндік береді, ал жазу күй-жай шамдарын жағады. 4-құрылғы – «басымдық үзілісі», ол CONI-ді пайдаланып, орын алған үзіліс туралы қосымша ақпарат алу үшін оқуға болады.

Кеңейтілген адрестік

Кеңейтілген адрестеуді қолдайтын процессорларда адрестік кеңістік "бөлімдерге" бөлінеді. 18 биттік мекенжай – "жергілікті мекенжай", ол бөлім ішіндегі ығысуды қамтиды, ал "жаһандық мекенжай" 30 биттен тұрады, оның сол жақтағы 18 битінің төменгі 12 биті бөлім нөмірін, ал оң жақтағы 18 биті сол бөлім ішіндегі 18 биттік ығысуды қамтиды. Тіркегіште "жергілікті индекс" – оң жақтағы 18 битте 18 биттік белгісіз ығысу немесе жергілікті мекенжай, немесе "жаһандық индекс" – оң жақтағы 30 битте 30 биттік белгісіз ығысу немесе жаһандық мекенжай болуы мүмкін. Жанама сөз "жергілікті жанама сөз" болуы мүмкін, оның ең жоғарғы биті қойылған, келесі 12 биті резервтеліп қойылған, ал қалған биттері жанама бит, 4 биттік регистр коді және 18 биттік ығысудан тұрады, немесе "жаһандық жанама сөз", оның ең жоғарғы биті таза, келесі биті жанама бит, келесі 4 биті регистр коді, ал қалған 30 биті ығысудан тұрады. Нақты мекенжайды есептеу процесі 12 биттік бөлім нөмірін және сол бөлім ішіндегі 18 биттік ығысуды тудырады. Олар PDP 6-да (кейіннен өзгертілген PDP 10-да) жұмыс істеу үшін; Tymshare TOPS 10-нан алынған, бірақ TOPS 20 сияқты бетке негізделген файлдық жүйені қолданатын TYMCOM X-ті жасады.

Клондар

1971-1972 жылдары Xerox PARC зерттеушілері компания жоғары басшылығының PDP 10 сатып алуға рұқсат бермеуіне наразы болды. Xerox 1969 жылы Scientific Data Systems (SDS) компаниясын сатып алғаннан кейін, PARC-тің SDS машинасына көшуін қалады. Оның орнына Чарльз П. Таккер басқарыған топ өздері пайдалану үшін екі PDP 10 клоны – MAXC (Max Palevsky құрметіне, ол SDS-ті Xerox-ке сатқан еді, сондықтан Max деп аталады) жүйесін жобалап, құрастырды. MAXC сонымен қатар "Multiple Access Xerox Computer" деген аббревиатураның кеңейтілген түрі болды. MAXC TENEX жүйесінің өңделген нұсқасын іске қосты. Басқа компаниялардың PDP 10 клондарын сатуға жасаған тырысыстары көбінесе сәтсіз аяқталды; Foonly, Systems Concepts және XKL мысалдарын қараңыз.

CompuServe пайдалануы

DECsystem 10 архитектурасы жүйелерінің ең ірі жиынтықтарының бірі CompuServe компаниясында болды, ол өрбу кезеңінде Колумбус, Огайодағы үш деректер орталығында 200-ден астам еркін байланысты жүйелерді пайдаланды. CompuServe осы жүйелерді «хосттар» ретінде қолданып, коммерциялық қолданбаларға және CompuServe ақпараттық қызметіне қол жеткізуді қамтамасыз етті. Алғашқы жүйелер DEC-тен сатып алынған, бірақ DEC VAX пайдасына PDP 10 архитектурасынан бас тартқаннан кейін CompuServe және басқа PDP 10 клиенттері Systems Concepts компаниясынан плагинге сәйкес келетін компьютерлерді сатып ала бастады. 2007 жылғы қаңтарда CompuServe есеп айырысу және маршрутизациялау функцияларын орындау үшін PDP 10 архитектуралы бірнеше машинаны пайдаланды. KL сериялы машиналарда қолданылатын негізгі қуат көздері соншалықты тиімсіз болғандықтан, CompuServe инженерлері энергияны шамамен екі есе аз тұтынатын жаңа қуат көзін жасады. CompuServe компаниясы KL қуат көзінің жобасын DEC компаниясына тегін лицензиялауға дайын болды, егер DEC CompuServe сатып алатын жаңа KL машиналарында тиімдірек қуат көзі орнатылатынына уәде берсе. DEC бұл ұсыныстан бас тартты. CompuServe инженерлері PDP 10 жүйесінде жасаған тағы бір өзгеріс – KI10 процессорлық шкафтағы жүздеген шамдық индикаторларды LED модульдерімен алмастыру болды. Бұл өзгеріс электр энергиясын үнемдеу, жылуды азайту және шамдарды ауыстыруға жұмсалатын еңбек шығындарын қысқарту арқылы өтелді. Digital компаниясы осы қадамды бүкіл әлемде қайталады. Оң жақтағы сурет KI10 процессорымен бірдей кезеңде жасалған MF10 жадының жарық панелін көрсетеді. Бұл экспонат компьютерлік мұражайдың бөлігі және 2008 жылы демонстрациялық мақсатта LED шамдармен жабдықталды. KL және KS процессорларында мұндай шамдардың тізімі болған жоқ – олар тек ескі жад және сыртқы құрылғыларда ғана кездесетін.

Қайтарып алу және ықпал ету

PDP 10 ақырында VAX суперминикомпьютер машиналары (PDP 11 ұрпақтары) DEC PDP 10 және VAX өнімдерінің қатары бір-бірімен бәсекелесетінін мойындағанда, бағдарламалық жасақтаманы дамыту күшін тиімдірек VAX-қа шоғырландыруға шешім қабылдады. PDP 10 өнімдерінің қатарын тоқтату туралы 1983 жылы жарияланды, соның ішінде жаңа, жоғары деңгейдегі PDP 10 процессорын жасауға арналған Jupiter жобасы (жоба тоқтатылған кезде жақсы жағдайда болғанына қарамастан) және Minnow жобасы – PDP 10 үстел компьютерін жасауға арналған жоба (сол кезде прототиптік сатысында болған болуы мүмкін). Бұл оқиға ITS және бастапқы жаргондық файлды тудырған техникалық мәдениеттердің құлдырауына себеп болды, бірақ 1990 жылдары PDP 10-да тәжірибе жинаған ескі хакерлер үшін бұл белгілі бір дәрежеге жеткендігінің белгісіне айналды. PDP 10 жиналым тіліндегі LDB және DPB (жүктеу/сақтау байты) командалары Common Lisp бағдарламалау тіліндегі функциялар ретінде сақталды. LISP мақаласының "Әдебиеттер тізімі" бөлімін қараңыз. PDP 6 және PDP 10 машиналарының 36 биттік сөз өлшемі, бір сөзде әрқайсысы 18 биттен тұратын 2 LISP сілтемесін пайдаланудың бағдарламалаудағы ыңғайлылығымен шартталды. Уилл Краутер PDP 10 үшін Adventure ойынын, компьютерлік ойын-сауықтың алғашқы үлгісін жасады. Дон Даглоу алғашқы компьютерлік бейсбол ойынын (1971) және Dungeon (1975) ойындарын жасады, ол PDP 10-дағы алғашқы рөлдік бейне ойын болды. Уолтер Брайт бастапқыда PDP 10 үшін Empire ойынын жасады. Рой Трубшоу және Ричард Бартл PDP 10-да алғашқы MUD ойынын жасады. Zork PDP 10-да жазылған. Infocom ойынды әзірлеу және сынау үшін PDP 10 машиналарын пайдаланды. Билл Гейтс және Пол Аллен бастапқыда Гарвард университетінде PDP 10 компьютерінде Intel 8080 эмуляторын қолдана отырып Altair BASIC тілін жазды. Аллен PDP 10 жинастырғышын 8080 чипі үшін кросс-жинастырғыш ретінде қайта пайдаланды. Олар көп ұзамай Microsoft компаниясын құрды.

Эмуляция немесе симуляция

SIMH тарихи компьютерлерді модельдеу бағдарламалық құралы Windows немесе Unix негізіндегі машинада барлық PDP 10 CPU модельдерін эмуляциялайтын модульдерді қамтиды. DEC-тің бастапқы тарату таспаларының көшірмелерін Интернеттен жүктеуге болады, осылайша жұмыс істейтін TOPS 10 немесе TOPS 20 жүйесін құруға мүмкіндік туады. SIMH үшін ITS және WAITS та қолбар. Кен Харренстиеннің Unix сияқты жүйелерге арналған KLH10 бағдарламалық құралы кеңейтілген адрестеу және 4 МВт жадқа ие KL10B процессорын немесе 512 КВт жады бар KS10 процессорын эмуляциялайды. KL10 эмуляциясы KL10 микрокодының v.442 нұсқасын қолдайды, бұл оған TOPS 10 және TOPS 20 жүйелерінің соңғы нұсқаларын іске қосуға мүмкіндік береді. KS10 эмуляциясы KS10 ITS жүйесінің соңғы нұсқасы үшін ITS v.262 микрокодын, ал KS TOPS 10 және TOPS 20 жүйелерінің соңғы нұсқалары үшін DEC v.130 микрокодын қолдайды.

Жаңалықтар топтары

балама жүйе. pdp10