Etikett: programmeringsspråk

  • IBM 2741 – skrivmaskinen som lärde datorer att prata med människor

    I mitten av 1960-talet började datorer för första gången svara direkt på vad människor skrev. Det skedde inte på skärmar, utan på papper – med ljudet av en elektrisk skrivmaskin i bakgrunden. IBM 2741 var en av de viktigaste länkarna mellan människa och stordator och gjorde interaktiv datoranvändning möjlig långt innan bildskärmsterminaler blev vardag.

    IBM 2741 – skrivmaskinen som lärde datorer att prata med människor
    När vi i dag tänker på datorer ser vi framför oss skärmar, tangentbord och tysta tangenttryckningar. Men i mitten av 1960-talet lät datorer mer som kontor: de knackade, slamrade och skrev bokstäver direkt på papper. En av de mest inflytelserika maskinerna från denna tid var IBM 2741, en skrivande datorterminal som kom att spela en viktig roll i övergången från batchkörning till interaktiv datoranvändning.

    Ett stort steg bort från teletype-eran
    IBM 2741 introducerades 1965 och var i grunden en kraftigt modifierad IBM Selectric-skrivmaskin, försedd med elektronik som gjorde att den kunde kopplas direkt till en dator. Jämfört med dåtidens teletype-maskiner var den ett tekniksprång: cirka 50 % högre utskriftshastighet, betydligt tystare drift, bokstavskvalitet snarare än ”telegramstil”, både versaler och gemener samt utbytbara typhjul som gav olika typsnitt och symboluppsättningar. Plötsligt kunde användare skriva kommandon och få svar direkt – allt på papper.

    Datorn flyttar ut från maskinrummet
    IBM 2741 användes främst tillsammans med IBM System/360, men förekom även med andra IBM-system och ibland med icke-IBM-miljöer där man behövde snabb och snygg utskrift. Till skillnad från stora konsolskrivare som stod i datorhallar var 2741 byggd för fjärranvändning. Den kunde placeras i ett kontor eller klassrum och kopplas upp via telefonlinje, vilket gjorde att fler kunde arbeta interaktivt utan att befinna sig nära själva stordatorn.

    Mekanik möter digital logik
    Tekniskt var IBM 2741 en hybrid. Den kombinerade Selectric-mekanik – där ett roterande typhjul slår fram rätt tecken – med IBM:s SLT-elektronik och ett seriellt gränssnitt av RS-232-typ. Terminalen arbetade kring 14 tecken per sekund och använde ett serieformat med startbit, sex databitar, udda paritet och 1,5 stoppbitar. En detalj som skiljde den från senare ASCII-terminaler var att den mest signifikanta databiten skickades först.

    Skiftlägen och teckenuppsättningar
    Som hos dåtidens kontors-Selectrics fanns omkring 88 tryckbara tecken plus mellanslag och vissa styrkoder. Det räckte inte för att få in hela EBCDIC eller ASCII inklusive gemener, så terminalen använde skifttecken för att växla läge och därmed nå fler symboler än vad sex databitar kan beskriva direkt. Nackdelen var att utskriftshastigheten i praktiken kunde sjunka, eftersom extra skifttecken behövde skickas för att få fram rätt tecken på papper.

    Två varianter – olika kodning, olika beteende
    IBM 2741 fanns i två huvudvarianter: en med ”correspondence coding” och en med PTT/BCD eller PTT/EBCD. Skillnaden låg bland annat i hur tecken var placerade på typhjulet och vilka tilt-/rotationskoder som behövdes för att slå fram ett visst tecken. En ”correspondence”-maskin kunde använda standard-typhjul från kontors-Selectrics, medan PTT-varianter krävde specialelement och hade mindre urval av typsnitt. Elementen gick att byta fysiskt – men resultatet blev ”gibberish” om kodningen inte matchade. Detta påverkade även mjukvaran, eftersom värddatorn behövde kunna avgöra vilken typ av terminal som var ansluten.

    En terminal som gjorde APL möjligt i praktiken
    IBM 2741 blev starkt förknippad med programmeringsspråket APL. APL var fyllt av specialsymboler och krävde därför en särskild tangentbords- och typhjulslösning. IBM implementerade APL som ett timesharing-system på System/360 under namnet APL\360, och i den miljön var IBM 2741 (eller IBM 1050 med APL-element) i praktiken en nyckelkomponent. Många av symbolerna skapades genom skiftade nedslag och övertryck (overstrike), och alfabetet var begränsat men kompletterades av den stora mängden APL-tecken.

    En oväntad roll i ALGOL 68-historien
    Även ALGOL 68, ett språk definierat med många specialtecken, drog indirekt nytta av att APL-typhjulet fanns. Flera av de symboler som behövdes för standarddokumentet fanns redan på APL-elementet, vilket gjorde att det kunde användas för att producera delar av språkspecifikationen – trots att APL och ALGOL inte är nära släkt.

    Enkel linjeprotokoll – och en tidig “break”-funktion
    Kommunikationen var enkel och symmetrisk. Meddelanden började med ”circle D” och slutade med ”circle C”, och man antog ett bestämt skiftläge vid start. När den andra änden sände var tangentbordet låst. Men operatören kunde avbryta med ATTN-tangenten, som skickade en lång ”spacing condition” (en paus i signaleringen) som tolkades som ett inramningsfel – ungefär som en break-signal på senare ASCII-terminaler. Om systemet respekterade avbrottet stoppade det sändningen och markerade slutet på meddelandet, varefter användaren fick kontroll igen.

    Besläktade maskiner och kloner
    IBM 2740 var en närbesläktad modell som saknade avbrottsfunktionen och uppringt stöd, men som kunde fungera i punkt-till-punkt-, multipunkt- eller broadcastläge. Den kunde också utrustas med buffer för bättre utnyttjande av snabbare linjer. IBM sålde dessutom Selectric-mekaniken till andra tillverkare, vilket ledde till billigare ”2741-kloner” och integration i andra system – bland annat i vissa brittiska datorlösningar från 1960- och 70-talen.

    Nedgången: daisy wheel, ASCII och videoterminaler
    Från mitten av 1970-talet började IBM 2741 ersättas av terminaler med daisy wheel-mekanismer, som kunde ge likvärdig utskriftskvalitet men med högre hastighet (omkring 30 tecken per sekund), bättre driftsäkerhet och lägre kostnad. De kunde också hantera hela ASCII:s tryckbara tecken, och hade utbytbara hjul även för specialuppsättningar (inklusive APL). När pappersutskrifter inte längre var ett krav tog videobaserade terminaler över. IBM 3767, med punktmatrisskrivare i upp till 80–120 tecken per sekund, var ytterligare ett alternativ.

    Ett mekaniskt minne av den interaktiva revolutionen
    IBM 2741 visar tydligt hur övergången till interaktiv datoranvändning såg ut i praktiken: en robust skrivmaskin som blev en kommunikationsenhet, där människor kunde arbeta i dialog med en stordator. Den var långsam med dagens mått, men den gav något som var revolutionerande då – en känsla av direktkontakt med datorn, bokstav för bokstav, rad för rad, på papper.

    Film på youtube som visar hur IBM Golf boll teknik fungerar.

    Fakta: IBM 2741
    • Typ: Utskrivande datorterminal (hardcopy) baserad på IBM Selectric-mekaniken
    • Introducerad: 1965
    • Användning: Främst som fjärrterminal till IBM System/360, men förekom även med andra system
    • Utskrift: Bokstavskvalitet med utbytbara typhjul/”typeballs” (olika typsnitt och teckenuppsättningar)
    • Hastighet: cirka 14,1 tecken/sekund
    • Dataformat: seriell överföring med 6 databitar, udda paritet och 1,5 stoppbitar (ej ASCII-baserad)
    • Varianter: ”correspondence coding” samt PTT/BCD eller PTT/EBCD (påverkar både typhjul och kodning)
    • Känd för: Stark koppling till APL (APL-typhjul och tangentbordslayout med många specialsymboler)
    • Avbrott: ATTN-funktion som kunde avbryta sändning (break-liknande signal)
    • Ersattes av: senare ASCII-terminaler och daisy wheel-skrivare under 1970-talet