Del 2: Datamaskiner Flashcards
Hva er en mikrooperasjon?
En elementær operasjon utført på data lagret i registre. Som regel load, count, add, subtract eller shift.
Hva står PC for? (registre)
Program Counter
Hva står AR for? (registre)
Adress registre
Hva står IR for?
Instruction registre
Hva gjør denne?
R2 <– R1
Den kopierer verdien til R1 inn i registeret R2.
Hva gjør denne?
K1: R2 <– R1
Den kopierer verdien til R1 inn i registeret R2 når kontrollsignal K1 er høy. Dette er normalt sett på positiv klokkeflanke.
Hva betyr dette?
R2(1) =
bit 1 i R2
Hva betyr dette?
R2(7:0) =
bit 7 til 0 i R2
Hvordan skrives en minneadresse?
M[AR]
AR er her et register som inneholder adressen vi skal bruke.
Hvilke kategorier av mikroperasjoner har vi?
- Overføringer
- Aritmetikk (matematiske operasjoner)
- Logikk
- Skift
Hvordan utføre subtraksjonen R1-R2?
- Ta 1-komplement av R2 (inverter) og legg til 1.
R1 - R2 = R1 + R2’ +1
Hvilke tre måter kan vi overføre data mellom registre på?
- Dedikerte multipleksere
- Single Bus
- Three-state- busser
Hva er en dedikert multipleks?
Avert register had en even muc som bestemmer hvilket inngangssignal den skal ta imot. Denne muxen er tilkoblet alle andre registre som skal samarbeide.
Hva er single bus?
Det er overføring av data hvor det kun brukes en mux. Utgangen til muxen kobles til inngangen på hvert register og inngangene til muxen er utgangene på registerne. Det brukes select signal for å fotelle muxen hvilket registre som skal leses fra.
Hva er three-stste-busser?
Det er en måte å overføre data med minst mulig kabling. Det er kun mulig å lese fra et register i løpet av en klokkeperiode. Skriving til flere registre er fortsatt mulig. Er den enablet vil den slippe gjennom signalet på inngangen. Den tar inn enablesignal for å vite hvilket register som skal leses fra. Load signal forteller hvilket som skal skrives til.
Hva er ALU?
Aritmetisk logisk enhet er en centraliserat enhet for aritmetiske og logiske mikrooperasjoner. I stedet for at alle registrene skal styre med dette selv sendes operasjonene til ALU’en.
Hva er styreord (control word)?
Det er det binære kontrollsignalet en ALU tar inn. Inni dette signalet er blant annet informasjon om registre som skal leses og skrives til og funksjonen som skal gjøres.
Hva er pipelining?
Det er mellomlagring av resultater fra en fase i et register. Operasjoner blir da gjort parallellt i alle tre faser i stedet for sekvensielt.
Tid = Antall instruksjoner + antall faser - 1
T = I + f -1
Hva gale kan oppstå ved pipeline’ing?
Såkalt data hazard. Det er hvis to operasjon etter hverandre er avhengig av samme data og den ene prøve å endre dataen. Det er da ikke sikkert at utregningene vil stemme pga gamle verdier kan ha blitt brukt.
Hva er forskjellen på en single- og mulit-cycle prosessor?
En single-cycle bruker en hel instruksron per klokkepuls mens en multi-cycle bruker så mange klokkepulser som trengs.
En pipelined prosessor utfører flere operasjoner parallellt mens en multi-cycle bruker flere klokkepulser på en instruksjon.
En MC er da tregere enn SC, men den kan utføre mer komplekse operasjoner.
Hvilke trinn er det en kontrollenhet utfører?
- Hent instruksjoner fra minnet og legg den inn i et kontrollregister.
- Decode instruksjonen.
- Lokaliser elementer brukt av instruksjonen.
- Hent disse fra minnet (om nødvendig).
- Utfør operasjonen i prosessorens registre.
- Lagre resultatene på riktig sted.
- Gå tilbake til trinn 1 for å hente neste instruksjon.
Hva er “stakk”?
En måte å lagre verdier på som fungerer som en kortstokk. Man legger til nye verdier oppå kortstokken (PUSH) og tar bort ved å trekke kort (POP). Verdiene betegnes fra toppen og nedover som: TopOfStack, TOP-1, TOP-2, osv.
Hva er minne-til-minne arkitektur?
Det er å la de fleste instruksjonene jobbe direkte mot minnet. Det blir tregt men programmene kan være noe kortere. Tre-adresse og to-adresse instruksjoner havner innunder dette.
Hva er load-store?
Det er når man ikke tillater operasjoner mot minnet for annet enn å hente inn operander til registeret (load) eller å skrive innholdet i et register til minnet (store). Dette er en god del raskere enn minne-til-minne.