f ¬or el¬as n in gs u n d erlag t d d b 82 p ersp ek tiv pûa d at...

16
orel¨ asningsunderlag TDDB82 Perspektiv p˚ a datorteknik ardvara Michael Josefsson 5 september 2005

Upload: others

Post on 20-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

ForelasningsunderlagTDDB82 Perspektiv pa datorteknik

Hardvara—

Michael Josefsson

5 september 2005

Page 2: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or
Page 3: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

Innehall

1.1 Inledning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Forsta borjan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Senare borjan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 ENIAC var inte forst! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.5 Ett revolutionerande framsteg . . . . . . . . . . . . . . . . . . . . . . . . . 61.6 Binara tal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.7 Flyttal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.8 Modernare processorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.9 Varfor fungerar cacheminne? . . . . . . . . . . . . . . . . . . . . . . . . . 131.10 Inbyggda system och mikrokontrollers (embedded systems) . . . . . . . . . 141.11 Var lar man sig det har? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.1 Inledning

Det finns manga mojliga olika perspektiv man kan betrakta datorhardvara ur. Har harjag valt att lata historieutvecklingen vara padrivare. Det kommer att visa sig att datornoch dess hardvara utvecklats parallellt med annan elektronikutveckling, sa den historiskakopplingen ar inte orimlig.

1.2 Forsta borjan

Behovet av komplicerade berakningar har varit stort sedan ungefar sena medeltiden1 itakt med att olika vetenskaper borjade utvecklas. En av de storsta anledningarna varden celesta mekaniken — hur stjarnor och planeter ror sig — for att kunna navigeravarldshaven under 1600–1800-talen. De stora matematikerna, Gauss, Lagrange, m fl,utvecklade algortimer och teorier mycket baserat pa astronomi.

For att kunna berakna sin position pa haven behovs en tidsangivelse och solens eller na-gon planets eller stjarnas hojd over horisonten vid denna tidpunkt. Sedan maste en hel delmatematik anvandas for att berakna Keplers ekvation, koordinattransformationer och

1Raknebehovet har funnits i tudentals ar innan, men da handlar det mest om addition, subtraktion ochi nagot fall multiplikation och division.

3

Page 4: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

diverse korrektioner innan positionen kan laggas ut i sjokortet. De enskilda sjokapten-erna var kunniga i raknekonsten men felrakningar och slarv kunde leda till odesdigraresultat.

For att forenkla berakningarna infordes logaritmtabeller, sa att bl a multiplikation kundeutforas med additioner. Det var naturligtvis smidigt att berakningar kunde goras i forvag.Konstruktionen av logaritmtabellerna overlats at exempelvis munkar, vars noggrannaskrivande, raknande och ovriga livsstil var utmarkta egenskaper hos en tabellerare. Detfinns ocksa exempel pa s k idiots savants, som inte begrep matematik speciellt mycket,men som var utomordentliga pa huvudrakning. Gauss anvande speciellt en sadan for attutfora berakningar. Vissa kan med latthet utfora serier av berakningar med tjugosiffrigatal i huvudet! Nar val ett sadant resultat erhallits, maste det bevaras till eftervarldensfromma.

Emellertid behovdes efter hand tabeller med fler och fler gallande siffror varfor tabellernafick raknas om och nya publiceras.

Redan tidigt konstruerades maskiner for att utfora additioner och subtraktioner men detvar forst pa 1800-talet den mekaniska bearbetningen av metall natt sadana hojder attplanerna pa en generell berakningsmaskin — for att losa differentialekvationer — ladesfram. Speciellt ihardig och uppfinningsrik var engeslmannen Charles Babbage som undersenare delen av sitt liv tankte ut det vi i dag skulle kalla en dator och pa hans tid kalladesThe Analytical Engine. Maskinen blev efter hand storre och storre och sa kostsam attBabbage sjalv inte hade rad att bekosta tillverkningen. Den engelska staten var i och forsig intresserad men da tiden gick och inga egentliga framsteg mot en fungerande maskintogs var den kallsinnig till att injicera kapital i projektet.

Ingen komplett Analytical Engine tillverkades under Babbages livstid. Pa senare ar hardock delar tillverkats, mest for att bevisa att konstruktionsideerna var korrekta. Det vardom.

1.3 Senare borjan

Under andra varldskriget steg berakningsbehovet enormt. For till exempel utvecklingav flygplan maste hallfastheten beraknas.2 I USA var behovet stort att bl a upprat-ta skottviddstabeller over nyframtagen artilleriammunition. Alltsa togs en relabaseradberakningskonstruktion fram som, givet korrekta indata, skulle kunna berakna artilleri-granatens nedslagsplats redan innan den slagits ner. Ett stort framsteg3 jamfort medatt genomfora inskjutning medelst gaffling.

I samband med vatebombens utveckling steg anyo berakningsbehovet och stora summorlades ned pa en elektronisk berakningsapparat baserad pa elektronror: ENIAC — Elec-tronic Numerical Integrator and Computer — sag dagens ljus 1946. Ett monster med

2Saab hade exempelvis ”tralhav” av anstallda raknare med var sin raknesnurra som agnade sina dagaratt rakna, rakna och rakna. . .

3I nagon mening forstas. . .

4

Page 5: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

18 000 elektronror, 6 000 omkopplare, 10 000 kondensatorer, 70 000 motstand och 1 500relaser. Den var tre meter hog. vagde trettio ton och behovde ett rum om sextonhundrakvadratmeter for att rymmas!

Figur 1.1: Forutom standiga driftsavbrott var energiatgangen ett problem. Hela mask-ineriet drog ungefar 200 kW! En effekt som till slut maste omvandlas till varmenagonstans. Se flaktarna i taket pa bilden!

Prestanda var dock oerhorda: en addition tog osannolika 200 µs. Det gick att utforadrygt 300 multiplikationer per sekund. For forsta gangen sag man mojligheten att engang for alla skriva alla onskade tabeller!

ENIAC fungerade men led av tillforlitlighetsproblem. En apparat av den komplexitet-snivan bara maste krangla. Ett elektronror har i och for sig en lang livslangd men andaen viss felsannolikhet. 18 000 elektronror har en mycket storre felsannolikhet. Rorbytenvar vanliga, vissa uppgifter sager att den gick uppemot en halvtimme innan nagot rorgick sonder. Det fanns en pluton inkallade soldater vars uppgift var att standigt ga runtmed en kundkorg elektronror och byta de ror som fallerade.

Vid ett tillfalle var felet ovanligt svarfunnet. Det visade sig efter grundlig genomgangatt en insekt fastnat mellan kontakterna i ett av de femtonhundra relaerna och isoleradeval. I ENIACS korjournal star angivet att man till slut hittade ”a bug” som felorsak.Uttrycket har sedan spridit sig.

Under sena 1940-talet och tidiga 1950-talet utvecklades flera datorer. Universitetet iManchester var langt framme med sin MANIAC och Kungliga Tekniska Hogskolan iStockholm var under nagra veckor glad innehavare av hastighetsrekordet i varlden fordatorer med sin BESK (Binar Elektronisk SekvensKalkylator).4

4Se ex vis http://www.treinno.se/pers/okq/besk.htm och http://www.utm.edu/research/primes/mersenne/LukeMirror/corres/riesel01.htm

5

Page 6: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

Figur 1.2: Till vanster visas hur felsokning kan te sig och till hoger ar ENIAC under om-programmering. Programmering bestod i att bygga om hela apparaten genomatt koppla ihop de olika funktionsblocken pa olika satt!

1.4 ENIAC var inte forst!

Redan 1943 togs den forsta berakningsapparat bestyckad med elektronror i drift. I etttopphemligt forskningsprojekt tillverkades en kodkackningsmaskin i England for attforsoka avkoda de tyska krypteringsmaskinen Enigma. Allt arbete utfordes av uppemot2 000 elektronror och maskinen matades med data via halremsor. Behandlingshastighetenvar enorm och halremsan flog fram med en hastighet av 5 000 tecken per sekund.

Aven om detta var en ”elektronhjarna” av datidens snitt kan man inte kalla den for endator i och med att den bara kunde utfora en enda sak — och inte omprogrammeras.En del konstanter i krypteringsnyckeln kunde andras men maskinen kunde bara utforadekryptering av Enigma, inget annat.

Aven om den var langsam med moderna matt matt var berakningshastigheten for justdetta speciella syfte hog. Forsok har gjorts med att programmera en modern processoratt utfora samma jobb och det visar sig att en modern dator — som ar tillverkad for attkunna anvandas till mycket skilda arbetsuppgifter — faktiskt har svart att hanga medden rorbestyckade kodknackarens takt.

Av detta drar vi slutsatsen att specialtillverkad hardvara kan goras oerhort snabb. Medanen mer generell sadan lider av sin mojlighet att gora sa varierande uppdrag.

1.5 Ett revolutionerande framsteg

Ar 1953 ar ett ar att komma ihag — i varje fall om man ar tabellbitare i datorvarlden.

Fram till dess hade datorer konstruerats med varianter pa Princetons ursprungliga ENI-AC. Ett resultat av detta ar att styrenheten blir okande komplex vid mattliga foran-dringar av den ursprungliga arkitekturen. I och med att ingen egentligen visste hur”den basta” datorn skulle konstrueras blev datorerna mer eller mindre specialiserade ochdarmed svara att fa att utfora mer generella berakningsuppgifter. Programmeringen av

6

Page 7: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

Figur 1.3: BESK pa KTH. Addition 56 µs, multiplikation 350 µs. Snabbast i varlden inagra veckor pa femtiotalet!

ENIAC betydde mer eller mindre en komplett ombyggnation av de ingaende funktion-erna, se fig 1.2.

En tamligen generell datorstruktur5 kan se ut sa har:

Dar vi speciellt identifierar komponenterna

• Minne

• (interna) Register. Programraknare, instruktionsregister, m m.

• ALU, Arithmetic Logic Unit, dar addition och subtraktion osv hander. Egentligenar det i ALU:n som data overhuvudtaget forandras.

5Egentligen en processorstruktur men vi marker inte ord har.

7

Page 8: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

• Styrenheten

Vi kan latt inse att styrapparaten ar en ratt komplicerad tingest. Den skall ombesorja atten ny instruktion hamtas in fran minnet, att denna instruktion utfors och att resultatenhamnar pa ratt stalle osv. Den astadkommer detta genom sitt styrord som nastlar ut sigtill alla delar och forsoker saga ratt sak till ratt enhet vid ratt tidpunkt. Det senare arinte minst viktigt och definitivt ett problem vid komplicerade styrapparater.

Professor Wilkes i England kom detta ar pa att styrenheten kunde forenklas om den isig ocksa bestod av program. Istallet for ett stort styrord, kunde flera sma anvandas ochdetta tillat en enklare styrenhet pa det hela taget. Visserligen skulle dessa sma styrordbehovas laggas pa efter varann, maskinen skulle bli langsammare, men vilken fordel attkunna agna tid och hardvara at till exempel att konstruera en bra ALU istallet forstyrenheten!

Revolutionerande tankar har svart att fa gensvar och sla igenom. Det tog anda till 1964innan IBM borjade anvanda s k mikrokod i sina datorer men sedan dess har mikrokodadedatorer dominerat. Vi ska titta pa vad mikrokod ar och vilka olika representationer somfinns i en mikrokodad dator.

Tanken med styrord behaller vi men vi ger styrordet en renare struktur: Styrordet, somvi kallar mikroordet fran och med nu, delar vi in i olika falt. Varje falt ar knutet till ”sin”enhet i datorn och faltets innehall styr denna enhet. Till exempel kan faltet for ALUstyra om det ska utforas en addition, subtraktion eller nagon annan funktion i ALU:n.

Vi tillater ocksa att flera mikroord anvands for att bygga upp en instruktion i datorn.Med instruktion menas har den mest fundamentala detalj datorn kan utfora. Medan ettmikroord kan saga at ALU:n att gora en addition, maste intruktionen aven innehallainformation om vad som skall adderas och vart resultatet skall ta vagen.

For att korta ner framstallningen: Det anvandaren ser av datorn ar dess instruktioner.Tillverkaren maste dessurom halla ordning pa mikrokoden. I och med att mikrokodenstyr allt i minsta detalj ar denna detaljeringsniva ofta ointressant om man programmerarpa instruktionsniva. Likasa forstar man att det ar stor skillnad mellan instruktionsnivanssprak, assembler, dess representation i minnet, maskinkod, och de slutliga styrsignalerna,mikrokoden.

8

Page 9: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

Allt ar inte positivt med att ha datorn strukturerad pa detta satt. A ena sidan ar detuppenbart enklare att programmera med assemblerord istallet for mikrokodens ettor ochnollor, a andra sidan tar programmen langre tid att kora eftersom mikrokoden bestarav flera rader som maste utforas for varje assemblerinstruktion. Ofta vager fordelarnaover ty programmet blir sannolikt battre, dvs innehaller farre fel, om assembler anvands.Dessutom tar sjalva programskrivningen mycket mindre tid.

Samma resonemang ligger forstas till grund for andra programsprak C, Java eller vaddu vill. Abstraktionsnivan, fjarmandet fran hardvaran, underlattar — egendomligt nog— var programmering av densamma.

1.6 Binara tal

Vid det har laget kan det vara ide att diskutera binara tal, det talsystem som datornarbetar med.6

Det binara talsystemet ar egentligen busenkelt. Det ar var ovana att betrakta det somstaller till (de upplevda) problemen. Binara tal ar tal dar bara tva siffror ingar, tvabit :s (av BInary digiT ): ”1” och ”0”. Man kan skriva dem som triangel och fyrkant elleranvanda representationen spanning eller icke spanning likaval. Huvudsaken ar att detbara finns tva symboler.

Talen ar uppbyggda enligt ett positionssystem som vanligt, fast basen ar nu tva inte tio:

6ENIAC raknade faktiskt med decimala tal, dvs anvande basen tio. Man forstod inte att det binaratalsystemet var att foredra. Tanka sig!

9

Page 10: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

Ordbredderna 4, 8, 16 och 32 ar sarskilt vanliga.7 Dessa kallas for respektive nybble,byte, ord och lang-ord (nybble, byte, word, long word)

Med en ordlangd motsvarande byte kan talen 0 (=00000000) till 255 (=11111111) inrym-mas. Vi vill ju kunna anvanda negativa tal ocksa (varfor annars assemblerinstruktionenNEG ovan?). Ett sardeles lampligt satt att infora negativa tal ar att lata de som inledsmed en etta i mest signifikanta bit i den valda ordlangden vara negativa. For att varasmarta later vi talen ligga symmetriskt runt noll, sa att –1 skrivs 11111111, –2 som11111110 osv.

Det visar sig att det ar ett smart val eftersom man da kan anvanda samma hardvarafor addition och subtraktion. Det kluriga ar att omvandla ett tal fran, sag, +x till −x.Det maste man nu gora genom att byta alla ettor mot nollor i talet (och tvartom) samtaddera 1 till resultatet.

1.7 Flyttal

Man kommer valdigt langt med heltal enligt ovan. En vasentlig fordel ar att det ardefinitiva. Antingen ar det 1 (=00000001) eller sa ar det 2 (=00000010). 1,5 forekommerinte. Inte heller 1,4999999 — ska det vara lika med 1,5 eller inte?

Flyttal forklaras enklare om vi anvander det decimala talystemet. Mekanismen ar den-samma i den binara varlden.

7Men det finns inget i talsystemet som hindrar oss fran andra ordbredder. Till exempel sags datorn iViggen vara 13 bitar bred fran borjan.

10

Page 11: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

Figur 1.4: Med Intels krets 4004 inleds ett segertag av processorer varlden over. Lanserad1971 foljdes den snart av en attabitars variant (8008), med forbattring (8080)och senare en sextonbitars (8086) som aterfanns i nedbantat skick (8088) iIBM persondator. I och med IBM PC 1981 fick Intels processorer en enormspridning.

1.8 Modernare processorer

I och med att transistorn uppfanns och borjade tillverkas i industriella volymer kundedatorernas storlek krympas avsevart. Ett riktigt stort steg intraffade i och med den inte-grerade kretsens utveckling under 60-talet. Mot slutet av detta artionde hade NASA medflera satsat oerhorda summor pengar pa att tillverka mindre och mindre komponenter formanprogrammet.8 Ett bestaende resultat var kretslogiken TTL (Transistor-TransistorLogic), vilken tillat en dittills oupnadd miniatyrisering.

Det storsta steget mot den moderna datorn skedde 1971 nar Intel lanserade en helprocessor! i en komponent.9 Den lilla processorn hette 4004 och var en fyra bitar bredprocessor.

Prestandamassigt verkar den ha varit i paritet med ENIAC pa ett ungefar: En assem-blerinstruktion tog typiskt 11 µs mot ENIAC:s 200 µs. Ordbredden och talrepresenta-tionen spelar ocksa in. ENIAC raknade med 10 decimala siffror medan 4004 bara kundehantera 1 siffra at gangen.

Den stora skillnaden var storleken och effekten. En 4004 klockad med 700 kHz drog cirka1 W. Medan en 100 kHz ENIAC drog 200 000 W!10

Intel hade ratt gott om pengar att satsa i sin processortillverkning. Pengar som de fattfran sin minnestillverkning dar de hade en del patent som gav god avkastning. Detta

8Den allra mesta databehandlingen skedde dock fortfarande pa marken.9I sanningens namn behovdes fler kretsar for att fa nagot vettigt att handa. Men det berattar ju inte

marknadsforarna.10Varfor tar det 10.8 µs att utfora en instruktion nar systemet klockas med 700 kHz?

11

Page 12: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

Figur 1.5: Innehallet i Zilog Z80, en processor som aterfanns i hembyggen och speldatoreri borjan pa 1980-talet. Alla Sinclairs datorer ZX80, ZX81 och ZX Spectrumbaserade sig pa Z80. Arkitekturen ar tamligen traditionell. Man kanner snartigen sig och kan snabbt vara produktiv.

tillat dem att i ganska rask takt folja upp 4004 med attabitarsprocessorerna 8008 och8080. 8080 blev snart industristandard.

Andra tillverkare fanns ocksa. Men de flesta har avsomnat nu. Vem har hort talas omFairchilds F8-processor? Eller Synerteks SC/MP? En som faktiskt overlevt ar Zilog varsforsta processor Z80 var en forbattrad 8080 och som fortfarande finns i nya inkarnationer.Grundarkitekturen aterfinns i fig 1.5

I tabell 1.1 kan vi folja processorutvecklingen fram till idag. Det mest framtradande arkanske att antalet transistorer i processorerna okat sa enormt under dessa ar. Det finnstva anledningar till detta:

• Okande ordbredd. 4004 hade ordbredden 4 bitar, 8008 och 8080 8 bitar, 8086 och80286 16 bitar och ovriga 32 bitar.

• Cacheminne. For att snabbt komma at program och data lagras tidigare anvandasadana lokalt i processorn for snabb atkomst.

12

Page 13: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

Ar Fabrikat Namn #trans MHz1971 Intel 4004 2 300 ?1972 Intel 8008 3 500 0.21974 Intel 8080 6 000 21976 Zilog Z80 2.51978 Intel 8086 29 000 51980 Intel 8088 51982 Intel 80286 134 000 61985 Intel 80386 275 000 161989 Intel 80486 1 200 000 201993 Intel Pentium 1 500 0001995 Intel PPro 5 500 000 2002001 AMD Athlon 37 000 000 1 500

Tabell 1.1: Nagra vanliga processorer. . .

Man kan latt se att cacheminne borjade anvandas i och med 80486 ar 1989.11 Den fort-satta — dramatiska — okningen av antalet transistorer beror huvudsakligen pa utokadanvandning av cacheminne. Eftersom cacheminnesytan okar kvadratiskt med breddenav detsamma okar antalet transistorer i rask takt.

1.9 Varfor fungerar cacheminne?

For en gangs skull ar naturen inte emot oss. Program uppvisar ofta tva egenskaper somgor att cacheminnet faktiskt ofta far en utnyttjandegrad pa val over 95 procent: Delsanvands ofta samma, naraliggande, programrader om och om igen, dels anvands garnasamma data om och om igen. Summan av detta blir att samma adresser forekommertatt i klump och om man bara gor cacheminnet tillrackligt stort kommer nastan allaadresser man vill anvanda att redan finnas i cachen.

Cacheinnehallet maste forstas andras da och da, men det ar sma andringar jamfort medatt leta fram originaldatat fran det langsammare minnet.11I alla fall hos Intel. Cacheminne hade anvants i tiotals ar innan men da bara i stordatorer.

13

Page 14: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

1.10 Inbyggda system och mikrokontrollers (embeddedsystems)

Den processor vi anvander i laborationerna i Datorteknik ar en nedbantad variant avmotorolas 68000, kallad 68008. Det ar en snabb och effektiv processor med en lattbe-griplig assembler. Processorn ar sarskilt lamplig i undervisningssammanhang da den ar”ren” fran idiosynkrasier som ofta ”av historiska skal” finns i andra processorer. Kon-struktorerna borjade fran gruunden och resultatet blev en processor utan en historiskryggsack som belastning.

Just 68000 ar nedlagd sedan lange men den nedbantade 68008 tillverkades fram tills heltnyligen. Varfor? Hur kan det komma sig att den enklare modellen overlevde sa lange,nar omvarlden sedan lange sprungit vidare med mycket storre processorkonstruktioner,cacheminne m m? Det ar ju knappast for att vi anvander den i laborationerna. . .

Svaret ar att det finns en narmast omattlig marknad for sma processorer. En marknaddar megahertz och ordbredder inte betyder lika mycket som t ex lag effektforbrukningper megahertz, tillganglighet pa komponenten osv. Valdigt manga 68008 hamnade ilaserskrivare, och da den dog val for det jobbet ar det dyrt och onodigt att anvandanagon modernare processor. Den funkar ju och det ar huvudsaken.

Overhuvudtaget ”ser” vi mindre an nagon procent av alla varldens processorer. De fles-ta som tillverkas ar domda till en isolerad tillvaro i skrivare, datormoss, klockor, bilar,mikrovagsugnar, kylskap, hissar, symaskiner. . . Den tavling med megahertz som vi mark-er av ar ofta ointressant for en sadan processor.

I och med att de flesta processorer sitter inbyggda forser tillverkarna dem med special-funktioner sa att blir speciellt lampade att alltid klara sig sjalv. Dessa extrautrustade pro-cessorer brukar kallas mikrokontrollers. I fallet med en inbyggd processor i en symaskinkan man latt tanka sig att den, mikrokontrollern, maste lasa av tradspanning, knap-par och vred for olika monster, och skicka ut signaler for att paverka steglangd, mo-torhastighet, varvtalsriktning m m. Modernare maskiner ar ju dessutom utrustade med

14

Page 15: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

en display och kommunikationen med en sadan sker kanske enligt I2C-protokollet somprocessorn ocksa maste halla reda pa.

En enklare sadan kontroller kan halla ordning pa en motors varvtal:

Dar mikrokontrollern behover kunna kanna av resolverns signal (digital signal), faslagenahos spanningen Vs (analog signal) och skicka ut digitala styrsignaler till H-bryggan.

Mer avancerade mikrokonrollers kan fa representeras av Cygnals 8051F321 som har ettavskrackande komplicerat blockschema:

Man ser att den innehaller en uppsjo av in- och utsignaler, bade analoga och digitala,dessutom spanningskomparatorer, temperatursensor, program- och dataminne m m. Dendigitala in-/utenheten ar forberedd for att kunna prata med yttre enheter via bland annatUART, SPI och SMBussen.

Utover detta klarar chipet av att fungera som en USB enhet, vilket ar ratt haftigt medtanke pa att USB-specifikationen ar tjock som en telefonkatalog.

Den del som ar den faktiska processorn ar en undanskuffad 8051:a som inte desto mindreklarar av att exekvera 25 miljoner instruktioner per sekund (MIPS).

15

Page 16: F ¬or el¬as n in gs u n d erlag T D D B 82 P ersp ek tiv pûa d at …TDDC10/arkiv/2005/bredd/oh-mikael-josefsso… · k vad rat m eter f¬or at t ry m m as ! F igu r 1.1: F ¬or

1.11 Var lar man sig det har?

Hos avdelningen Datorteknik pa Institutionen for Systemteknik (ISY) forstas! Vi hallerett antal kurser for D-teknologer fran de forsta stapplande stegen i digitalteknik tillfullfjadrade fysiska konstruktioner.

Var kurser, i kronologisk ordning, ar:

• Ht 2, Digitalteknik. Har behandlas de digitala grunder som behovs de fortsattastudierna. Efter den har kursen kan man konstruera enklare digitala apparater. Dethandlar mycket om Boolesk algebra och digitala komponenter. I de obligatoriskalabbarna skall vissa funktioner konstrueras och omsattas i praktik med hjalp avfysiska komponenter.

• Vt 2, Datorteknik. Har avhandlas hur en processor ar konstruerad fran lagstaniva (digitaltekniken ovan) och upp. Prestandatankadet ar viktigt och ex vis ca-cheminnet och algoritmer for detta analyseras. Mikrokod ar en given del, likasalagringsmedia och filsystem. Atta laborationer som brukar vara jobbiga, men up-pskattas efterat, ingar

• Vt 2, Digital Konstruktion. Parallellt med datortekniken gar en projektkurs medbetoning pa strukturerad konstruktion av digitala system. Har anvands datorer foratt konstruera systemen. Programspraket VHDL anvands for den digitala delen avprojekten.

• Ht 3, Konstruktion med Mikrodatorer (KMM). En tung kurs! Har galler det attfran givna specifikationer konstruera ett storre bade analogt och digitalt system.Flera processorer ingar och de maste kunna prata med varann och omvarlden. Helakursen genomsyras av projektmodellen LIPS, vilket bland annat innebar att ettantal dokument och beskrivningar skall atfolja utvecklingsprocessen. Uppfoljningav nedlagd tid sker ocksa for att pa nagot satt efterlikna en industriell miljo.

Dessutom ar en ny kurs med inriktning pa processorarkitektur ar under framtagande.Detaljerna ar dock inte spikade an.

-o-0-o-

16