Кіріспе

Миникомпьютерлік өнімдер қатары

PDP 8 – Digital Equipment Corporation (DEC) компаниясы шығарған 12 биттік миникомпьютерлер отбасы. Бұл коммерциялық тұрғыдан сәтті шыққан алғашқы миникомпьютер болды, модельдің өмір бойына 50 000-нан астам данасы сатылды. Оның негізгі дизайны LINC-тің инновациялық үлгісіне негізделген, бірақ кішірек нұсқаулар жиынтығына ие, ол PDP 5 нұсқаулар жиынтығының кеңейтілген түрі. DEC компаниясының ұқсас машиналары – PDP 12, ол PDP 8 және LINC тұжырымдамаларының жаңартылған нұсқасы, және PDP 14 өнеркәсіптік басқару жүйесі.

Шолу

Ең алғашқы PDP 8 моделі, жай ғана "Straight 8" деп аталатын, 1965 жылдың 22 наурызында 18 500 долларға (1965 жылғы 18 500 доллар соңғы жылдары шамамен <есептелген сомаға> тең) ұсынылды. Ол шағын үй тоңазытқышындай ғана үлкен машинада, флип-чип карталарына орнатылған диодты-транзисторлық логиканы қолданды. Бұл 20 000 доллардан кем бағамен сатылған алғашқы компьютер болды және сол кездегі тарихында ең көп сатылған компьютер атанды. 1966 жылы Straight 8 үстел және тіреуге орнату нұсқаларында қол жетімді болған PDP 8/S моделімен алмастырылды. Бір биттік тізбекті арифметикалық-логикалық құрылмын (ALU) пайдалану PDP 8/S-тің бастапқы PDP 8-ден баяу болғанымен, оны кішкентай және арзан етуге мүмкіндік берді. 8/S-тің қарапайым нұсқасы 10 000 доллардан кем бағамен сатылды, бұл көрсеткішке жеткен алғашқы машина болды. Келесі жүйелер (PDP 8/I және /L, PDP 8/E, /F және /M, сондай-ақ PDP 8/A) жылдам, толық параллельдік жүзеге асыруға қайта оралды, бірақ әлдеқайда арзан транзистор-транзисторлық логиканы (TTL) MSI логикасын қолданды. Қазір сақталған PDP 8-дің көп бөлігі осы кезеңнен қалған. PDP 8/E жиі кездеседі және көптеген I/O құрылғылары қол жетімді болғандықтан жақсы бағаланады. 1979 жылы ұсынылған соңғы коммерциялық PDP 8 модельдері CMOS микропроцессорларына негізделген "CMOS 8s" деп аталды. Олардың бағасы бәсекеге төтеп бере алмады және ұсыныс сәтсіз аяқталды. Intersil компаниясы 1982 жылға дейін интегралдық схемаларды Intersil 6100 отбасы ретінде сатты. CMOS технологиясын пайдалану арқасында олар аз қуат тұтынады және кейбір кіріктірілген әскери жүйелерде қолданылды. PDP 8-дің бастапқы нұсқасын жасаған бас инженер – кейін Data General компаниясын құрған Эдсон де Кастро болды.

Сәулет маңызы

PDP 8 төмен құнмен компьютерлік дизайнды біріктіреді. Төменгі күрделілік басқа да шығындарға әкелді. Бұл мақаладағы мысалдардан және «беттер» мен «алаптар» туралы талқылаудан көрініп тұрғандай, бағдарламалауды қиындатты. Алгоритмді құрудың орнына, кодтың көп бөлігі қажетті механиканы орындады. Мысалы, санды алу үшін оның екілік толықтығын есептеп, содан кейін қосу қажет; шартты секіруді жазу үшін секірудің үстінен шартты өткізуді жазу қажет, онда өткізу жазылған шартқа кері шартты кодтайды. Кейбір амбициялық бағдарламалау жобалары жадына сыймады немесе шешуге болмайтын дизайн ақауларын дамытты. Мысалы, төменде көрсетілгендей, кіші программаның кездейсоқ қайталануы сол кіші программаға байланысты анықтау қиын ақауларды тудырады. Дизайнның жетістіктері логика мен жадтың құнын төмендеткенде, бағдарламашының уақыты салыстырмалы түрде маңыздырақ болды. Келесі компьютерлік дизайн бағдарламалаудың қарапайымдығына баса назар аударды, әдетте үлкен және түсінікті нұсқаулар жиынтығын қолданды. Соңында, көптеген машиналық кодтар компиляторлар мен есептеу генераторлары арқылы жасалды. Қысқартылған нұсқаулар жиынтығы компьютерлері PDP 8-дің қарапайым нұсқаулар жиынтығына және бір нұсқау циклында бірнеше әрекетті орындауға баса назар аударуына қайта оралды, бұл орындалу жылдамдығын барынша арттыруға мүмкіндік берді, бірақ жаңа компьютерлерде нұсқаулар сөздері әлдеқайда ұзын.

Негізгі нұсқаулар

000 – ЖӘНЕ – Және жад операндын AC-мен. 001 – TAD – Екілік толықтырып жад операндын <L,AC>-қа (L-дегі 12 биттік таңбалы мән (AC) көтеріліспен) қосу. 010 – ISZ – Жады операндын арттырып, нәтижесі нөл болса келесі нұсқауды өткізіп жіберу. 011 – DCA – AC-ны жад операндына салып, AC-ны тазалау. 100 – JMS – Ішкі бағдарламаға секіру (қайта оралу адресі ішкі бағдарламаның бірінші сөзінде сақталады!). 101 – JMP – Секуру. 110 – IOT – Кіріс/шығыс дерек алмасу (төменде қараңыз). 111 – OPR – микрокодталған операциялар (төменде қараңыз).

ОПР (OPeRate)

Көптеген операциялар, соның ішінде шартты операциялардың көпшілігі, ОПР арқылы жүзеге асырылады. OPR жад мекенжайына тікелей жүгінбейді; шартты орындау келесі нұсқауды шартты түрде өткізіп жіберу арқылы қамтамасыз етіледі, бұл әдетте JMP болып табылады. ОПР нұсқауы "микрокодталған" деп аталатын. Бұл сөздің қазіргі мағынасын білдірмейді (яғни, төменгі деңгейдегі бағдарлама OPR нұсқауын алып, түсіндіреді), бірақ нұсқау сөзінің әрбір биті нақты бір әрекетті көрсетеді, ал бағдарламашы бірнеше биттерді орнату арқылы бір нұсқау циклында бірнеше әрекетті орындай алады. Іс жүзінде, бағдарламашы бірнеше нұсқау мнемоникаларын қатар жаза алады, ал ассемблер оларды OR операциясымен біріктіріп, нақты нұсқау сөзін құрастырады. Көптеген кіріс-шығыс құрылғылары "микрокодталған" IOT нұсқауларын қолдайды. Микрокодталған әрекеттер көптеген комбинациялардың тиімділігін барынша арттыруға арналған, нақты белгіленген ретпен орындалады. ОПР нұсқаулары топтарға бөлінеді. 3, 8 және 11-ші биттер OPR нұсқауының тобын анықтайды, сондықтан әртүрлі топтардан микрокодталған әрекеттерді біріктіру мүмкін емес. Барлық топтарда ортақ бір әрекет (және сәйкес бит) бар, ол – 4-ші бит, CLA. Егер ол орнатылса, аккумулятор нөлденеді.

Мысалдар

Келесі мысалдар PDP 8 тіліндегі кодты, PAL III құрастырушысы үшін жазылғандай етіп көрсетеді.

Тоқтатулар

PDP 8 I/O шинасында бір ғана үзіліс желісі бар. Процессор кез келген үзіліске жауап ретінде, келесі үзілістерді тоқтатып, 0000 мекенжайына JMS командасын орындайды. Қайта кіретін процедураларды жазу қиын болғандықтан, үзілістерді тіркемелеу де қиын, сондықтан мұндай амал көбінесе жасалмайды; әрбір үзіліс толыққанша орындалады, ал үзілістен қайта оралу үшін JMP I 0 командасы орындалмас бұрын үзілістер қайта қосылады. I/O шинасында бір ғана үзіліс желісі болғандықтан, үзіліс пайда болғанда процессорға үзіліс көзі туралы ақпарат берілмейді. Оның орнына, үзіліс қызметтік бағдарламасы белсенді I/O құрылғыларын бірінен соң бірі тексеріп, оның үзіліс көзі екенін анықтауға тиіс. Мұны іске асыратын код "skip chain" деп аталады, себебі ол PDP 8 машинасының "тексеру және егер белгі қойылған болса, секіру" I/O командаларынан тұрады. (Кейде "skip chain" тізбегінің соңына жеткенде қызмет көрсетуді қажет ететін ешбір құрылғы табылмайтын жағдайлар да болатын.) I/O құрылғыларының үзіліс бойынша салыстырмалы басымдығы "skip chain" тізбегіндегі олардың орнымен анықталады: егер бірнеше құрылғы үзіліс берсе, тізбекте ертерек тексерілген құрылғыға бірінші болып қызмет көрсетіледі.

Лицензиясыз клондар

КСРО-да PDP 8 және PDP 8/E машиналарының клондары болған Saratov 1 және Saratov 2 шағын компьютерлері өндірілді. 70-80 жылдары Болгарияда IZOT 0310 деп аталған, PDP 8L машинасының клоны болған шағын компьютер шығарылды.