Datorsystemteknik DAV A14 Föreläsning 1

Innehåll
Motivering till datorsystemtekniken. Varför
Datorsystemteknik DAV A14
Föreläsning 1
Kursinformation
Introduktion till datorsystem
Programmeringsmodellen
studerar vi detta?
Vilka är kursens mål?
Kursinformation. Vem, var och när?
Vad kommer att krävas av dig som student?
Analys av något datorsystem.
Maskinvara - programvara.
Större delen av materialet framtaget av :Jan Eric
Larsson, Mats Brorsson och Mirec Novak IT-inst
LTH
Varför studerar vi Datorteknik?
Motivering med hjälp av ett exempel
Utvecklats från analog elektronik till
datorsystem
Funktionsmässigt en framgång
Gamla tekniken vore nästan omöjlig
Vilka är kursens mål?
Att du ska förstå hur datorns olika delar fungerar och samverkar.
Att du ska förstå hur olika typer av processorer är uppbyggda
och fungerar.
Att du självständigt ska kunna kunna lösa
programmeringsuppgifter i assembler samt förstå relationen
mellan högnivå- och lågnivåspråk.
Att du ska kunna förstå gränsytan mellan mjukvara och hårdvara
i den mån som krävs för att effektivt utnyttja hårdvaran i
mjukvarulösningar.
Att du ska få god färdighet i assemblerprogrammering,
eftersom detta är ett bra sätt att lära sig förstå datorn
Hur är kursen upplagd?
Kursbok
Föreläsningar 12 stycken (måndagar och två
Mats Brorsson – ”Datorsystem – program
onsdagar)
Övningar 8 stycken (tisdagar)
Labbar 5 stycken.
Kursens hemsida är:
www.cs.kau.se/cs/education/courses/dava1
4/p107
och maskinvara”
1
Kontaktinformation
Vad kommer att krävas av dig?
Kerstin Andersson (föreläsningar,kursansvar):
5A425, [email protected]
Nils Dåverhög (övningar och labbar): 5A432,
[email protected]
Inger Bran (kurssekreterare): 5A415
Kontakta oss om du har frågor, eller behöver
hjälp!
Vad är en dator (filosofiskt)?
En dator är en generell logisk maskin vars
funktion bestäms av dess program.
I kursen Datorsystemteknik ska vi studera den
generella maskinen, se hur den är uppbyggd
och undersöka hur ett program kan påverka
den.
• Godkända laborationer
• Godkänd tentamen
• Men framförallt att du vill lära dig själv. Jag och Nils är resurser,
resurser,
som kan hjälpa er.
• Läs själv i boken och experimentera med labsystemet på din dator!
dator!
Fråga om något är oklart! Det är ju DU som ska lära DIG.
Vilka olika typer av datorsystem finns
det?
Väldig variation på datorsystem!
Superdatorer (tex CRAY)
Persondatorer (PC) avsedda för en
användare
Arbetsstationer
Servers av olika slag
Styr- och reglerdatorer av olika slag
Störst marknad: Inbyggda datorer
Inbyggda datorer – runtomkring oss
Kontorsdator
2
Pacemakern
Inbyggd dator
Vem behöver en sån?
- Oregelbunden
hjärtrytm
- För långsamma
hjärtslag
- För lite blod till olika
kroppsdelar
- Svimning, död
Pacemakern
Pacemakern
Normalt hjärta genererar elektriska
pulser – får hjärtmuskeln att dra
ihop sig!
Pacemakern genererar dessa pulser
när hjärtat inte kan!
Vissa fel – hjärtat klarar inte att ge
dessa pulser regelbundet.
Första pacemakern byggdes i USA
1952 (Zoll
(Zoll)) – stationär!
Personen kan svimma, eller dö!
1958 byggde Rune Elmqvist en som
kunde opereras in i kroppen.
Pacemakern
Pacemakern
Krav på Pacemakern:
• olika pulstakt vid olika ansträngning
• detektera hjärtflimmer
• mäta EKG, syrehalt i blodet, blodtryck
etc.
LÖSNING: Pacemakern byggs med
ett datorsystem, som
•Arbetar med samplade data
• beräkna om och när en puls ska ges
•Kan utföra flera uppgifter på en
gång
• kommunicera med omvärlden
•Flexibel – omprogrammerbar
EN MODERN PACEMAKER BYGGD
PÅ ANALOG TEKNIK SKULLE BLI
STOR SOM EN HINK!
•Kan anpassas och avläsas utan att
tas ur kroppen
•Många funktioner i mjukvara
3
Annat exempel på system med dator…
Spelkonsoll – en vanlig julklapp
Men hur fungerar den, och vad i
den gör att den fungerar?
Spelkonsoll – blockschema (nivå 1)
Exempel: Data för Sony PS2
CPU: 128bit @294Mhz CD-ROM 24x
Cache:Instruktion 16 DVD
kB, Data 16+8 kB
Handkontroll med
Minne 32 MB
återkoppling
6.2 GFLOPS
MPEG2 avkodare
Grafikenhet
Ljudenhet
Hur kan den här apparaten se ut inuti? Vi ritar ett blockschema!
Spelkonsoll – (nivå 2)
Programvara
Maskinvara
Spelkonsoll
För att vi ska kunna programmera datorn i
t.ex. spelkonsollen, måste vi veta något om
hur hårdvaran är organiserad.
Datorsystem utgörs av kombinationen av
maskinvara (hårdvara) och
programvara (mjukvara).
4
Hårdvarans viktigaste komponenter
Minne
Processor
-RAM
-ROM
-PROM
Styrenhet
ALU
Register
I/OI/Oenheter
Minne
RAM: Läs och skrivbart minne - (griffeltavla)
ROM: Läsbart minne - (bok)
PROM: Programmerbart minne för läsning (bok med blanka sidor)
EPROM: PROM som går att radera (tvättbar bok)
Adressbuss
EEPROM: PROM som går enkelt att radera
(whiteboard)
Databuss
Processor
Exempel på programvara
Styrenheten: Hämtar och utför instruktioner
Kompilatorer, assemblatorer, länkare.
Exekveringssystem – en samling rutiner (i
från minnet
ALU: Enhet som beräknar (aritmetiska och
logiska operationer)
Register: Plats för data. Processorn kan
operera på data i registren.
Hur kan vi förändra datorns
program?
Vi kan programmera på många olika abstraktionsnivåer:
abstraktionsnivåer:
Applikationer (tex Matlab, Webbrowsers etc.)
Högnivåspråk (tex Java, C, C++, Pascal)
Assemblerspråk (specifikt för varje processorarkitektur)
Maskinspråk (binärkod för en specifik processor)
Hårdvara (organisation av processor, instruktioner, minne
och I/O-enheter)
bibliotek) som ofta används.
Operativsystem – underlättar användandet
av datorn, styr användningen av resurserna,
samordnar program.
Drivrutiner (device drivers) – programrutiner
för I/O-enheter.
Programmeringsmodellen
Applikationer
Högnivåspråk
Assemblerspråk
Maskinspråk
Hårdvaruorganisation
Ju lägre abstraktion,
abstraktion, desto mer måste man veta om hårdvaran!
hårdvaran!
5
Sammanfattning föreläsning 1
Motivering: varför måste man veta nåt om datorsystem?
Datorns byggstenar
Kopplingen mellan program- och maskinvara
Olika typer av datorsystem
Programmeringsmodellen
6