Datorsystem Från abakus till Z3
Datorsystem Från kursplanen Moment 3, Datorsystem 3hp I detta moment ges en introduktion till datorsystem och dess uppbyggnad. Minneshantering, vad en CPU är och gör samt en introduktion till operativsystem ingår. Dessutom ingår en översikt över datorns historia. Lärmål beskriva hur ett operativsystem fungerar på schematisk nivå tillämpa kunskaper om CPU för att kunna förklara hur högnivåspråk realiseras på lägre nivå i mindre grupp designa och implementera testprotokoll i syfte att besvara en given frågeställning samt skriftligt dokumentera arbetet känna till hur datorers minneshierarki kan se ut och att detta påverkar programs prestanda
Datorsystem 1 Datorns historia Lyfta på locket
The early days. Människan har i alla tider använt olika typer av kognitiva verktyg Tidiga exempel är räknepinnar och senare kulramar Kulramar (eller abakus) är kända från ca 2500 fkr i en eller annan form De tidigaste versionerna bestod av gropar i ett bräde mellan vilka man flyttade bönor Romarna använde småsten - calculi
The early days. Idén med kulramar, räknepinnar, knutsnören etc är att ett objekt har mer eller mindre en direkt motsvarighet i tex en kula Med olika talbassystem hölls antalet kulor (etc) nere Under medeltiden (ca 1500 ekr) växte ett konkurerande system fram där siffror och abstrakt symbolmanipulation ersatte det konkreta räknandet
John Napier Även om den nya metoden att räkna (aritmetik) var kraftfull, behövdes hjälpmedel för att utföra komplicerade beräkningar, speciellt multiplikationer 1617 presenterade Johan Napier sitt system med kluriga stavar som tillsammans reducerade problemet med att multiplicera tal till addition dividera tal till subtraktion Bilden nedan visar 46785399 * 7 = 327497793
Edmund Gunter Strax efter Napiers räknepinnar gjort succe presenterade Edmund Gunter räknestickan (ca 1620) Räknestickan bygger även den på Napier s logaritmer, dvs att multiplikation av två tal kan ses som addition av deras logaritmer Räknestickan kom att leva kvar för personlig räkning ända fram tills miniräknaren gjorde entré i början på 1970-talet
Blaise Pascal 1642 konstruerade den 19 åriga Blaise Pascal en maskin som kunde addera och subtrahera tal Ca 50 maskiner byggdes, men var för dyra för att vara annat än leksaker för de riktigt rika Programmeringsspråket Pascal är uppkallat efter honom
Charles Babbage 1822 presenterar Charles Babbage en idé om att automatisera beräkningarna av olika typer av matematiska tabeller Anledningen var att de som utförde beräkningarna (the computers) gjorde för många slarvfel Babbages lösning på problemet byggde på mekanik vilket gjorde att det var svårt att bygga maskinerna i praktiken De var helt enkelt för komplexa och krävde många gånger större precision i tillverkningsprocesser än vad som var tillgängligt i mitten på 1800-talet
Charles Babbage Babbages maskiner var emellertid mycket nyskapande de hade olika minne för data och program maskinens program bestod av olika operationer beräkningarna kunde göra villkorliga hopp maskinen hade en separat del för att hantera in- och utdata Babbages sista projekt the analythical engine hade, om den blivit färdig, föregått andra datorer med ca 100 år och blivit den första Turingkompletta datorn
Ada Lovelace En av de få som förstod Babbages visioner var matematikern Ada Lovelace som konstruerade ett program till the analythical engine för att beräkna Bernoulli tal Ada Lovelace anses därför vara den första programmeraren Programmeringsspråket Ada är uppkallat efter henne
Alan Turing 1936 skapade matematikern Allan Turing en abstrakt beräkningsmaskin som fick namnet Turingmaskinen Hans tanke var att använda den som en formalism med vilken man kunde bevisa saker kring vad som var möjligt att beräkna Turings arbete utgör i mångt och mycket grunden för teoretisk datalogi En Turingmaskin har ett minne i form av en pappersremsa på vilken den kan skriva och läsa tecken Turingmaskinen programmeras genom att vi definierar tillstånd som maskinen kan ha samt villkoren för att byta tillstånd
Konrad Zuse Man kan bevisa att Turingmaskinen kan användas för att lösa alla algoritmer och man säger att maskiner som har motsvarande beräkningskraft är Turing kompletta Den äldsta byggda datorn som bevisats vara Turing komplett är Z3 som konstruerades av Konrad Zuse och stod färdig 1941 Z3 användes för att beräkna vibrationer i vingarna hos flygplan Programmet sparades på en extern remsa och maskinen var därför helt generell
John Von Neumann John von Neumann utvecklade 1945 tillsammans med Presper Eckert och John Mauchly en arkitektur för vilka delar som behövs i en dator och de olika delarna skall vara kopplade Det nya med von Neumann arkitekturen var att samma arbetsminne rymmer både data och program Även Turing publicerade liknande tankar men var på grund av sekretess från sin tid på Bletchley Park förhindrad att jobba vidare i frågan
Kolossernas tid Under 1950 och 1960-talen fanns relativt få datorer men de som fanns var desto större I Stockholm byggdes Binär Automatisk Relä Kalkylator (BARK) 1950 32 bitar Add 150 ms, mul 250 ms 50 register 5000 telefonreläer Binär Elektronisk Sekvens Kalkylator (BESK) 1953 40 bitar Add 56 µs, mul 350 µs 512 ords minne 2400 radiorör, 400 germaniumdioder
IBM International Business Machines grundades 1896 av Herman Holerith Företaget tillverkade initialt hålstansningsmaskiner för hålkort Under 1950-talet kom IBM att allt mer dominera den framväxande datorbranschen IBM 700 serien baserades på vakumrörsteknik ca 10 kb arbetsminne klockfrekvens 43 khz IBM 7000 serien baserades på transistorteknik ca 160 kb arbetsminne klockfrekvens 460 khz
IBM Under 1960 och 1970-talet lanseras IBMs 360 och 370 serier och IBMs dominans på marknaden blev i princip total Med IBM 360 kom nyheter som 8 bitars byte 32 bitars ord 2 komplement aritmetik mikrokodade CPUs
Datorerna blir mindre Utvecklingen av halvledarteknik under 1970-talet gör att datorerna kan göras mindre Under 1980-talet lanseras en rad olika mikrodatorer och persondatorer
Moore s lag 1965 noterade Gordon Moore att antalet transistorer som kan placeras på en IC-krets fördubblades vartannat år Detta kom att kallas Moore s lag och den gäller än i dag (med mindre justeringar) Moore s har direkta följder för beräkningskraften på CPU s och andra kretsar Moore s lag gäller också (mer eller mindre) för hårddiskkapacitet, antal pixels i digitalkameror etc.