You are on page 1of 53

Sekvencijalne komponente

Vrednosti izlaza zavise ne samo od trenutnih vrednosti ulaza, ve i od ranijeg ponaanja kola (od predistorije) Sadre memorijske elemente koji zadravaju, tj. memoriu 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

Load

D3 D2 D1 D0 Registar Q3 Q2 Q1 Q0

Taktni signal
Arhitektura mikrosistema

Standardne digitalne komponente (moduli) Sekvencijalne komponente


Sadre 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 SR le#
Ulazi S i R direktno uti#u na izlaz i menjaju stanje le#a

Flip-flopovi - osnovni sinhroni memorijski elementi D flip-flop


Takt Vrednost ulaza D je od zna#aja samo u trenutku rastuce ivice takta

Arhitektura mikrosistema

Tipovi flip-flopova
D 0 1 Q(next) 0 1

T 0 1

Q(next) Q Q

CLR D Q

Q 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


Izlaz

Stanje Prelaz Uslov prelaza (zavisi od ulaza)

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 mree Primena: upravlja#ke jedinice
Murov KA

Arhitektura mikrosistema

Kona#ni automat - realizacija


Ulazni signali A1 A2 D1 Q1 FF1 Ak Clk

Milijev KA

D2 f:S X I-> S . . . . . .

Q2 FF2 h:S X I -> O . . .

Y1 Y2 Izlazni signali

Yn

Dm Q m FFm

Signali stanja

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 sloenosti kombinacione logike Koje kodiranje je optimalno ?
Teak problem
# 1 2 3 4 5 6 7 8 S0 00 00 00 00 00 00 01 01 S1 01 01 10 10 11 11 00 00 S2 10 11 01 11 00 10 10 11 S3 11 10 11 01 10 01 11 10 # S0 9 01 10 01 11 01 12 01 13 10 14 10 Arhitektura 15 10 16 10 S1 S2 10 00 10 11 11 00 11 10 00 01 00 11 mikrosistema 01 00 01 11 S3 11 00 10 00 11 01 11 00 # 17 18 19 20 21 22 23 24 S0 10 10 11 11 11 11 11 11 S1 11 11 00 00 01 01 10 10 S2 00 01 01 10 00 10 00 01 S3 01 00 10 01 10 00 01 00

eme (heuristike) kodiranja stanja


Binarno kodiranje:
Minimalnan broj bita za kodiranje n = log 2 N Stanjima se proizvoljno dodeljuju bin. kombinacije Garantuje minimalni broj FF, ali je logika sloenija. 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 bra

Onehot kodiranje:

Gary-ov kd
Minimalni broj bita za kodiranje, ali sloenije pravilo za dodelu kodova stanjima. Susednim stanjima (tj. povezanim stanjima) dodeljuju se binarne kombinacije koje se razlikuju na najmanjem broju bita. Manja sloenost u odnosu na binarno koridiranje
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

D3

Q3

D2

Q2

D1

Q1

D0

Q0

I3

I2

I1

I0 Clk

Registar Q3 Q2 Q1 Q0

Q3

Q2

Q1

Q0

Arhitektura mikrosistema

Registar
registar sa asinhronim resetovanjem i setovanjem

Arhitektura mikrosistema

Registar
Sa dozvolom upisa
Grafi#ki simbol Funkcionalna tabela

Unutranja struktura

Arhitektura mikrosistema

Pomera#ki registar
Slede e stanje IL Pomera#ki registar Shift Q3 Q2 Q1 Q0 Shift 0 1 Q3 Q2 Q1 Q0 Bez promene IL Q3 Q2 Q1

Pomera#ki registar sa serijskim upisom i paralelnim izlazima (SIPO)

Arhitektura mikrosistema

Univerzalni pomera#ki registar

I3

I2

I1

I0 IR

IL 3 2 1 0 mux S1 S0 D3 Q3 D2 Q2 D1 Q1 D0 Q0 3 2 1 0 mux 3 2 1 0 mux 3 2 1 0 mux

Clk

Q3

Arhitektura mikrosistema Q2

Q1

Q0

Binarni broja#

E C3 C4 HA HA HA HA C2 C1 C0

Inkrementer
D3 Q3 D1 Q1 D2 Q2 D0 Q0

Clear Clk Izlazni prenos Q3

Arhitektura mikrosistema Q2

Q1

Q0

Obostrani broja#
Polu sabira#/ oduzima#

Inkrementer/ dekrementer

Arhitektura mikrosistema

Obostrani broja# sa paralelnim upisom

Arhitektura mikrosistema

BCD broja# (0,1,2,3,4,5,6,7,8,9)


1001 1 mux 0000 0

D E 0 0 0 0

I3

I2

I1

I0

Obostrani broja#

Load Q3 Q2 Q1 Q0 9

D E

I3

I2

I1

I0

Obostrani broja#

Load Q3 Q2 Q1 Q0

0 9

BCD broja# navie

Obostrani BCD broja#


Arhitektura mikrosistema

Registarski fajl
Registarska memorija
Dvodimenzionalno polje flip-flopova 2nxm 2n registara duine m bita Brza memorija
Ulaz podataka Adresa upisa Dozvola Taktni signal Adresa #itanja Dozvola #itanja

Izlaz podataka
Arhitektura mikrosistema

Registarski fajl (unutranja struktura)

I3

I2

I1

I0

Dekoder za #itanje 2-u-4 RFC RFC RFC RFC

0 1

WA1 WA0 2 WE

RFC

RFC

RFC

RFC

RA1 RA0 1 RE

RFC

RFC

RFC

RFC

2 3

RFC Dekoder za upis 2-u-4

RFC

RFC

RFC

Arhitektura mikrosistema O
3

O2

O1

O0

Vieportni registarski fajlovi


Vie 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

Vieportni registarski fajlovi (unutranja struktura)

Nezavisno adresiranje dva porta za #itanje

Arhitektura mikrosistema

Vieportni 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 Memorijska adresa Sadraj memorije Binarno
. . . 1 1 0 0 0 0 0 0 0 0 000 001 010 011 100 101 110 111

Decimalno ...
0 1 2 3 4 5 6 7 . . . 2n-2 2n-1 011 011 101 011 010 000 110 101 0100 0100 0011 1010 1100 0001 1000 0110 . . . 000 0001 111 1101

An-1 ... 2nxm RAM

An-1 2nxm RAM

A1 A0

A1 A0

CS RWS Om-1 O1 O0 ...

CS RWS I/Om-1 I/O1 I/O0 ...

110 111

m bita

Selekcija #ipa Izbor upis/#itanje

Sa razdvojenim portovima za upis i #itanje


Arhitektura mikrosistema

Sa bidirekcionim portovima

RAM (unutranja struktura)


Row_select
0

Input

Output

MC

MC

MC

MC

C
1

MC Write_enable

A1 MC A0 2 MC MC MC

Le#, a ne flip-flop !
3 Adresni dekoder 2-u-4 Write_ enable

MC

MC

MC

MC

MC

MC

MC

MC

RWS CS

bidirekcioni ulaz/izlaz

Arhitektura mikrosistema
UI3 UI2 UI1 UI0

Proirenje RAM-a
16Kx32 RAM, realizovan pomo u 16Kx8 RAM
Ulazna magistrala 32

8 14 A I A CS RWS O CS RWS 8 M3 A CS RWS

I A CS RWS M1 A CS RWS O

M2

M0

32

Arhitektura mikrosistema Izlazna


magistrala

Proirenje 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 nanie) Pop #itanje (uzima se podatak sa vrha, a zapam eni podaci jednu poziciju navie)

Push
Arhitektura mikrosistema

Pop

STEK realizacija pomo


Push/ pop X 0 1 Kontrola pom. registra Ena 0 1 1 S1 0 1 1 S0 0 1 0 Kontrol a broja a D X 0 1 E 0 1 1

u pomera#kih registara

Ulaz

'itanje

Upis

Arhitektura mikrosistema

STEK realizacija pomo


Princip
RAM
0 1 2 podatak podatak prazno prazno 1021 1022 1023 prazno prazno prazno

u RAM-a

Pokaziva#i
Top-1 Top

Push

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

Pop

STEK realizacija pomo


Reset D E Reset Top D E Set Top-1

u RAM-a
Obostrani broja#i

n Push/pop 1 S 0 mux

1K RAM Enable A CS RWS

Upravlja#ka logika

U/I magistrala

n n Izlazna logika

Empty Full

Push/pop X 0 1

Enable 0 1 1

Kontrola mux-a S X

Kontrola mem. CS 0 RWS 0 1 0

Kontrola broj. D X 0 1 E 0 1 1

1 1 Arhitektura mikrosistema 0 1

FIFO
First In First Out (najkasnije upisan podatak se prvi #ita) Red #ekanja Proizvo%a# & FIFO & Potroa#

Arhitektura mikrosistema

FIFO

Arhitektura mikrosistema

FIFO (realizacija pomo u pom. registara)


Read/ write X 0 1
IN0

Ena 0 1 1

S1 0 0 1

S0 0 0 0

D X 1 0

E 0 1 1
INm-1

Reset

IL Pom.Reg.

IR

. . .

S1 S0 Q3

Q2

Q1 Q0 3 2 1 mux 0 S1 S0 OUT0

. . .
Reset IL Pom.Reg. Q3 Q2 Q1 Q0 IR S1 S0

Read/write

. . .
3 2 1 mux OUTm-1 0 S1 S0

Enable

D Up/Down broja# E Set Q3 Q2 Q1 Q0

Reset

Upravlja#ka logika

Full

Arhitektura mikrosistema

Izlazna logika

Empty

FIFO (realizacija pomo u RAM-a)


RAM
0 1 2 prazno podatak podatak ... 1021 1022 1023 podatak prazno prazno Kraj Po#etak

Upis: podatak se upisuje u lokaciju na koju ukazuje pokaziva# Kraj Kraj = Kraj + 1 Pokaziva#i Ako vai Kraj = Po#etak, FIFO je pun itanje: Podatak se #ita sa lokacije na koju ukazuje pokaziva# Po#etak Po#etak = Po#etak + 1 Ako vai Kraj = Po#etak, FIFO je prazan
Arhitektura mikrosistema

FIFO (realizacija pomo u RAM-a)


Broja#i
E Po#etak Reset Reset Reset 1 1 10 10 E Kraj

<

Cmp. =

1 S >

0 mux 1K RAM A

Enable Read/write

CS RWS

U/I magistrala

Empty

Read/write X 0 1

Enable 0 1 1

S X 1 0

CS 0 1 1

RWS X 0 1

E (Po etak) 0

E (Kraj) 0

Full

1 0 Arhitektura mikrosistema 0 1

Staza podataka
Sloenije digitalne strukture. Sastoji od:
Memorije i/ili registara za privremeno smetanje podataka i Aritmeti#kih, logi#kih i pomera#kih jedinica za izra#unavanja i manipulaciju podacima

Arhitektura mikrosistema

Jednostavna staza podataka


Sekvencijalna staza podataka - jedna operacija u jednom taktnom ciklusu

Registar

Upravlja#ka re#

Arhitektura mikrosistema

Sloenija staza podataka


Ulaz 19 1 S 0 mux 16-18 15 Clk 3 12-14 11 3 8-10 7 Magistrala A A 6 5 4 M S1 S0 0 B Magistrala B RAA REA 3 WA WE Registarski fajl 8xm RAB REB M S1 S0 ALU Operacije -------------------------------------0 0 0 Komplement A 0 0 1 AND 0 1 0 XOR 0 1 1 OR 1 0 0 Dekrement A 1 0 1 Sabiranje 1 1 0 Oduzimanje 1 1 1 Inkrement A

(b)

ALU
0 S2 S1 S0 Operacije pom.reg -----------------------------------------0 0 0 Proputanje 0 0 1 Proputanje 0 1 0 Ne koristi se 0 1 1 Ne koristi se 1 0 0 Pomeranje na levo 1 0 1 Rotacija na levo 1 1 0 Pomeranje na desno 1 1 1 Rotacija na desno

IL 3 2 1 S2 S1 S0

IR

Pomera#ki reg.
Magistrala rezultata

(c)

Izlaz

(a)
19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OE

Arhitektura mikrosistema IE
Adresa upisa Adresa #itanja A

Adresa #itanja B

ALU Operacija

Operacija pom.reg.

(d)

Staza podataka + upravlja#ka jedinica


U registarski fajl
Ulaz

IE WA2 WA1

Start = 0 S0 Start = 1 S1 Podatak = Ulaz

S2 Done = 1 S3

BrojJedinica = 0

Sprovodi algoritam Nalae stazi podataka ta da radi Kona#ni automat

WA0

Staza podataka
WE

Upravljacka jedinica

RAA2 RAA1 RAA0 REA RAB2 RAB1 RAB0 REB M S1 S0 S2 S1 S0 OE

Maska = 1

S4

Temp = Podatak AND Mask

S5 Podatak <> 0

BrojJedinica = BrojJedinica + Temp

Izlaz

S6 Podatak = 0 S7

Podatak = Podatak >> 1

Izlaz = BrojJedinica

Arhitektura mikrosistema

Paralelne staze podataka


Vie od jedne operacije u jednom taktnom ciklusu
Ulaz_1 Magistrala rezultata_1 Ulaz_2 Magistrala rezultata_2

1 mux

1 mux

Registarski fajl

Magistrala_1 Magistrala_2 Magistrala_3 Magistrala_4

ALU

Pomera#

Mnoa#

Delitelj

Arhitektura mikrosistema

Staza podataka - opti oblik

Arhitektura mikrosistema

Projektovanje upravlja#kih jedinica


Upravlja#ka jedinica - kona#ni automat Klasi#na realizacija - za automate sa velikim brojem stanja, velika sloenost kombinacionih bolokva
Upravlja#ki ulazi Statusni signali

Logika slede eg stanja

. . .
D Q

Izlazna logika

. . .

Upravlja #ki signali staze podataka

Registar stanja

Upravlja#ki izlazi

Arhitektura mikrosistema

Upravlja#ka jedinica sa dekoderom


Na izlazu dekodera - onehot kod Jednostavnija realizacija logike slede eg stanja i logike izlaza
Upravlja#ki ulazi Statusni signali

. . .

. . .
Logika slede eg stanja

Registar stanja

Dekoder

. . . . . . . . . . . .
Izlazna logika

Upravlja#ki signali staze podataka

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 (naputanje sekvence) - paralelni upis u broja#
Upravlja#ki ulazi

load/count Statusni signali

Interno grananje

Logika slede eg stanja

Eksterno grananje Izlazna logika

. . .

Upravlja#ki signali staze podataka

Upravlja#ki izlazi

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
Upravlja#ki ulazi

Statusni signali Inkrementer Logika slede eg stanja

. . .
Izlazna logika Eksterno grananje

Upravlja#ki signali staze podataka

Upravlja#ki izlazi

Arhitektura mikrosistema

(d)

Mikroprogramsko upravljanje
Koristi se kod mikroprocesora za realizaciju instrukcija (svaka instrukcija se izvrava u nekoliko taktnih ciklusa shodno odgovaraju em mikroprogramu) Mogu nost lakog proirenja (menja se samo sadraj ROM/PROM-a).
Upravlja#ki ulazi

. . .
Izbor uslova mux

Statusni signali

Inkrementer

ROM ili PROM

. . .

Upravlja#ki signali staze podataka

Eksterna adresa Logika za izbor adrese

Arhitektura mikrosistema
(e)

Upravlja#ki izlazi

You might also like