Mikroprogrammering I



Relevanta dokument
Föreläsningsanteckningar 2. Mikroprogrammering I

3. Mikroprogrammering II

Föreläsningsanteckningar 3. Mikroprogrammering II

4. Pipelining. 4. Pipelining

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

Tentamen Datorteknik D del 2, TSEA49

Föreläsningsanteckningar 4. Pipelining

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

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

LV6 LV7. Aktivera Kursens mål:

Styrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå

ALU:n ska anslutas hur då?

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

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

Datorsystemteknik DVGA03 Föreläsning 8

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

DatorsystemteknikDAVA14 Föreläsning 9

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

LABORATION. Datorkonstruktion D

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

LABORATION DATORTEKNIK Y,C,I DATORTEKNIK D

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

LABORATION. Datorteknik Y

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Styrenheten styrsignalsekvenser programflödeskontroll

TSEA28 Datorteknik Y (och U)

Digitala System: Datorteknik ERIK LARSSON

Digital- och datorteknik

Datorarkitekturer med operativsystem ERIK LARSSON

TSEA28 Datorteknik Y (och U)

Grundläggande datavetenskap, 4p

Exempel 3 på Tentamen

Ext-14 (Ver ) Ext-14. FLEX-processorns styrenhet med fast logik

9/22/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke...

Exempel 2 på Tentamen med lösningar

Tentamen 3. EDAxxx Grundläggande Datorteknik DIT791 Grundläggande Datorteknik, GU. Måndag xx Oktober 20xx, kl

Närliggande allokering Datorteknik

Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller

EDA Digital och Datorteknik

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Digital- och datorteknik

Tentamen. Datorteknik Y, TSEA28

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

Tentamen. EDA452 Grundläggande Datorteknik, D DIT790 Digital- och datorteknik, GU. Måndag 17 December 2012, kl

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

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

Omtentamen i CDT204 - Datorarkitektur

Tentamen. Datorteknik Y, TSEA28

Föreläsningsunderlag TSEA49 Datorteknik D Del 2

Digital- och datorteknik

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Centralenheten: ALU, dataväg och minne

Intel Pentium. Intel khz. 32 million 2600MHz. Copyright 2005 Benny Thörnberg, Mattias O Nils

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Onsdag 12 Januari 2011, kl

Tentamen (Svar och lösningsförslag)

LABORATION. Datorteknik Y Datorkonstruktion D

Pipelining i Intel Pentium II

Digitala System: Datorteknik ERIK LARSSON

Villkorliga hopp: 9/26/2011. Dagens mål: Du ska kunna.. Villrorliga (Relativa) hopp - forts Arb s 140. LV5 Fo12. LV5 Fo12. Aktivera Kursens mål:

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

EDA215 Digital- och datorteknik för Z

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

Programmerbar logik. Kapitel 4

Målsättning med kursen

Tentamen. Datorteknik Y, TSEA28

11/16/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke...

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

Processor pipelining genom historien (Intel i9-intel i7)

Tenta i Digitalteknik

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

Lösningsförslag tenta

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

Laboration nr 3 behandlar

Datorarkitekturer med operativsystem ERIK LARSSON

Tentamen. Datorteknik Y, TSEA28

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik

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

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

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

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

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.

Det finns en hemsida. Adressen är

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Datorsystemteknik DAV A14 Föreläsning 1

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

Datorteknik ERIK LARSSON

Exempeltentamen Datorteknik, EIT070,

Exempel 1 på Tentamen med lösningar

Brukarundersökning Individ- & familjeomsorgsavdelningen oktober 2015

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Adressrum, programmerarens bild

Läs igenom hela laboration 5 innan du börjar beskriva instruktionsavkodaren i VHDL!

Assemblerprogrammering del 2

HF0010. Introduktionskurs i datateknik 1,5 hp

Transkript:

ikroprogrammering I Olle Roos-datorn (fö2+) Björn Lindskog-datorn (lab) Att bygga en CPU Pipelinad dator (fö4,lab2) Variabel exekveringstid Variabelt format Inget överlapp Central styrenhet, som är mikroprogrammerad Flera adresseringsmoder/instruktion ackumulator Nästan alla instruktioner har operand i minnet: LDA A ; A=(A) ADDA A ; A=A+(A) Alla instruktioner tar 5 CK Alla instruktioner har samma format Pipelining/överlapp ger färdig instruktion/ck Flera avkodare (inget mprog) a-mod/instruktion 2 register Endast LD/ST har operand i minnet: LD Rd,(Ra) ; Rd=(Ra) ADD Rd,Ra,Rb ; Rd=Ra+Rb 2

Att bygga en CPU Typisk CISC Programmering på 2 nivåer asm och mikro Enkel controller: garageportsöppnare del av dator + an kan göra avancerade instruktioner: sortera - ånga CK/instr blir det Typisk RISC Programmering på nivå: asm Enkel CPU enkel mobil Finns bara enkla instr. Snabb Ritning inne Processor Programräknare Program, Instruktioner ALU Ackumulator Data, operander Instruktionsreg. Styrenhet Styrsignaler 2

ikroprogrammering o Vi ska bygga en liten dator med enkla komponenter o Styrenheten (sekvensnät) visar sig vara svårast. Hur gör man för att konstruera ett SN med 00 tillstånd? o mikroprogrammering är en vidareutveckling (och faktiskt begränsning) av tekniken att bygga sekvensnät med RO o idé: byt tillståndsvipporna mot en universalräknare o oore, få hopp 0 2 4 5 6 Ritning2 Autonom styrenhet med RO/Register NEXT-fält STYR-fält CLR Register SB adress utsignal LSB N U

Variant2 Styrenhet med RO/Register NEXT-fält STYR-fält CLR X Register L SB LSB adress 0 utsignal 0 adress utsignal 2 L N U Ritning Autonom styrenhet med RO/Räknare NEXT Instr. STYR LOAD CLR CE ------- 0 0 utsignal 0 nästa Räknare adress 0 - utsignal ------- - - utsignal 2 hopp börja om CLR LOAD CE N 4

Ritning 4 X 0 2 & LOAD Villkorliga hopp NEXT-fält Instr. STYR-fält CE CLR Räknare adress 0 0 2 styr CLR 2 CE N En variant Autonom styrenhet utan adressfält adr adr2 mux Instr STYR CLR + LD mux CLR +LD 5

Ritning 5 Register Din D 2 Dout 2 2 6 4 5 6

Ritning 6 och X LOAD CLR D in 8 OE + - 8 8 8 AR++ AR-- AR+= X AR-= X AR= X 8 D ut 8 universalräknare ALU/ackumulator Ritning 8 - Programmerarmodell AR 0 00: 0 SR XR SP PC FF: Endast 2 flaggor: Z,N

Ritning 9 - instruktionsformat OP Opkod 2 instruktioner 2 0 ärkfält 8 adresseringsmoder 2 0 OP byte Adress/data Adresseringsmoder (addr)->ar ((addr))->ar (XR+disp)->AR PC+2+disp->PC n->ar Exempelvis: LDA 0: : 2: : LDA 000 5 Absolut EA= Operanden = 5 8

Instruktioner ik rom aski nen LDA 000 2 ADD 00 STA 000 2 0 hämt abs 0 4 6 ome LDA RESET 4 2 STA ADDA 9

Normal arbetsgång - översikt OP För varje instruktion {. Hämtfas => Samma för alla instruktioner. Hämta instruktionen till IR 2. PC++. Hoppa till rätt 0: : 2: 2: LDA 000 2 2. Adresseringsmodsfas Beroende på sker olika saker. Vanligen: Hämta byten, PC++ 2. EA till ADR. Hoppa till rätt. Exekveringsfas => Beroende på OP sker olika saker }. Vanligen: Hämta operanden 2. Resultatet till AR och uppdatera SR. Hoppa till Hämtfas Ritning: Organisation av mikroprogram Instr -> IR Hämta Hämtfas st EA->ADR Abs Omedelbar Adresseringsmod 6st LDA STA ADD Exekvering 20 st 0

Steg (PC)->IR Hämtfas PC: 0: : LDA 0 2 0: pc->adr, mpc++ 8,, : adr->minne,data->dr,mpc++ 2,,5, 2: dr->ir,mpc++,8, : PC++, K2->mpc,0 K2(0) = 4 Steg 2 (PC)->ADR A-modsfas: absolut PC: 0: : LDA 0 2 4: pc->adr,mpc++ 8,, 5: data->dr,mpc++ 2,,5, 6: dr->adr,k->mpc,pc++,,9, K(0)=0

Steg AR=(ADR) Exe-fas: LDA AR: ADR: 2: : 0: data->dr,mpc++ 2,,5, : dr->tr,mpc++,25, 2: tr->ar,mpc++ 2,2,, : status, 0->mpc 4,2 0 ikrokod för ADD # Steg : samma som förut K2(4) = 2 Steg 2: omedelbar PC: 2: pc->adr, mpc++ 8,, 28: PC++,K->mpc,9 K(2)=6 LDA Steg : exekvering AR = AR + (ADR) 6: data->dr,mpc++ 2,,5, : dr->tr, mpc++,25, 8: ar+tr->ar,mpc++ 2,,0, 9: status, 0->mpc 4,2 2: : ADD 4 2

ikrokod för STA Steg : hämtfas har vi redan skrivit Steg 2: absolut har vi redan skrivit AR: ADR: 8 2: : 0 K(2)=4 Steg : exekvering AR->(ADR) 4: ar->dr,mpc++,6, 5: dr->, 0->mpc 2,4,5,2 Ritning LDA 2 ADD # STA Instr -> IR Hämta Hämta Hämta EA->ADR Abs Omedelbar Abs Gör något med mem(adr) LDA ADD STA

Hämtfas finns redan ikrokod för LDA (X) (XR+) ->AR indexerad a-mod 2: PC->ADR, PC++, PC++ : ->DR, XR->TR, PC++ 4: DR->TR, TR->AR, AR->HR, PC++ 5: AR+TR->AR, PC++ 6: HR->AR, AR->ADR, K->PC Exekvering för LDA finns redan PC LDA Hämtfas finns redan ikrokod för INCA AR+ ->AR underförstådd a-mod 29: K->PC Exekvering för INCA 44: AR+->AR, PC++ 45: status, 0->PC 4

Hämtfas finns redan ikrokod för LDA () (()) ->AR indirekt a-mod : PC->ADR, PC++, PC++ 8: ->DR, PC++ 9: DR->ADR, PC++ 0: ->DR, PC++ : DR->ADR, K->PC Exekvering för LDA finns redan PC 0 2 4 5 LDA 5 5