7. Mikroprogramiranje

Σχετικά έγγραφα
Najjednostavnija metoda upravljanja slijedom instrukcija:

Najjednostavnija metoda upravljanja slijedom instrukcija:

1a. Von Neumannov model računala

STANDARDNA ARHITEKTURA MIKROPROCESORA

STANDARDNA ARHITEKTURA MIKROPROCESORA

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Operacije s matricama

MIKRORAČUNAR. Sl.1. - Sklop mikroračunara kao crna kutija

18. listopada listopada / 13

3.1 Granična vrednost funkcije u tački

Kaskadna kompenzacija SAU

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

VON NEUMANNOV MODEL RAČUNALA

Računarska grafika. Rasterizacija linije

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku. GRAĐA RAČUNALA (predavanja u ak. god /2006.)

Matematika 1 - vježbe. 11. prosinca 2015.

7 Algebarske jednadžbe

INTELIGENTNO UPRAVLJANJE

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

numeričkih deskriptivnih mera.

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

Ispitivanje toka i skiciranje grafika funkcija

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

APROKSIMACIJA FUNKCIJA

Elementi spektralne teorije matrica

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Elementarna memorijska kola

ELEKTROTEHNIČKI ODJEL

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Eliminacijski zadatak iz Matematike 1 za kemičare

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Računarska grafika. Rasterizacija linije

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

DRUGI KOLOKVIJUM IZ MATEMATIKE 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. je neprekidna za a =

Logičko i fizičko stanje digitalnog kola

- pravac n je zadan s točkom T(2,0) i koeficijentom smjera k=2. (30 bodova)

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

PRIMJER 3. MATLAB filtdemo

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

D 1. brisanje S B 1 R

POSTUPAK PROJEKTOVANJA CENTRALNOG PROCESORA

Ĉetverokut - DOMAĆA ZADAĆA. Nakon odgledanih videa trebali biste biti u stanju samostalno riješiti sljedeće zadatke.

Teorijske osnove informatike 1

Digitalna mikroelektronika

RIJEŠENI ZADACI I TEORIJA IZ

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

41. Jednačine koje se svode na kvadratne

PROSTA GREDA (PROSTO OSLONJENA GREDA)

Obrada signala

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

Riješeni zadaci: Limes funkcije. Neprekidnost

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

TRIGONOMETRIJSKE FUNKCIJE I I.1.

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

ORGANIZACIJA PREKIDNOG SISTEMA ZA MIKROPROCESOR M6800

SEMINAR IZ KOLEGIJA ANALITIČKA KEMIJA I. Studij Primijenjena kemija

Numerička matematika 2. kolokvij (1. srpnja 2009.)

Pošto pretvaramo iz veće u manju mjernu jedinicu broj 2.5 množimo s 1000,

5. Karakteristične funkcije

( , 2. kolokvij)

Linearna algebra 2 prvi kolokvij,

ARHITEKTURA RAČUNARA

MATEMATIKA 1 8. domaća zadaća: RADIJVEKTORI. ALGEBARSKE OPERACIJE S RADIJVEKTORIMA. LINEARNA (NE)ZAVISNOST SKUPA RADIJVEKTORA.

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

ORGANIZACIJA PROCESORA

2. Ako je funkcija f(x) parna onda se Fourierov red funkcije f(x) reducira na Fourierov kosinusni red. f(x) cos

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

konst. Električni otpor

Protočnost 1. PROTOČNOST. 1.1 Osnovne tehnike za eksploataciju paralelizma

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

2.2 Srednje vrijednosti. aritmetička sredina, medijan, mod. Podaci (realizacije varijable X): x 1,x 2,...,x n (1)

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.

Grafičko prikazivanje atributivnih i geografskih nizova

I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa?

TRIGONOMETRIJA TROKUTA

TOLERANCIJE I DOSJEDI

Zavrxni ispit iz Matematiqke analize 1

PT ISPITIVANJE PENETRANTIMA

PRAVAC. riješeni zadaci 1 od 8 1. Nađite parametarski i kanonski oblik jednadžbe pravca koji prolazi točkama. i kroz A :

SISTEMI NELINEARNIH JEDNAČINA

1. Duljinska (normalna) deformacija ε. 2. Kutna (posmina) deformacija γ. 3. Obujamska deformacija Θ

Sortiranje prebrajanjem (Counting sort) i Radix Sort

1.4 Tangenta i normala

Riješeni zadaci: Nizovi realnih brojeva

III VEŽBA: FURIJEOVI REDOVI

POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE

Dijagonalizacija operatora

radni nerecenzirani materijal za predavanja

Matematička analiza 1 dodatni zadaci

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Transcript:

7. Mikroprogramiranje Osnovni pojmovi i Wilkesova izvorna shema Faze mikroprogramiranja Struktura mikroprogramirane upravljačke jedinice Model mikroprogramiranog procesora Upravljačke riječi (mikroriječi) Primjer mikroprograma (instrukcija CBR) Formati upravljačkih riječi Mikroprogramiranje i nanoprogramiranje S. Ribarić, AIOR 1

Mikrooperacija - elementarna (nedjeljiva) operacija izravno i u potpunosti sklopovski podržana; Primjeri: - prijenos podataka (sadržaja registara) između dva registra - aktiviranje sklopa u ALU - brisanje ili postavljanje bistabila (zastavice) Odnos između instrukcije u strojnom jeziku i mikrooperacije: ADD MDR M(MAR) IR MDR PC PC + 1 D opc MAR MDR...... S. Ribarić, AIOR 2

Mikroinstrukcija kodirano predstavljena (nizom bitova) jedna ili više mikrooperacija Mikroprogram slijed mikroinstrukcija koje su pohranjene u upravljačkoj (mikroprogramskoj) memoriji Mikroinstrukcija pohranjena u upravljačkoj memoriji naziva se i mikroriječ (engl. Microword) ili upravljačka riječ (engl. Control word) S. Ribarić, AIOR 3

Wilkesova izvorna shema (M. V. Wilkes (1951. godine) Instrukcija iz Adres a s lijedeće mikroinstrukcije IR Adresni registar mikroprog. memorije n linija Matrica A REDAK: 1 1 Matrica B 2 Dekoder 3 4 5 Signal vremenskog vođenja 6 7 8 q1 q2 Prema aritmetičkoj jedinici, logičkoj jedinici, registrima, upravljačkim s klopovima i s l. Iz bistabila uvjeta S. Ribarić, AIOR 4

Primjer: Instrukcijski ciklus za ADD 1. mikrooperacija: MDR M(MAR) 2. mikrooperacija: IR MDR, PC PC + 1 3. mikrooperacija: D opc 4. mikrooperacija: MAR AP, F 0, E 1 5. mikrooperacija: TR1 MDR, TR2 ACC 6. mikrooperacija: ACC ADDER 7. mikrooperacija: E 0, F 1, MAR PC S. Ribarić, AIOR 5

Tri faze mikroprogramiranja: I. faza: uporaba diodnih matrica /vrijeme pristupa ~ 0,5 mikrosekundi vrijeme pristupa memoriji ~ 10 mikrosekundi/ II. faza (kasne 50-te godine prošlog stoljeća): /glavna memorija feritne jezgrice; diodne matrice nisu dovoljno brze; mikroprogramiranje samo za emulaciju računala III. faza (krajem 60-tih godina): pojava brzih (bipolarnih) memorija za izvedbu upravljačke memorije Mikroprogramiranje najbolja (sustavna) metoda za realizaciju upravljačke jedinice S. Ribarić, AIOR 6

Struktura mikroprogramirane upravljačke jedinice ADRESNI REGISTAR MAR GLAVNA MEMORIJA /mikroprogramski adresni registar/ /mikroprogramsko brojilo/ LOGIKA ZA GRANANJE OPERACIJSKI KOD UPRAVLJAČKA MEMORIJA /mikroprogramska memorija/ CM SLIJEDEĆA ADRESA + H DEKODERI IR /instrukcijski registar/ "OR" COUNT UP 1 F Načini dobivanja adrese slijedeće mikroinstrukcije: 1. povećanjem sadržaja mikroprogramskog adresnog registra H (countup 1) 2. prijenosom adresnog polja upravljačke riječi u H 3. uporabom logike za grananje VANJSKI UVJETI UPRAVLJAČKI SIGNALI /prema nezavisnim upravljačkim točkama/ S. Ribarić, AIOR 7

Model mikroprogramiranog procesora H Mikroprogramski adresni registar Mikroprog. memorija (Upravljačka memorija) CM F CLOCK (trofazni) Upravljački registar P(0) - "mikroizvrši" P(1) - prenos adrese P(2) - "mikropribavi" EMIT POLJE OUT L (LIJEVA SABIRNICA) A B PC STAT B B' R STAT(0)=Z STAT(1)=N (DESNA SABIRNICA) IN ZT ZERO TESTER 16-BITNO PARALELNO ZBRAJALO S Q POSMAČNI SKLOP CARRY IN MB (GLAVNA SABIRNICA) S. Ribarić, AIOR 8

Mikroprogramirana upravljačka jedinica ima trofazni signal vremenskog vođenja: faza P(0) izvršavanje mikroinstrukcija ( mikroizvrši ) faza P(1) prijenos adrese u adresni mikroprogramski registar H faza P(2) čitanje mikroinstrukcije iz mikroprogramske memorije ( mikropribavi ) P(0) P(1) P(2) S. Ribarić, AIOR 9

Format upravljačke (mikroriječi) riječi: CMB CA CB COP CSH CHB CAB CBB CST CNA CEM 2 3 2 2 3 2 2 2 6 8 32 bita CA veza sa sabirnicom L CB veza sa sabirnicom R COP mikrooperacije paralelnog 16-bitnog zbrajala CHS upravljanje posmačnim sklopom CMB veza glavne sabirnice (MB) i ostalih komponenti procesora CAB utjecaj na H(6) CBB utjecaj na H(7) CST utjecaj na STAT CNA polje adrese slijedeće mikroinstrukcije CEM 8-bitna konstanta /emit polje/ S. Ribarić, AIOR 10

CA veza sa sabirnicom L 00 01 10 11 φ ; nema prijenosa podataka na lijevu sabirnicu (L) L(0-7,8-15) = 0 F(EM) ; konstanta se smještava na 8 majne značajnih linija (LSB) sabirnice L L(0-7, 8-15) = F(EM) 0 ; konstanta se smještava na MSB sabirnice L L = A ; na L se smještava sadržaj akumulatora A S. Ribarić, AIOR 11

Model mikroprogramiranog procesora polje CA H Mikroprogramski adresni registar Mikroprog. memorija (Upravljačka memorija) CM F CLOCK (trofazni) Upravljački registar P(0) - "mikroizvrši" P(1) - prenos adrese P(2) - "mikropribavi" EMIT POLJE OUT L (LIJEVA SABIRNICA) A B PC STAT B B' R STAT(0)=Z STAT(1)=N (DESNA SABIRNICA) IN ZT ZERO TESTER 16-BITNO PARALELNO ZBRAJALO S Q POSMAČNI SKLOP CARRY IN MB (GLAVNA SABIRNICA) S. Ribarić, AIOR 12

CB veza sa sabirnicom R 000 φ ; nema prijenosa podataka 001 010 011 100 101... 111 R = B ; prijenos akumulatora B na desnu sabirnicu (R) R = B ; prijenos jediničnog komplementa sadržaja akumulatora B R = PC R = STAT ne koristi se ne koristi se ne koristi se S. Ribarić, AIOR 13

Model mikroprogramiranog procesora polje CB H Mikroprogramski adresni registar Mikroprog. memorija (Upravljačka memorija) CM F CLOCK (trofazni) Upravljački registar P(0) - "mikroizvrši" P(1) - prenos adrese P(2) - "mikropribavi" EMIT POLJE OUT L (LIJEVA SABIRNICA) A B PC STAT B B' R STAT(0)=Z STAT(1)=N (DESNA SABIRNICA) IN ZT ZERO TESTER 16-BITNO PARALELNO ZBRAJALO S Q POSMAČNI SKLOP CARRY IN MB (GLAVNA SABIRNICA) S. Ribarić, AIOR 14

COP upravljanje paralelnim 16-bitnim paralelnim zbrajalom 00 01 10 11 zbroji sa C in = 0 zbroji sa C in = 1 ne koristi se ne koristi se S. Ribarić, AIOR 15

Model mikroprogramiranog procesora polje COP H Mikroprogramski adresni registar Mikroprog. memorija (Upravljačka memorija) CM F CLOCK (trofazni) Upravljački registar P(0) - "mikroizvrši" P(1) - prenos adrese P(2) - "mikropribavi" EMIT POLJE OUT L (LIJEVA SABIRNICA) A B PC STAT B B' R STAT(0)=Z STAT(1)=N (DESNA SABIRNICA) IN ZT ZERO TESTER 16-BITNO PARALELNO ZBRAJALO S Q POSMAČNI SKLOP CARRY IN MB (GLAVNA SABIRNICA) S. Ribarić, AIOR 16

CSH upravljanje posmačnim sklopom 00 01 10 11 MB = Q, Q = S ; nema posmaka MB = Q, Q = shr S ; posmak udesno MB = Q, Q = shl S ; posmak ulijevo MB = IN S. Ribarić, AIOR 17

Model mikroprogramiranog procesora polje CSH H Mikroprogramski adresni registar Mikroprog. memorija (Upravljačka memorija) CM F CLOCK (trofazni) Upravljački registar P(0) - "mikroizvrši" P(1) - prenos adrese P(2) - "mikropribavi" EMIT POLJE OUT L (LIJEVA SABIRNICA) A B PC STAT B B' R STAT(0)=Z STAT(1)=N (DESNA SABIRNICA) IN ZT ZERO TESTER 16-BITNO PARALELNO ZBRAJALO S Q POSMAČNI SKLOP CARRY IN MB (GLAVNA SABIRNICA) S. Ribarić, AIOR 18

CMB veza glavne sabirnice (MB) i ostalih komponenti 000 001 φ A ; nema prijenosa podataka MB 010 011 100 101... 111 B MB PC MB STAT MB OUT = MB ne koristi se ne koristi se S. Ribarić, AIOR 19

Model mikroprogramiranog procesora polje CMB H Mikroprogramski adresni registar Mikroprog. memorija (Upravljačka memorija) CM F CLOCK (trofazni) Upravljački registar P(0) - "mikroizvrši" P(1) - prenos adrese P(2) - "mikropribavi" EMIT POLJE OUT L (LIJEVA SABIRNICA) A B PC STAT B B' R STAT(0)=Z STAT(1)=N (DESNA SABIRNICA) IN ZT ZERO TESTER 16-BITNO PARALELNO ZBRAJALO S Q POSMAČNI SKLOP CARRY IN MB (GLAVNA SABIRNICA) S. Ribarić, AIOR 20

CM upravljačka, mikroprogramska memorija 8 H 0 31 0 CM 256 riječi (duljina riječi 32-b) Mikroprogramski adresni registar H 255 S. Ribarić, AIOR 21

Mikroprogramski adresni registar H H 0 6 7 POZOR! NAJZNAČAJNIJI BIT (MSB) NAJMANJE ZNAČAJAN BIT (LSB) Šest najznačajnijih bitova H(0-5) namijenjeno je polju CNA (polje adrese slijedeće instrukcije) Bitovi H(6, 7) određuju se poljima CAB i CBB S. Ribarić, AIOR 22

CAB utjecaj na H(6) 00 01 10 11 H(6) 0 H(6) 1 H(6) STAT(0) H(6) STAT(1) STAT(0) = Z (zastavica) STAT(1) = N (zastavica) S. Ribarić, AIOR 23

Model mikroprogramiranog procesora polje CAB H Mikroprogramski adresni registar Mikroprog. memorija (Upravljačka memorija) CM F CLOCK (trofazni) Upravljački registar P(0) - "mikroizvrši" P(1) - prenos adrese P(2) - "mikropribavi" EMIT POLJE OUT L (LIJEVA SABIRNICA) A B PC STAT B B' R STAT(0)=Z STAT(1)=N (DESNA SABIRNICA) IN ZT ZERO TESTER 16-BITNO PARALELNO ZBRAJALO S Q POSMAČNI SKLOP CARRY IN MB (GLAVNA SABIRNICA) S. Ribarić, AIOR 24

CBB utjecaj na H(7) 00 01 10 11 H(7) 0 H(7) 1 H(7) STAT(1) H(7) MB(0) ; MB(0) je najznačajniji bit 16-bitne riječi koja živi na sabirnici STAT(0) = Z (zastavica) STAT(1) = N (zastavica) S. Ribarić, AIOR 25

Mikroprogramirani model mikroprocesora polje CBB H Mikroprogramski adresni registar Mikroprog. memorija (Upravljačka memorija) CM F CLOCK (trofazni) Upravljački registar P(0) - "mikroizvrši" P(1) - prenos adrese P(2) - "mikropribavi" EMIT POLJE OUT L (LIJEVA SABIRNICA) A B PC STAT B B' R STAT(0)=Z STAT(1)=N (DESNA SABIRNICA) IN ZT ZERO TESTER 16-BITNO PARALELNO ZBRAJALO S Q POSMAČNI SKLOP CARRY IN MB (GLAVNA SABIRNICA) S. Ribarić, AIOR 26

CST utjecaj na STAT 00 01 10 11 φ ; nema utjecaja IF (ZT = 0) THEN (STAT(0) 0) ELSE (STAT(0) 1) STAT(1) MB(0) (IF (ZT = 0) THEN (STAT(0) 0)) ELSE ((STAT(0) 1), STAT(1) MB(0)) S. Ribarić, AIOR 27

Model mikroprogramiranog procesora polje CST H Mikroprogramski adresni registar Mikroprog. memorija (Upravljačka memorija) CM F CLOCK (trofazni) Upravljački registar P(0) - "mikroizvrši" P(1) - prenos adrese P(2) - "mikropribavi" EMIT POLJE OUT L (LIJEVA SABIRNICA) A B PC STAT B B' R STAT(0)=Z STAT(1)=N (DESNA SABIRNICA) IN ZT ZERO TESTER 16-BITNO PARALELNO ZBRAJALO S Q POSMAČNI SKLOP CARRY IN MB (GLAVNA SABIRNICA) S. Ribarić, AIOR 28

Tablica odnosa ZT i MB(0) ZT (komplementirani izlaz iz sklopa za ispitivanje nule) 0 MB(0) Najznačajniji bit sabirnice MB 0 rezultat na MB(0) = 0 0 1 1 1 0 1 Nije dopuštena kombinacija rezultat > 0 rezultat < 0 S. Ribarić, AIOR 29

CNA polje slijedeće adrese CNA H(0-5) CEM 8-bitna konstanta S. Ribarić, AIOR 30

ZADATAK: Napisati mikroprogram za instrukciju CBR (Conditional Branch) /i to za fazu IZVRŠI/ kojom se uspoređuju dva broja (jedan u registru A a drugi u registru B) uz pretpostavku da su brojevi preočeni u notaciji dvojnog komplementa. Na temelju rezultata uspoređivanja poduzima se jedna od slijedećih akcija: a) Ako je broj u registru A veći od broja u registru B, tada nema promjene PC-a /tijekom faze IZVRŠI/ b) Ako su brojevi jednaki, PC se inkrementira (povećava za 1) /tijekom faze IZVRŠI/ c) Ako je broj u A manji od broja u B, tada se PC povećava za 2 /tijekom faze IZVRŠI/ S. Ribarić, AIOR 31

Strojna instrukcija: CBR ; instrukcija uvjetnog grananja IF A > B THEN NOP (PC = PC) IF A = B THEN PC = PC + 1 IF A < B THEN PC = PC +2 S. Ribarić, AIOR 32

Dijagram toka yyyyyyyy = op ZN H(6,7)=01 A<B L=A, R=B', C in=1 MB=Q, Q=S ( IF(ZT=0) THEN (STAT(0) 0) ELSE (STAT(0) 1) ) STAT(1) MB(0) H(6,7) STAT(0,1) ZN H(6,7)=10 A=B ZN 'xxxxxx 01 ' H(6,7)=00 'xxxxxx 10' A>B L=2, R=PC, C in=0 L=0, R=PC, C in=1 MB=Q, Q=S PC MB MB=Q, Q=S PC MB H(6) 0 H(7) 0 H(6) 0 H(7) 0 'xxxxxx 00' Sljedeća mikroins trukcija S. Ribarić, AIOR 33

Strojnoj instrukciji CBR (za fazu IZVRŠI) odgovara niz mikrooperacija: 1- prijenos sadržaja akumulatora A na lijevu sabirnicu L 2- prijenos jediničnog komplementa sadržaja akumulatora B na desnu sabirnicu R 3- aktiviranje paralelnog zbrajala (C in = 1) 4- postavljanje zastavice Z u zavisnosti od rezultata ispitivanja sklopom ZT (Z 0 ako je rezultat mikrooperacije 3 nula) 5- postavljanje zastavice N (MB(0) određuje stanje zastavice N) 6- definiranje adrese slijedeće mikroinstrukcije na temelju polja CNA i H(6) STAT(o) i H(7) STAT(1) / STAT(0) = Z; STAT(1) = N/ OPASKA: ALU nema komparator mikrooperacije 1-6 određuju 1. mikroinstrukciju S. Ribarić, AIOR 34

Ako je A= B tada je STAT(0) = 1 i STAT(1) = 0 te je adresa slijedeće mikroinstrukcije: xxxxxx 10 CNA (prve mikroinstrukcije!) Mikrooperacije: 1 - na lijevu sabirnicu L = 0 2 - na desnu sabirnicu R = PC 3 - aktiviranje paralelnog zbrajala (C in = 1) 4 - PC + 1 prenesi sa MB u PC 5 - definiranje adrese slijedeće mikroinstrukcije: xxxxxx 00 H(6) 0; H(7) 0; Mikrooperacije 1 5 određuju 2. mikroinstrukciju S. Ribarić, AIOR 35

Ako je A < B tada je STAT(0) = 0 i STAT(1) = 1 te je adresa slijedeće mikroinstrukcije: xxxxxx 01 ; H(6) STAT(0), H(7) STAT(1) CNA (prve mikroinstrukcije!) 1 - na lijevu sabirnicu postavi konstantu 2 (iz EMIT polja) 2 - na desnu sabirnicu postavi PC 3 - aktiviraj paralelno zbrajalo (C in = 0) 4 - PC + 2 prenesi u PC 5 - definiranje adrese slijedeće mikroinstrukcije: xxxxxx 00 H(6) 0; H(7) 0; Mikrooperacije 1 5 određuju 3. mikroinstrukciju S. Ribarić, AIOR 36

Adrese: 'yyyyyyyy' CNA xxxxxx 1. µ I 'xxxxxx00' 'xxxxxx01 'xxxxxx10' zzzzzz xxxxxx xxxxxx 00000010 * 'zzzzzz00' µi za fazu PRIBAVI MIKROPROGRAMSKA MEMORIJA (256 riječi x 32 bita) S. Ribarić, AIOR 37

Mikroprogram specificiran u jeziku sličnom CDL-u (Computer Design Language): Struktura: /logički uvjet/ mikrooperacija1, mikrooperacija2,... ; komentar -ako je logički uvjet zadovoljen tada se izvršava niz mikrooperacija mikrooperacija1, mikrooperacija2,... i to istodobno S. Ribarić, AIOR 38

Mikrooprogram u jeziku sličnom CDL-u: /START(ON) * P(0)/ P r 0, G 0 ; G upravljački registar koji osigurava pravilan početak sekvence s odgovarajućom adresom u H, P r bistabil koji označava fazu PRIBAVI /G * P(1)/ /G * P(2)/ /CA(3) * P(0)/ H yyyyyyyy, G 1 F CM(H) L = A ; P(1) prijenos adrese u H ; P(2) čitanje iz mikroprogramske memorije /mikropribavi/ S. Ribarić, AIOR 39

/CB(2) * P(0)/ R = B ; jedinični komplement B na desnu sabirnicu /COP(1) * P(0)/ C in = 1 ; zbroji s C in = 1 /CSH(0) * P(0)/ MB = Q, Q = S /CMB(0) * P(0)/ NOP /CST(3) * P(0)/ (IF(ZT = 0) THEN (STAT(0) 0) ELSE (STAT(0) 1)), STAT(1) MB(0) S. Ribarić, AIOR 40

/CAB(2) * P(1)/ H(6) STAT(0) ; STAT(0) = Z /CBB(2) * P(1)/ H(7) STAT(1) ; STAT(1) = N /G * P(1)/ H(0-5) F(CNA) ; F(CNA) = xxxxxxxx S. Ribarić, AIOR 41

/G * P(2)/ F CM(H) ; A = B adresa mikroinstrukcije je xxxxxx10 /CA(1) * P(0)/ L = 0 ; L(0-7, 8-15) = 0 F(EM) /CB(3) * P(0)/ R = PC /COP(1) * P(0)/ C in = 1 ; zbroji s C in = 1 S. Ribarić, AIOR 42

/CSH(0) * P(0)/ MB(0) = Q, Q = S /CMB(3) * P(0)/ PC MB /CST(0) * P(0)/ NOP /CAB(0) * P(1)/ H(6) 0 /CBB(0) * P(1)/ H(7) 0 /G * P(1)/ H(0-5) F(CNA) S. Ribarić, AIOR 43

/G * P(2)/ F CM(H) ; A < B /CA(1) * P(0)/ L(0-7, 8-15) = 0 F(EM) ; F(EM) = 2 /CB(3) * P(0)/ R = PC /COP(0) * P(0)/ /CSH(0)*P(0)/ /CMB(3)* P(0)/ C in = 0 MB = Q, Q = S PC MB ; zbroji s C in = 0 S. Ribarić, AIOR 44

/CAB(0) * P(1)/ H(6) 0 /CBB(0) * P(1)/ H(7) 0 /G * P(1)/ H(0-5) F(CNA) ; F(CNA) = xxxxxxxx /G * P(2)/ F CM(H) S. Ribarić, AIOR 45

S. Ribarić, AIOR 46

Organizacija mikroprogramirane jedinice u dvije razine (nanoprogramska jed.) S. Ribarić, AIOR 47

S. Ribarić, AIOR 48

Organizacija upravljačke jedinice procesora MC 68000 S. Ribarić, AIOR 49

Format upravljačke riječi (mikroriječi) Upravljačka riječ mora omogućiti: 1) grupiranje i dodjeljivanje upravljačkih bitova 2) sekvenciranje vezivanje upravljačkih riječi u mikroprogram 3) fleksibilnost za reprogramiranje Funkcije trebaju biti obavljene sa: a) minimalnim brojem bitova u upravljačkoj riječi b) minimalnim brojem riječi u upravljačkoj memoriji c) minimalnim vremenom izvođenja S. Ribarić, AIOR 50

Tehnike (načini) dodjeljivanja upravljačkih bitova formatiranje upravljačkih riječi a) izravno upravljanje b) grupiranje bitova c) višestruki formati d) vertikalno/horizontalno mikroprogramiranje S. Ribarić, AIOR 51

Izravno upravljanje 44 bita 9 bita 12 bita...... ad. polje polje konstante 0: NOP 1: MO 1 0: NOP 1: MO 2 0: NOP 1: MO n (emit polje) - upravljačka jedinica može imati nekoliko stotina mikrooperacija vrlo duge upravljačke riječi /nekoliko stotina bitova/ S. Ribarić, AIOR 52

Grupiranje bitova mikroriječi (engl. minimal encoding) a) grupiranje mikrooperacija koje se UVIJEK izvode istodobno jedan upravljački bit upravlja s nekoliko mikrooperacija b) grupiranje onih mikrooperacija koje se izvode ISKLJUČIVO jedna u vremenu i to grupiranje se tako izvodi da se mikrooperacije kodiraju poljem bitova odgovarajuće duljine S. Ribarić, AIOR 53

Višestruki formati -mikroriječ je kratka: 16 32 bita - svaka mikroinstrukcija specificira jednu ili dvije (maksimalno 4) mikrooperacije Primjer: Format = 0 S. Ribarić, AIOR 54

Format = 0 if format = 0 then mop {transfer} and interpret (opd1 as source, opd2 as result) S. Ribarić, AIOR 55

if format = 1 then mop1 {ADD, SUB, OR, AND, EX_OR, NOT, SHR} mop2 {READ_MM, WRITE_MM} mop3 {INC_PC} & if mop1 {SHL, SHR } then interpret (modifier as shift amount) 2 4 6 4 format=1 mop1 mop2 mop3 modifier ne koristi se - specifikacija do 3 mo koje se mogu istodobno izvesti S. Ribarić, AIOR 56

if format = 2 then mop {MASK} and interpret (bd1 as bound i 1, bd2 as bound i 2 ) AOUT := AIL mask AIR [i 1... i 2 ] bit pozicije u AIL od i 1 pozicije (ulijevo) i i 2 pozicije (udesno) prenose se bez izmjene; bit pozicije od i 1 do i 2 poprimaju u rezultatu vrijednost AIR registra S. Ribarić, AIOR 57

if format = 3 then brchop {BN, BPZ, BU, BISI, BNISI} and interpret (addr asbranch address) S. Ribarić, AIOR 58

Horizontalno mikroprogramiranje: horizontalna mikroinstrukcija ima jednu ili više od sljedećih značajki: 1. mikroinstrukcija omogućava različite resurse (npr., funkcionalne jedince, putove podataka) u računalu tako da se oni upravljaju nezavisno mikroinstrukcija određuje nekoliko istodobno izvodljivih instrukcija 2. mikroinstrukcija je duga riječ npr., od 64 do nekoliko stotina bitova 3. horizontalne mikroinstrukcije dopuštaju (mikro)programeru upravljanje na razini pojedine mikrooperacije S. Ribarić, AIOR 59

Vertikalno mikroprogramiranje 1. mikroinstrukcije obično specificiraju jednu li dvije mikrooperacije; ne dopuštaju (mikro)programeru iskorištavanje potencijalnog paralelizma u procesoru 2. mikroinstrukcije su relativno male duljine od 16 do 32 bita 3. jedna mikroinstrukcija može prouzrokovati da određen skup ili slijed mikrooperacija bude pobuđen. S. Ribarić, AIOR 60