SIE 4005, 9/10 (4. Forelesn.)

Like dokumenter
SIE 4005, 8/10 (3. Forelesn.)

befinner seg. Deretter leses instruksjonen fra i registerfilen ved ny stigende klokkepuls.

SIE 4005, 2/10 (2. Forelesn.)

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form

Institiutt for informatikk og e-læring, NTNU Kontrollenheten Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

INF1400 Kap4rest Kombinatorisk Logikk

INF2270. Datamaskin Arkitektur

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Forelesning 5. Diverse komponenter/større system

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Løsningsforslag eksamen TDT4160 høsten 2005

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Maskinvaredelen av INF 103: oversikt og innhold (1)

INF2270. Datamaskin Arkitektur

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

UNIVERSITETET I OSLO

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

INF3340/4340. Synkrone design Tilstandsmaskiner

Kapittel 4: Microarchitecture level

Forelesning 7. Tilstandsmaskin

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

INF3340. Tilstandsmaskiner

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Øving 1: Busser, adressemodi, multiplekser og styreord

TDT DESEMBER, 2008, 09:00 13:00

Intel Core i7. Omid Mirmotahari 4

Repetisjon digital-teknikk. teknikk,, INF2270

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?

INF1400. Tilstandsmaskin

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

TDT4160 AUGUST, 2008, 09:00 13:00

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)

Dagens temaer. tema er hentet fra kapittel 4.3 og 4.4 om pipelining. til neste ukes forelesning (hvis tid) INF ! Mikrokode. !

Forelesning Optimalisering av μark Kap 4.4

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Kapittel 5 Tilstandsmaskin

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch

INF2270. Sekvensiell Logikk

Dagens temaer. Intern hukommelse (1) Maskinvaredelen av INF 103: oversikt og innhold (2) Maskinvaredelen av INF 103: oversikt og innhold (1)

Fortsetelse Microarchitecture level

INF1400. Tilstandsmaskin

Dagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

IN1020. Datamaskinarkitektur

Løsningsforslag INF1400 H04

UNIVERSITETET I OSLO

IN1020. Logiske porter om forenkling til ALU

! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon

TDT DESEMBER, 2012, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

EKSAMENSOPPGAVE I FAG TDT4160 DATAMASKINER GRUNNKURS. D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

Fortsetelse Microarchitecture level

TDT AUGUST, 2011, 09:00 13:00

Avdelingfor ingeniørutdanning

Datamaskinens oppbygning

TDT DESEMBER, 2011, 09:00 13:00

INF3430/4431. Kretsteknologier Max. kap. 3

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

Forelesning 4. Binær adder m.m.

TDT DESEMBER, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT AUGUST, 2009, 09:00 13:00

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer

Synkron logikk. Sekvensiell logikk; to typer:

Forelesning Instruksjonstyper Kap 5.5

ITPE2400/DATS2400: Datamaskinarkitektur

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Kort repetisjon fra forrige gang. Kombinatorisk logikk

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens tema. Dagens tema er hentet fra kapittel 4.3 og 4.4. Mer om pipelining Ytelse Hasarder. Pipelining i Pentium-arkitekturen

Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015

Løsningsforslag til øving 5 TFE4105 Digitalteknikk og Datamaskiner Høsten 2006

Kap. 8 del 1 kodegenerering INF5110 Vår2007

Intel Core i7. Omid Mirmotahari 4

Forelesning ISA: IJVM Kap 4.2

Pensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO

Forelesning Adresseringsmodi Kap 5.4

Oppgave 1 (Flanke- og nivåstyrte vipper)

TDT DESEMBER, 2009, 09:00 13:00

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs Løsningsforslag. Torsdag 29. November 2007 Kl

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

EKSAMENSOPPGAVE. Kontaktperson under eksamen: Steffen Viken Valvåg Telefon:

Institiutt for informatikk og e-læring, NTNU CPUens deler og virkemåte Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

UNIVERSITETET I OSLO

INF1400. Karnaughdiagram

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

Tilstandsmaskiner (FSM) Kapittel 5

Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte

Transkript:

SIE 4005, 9/10 (4. Forelesn.) Tredje forelesning: 8.1 The control unit 8.2 Algorithmic state machines 8.3 Design example: Binary multiplier 8.4 Hardwired Control Fjerde forelesning: litt repetisjon 8.4 Hardwired Control 8.7 Mikroprogrammert kontroll 8.8 A simple computer architecture Liten oppsummering hvis tid..

En flip-flop per tilstand; (side 406-410) Bare den aktuelle tilstanden lagrer 1. Denne 1eren flyter rundt i logikken tilsvarende transisjoner i ASM. Enkel konstruksjon Fig. 8-10 viser regler for å transformere et ASM diagram til en sekvensiell krets med en flip-flop per tilstand.hver regel spesifiserer hvordan en komponent i et ASM-diagram kan erstattes med en logisk krets. For utgangssignaler kan det være aktuelt å legge til logikk Binær multiplikator implementert på denne måten er vist i figur 8-11. ASM-diagram fra fig. 8-8 s. 404 er benyttet.

Transformasjonsregler for kontrollenhet med en flip-flop per tilstand (kap. 8-4, s. 408) Direkte mapping fra fig 8-8 (s. 404) Sequence part of ASM chart for binary multiplier til figur 8-11 Control Unit with one flip-flop per state for the binary multiplier (s. 409) vha transformasjonsr eglene i fig. 8-10 s. 408.

Mikroprogrammert kontrollenhet (kap. 8.7, fig. 8-16, s. 417)

Kontrollsignaler for mikroprogrammert multiplikator (tab. 8-3, s. 420) Siden Load_B og Load_Q ikke er inkludert er 4 kontrollsignal nødvendige: Initialize, Load, Clear_C, Shift_dec. Disse tas fra tabell 8.1, med tilhørende register transfer operasjoner og inkluderes i tab. 8-3. Deretter er 3. Kolonne i tab. 8-3 dannet ut fra inspeksjon av ASM-diagram i fig. 8-17, s. 419, for å finne ut hvilke tilstander de ulike kontrollsignalene er aktive i. Her er det ikke benyttet enkoding for å krympe bredden, slik at 4 bit benyttes i den delen av kontrollordet som kontrollerer datapath (kunne hatt 2 bit (s. 420)). (Initialize: 0001, Load: 0010, Clear_C: 0100, ) Notasjonen i siste kolonne i tabell 8-3 er tenkt brukt ved skriving av mikroprogrammer.

Mikroinstruksjon kontrollord format (fig. 8-18, s. 420) 4-bit kode basert på tabell 8-3 benyttes i datapath feltet i kontrollordet i figur 8-18, i bit 0-3. Resten av kontrollordet har med sekvensiering å gjøre, dvs bit 4 til og med 11. Ved å se på ASM-diagram i fig. 8-17 er det klart at for IDLE og ADD tilstandene avhenger neste tilstand av hhvis G og Z. I slike tilfeller kreves to addresseverdier en for inputverdi lik 0, og en for inputverdi lik 1. Metodikk for å definere addresser er et viktig valg ved design av sequencer. De to mest typiske er nevnt i boka: 1) De to addressene er inkluderte i mikroinstruksjonen (ord i kontrollminnet), og basert på en variabel lastes den ene addressen i CAR. Ulemper: lange ord, plass; pris, effekt. Benyttet her. 2) En teller med parallell load, som CAR. Da kommer en av de to adderssene fra mikroinstruksjonen, mens den andre fås ved ganske enkelt å telle opp CAR (Controll Address Register) Ulemper: tilordning av addresser til tilstander kan være problematisk, og tilstander må i en del tilfeller adderes. Dette kan bidra til reduksjon av systemets maksimale klokkehastighet, som i gitte tilfeller er uønsket.

SEL Field Definition for Binary Multiplier Control Sequencing (tab. 8-4, s. 421) SEL-feltet, bit 4 og 5 har fått symbolsk notasjon, binærkoder for ulike mikrooperasjoner som i tabell 8-4. Basert på informasjon fra tabellene 8-3, og 8-4 samt figur 8-17 designes kontrollenheten. Multiplikator blokkdiagram finnes i figur 8-19 s. 422.

Mikroprogrammert kontrollenhet (kap. 8.7, fig. 8-16, s. 417)

Design av kontrollenhet, s. 422-423 Lengden på mikroinstr. (fig 8-18) gir ROM kontrollord lengde på 12 bit. 5 tilstander i ASM (fig. 8-17) gir 5 ord i ROM 3-bit adr. Trenges for å addressere 5 ord; 3-bit CAR. Addressene for innlasting i CAR kommer fra NXTADD0 eller NXTADD1. 2-inp. MUX på CAR sin datainngang benyttes for å velge mellom de to addressekildene, basert på informasjon i tab. 8-4. 4-1 MUX benyttes for valg knyttet til de 4 SEL kodene (tab. 8-4). 4 av utgangene fra ROM styrer datapath, men s de resterende 8 bit avgjør neste addresse for CAR. Eks: SEL = 00 MUX2 velger 0 som inngang, som når S- inngangen på MUX1, som velger NXTADD0 som neste addresse, som spesifisert i tab. 8-4, s. 421. (Flere eksempler i boka.)

Mikroinstruksjon kontrollord format (fig. 8-18, s. 420) En mikroinstruksjon i mikroprogrammet korresponderer med hver av tilstandene i ASM diagrammet.

Symbolsk mikroprogr. Og binært mikroprogram for multiplikator (tab. 8-6, s. 423) Det er en mikroinstruksjon i mikroprogrammet som korresponderer med hver av tilstandene i ASM-diagrammet. Binærkoden for hver tilstand er innholdet i CAR for den aktuelle tilstanden. I venstre halvdel av tabell 8-6 er register transfer mikroprogrammet (Se tab. 8-5, s. 423) konvertert til et symbolsk mikroprogram ved at hver register transfer har fått symbolske navn, og at tilstandene for addressene. Til høyre i tab. 8-6 er det symbolske mikroprogrammet konvertert til et binært mikroprogram, vha figur 8-17 og tabellene 8-3 og 8-4. Etter introduksjon til hardwirede og mikroprogrammerte kontrollenheter i boken behandles mer komplekse kontrollenheter for programmerbare digitale systemer.

A Simple Computer Architecture, Kap. 8-8 Kontrolldesign for programmerbare systemer. Hvordan kan operasjoner spesifisert av instruksjoner implementers ved register transfers i datapath, og hvordan håndtere forflytning av informasjon mellom datapath og minne (memory). (Mer detaljert i kap. 9 (og 10, som lite pensum er hentet fra.)) INSTRUKSJONER OG HÅNDTERING AV SLIKE: Brukeren instruerer computeren om hvilke operasjoner som skal utføres og deres sekvens vha et program. Ulike programmer kan spesifiseres, og en ny fleksibilitet er oppnådd. Muligheten for å utføre et program fra minnet er den viktigste enkeltegenskapen hos en generell computer. Kontrollenheten leser en instruksjon fra minnet, dekoder og utfører denne ved å sette i gang en sekvens av en eller flere mikrooperasjoner. En instruksjon er en samling bit som instruerer computeren om å foreta en spesifikk operasjon. Operation code ( opcode ) spesifiserer en operasjon som for eksempel add, subtract, shift, complement. Samlingen instruksjoner for en bestemt computer er instruksjonssettet hos denne, og en grundig beskrivelse av instruksjonssettet beskriver instruction set architecture for computeren. 128 ulike instruksjoner gir 7 bit opcode (2**7=128) En instruksjon må i tillegg til å spesifisere selve operasjonen også spesifisere registre og ord i minnet der operasjonene skal finnes og hvor resultatet skal plasseres.

Tre instruksjonsformater (Kap. 8-8, fig. 8-20, s. 425) Bit i instruksjon er delt opp i felter / fields. Kombinasjonen av disse utgjør instruksjonsformatet. Disse 3 brukes i kapittel 8.

Instruksjonsformater (Kap. 8-8, s. 425-427.) Register, fig. 8-20 a): Opcode spesifiserer bruk av to sourceog ett destination-register. Ved bruk av 8 registre kan tre bit i SB være 011 og spesifisere R3, for eksempel. Immediate, fig. 8-20 b): Innhold : opcode, to register fields og en operand. Operanden er en konstant kalt immediate operand. Eks: SA spesifisert som R7, DR som R2 og 011 som OP gir at verdien 3 adderes til innholdet i R7 og resultatet plasseres i R2. Jump and branch, fig. 8-20 c): Ikke noe register eller memoryinnhold endres. I stedet påvirkes den rekkefølgen som instruksjonene hentes fra memory. Lokasjonen finnes vha programteller, PC. ( i stedet for at PC henter instruksjoner fra sekvensielle addresser i memory.) Jump and branch i fig. 8-20 c) har operasjonskode, ett registerfelt SA og delt addressefelt AD. (Nærmere beskrivelse s. 426.)

Memory representation of Instructions and Data ( fig. 8-21, s. 427)

Lagerressurs diagram for en enkel computer (Kap. 8-8, fig. 8-22, s. 429)