LINC-8
LINC-8 var namnet på en minidator tillverkad av Digital Equipment Corporation mellan 1966 och 1969. Den kombinerade en LINC- dator med en PDP-8 i ett skåp, och kunde därmed köra program skrivna för någon av de två arkitekturerna.
Arkitektur
LINC-8 innehöll en PDP-8 CPU och en LINC CPU, delvis emulerad av PDP-8. Vid något tillfälle var datorn i antingen 'LINC-läge' eller 'PDP-8-läge' - båda processorerna kunde inte köras parallellt. Instruktioner gavs för att växla mellan lägen. I LINC-8 hanterades alla avbrott av PDP-8 CPU, och program som förlitade sig på LINC:ns avbrottsarkitektur kunde inte köras.
LINC var en 12-bitars ettorkomplement ackumulatormaskin , medan PDP-8, samtidigt som den också var en 12-bitars ackumulatormaskin, fungerade i tvåkomplementaritmetik .
Minnesadresseringen på de två arkitekturerna var också olika. På LINC var hela adressutrymmet uppdelat i 1024-ordssegment, varav två valdes för användning vid en viss tidpunkt: instruktionsfältet och datafältet . Direkt åtkomst av data i instruktionsfältet var möjlig med 10-bitars adresser. Datafältet kunde endast adresseras indirekt. Instruktionsfältet och Datafältet kan teoretiskt väljas från upp till 32 områden med 1K 12-bitars ord vardera eftersom den maximala arkitekturen är 32K totalt ord. Rent praktiskt har få LINC-8-system någonsin utökats till totalt 8K. Minnesexpansion åstadkoms först genom att lägga till PDP-8 minnesförlängningshårdvara och utökade minnesinstruktioner och några mindre LINC-processormodifieringar för att adressera minnet utöver det grundläggande 4K-totalt. När detta är gjort kan 4K-minnes-"vingar" läggas till i ett seriekopplat bussarrangemang, som i teorin skulle kunna utökas så många som 7 gånger för att implementera hela 32K. Rent praktiskt är det alltid svårt att implementera på den "vanliga" PDP-8, och i fallet med LINC-8 blev det nödvändigt att sakta ner processorn något bara för att lägga till den första ytterligare 4K.
Sålunda, i praktiken, är LINC-8 minnessegment begränsade till segment 0-3, eller kanske 0-7 på de få 8K-implementeringarna. Grundläggande 4K-maskiner kan dock inte adressera mer än 0-3 medan modeller med utökat minne kan försöka adressera segment 0-37 oktalt även om det inte finns minne.
Enligt konvention är segment 0-området inte tillgängligt för normala helt emulerade LINC-operationer. Detta beror på att PDP-8-programmet, vanligtvis känt som PROGOFOP, laddas där för att hantera alla avbrott, fällor, etc. Det är möjligt att skriva ett program för en "delvis" LINC-processor, vilket innebär att endast använda den hårdvara som faktiskt finns. Närhelst en operation utförs som den inte kan hantera, återupptas PDP-8-operationen. Emellertid kunde LINC-operationen ha avslutats av olika anledningar. Som sådan rekommenderas det alltid att PROGOFOP laddas när man försöker använda "kompletta" LINC-program på detta system.
Många operativsystem skrevs för denna maskin; några var väsentligen något modifierade versioner designade för den ursprungliga LINC-processorn som den delvis är baserad på. Bootup-konventioner gjorde det möjligt för en bild av en anpassad version av PROGOFOP att först laddas, följt av exekvering av bandinstruktioner för att ladda det LINC-baserade operativsystemet. I vissa fall utfördes uppstartsproceduren manuellt direkt på LINC-konsolens switchar; senare system självstartade systemet efter att ha laddat PROGOFOP.
Andra operativsystem är faktiskt mer generiska och är designade för att mestadels ignorera LINC-sidan av saker och ting. Dessa är PDP-8-bara system, även om de kanske är skräddarsydda för nycklarna med detaljerna hos en LINC-8. I vissa fall betyder det att de inte kan köras på någon annan maskin; i andra fall representerade LINC-8 bara en normal variation av drivrutiner från ett annars icke-beskrivande PDP-8-system. En fördel med ett PDP-8-baserat system är att PROGOFOP är överflödigt här. Vid behov kan PDP-8-systemet ladda PROGOFOP såväl som ett användarprogram främst LINC-orienterat för att komma till laboratoriets kringutrustning. LINC-konventionen för hela den första 1K som är otillgänglig reserverad för PROGOFOP byts ut mot den mycket mindre PDP-8-konventionen att reservera endast 07600-07777 eller den sista 128-ordssidan i de första 4K av maskinen. Detta motsvarar ett litet reserverat område i slutet av LINC segment 3 i utbyte mot mycket större övergripande flexibilitet.
PDP-8 delade upp sitt minne i sidor på 128 ord . En instruktion kan referera till den aktuella sidan , det vill säga sidan där själva instruktionen fanns, eller sidan 0 , de 128 minnesorden vid adresserna 0-127. Indirekt adressering skulle kunna användas för att producera 12-bitars adresser. Om mer än 4K-minne implementeras utökas den indirekta adresseringen till att omfatta datafältet, så det är möjligt att komma åt vilken plats som helst indirekt i max 32K. Återigen, hårdvarubegränsningar för LINC-8 gör det svårt att uppnå en total storlek på mer än 8K totalt. Instruktionsfältet är också implementerat, vilket gör det möjligt att ladda större program i samma adresseringsutrymme som datafältet styr. Överlåtelse av kontroll kan vara antingen direkt eller indirekt efter behov. Den nya adressen bestäms genom att först ställa in det nya instruktionsfältsvärdet och sedan exekvera en JMP- eller JMS-instruktion i det nya fältets motsvarande 12-bitars adress, vilket således ger en 15-bitars adress totalt.
Datorn inkluderade ett antal LINC kringutrustning, som styrdes av speciella LINC-lägesinstruktioner. Dessa enheter inkluderade analoga ingångar i form av rattar och uttag, reläer för styrning av extern utrustning, LINCtape - enheter (föregångaren till DECtape ) , ett oscilloskopliknande katodstrålerör under programstyrning, samt en Teletype Model 33 ASR. Egentligen är CRT en speciellt modifierad enhet baserad på ett standard Tektronix-oscilloskop modifierat för att endast drivas av DA-omvandlare och ett intensifierargränssnitt; det finns inga svepkretsar som finns i konventionella oscilloskop. De flesta av ändringarna involverar anpassade, mycket avskalade plug-in-moduler, som också innehåller de faktiska rattarna som är anslutna till de lägsta AD-kanalerna. Förmodligen är detta föregångaren till det moderna musgränssnittet; någon mjukvara använde rattsnurrning på ett sätt som senare skulle antyda den tvådimensionella formen av en mus; dessa är rattar som endast styr en parameter åt gången, etc.
En del av dessa kringutrustning är simulerade och är faktiskt kringutrustning till PDP-8. Alla oimplementerade operationer stoppar LINC-processorn och avbryter PDP-8-processorn för att hantera detaljerna. Mest anmärkningsvärt är att LINCtape faktiskt är en PDP-8 kringutrustning; bandklassen av LINC-instruktioner fångas och avbryter PDP-8 som sedan emulerar hur en riktig LINC eller PDP-12 skulle utföra detaljerna i den senaste bandinstruktionen. Att trycka på en mängd olika tangenter på den till synes närvarande LINC-konsolen orsakar alla PDP-8-avbrott; PROGOFOP är utformad för att efterlikna funktionerna som de skulle visas på den ursprungliga LINC.
En intressant funktion är FETCH/EXEC-stoppet, som är implementerat i all hårdvara i LINC och PDP-12. Hårdvaran, när den är aktiverad, övervakar kontinuerligt instruktionsexekveringen tills specifika villkor uppfylls. Detta kommer att orsaka ett PDP-8-avbrott som stoppar LINC-programmet. Simulerade konsoloperationer kan användas för att undersöka minnet eller göra andra ändringar, som att trycka på den simulerade DO-tangenten. DO-tangenten exekverar vilken som helst instruktion på det vänstra växlingsregistret medan det högra växlingsregistret kan behöva ställas in i fallet med instruktioner med dubbla ord, såsom de flesta av bandklassen. Att starta upp vissa operativsystem består av att exekvera en bandläsningsinstruktion direkt från båda uppsättningarna av switchar genom att trycka på den simulerade DO-tangenten följt av att trycka på den simulerade START 20-omkopplaren. I huvudsak implementerar LINC-8 alla funktionerna i konsolpanelen i den "riktiga" LINC:n, och använder sedan PDP-8 för att simulera de flesta av dem.
Syfte
LINC-8 byggdes som en laboratoriedator. Den var tillräckligt liten för att passa i en laboratoriemiljö, gav blygsam datorkraft till ett lågt pris och inkluderade hårdvarufunktioner som var nödvändiga för att övervaka och kontrollera experiment.
LINCtape-magnetbandenheten, designad av Wesley A. Clark för LINC, var lämplig för hantering i laboratoriemiljö, och banden kunde slarvas i fickor, tappas eller till och med genomborras och skäras utan att förlora data som lagrats på dem.
Nuvarande status
1969 förbättrade DEC LINC-8 med PDP-12 , en liknande kombinationsdator för labbanvändning, och LINC-8 avbröts. Få LINC-8-datorer har någonsin byggts, bara några hundra, och därför är modellen en sällsynt syn idag.
Från och med 2008 pågår ett projekt för att emulera LINC-8 på modern hårdvara inom datasamhället Update vid Uppsala universitet .
externa länkar
- Project GreenPea – en PDP-12-emulator