Innehåll Datorsystemteknik DAV A14 Föreläsning 1 Kursinformation Introduktion till datorsystem Programmeringsmodellen Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Motivering till datorsystemtekniken. Varför 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. 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? Föreläsningar 12 stycken (måndagar och två onsdagar) Övningar 8 stycken (tisdagar) Labbar 5 stycken. Kursens hemsida är: www.cs.kau.se/cs/education/courses/dava1 4/p107 Kursbok Mats Brorsson Datorsystem program och maskinvara 1
Kontaktinformation Kerstin Andersson (föreläsningar,kursansvar): 5A425, Kerstin.Andersson@kau.se Nils Dåverhög (övningar och labbar): 5A432, Nils.Daverhog@kau.se Inger Bran (kurssekreterare): 5A415 Kontakta oss om du har frågor, eller behöver hjälp! Vad kommer att krävas av dig? Godkända laborationer Godkänd tentamen Men framförallt att du vill lära dig själv. Jag och Nils är resurser, som kan hjälpa er. Läs själv i boken och experimentera med labsystemet på din dator! Fråga om något är oklart! Det är ju DU som ska lära DIG. 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. 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
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 Normalt hjärta genererar elektriska pulser får hjärtmuskeln att dra ihop sig! genererar dessa pulser när hjärtat inte kan! Vissa fel hjärtat klarar inte att ge dessa pulser regelbundet. Personen kan svimma, eller dö! Första pacemakern byggdes i USA 1952 (Zoll( Zoll) stationär! 1958 byggde Rune Elmqvist en som kunde opereras in i kroppen. Krav på : olika pulstakt vid olika ansträngning detektera hjärtflimmer mäta EKG, syrehalt i blodet, blodtryck etc. beräkna om och när en puls ska ges kommunicera med omvärlden EN MODERN PACEMAKER BYGGD PÅ ANALOG TEKNIK SKULLE BLI STOR SOM EN HINK! LÖSNING: byggs med ett datorsystem, som Arbetar med samplade data Kan utföra flera uppgifter på en gång Flexibel omprogrammerbar 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? Exempel: Data för Sony PS2 CPU: 128bit @294Mhz Cache:Instruktion 16 kb, Data 16+8 kb Minne 32 MB 6.2 GFLOPS MPEG2 avkodare Grafikenhet Ljudenhet CD-ROM 24x DVD Handkontroll med återkoppling Hur kan den här apparaten se ut inuti? Vi ritar ett blockschema! Spelkonsoll blockschema (nivå 1) 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 Minne -RAM -ROM -PROM Adressbuss Processor Styrenhet ALU Register Databuss I/O- enheter 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) EEPROM: PROM som går enkelt att radera (whiteboard) Processor Exempel på programvara Styrenheten: Hämtar och utför instruktioner från minnet ALU: Enhet som beräknar (aritmetiska och logiska operationer) Register: Plats för data. Processorn kan operera på data i registren. Kompilatorer, assemblatorer, länkare. Exekveringssystem en samling rutiner (i 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. Hur kan vi förändra datorns program? Vi kan programmera på många olika 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) Programmeringsmodellen Applikationer Högnivåspråk Assemblerspråk Maskinspråk Ju lägre abstraktion, desto mer måste man veta om hårdvaran! Hårdvaruorganisation 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