IMLAC

IMLAC Corporation
Industri Elektronik
Grundad 1968 ; 55 år sedan ( 1968 ) i Needham, Massachusetts
Nedlagd 1979 ; 44 år sedan ( 1979 )
Öde Förvärvad av Hazeltine Corporation
Produkter

IMLAC Corporation var ett amerikanskt elektronikföretag i Needham, Massachusetts , som tillverkade grafiska displaysystem, främst PDS-1 och PDS-4 , på 1970-talet.

PDS-1 debuterade 1970. Det var den första billiga kommersiella realiseringen av Ivan Sutherlands Sketchpad- system av en mycket interaktiv datorgrafikskärm med rörelse. Säljs för $8 300 före optioner, priset motsvarade kostnaden för fyra Volkswagen Beetles . PDS-1 var funktionellt lik den mycket större IBM 2250 , som kostade 30 gånger mer. Det var ett viktigt steg framåt mot datorarbetsstationer och moderna skärmar.

PDS-1 bestod av en CRT-skärm , tangentbord, ljuspenna och en kontrollpanel på ett litet skrivbord med mest elektronisk logik i skrivbordspiedestalen. Elektroniken inkluderade en enkel 16-bitars minidator och 8-16 kilobyte magnetiskt kärnminne och en bildskärmsprocessor för att driva CRT-strålerörelser.

IMLAC är inte en akronym, utan är namnet på en poetfilosof från Samuel Johnsons roman, The History of Rasselas, Prince of Abissinia .

Tidslinje för produkter

  • 1968: Imlac grundas. Deras affärsplan var interaktiva grafikterminaler för börshandlare, vilket inte blev av.
  • 1970: PDS-1 introduceras för den allmänna grafikmarknaden.
  • 1972: PDS-1D introduceras. Den liknade PDS-1 med förbättrade kretsar och bakplan.
  • 1973: PDS-1G introduceras.
  • 1974: PDS-4 introduceras. Den körde dubbelt så snabbt och visade dubbelt så mycket text eller grafik utan flimmer. Dess bildskärmsprocessor stödde omedelbar interaktiv förstoring med klippning. Den hade ett valfritt flyttalstillägg.
  • 1977: Totalt hade cirka 700 PDS-4-system sålts i USA. De byggdes på beställning snarare än att masstillverkas.
  • 1978: Dynagraphic 3250 introduceras. Den designades för att användas främst av ett proprietärt Fortran-kodat grafikbibliotek som körs på större datorer, utan kundprogrammering inuti terminalen.
  • ????: Dynagraphic 6220 introducerad.
  • 1979: Imlac Corporation förvärvas av Hazeltine Corporation , en tillverkare av textterminaler.
  • 1981: Hazeltines Imlac Dynagraphic Series II introduceras. Den designades för att vara kompatibel med SIGGRAPHs CORE 1979 3D-grafikbiblioteksstandard. Dess kostnad var $9000 i OEM-kvantiteter. Den hade 2Kx2K upplösning, 192 kilobyte ram och en 8086 mikroprocessor, allt inuti monitorenheten.

DEC GT40 hade en liknande design och prisnivå som PDS-1D. Dess stationära elektronik var mer kompakt och använde ett masstillverkat PDP 11/05- kort som sin lokala minidator. Detta gav den automatiskt en mycket större uppsättning programmeringsverktyg. Men också det drevs vanligtvis av applikationer som kördes på större PDP-system.

Uppdaterad vektordisplay

Skärmen var en 14-tums monokrom vektorskärm , ständigt uppdaterad från lokalt minne. Dess normala upplösning var 1024 gånger 1024 adresserbara punkter och 2K x 2K i skalningsläge för små teckensnitt. CRT-elektronstrålen rörde sig fritt i X- och Y-position och vinkel under programkontroll för att rita individuella lutande linjer och bokstavsformer, ungefär som penna-på-pappersrörelserna hos en pennplotter . Strålen hoppade över tomma områden på skärmen. Saker och ting kunde ritas i godtycklig ordning.

Vektorskärmar är ett nu förlegat alternativ till rasterskanningsskärmar . I vektordisplayer "ritar" CRT-elektronstrålen endast de linjer och kurvor som visas. I rasterskanningsskärmar är bilden ett rutnät av pixelpunkter (en "bitmappad" bild), och CRT-strålen sveper upprepade gånger hela skärmen i ett fast horisontellt mönster (som i TV-apparater), oavsett vilka punkter som är påslagna. Bitmappsrastergrafik kräver mycket mer minne än vektorgrafik. XGA -nivå 1024x768 svart/vit upplösning kräver 96 kilobyte videouppdateringsminne, 12 gånger mer än en vanlig PDS-1. 1970 kostade så mycket kärnminne cirka 8000 dollar. (Det kostar nu bara 0,05 cent delat DRAM.)

Vektorskärmar var bra för att visa datadiagram, modifiera linjeritningar och CAD - diagram, tumla 3-D trådramsformer, redigera text, lägga ut utskrivna sidor och spela enkla spel. Men de hanterade inte färger, bilder, ifyllda områden, svart-på-vita skärmar eller WYSIWYG -trohet mot typsnitten i professionellt tryckt text.

PDS-1-skärmen uppdaterades eller ritades om 40 gånger per sekund upprepade gånger för att undvika synligt flimmer. Men oregelbunden strålrörelse var långsammare än de stadiga rörelserna på rasterskärmar. Strålavböjningarna drevs av magnetiska spolar, och dessa spolar kämpade mot snabba förändringar av deras ström. Skärmen flimrade när den fylldes med mer än 800 tum rader eller mer än 1200 tecken, eftersom strålen då behövde mer än 1/40 av en sekund för att spåra allt.

Den konkurrerande lägre kostnadsgrafikterminalen Tektronix 4010 använde en alternativ CRT-teknik för lagringsrör som inte krävde någon kontinuerlig uppdatering och därför inget lokalt datorminne alls. Den glödande bilden kom ihåg av själva CRT-fosforen. Men som en Etch A Sketch kunde den ackumulerade bilden ändras eller flyttas endast genom att blixtradera hela skärmen och sedan sakta ner omritningen av allt med data som skickas på nytt från någon stor dator. Detta var mycket mindre interaktivt än PDS-1 och kunde inte visa animationer.

På andra skärmar från denna era var textteckensnitt fastanslutna och kunde inte ändras. Till exempel bildade operatörskonsolerna på CDC 6600 varje bokstav på en gång genom att skicka Charactron CRT-elektronstrålen genom en metallisk stencilmask med ett A-format hål, eller genom ett B-format hål, etc.

Men på PDS-1 var alla bokstavsformer, storlekar och avstånd helt kontrollerade i mjukvara. Varje önskad form av bokstaven E hade sin egen visningssubrutin som utförde en sekvens av korta vektordrag för den bokstaven. Varje förekomst av en bokstav på skärmen var ett displayprocessoranrop till den bokstavens subrutin. Detta schema hanterade godtyckliga teckensnitt, utökade teckenuppsättningar och till och med kursiva höger-till-vänster-språk som arabiska. De mindre, snabbast ritade typsnitten var fula, med diamantformade approximationer av rundade öglor. Displayens subrutinschema hanterade också elektroniska designsymboler.

PDS-1-skärmens yta var rektangulär och fanns tillgänglig i stående eller liggande orientering. 1K x 1K-rutnätet med punkter sträcktes 33 % i den längre riktningen för att tillåta text och grafik att fylla skärmen. Alla grafikprogram fick då ta hänsyn till de icke-kvadratiska pixlarna. Om systemet huvudsakligen skulle användas för grafik skulle monitorn kunna installeras med ett osträckt rutnät som lämnar skärmens ändar permanent oanvända.

Dubbla processorer

PDS-1:s bildskärmsprocessor och dess minidator körde samtidigt, utan samma minne.

Instruktioner för bildskärmsprocessorn bestod av 1-byte kortslagsinstruktioner för bokstäver och kurvor, och 6-byte långa vektorinstruktioner och 2-byte ovillkorliga hopp. Displayprocessorn hade inga konventionella ALU-instruktioner och aldrig modifierat minne. Hoppstödda subrutiner kräver upprepade objekt som bokstäver och symboler. Jumps stödde också att ordna visade objekt i länkade listor för snabb redigering. XY-positioner var endast i heltalsform. Det fanns inget stöd för rotationer eller godtycklig skalning i farten. Om en symbol korsade över en kant av skärmen, lindades strålen runt till andra sidan istället för att klippas, vilket gjorde ett utsmet. Så högre nivåer av applikationen var tvungna att göra klipptestet med hjälp av separata datastrukturer. (Detta fixades i senare modeller.) Programmering av bokstavstypsnittssubrutinerna skedde via assemblerspråk. Kod för linjeritningar och övergripande layout genererades i farten, av program som kördes på den lokala minidatorn eller på en stor fjärrdator.

PDS-1:s inbyggda minidator behövdes för att snabbt svara på användarens tangentbords- och ljuspennainteraktioner, utan fördröjningar i att prata med en fjärrstyrd tidsdelad stor dator för att få hjälp. Minidatorns huvuduppgift var att bygga och modifiera visningslistan efter behov för nästa uppdateringscykel. För text och 2D- linjegrafik var detta enkelt och involverade inte mycket datoranvändning. För att minimera kostnaderna designade Imlac sin egen enkla minidator med så få register och logiska grindar som möjligt. Det var en enackumulatormaskin ungefär som en DEC PDP-8 , förutom att använda 16-bitars instruktioner och data istället för 12 bitar. Det fanns inga instruktioner för att multiplicera/dela ​​heltal, inga flyttalsinstruktioner, ingen mikroprogrammering, ingen virtuell adressering och ingen cache. Den enda formen av adressändring var via indirekta adresspekare som hölls i minnet. Vissa pekarceller ökar automatiskt när de används. Stackoperationer stöddes inte.

Programmering av denna minidator skedde via assemblerspråk. Det var inte objektkodkompatibelt med något annat och hade därför begränsat verktygsstöd. Imlac lade så småningom till en egenvärdig Fortran- kompilator med timslånga kompileringar på grund av det trånga minnet. Vissa PDS-modeller hade en valfri IBM 2310- kassettdiskenhet eller 8-tums diskettenhet. Dessa körde ett rudimentärt skivoperativsystem som stöder programöverlägg. Diskarna tappades från senare produkter.

PDS-1-elektroniken byggdes av 7400-seriens lågdensitets TTL- integrerade kretsar, med endast ett dussin logiska grindar eller 4 registerbitar per DIP -chip. Små kretskort rymmer upp till 12 marker vardera. Den grunda skrivbordspiedestalen rymde tre ställ eller rader med kort, med 25 kort per rad, och ett bakplan som förbinder alla kort. Det fanns ingen enhetlig bakplansbuss. Kunddokumentationen inkluderade kompletta scheman ner till grindnivå, så att kunderna kunde designa sina egna gränssnittskort. Det var möjligt att se, röra och förstå varje detalj av hur hela systemet fungerade. Cykeltiden för kärnminnet var 2,0 mikrosekunder för PDS-1 och 1,8 mikrosekunder för PDS-1D. TTL-logik gick 10 gånger snabbare, med 10 timingpulser per kärnminnescykel.

Den grundläggande PDS-1 inkluderade inte de valfria hårdvarukorten för långa vektorer. Istället skapade minidatorn en lång sekvens av korta visningsinstruktioner. Mjukvaran använde en snabb Bresenham- metod för att beräkna mellanliggande punkter för lutande linjer utan att göra multiplikationer eller divisioner. Den långa vektorhårdvaran behövde på samma sätt bara en addera/subtrahera-krets. Om ett långt vektorprogram av misstag kördes på en grundläggande maskin utan det alternativet, kan bildskärmsprocessorn bli vild och potentiellt bränna monitorns fosfor eller avböjningsförstärkare.

Ansökningar

PDS-1 och PDS-4 köptes i små antal av FoU-organisationer och många universitet. De utvecklade banbrytande datorapplikationer och utbildade nästa generations grafiska systemdesigners. Hypertextsystemet FRESS hade förbättrad kapacitet och användbarhet om det nås från ett PDS-1-system ; användaren kunde skapa hyperlänkar med en lätt penna och skapa dem helt enkelt med ett par knapptryckningar. Redigering med flera fönster på FRESS var också möjlig när PDS-1 användes. PDS-1-system användes för att designa Arpanets nätverksgrafikprotokoll.

Imlac displaysystem paketerades i olika större kommersiella produkter som involverade visuell design och specialiserad programvara. Imlac sålde en tidningslayout och ett sättningssystem med PDS-1 kallat CES. MCS:s Anvil mekaniska CAD-system använde senare Imlac-arbetsstationer för att interaktivt designa mekaniska delar, som sedan frästes ut automatiskt från metallmaterial.

Vissa enkla applikationer som textredigerare var helt kodade i Imlac assembler och kunde köras utan större inblandning med en större dator. Hofstadter komponerade sin bok Gödel, Escher, Bach på en Imlac-redaktör. Men de flesta grafikapplikationer krävde starkt flyttalsstöd, kompilatorer och ett filsystem. Dessa applikationer körde mestadels på en dyr tidsdelad dator, som skickade sammandragen bilddata till Imlac, som körde ett litet assemblerprogram som emulerade en generisk grafikterminal. En typisk användning var att rendera arkitektoniska ritningar och animerade genomgångar som tidigare hade ritats offline. Användningen av PDS-1 hölls tillbaka i flera år genom att inte ha ett standardprogrambibliotek som stöder animering eller interaktiv ritning och dragning av objekt.

Men på natten var eleverna villiga att skriva stora mängder assemblerkod bara för skojs skull. De PDS-1-applikationer som man mest minns idag är de tidiga interaktiva spelen . Spacewar för två spelare ! portades från en PDP-1-demo. Freeway Crossing , en tidig föregångare till det populära arkadspelet Frogger , skapades på en PDS-1 som en del av ett psykologiexperiment 1971. Mazewar , det första online-multiplayer-datorspelet, skapades på ett par PDS-1. Senare körde upp till 8 spelare på PDS-1-stationer eller andra terminaler kopplade till MIT - värddatorn PDP-10 som körde Mazewar AI -programmet. Mazewar-spel mellan MIT och Stanford var en stor databelastning på det tidiga Arpanet .

Pixlar ersätter vektorskärmar

Tätheten, kapaciteten och priset på datorminne har förbättrats stadigt och exponentiellt i decennier, en ingenjörstrend som kallas Moores lag . Begränsningarna för uppdaterade eller lagringsvektordisplayer accepterades endast under den tid då dessa displayer var mycket billigare än raster-scan-alternativ. Rastergrafiska skärmar tog oundvikligen över när priset på 128 kilobyte inte längre spelade någon roll.

Imlac PDS-1 på Xerox PARC imponerade på dem med sin interaktivitet och grafik. Men dess fula text fick Chuck Thacker att utveckla den experimentella bitmappade Xerox Alto -maskinen 1973, ett decennium innan så mycket minne var överkomligt för enanvändarmaskiner som inte var forskning. Och Alto ledde till GUI-revolutionen.

PDS-1 och liknande vektorterminaler ersattes på 1980-talet av (icke programmerbara) rastergrafikterminaler som AED767. Och genom lättprogrammerade personliga arbetsstationer med rastergrafik som Terak 8510/a UCSD Pascal-maskinen och det högpresterande PERQ Unix-systemet. Och de ersattes av mikroprocessorbaserade massmarknads- Macintoshes , Windows -datorer och videospelskonsoler . Och nu av enstaka marker inuti smartphones .

Tävlan

2013 skrevs en Imlac-emulator vid namn sImlac. En uppdateringsversion av denna emulator kan erhållas från GitHub-förrådet i Seattle-baserade Living Computers: Museum + Labs .

externa länkar