TDT4160 Datamaskiner Grunnkurs 2011

Like dokumenter
TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Kapittel 3: Digital logic level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Kapittel 4: Microarchitecture level

Fortsetelse Microarchitecture level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Fortsetelse Microarchitecture level

INF2270. Datamaskin Arkitektur

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 AUGUST, 2008, 09:00 13:00

TDT DESEMBER, 2009, 09:00 13:00

Forelesning ISA-nivået Kap 5.1

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

INF2270. Datamaskin Arkitektur

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs Løsningsforslag. Torsdag 29. November 2007 Kl

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Forelesning 5. Diverse komponenter/større system

IN1020. Datamaskinarkitektur

Kapittel 6. Høynivå møter lavnivå Fra C til assembly Fra assembly til maskinkode Linking og lasting

Forelesning Instruksjonstyper Kap 5.5

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

Datamaskinens oppbygning

Intel Core i7. Omid Mirmotahari 4

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

Forelesning Forgreningspredikering Kap 4.5 Superskalaritet Kap 4.5 Spekulativ utføring Kap 4.5

INF1400 Kap4rest Kombinatorisk Logikk

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

Løsningsforslag eksamen TDT4160 høsten 2005

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

Maskinvaredelen av INF 103: oversikt og innhold (1)

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9

EKSAMENSOPPGAVE I FAG TDT4160 DATAMASKINER GRUNNKURS. D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Fortsetelse Microarchitecture level

Digital logic level: Oppsummering

TDT AUGUST, 2011, 09:00 13:00

Institiutt for informatikk og e-læring, NTNU Kontrollenheten Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

Intel Core i7. Omid Mirmotahari 4

Forelesning Optimalisering av μark Kap 4.4

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?

SIE 4005, 9/10 (4. Forelesn.)

Oppsummering av digitalteknikkdelen

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

TDT DESEMBER, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

Løsningsforslag til øving 5 TFE4105 Digitalteknikk og Datamaskiner Høsten 2006

Dagens tema. Dagens tema er hentet fra kapittel 4.3 og 4.4. Mer om pipelining Ytelse Hasarder. Pipelining i Pentium-arkitekturen

TDT DESEMBER, 2008, 09:00 13:00

SIE 4005, 2/10 (2. Forelesn.)

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Dagens temaer. tema er hentet fra kapittel 4.3 og 4.4 om pipelining. til neste ukes forelesning (hvis tid) INF ! Mikrokode. !

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon

ANSWER KEY FOR THE EXAM

befinner seg. Deretter leses instruksjonen fra i registerfilen ved ny stigende klokkepuls.

Hvorfor lære om maskinvare*?

Datamaskinens virkemåte

INF-103 Fra brukergrensesnitt til maskinvare

INF-103. Velkommen til. Første time. Fra brukergrensesnitt til maskinvare. eller Datamaskinen på tvers. Andre time

Hvordan en prosessor arbeider, del 1

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse

Generelt om operativsystemer

Forelesning Adresseringsmodi Kap 5.4

TDT DESEMBER, 2012, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Datamaskinarkitektur våren 2009

4/5 store parallelle maskiner /4 felles hukommelse in 147, våren 1999 parallelle datamaskiner 1. når tema pensum.

Forelesning ISA: IJVM Kap 4.2

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Tildeling av minne til prosesser

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

SIE 4005, 8/10 (3. Forelesn.)

Dagens temaer. Dagens emner er hentet fra Englander kapittel 10 (side ) Mer om adresseringsmodi. RISC og CISC-prosessorer.

Litt om Javas class-filer og byte-kode

TDT AUGUST, 2009, 09:00 13:00

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til IKT. Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap

INF1070. Velkommen til. Datamaskinarkitektur. Motto: Hvordan bygger man en datamaskin? INF1070

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Tildeling av minne til prosesser

Dagens temaer. Mer om adresseringsmodi. Indeksert adressering med offset og auto-inkrement eller dekrement. Register-indirekte adressering

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl

Datasystemer og informasjonssystemer

tema er hentet fra kapittel 4.3 og 4.4 om pipelining Mikroprogrammert Dagens temaer Hard-wired Mikrokode Hasarder Ytelse

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT DESEMBER, 2009, 09:00 13:00

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)

Transkript:

1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte

2 Dagens forelesing Kven er Eg? Kva gjer eg Kva kan eg TDT4160 2011 Fagstab Førelesningar Øvingar Pensum Kapittel 1 Structured Computer Organization Historie og anekdotar Datamaskinsystem Kapitel 2 Processors

3 Gunnar Fakta Datamaskingruppa (http://www.idi.ntnu.no/grupper/dm/) Multicore and CMP challenges (http://research.idi.ntnu.no/multicore/) Unconventional Machines (http://www.idi.ntnu.no/grupper/dm/start/bim) Cellular Computing Artificial Development Artificial Evolution http://idi.ntnu.no/~gunnart Er også med i Soundscape Studios (eigar og arbeidar) Elektronikk, data, kunst osv http://www.soundscape-studios.no Har dysleksi, prøv å ikkje bli for irtitert på skrvie fiel

4 Mål (Gunnar) Nye datamaskintypar Massiv parallellitet Mange enkle prosessorar Lokal kommunikasjon Nye måtar å konstruere og produsere Sjølv-organisering Sjølv-replisering Biologisk inspirasjon

5 TDT4160 2011 Fagstab Alexandru! Førelesar: Gunnar Tufte Rom 403 IT-vest Vit.ass: Alexandru Ciprian Iordan Rom 446 IT-vest Alle henvendelsar om øvingar/aoc til Alexandru Øvingar AOC Dei fleste spørsmål + mange flinke student assistentar

6 TDT4160 2011 Førelesningar Dag Tid Kvar Kva Tirsdag 10.15 11.00 S7 Førelesing Fredag 8.15 9.00 S3 Førelesing Øvingar info om AOC kjem seinare

7 TDT4160 2011 Øvingar Age of Computers Dataspill-inspirert øvingsopplegg Flerspiller, nettbasert, chat Løys oppgåver, lær historikk, lær fakta Inneholder assembly-simulator (Dark) Ikke 100 % match mot rekkefølgen i læreboka Demo øvingsinfo TBA (Alexandru ). http://aoc.idi.ntnu.no Obligatorisk

8 TDT4160 2011 Pensum (ikkje endeleg) Tanenbaum: Structured Computer Organization (5th edition) Kapittel 1,2 Kapittel 3 unntatt 3.1 (kjent) Kapittel 4 Kapittel 5 unntatt 5.7 Appendiks B Artikkel innan ChipMulti Processor Tilgjengeleg på it s learning i forbindelse med forelesing Øvingsopplegg (Age of Computers) Foiler fra forelesningene (ligg på It s L.)

9 Kva kan datamaskiner (eks) Leggje saman to tal (manipulere data) Kontrolere om eit tal er 0 (test) Flytte data frå ein plass til ein anna (kommunikasjon) Gjere sekvensar av desse operasjonane (FORT) Program Beregne alle beregnbare funksjonar Utføre sekvensar av oprasjonar

10 Kva er datamaskiner Samling av transistorar Set av instruksjonar Leggje saman to tal Kontrolere om eit tal er 0 Flytte data frå ein plass til ein anna Gjere desse operasjonane FORT Beregne alle beregnbare funksjonar Utføre sekvensar av oprasjonar

11 Kva er datamaskiner System Design Datamaskin arkitektur Beregne alle beregnbare funksjonar

12 Kva er datamaskiner System Design Datamaskin arkitektur Beregne alle beregnbare funksjonar

13 Historie: Gunnar sine favoritar edit

14 Kva er datamaskiner System Design Datamaskin arkitektur Beregne alle beregnbare funksjonar

15 Kva skal me bruke datamaskiner til (og korleis) Ønskjer å løyse komplekse oppgåver Konstruere samling med transistorar (maskinvare einingar) Konstruere system av einingar; DATAMASKINER Skrive program til maskinvare (programvare) Vanskeleg å konstruere transistor for transistor > 100 millionar transistorar (2,600,000,000 (Intel 2011)) Vanskeleg å programere med enkle instruksjonar Add, move, zero

16 Hirarki og Abstraksjon Hirarki av abstraksjonar: Structured Computer Organization Hierarki av abstraksjoner Språk L0: Det datamaskinen kan Definerer språk L1: Nærmere hvordan me tenker Alle instruksjoner i L1 kan uttrykkes med en eller flere instruksjoner i L0 Hvordan utføre L1-program Oversetting hele programmet oversettes til L0 Ein gang for alle Tolking en og en instruksjon oversettes hver gang programmet skal utføres (Interpretering)

17 Hirarki av abstraksjonar: Virtuelle maskiner

18 Hirarki av abstraksjonar: Nivå i moderne maskiner

19 Nivå 0: Digtalekretsar Fundamentale komponenter AND, OR, NOT, XOR porter D-vipper for lagring av ett bit Sammensette komponenter Aritmetiske kretser adderere, skiftere, Registre 8, 16, 32, 64 vipper

20 Nivå 1: Mikroarkitektur

21 Nivå 1: Mikroarkitektur Styreenhet (control unit) Styrer den utførende enhet Enten vha. mikroprogram eller via maskinvare (hardwired) Utførende enhet (datapath) Samling av registre (registerfil) ALU: Aritmetisk-logisk enhet

22 Nivå 2: Instruksjonssetarkitektur (ISA) Instruksjonssettark. (ISA) Første nivå tilgjengelig for (ekspert-)brukere Grense mellom maskinvare og programvare Opprinnelig det eneste nivået Språk: Maskinkode Logikk og aritmetikk Minne Kontroll Simens Semiconductor Group 8051 processor

23 Nivå 2: Instruksjonssetarkitektur (ISA) Internal Processor Bus Simens Semiconductor Group 8051 processor

24 Nivå 3: Operativsystem Operativsystem (NIVÅ 3) Hybridnivå Kan utelatast mesteparten av språket er rett frå nivå 2 Legger til støtte for fleire programmer samtidig Virtuelt minne Filsystem Ikkje pensum

25 Nivå 4 og 5 Assembly Symbolsk språk ADD R1, R2, R3 Symbolsk versjon av nivå 2/3. Ca. 1-1 oversettelse Ikke direkte forelest, men via Dark i AoC Høynivå-program.språk Symbolsk språk frukt = eple + banan Java, C, C++, Typisk kompilert (oversatt) til maskinkode Enkelt å uttrykke algoritmer naturlig Ikke pensum

26 Status så langt Patterson and Hennessy,

27 Datamaskinsystemer Tradisjonelle datamaskiner PCer, arbeidsstasjoner, superdatamaskiner osv. Skal sjå på: Intel Pentium 4 og Sun UltraSPARC III Embedded systems (innebygde systemer) Mobiltelefoner, kopimaskiner, kvitevarer, osv Skal sjå på Intel 8051

28 Skal sjå på P4, SUN, 8051 etter kapittel 2 Input/output

29 Kapittel 2: Prosessorar 2.1

30 Overordna organisering

31 Kva er ein CPU Hjernen i ei datamaskin Køyrer program: hentar instruksjonar finner ut kva dei gjer utførar Hovueddeler Styreining (control unit) Aritmetisk-logisk eining (ALU) Register Programteljar (PC) - Adresse til neste instr. Instruksjonsregister (IR) - Instruksjon som utføres nå Generelle heiltallsregistre, flyttallregister... Ingen hjerne ikkje noko moro

32 Prosessor (CPU) Buss

33 Kva er inni ein CPU PC: Program Counter IR: Instruction Register MAR: Memory Address Register MDR: Memory Data Register ALU: Arithmetic Logic Unit

34 Korleis vert eit program utført Styre einheit gjer som følgjer: Hent instruksjon (Fetch) Dekodar instruksjonen (Decode) Utfør instruksjonen (Execute) Utførande einheitar gjer som følgjer: Execute: brukar utførande einheitar til å utføre instruksjonen

35 Liten avsporing: Program Frå kapitel 1 Ein prosessor kan: Leggje saman to tal Kontrolere om eit tal er 0 Flytte data frå ein plass til ein anna Ein CPU består av styreeinheit utførandeeinheiter Program Ei rekkje av enkle instruksjonar Kvar instruksjon utfører ein bit av ei oppgåve Instruksjonar og data ligg i minne Programminne Programmet ligg i minne Dataminne

36 Liten avsporing: Program 2 Enkelt eksempel Leggje saman to tal X og Y som ligg i minne Program: Hent X Hent Y Summer X og Y Summer X og Y Hent Y Hent X 0002 0001 0000 Memory

37 Liten avsporing: Program 3 MEN program (instruksjonar) og data ligg i forskjeligge deler av minne Programminne og Dataminne Program: Hent X Hent Y Summer X og Y Summer X og Y Hent F002 Y Hent F001 X 0002 Data Y 0001 Data X 0000 F002 F001 F000 Memory Programminne Memory Dataminne I programminne ligg det peikar (pointer) til data Data (variablar) får si minne adresse av kompilatoren Peikar på ei adresse i minne Les/skriv data frå/til adressa

38 Liten avsporing: Program 4 MEN kva med minne som er byte adresserbart? Ikkje plass til (f.eks) 16 bit som må til for F0XX Program: Hent X Hent Y Summer X og Y Summer X og Y 0002 Data Y Hent F002 0001 Data X Hent F001 0000 F002 F001 F000 Memory Programminne Memory Dataminne

39 Korleis vert eit program utført 2 Nokre viktige utførande einheitar ALU (Arithmetic Logical Unit) ALU Register Register for eksternt minne Program Counter (PC) register Instruksjons Register (IR) General Purpose Registers Hukselapp: Hent instruksjon (Fetch) Dekodar instruksjonen (Decode) Utfør instruksjonen (Execute)

40 Dathpath

41 Instruksjonset og styreeinheit 1 To hovud typar styreeinheit Microprogram Instruksjonar er bygd opp av mikroinstruksjonar Maskin i styreeinheiten som utfører instruksjonane stegvis Fleksibel (kan endre på instruksjonssete) Mange typar instruksjonar og adresseringsmåtar Hardwired Kunn maskinvare Ei maskinvare statemaskin som styreeinheit (eller helst berre logic) Kan ikkje endrast (oppdaterast) Rask

42 Instruksjonset og styreeinheit 2 Microprogrammed Hardwired Add

43 1 maskin fleire implementasjonar Beregne alle beregnbare funksjonar

44 Auka yting CPU

45 Auka yting, MEN... kva er det som aukar, må noko minke? Fart Antal personar Antal personar/liter Antal personar flytta/ tid tid på å reise strekning x -> y køyre på månen Ytelse avhengig av måling (metrikk, benchmark)

46 Instruksjonsett type CISC/RISC CISC (Complex Instruction Set Computer) Avanserte instruksjonar (kan utføre mykje) Bruke fleire einheitar ADD MinneAdrX, MinneAdrY, MinneAdrSvar Nærare høgnivå språk Fleksibelt instruksjonsett (Viss mikroprogram kan oppdaterast/endrast) Variabel lengde på instruksjonar Variabel tid på å utføre instruksjonar Mikroprogram (ikkje alltid) Mange typar instruksjonar og adresseringsmåtar RISC (Reduced Instruction Set Computer) Enkle instruksjonar Register til register instruksjonar Bruke mange enkle instruksjonar på å utføre oppgåver Fast instruksjonsett (Hardwired) Fast lengde på instruksjonar Fast tid på å utføre instruksjonar Ei maskinvare statemaskin som styreeinheit (eller helst berre logic) Kunn ein type adresering LOAD/STORE Rask ADD R0, R1

47 CISC: ADD MinneAdrX, MinneAdrY, MinneAdrSvar RISC: ADD R0, R1 CISC RISC

48 CISC/RISC Prosessorar

49 Parallellitet Essensielt for å øke ytelse To typer: 1) Instruksjonsnivåparallellitet Flere instruksjoner utføres samtidig (1 prosessor) Samlebånd Eks: Unødvendig at ALU er ledig mens CPU leser instruksjon Superskalaritet: Duplisering av CPU-komponenter 2) Prosessornivåparallellitet En prosessor er bra, fleire er bedre

50 Samlebånd (Pipelining)

51 Samlebånd (Pipelining) 2 Fetch Decode Execute Dei tre prinsipiele stega i instruksjonutføring Lagar oss ein tretrinns styreeinheit 1: Fetch 2: Decode 3: Execute Kan startast uavhengig av kvarandre Raskare Enkle trinn Kortare tid

52 Samlebånd (Pipelining) 3

53 Samlebånd (Pipelining) 4 Gitt 5 steg, hvert steg tar en klokkesyklus Instruksjon 1: 5 klokkesykler Deretter: 1 instruksjon ferdig per klokkesyklus Uten samlebånd 1 instruksjon ferdig per klokkesyklus (RISC) Hvorfor er samlebånd raskere da? Klokkesyklene kan gjøres mye kortere! 1/5 av arbeidet skjer hver klokkesyklus Lengde på klokkesyklus bestemt av tregeste steg

54 Superskalaritet Henter to instruksjoner om gangen Dupliserer steg 2-5 Har dermed opptil 10 instruksjoner under utføring Figuren tilsvarer ca. den første Pentium prosessoren

55 Parallellitet Essensielt for å øke ytelse To typer: 1) Instruksjonsnivåparallellitet Flere instruksjoner utføres samtidig (1 prosessor) Samlebånd Eks: Unødvendig at ALU er ledig mens CPU leser instruksjon Superskalaritet: Duplisering av CPU-komponenter 2) Prosessornivåparallellitet En prosessor er bra, flere er bedre?

56 Superskalaritet 2 Dyrt å duplisere alt 4x (Areal (antal transistorar)) Utføring tar mest tid Figur tilsvarer Pentium II Dupliserar mest tidkrevande steg

57 Meir parallellitet 1

58 Meir parallellitet 2

59 Meir parallellitet 3

60 Lager 2.1 2.2 Hard disc Tape storage RAM Module Optical disc Register bank Core memory

61 Referansegruppe For dykk (mest) Odd M. Trondrud, trondrud@stud.ntnu.no Marthe F Bekkevold, marthebekkevold@msn.com Kan ein til melde seg så me får ei gruppe så er det fint.

62 Neste forelesing Fredag 2/9. (2.4 I/O + litt dingsar)