Målsättning med kursen

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

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

Kursplanering för Mikrodatorteknik 4p/5p

Grundläggande datavetenskap, 4p

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

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)

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

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

Datorsystemteknik DAV A14 Föreläsning 1

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

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

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

Datorsystemteknik DAV A14 Föreläsning 1

HF0010. Introduktionskurs i datateknik 1,5 hp

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Jacquards vävstol, 1801

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

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

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

Närliggande allokering Datorteknik

Datorarkitekturer med operativsystem ERIK LARSSON

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

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

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

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

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

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

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

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

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

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

Läsminne Read Only Memory ROM

Digitala System: Datorteknik ERIK LARSSON

Det finns en hemsida. Adressen är

Tentamen den 18 mars svar Datorteknik, EIT070

Digitala System: Datorteknik ERIK LARSSON

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

Pipelining i Intel Pentium II

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

Parallellism i CDC 7600, pipelinens ursprung

Grundläggande programmeringsteknik Datorsystem

IT för personligt arbete F5

Datorsystemteknik DVGA03 Föreläsning 8

Minnessystem. Minneshierarki. Flyktigt eller icke flyktigt huvudsakliga egenskaper. Minneshierarki

Digital- och datorteknik

Datorarkitekturer med operativsystem ERIK LARSSON

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

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

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

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

Mikroprogrammering I

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

Föreläsning 2. Operativsystem och programmering

Institutionen för elektro- och informationsteknologi, LTH

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

Grundläggande datorteknik

Du kan även lyssna på sidorna i läroboken: Teknik direkt s Lyssna gör du på inläsningstjänst.

Processor pipelining genom historien (Intel i9-intel i7)

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

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Mer datorarkitektur. En titt I datorn Minnen

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

Exempeltentamen Datorteknik, EIT070,

LV6 LV7. Aktivera Kursens mål:

TSEA28 Datorteknik Y (och U)

Arm Cortex-A8 Pipeline

Mikroprocessorns historia Thomas Wirén Mälardalens högskola, IDt

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

Datorhistoria Introduktion till PBL

IBM POWER4, den första flerkärniga processorn och dess pipelines.

F9: Minne. Sammansättning av minnesgrupper Ansluta minne till Interface till olika typer av minnen Användningsområden.

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Digital- och datorteknik

Datorteknik ERIK LARSSON

Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas

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

Datorteknik ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON

Datorsystem. Exempeltentamen

Datorteknik ERIK LARSSON

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

Digital- och datorteknik

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

Datorarkitekturer med operativsystem ERIK LARSSON

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Tentamen PC-teknik 5 p Lösningar och kommentarer

INGENJÖRSHÖGSKOLAN INGENJÖRSHÖGSKOLAN

F7: I/O hantering. Asynkron och synkron busscykel Bussfördelning. Periferikretsar

Datorsystem. Tentamen

Minnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile.

Program Datorteknik. Kontrollenhet. Exekvering av en instruktion. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk.

Datorteknik ERIK LARSSON

TSEA28 Datorteknik Y (och U)

Tentamen. Datorteknik Y, TSEA28

4. Pipelining. 4. Pipelining

Föreläsningsanteckningar till Konstruktionsmetoder

Tentamen PC-teknik 5 p Lösningar och kommentarer

Pipeline hos ARM Cortex-A53 och ARM Cortex-A73

Transkript:

1 Intel Pentium Intel 4004 2300 transistors @ 108 khz 32 million transistors @ 2600MHz 1 Målsättning med kursen Förstå funktionen hos en processor, samt förstå olika processorarkitekturer Utifrån en specifikation konstruera ett program i MC68000 assembler Kunna redogöra funktionen för centrala delar i ett mikrodatorsystem med inriktning på MC68000 Kunna konstruera ett enklare mikrodatorsystem 2 Page 1

2 Mikrodatorteknik, 4p/5p Kurslitteratur Rune Körnefors, Mikrodatorer bit för bit, ISBN 91-44-30862-0, 1996. Examination Dugga, inlämningsuppgifter, laborationer Föreläsningar (10x2h), Övningar (6x2h), Laborationer (6x4), Flex. mtrl. Kursansvarig Benny Thörnberg Email: benny.thornberg@miun.se URL: www.itm.miun.se/~bentho Labb- och övningslärare Benny Thörnberg Email: benny.thornberg@miun.se Kurswebb: www.itm.miun.se/~elektro/etea20 3 Organisation Mikrodatorteknik, 4p/5p A.Datorarkitektur 1 Föreläsning B.Assemblerprogrammering 4 Föreläsningar C.I/O-hantering och Undantag 3 Föreläsningar D.Minnen 2 Föreläsningar DU1 IU1* DU2 Lab1 Lab2 Lab4 DU3 Lab3 Lab5 Lab6 DU4 * Gäller endast när kursen ges som 5p 4 Page 2

3 Planering Vecka Föreläsning Övning Examination Laboration 45 F1(A) 46 F2 (B), F3 (B) Ö1 Lab1 47 F4 (B) Ö2 DU1 Lab2 48 F5 (B), F6 (C) Ö3 Lab3 49 F7 (C) DU2 Lab4 50 F8 (C), F9 (D) Ö4 Lab5 51 F10 (D) Ö5 DU3 Lab6 52 1 2 DU4 3 Tentamen 5 Inlämninguppgift för 5p-kursen Examination P1 P2 P3 P4 Start Dugga 1 Dugga 2 Dugga 3 Dugga 4 0 eller 2 bonuspoäng = 0 2 0 2 0 2 0 2 Laborationsmoment B L =0 eller 3 + B d B d =8? Nej Ja 1 P 4 B 4 L D D + = 1 Tentamen P T P T + B d + B L Betyg 3, 4 eller 5 Alternativt Godkänd, Väl Godkänd 6 Page 3

4 F1: Introduktion Innehåll: Motivation av kurs Historik Von Neumann datorn Delarna i ett mikrodatorsystem 7 Varför ska vi lära oss mikrodatorteknik? Allmänbildning!!! Vad som skiljer en tekniker och en systemvetare Nödvändig kunskap för att arbeta med utveckling av mikrodatorsystem. implementera system (telekom, video, etc.), för att kunna optimera måste man förstå arkitekturen. arbete med utveckling av hårdvara Hårdvara används ofta i datorsystem. Många likheter med digital hårdvaruutveckling och processor utveckling. börja jobba på Intel? 8 Page 4

5 Vart hittar vi mikrodatorsystem? PC Bilen (tändningen, färddator, bromsar, etc ) Videospel Mikrovågsugn TV, video Mobiltelefon Trafikljus Etc... 9 Varför ska vi lära oss assembler? Bakgrundskunskap För att skriva högkvalitativ kod måste man förstå hur ett program exekveras Ibland måste man programmera i assembler När behöver man programmera assembler? Inte ofta Programmering av processorer med speciella arkitekturer T ex DSP processorer Utveckling av realtids/operativsystemkärnor Utveckling av kompilatorer Programmering av objekt, där det är hårda krav på minnes andvändning och/eller exekverings tid. Det blir svårare att skriva snabbare assemblerkod än vad en kompilator kan, eftersom det blir svårare att förstå arkitekturen och hur instruktioner ska schemaläggas. 10 Page 5

6 Konstruktionsflöde för assemblerprogrammering i industrin. Från en specifikation skrivs en implementering i C kod Denna används för att verifiera funktionen och för att lättare strukturera programmet Specifikation Innehållet i funktionerna ändras sedan till assemblerkod. Topp nivån är fortfarande skriven i C-kod (oftast) Underlättar strukturering C kod C kod på topp nivån.asm.asm.asm.asm Verifiera 11 Processor- och datorhistoria Mekaniska datorer, -1944 Elektronrörbaserade datorer, 40-talet Transistorbaserade datorer, 50-talet Diskreta transistorer IC-baserade datorer, 60-talet Diskreta logiska grindar (typ 74xx serien) Datorer med mikroprocessor på ett chip, 70,80-talet Datorer med superskalära mikroprocessorer, 90-talet Fler exekveringsenheter på ett chip 12 Page 6

7 Historia - Mekaniska datorer År Upphovsman Maskin Räknesätt Innovationer 1642 Pascal -Pascaline Add, Sub Carrybit och negativa tal 1671 Leibniz - Add, Sub, Mul, Div 1805 Jacquard Jacquard maskinen 1843 Scheutz Difference Engine 1834-1871 Babbage Analytical Engine Mekanik för mul & div - Väva mönster enligt hålkortsprogram Maclaurin utveckling Generell beräkning 1941 Zuse Z3 Generell beräkning 1944 Aiken Mark I Generell beräkning Flerstegsoperationer Programvara, sekvensstyrning Första fungerande generella datorn 13 Scheutz, differensmaskin 14 Page 7

8 The Difference Engine, Babbage 15 Historia - 1:a generationen Elektronrörsdatorer 1906 uppfinner Lee de Forest elektronröret 1945 ENIAC Electronic Numerical Integrator and Calculator Vägde 30 ton!!! 30m 2, 18000 elektronrör f clk = 100kHz Minnet bestod av 20 st 10-siffriga tal Varje tal representerades av 10st vippor Datavägar 1943, Colossus (Turing) Engelska försvaret Specialiserad maskin inriktat mot att knäcka koder Mindre och snabbare än ENIAC 1951, EDVAC (Electronic Descreate Variable Automatic Computer) Baserad på von Neumanns arkitektur Kort läsare Hålkortstryckare * / FT a1 a2... a20 ENIACs arkitektur Styrenhet Instruktionsvägar 16 Page 8

Historia - 2:a generationen Transistordatorer 1948 uppfinner Shockley transistorn 2:a generationen Transistorer Sekundär minnen Magnetiska trummor Flyttalsenheter Högnivå språk FORTRAN (FORmula TRANslation, 1954) COBOL (Common Business Oriented Language, 1959) T ex IBM 7090, IBM 7094 400 sålda 17 Historia - 3:e generationen Integrerade kretsar 3:e generationen Integrerade kretsar Mikroprogrammering IBM 360, 1965 Sex olika, men alla var binärkodskompatibla men skillnad i prestanda. Första superdatorn 1964 CDC (Thornton, Cray) 18 Page 9 9

Historia - 4:e generationen Mikroprocessorer Aka, VLSI generationen Första mikroprocessorn, 1971 Intel 4004 2300 P-MOS transistorer 4-bitar Utvecklades för att användas i en miniräknare Efterföljdes av i8008(72) och senare i8080(73) Efterföljare till Intel Motorola 6800, Zilog Z80, Intel 8085 Senare mer komplexa mikroprocessorer i80286, Motorola 68000 Samma koncept, men större (fler bitar och snabbare) 19 Historia - 5:e generationen Superskalära processorer Pipeline, cache, parallella Intel Pentium 2 exekveringsenheter för heltal 1 flyttalsenhet Cache: L1: 16 kbyte 1.8 M transistorer Alpha 21384 4 exekveringsenheter för heltal 2 exekveringsenhet för flyttal Cache: L1: 128k, L2: 1.5M 100 M transistorer 20 Page 10 10

von Neumann arkitekturen Systembuss Primärminne CPU Bussenhet ALU ar ir pr Exekveringsenhet Styrenhet I/O System IO-kanaler I/O System IO-kanaler ar = ackumulator register ir = instruktions register pr = program räknare 21 Exekvering av von Neumann datorn Utför: Y=a+b (ADD Y, a, b) Adressbuss sätts till pr, ir laddas med värde från databussen Avkoda instruktionen Ladda ar med a Addera ar med b Lagra ar i Y Sekvensen kallas mikroprogram 22 Page 11 11

12 Von Neumann maskinen, forts. von Neumann arkitekturen har bara en minnesarea (en systembuss) kod exekveras sekventiellt Instruktion i von Neumann arkitekturen utförs enligt följande läs operationsord, avkoda, läs operand, utför op., skriv resultat Enkel arkitektur för datorkonstruktörer, programmerare, kompilatorkonstruktörer Ineffektiv, bara 20% av exekveringstiden används för verklig exekvering (ALU operationer) Mest använda mikroprocessorarkitekturen (dock modifierad) Vad kan göras för att effektivisera denna arkitektur Prefetch, cache, pipelining, branch prediction, DMA CPU Minne I/O Systembuss 23 Harvard arkitekturen Två bussar En för instruktioner En för data Dvs: Data och instruktioner kan laddas samtidigt, vilket ökar effektiviteten. Används internt i moderna mikroprocessorer Dataminne Programminne CPU Program-systembuss I/O Data-systembuss 24 Page 12

13 Datorsystemets olika delar Vad innehåller ett datorsystem Processor (CPU, Central Processing Unit) Minne Periferienheter, I/O Systembuss, för att kommunicera med yttre enheter Har vi ett chip som innehåller allt detta kallas detta ofta för en Micro Controller CPU Minne RAM ROM I/O-enhet Omvärden/ Användare 25 Mikroprocessorn Datorns hjärna En mikroprocessor klassificeras i termer av Klockfrekvens (1 MHz - 2000 MHz) Antal bitar som processorn kan bearbeta (8,16,32,64-bit) Dataräckvidd (Adresseringsområde) (64k - 4G) MIPS (Mega Instructions per Second) Benchmarkprestanda (SpecINT, SpecFP) Utför en serie instruktioner, dvs ett program. Instruktionerna finns lagrade i ett minne Matematiska operationer Logiska operationer Kontrollinstruktioner 26 Page 13

14 Processorn 27 Två typer av processorer CISC (Complex Instruction Set Computer) Många instruktioner för att underlätta för assembler-programmeraren och kompilator konstruktören Nackdelen är att kompilatorn använder ett fåtal instruktioner och konstruktionen av en komplex processor blir långsam Det krävs mycket information för att beskriva en instruktion T.ex.. MC68040 med 200 instruktioner och 18 adresseringsmoder RISC (Reduced Instruction Set Computer) Enklare instruktioner (som används av kompilatorn) Ger snabbare implementering Endast ett kodord för att beskriva en instruktion T.ex.. Alpha, ARM, och MIPS processorn 28 Page 14

15 Processorns systembus Databuss Kommunikationskanal för att flytta data till och från CPU och yttre enheter Adressbuss Används för att peka ut vilka viken minnesposition/io-port som ska läsas eller skrivas 1000 0000 1000 1010 1001 1010 Styrsignaler Används för att signalera när en dataöverföring startar och slutar. Signalerar om det är en läs eller en skrivoperation 29 Minne 30 Page 15

16 Minnestyper RAM Statiskt (SRAM, Static Random Access Memory) Lagrad data finns kvar tills spänningen försvinner Dynamiskt (DRAM, Dynamic Random Access Memory) Lagrad data försvinner efter ett tag, man måste påminna minnet med jämna mellanrum. ROM(Read Only Memory) Data lagras en gång, och finns kvar till domedagen. Många typer av ROM ROM PROM EPROM EEPROM 31 I/O - kretsar Kommunikation kretsar RS 232, Ethernet, etc. AD/DA omvandlare ADC, Omvandlar analoga signaler till digitala signaler. DAC, Omvandlar digitala signaler till analoga signaler. I/O enheter Tangentbord Display/Monitor Sensorer 32 Page 16

17 10 5 The memory wall 10 4 Performance 10 3 10 2 CPU 10 1 Memory 10 0 1980 1985 1990 1995 2000 2005 Year 33 Page 17