Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
Arhitektura mikrosistema
Sekvencijalne komponente• Vrednosti izlaza zavise ne samo od trenutnih vrednosti
ulaza, već i od ranijeg ponašanja kola (od predistorije)• Sadrže memorijske elemente koji zadržavaju, tj.
memorišu vrednosti logičkih signala.• Stanje memorijskog elementa:
– memorisana vrednost 0 ili 1• Stanje sekvencijalnog kola:
– Stanja svih memorijskih elemenata• Sa promenom ulaza menja se stanje kola => kolo
vremenom prolazi kroz niz (sekvencu) stanja => sekvencijalno kolo
• Izlazi zavise od ulaza i stanja kola• Mogu biti:
– Asinhrona– Sinhrona
Arhitektura mikrosistema
Asinhrona i sinhrona sekvencijalna kola
• Asinhrona: menjaju stanje uvek kada se desi promena ulaznih signala
R
S Q
Povratna veza. Ne postoji kod kombinacionih
kola !
Arhitektura mikrosistema
Sinhrona sekvencijalna kola
• Sinhrona ili taktovana: – Menjaju stanje u fiksinim vremenskim trenucima, određeni
rastućom ili opadajućom ivicom taktnog signala.– Taktni period: vremenski interval između dve uzastopne
promene taktnog signala u istom smeru– Taktna frekvencija: recipročna vrednost taktnog perioda
D3 D2 D1 D0
Registar
Q3 Q2 Q1 Q0
Load
Taktni signal
Arhitektura mikrosistema
Standardne digitalne komponente (moduli)
• Sekvencijalne komponente– Sadrže memorijske elemente, kao što su leč
kola i flip-flopovi.– Izlazne vrednosti zavise ne samo od tekućih
već i od prethodnih ulaznih vrednosti– Registarske komponente
• prihvatni, pomerački i brojački registri• memorijske strukture (RAM, FIFO, stek) • staze podataka i • upravljačke jednice
Arhitektura mikrosistema
Leč kola i flip-flopovi• Leč kola - osnovni asinhroni memorijski elementi
• Flip-flopovi - osnovni sinhroni memorijski elementi
SR leč
D flip-flop
Takt
Ulazi S i R direktno utiču na izlaz i menjaju stanje leča
Vrednost ulaza D je od značaja samo u trenutku rastuce ivice takta
Arhitektura mikrosistema
Tipovi flip-flopovaD Q(next)
0 01 1
T Q(next)
0 Q1 Q’
D Q
Q’
CLR
SET
Ulazi za direktno (asinhrono) setovanje (SET) i resetovanje (CLR)
Arhitektura mikrosistema
Konačni automat• Matematička definicija:
– Uređena petorka <S, I, O, f, h>• S - skup stanja• I - skup ulaza• O - skup izlaza• f - funkcija sledećeg stanja f : S x I → S• h - funkcija izlaza
– Milijev automat h : S x I → O– Murov automat h : S → O
Arhitektura mikrosistema
Konačni automat - dijagram stanja
Stanje
Prelaz Uslov prelaza(zavisi od ulaza)
Izlaz
Arhitektura mikrosistema
Konačni automat - realizacija• Digitalna implementacija - flip-fpopovi + logička kola
– Stanje KA se čuva u flip-flopovima– Funkcija f i h se realizuje kao kombinacione mreže– Primena: upravljačke jedinice
Murov KAMurov KA
Arhitektura mikrosistema
Konačni automat - realizacija
D1 Q1
FF1
D2 Q2
FF2
Dm Qm
FFm
f:S X I-> S h:S X I -> O
A1 A2 Ak
Y1
Y2
Yn
.
.
....
.
.
.
Izlazni signali
Ulaznisignali
Clk
…
…
Signali stanja
Milijev KAMilijev KA
Arhitektura mikrosistema
Sinteza konačnih automata
• Koraci:– Minimizacija stanja– Kodiranje stanja– Izbor memorijskih elemenata (JK, D ili T ff.)– Generisanje logičkih jednačina logike
sledećeg stanja i izlaza– Sinteza kombinacione logike
Arhitektura mikrosistema
Problem kodiranja stanja
• Dodela binarnih kombinacija simboličkim stanjima konačnog automata
• Kodiranje stanja automata sa 4 stanja: – 24 moguća kodiranja.– Funkcionalno identična, ali razika u složenosti
kombinacione logike– Koje kodiranje je optimalno ?
• Težak problem# S0 S1 S2 S3 # S0 S1 S2 S3 # S0 S1 S2 S3
1 00 01 10 11 9 01 10 00 11 17 10 11 00 01 2 00 01 11 10 10 01 10 11 00 18 10 11 01 00 3 00 10 01 11 11 01 11 00 10 19 11 00 01 10 4 00 10 11 01 12 01 11 10 00 20 11 00 10 01 5 00 11 00 10 13 10 00 01 11 21 11 01 00 10 6 00 11 10 01 14 10 00 11 01 22 11 01 10 00 7 01 00 10 11 15 10 01 00 11 23 11 10 00 01 8 01 00 11 10 16 10 01 11 00 24 11 10 01 00
Arhitektura mikrosistema
Šeme (heuristike) kodiranja stanja
• Binarno kodiranje: – Minimalnan broj bita za kodiranje – Stanjima se proizvoljno dodeljuju bin. kombinacije– Garantuje minimalni broj FF, ali je logika složenija.
• Onehot kodiranje:– Broj bita za kodiranje jednak je broju stanja. Kodovi su oblika:
0001, 0010, 0100 ..(pozicija 1-ce ukazuje na stanje)– Veliki broj FF, ali kombinaciona logika je jednostavnija i brža
• Gary-ov kôd– Minimalni broj bita za kodiranje, ali složenije pravilo za dodelu
kodova stanjima.– Susednim stanjima (tj. povezanim stanjima) dodeljuju se
binarne kombinacije koje se razlikuju na najmanjem broju bita.– Manja složenost u odnosu na binarno koridiranje
Nn 2log=
Arhitektura mikrosistema
Memorijske komponete
• Registri• Pomerački registri• Brojači• Registarski fajl• RAM• Stek• FIFO
Arhitektura mikrosistema
Registar
• n flip-flopova sa zajedničkim taktnim signalom.
I3 I2 I1 I0
Registar
Q3 Q2 Q1 Q0
D3 Q3 D2 Q2 D1 Q1 D0 Q0
Q3 Q2 Q1 Q0
Clk
I3 I2 I1 I0
Arhitektura mikrosistema
Registar• registar sa asinhronim resetovanjem i setovanjem
Arhitektura mikrosistema
Registar• Sa dozvolom upisa
Unutrašnjastruktura
FunkcionalnatabelaGrafički
simbol
Arhitektura mikrosistema
Pomerački registarIL
Pomerački registar
Shift Q3 Q2 Q1 Q0
Sledeće stanje
Shift Q3 Q2 Q1 Q0
0
1
Bez promene
IL Q3 Q2 Q1
Pomerački registar sa serijskim upisom i paralelnim izlazima (SIPO)
Arhitektura mikrosistema
Univerzalni pomerački registar
D3 Q3 D2 Q2 D1 Q1 D0 Q0
Q3 Q2 Q1 Q0
Clk
S1
IL
3 2 1 0 mux
3 2 1 0 mux
3 2 1 0 mux
3 2 1 0 mux
S0
I3 I2 I1 I0
IR
Arhitektura mikrosistema
Binarni brojač
D3 Q3 D1 Q1 D2 Q2 D0 Q0
Q3 Q2 Q1 Q0
C3 C2 C1 C0
C4
E
Clear
Clk
Izlazni prenos
HA HA HA HA
Inkrementer
Arhitektura mikrosistema
Obostrani brojač
Inkrementer/dekrementer
Polu sabirač/oduzimač
Arhitektura mikrosistema
Obostrani brojač sa paralelnim upisom
Arhitektura mikrosistema
BCD brojač(0,1,2,3,4,5,6,7,8,9)
0 D I3 I2 I1 I0E Obostrani brojač
Load Q3 Q2 Q1 Q0
0 0 0 0
D I3 I2 I1 I0E Obostrani brojač
Load Q3 Q2 Q1 Q0
mux
1 0 0 1 0 0 0 0
01
‘0’
‘9’
‘9’
BCD brojač naviše Obostrani BCD brojač
Arhitektura mikrosistema
Registarski fajl• Registarska memorija
– Dvodimenzionalno polje flip-flopova– 2nxm – 2n registara dužine m bita– Brza memorija
Adresa upisa
Dozvola
Taktni signal
Adresa čitanja
Dozvola čitanja
Izlaz podataka
Ulaz podataka
Arhitektura mikrosistema
Registarski fajl(unutrašnja struktura)
RFC RFC RFC RFC
RFC RFC RFC RFC
RFC RFC RFC RFC
RFC RFC RFC RFC
Dekoderza upis2-u-4
Dekoder za čitanje2-u-4
I3 I2 I1 I0
O3 O2 O1 O0
WA1
WA0
WE
0
1
2
3
0
1
2
3
RA1
RA0
RE
Arhitektura mikrosistema
Višeportni registarski fajlovi
• Više od jednog porta za upis i/ili porta za čitanje
Jedan port za upis / dva porta za čitanje
U svakom taktnom ciklusu moguće je upisati jedan i pročitati dva podatka
Arhitektura mikrosistema
Višeportni registarski fajlovi(unutrašnja struktura)
Nezavisno adresiranje dva porta za
čitanje
Arhitektura mikrosistema
Višeportni registarski fajlovi(memorijska ćelija)
Arhitektura mikrosistema
RAM• Slična registarskom fajlu, ali sa jednostavnijom (i
sporijom) memoriskom ćelijom• Random Access Memory – omogućen pristup bilo kojoj
memorijskoj reči u bilo kom momentu.• U odnosu na registarski fajl:
– Veći kapacitet– Manja brzina rada (vreme pristupa)
• Registarski fajl – kao memorija u procesoru• RAM – kao memorija van procesora
Arhitektura mikrosistema
RAM
Im-1 . . . I1 I0
An-1
A1 2nxm RAMA0
CSRWS
Om-1 … O1 O0
. . .
. . .
An-1
A1 2nxm RAMA0
CSRWS
I/Om-1… I/O1 I/O0
. . .
. . .
. . .
Memorijska adresa
Binarno Decimalno
0 … 000 0 011 … 0100 0 … 001 1 011 … 01000 … 010 2 101 … 00110 … 011 3 011 … 10100 … 100 4 010 … 11000 … 101 5 000 … 00010 … 110 6 110 … 10000 … 111 7 101 … 0110 . . . . . . . . .1 … 110 2n-2 000 … 00011 … 111 2n-1 111 … 1101
Sadržaj memorije
m bita
Sa razdvojenim portovima za upis i čitanje
Sa bidirekcionim portovima
Selekcija čipa
Izbor upis/čitanje
Arhitektura mikrosistema
RAM(unutrašnja struktura)
MC MC MC MC
MC MC MC MC
MC MC MC MC
MC MC MC MCAdresnidekoder
2-u-4
0
1
2
3
Write_enable
CS
RWS
A0
A1
UI3 UI2 UI1 UI0
D Q
C
Write_enable
OutputInput
MC
Row_select
Leč, a ne flip-flop !
bidirekcioni ulaz/izlaz
Arhitektura mikrosistema
Proširenje RAM-a• 16Kx32 RAM, realizovan pomoću 16Kx8 RAM
IA
CS M3
RWS
O
IA
CS M2
RWS
O
IA
CS M1
RWS
O
IA
CS M0
RWS
O
8 8 8 8
8 888
32
32
Izlazna magistrala
Ulazna magistrala
14A
CS
RWS
Arhitektura mikrosistema
Proširenje RAM-a• 64Kx8 RAM
realizovan pomoću 16Kx8 RAM
Arhitektura mikrosistema
STEK• LIFO – List In First Out (najskorije upisan podadatak se prvi čita)• Pristupa se samo jednoj lokaciji memorije • Operacije:
– Push – upis (novi podatak na vrh, a zapamćeni podaci jednu poziciju naniže)
– Pop – čitanje (uzima se podatak sa vrha, a zapamćeni podaci jednu poziciju naviše)
Push Pop
Arhitektura mikrosistema
STEK – realizacija pomoću pomeračkih registara
UlazUlaz
110111
101110
0X000X
EDS0S1
Kontrola
brojača
Kontrola pom.
registraEna
Push/pop
UpisČitanje
Arhitektura mikrosistema
STEK – realizacija pomoću RAM-a
• Princip
podatak
podatak
prazno
prazno
prazno
prazno
prazno
0
1
2
1021
1022
1023
Top-1
Top
RAMPokazivači
Pus
h
Pop
Pop: podatak se uzima sa pozicije Top-1, a oba pointera se umanjuju za 1
Push: podatak se upisuje u lokaciju na koju ukazuje Top, a oba pointera se uvećavaju za 1
Arhitektura mikrosistema
STEK – realizacija pomoću RAM-a
DE Top-1Set
1K RAMA
CS RWS
1 0 S mux
DE TopReset
Izlazna logika
U/I magistrala
Empty
Full
Upravljačka logika
Reset
Push/pop
Enable
nn
n
n
m
Obostrani brojači
1101011
1011110
0X00X0X
EDRWSCSKontrola broj.Kontrola mem.Kontrola mux-a
SEnablePush/pop
Arhitektura mikrosistema
FIFO• First In First Out (najkasnije upisan podatak se prvi čita)• Red čekanja• Proizvođač → FIFO → Potrošač
Arhitektura mikrosistema
FIFO
Arhitektura mikrosistema
FIFO(realizacija pomoću pom. registara)
Reset IL IR
S1 Pom.Reg.
S0 Q3 Q2 Q1 Q0
Reset IL IR
S1 Pom.Reg.
S0 Q3 Q2 Q1 Q0
D Up/Down brojačE Set Q3 Q2 Q1 Q0
mux
3210 S1 S0
mux
3210 S1 S0
Full
Empty
OUTm-1
OUT0
IN0
INm-1
Enable
ResetUpravljačka
logika
Read/write
Izlaznalogika
.
.
.
.
.
....100111
110010
0X000X
EDS0S1EnaRead/write
Arhitektura mikrosistema
FIFO(realizacija pomoću RAM-a)
prazno
podatak
podatak
podatak
prazno
prazno
. . .
0
1
2
1021
1022
1023
Početak
Kraj
RAM
Pokazivači
Upis:
podatak se upisuje u lokaciju na koju ukazuje pokazivač Kraj
Kraj = Kraj + 1
Ako važi Kraj = Početak, FIFO je pun
Čitanje:
Podatak se čita sa lokacije na koju ukazuje pokazivač Početak
Početak = Početak + 1
Ako važi Kraj = Početak, FIFO je prazan
Arhitektura mikrosistema
FIFO(realizacija pomoću RAM-a)
E KrajReset
1K RAMA
CS
RWS
1 0 S mux
E PočetakReset
U/I magistrala
Empty
Full
Reset
Enable
Read/write
Cmp. < = >
10 101
1
Brojači
1011011
0101110
00X0X0X
E(Kraj)
E(Početak)RWSCSSEnableRead/write
Arhitektura mikrosistema
Staza podataka
• Složenije digitalne strukture. Sastoji od: – Memorije i/ili registara za privremeno
smeštanje podataka i – Aritmetičkih, logičkih i pomeračkih jedinica -
za izračunavanja i manipulaciju podacima
Arhitektura mikrosistema
Jednostavna staza podataka
Upravljačka reč
Sekvencijalna staza podataka - jedna operacija u jednom taktnom ciklusu
Registar
Arhitektura mikrosistema
Složenija staza podataka 1 0 S mux19
WAWE
Registarskifajl
8xmRAA RABREA REB
16-1815
Clk
12-1411
3
3
8-107
A BMS1 ALUS0
654
IL IRS2
S1 Pomerački reg.S0
21
0 0
Magistrala A Magistrala B
Ulaz
Izlaz
Magistrala rezultata
0
3
3
M S1 S0 ALU Operacije--------------------------------------0 0 0 Komplement A0 0 1 AND0 1 0 XOR0 1 1 OR1 0 0 Dekrement A1 0 1 Sabiranje1 1 0 Oduzimanje1 1 1 Inkrement A
S2 S1 S0 Operacije pom.reg------------------------------------------0 0 0 Propuštanje0 0 1 Propuštanje0 1 0 Ne koristi se0 1 1 Ne koristi se1 0 0 Pomeranje na levo1 0 1 Rotacija na levo1 1 0 Pomeranje na desno1 1 1 Rotacija na desno
(b)
(c)
(a)
IE Adresa upisa
Adresa čitanja A
ALU Operacija
Operacija pom.reg.
19 56 4 3 2 1 0
(d)
18 17 16 15 14 13 12 11
Adresa čitanja B
10 9 8 7
OE
Arhitektura mikrosistema
Staza podataka + upravljačka jedinica
RAA2RAA1RAA0REA
RAB2RAB1RAB0
REB
M
S1
S0
S2S1S0
OE
WE
WA0
WA1
WA2
IE
Izlaz
Ulaz
Staza podataka
Upravljackajedinica
Sprovodi algoritam -
Nalaže stazi podataka šta
da radi
Konačni automat
S0
S1
S2
S3
S4
S5
S6
S7
Podatak = Ulaz
BrojJedinica = 0
Maska = 1
Temp = Podatak AND Mask
BrojJedinica = BrojJedinica + Temp
Podatak = Podatak >> 1
Izlaz = BrojJedinica
Start = 1
Podatak = 0
Podatak <> 0
Done = 1
Start = 0
U registarski fajl
Arhitektura mikrosistema
Paralelne staze podataka• Više od jedne operacije u jednom taktnom ciklusu
Registarskifajl
1 0 mux
1 0 mux
ALU Pomerač Množač Delitelj
Ulaz_1 Ulaz_2
Magistrala_1
Magistrala_2
Magistrala_3
Magistrala_4
Magistrala rezultata_1 Magistrala rezultata_2
Arhitektura mikrosistema
Staza podataka - opšti oblik
Arhitektura mikrosistema
Projektovanje upravljačkih jedinica• Upravljačka jedinica - konačni automat• Klasična realizacija - za automate sa velikim brojem stanja, velika
složenost kombinacionih bolokva
D Q
D Q
D Q
.
.
.
Logika sledećeg
stanja
Izlazna logika
.
.
.
Upravljački ulazi Statusni
signali
Upravljački izlazi
Upravljački signali staze podataka
Registar stanja
Arhitektura mikrosistema
Upravljačka jedinica sa dekoderom• Na izlazu dekodera - onehot kod• Jednostavnija realizacija logike sledećeg stanja i logike izlaza
Reg
ista
r sta
nja
Dek
oder
...
...
Logika sledećeg stanja
...
Izlazna logika
...
...
...
Upravljački ulazi
Upravljački signali staze podataka
Statusnisignali
Upravljački izlazi
Arhitektura mikrosistema
Upravljačka jedinica sa brojačem• Pogodno kada većina stanja imaju samo jednog naslednika• Preduslov - kodovi dva sukcesivna stanja se razlikuju za 1• Grananje (napuštanje sekvence) - paralelni upis u brojač
Logika sledećeg
stanja
Izlazna logika
.
.
.
Upravljački ulazi
Statusnisignali
Eksterno grananje
Internogrananje
Upravljački signali staze podataka
Upravljački izlazi
load/count
Arhitektura mikrosistema
Upravljačka jedinica sa stekom• Pojedni delovi automata se realizuju u vidu potprograma i pozivaju iz drugih
delova automata.• Stek - za čuvanje koda stanja koje sledi odmah nakon poziva potprograma
Inkrementer
Logika sledećeg
stanja
Izlazna logika
.
.
.
Upravljački ulazi
Statusnisignali
Upravljački izlazi
Upravljački signali staze podataka
Eksterno grananje
(d)
Arhitektura mikrosistema
Mikroprogramsko upravljanje• Koristi se kod mikroprocesora za realizaciju instrukcija (svaka instrukcija se
izvršava u nekoliko taktnih ciklusa shodno odgovarajućem mikroprogramu)• Mogućnost lakog proširenja (menja se samo sadržaj ROM/PROM-a).
Eksterna adresa
Inkrementer
ROMili
PROM
Upravljački izlazi
.
.
.Upravljački signali staze podataka
mux
...
Upravljački ulazi
Statusnisignali
Logika za izbor adrese
Izbor uslova
(e)