Komponente digitalnih sistema
Komponente digitalnih sistema
Komponente digitalnih sistema
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
1.4 Aritmetičko-logička jedinica<br />
<strong>Komponente</strong> <strong>digitalnih</strong> <strong>sistema</strong><br />
Aritmetičko‐logička jedinica (ili ALU prema engleskom nazivu Arithmetic and Logic Unit) je<br />
višefunkcionalno kombinaciono kolo koje može da obavi bilo koju od više različitih aritmetičkih i<br />
logičkih operacija nad parom b‐bitnih operanada. Pri tom, jedna od raspoloživih operacija bira se<br />
preko skupa selekcionih ulaza. Broj i složenost operacija podržanih od strane ALU modula su pitanje<br />
izbora projektanta i mogu značajno da variraju od ALU do ALU modula. Tipične aritmetičke operacije,<br />
koje se sreću kod većine ALU modula, obično su zasnovane na sabiranju, kao na primer, sabiranje,<br />
oduzimanje, inkrementriranje i dekrementiranje. Inkrementiranje je operacija sabiranja sa 1, a<br />
dekrementiranje oduzimanja za 1. Međutim, postoje i ALU moduli koji su u stanju da obavljaju i<br />
složenije aritmetičke operacije, kao što su množenje, deljenje, stepenovanje, pomeranje, poređenje i<br />
dr. Tipične logičke operacije su AND, OR, komplement, XOR.<br />
Postoje dva glavna razloga za projektovanje ALU jedinica u obliku standardnih modula. Prvo,<br />
dostupnost univerzalnih aritmetičkih modula omogućava da se isti modul koristi u mnogim različitim<br />
primenama, čime se smanjuje broj različitih modula koji se koriste u projektovanju. Drugo, ALU<br />
moduli se mogu efikasno koristiti u sistemima, kao što je procesor, kod kojih operacija koju treba<br />
obaviti u datom trenutku bira dinamički, od strane upravljačke jedinice procesora.<br />
U ovom odeljku biće izložen postupak projektovanje jedne konkretne 4‐bitne ALU jedinice. S obzirom<br />
da su aritmetičke operacija zasnovane na sabiranju, ALU se može projektovati tako što će se<br />
modifikovati ulazi binarnog sabirača. Logika koja obavlja ovu modifikaciju, a tiče se aritmetičkih<br />
operacija, zove se aritmetički ekspander (AE), dok se ona koja se koristi za logičke operacije zove<br />
logički ekspander (LE). Ekspanderi su povezani su na ulaz sabirača, na način kako je to prikazano na Sl.<br />
1‐4. U nastavku će biti izložena procedura projektovanja ekspandera AE i LE na primeru ALU jedinice<br />
koja obavlja četiri aritmetičke i četiri logičke operacije.<br />
Najpre, neophodan je ulaz za izbor režima rada, M, koji će birati između aritmetičkih ili logičkih<br />
operacija, tako da pri M=1, ALU obavlja aritmetičke, a pri M=0 logičke operacije. Takođe, potrebne su<br />
dva ulazna signala za izbor operacije, S1 i S0, koji će, u zavisnosti od vrednosti ulaza M, birati jednu od<br />
četiri aritmetičke ili četiri logičke operacija, na način kako je to definisano funkcionalnom tabelom sa<br />
Sl. 1‐5(a), za aritmetičke, i tabelom sa Sl. 1‐5(b) za logičke operacije.<br />
Sl. 1‐4. 4‐bitni sabirač u spoju sa aritmetičkim (AE) i logičkim (LE) ekspanderima.<br />
8