arhitektura ra čunara

40
1 Arhitektura ra Arhitektura ra čunara čunara Mladen Nikolić URL: http://www.matf.bg.ac.yu/~nikolic e-mail: [email protected] vežbe - čas vežbe - čas 1 i 2: Minimizacija 1 i 2: Minimizacija logi logi čkih funkcija čkih funkcija

Upload: vilina

Post on 15-Jan-2016

28 views

Category:

Documents


2 download

DESCRIPTION

Arhitektura ra čunara. vežbe - čas 1 i 2: Minimizacija logi čkih funkcija. Mladen Nikoli ć URL: http://www.matf.bg.ac.yu/~nikolic e-mail: [email protected]. Bulova algebra. Klod Š enon je 1938. uo č io da se Bulova algebra mo ž e koristiti u re š avanju problema digitalne elektronike. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Arhitektura ra čunara

1

Arhitektura raArhitektura računaračunara

Mladen NikolićURL: http://www.matf.bg.ac.yu/~nikolic

e-mail: [email protected]

vežbe - čas vežbe - čas 1 i 2: Minimizacija logi1 i 2: Minimizacija logičkih funkcijačkih funkcija

Page 2: Arhitektura ra čunara

Uvod u organizaciju računara 2

Bulova algebraBulova algebra

Klod Šenon je 1938. uočio da se Bulova algebra može koristiti u rešavanju problema digitalne elektronike.

Bulova algebra se pokazala posebno korisna u sledećim zadacima:– Opis elektronskog kola kao logičke funkcije

ulaza kola.– Nalaženje najboljeg načina realizacije te

funkcije.

Page 3: Arhitektura ra čunara

Uvod u organizaciju računara 3

Elementi logikeElementi logike

Logičke konstante: 0 i 1Logičke promenljive: A, B, C…Logičke (iskazne) formule su:– Logičke konstante i promenljive.– Ako su P i Q logičke formule, onda su i

(¬P), (PΛQ), (PVQ), (P→Q) i (P↔Q) logičke formule.

– Ništa drugo nije logička formula.

Page 4: Arhitektura ra čunara

Uvod u organizaciju računara 4

LogiLogiččke funkcijeke funkcije

Funkcije oblika ƒ:{0,1}n→{0,1} nazivamo logičkim funkcijama n promenljivih.

Postoji 22n logičkih funkcija n

promenljivih.Za svaku logičku funkciju postoji bar

jedna logička formula koja joj odgovara i obrnuto.

Page 5: Arhitektura ra čunara

Uvod u organizaciju računara 5

Potpuni sistemi logiPotpuni sistemi logiččkih funkcijakih funkcija

Za skup logičkih funkcija kažemo da je potpun ako se sve logičke funkcije mogu predstaviti pomoću funkcija ovog skupa.

Potpun sistem je minimalan ako ni jedan njgov pravi podskup nije potpun.

{¬, Λ} je minimalan potpun sistem funkcija. – Npr. AVB=¬(¬A Λ¬B)

Page 6: Arhitektura ra čunara

Uvod u organizaciju računara 6

Potpuni sistemi logiPotpuni sistemi logiččkih funkcijakih funkcija

Sistemi {↑} i {↓} su potpuni i minimalni. Funkcije ↑ (Ni, Šeferova funkcija) i ↓ (Nili,

Lukašievičeva funkcija) se definišu na sledeći način:

A B A↑B A↓B

0 0

0 1

1 0

1 1

1 1

1 0

1 0

0 0

Page 7: Arhitektura ra čunara

Uvod u organizaciju računara 7

Potpuni sistemi logiPotpuni sistemi logiččkih funkcijakih funkcija

Potpunost prethodnih sistema se vidi iz sledećih relacija:– ¬A=A↑A– AΛB=(A↑B) ↑(A↑B)– ¬A=A↓A– AΛB=(A↓A) ↓(B↓B)

Page 8: Arhitektura ra čunara

Uvod u organizaciju računara 8

Normalne formeNormalne forme

Logičke konstante, logičke promenljive i njihove negacije nazivaćemo literalima.

Logička formula je u konjunktivnoj normalnoj formi ako je oblika:– A1 Λ A2 Λ … Λ An gde je svaka od

formula Ai disjunkcija literala.

Page 9: Arhitektura ra čunara

Uvod u organizaciju računara 9

Normalne formeNormalne forme

Logička formula je u disjunktivnoj normalnoj formi ako je oblika:– A1 V A2 V … V An gde je svaka od

formula Ai konjunkcija literala.

Za svaku logičku formulu postoje ekvivalentne formule u DNF i KNF.

Page 10: Arhitektura ra čunara

Uvod u organizaciju računara 10

Algoritam za DNFAlgoritam za DNF

Ulaz: Logička formula A Izlaz: DNF formule A

– (1) Eliminisati veznik A↔B koristeći ekvivalenciju A↔B ≡ (A→B) Λ (B→A)

– (2) Eliminisati veznik A→B koristeći ekvivalenciju A→B ≡ ¬A V B

– (3) Dok je moguće primenjivati De Morganove zakone:¬(A Λ B) ≡ ¬A V ¬B i ¬(A V B) ≡ ¬A Λ ¬B

– (4) Eliminisati višestruke negacije koristeći zakon ¬ ¬A ≡ A

– (5) Dok je moguće primenjivati zakone distributivnosti Λ u odnosu na V A Λ (B V C) ≡ (A Λ B) V (A Λ C) i(B V C) Λ A ≡ (B Λ A) V (C Λ A)

Page 11: Arhitektura ra čunara

Uvod u organizaciju računara 11

PrimerPrimer

Naći DNF formule ¬((A↔B) → C)– (1) ¬((A→B Λ B→A)→C) – (2) ¬(¬((¬AVB) Λ (¬BVA)) V C) – (3) ¬(¬(¬AVB) V ¬(¬BVA) V C) – (3) ¬((¬¬A Λ¬B) V (¬¬B Λ¬A) V C) – (3) ¬(¬¬A Λ¬B) Λ ¬((¬¬B Λ¬A) V C)– (3) (¬¬¬A V ¬¬B) Λ ¬(¬¬B Λ ¬A) Λ ¬C– (3) (¬¬¬A V ¬¬B) Λ (¬¬¬B V ¬¬A) Λ ¬C– (4) (¬A V B) Λ (¬B V A) Λ ¬C– (5) (¬A V B) Λ ((¬B Λ ¬C) V (A Λ ¬C))– (5) ((¬A V B) Λ (¬B Λ ¬C)) V ((¬A V B) Λ (A Λ ¬C))– (5) (¬A Λ ¬B Λ ¬C) V (B Λ ¬B Λ ¬C) V (¬A Λ A Λ ¬C) V (B Λ A Λ ¬C)

Page 12: Arhitektura ra čunara

Uvod u organizaciju računara 12

PrimerPrimer

Naći DNF sledećih formula:¬((C→A)→B)

¬(C→(A↔B))

(A↔B)→C

(¬(A↔B))→C

¬(A→(B→C))Λ((A→B)→C)

Page 13: Arhitektura ra čunara

Uvod u organizaciju računara 13

PojednostavljivanjePojednostavljivanje

Formule se mogu pojednostaviti koristeći ekvivalencije: – A Λ ¬A ≡ 0– A V ¬A ≡ 1 – A Λ 0 ≡ 0 – A V 0 ≡ A– A Λ 1 ≡ A– A V 1 ≡ 1– A Λ A ≡ A– A V A ≡ A

Page 14: Arhitektura ra čunara

Uvod u organizaciju računara 14

PrimerPrimer

Uprostiti:– (¬A Λ ¬B Λ ¬C) V (B Λ ¬B Λ ¬C) V (¬A Λ A Λ ¬C) V (B Λ A Λ ¬C)– (¬A Λ ¬B Λ ¬C) V (0 Λ ¬C) V (0 Λ ¬C) V (B Λ A Λ ¬C)– (¬A Λ ¬B Λ ¬C) V 0 V 0 V (B Λ A Λ ¬C)– (¬A Λ ¬B Λ ¬C) V 0 V (B Λ A Λ ¬C)– (¬A Λ ¬B Λ ¬C) V (B Λ A Λ ¬C)

Page 15: Arhitektura ra čunara

Uvod u organizaciju računara 15

Formiranje DNF prema tabliciFormiranje DNF prema tablici

Ako je data tablica koja predstavlja neku logičku funkciju, lako se dobija DNF odgovarajuće formule.

DNF se dobija tako što se svakoj vrsti tablice za koju je vrednost funkcije 1 pridruži jedna konjunkcija literala. Literali u konjunkcijama se odredjuju na sledeći način:– Ako u odgovarajućoj vrsti promenljiva X ima vrednost 1,

u konjunkciji se javlja literal X– U suprotnom, ako promenljiva X u toj vrsti ima vrednost

0, u konjunkciji se javlja literal ¬X Disjunkcija svih takvih konjunkcija je tražena

DNF.

Page 16: Arhitektura ra čunara

Uvod u organizaciju računara 16

PrimerPrimer

Odgovarajuća DNF je:– (¬A Λ B Λ ¬C) V (¬A Λ B Λ C) V (A Λ B Λ ¬C)

A B C F

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

0

0

1

1

0

0

1

0

Page 17: Arhitektura ra čunara

Uvod u organizaciju računara 17

LogiLogiččki elementiki elementi

Logički elementi su elektronski objekti koji implementiraju neke od logičkih funkcija. Argumenti funkcija su ulazi, a vrednosti funkcija su izlazi logičkih elemenata.

Logički elementi obično implementiraju potpune sisteme logičkih funkcija.

Page 18: Arhitektura ra čunara

Uvod u organizaciju računara 18

LogiLogiččki elementiki elementi

Svaka logička funkcija se u elektronskom obliku može predstaviti mrežom povezanih logičkih elemenata.

Ovi elementi se mogu povezivati tako da predstavljaju npr. DNF formule koja odgovara posmatranoj funkciji.

Page 19: Arhitektura ra čunara

Uvod u organizaciju računara 19

Minimizacija logiMinimizacija logiččkih funkcijakih funkcija

Radi smanjenja troškova proizvodnje i komplikovanosti sistema, teži se sledećim ciljevima:– Smanjenje složenosti reprezentacije

logičke funkcije– Smanjenje broja različitih logičkih

elemenata, pa se često koristi samo jedan element – Ni ili Nili

Page 20: Arhitektura ra čunara

Uvod u organizaciju računara 20

Minimizacija logiMinimizacija logiččkih funkcijakih funkcija

Postoji vise načina minimizacije logičkih funkcija. Osnovni su:– Algebarske transformacije– Karnoove (Karnaugh) mape–Metoda Kvin-MekKlaskog

Page 21: Arhitektura ra čunara

Uvod u organizaciju računara 21

Algebarske transformacijeAlgebarske transformacije

Algebarski pristup minimizaciji logičkih funkcija se zasniva na primenama raznih zakona uprošćavanja i zamene složenih podformula jednostavnijim, logički ekvivalentnim, formulama.

Page 22: Arhitektura ra čunara

Uvod u organizaciju računara 22

PrimerPrimer

F=(¬AΛBΛ¬C)V(¬AΛBΛC)V(AΛBΛ¬C)(¬AΛBΛ¬C)V(¬AΛBΛC)V(AΛBΛ¬C)V(¬AΛBΛ¬C)

¬AΛBΛ(¬CVC) V (AV¬A)ΛBΛ¬C

¬AΛB V BΛ¬C

Fmin=BΛ(¬AV¬C)

Page 23: Arhitektura ra čunara

Uvod u organizaciju računara 23

Karnoove mapeKarnoove mape

Karnoove mape predstavljaju tablični metod minimizacije logičkih funkcija. Koriste se za funkcije do 6 promenljivih. Za veće brojeve promenljivih postaju nepregledne i previše složene.

Page 24: Arhitektura ra čunara

Uvod u organizaciju računara 24

Karnoove mape - opisKarnoove mape - opis

Ako je n broj promenljivih, mapa se sastoji od 2n kvadrata.

Kolone i vrste mape se označavaju kombinacijama vrednosti promenljivih.

Ako je širina (odnosno visina) mape n kvadrata, po širini (odnosno visini) se zadaju vrednosti za log2n promenljivih.

Oznake kolona odnosno vrsta (kombinacije vrednosti pormenljivih) su poredjane tako da čine Grejov kod.

Page 25: Arhitektura ra čunara

Uvod u organizaciju računara 25

PrimeriPrimeri

Page 26: Arhitektura ra čunara

Uvod u organizaciju računara 26

PrimeriPrimeri

Page 27: Arhitektura ra čunara

Uvod u organizaciju računara 27

Karnoove mape - konstrukcijaKarnoove mape - konstrukcija

Logička funkcija koja je zapisana u obliku DNF, može se predstaviti pomoću Karnoove mape tako što se u svako polje mape upiše 1 ukoliko postoji konjunkcija u DNF takva da je njena vrednost 1 za vrednosti promenljivih koje odgovaraju tom polju.

Karnoova mapa se takodje može dobiti i iz tablične reprezentacije funkcije, jednostavnim upisivanjem jedinica u polja koja odgovaraju vrstama tablice za koje je vrednost funkcije 1.

Page 28: Arhitektura ra čunara

Uvod u organizaciju računara 28

PrimeriPrimeri

Page 29: Arhitektura ra čunara

Uvod u organizaciju računara 29

Karnoove mape - konstrukcijaKarnoove mape - konstrukcija

Ukoliko tablica koja definiše funkciju nije definisana za sve vrednosti promenljivih (nemamo sve vrste), u polja mape koja odgovaraju tim vrstama možemo upisati neki specijalni simbol. Uobičajeni su d,?,*,n…

Takva polja pri minimizaciji možemo interpretirati kako nam odgovara.

Page 30: Arhitektura ra čunara

Uvod u organizaciju računara 30

Karnoove mape - minimizacijaKarnoove mape - minimizacija

Pošto Karnoove mape direktno odgovaraju tablicama kojima se zadaju logičke funkcije, DNF formule koja odgovara mapi se može dobiti na isti način. Medjutim, tako dobijena formula ne mora biti minimalna.

Minimizacija se zasniva na postupku uočavanja grupa od po 2k jedinica kojima se konjunkcija može dodeliti kao grupi, umesto da se to radi pojedinačno kao kod konstrukcije iz tablice.

Page 31: Arhitektura ra čunara

Uvod u organizaciju računara 31

Karnoove mape - minimizacijaKarnoove mape - minimizacija

Kod formiranja grupa jedinica, važe sledeća pravila:– Grupe se sastoje samo od jedinica– Broj jedinica u grupi mora biti stepen dvojke: 1,2,4,8,

…,2i,…– Jedinice moraju biti rasporedjene u susednim poljima u

obliku pravougaonika– Svaka jedinica mora biti u nekoj grupi– Grupe se mogu preklapati– Grupe čija su polja u potpunosti sadržana u nekim

drugim grupama treba zanemariti– Smatra se da mapa ima oblik torusa, odnosno mogu se

grupisati i jedinice koje postaju susedne kada se spoje naspramne ivice mape.

Page 32: Arhitektura ra čunara

Uvod u organizaciju računara 32

Karnoove mape - minimizacijaKarnoove mape - minimizacija

Poštujući ova pravila može se formirati puno različitih grupisanja, odnosno, ova pravila ne odredjuju jednoznačno grupisanje jedinica.

Osnovni princip koji garantuje minimalnost je: vršiti grupisanje tako da se sa što manje što većih grupa obuhvate sve jedinice.

Page 33: Arhitektura ra čunara

Uvod u organizaciju računara 33

PrimeriPrimeri

Page 34: Arhitektura ra čunara

Uvod u organizaciju računara 34

Karnoove mape - Karnoove mape - ččitanjeitanje

Kao što je i ranije naglašeno čitanje Karnoovih mapa bez grupisanja je jednostavno – kao kod konstrukcije DNF iz tablice koja predstavlja funkciju.

Posle grupisanja, mapa se tumači kao disjunkcija konjunkcija koje odgovaraju grupama, a ne pojedinačnim jedinicama, što dovodi do smanjenja reprezentacije funkcije.

Page 35: Arhitektura ra čunara

Uvod u organizaciju računara 35

Karnoove mape - Karnoove mape - ččitanjeitanje

Svaka promenljiva X koja je konstantna na svim poljima neke grupe učestvuje u konjunkciji koja se pridružuje toj grupi kao literal X ako je vrednost promenljive 1 ili ¬X ako je njena vrednost 0.

Što je grupa veća, to je manji broj promenljivih u konjunkciji koja joj se pridružuje.

Page 36: Arhitektura ra čunara

Uvod u organizaciju računara 36

PrimerPrimer

Page 37: Arhitektura ra čunara

Uvod u organizaciju računara 37

PrimerPrimer

Page 38: Arhitektura ra čunara

Uvod u organizaciju računara 38

Neodredjena poljaNeodredjena polja

Ukoliko mapa sadrži polja za koja nije odredjena vrednost (označena sa d,?,*,n…), njih tumačimo na način koji nam odgovara u cilju grupisanja jedinica u što manje što većih grupa.

Page 39: Arhitektura ra čunara

Uvod u organizaciju računara 39

PrimerPrimer

Page 40: Arhitektura ra čunara

Uvod u organizaciju računara 40

PrimerPrimerA B C D F

0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1