DEC Alpha instruktions Arkitektur

Relevanta dokument
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)

Hantering av hazards i pipelines

Pipelining i Intel Pentium II

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

Pipelining i Intel 80486

Närliggande allokering Datorteknik

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

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

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

Datorarkitekturer med operativsystem ERIK LARSSON

Datorsystemteknik DVGA03 Föreläsning 8

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

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

Grundläggande datavetenskap, 4p

Arm Cortex-A8 Pipeline

Datorsystem. Tentamen

Hantering av hazards i multi-pipelines

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

TSEA28 Datorteknik Y (och U)

Datorteknik ERIK LARSSON

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

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

TSEA28 Datorteknik Y (och U)

Digitala System: Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON

32 Bitar Blir 64 Sammanfattning

Parallellism i CDC 7600, pipelinens ursprung

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 12 januari 2017 Datorarkitektur med operativsystem, EDT621

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

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

Datorarkitekturer med operativsystem ERIK LARSSON

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

Digitalteknik och Datorarkitektur

SIMD i Intel s P5- baserade Pentium MMX

Pipeline hos ARM Cortex-A53 och ARM Cortex-A73

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

Exempeltentamen Datorteknik, EIT070,

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

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

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

Processor pipelining genom historien (Intel i9-intel i7)

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

Introduktion till ARM Cortex-M4

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

Föreläsningsanteckningar 2. Mikroprogrammering I

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

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

MESI i Intel Core 2 Duo

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

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

Datorteknik ERIK LARSSON

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

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

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

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

Datorarkitekturer med operativsystem ERIK LARSSON

Tentamen. Datorteknik Y, TSEA28

Digitala System: Datorteknik ERIK LARSSON

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

DatorsystemteknikDAVA14 Föreläsning 9

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

CE_O3. Nios II. Inför lab nios2time

Spekulativ exekvering i CPU pipelining

Datorarkitekturer med operativsystem ERIK LARSSON

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

Grunderna i stegkodsprogrammering

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

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.

Tenta i Digitalteknik

Laboration nr2 med enchipsdatorn PIC-16F877

Föreläsningsanteckningar 4. Pipelining

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

Datorsystem. Tentamen

TSEA28 Datorteknik Y (och U)

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

Datorteknik och datornät. Case Study Topics

Tentamen i EIT070 Datorteknik

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

Tentamen. Datorteknik Y, TSEA28

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Datorsystem. Exempeltentamen

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.

Datorsystem. Tentamen

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

Styrteknik: MELSEC FX och numeriska värden

Föreläsning 3.1: Datastrukturer, en översikt

Digital- och datorteknik

Introduktion till MySQL

Datorsystemteknik för E/D

Assemblerprogrammering för ARM del 2

OBS!! Detta är DEL 2 av tentan. För att få ut denna måste du ha lämnat in del 1. Om du inte fått ut del 1 bör du meddela skrivningsvakten. OBS!!

Digital- och datorteknik

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Andreas Ehliar

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Transkript:

DEC Alpha instruktions Arkitektur David Ekberg December 4, 2017

Innehållsförteckning 1 Sammanfattning...3 2 Bakgrund...3 3 Syfte...3 4 Pipeline...4 4.1 Datatyper...4 4.2 Instruktions arkitektur...5 5 Slutsats...6 6 Referenser...6

1 Sammanfattning Alpha, Som tidigare är känt som Alpha AXP är en 64-bitars reducerad instruktionsuppsättning för databehandling (RISC) som är utvecklat av Digital Equipment Corporation(DEC). Utformat för att ersätta 32-bitars VAX-komplexa instruktionsuppsättningar (CISC). Alla register är 64 bitar långa och alla operationer utförs i dessa register. Instruktionerna är 32 bitar långa och de minnesoperationer som utförs är laddning och lagring, denna arkitektur består av 6 olika format. Alpha har ett enkelt pipelinesystem där man integrerat åtgärder för att undvika faror. Detta innebär också att det finns saknade instruktionsverktyg. Designen innehåller sex olika datatyper där man tagit hänsyn till tidigare programvara för att öka kompatibiliteten. 2 Bakgrund Alpha uppkom ur ett tidigare 32-bitars RISC-projekt med namnet Prism som, som i sig själv är en produkt av flera tidigare projekt. Den flexibla designen som Prism var avsedd till att vara, stöder både Unix liknande applikationer och befintliga VMS-program från VAX efter konvertering. Denna nya RISC arkitekturen kunde stödja VMS operativsystemet och köras i rimlig hastighet utan någon konvertering. Uppgraderingen av Prisms 32-bitars system till Alphas 64-bitars blev den nya normen hos RISC leverantörer. Alphas implementation var ett stort bidrag till mikroprocessorindustrin, då industrin präglades av automatiserade design och layoutverktyg. Alphas chip möjliggjorde för högre driftfrekvenser när man med manuell kretsdesign tillämpade en enklare och renare arkitektur. Detta började ersätta de tidigare automatiserade systemen där man använde den tidigare komplexa VAX arkitekturen. Alpha arkitekturen såldes till Compaq år 1998, Compaq beslutade då att avveckla Alpha till förmån för den kommande Hewlett-Packard(HP)/Intel Itanium-arkitekturen. Intel köpte då all den intellektuella egendomen som tillhörde Alpha år 2001 för att effektivt döda produkten. Samtidigt fortsatte HP att utveckla det befintliga Alpha systemet fram till 2004 och sålde dessa system fram tills 2007. 3 Syfte Att ge läsaren en ökad förståelse för vad en Alpha processor med reducerad instruktionsuppsättning är samt förstå hur pipeline hos detta system fungerar och varför designen inte är komplett.

4 Pipeline Alpha arkitekturen var avsedd för att vara en högpresterande design, som skulle stödja en ökning av prestanda över 25 år. För att säkerställa detta så tog man bort funktioner som kunde orsaka instruktionsproblem, klockfrekvens eller multiprocessing. Detta resulterade i att Alpha inte kan hantera branched delay slot, supressed instructions, byte load eller store instructions. Detta gör att det inte finns någon fara när man kör instruktionerna med pipeline. Designen för Alpha passar implementationer med hög hastighet, instruktionerna är väldigt enkla. Instruktionerna är 32 bitar långa, minnes operationerna är antingen lagring eller laddning, där manipulationen av data sker mellan registerna. Eftersom det inte finns några speciella register eller villkorlig kod, så utför Alpha arkitekturen pipelining flera gånger av samma operation. Denna höghastighets design gör det lätt att skapa implementationer som klarar av flera instruktioner varje klockcykel, på grund av att instruktionerna påverkar varandra endast när en instruktion skrivs till ett register eller minne och en annan instruktion läser på samma ställe. Alpha gör det lätt att behålla hastighet och binär kompatibilitet mellan implementationer. För att uppnå den höga hastighet som Alpha har för avsikt att nå så finns det tillvägagångssätt för detta. Man använder sig utav ett mål för beräknade hoppinstruktioner vilket medför att subrutinen blir kallad på, och återvänder snabbare. Man har förbestämda mål för minnessystemet vilket tillåter högre cache träffar. Dessa höghastighetskrav innebär också att man i funktionsfältet har integrerat ett varningssystem, där varningar uppstår när ett överfyllningsfel inträffar istället för att uppstå globalt. Varningssystem kallas i Alpha för exception barrier och innebär att när en varning uppstår så ska instruktionen gå in ett undantagsläge eller avrundningsläge. Detta gör det lättare att implementera pipeline. Alpha innehåller alla de operationer som finns i vanliga RISCarkitekturer, men även villkorliga instruktioner finns för flyttning, då man vill undvika branching. Flytande punktinstruktioner kan användas i pipeline, då all hårdvara skapar fällor för de undantag som sker. Det tidigare nämnda varningssystemet innebär att man kan garantera att tidigare instruktioner är genomförda i pipelineimplementationen. 4.1 Datatyper Alpha arkitekturen innehåller 6 olika datatyper. Quadword (64-bit) Integer Longword (32-bit) Integer IEEE T-floating point (64-bit) IEEE S-floating point(32-bit) För att bibehålla kompatibiliteten med VAX, 32-bitars arkitekturen som föregick Alpha så inkluderade man två till data typer. VAX G-floating point (64-bit) VAX F-floating point (32-bit)

4.2 Instruktions arkitektur Figur 1. Alphas 32 bitars instruktions arkitektur. 2 I figur 1 beskrivs Alphas fasta instruktions arkitektur som består av 32 bitar och har sex instruktionsformat. Det första formatet som är ett heltals operativformat innehåller ett 6 bitars opcode fält och är följt av fälten Ra och Rb där det förstnämnda anger registret som innehåller den första operanden och det sistnämnda anger vilket register som innehåller den andra operanden. Nästa fält är 3 bitars och är oanvänt och reserverat, därefter kommer ett 1 bitars fält som innehåller 0 och skiljer då detta format från heltalets bokstavsformat. Funktionsfältet är 7 bitar och används i samband med opcode för att ange en operation. Det sista fältet Rc som är 5 bitar anger vilket register som resultatet av en beräkning ska skrivas till. Andra formatet är ett bokstavligt heltals format som används av heltals instruktioner och använder en bokstav som en operand. Formatet är detsamma som tidigare operativformat, med undantag för det nya fältet Literal som ersatt Rb och det oanvända fältet och består då av 8 bitar. Det tredje operationsformatet för flytande punkter liknar heltalets, men har ett 11 bitars funktionsfält istället för 7 bitar. Detta görs möjligt då man använder det oanvända fältet samt bokstavsfältet till att skapa ett större funktionsfält. Minnesformatet som är det fjärde på bilden, används mest för laddning och lagring av instruktioner. Detta formatet använder sig utav ett 16 bitars förskjutningsfält. Branch formatet liknar minnesformatet men använder ett 21 bitars förskjutningsfält. Det sista formatet som används för att kalla på subrutiner innehåller 6 bitars opcode fält, men ersätter alla andra fält till ett 26 bitars funktionsfält.

5 Slutsats Det nerlagda projektet Alpha var på sin tid väldigt fördelaktigt på grund av sin enkelhet. Det tankesätt bakom de åtgärder som utförts för att skapa en säker och snabb pipeline innebär i princip en felfri miljö. Dessa åtgärder har dessvärre även orsakat stora brister i systemet då flera funktioner saknas. 6 Referenser 1 Alpha Architecture Committee, April 15. 1998. Alpha Architecture Reference Manual, tredje upplagan (kapitel 1,2,4 och Appendix A). 2 En.wikipedia.org. (2017). Dec Alpha, https://en.wikipedia.org/wiki/reduced_instruction_set_computer 3 Techopedia.com. (2017) https://www.techopedia.com/definition/18752/dec-alpha