Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Миникомпьютерлік өнімдер қатары
Minicomputer product line
PDP 8 – Digital Equipment Corporation (DEC) компаниясы шығарған 12 биттік миникомпьютерлер отбасы. Бұл коммерциялық тұрғыдан сәтті шыққан алғашқы миникомпьютер болды, модельдің өмір бойына 50 000-нан астам данасы сатылды. Оның негізгі дизайны LINC-тің инновациялық үлгісіне негізделген, бірақ кішірек нұсқаулар жиынтығына ие, ол PDP 5 нұсқаулар жиынтығының кеңейтілген түрі. DEC компаниясының ұқсас машиналары – PDP 12, ол PDP 8 және LINC тұжырымдамаларының жаңартылған нұсқасы, және PDP 14 өнеркәсіптік басқару жүйесі.
The PDP 8 is a family of 12 bit minicomputers that was produced by Digital Equipment Corporation (DEC). It was the first commercially successful minicomputer, with over 50,000 units being sold over the model's lifetime. Its basic design follows the pioneering LINC but has a smaller instruction set, which is an expanded version of the PDP 5 instruction set. Similar machines from DEC are the PDP 12 which is a modernized version of the PDP 8 and LINC concepts, and the PDP 14 industrial controller system.
Шолу
Ең алғашқы 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 компаниясын құрған Эдсон де Кастро болды.
The earliest PDP 8 model, informally known as a "Straight 8", was introduced on 22 March 1965 priced at $18,500 (18500.0 in 1965 is equivalent to about <calculated amount> in recent years). It uses diode–transistor logic packaged on flip chip cards in a machine about the size of a small household refrigerator. It was the first computer to be sold for under $20,000, making it the best selling computer in history at that time. The Straight 8 was supplanted in 1966 by the PDP 8/S, which was available in desktop and rack mount models. Using a one bit serial arithmetic logic unit (ALU) allowed the PDP 8/S to be smaller and less expensive, although slower than the original PDP 8. A basic 8/S sold for under $10,000, the first machine to reach that milestone. Later systems (the PDP 8/I and /L, the PDP 8/E, /F, and /M, and the PDP 8/A) returned to a faster, fully parallel implementation but use much less costly transistor–transistor logic (TTL) MSI logic. Most surviving PDP 8s are from this era. The PDP 8/E is common, and well regarded because many types of I/O devices were available for it. The last commercial PDP 8 models introduced in 1979 are called "CMOS 8s", based on CMOS microprocessors. They were not priced competitively, and the offering failed. Intersil sold the integrated circuits commercially through 1982 as the Intersil 6100 family. By virtue of their CMOS technology they had low power requirements and were used in some embedded military systems. The chief engineer who designed the initial version of the PDP 8 was Edson de Castro, who later founded Data General.
Сәулет маңызы
PDP 8 төмен құнмен компьютерлік дизайнды біріктіреді. Төменгі күрделілік басқа да шығындарға әкелді. Бұл мақаладағы мысалдардан және «беттер» мен «алаптар» туралы талқылаудан көрініп тұрғандай, бағдарламалауды қиындатты. Алгоритмді құрудың орнына, кодтың көп бөлігі қажетті механиканы орындады. Мысалы, санды алу үшін оның екілік толықтығын есептеп, содан кейін қосу қажет; шартты секіруді жазу үшін секірудің үстінен шартты өткізуді жазу қажет, онда өткізу жазылған шартқа кері шартты кодтайды. Кейбір амбициялық бағдарламалау жобалары жадына сыймады немесе шешуге болмайтын дизайн ақауларын дамытты. Мысалы, төменде көрсетілгендей, кіші программаның кездейсоқ қайталануы сол кіші программаға байланысты анықтау қиын ақауларды тудырады. Дизайнның жетістіктері логика мен жадтың құнын төмендеткенде, бағдарламашының уақыты салыстырмалы түрде маңыздырақ болды. Келесі компьютерлік дизайн бағдарламалаудың қарапайымдығына баса назар аударды, әдетте үлкен және түсінікті нұсқаулар жиынтығын қолданды. Соңында, көптеген машиналық кодтар компиляторлар мен есептеу генераторлары арқылы жасалды. Қысқартылған нұсқаулар жиынтығы компьютерлері PDP 8-дің қарапайым нұсқаулар жиынтығына және бір нұсқау циклында бірнеше әрекетті орындауға баса назар аударуына қайта оралды, бұл орындалу жылдамдығын барынша арттыруға мүмкіндік берді, бірақ жаңа компьютерлерде нұсқаулар сөздері әлдеқайда ұзын.
The PDP 8 combines low cost, computer design. The low complexity brought other costs. It made programming cumbersome, as is seen in the examples in this article and from the discussion of "pages" and "fields". Much of one's code performed the required mechanics, as opposed to setting out the algorithm. For example, subtracting a number involves computing its two's complement then adding it; writing a conditional jump involves writing a conditional skip around the jump, the skip coding the condition negative to the one desired. Some ambitious programming projects failed to fit in memory or developed design defects that could not be solved. For example, as noted below, inadvertent recursion of a subroutine produces defects that are difficult to trace to the subroutine in question. As design advances reduced the costs of logic and memory, the programmer's time became relatively more important. Subsequent computer designs emphasized ease of programming, typically using larger and more intuitive instruction sets. Eventually, most machine code was generated by compilers and report generators. The reduced instruction set computer returned full circle to the PDP 8's emphasis on a simple instruction set and achieving multiple actions in a single instruction cycle, in order to maximize execution speed, although the newer computers have much longer instruction words.
Негізгі нұсқаулар
000 – ЖӘНЕ – Және жад операндын AC-мен. 001 – TAD – Екілік толықтырып жад операндын <L,AC>-қа (L-дегі 12 биттік таңбалы мән (AC) көтеріліспен) қосу. 010 – ISZ – Жады операндын арттырып, нәтижесі нөл болса келесі нұсқауды өткізіп жіберу. 011 – DCA – AC-ны жад операндына салып, AC-ны тазалау. 100 – JMS – Ішкі бағдарламаға секіру (қайта оралу адресі ішкі бағдарламаның бірінші сөзінде сақталады!). 101 – JMP – Секуру. 110 – IOT – Кіріс/шығыс дерек алмасу (төменде қараңыз). 111 – OPR – микрокодталған операциялар (төменде қараңыз).
000 – AND – AND the memory operand with AC. 001 – TAD – Two's complement ADd the memory operand to <L,AC> (a 12 bit signed value (AC) w. carry in L). 010 – ISZ – Increment the memory operand and Skip next instruction if result is Zero. 011 – DCA – Deposit AC into the memory operand and Clear AC. 100 – JMS – JuMp to Subroutine (storing return address in first word of subroutine!). 101 – JMP – JuMP. 110 – IOT – Input/Output Transfer (see below). 111 – OPR – microcoded OPeRations (see below).
ОПР (OPeRate)
Көптеген операциялар, соның ішінде шартты операциялардың көпшілігі, ОПР арқылы жүзеге асырылады. OPR жад мекенжайына тікелей жүгінбейді; шартты орындау келесі нұсқауды шартты түрде өткізіп жіберу арқылы қамтамасыз етіледі, бұл әдетте JMP болып табылады. ОПР нұсқауы "микрокодталған" деп аталатын. Бұл сөздің қазіргі мағынасын білдірмейді (яғни, төменгі деңгейдегі бағдарлама OPR нұсқауын алып, түсіндіреді), бірақ нұсқау сөзінің әрбір биті нақты бір әрекетті көрсетеді, ал бағдарламашы бірнеше биттерді орнату арқылы бір нұсқау циклында бірнеше әрекетті орындай алады. Іс жүзінде, бағдарламашы бірнеше нұсқау мнемоникаларын қатар жаза алады, ал ассемблер оларды OR операциясымен біріктіріп, нақты нұсқау сөзін құрастырады. Көптеген кіріс-шығыс құрылғылары "микрокодталған" IOT нұсқауларын қолдайды. Микрокодталған әрекеттер көптеген комбинациялардың тиімділігін барынша арттыруға арналған, нақты белгіленген ретпен орындалады. ОПР нұсқаулары топтарға бөлінеді. 3, 8 және 11-ші биттер OPR нұсқауының тобын анықтайды, сондықтан әртүрлі топтардан микрокодталған әрекеттерді біріктіру мүмкін емес. Барлық топтарда ортақ бір әрекет (және сәйкес бит) бар, ол – 4-ші бит, CLA. Егер ол орнатылса, аккумулятор нөлденеді.
Many operations are achieved using OPR, including most of the conditionals. OPR does not address a memory location; conditional execution is achieved by conditionally skipping the following instruction, which is typically a JMP. The OPR instruction was said to be "microcoded." This did not mean what the word means today (that a lower level program fetched and interpreted the OPR instruction), but meant that each bit of the instruction word specifies a certain action, and the programmer could achieve several actions in a single instruction cycle by setting multiple bits. In use, a programmer can write several instruction mnemonics alongside one another, and the assembler combines them with OR to devise the actual instruction word. Many I/O devices support "microcoded" IOT instructions. Microcoded actions take place in a well defined sequence designed to maximize the utility of many combinations. The OPR instructions come in Groups. Bits 3, 8 and 11 identify the Group of an OPR instruction, so it is impossible to combine the microcoded actions from different groups. One action (and corresponding bit) which is the same in all groups is bit 4, CLA. If set, the accumulator is cleared.
Мысалдар
Келесі мысалдар PDP 8 тіліндегі кодты, PAL III құрастырушысы үшін жазылғандай етіп көрсетеді.
The following examples show code in PDP 8 assembly language as one might write for the PAL III assembler.
Тоқтатулар
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" тізбегіндегі олардың орнымен анықталады: егер бірнеше құрылғы үзіліс берсе, тізбекте ертерек тексерілген құрылғыға бірінші болып қызмет көрсетіледі.
There is a single interrupt line on the PDP 8 I/O bus. The processor handles any interrupt by disabling further interrupts and executing a JMS to location 0000. As it is difficult to write reentrant subroutines, it is difficult to nest interrupts and this is usually not done; each interrupt runs to completion and re enables interrupts just before executing the JMP I 0 instruction that returns from the interrupt. Because there is only a single interrupt line on the I/O bus, the occurrence of an interrupt does not inform the processor of the source of the interrupt. Instead, the interrupt service routine has to serially poll each active I/O device to see if it is the source. The code that does this is called a skip chain because it consists of a series of PDP 8 "test and skip if flag set" I/O instructions. (It was not unheard of for a skip chain to reach its end without finding any device in need of service.) The relative interrupt priority of the I/O devices is determined by their position in the skip chain: If several devices interrupt, the device tested earlier in the skip chain is serviced first.
Лицензиясыз клондар
КСРО-да PDP 8 және PDP 8/E машиналарының клондары болған Saratov 1 және Saratov 2 шағын компьютерлері өндірілді. 70-80 жылдары Болгарияда IZOT 0310 деп аталған, PDP 8L машинасының клоны болған шағын компьютер шығарылды.
The USSR produced the minicomputers Saratov 1 and Saratov 2, which cloned the PDP 8 and PDP 8/E, respectively. There was a minicomputer named IZOT 0310, produced in Bulgaria in 70s and 80s, which cloned PDP 8L.