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