Datorsystemteknik DAV A14 Föreläsning 1



Relevanta dokument
Datorsystemteknik DAV A14 Föreläsning 1

Institutionen för elektro- och informationsteknologi, LTH

Innehåll. Datorteknik. Abstraktionsnivå 1. Spelkonsol - blockschema. Spelkonsol abstraktionsnivå 2. Abstraktionsnivå 2

HF0010. Introduktionskurs i datateknik 1,5 hp

Datorteknik. Föreläsning 1. Kursinformation, introduktion, aritmetik. Institutionen för elektro- och informationsteknologi, LTH.

Datorsystemteknik DVGA03 Föreläsning 8

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Stack och subrutiner Programmeringskonventionen

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

DatorsystemteknikDAVA14 Föreläsning 9

Datorsystemteknik DVG A03 Föreläsning 3

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

Datorsystemteknik Föreläsning 7DAVA14

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Datorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Grundläggande datavetenskap, 4p

Föreläsning 3.1: Datastrukturer, en översikt

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet.

Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 2. Programmering i C och assembler MIPS instruktionsarkitektur. Institutionen för elektro- och informationsteknologi, LTH

Det finns en hemsida. Adressen är

Kursplanering för Mikrodatorteknik 4p/5p

Syfte. Praktisk datorkunskap. Personal. Kursinfo. Examination- Krav för godkänt. Agenda idag DVG A06

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

Mål. Datorteknik. Innehåll. Vad händer med en add-instruktion? Vad händer med en add-instruktion. Instruktioner som bitmönster i minnet

Föreläsning 1: Intro till kursen och programmering

Intel Pentium. Intel khz. 32 million 2600MHz. Copyright 2005 Benny Thörnberg, Mattias O Nils

Föreläsning 2. Operativsystem och programmering

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Agenda. Syfte med datorbygge Datorns delar. Datorbygge. Moderkort Processor Minne och hårddisk Instickskort Övrigt

Datorarkitekturer med operativsystem ERIK LARSSON

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Målsättning med kursen

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

Datorsystem Laboration 2: Minnesmappade bussar

Läsminne Read Only Memory ROM

Föreläsning 1: Intro till kursen och programmering

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Föreläsningsanteckningar 2. Mikroprogrammering I

IT för personligt arbete F5

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

Grunderna i stegkodsprogrammering

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

Föreläsning 1 & 2 INTRODUKTION

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach

Processor pipelining genom historien (Intel i9-intel i7)

Att köpa ny dator SeniorNet Lidingö Januari-2016

Jacquards vävstol, 1801

Datorteknik. Föreläsning 7 Historia och framtid. Institutionen för elektro- och informationsteknologi, LTH

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg niklas.broberg@chalmers.

IT-GUIDE Version 1.0 Författare: Juha Söderqvist

Digital- och datorteknik

LV6 LV7. Aktivera Kursens mål:

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Närliggande allokering Datorteknik

Digitala System: Datorteknik ERIK LARSSON

Polling (cyklisk avfrågning) Avbrott

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor

FMS032: MATEMATISK STATISTIK AK FÖR V OCH L KURSPROGRAM HT 2015

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok.

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Datorsystemteknik för E/D

Digital- och datorteknik

Mer datorarkitektur. En titt I datorn Minnen

Digitalteknik och Datorarkitektur

Datorsystemteknik DVGA03 Föreläsning 5

Tentamen den 18 mars svar Datorteknik, EIT070

CE_O1. Nios II. Enkla assembler-instruktioner.

Tentamen i EIT070 Datorteknik

Minnen. Informationsteknologi sommarkurs 5p, Agenda. Slideset 4

Programmeringsteknik med C och Matlab

Digital- och datorteknik

Maskinorienterad Programmering LP3-2017/2018

Laboration Kombinatoriska kretsar

Pipelining i RISC-processorn. Joakim Lindström Institutionen för informationsbehandling Åbo Akademi E-post: jolindst@abo.fi

Digital- och datorteknik

Tentamen i Digitalteknik och Datorarkitektur DV1 5p

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

Ett Liv i Lärjungaskap Del 1 - Frälsningens Mysterium

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Det finns många typer och former av kapslingar

Mål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A

Tentamen Datorteknik D del 2, TSEA49

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

Transkript:

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 datortekniken. 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. Programmeringsmodellen - från applikation till hårdvara. Innehåll (forts) Relationen mellan programvara och hårdvara. Vad representerar data i datorns minne? Exempeldatorn MIPS 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 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! Vissa fel hjärtat klarar inte att ge dessa pulser regelbundet. Personen kan svimma, eller dö! 1

genererar dessa pulser när hjärtat inte kan! 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 ett av de system som utvecklats Tidiga system analog elektronik Idag: allt som går byggs med datorer pga enkelheten att förändra funktionen genom att ändra program Vad är en dator (filosofiskt)? Ett exempel på system med dator 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. Spelkonsoll en vanlig julklapp Men hur fungerar den, och vad i den gör att den fungerar? 2

Exempel: Data för Sony PS2 Spelkonsoll blockschema (nivå 1) 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 (nivå 2) Spelkonsoll Programvara För att vi ska kunna programmera datorn i t.ex. spelkonsollen, måste vi veta något om hur hårdvaran är organiserad. Maskinvara Vilka är kursens mål? Hur är kursen upplagd? 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 Föreläsningar 10 stycken (1 varje vecka,måndagar ) Övningar 8st med start andra veckan( Tisdagar) Labbar 5 st med start andra veckan. Inlämningsuppgifter i 4st. Kursens hemsida är: www.cs.kau.se/cs/education/courses/dava14 3

Kursbok Mats Brorsson Datorsystem program och maskinvara Kontaktinformation Hans Hedbom (fö, kursansvarig): 5A433, Hans.Hedbom@kau.se Nils Dåverhög (Övningar och Labbar): 5A432, Nils.Daverhog@kau.se Claire Ohlsson (Kurssekreterare) Kontakta oss om du har frågor, eller behöver hjälp! Vad kommer att krävas av dig? Godkända laborationer och inlämningsuppgifter 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. 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 4

Inbyggd dator Kan detta vara en dator? 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 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) 5

Processor 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. Vad kan ett bitmönster i minnet representera? Minnet är en följd av numrerade celler 0:01011001 1:11110000 2:01011000 3:11011100 osv binärt 0:59 1:F0 2:58 3:DC osv hexadecimalt På varje adress finns ett 8-bit 8 bitmönster (byte) Binärt till hexadecimalt Ofta skriver man binära bitmönster på hexadecimal form (för att öka läsbarheten för oss) Binärt Hex 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 Binärt Hex 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F Olika beteckningar på bitgrupper Byte = 8 bitar Ord = 32 bitar (på MIPS, beror på datorarkitektur) Nibble = 4 bitar Halfword = 16 bitar Ett ord (32 bit) tar upp 4 konsekutiva adresser i minnet Vad kan ordet (02114020) 16 betyda? Samma bitmönster kan betyda olika saker beroende på sammanhang 1) Heltal. (02114020) 16 är decimaltalet 16777216 2) Flyttal. (02114020) 16 är talet 1.2695389*10-119 3) Instruktion. För MIPS-arkitekturen innebär denna att addera innehållen i register 16 och 17 och lägga i register 8. 4) Tecken. (02114020) 16 är ^C^Q@<space> Processorarkitektur Arkitekturen hos en processor är Instruktionsuppsättning Definition av data som instruktionerna manipulerar En arkitektur kan ha flera implementationer Intel Pentium Intel Pentium Pro Intel Pentium II, III,... 6

$0 $1 $2 $3... $30 $31 MIPS-arkitekturen Generella register Programräknare Minne Modern arkitektur av RISC-typ Mer än 100 miljoner sålda processorer MIPS har 32 register om 32 bitar Program Counter, PC P C Instruktionsuppsättning hos MIPS Alla instruktioner är 32 bitar långa (1 ord) Olika klasser av instruktioner: - Aritmetiska och logiska - Minnesinstruktioner - Programflödesinstruktioner (villkorliga och ovillkorliga hopp) Enkla MIPS-instruktioner Aritmetiska instruktioner add $8, $9, $10 # Lägg ihop innehållet i reg 9 och 10 till 8 addi $8, $9, 123 #Addera konstant till reg 9, lägg i 8 sub $8, $9, $10 Minnesinstruktioner lw $8, 0($10) #Läs ordet på adress som finns i reg 10 till reg8 sw $8, 24($10) #Spara $8 på adress i reg 10, offset 24 Lägg adress i register lui $10, 0x0800 #lägg först höga delen av adressen i reg10 ori $10, $10, 0x2000 #sedan den låga Sammanfattning föreläsning 1 Motivering: varför måste man veta nåt om datorsystem? Datorns byggstenar Kopplingen mellan program- och mjukvara Olika typer av datorsystem Programmeringsmodellen Vad representerar data? Processorarkitektur Lite inledning om MIPS - det kommer (mycket) mera! 7