William Sandqvist KIA’s fabrik i Slovenien En bil i minuten lämnar bandet – tar det en minut att bygga en bil? Nej för KIA's fabrik utanför.

Slides:



Advertisements
Liknande presentationer
Idéer för ett bredare entreprenörskap
Advertisements

IT för personligt arbete F5
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Skapa ett video-CV på YouTube
PowerPoint laget av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
En genomgång av spelet: Dubbelkrig-Grön
hej och välkomna EKVATIONER Ta reda på det okända talet.
En avancerad miniräknare
Patientsäkerhetscentrum och Vårdhygien
Datorarkitekturer och operativsystem
Display för GymAssistWear - Huvudmeny Välj Av/På Upp i Menyn Ned i Menyn Meny Tillbaka Antal repetitioner Göra Playlist Sparade Playlist Visa statistik.
Punktprevalensmätning Trycksår och Fall
Programstruktur: C för enchipsdatorer
William Sandqvist Störskydd William Sandqvist
Funktionen SA10-Grupper. Följande typer av grupper finns: - Grupp i kurs hör alltid ihop med en kurskod - Grupp i program hör alltid ihop med en programkod.
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Persondatorer Datorns internminne (Kapitel 6)
Nytt golv av finaste furu
Minnesteknologier Teknologi Accesstid Kostnad $/GB SRAM 1 ns 1000 DRAM
William Sandqvist Maurice Karnaugh Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist
William Sandqvist System Management functions S Burd, Systems Architecture ISBN Figure 11-2 CPU Management Memory Management.
PC-teknik Repetition enligt önskemål som inkommit via mail. (täcker alltså inte alla moment i kursen)
23 August 2014 IS1200 Datorteknik vt09, föreläsning 10, (E och I mfl)1 IS1200 Datorteknik Föreläsning Processorkonstruktion 2. DMA, Direct Memory.
En vanlig femstegspipeline FDEMW FDEMW FDEMW FDEMW tid.
En vanlig femstegspipeline FDEMW FDEMW FDEMW FDEMW tid.
Polymorfism.
Programmeringsteknik K och Media
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Programmering B PHP Lektion 2
Workshop inför Projektet
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Välkommen till Del 1.
1 Pass 2 Allmän IT Hårdvara Hårdvara Hårdvara = Maskinvara Hårdvara är ett samlingsnamn för olika fysiska tillbehör till en dator. T. ex. Systemenhet.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
William Sandqvist C:s minnesmodell.
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
Apple Macintosh, since Macintosh 128Kb. Macintosh 128k släpptes av Apple inc den 24 Januari Den såldes i över kopior det året. Datorn.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
2G1510 Datorteknik fk Föreläsning 1, hösten 2003.
Prestanda ● Vad påverkar datorprestanda ● Hur mäter man datorprestanda ● Räkna klockcykler - ett sätt att analysera ● Amdahls lag - gräns för förbättringar.
William Sandqvist PIC PIC (Peripheral Interface Computer) är en datorkrets med ”allt i ett”. Prog Mem. Programminnet är 2048 instruktioner.
Logikprogrammering 21/10 Binära träd
 Installation av Windows Vista (Kapitel 9)  Haidar Al Attar (IT lärare)  Jensen Education.
31 March 2015IS1200 Datorteknik, förel 101 IS1200 Datorteknik Föreläsning Processorkonstruktion 2. DMA, Direct Memory Access 3. Byte-code i JAVA.
1 386 Från s bits adressbuss –=>4GB minne kan adresseras 32 bits databuss max klockfrekvens: 40MHz Protected mode –virtuellt minne –segmentering.
 Processorn (Kapitel 3)  Haidar Al Attar (IT lärare)  Jensen Education.
Pipelining Föreläsning 4. T exe — CPU-exekveringstid I — Antalet exekverade instruktioner CPI — Genomsnittligt antal klockcykler per instruktion T c —
Cacheminnen: skrivning ● Träff ● Skrivbuffert ● Miss.
Minnesarkitektur Problem: Snabbare och snabbare processorer men minnena hänger inte med. Lösning: Minneshierarkier.
Emulatorkonstruktion Schema Inledning Andra metoder Mina metoder Demonstration av min C64-emulator Sammanfattning och frågor.
William Sandqvist PIC-programmeringsmiljön i skolan Datorerna i skolans labsalar är centralt underhållna. Du har inte rättigheter att installera.
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
William Sandqvist ReadModifyWrite-problemet PORTB = 0; PORTB.0 = 1; PORTB = PORTB; Vilket värde har portpinnen RB1 nu ? Förmodligen ”1”,
Styrteknik 7.5 hp distans: PLC-delprogram, tasks TASKS:1
William Sandqvist Funktionsbibliotek När man utvecklat en funktion så långt att den är "färdigutvecklad" kan man lika gärna spara den på.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 6 ( )‏ Innehåll:  Att designa parallella program - manuell vs. automatisk parallellisering.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: -Exekveringstrådar.
6/3/2015© Mats Brorsson1 Hur mycket snabbare blir det med PC133 SDRAM jämfört med PC100 SDRAM?... blir det med en 1,4 GHz Athlon- processor jämfört.
Föreläsning 1 Introduktion till kursen. Algoritmer
William Sandqvist Övning 10 Processorkonstruktion med pipe-line.
14 July 2015 IS1200/2G1518 Datorteknik, föreläsning 2, ht2007 (D2)1 IS1200 Datorteknik Föreläsning 2 Vi bygger en processor Kursboken, valda delar av kapitel.
IE1206 Inbyggd Elektronik Transienter PWM Visare j  PWM CCP KAP/IND-sensor F1 F3 F6 F8 F2 Ö1 F9 Ö4F7 tentamen William Sandqvist PIC-block.
William Sandqvist Övning 10 Processorkonstruktion med pipe-line.
William Sandqvist Låskretsar och Vippor Låskretsar (latch) och vippor (flip-flop) är kretsar med minnesfunktion. De ingår i datorns minnen.
Operativsystem Vad är det för något ? Varför har man operativsystem ? Vilka finns det ?
A C B D Vems påstående stämmer?
Grundläggande datavetenskap, 4p
Digitalteknik 3p - Kombinatoriska Byggblock
Digitalteknik 3p - Kombinatoriska Byggblock
Presentationens avskrift:

William Sandqvist KIA’s fabrik i Slovenien En bil i minuten lämnar bandet – tar det en minut att bygga en bil? Nej för KIA's fabrik utanför Zilina tar det 18 mantimmar att bygga en bil (detta är ändå världsrekord! Toyota behöver c:a 30 mantimmar). Lösningen är en Pipeline. 18 timmar är 1080 minuter, så bygget kan ske parallellt vid 1080 enminutersstationer. Fabriken har 3000 anställda som arbetar i treskift, dvs 1000 arbetare per skift. Många av station- erna är således helt robotiserade.

William Sandqvist Fem steg Processorer brukar behöva utföra följande fem steg: 1.Fetch the instruction (from main memory) 2.Decode the instruction. 3.Fetch Data (from main memory). 4.Execute the instruction. 5.Store results.

William Sandqvist En 5-stegs Pipeline 5-stegs pipeline. Varje klockcykel blir en instruktion klar, trots att det åtgår fem klockcykler för att bearbeta instruktionerna.

William Sandqvist GOTO-instruktionen! Instruktionen GOTO 10 gör det påbörjade arbetet med instruktionerna 5, 6 och 7 ”bortkastat”. Nu dröjer det 5 Klockcykler tills nästa instruktion blir klar!

William Sandqvist Olika lösningar på hopp-problemet Branch Prediction (speculative branching) – Hoppgissning, gissar man rätt vinner man tid, gissar man fel måste pipelinen ”startas om”. Multiway Branching – Exekvera bägge fallen, behåll data från det relevanta fallet. För att kunna exekvera bägge fallen krävs att man har ”dubblerad” hårdvara, dvs. det som kallas för en superskalär processor.

William Sandqvist Databeroende Antag att en instruktion i pipeline är beroende av ett resultat från en annan instruktion som inte hunnit utföras än. Processorn måste då ”stoppa” exekveringen av den aktuella instruktionen till dess resultatet från den andra instruktionen finns tillgängligt. ( = sämre prestanda!). Detta ”stopp” kan alternativt ske genom att kompilatorn ”lägger till” ett antal NOP -instruktioner mellan de beroende instruktionerna. ( = sämre prestanda!) Har man ”tur” så kan det finnas andra helt oberoende instruk- tioner, som ändå ska utföras någon gång, och som kompilatorn kan flytta och ersätta NOP -instruktionerna med. ( = oförändrade prestanda!)

William Sandqvist PC började med Intel 8086 (1978) Internt finns bara 8 st 16- bitars arbetsregister. 16 bits-processor. Minneskretsar med upp till 1MB minne kunde anslutas externt. (20 bitsadress) Ingen trodde då att större minnen än så någonsin skulle kunna behövas. Von Neumann CISC- arkitektur utan pipeline!

William Sandqvist Bakåtkompatibilitet? Bakåtkompatibilitet innebär att gamla program för äldre Intelprocessorer ska kunna fortsätta att exekveras på nyare processortyper utan att behöva kompileras om. Databeroenden bör därför lösas av hårdvaran eftersom kompilatorn inte finns att hjälpa till! Nya program utnyttjar de nya processortypernas alla finesser – de kan därför knappast ens fås att starta på den första PC:n!

William Sandqvist Processorutvecklingen Intel processors evolution Generation Typ ÅrData/Adress Buss CacheBuss klocka Processor klocka / MHz / MHz / MHz DX198532/ MHz SX198816/328 kB16-33 MHz DX198932/328 kB25-50 MHz DX /328 kB25-40 MHz50-80 MHz DX /328+8 kB25-40 MHz MHz 5 Pentium199364/328+8 kB60-66 MHz MHz 6 PentiumPro199564/328+8 kB66 MHz MHz 6 PentiumII199864/ kB66/100 MHz MHz 6 PentiumIII199964/ kB100 MHz0,5-1,2 GHz 7 AMD Athlon199964/ kB266 MHz0,5-2,2 GHz 7 Pentium / kB400 MHz1,4-3,6 GHz 8 AMD Ath / kB400 MHz2-2,4 GHz

William Sandqvist Pentium arkitektur (1993) Frontend – ger bakåtkompati- bilitet (detta var Intels viktig- aste affärsbeslut någonsin …) BU Branch Unit gör hoppgiss- ning. Execution core Superskalär beräkningsenhet U-pipe och V-pipe 5-stegs pipelines för heltalsaritmetik (V har ett enklare utförande). FPU flyttalsenhet med 6-stegs pipeline. Totalt tre enheter. L1 Cache 8kB Data 8kB Instruktioner Copyright © Ars Technica, LLC BU gissar rätt för 75% av hoppen!

William Sandqvist Hopp statistik 20% av vanlig programkod är hoppinstruktioner – var femte instruktion är således ett hopp. 80% av hoppinstruktionerna är vilkorliga hopp % av hoppen utförs.

William Sandqvist Hoppgissning Pentiums hoppgissning: Det krävs ”två i rad” utförda hopp eller uteblivna hopp för att hoppgissningen ska ändras. - Gissar man hopp laddas pipelinen med instruktioner från hoppdestinationen. - Gissar man uteblivet hopp laddas pipelinen med efter- följande instruktioner. Gissar man rätt sparar man tid – gissar man fel måste pipelinen ”startas om”.

William Sandqvist Pentium Pro (1995) ”Out-of-order execution” Reservation Station Reorder Buffer Register Register renaming (40 register i stället för ursprungliga 8) Nu 12 stegs pipeline Mer superskalär – tre enheter för minnesoperationer. Totalt 6 enheter! Copyright © Ars Technica, LLC Hoppgissningen träffar nu i 90% av fallen! 40% av chippytan används för bakåtkompatibiliteten!

William Sandqvist Två nivåers hoppgissning Pentium Pro har lång pipeline och måste därför kunna ”gissa” hoppen ändå bättre! Hoppmönstret av de senaste fyra hoppen, aktiverar en av sexton ”två i rad-kretsar” som gör gissningen. Ett sådant anordning klarar att ”lära” sig olika hoppmönster. Resultatet blir bättre än 90% korrekta gissningar.

William Sandqvist Principschema Två nivåers hopp-gissning bygger på ett skiftregister, en avkodare, och 16 st ”två i rad” sekvensnät. Sekvensnät förklaras senare i kursen.

William Sandqvist Pentium 4 (2000) Hyper Pipeline 20-steg Därefter infördes Hyper Pipeline 31-steg! (2004)

William Sandqvist Dual Core (2006) Flertrådade operativsystem vinner på att ha fler processor-kärnor. Parallelliteten åstadkoms genom trådbyten. Vid varje trådbyte måste cache och pipeline ”börja om från början”. Med två kärnor kan två trådar köra parallellt hela tiden!

William Sandqvist Vem behöver 128 bitars register? VLIW Very Long Instruction Word. Kompilatorn parar ihop lämpliga instruktioner och packar ihop dem för att exekveras samtidigt. Matteläxa: a) addera b) addera = Kronor? Den här tekniken används i Intel Itanium ( EPIC, Explicit Parallel Instruction Code ). Varför inte göra hela matteläxan, uppgifterna a och b, på en och samma gång? Svar: a) 86 och b) 66

William Sandqvist Sammanfattning, exempel Skalär: 1 instruktion / 3 klockcykler Superskalär: 3 instruktioner / 3 klockcykler Pipeline: 3 instruktioner / 3 klockcykler Superskalär+Pipeline: 9 instruktioner / 3 klockcykler 11 3 Exemplets tre klockcykler per instruktion är helt godtyckligt valt.

William Sandqvist Sammanfattning pipeline Problem vid pipeline: Hopp kan innebära att pipelinen måste startas om. Lösningen är ”hoppgissning”. Superskalär hårdvara kan göra ”flervägs exekvering”. Databeroenden stoppar upp pipelinen. Vid kompilering är lösningen att ”skjuta in” nop eller nyttoinstruktioner. Hårdvaran kan stoppa exekvering av en instruktion och vänta in resultat. Mer avancerad hårdvara kan ändra instruktionsordningen, och därefter ändra tillbaka resultaten.