Datorhistorik Föreläsning 3 Datorhistorik Datorns uppbyggnad, komponenter Processor, primärminne, sekundärminne Minneshierarkier Inbyggda system, stora datorer I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943 640K of memory should be enough for anybody. Bill Gates, Microsoft, 1981 http://computerhistory.org 45 / 177 46 / 177 Eniac EDSAC 1946: Electronic Numerical Integrator And Calculator U.S. War Department, Pennsylvania University 60 m, 30 ton, 175 kw, 19 000 elektronrör 5000 operationer/s, 5 khz 1949: Electronic Delay Storage Automatic Computer University of Cambridge Första praktiskt användbara datorn med lagrat program Primärminne: rör fyllda med kvicksilver, ultraljud 47 / 177 48 / 177
IBM 608 1955: IBM 608 var den första kommersiella datorn med transistorer 4500additioner/s,inköpspris83210$ Sverige, BARK och BESK 1950: BARK (Binär Aritmetisk ReläKalkylator) 1953: BESK (Binär Elektronisk SekvensKalkylator) 2400 elektronrör, 400 germaniumdioder, 40 512 40 bitar primärminne (katodstrålerör) 49 / 177 50 / 177 Lund, SMIL Inuti SMIL 1956: SMIL (SifferMaskinen I Lund) Mindre BESK-kopia, användes till 1969 51 / 177 52 / 177
1960-talet, minidatorer 1970-talet, mikrodatorer 1963: PDP-8 (Digital Equipment Corporation) 1975: MITS Altair 8800 Byggsats, 1 200 $, Intel 8080, 256 bytes RAM 1970: PDP-11, Data General Nova, DEC Vax,... 53 / 177 IBM PC 54 / 177 56 / 177 Datorns uppbyggnad 1981: IBM 5150, 1 200 $ En dator kan: Intel 8088, 4.75 MHz, 16 256 kb RAM utföra instruktioner (exekvera program), MS-DOS lagra resultat i primärminnet, Microsoft Basic lagra data på sekundärminne, till exempel hårddisk, kommunicera med användaren. Komponenter: Processor, CPU (utför instruktioner) Primärminne (RAM) Läsminne (ROM, PROM, EPROM) Sekundärminnen (hårddisk, CD-ROM,... ) Skärm, tangentbord, mus,... 55 / 177
Moderkort Principskiss Processor Primärminne (RAM) Nätverksanslutning BUSS Styrkrets för hårddisk Grafikkrets Input/Output Det finns flera bussar: databuss för att skicka data, adressbuss för att skicka adresser, styrbuss för att skicka kontrollsignaler. Bussarna är parallella dvs består av (till exempel) 32 ledningar. 57 / 177 58 / 177 Representation av data Processorn Binära tal, nollor och ettor : Till exempel 0 = 0 V, 1 = 5 V Större grupper: 1 byte = 8 bitar, 1 ord = 16/32/64 bitar Vad bitarna betyder beror på sammanhanget: Heltal Flyttal Instruktion Text (1 eller 2 byte = 1 tecken) Pixel i bild Ljud CPU, Central Processing Unit (Core 2 Duo, Pentium, PowerPC, MIPS,... ) Utför instruktioner: Läs in och avkoda en instruktion från minnet Hämta eventuellt data från register eller minne Utför instruktionen Spara eventuellt data i minnet Instruktioner utförs i tur och ordning Särskilda instruktioner för att hoppa Register för tillfälliga resultat Varje register innehåller ett ord (till exempel 32 bitar) Snabbare än minnet 59 / 177 60 / 177
Processorn, forts Primärminne Olika processormodeller har olika instruktionsuppsättning Intel x86 MOV, ADD, SUB, MUL, DIV,... JMP, JL, JLE, JE,...(hopp) Plus mer än 100 andra instruktioner Processorns prestanda mäts i Hz (MHz, GHz) Avser klockfrekvensen, ca 1 GHz i en persondator En instruktion kan kräva flera klocktick Datorns prestanda beror inte bara på klockfrekvensen! Cirka 1 GB i en persondator. SRAM: snabbt, dyrt (4 6 transistorer per bit), stabilt DRAM: långsammare, billigare (1 transistor per bit), måste skrivas om flera hundra gånger i sekunden 61 / 177 62 / 177 Moores lag Sekundärminne hårddisk Roterande skivor, magnetisk beläggning Exempel: Seagate, 7200 rpm, 250GB, 8 MB cache. Cirka 400 500 kr. 63 / 177 64 / 177
Minneshierarki, 1 Minneshierarki, 2 Sekundärminnet är stort (många GB), billigt och långsamt. Primärminnet är mindre (någon GB), dyrare och snabbare. Men processorn är mycket snabbare än primärminnet. Cacheminne: Data som används ofta lagras i litet (några MB), dyrt och snabbt minne Data som använts nyss används sannolikt snart igen När man läser från minnet sparas en kopia i cacheminnet Cacheminnen kan byggas upp i flera nivåer Primärminnet räcker oftast inte till för alla program. Virtuellt minne: Dela in programmen i sidor, dela in primärminnet i sidramar. Varje sida finns antingen i minnet eller på hårddisk. Vid behov hämtas en sida in från hårddisken, eventuellt offras en gammal sida. Blir långsammare än om hela programmet ligger i primärminnet. 65 / 177 66 / 177 Inbyggda system Det finns fortfarande stora datorer Dator som ingår som en komponent i en produkt (bil, mobiltelefon, kamera, industrirobot, flygplan,... ) De allra flesta datorerna finns i inbyggda system Exempel: Axis 210, webbkamera: 30 bilder/s, 640x480, MPEG-4 Inbyggd rörelsedetektering Webbserver, larm via e-post ETRAX 100 LX-processor, ARTPEC-2 bildkomprimeringskrets, 4 MB flashminne, 16 MB RAM 38 88 146 mm, 305 g ca 4 000 kr Sun Fire E25K Server Upp till 72 processorer (Ultrasparc IV) Upp till 1000 GB primärminne Upp till 120 TB hårddisk 85 166 191 cm, 1122 kg Pris från 750 000 $ 67 / 177 68 / 177