Pipelining i Intel 80486

Relevanta dokument
Hantering av hazards i pipelines

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)

Datorarkitekturer med operativsystem ERIK LARSSON

Grundläggande datavetenskap, 4p

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

Datorsystemteknik DVGA03 Föreläsning 8

Processor pipelining genom historien (Intel i9-intel i7)

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Datorarkitekturer med operativsystem ERIK LARSSON

Pipelining i Intel Pentium II

Digitala System: Datorteknik ERIK LARSSON

TSEA28 Datorteknik Y (och U)

Närliggande allokering Datorteknik

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

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 ERIK LARSSON

Parallellism i CDC 7600, pipelinens ursprung

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

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

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

4. Pipelining. 4. Pipelining

Digitalteknik och Datorarkitektur 5hp

TSEA28 Datorteknik Y (och U)

Digitala System: Datorteknik ERIK LARSSON

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Datorteknik ERIK LARSSON

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

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

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

Tentamen den 18 mars svar Datorteknik, EIT070

Arm Cortex-A8 Pipeline

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON

Exempeltentamen Datorteknik, EIT070,

Datorarkitekturer med Operativsystem

Hantering av hazards i multi-pipelines

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

MESI i Intel Core 2 Duo

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

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

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

Minnet från processorns sida Datorteknik

DEC Alpha instruktions Arkitektur

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

Vad bör göras? Steg 1. RISC => pipelining. Parallellism. Pipelining. Nya LDA 13. RISC(reduced instruction set computer) Öka klockfrekvensen

Datorarkitekturer med operativsystem ERIK LARSSON

DatorsystemteknikDAVA14 Föreläsning 9

Föreläsningsanteckningar 4. Pipelining

Parallellism i NVIDIAs Fermi GPU

Cacheminne i en Intel Core 2 Duo-processor

Datorteknik och datornät. Case Study Topics

Spekulativ exekvering i CPU pipelining

LABORATION DATORTEKNIK D. Pipelining. Namn och personnummer. Version: (OS,OVA,AN)

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

Tentamen den 17 mars 2016 Datorteknik, EIT070

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

What Is Hyper-Threading and How Does It Improve Performance

Cache-koherens protokoll MESI och MOSI

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

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

Superscalar Bra: Hårdvaran löser allt: Hårdvara detekterar poten6ell parallellism av instruk6oner Hårdvara försöker starta exekvering (issue) av så

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

Datorarkitektur. Fö 9: Datorarkitektur. Datororganisation. Typiska Arkitekturattribut. Introduktion till datorarkitektur.

Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor

Jacquards vävstol, 1801

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

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

Cacheminne Intel Core i7

MESI-protokollets funktion i multiprocessorer

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

Datorarkitekturer med operativsystem ERIK LARSSON

Digitalteknik och Datorarkitektur

Datorarkitekturer med operativsystem ERIK LARSSON

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

Digitalteknik och Datorarkitektur 5hp

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

32 Bitar Blir 64 Sammanfattning

Det finns en hemsida. Adressen är

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

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

Datorteknik ERIK LARSSON

Föreläsning 2. Operativsystem och programmering

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn.

Snapdragon 810: Cacheminnet

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

Hyper-Threading i Intelprocessorer

Cache coherence hos multicoreprocessorer

Cacheminne i en AMD Opteron Processor

Rapport (1,5 HP) Lunds Universitet HT15

Jämförelse av skrivtekniker till cacheminne

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

Datorteknik ERIK LARSSON

HF0010. Introduktionskurs i datateknik 1,5 hp

Datorsystem. Tentamen

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok.

Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.

Intel Silverthornes front-end

Datorsystem. Exempeltentamen

Foto: Rona Proudfoot (some rights reserved) Datorarkitektur 1. Datapath & Control. December

Transkript:

Lunds Universitet Pipelining i Intel 80486 EITF60 Datorarkitekturer med operativsystem Martin Wiezell 2017-12-04 Abstract This paper gives a brief description of the instruction pipeline of the Intel 80486 microprocessor as well as describes some of its distinct features. Two key characteristics of the processor s pipeline are examined and explained, these being the fact that there is no data load delay and one of its drawbacks is also looked upon, this being its pointer load delay.

Innehåll Inledning 2 Syfte 2 Instruktions pipelinen 3 Överblick 3 Utmärkande egenskaper 3 Referenser 5 1

Inledning Intel släppte sin första 80486 processor, även känd som i486, 1989. Den var efterföljaren till 80386 som släpptes 1985. (Burt, Jeff, (2013), 30 Years Ago: Intel 386, 486 Chips Set the Stage for Windows Dominance, http://www.eweek.com/pc-hardware/30-years-ago-intel-386-486-chips-set-the-stage-for-wind ows-dominance (hämtad 2017-12-04)) Det finns ett antal olika varianter av processorn som kom ut de följande åren, som skiljer sig åt till viss del. (Necasek, Michal, (2015), Intel OverDrive Part 1: 486 OverDrive, http://www.os2museum.com/wp/486-overdrive/ (hämtad 2017-12-04)) Syfte Den här rapporten ska ge en inblick i Intels 80486 instruktions pipeline. De pipeline steg som processorn använder sig av ska kort förklaras och några av de nya och utmärkande funktionerna i pipelinen och hur de har löst vissa problem ska även beskrivas. 2

Instruktions pipelinen Överblick 80486 instruktions pipelinen består av 5 olika steg, dessa är följande; FI, Fetch Instructions, det första steget som utförs. I det här steget hämtas en instruktion eller flera instruktioner från minnet. D1, Main Instruction Decode, första instruktionsdekodnings steget. Upp till tre bytes dekodas i detta steg. Instruktioner med en OP-kod på två bytes tar två klockcykler att dekoda i detta steg. D2, Secondary Instruction Decode är andra instruktionsdekodnings steget. Det dekodar klart det som påbörjades i D1, då den inte hinner dekoda klart på 1 klockcykel. Här beräknas även adresser. EX, Execute Stage, den cykel eller cykler, som exekveringen sker. WB, Write-Back Stage skriver resultat till register, antingen från cachen eller med ett resultat från ALUn. Utmärkande egenskaper Ett vanligt förekommande problem bland de RISC processorer som fanns när 486an var ny var att det kunde uppstå fördröjningar i pipelinen vid inladdning av data. Detta på grund av att datan var lagrad i en off-chip cache. Inladdning av data från denna cache tog vanligtvis en eller två klockcykler att utföra. Denna fördröjning kunde dock undvikas med hjälp av kompilatorn som upptäckte fördröjningen, och såg till att data som laddas inte behövs i nästa instruktion. För att processorn skulle kunna köra gammal kod som redan var kompilerad för äldre processorer, och samtidigt vara snabbare än de äldre, var man tvungen att i pipelinen utveckla ett system för att undvika dessa fördröjningar. I processorn finns därför en förbikopplings väg som tillåter att man både kan skriva till ett register och till ALUn samtidigt, vilket tar bort detta problem. 3

Figur 1: exempel på instruktioner som hade orsakat fördröjning utan en förbikopplings väg. (Crawford, John, (1990), The execution pipeline of the Intel i486 CPU, Intel Corporation, s.256) Fördröjning kan även förekomma vid längre, enstaka instruktioner, och elimineras då med hjälp av det faktum att processorn har en on-chip cache som den kan hämta data ifrån på 1 klockcykel. Detta är möjligt då de adresser som data ska hämtas ifrån kan beräknas under D2, det andra dekodnings steget. Figur 2: exempel på instruktion som hade orsakat fördröjning om processorn inte hade en on-chip cache eller förbikopplings väg. (Crawford, John, (1990), The execution pipeline of the Intel i486 CPU, Intel Corporation, s.256) Ett annat problem i pipelinen är det faktum att det kan uppstå fördröjningar när värden som används för beräkning av adresser ska laddas. Värdena måste finnas tillgängliga senast i början av nästa instruktions andra dekoder steg, eftersom att adresser beräknas då. Om värdet skrivs till ett register som kommer att användas som bas register av följande instruktion, måste processorn vänta en klockcykel för att hinna hämta data från cachen i exekvering steget och sedan skriva till registret i write-back steget. Eftersom att det finns en bypass kan den hämta det som ligger i ett register samtidigt som föregående instruktion skriver till det, i sitt write-back steg, och undviker därför en ytterligare fördröjning på en klockcykel. (Crawford, John, (1990), The execution pipeline of the Intel i486 CPU, Intel Corporation, s.254-258) Figur 3: exempel på instruktioner som orsakar fördröjning på grund av att adresser beräknas i andra dekodnings steget. (Crawford, John, (1990), The execution pipeline of the Intel i486 CPU, Intel Corporation, s.257) 4

Referenser Burt, Jeff, (2013), 30 Years Ago: Intel 386, 486 Chips Set the Stage for Windows Dominance, http://www.eweek.com/pc-hardware/30-years-ago-intel-386-486-chips-set-the-stage-for-wind ows-dominance (hämtad 2017-12-04) Necasek, Michal, (2015), Intel OverDrive Part 1: 486 OverDrive, http://www.os2museum.com/wp/486-overdrive/ (hämtad 2017-12-04) Crawford, John, (1990), The execution pipeline of the Intel i486 CPU, Intel Corporation, s.254-258 5