Professional Documents
Culture Documents
LPRS1 Zadatak5
LPRS1 Zadatak5
LABORATORIJSKI ZADATAK 5
Strukture za raunanje
Potrebno predznanje
Uraena pokazna veba 6
Arhitekture procesora
Projektujete sloenu strukturu za raunanje koja moe da vri aritmetike i logike operacije
Kombinujete standardne kombinacione i sekvencijalne komponente, koje su same po sebi veoma
jednostavne, u veoma sloeni sistem ija primenjivost znaajno prevazilazi primenjivost pojedinih
komponenti
Projektujete aritmetiko-logike jedinice
Projektujete upravljake jedinice struktura za raunanje
Napravite vezu izmeu znanja iz programske podrke i fizike arhitekture digitalnih sistema.
Apstrakt i motivacija
Mozak vaeg linog raunara je procesor univerzalna struktura za raunanje koja moe da izvrava sloene
aritmetike i logike operacije. U ovoj vebi projektovadete sloenu strukturu za raunanje, preteu procesora,
koja moe da izvrava osnovne operacije sabiranja, oduzimanja, uvedanja, umanjenja, logike operacije i
pomeranja. Nauidete kako da koristite multipleksere za izbor operanada, kako da projektujete aritmetiko-
logiku jedinicu, kako da raunane statusne bite (zero, carry, sign) i kako da koristite registre za uvanje
izraunatih vrednosti. Konano, implementiradete i upravljaku jedinicu koja izvrava jedan program na vaem
procesoru.
1
Laboratorijski zadatak 5 Strukture za raunanje 2014/15
ZADACI
1.1. Registar
U datoteci reg.vhd implementirajte 16-bitni registar sa dozvolom upisa. Registar treba da uva vrednost sa
svog ulaza ukoliko je signal dozvole aktivan (na vrednosti 1), u suprotnom uva staru vrednost.
1.2. Multiplekser
U datoteci mux.vhd realizovati 16-bitni 9:1 multiplekser. Ovaj multiplekser treba da prosledi jednu od devet
mogudih vrednosti ulaza na izlaz, u zavisnosti od vrednosti selekcionog ulaza.
ALU treba da rauna rezultat operacije nad svojim ulaznim operandima, u zavisnosti od selekcionih bita.
Podrane operacije su sumirane u tabeli 1-3.
ALU treba da bude implementirana kao kombinaciona mrea. Pretpostaviti da sve operacije rade sa
oznaenim brojevima u II komplementu.
2
Laboratorijski zadatak 5 Strukture za raunanje 2014/15
Statusni biti takoe treba da budu realizovani kombinaciono, odn. kao funkcije rezultata iz ALU. Aktivna
vrednost statusnih bita treba da bude na visokom nivou.
Komponente realizovane u ranijim delovima vebe demo iskoristiti kako bi realizovali procesor. Va zadatak
je da instancirate sve potrebne komponente, prema Slici 2-1, kao i da ih poveete internim signalima takoe
prema Slici 2-1. Komponente procesora su:
3
Laboratorijski zadatak 5 Strukture za raunanje 2014/15
sZERO
sREG_WE [7:0]
sSIGN
sCARRY sA_WE
sALU_SEL [3:0]
sB_WE ALU
sC_WE
sRESULT[15:0]
CONTROL
UNIT iCLK iCLK sZERO
inRST C inRST sSIGN
sC_WE
ZSC
sMUXA_SEL [3:0] sC_WE sCARRY
sMUXB_SEL [3:0]
oDATA [15:0]
sALU_SEL [3:0]
iCLK
inRST
Vrh hijerarhije treba realizovati tako da podrazumeva postojanje opisa upravljake jedinice sa prolazima
prikazanim na slici (prilikom imenovanja prolaza postavite odgovarajude prefikse). Upravljaka jedinica de biti va
zadatak na terminu vebi, a za sada je napravite praznu.
Jedini izlaz procesora treba da bude trenutna vrednost 16-bitnog registra rezultata (C). Ovo omoguduje da se
posmatraju rezultati operacija koje procesor izvrava. U simulaciji mogude je posmatrati i vrednosti internih
signala. Ulaz iDATA [15:0] se moe iskoristiti za unos konstanti u procesor, po potrebi.
4
Laboratorijski zadatak 5 Strukture za raunanje 2014/15
OPTE NAPOMENE
Prilikom crtanja eme na papiru ili raunaru, koristiti blokove za standardne kombinacione i sekvencijalne
mree nema potrebe da poznate komponente crtate na nivou logikih kola. Bitno je da logika ema ispravno
opie logiku sistema. Sve nestandardne komponente koje koristite morate na neki nain definisati bilo
istinitosnom tablicom ili opisom na nivou logike funkcije.
Simulaciju treba raditi posle svakog koraka, jer na slededi korak treba predi jedino ukoliko je prethodni
funkcionalno proveren. U ovoj vebi ne radimo implementaciju za E2LP platformu.
Na termin vebe doneti jedan VHDL opis i jedan testbench (nije neophodno donositi ni opis ni testbench
meukoraka). Meukoraci su tu da bi vama olakali put ka kompletnom sistemu i omogudili da va sistem
projektujete inkrementalno poev od jednostavnijih komponenata ka sloenijim.
Broj poena koje moete osvojiti na vebama zavisi od koraka do kojeg ste doveli sistem svaki korak nosi 1
poen (do maksimalno 2), a vii poeni (3, 4) se mogu dobiti izradom modifikacija i malih dopuna vaeg sistema koje
dete dobiti na terminu vebe. Dodatni zadatak na terminu vebe vam moe doneti i dodatni, peti poen.
ZAKLJUAK
Sada bi ved trebali da imate jasno razumevanje kako rade procesori i kako izvravaju programe. Razlika
izmeu stvarnog procesora i ovog koji ste sada realizovali (osim sloenosti i koliine operacija) je u tome to
procesori vedinom imaju opte upravljake jedinice koje odgovaraju na instrukcije i mogu biti programirane da
izvravaju razliite programe. Struktura koju ste realizovali u ovoj vebi je ograniena na jedan program, onaj koji
ste definisali u dodatnom zadatku. Ukoliko se odluite da radite finalni projekat, imadete priliku da ovaj procesor
proirite sa optom upravljakom jedinicom i memorijama, kao i da proirite skup instrukcija koje podrava,
uvodedi instrukcije skoka i rada sa memorijom za podatke. Nakon toga, va procesor de biti programabilan i modi
dete pisati programe za njega.