Datorarkitekturer med operativsystem ERIK LARSSON Personal Examinator: Erik Larsson 0462224654 Erik.Larsson@eit.lth.se Dimitar Nikolov Dimitar.Nikolov@eit.lth.se Kursmoment Laborationer Laborationer Rapport Tentamen Slutbetyg sätts på tentamenspoäng Kurshemsida: http://www.eit.lth.se/kurs/edt621 Laboration 1: Assemblerprogrammering (vecka 45) Lektion 30 oktober, laboration: 4 och 5 november Laboration 2: Cacheminne (vecka 46) Lektion 6 november, laboration: 11 och 13 november Laboration 3: Pipelining (vecka 47) Lektion 13 november, laboration 19 och 21 november Uppsamlingstillfälle (vecka 48) 27 och 28 november
Laborationer: Förberedelser Laborationer: Regler 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 45, 46 och 47. 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 och en uppsamling där alla duggor kan göras måndag vecka 48 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. Laborationer: Regler Om du bryter mot någon av reglerna ovan, kan du komma att rapporteras till Disciplinnämnden vid Lunds Universitet (läs mer om Disciplinnämnden: http://www5.lu.se/anstaelld/undervisa/disciplinaerenden) En laborationsrapport ska lämnas in för varje laboration. Alla medlemmar i gruppen måste signera laborationsrapporten. Genom att signera laborationsrapporten bekräftar du att rapporten är ditt eget arbete och att du har följt reglerna. Rapport: Översikt Skriv rapport i valfritt ämne (fokusera) inom datorarkitektur (5-6 sidor) Välj ämne (senast 1 november) genom att skicka email till Erik Larsson (Erik.Larsson@eit.lth.se) Rapport skickas senast 1 december till Erik. OBS, skicka till emailaddress: Erik.Larsson.lu@analys.urkund.se (Urkund används för att kontrollera eventuellt plagiat) Rapport skickas till opponentgrupp senast 1 december (för respektive opponentgrupp se hemsidan) Presentera rapport den 9:e december 13-17 eller den 10:e december 13-17. Obligatorisk närvaro vid båda tillfällen. Biblioteksstöd den 19 november och 21 november (se schema)
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. IEEE TRANSACTIONS ON COMPUTERS, VOL. X, NO. Y, MONTH YYYY 1 Rapport: Innehåll Titel» En väldigt kort sammanfattning av rapporten Sammanfattning Inledning» Återanvänd ord från titeln» Introducera och få fram syfte med rapport Diskussion och/eller jämförelse Referenser» Ghani Zadegan och kollegor visar..[1].» [1] F. Ghani Zadegan, U. Ingelsson, G. Carlsson and E. Larsson, Access Time Analysis for IEEE P1687, IEEE Transactions on Computers, ISSN: 0018-9340 Digital Object Identifier: 10.1109/TC.2011.155 Analys av tid i IEEE P1687 Å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) 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 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 T HE 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). 2 BACKGROUND AND PRIOR WORK Tyvärr finns en massa 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. Digital Object Indentifier 10.1109/TC.2011.155 0018-9340/11/$26.00 2011 IEEE Rapport: Innehåll Beskriv vad andra gjort i området. Ska bli klart att din rapport behövs. Beskriv din lösning Slutsatser. Title Abstract Introduction Related work Problem formulation Proposed scheme Experimental results Conclusions References Bra referenser.! Väldigt kort sammanfattning av arbete Sammanfattning där ord från titel återanvänds. Problem som arbete beskriver tydligt Som abstract men mer. Problem som beskrivs blir tydligt. Definiera problemet så bra det går. Gärna med något som kan mätas Beskriv experiment du gjort som är relaterade till problem formuleringen Rapport: Innehåll Ha en röd tråd hur hänger delarna i rapporten ihop med varandra Enkelt sätt:» I det här avsnittet kommer X, Y och Z förklaras.» För X innebär att a, b och c ska förklaras. A är. B är Och sedan är c viktigt.» När det gäller Y, så.» Och till slut, när det gäller Z, så.. Skriv INTE en deckare» Resultaten ska inte bli en överraskning!» Skriv: Kalle är mördaren. Och motivera genom rapporten varför det är så.
Rapport: Presentationer Rapport: Opposition 9 december klockan 13-17 (3T:C525) och 10 december klockan 13-17 (3T:C525) Obligatorisk närvaro Presentation (10 minuter) Obligatoriskt att medverka vid presentation Fokusera på det viktiga Projektor kommer finnas i sal Opposition (5 minuter) obligatoriskt att medverka vid opposition 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: Viktiga datum Rapport 1 november: Välj ämne 19:e och 21:e november: Biblioteksstöd 1 december: Skicka rapport till Eriks Urkundsmail 1 december: Skicka rapport till opponent 5 december: Skicka frågor och kommentarer på den rapport som granskats till Erik 9:e december 13-17: presentationer 10:e december 13-17: presentationer 22:e december: Skicka till Erik en uppdaterad rapport och ett dokument som talar om vilka ändringar som gjorts Godkänt: Skriv rapport Närvaro vid båda presentationstillfällen Presentera egen rapport (10 minuter) Opponera på en rapport (5 minuter)» Vem som opponerar på vem kommer finnas på kurshemsidan.
Tentamen Skriftlig tentamen. Inga hjälpmedel Första tentamen: 2013-12-16 klockan 08:00-13:00 Maximalt 60 poäng Betygsgränser: Betyg 3: Minst 30 Betyg 4: Minst 40 Betyg 5: Minst 50 Litteratur Rekommenderad kursbok» Hennessy & Patterson: Computer Architecture, A Quantative Approach, Kaufmann, 2006, ISBN 978-0-12-370490-0. Alternativa kursböcker» William Stallings: Computer Organization and Architecture, Prentice Hall International, Inc..» Sven Eklund, Avancerad datorarkitektur, Studentlitteratur, 1994.» Andrew S. Tanenbaum, Structured Computer Organization, 4th edition, Prentice Hall International, Inc., 1999.» V. C. Hamacher, et al.: Computer Organization, 4th edition, McGraw-Hill, 1996. Litteratur Alternativa kursböcker» Brorsson, M: Datorsystem: program- och maskinvara. Studentlitteratur AB» Silberschatz, A, Galvin, P & Gagne, G: Applied Operating System Concepts. John Wiley & Sons Övrig litteratur Artiklar:» Microprocessors (till tentamen)» Microprocessors II (till tentamen)» Reduced Instruction Set Computers (till tentamen)» 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åels Förberedelser: Ha gjort dugga och studerat laborationsmaterial
Datorarkitekturer med operativsystem ERIK LARSSON Översikt Dator Program Prestanda Datorer Datorer Desktop datorer Generella, olika program beroende på användare Viktigt med kostnad/prestanda avvägning Server computers Närverksbaserade 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
Marknad för processorer Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Datorns delar Mus Output device Network cable Optisk mus LED lyser upp underlag Liten kamera Enkel bildbehandlingsprocessor» Söker x,y förflyttningar Knappar och hjul Output device Input device
Skärm Datorns insida LCD skärm: bildelement (pixels) Speglar innehållet i frame buffer memory Processorn insida Lagring av data och instruktioner AMD Barcelona: 4 processor cores Volatile main memory Förlorar information (instruktioner och data) när strömmen stängs av Non-volatile secondary memory Magnetic disk (hårddisk) Flash memory Optical disk (CDROM, DVD)
IC tillverkning IC, die och wafer AMD Opteron X2: 300mm wafer, 117 chips, 90nm technology X4: 45nm technology Trender Teknologitrender Integrated circuit technology Transistor density: 35%/year Die size: 10-20%/year Integration overall: 40-55%/year DRAM capacity: 25-40%/year (slowing) Flash capacity: 50-60%/year 15-20X cheaper/bit than DRAM Magnetic disk technology: 40%/year 15-25X cheaper/bit then Flash 300-500X cheaper/bit than DRAM
Bandbredd och Latency (?) Transistorer och ledningar Bandwidth or throughput Total work done in a given time 10,000-25,000X improvement for processors 300-1200X improvement for memory and disks Latency or response time Time between start and completion of an event 30-80X improvement for processors 6-8X improvement for memory and disks Feature size Minimum size of transistor or wire in x or y dimension 10 microns in 1971 to.032 microns in 2011 Transistor performance scales linearly????» Wire delay does not improve with feature size! Integration density scales quadratically??? Effektförbrukning 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 2 Pnew Cold 0.85 (Vold 0.85) Fold 0.85 4 = = 0.85 = 0.52 2 P C V F old old old old I CMOS IC teknologier: Power = Capacitive load Voltage 2 Frequency 30 5V 1V 1000 Effektväggen (power wall) Kan inte minska spänningen (voltage) mer Kan inte få bort mer värme Hur öka prestandan?
Prestanda för singleprocessorer Multiprocessorer Begränsning: effekt, instruction-level parallelism,svarstider från minne Multicore mikroprocessorer Mer än en processor 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 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 och 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? 5X (100/5) 80 20 = + 20 n Tid för icke multiplikation 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. 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) 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
Prestanda 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 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 500 1000 1500 Boeing 777 Boeing 747 BAC/Sud Concorde Douglas DC- 8-50 Boeing 777 Boeing 747 BAC/Sud Concorde Douglas DC- 8-50 0 2000 4000 6000 8000 10000 Cruising Range (miles) 0 100000 200000 300000 400000 Cruising Speed (mph) Passengers x mph Svarstid (response time) och throughput Relativ prestanda Svarstid: Hur lång tid tar en task (jobb) 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. 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å A, 15s på B Execution TimeB / Execution TimeA = 15s / 10s = 1.5 Så A är 1.5 gånger snabbare än B
Mäta exekveringstid Klockning 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 jobs del En klocka styr hastigheten på digital hårdvara Clock (cycles) Data transfer and computation Update state Clock period Klockperiod: tid för en klockcykel e.g., 250ps = 0.25ns = 250 10 12 s Clock frequency (rate): cycles per second e.g., 4.0GHz = 4000MHz = 4.0 10 9 Hz CPU tid CPU Time = CPU Clock Cycles Clock Cycle Time = CPU Clock Cycles Clock Rate Prestanda kan öka genom: Minska antal klockcykler (clock cycles) Öka klockfrekvensen (clock rate) CPU tid (exempel) Dator A: 2GHz klocka, 10s CPU tid för ett givet program Utveckla dator B: Sikta på 6s CPU tid Möjligt med högre klockfrekvens, men leder till 20% fler klockcykler (1.2xklockcykler) Hur snabb måste dator B vara? Clock Rate B = Clock Cycles B CPU Time B = 1.2 Clock Cycles A 6s Clock Cycles A = CPU Time A Clock Rate A =10s 2GHz = 20 10 9 1.2 20 109 Clock Rate B = = 24 109 = 4GHz 6s 6s
Antal instruktioner och CPI CPI: Clocks per instruction Clock Cycles = Instruction Count Cycles per Instruction CPU Time = Instruction Count CPI Clock Cycle Time Instruction Count CPI = Clock Rate Instruction Count för ett program Bestäms av program, ISA och compiler Medeltal av cycles per instruction Bestäms av CPU hardware Om olika instruktioner -> annat CPI» Medeltal av CPI påverkas av instruction mix CPI exempel Dator A: Cykeltid (cycle time) = 250ps, CPI = 2.0 Dator B: Cykeltid (cycle time) = 500ps, CPI = 1.2 Samma instruktioner (ISA) Vilken är snabbast och hur mycket? CPU Time A CPU Time B CPU Time B CPU Time A = Instruction Count CPI Cycle Time A A = I 2.0 250ps = I 500ps = Instruction Count CPI Cycle Time B B = I 1.2 500ps = I 600ps I 600ps = = 1.2 I 500ps med så här mycket A är snabbast Prestanda sammanfattning Prestanda avgörs av: Algoritmer: påverkar IC, delvis CPI Programmeringsspråk: påverkar IC, CPI Kompilator: påverkar IC, CPI Instruction set architecture (ISA): påverkar IC, CPI, Tc Effektförbrukning Effektförbrukning i CMOS består av dynamisk del och statisk del Dynamisk energi/effekt förbrukas när transistor går från 0- >1 och från 1->0 och beskrivs med: Power = Capacitive load Voltage 2 Frequency Minska klockfrekvens minskar effekt (power) men inte energi (energy).
Effekt (Power) Minska effekt (power) 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 Dynamic Voltage-Frequency Scaling Low power tillstånd för för DRAM, disks Överklockning, stäng av cores som inte används Statisk effekt (power) Sammanfattning Ström (I) (statisk del) x spänning Ökar med antal transistorer Gating (stäng av) delar av krets Kostnad/prestanda blir bättre och bättre På grund av teknologiutveckling Hierarkier av abstraktionsnivåer I både hårdvara och programvara Instruction set architecture (ISA) hardware/software interface Execution time: the best performance measure Power is a limiting factor Use parallelism to improve performance