Datorarkitekturer med operativsystem ERIK LARSSON

Relevanta dokument
Datorarkitekturer med operativsystem ERIK LARSSON

Personal. Datorarkitekturer med operativsystem. Kursmoment. Laborationer

Datorarkitekturer med operativsystem ERIK LARSSON

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)

Pipelining i Intel 80486

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

Hantering av hazards i pipelines

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

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

Datorarkitekturer med operativsystem ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON

Cacheminne Intel Core i7

Parallellism i CDC 7600, pipelinens ursprung

Tentamen den 18 mars svar Datorteknik, EIT070

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

Grundläggande datavetenskap, 4p

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

MESI i Intel Core 2 Duo

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

Datorteknik ERIK LARSSON

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON

Exempeltentamen Datorteknik, EIT070,

Parallellism i NVIDIAs Fermi GPU

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

Närliggande allokering Datorteknik

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant.

Minnet från processorns sida Datorteknik

Arm Cortex-A8 Pipeline

HF0010. Introduktionskurs i datateknik 1,5 hp

Beijer Electronics AB 2000, MA00336A,

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

Pipelining i Intel Pentium II

Datorarkitekturer med operativsystem ERIK LARSSON

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

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

Datorteknik ERIK LARSSON

What Is Hyper-Threading and How Does It Improve Performance

Tentamen den 17 mars 2016 Datorteknik, EIT070

Hur det går att minska effektutvecklingen i en processor genom att ändra pipeline

Digitalteknik och Datorarkitektur 5hp

Datorteknik ERIK LARSSON

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

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

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

Processor pipelining genom historien (Intel i9-intel i7)

Datorsystemteknik för E/D

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

Datorarkitekturer med operativsystem

Datorsystemteknik DAV A14 Föreläsning 1

Hannes Larsson - IDA 2, LTH Campus Helsingborg. NEC V R 4300i. Interlock-handling EDT621

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

Öka prestanda i Shared-Cache multi-core processorer

Fetch-Execute. Datorteknik. Pipelining. Pipeline diagram (vid en viss tidpunkt)

Datorteknik och datornät. Case Study Topics

SIMD i Intel s P5- baserade Pentium MMX

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

Emil Kristiansson Kurs: EDT621 Delmoment: Rapport. En introduktion till Smart cache

Jacquards vävstol, 1801

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

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

CanCom Bluetooth BLUETOOTH V5.6. Specifikation Specification LED. transceiver

Digitala System: Datorteknik ERIK LARSSON

IT för personligt arbete F5

4 grundregler. Minneshantering. Problemet. Windows minkrav

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

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

Hyper-Threading i Intelprocessorer

Digitala System: Datorteknik ERIK LARSSON

Cacheminne i en AMD Opteron Processor

Spekulativ exekvering i CPU pipelining

Anujan Balasingam IDA14 NAND flashminnen

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Aktivitetsschemaläggning för flerkärninga processorer

TSEA28 Datorteknik Y (och U)

PFC and EMI filtering

Styrteknik: Binära tal, talsystem och koder D3:1

MESI-protokollets funktion i multiprocessorer

2.1 Installation of driver using Internet Installation of driver from disk... 3

Datorarkitekturer med operativsystem ERIK LARSSON

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

Datorteknik och datornät

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

DIGITALA PROJEKT Väderstation

Tentamen PC-teknik 5 p

Läsminne Read Only Memory ROM

SYNKRONISERING I EN SHARED MEMORY MULTIPROCESSOR

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

Digital IC konstruktion

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

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

Datorsystem. Tentamen

Materialplanering och styrning på grundnivå. 7,5 högskolepoäng

Rapport (1,5 HP) Lunds Universitet HT15

Det finns en handledning till kortet på hemsidan. AVR STK500.

Scalable Dynamic Analysis of Binary Code

Datorsystemteknik DAV A14 Föreläsning 1

Transkript:

Datorarkitekturer med operativsystem ERIK LARSSON

Personal Examinator: Erik Larsson 0462224654 Erik.Larsson@eit.lth.se (använd ämne/subject: EDT621) Dimitar Nikolov Dimitar.Nikolov@eit.lth.se

Kursmoment Laborationer Rapport Tentamen

Laborationer Laboration 1: Assemblerprogrammering (vecka 46) Lektion 4 november, laboration: 11 och 12 november Laboration 2: Cacheminne (vecka 47) Lektion 11 november, laboration: 17 och 18 november Laboration 3: Pipelining (vecka 48) Lektion 18 november, laboration 24 och 26 november Uppsamlingstillfälle (vecka 49) 1 december

Laborationer: Förberedelser För att påbörja laboration, måste elektronisk dugga vara godkänd. Dugga för respektive laboration hittas på hemsidan (Elektroniska frågor) Duggan öppnas måndag klockan 8:00 i vecka 46, 47 och 48. Varje dugga är öppen i 24 timmar Ett antal frågor ska besvaras Om alla rätt, duggan godkänd. Om inte alla rätt, gör om duggan (OBS, 30 minuter senare) Finns en provdugga som är öppen nu.

Laborationer: Regler För att göra laborationer måste du följa följande regler: Laborationsuppgifter ska lösas självständigt av varje laborationsgrupp Det är inte tillåtet att ge laborationsresultat eller laborationsrapport till en annan grupp Det är inte tillåtet att ta, kopiera eller på något annat sätt efterlikna en annan grupps resultat eller rapport Alla gruppmedlemmar måste ta aktiv del i alla delar av laborationen, det inkluderar att skriva programkod, testa och felsöka, genomföra experiment, skriva laborationsrapport och demonstrera (examination). Examinationen är alltid baserad på individuella resultat.

Rapport: Översikt Skriv rapport Bedöm rapporter Presentera rapport Opponera på rapport

Analys av tid i IEEE P1687 Access Time Analysis for IEEE P1687 Farrokh Ghani Zadegan, Student Member, IEEE, Urban Ingelsson, Member, IEEE, Gunnar Carlsson, Member, IEEE, Erik Larsson, Senior Member, IEEE Återanvänder ord från titel och förklarare dem lite This paper..beskriver vad som avhandlas i artikeln Berättar om hur fantastik utvecklingen är. (med ord och termer från titel och sammanfattning) Abstract The IEEE P1687 (IJTAG) standard proposal aims at providing a standardized interface between the IEEE Standard 1149.1 test access port (TAP) and on-chip embedded test, debug and monitoring logic (instruments), such as scan-chains and temperature sensors. A key feature in P1687 is to include Segment Insertion Bits (SIBs) in the scan-path to allow flexibility both in designing the instrument access network and in scheduling the access to instruments. This paper presents algorithms to compute the overall access time (OAT) for a given P1687 network. The algorithms are based on analysis for flat and hierarchical network architectures, considering two access schedules, i.e. concurrent schedule and sequential schedule. In the analysis, two types of overhead are identified, i.e. network configuration data overhead and JTAG protocol overhead. The algorithms are implemented and employed in a parametric analysis and in experiments on realistic industrial designs. Index Terms Access time calculation, IEEE P1687 IJTAG, P1687 network architectures, instrument access schedules 1 INTRODUCTION THE complexity and reduced feature sizes in recent integrated circuit (IC) designs, necessitates the provision of on-chip infrastructures for test, debug and monitoring. The IEEE Standard 1149.1 (a.k.a. JTAG 1 ) [1], originally intended for board test, has proved useful in ad hoc access to such on-chip infrastructure, as discussed in [2]. However, since JTAG has not been originally meant for accessing such onchip test, debug and monitoring logic (collectively called instruments), there are some drawbacks associated with its use in this context [2]. Furthermore, due to the lack of a uniform method of using JTAG to access the on-chip instruments, electronic design automation (EDA) support in this context is limited. Therefore, there is a need to standardize how JTAG circuitry should connect to the embedded logic. The IEEE P1687 standard proposal [2], [3], [4], [5], [6] aims to address this need of standardization by describing a flexible data transport infrastructure (called network) to interface JTAG to the chip internal instruments. P1687 has therefore received the informal name of Internal JTAG (IJTAG). When ratified, P1687 will specify methods for access and control of embedded instruments [3]. Here, instrument refers to any device with a shift-register [7] that could be included in the JTAG scan-path. Examples of instruments include embedded sensors, internal scan-chains and IEEE standard 1500 wrapped cores [8]. Compared with similar efforts for interfacing the on-chip instruments with JTAG, e.g. the works presented in [9], [10], [11], [12], [13], P1687 is charac- F. Ghani Zadegan, U. Ingelsson and E. Larsson are with the Department of Computer and Information Science, Linköping University, Sweden, SE-581 83, Linköping, Sweden e-mail: ghanizadegan@ieee.org, urban.ingelsson@liu.se, erik.larsson@liu.se. G. Carlsson is with Ericsson AB, Sweden e-mail:gunnar.carlsson@ericsson.com. The preliminary version of this work has been presented in the Asian Test Symposium, Shanghai, 2010. 1. Joint Test Action Group Visar på terized by introduction of a single JTAG instruction called GateWay ENable (GWEN) and a hardware component called problem Segment Insertion Bit som (SIB). The use of SIBs makes it possible to create a multitude of different networks måste for the same set lösas of instruments, and to have the benefit of flexibility in scheduling the access to those instruments, as will be discussed in this paper. To setup the scan-path, P1687 proposes to transport SIB control data together with instrument data on a single wire (the JTAG scan-path), and this will affect overall access time (OAT). Since IEEE P1687 has recently been proposed, only a few studies have considered it [4], [9], [14], [15]. In particular, no study has investigated the impact of IEEE P1687 on overall access time (OAT). Therefore, this paper analyzes (Sections 4, 5, and 7) the impact of IEEE P1687 on OAT and identifies two types of overhead associated with accessing embedded instruments using P1687, namely network configuration data (i.e. SIB control data) overhead and JTAG protocol overhead. Furthermore, it is shown that OAT depends on several parameters including the placement of instruments and SIBs. To make it possible to calculate OAT for large P1687 networks, a first OAT calculation tool, IJTAGcalc, is presented (Section 6) for both concurrent and sequential schedules. IJTAGcalc is used in a parametric analysis (Section 7) to investigate how OAT and the identified overhead types react to changes in the design variables. IJTAGcalc is also used to calculate OAT for a number of P1687 networks based on ITC 02 benchmark set (Sections 8 and 9). Tyvärr finns en massa 2 BACKGROUND AND PRIOR WORK In this section, JTAG is briefly introduced and the drawbacks associated with its application in accessing problem. the on-chip instruments are explained. It should be noted that such application is beyond the intended scope of JTAG. Furthermore, it will be discussed how P1687 addresses these drawbacks.

Välja ämne Förslag Ett protokoll för att hålla cacheminnet konsistent En schemaläggnings metod för multi-core Cacheminne i processor x Pipelines i processor y Inte ok Cacheminnen //För allmänt (täcks av kursen) Pipelines //För allmänt (täcks av kursen) Processor z //För stort område

Rapport: Presentationer Presentation (10 minuter) Fokusera på det viktiga Projektor kommer finnas i sal

Rapport: Opposition Opposition (5 minuter) förbered oppositionen väl fokusera på det relevanta i rapporten ha alltid argument för dina synpunkter; både för positiva och negativa kommentarer. Om något är bra (eller dåligt), säg vad och VARFÖR det är bra (dåligt). ställ direkta och konkreta frågor. Opponentsituationen är en DIALOG mellan respondenten och opponenten.

Rapport Godkänt: Skriv rapport Bedöm 5 rapporter Närvar vid två presentationstillfällen Presentera egen rapport Opponera på en rapport Skicka uppdaterad slutrapport

Viktiga datum 15 november: välj ämne Två tillfällen med bibliotekstöd 8 december klockan 12:00: skicka rapport till opponent, de som ska läsa och Erik Namnge rapport: förnamn.efternamn.pdf 14:e december klockan 12:00: skicka kommentarer Namnge dina kommentarer: förnamn.efternamn.pdf 16:e och 17:e december: presentationer 21:a december: skicka in slutrapport

Om du får förhinder? Reservtillfälle den 21 december. Tänk på att meddela din respondent och opponent eftersom din närvaro påverkar dem. Om din respondent inte kommer till ett presentationstillfälle kan du välja att opponera på någon annan, t ex på någon av rapporterna du läst eller så väljer du att opponera vid reservtillfället. Om din opponent inte kommer till ett presentationstillfälle kan du försöka ordna en ny opponent, t ex någon som läst din rapport eller så väljer du att presentera vid reservtillfället.

Reservtillfälle Reservtillfälle den 21 december. Om du vill närvara vid reservtillfället så måste du anmäla detta till Erik Larsson senast klockan 12:00 den 18 december. Vid reservtillfället blir det lite speciellt. Alla läser alla rapporter till de som behöver opponent och respondent. Det gör att alla är beredda att vara opponent och respondent. Vem som blir opponent och respondent bestäms vid reservtillfället.

Tentamen Skriftlig tentamen. Inga hjälpmedel Första tentamen: 2015-01-14 klockan 08:00-13:00 Maximalt 60 poäng Betygsgränser: Betyg 3: Minst 30 poäng Betyg 4: Minst 40 poäng Betyg 5: Minst 50 poäng

Litteratur Rekommenderad kursbok» Hennessy & Patterson: Computer Architecture, A Quantative Approach, Kaufmann, 2006, ISBN 978-0-12-370490-0. Övrig litteratur Artiklar:» Microprocessors» Microprocessors II» Reduced Instruction Set Computers» Blocked algorithms for caches (till lab 2) Föreläsningsanteckningar

Upplägg Föreläsningar: Syfte: Ge överblick. Underlätta läsning av kursbok. Förberedelser: Inga. Kan skriva ut PDF för att underlätta anteckningar Lektioner: Syfte: Introducerar laborationer Förberedelser: Ha läst kursboken rörande laboration. Laborationer: Syfte: Ge praktisk kunskap och förståelse Förberedelser: Ha gjort dugga och studerat laborationsmaterial

Datorarkitekturer med operativsystem ERIK LARSSON

Datorer

Marknad för processorer

Trender

IC tillverkning

IC tillverkning

IC, die och wafer AMD Opteron X2: 300mm wafer, 117 chips, 90nm technology X4: 45nm technology

Processorn insida AMD Barcelona: 4 processor cores

Datorns delar Output device Network cable Input device Input device

Lagring av data och instruktioner Flyktiga (Volatile) minnen main memory Förlorar information (instruktioner och data) när strömmen stängs av Icke-flyktiga (Non-volatile) secondary memory Magnetic disk (hårddisk) Flash memory Optical disk (CDROM, DVD)

Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction

Dator Adress Data 0 1111 0000 1 1010 0101 2 1100 0011 OP 3 0011 0011 UT ALU IN 1 IN 2 4 1111 1111 5 0000 1111 6 1111 0000 7 1010 1010 Status Kontrollenhet

Dator (1) Hämta instruktion på 00001000 (där PC pekar) Fetch (2) Flytta instruktionen 0000101110001011 till CPU (3) Avkoda instruktionen: 00001 MOVE, 01110001 Adress, 011 Register 3 (4) Hämta data på adress: 01110001 Execute (5) Lagra datan i register 3 Primärminne Address Instruktion/data 00001000 0000101110001011 00001001 0001101110000011 00001010 0010100000011011 00001011 0001001110010011 Data Instruktioner Register CPU Kontrollenhet Aritmetisk Logisk Enhet (ALU)

Klockan En klocka styr hastigheten på digital hårdvara Klock (cykler) Dataöverföring och beräkningar Uppdatering Klockperiod Klockperiod: tid för en klockcykel (T) e.g., 250ps = 0.25ns = 250 10 12 s Klockfrekvens: cykler per sekund e.g., 4.0GHz = 4000MHz = 4.0 10 9 Hz

Datorprogram Högnivåspråk Assemblyspråk Maskinspråk

Datorer Desktop datorer Generella, olika program beroende på användare Viktigt med kostnad/prestanda avvägning Server computers Nätverksbaserade Hög prestanda, hög pålitlighet Små servers till mycket stora system Inbyggda system (Embedded computers) Datorn en del av systemet Ofta hårda krav på effektförbrukning, prestanda/ kostnad

Prestanda Vilket flygplan har bäst prestanda? Boeing 777 Boeing 747 BAC/Sud Concorde Douglas DC-8-50 Boeing 777 Boeing 747 BAC/Sud Concorde Douglas DC- 8-50 0 100 200 300 400 500 Passenger Capacity 0 2000 4000 6000 8000 10000 Cruising Range (miles) Boeing 777 Boeing 777 Boeing 747 BAC/Sud Concorde Douglas DC-8-50 Boeing 747 BAC/Sud Concorde Douglas DC- 8-50 0 500 1000 1500 Cruising Speed (mph) 0 100000 200000 300000 400000 Passengers x mph

Prestanda Algoritm Bestämmer vilka och hur många operationer som ska utföras Programmeringsspråk, kompilator, arkitektur Bestämmer hur många maskininstruktioner som ska utföras per operation Processor och minnessystem Bestämmer hur snabbt instruktioner exekveras I/O (Input/Output) och operativsystem Bestämmer hur snabbt I/O operationer ska exekveras

Mäta prestanda? Svarstid: Hur lång tid tar en task/jobb/program? Throughput Totalt arbete per tidsenhet» e.g., tasks/transactions/ per timma Hur påverkas svarstid och throughput av: Ersätta processorn med en snabbare? Lägga till fler processorer? Vi tittar på svarstider.

Mäta exekveringstid Förbrukad tid Total svarstid, inklusive alla aspekter» CPU tid, I/O, OS overhead, idle tid Ger systemets prestanda Processor tid Tid för ett givet jobb (task/program), exklusivt I/O tid, andra jobbs del

Exekveringstid Antal klockcykler för att exekvera en maskininstruktion Clocks per instruction (CPI) Tid för en klockcykel Tid för en klockperiod (T) Frekvens (f) är: f=1/t Antal maskininstruktioner Instruction count (IC) Exekveringstid i klockcykler = CPI x T x IC

CPI (1) Hämta instruktion på 00001000 (där PC pekar) Fetch (2) Flytta instruktionen 0000101110001011 till CPU (3) Avkoda instruktionen: 00001 MOVE, 01110001 Adress, 011 Register 3 (4) Hämta data på adress: 01110001 Execute (5) Lagra datan i register 3 Primärminne Address Instruktion/data 00001000 0000101110001011 00001001 0001101110000011 00001010 0010100000011011 00001011 0001001110010011 Data Instruktioner Register CPU Kontrollenhet Aritmetisk Logisk Enhet (ALU)

Exekveringstid Exekveringstid i klockcykler = CPI x T x IC Prestanda kan ökas genom: Öka klockfrekvensen (f) (minska T) Minska antal instruktioner (IC) Minska antal klockcykler per instruktion (CPI)

Exekveringstid Prestanda bestäms av: Algoritmer: IC, delvis CPI Programmeringsspråk: IC, CPI Kompilator: IC, CPI Hårdvaran: IC, CPI, T Antal instruktioner (IC), Klockcykler per instruktion (CPI) Tid för en klockcykel (T)

Relativ prestanda Definition av prestanda = 1/exekveringstid X är n gånger snabbare än Y Performance X Performance Y = Execution time Y Execution time X = n Exempel: tid att exekvera ett program 10s på dator A, 15s på dator B Execution TimeB / Execution TimeA = 15s / 10s = 1.5 Så A är 1.5 gånger snabbare än B

Exekveringstid (exempel) Dator A: 2GHz klocka, 10s exekveringstid (CPU tid) för ett givet program Utveckla dator B: Sikta på 6s CPU tid för samma program Möjligt med högre klockfrekvens, men leder till 20% fler klockcykler (1.2 x klockcykler) Hur snabb måste dator B vara (CPUtid=CPI x T x IC)? Dator A: 10 = CPI x IC x 1/2G // ger: CPI x IC=10 x 2G Dator B: 6 = CPI x IC x 1.2 x 1/f // ger f = CPI x IC x 1.2 / 6 Klocka för B: f = 10 x 2G x 1.2 / 6 = 4GHz

Prestandajämförelse (exempel) Givet: Dator A: Frekvens = 4 GHz, CPI = 2.0 Dator B: Frekvens = 2 GHz, CPI = 1.2 A är snabbast Vilken är snabbast och med hur mycket? CPU tid A = CPI x IC x T = 2 x IC / 4G = IC x 500 ps CPU tid B = CPI x IC x T = 1.2 IC / 2G = IC x 600 ps Hur mycket snabbare? CPU tid B / CPU tid A = (1.2 x IC x 500 ps) / (2 x IC x 250 ps ) = 1.2 med så här mycket

Prestanda för singleprocessorer Begränsning: effekt, instruction-level parallelism,svarstider från minne

Multiprocessorer Multicore mikroprocessorer Mer än en processor (core) per chip (IC) Kräver parallel programmering Jämför med instruktionsnivå parallellism» Hårdvara exekverar flera instruktioner samtidigt» Göms för programmeraren Svårt» Effektiv programmering» Kunskap hos programmerare» Balansera jobb (tasks)» Optimera kommunikation och synkronisering

Amdahls lag Förbättra en aspekt (sida) av en dator och förvänta sig proportionell förbättring: T improved = T affected improvement factor + T unaffected Exempel: Antag ett program med 100s exekveringstid där 80s används för multiplikation. Hur mycket snabbare (n) måste multiplikationen göras för att systemet ska bli 5 gånger snabbare? En olösbar ekvation. 5X (100/5) 80 20 + = n 20 Tid för icke multiplikation

Amdahls lag Antag att ett program (algoritm) implementeras så att f är den del som måste exekveras sekventiellt. Resten (1-f) kan exekveras parallellt på p enheter. f 1-f T s f (1-f)/p T p Exekveringstid: T p =f*t s +(1-f)*T s /p Speedup: S=T s /T p =T s /(f*t s +(1-f)*T s /p)=1/(f+(1-f)/p) Efficiency: E=S/p=1/(f*(p-1)+1)

Amdahls lag Antag att ett program (algoritm) implementeras så att f är den del som måste exekveras sekventiellt. Resten (1-f) kan exekveras parallellt på p enheter. f=20% (f-1)/4=20% (f-1)/4=20% (f-1)/4=20% (f-1)/4=20% Exempel: om f=20% och man har 4 processorer, fås: Speedup S=1/(0.2+(1-0.2)/4)= 2.5 Efficiency E=1/(0.2*(4-1)+1)= 0.625 Även en liten bit sekventiell exekvering (1/f) leder till begränsningar på speedup och efficiency

Effektförbrukning Effektförbrukning i CMOS består av statisk del och en dynamisk del Den statiska delen förbrukas hela tiden och ökar med antalet transistorer Den dynamisk delen förbrukas när transistor går från 0->1 och från 1->0. Mer aktivitet ger högre förbrukning.

Dynamisk effektförbrukning Uttryck för dynamisk effektförbrukning: Power = Capacitive load Voltage 2 Frequency 30 Hur värden ändrats över tiden 5V 1V 1000

Effektförbrukning Intel 80386 förbrukade ~ 2 W 3.3 GHz Intel Core i7 förbrukar 130 W Värme måste bort från det 1.5 x 1.5 cm stora chipet

Minska effekt (power) Dynamic Voltage-Frequency Scaling Spänning och frekvens kan ändras Low power tillstånd för DRAM Överklockning, stäng av cores som inte används Balansera arbetet

Minska effektförbrukning Antag en ny CPU som har: 85% kapacitiv last järmfört med äldre CPU 15% lägre spänning och 15% lägre frekvens P 4 2 new Cold 0.85 (Vold 0.85) Fold 0.85 = = 0.85 = 2 P C V F old old old old 0.52 Effektväggen (power wall) Kan inte minska spänningen (voltage) mer Kan inte få bort mer värme Hur öka prestandan?

Sammanfattning Kostnad/prestanda blir bättre och bättre På grund av teknologiutveckling Hierarkier av abstraktionsnivåer I både hårdvara och programvara Gränssnittet mellan programvara och hårdvara är processorns instruktioner: Instruction set architecture (ISA) Exekveringstid ett bra mått på prestanda Effektförbrukning är en begränsande faktor Parallellism kan förbättra prestanda