Top Banner

Click here to load reader

Procesor sa mikroprogramskim upravljanjem - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/Procesor sa mikroprogramskim  · PDF filekoristiti VHDL kao alat koji će se upotrebiti za opis

Apr 30, 2019

ReportDownload

Documents

nguyennhi

1. Uvod Ogromna ekspanzija na polju razvoja, usavravanja i primene poluprovodnikih tehnologija je prisutna u poslednjih pedesetak godina. Broj tranzistora po kvadratnom centimetru silikonskog ipa je iz godinu u godinu rasato, da bi danas teio broju od nekoliko stotina miliona tranzistora. Sa poveanjem broja tranzistora i uslonjavanjem ipova dolazi i do razvoja i promena tehnika i alata, koje se koriste pri projektovanju. U procesu projektovanja koristimo dve osnovne grupe alata. Prvu grupu ine hardverski, a drugu softverski alati. Kao primer hardverskih alata moemo navesti radne stanice za projektovanje hardvera, emulatore, logike analizatore, instrumente itd. Alati koji se koriste pri projektovanju, a spadaju u grupu softverskih alata su bazirani na skupu razliitih softverskih paketa. Softverski paketi se razvijaju i nadograuju godinama, i sadre grupu kompleksnih programa koji se koriste u svim fazama opisivanja, simulacije, sinteze i implementacije sistema. Jezici za opis hardvera se danas uveliko prouavaju na svim elektrotehnikim fakultetima i pri tom se sam opis moe bazirati na strukturnom nivou ili na nivou ponaanja. Oba naina opisivanja se koriste kombinovano na datom projektu u zavisnosti od potreba i ideje samog projektanta. Kao primere paketa za opis hardvera moemo navesti: VHDL ( Very-High-Speed-Integrated-Circuit Hadrware Description Language), zatim njemu slini VERYLOG, itd. Pored funkcije opisivanja, ovim paketima je data i mounost simulacije opisanog sistema i prikaz talasnih oblika simulacije u odgovarajuem grafikom editoru. U okviru ovog rada e se koristiti VHDL kao alat koji e se upotrebiti za opis hardvera jednostavnog procesora. Korienje alata ovog tipa omoguava sledee prednosti u oblasti projektovanja:

- preglednost pri projektovanju koja je izuzetno vana kada se radi o projektovanju kompleksnih sistema; - efikasnost pri projektovanju; - krae vreme obuavanja buduih projektanata; - jeftina proizvodnja, koja je jedna od najbitnijih faktora na dananjem sve konkurentnijem tritu.

Predmet prouavanja u ovom diplomskom radu je: - generisanje opisa jednostavnog procesora sa mikroprogramskim upravljanjem korienjem

VHDL-a, - simulacija opisanog hardvera i prikaz talasnih oblika koji se dobijaju kao rezultat

simulacije, - sinteza procesora na osnovu formiranog opisa, - implementacija sintetisanog procesora na odgovarajuem ipu.

Sam rad je podeljen na osam poglavlja. Prvo poglavlje predstavlja uvod. Drugo poglavlje se bavi opisom strukture procesora na optem nivou, u cilju prikaza osnovnih gradivnih jedinica svakog procesora i naina funcionisanja svake od njih. Tree poglavlje konkretno opisuje strukturu zadatog jednostavnog procesora na hardverskom nivou i skup naredbi koje procesor moe izvravati. Kod opisa strukture na hardverskom nivou imamo dva podpoglavlja koja se bave opisivanjem kontrolne i izvrne jedinice. Proces izvrenja instrukcija koji je opisan na nivou mikrooperacija je pregledno dat u etvrtom poglavlju. Putem tabela su jasno prikazane mikrooperacije i aktivni kontrolni signali za svaku od mikrooperacija. U petom poglavlju je dat

VHDL opis procesora. Uz odgovarajui kod su data i objanjenja svakog koda. Pored koda opisa imamo i kod koji omoguava testiranje i simulaciju tzv. test bench. Kao ulazni fajl za sintezu i kasniju implementaciju mikroprocesora koristimo VHDL kod. Rezultati sinteze i implementacije su dati u estom poglavlju. Radi omoguavanja lakeg pristupa predmetu prouavanja i rezultatima ovog rada studentima, u sedmom poglavlju je prezentovana i detaljno objanjeno izvoenje laboratorijske vebe. Ona daje niz neophodnih instrukcija i koraka kada je u pitanju simulacija procesora kao i promena sadraja mikroprogramske memorije. Osmo poglavlje je rezervisano za sumiranje rezultata i izvoenje zakljuaka.

2. Opis strukture procesora opti pristup

Struktura procesora predstavlja skup gradivnih blokova koji: ulaze u sastav procesora, hijerarhiski su organizovani i omoguavaju izvravanje skupa instrukcija, koji je definisan za posmatrani procesor. Obzirom na irok spektar procesora koji danas postoje zaoekivati je veliku raznolikost u pogledu strukture. Meutim, neki od primarnih blokova koji ulaze u sastav procesora su karakterisini za veinu dananjih procesora, tako da ovi blokovi trebaju biti navedeni kada je u pitanju opti pristup. Kao dve osnovne gradivne jedinice svakog procesora na najviem hijerarhiskom nivou javljaju se:

-upravljaka jedinica (eng. control unit ), -izvrna jedinica (execute unit ) ili staza podataka (data path). Ove dve osnovne jedinice su meusobno povezane preko odgovarajue interne magistrale. Tu moemo razlikovati deo interne magistrale koji se koristi za prenos upravljakih signala od upravljake jedinice ka izvrnoj, kao i deo kojim se prenose ulazni podaci iz izvrne jedinice ka upravljakoj. Osnovni princip funkcionisanja procesora se zasniva na sekvencijanom uitavanju instrukcija iz glavne memorije u procesor, posle ega sledi niz mikrooperacija u samom procesoru u cilju obavljanja zadatka koji je specificiran instrukcijom. Broj i tip mikroopracija koje se izvravaju za uitanu instrukciju odreene su odgovarajuim bitovima u okviru same instrukcije. Prikaz strukture procesora na ovom nivou je dat na slici 1. Nadalje e biti opisana i predstavljena svaka od ovih jedinica posebno.

slika 1 Osnovna struktura procesora

2.1 Izvrna jedinica execute unit

Izvrna jedinica je gradivni blok u kome se obavljaju sve aritmetike operacije, logike operacije, operacije generisanja adresa itd. Izvravanje svake od pomenutih operacija se obavlja na osnovu specificiranih upravljakih signala, koji se generiu u upravljakoj jedinici. Neki od najeih blokova koji ulaze u sastav izvrne jedinice su: -ALU, pomerai, sabirai, mnoai itd.;

- generator adresa; -registri koji se koriste u razliite svrhe npr. uvanje podataka, uvanje adresa, smetaj

instrukcije;

procesor

upravljaka jedinica

- control unit

staza podataka -

data path

-odgovarajue veze izmeu gore pomenutih blokova. U zavisnosti od hardverske opremljenosti mnoaima, brojaima, jedinicama za obavljanje razliitih aritmetiko-logikih operacija, procesor je u stanju da korisniku prui bre ili sporije izvravanje sloenijih operacija. Naime, ako deo izvrne jedinice ne obiluje hardverskim potencijalom sloenije operacije e se izvravati sporo. Opet sloeniji hardver zahteva i veu cenu tako da se treba traiti neki kompromis. to se tie registara koji ulaze u sastav izvrne jedinice moemo ih podeliti na: - korisniki vidljive registre tj. one koji su vidljivi programeru na mainskom i asemblerskom nivou; - upravljake i statusne registre tj. one koji nisu vidljivi programeru i imaju specificiranu funkciju u procesu izvravanja instrukcija. Nadalje emo posebno ukazati na svaku od pomenutih grupa registara i predstaviti njihovu funkciju. U korisniko vidljive registre spadaju: - registri opte namene, kojima sam programer dodeljuje razliite funkcije; - registri za podatke, koji se mogu koristiti za uvanje podataka, ali ne i adresa; - adresni registri, koji se koriste za specificiranje odreenog adresnog naina rada; - marker registri, koji su delimino vidljivi korisniku i u kojima hardver CPU-a postavlja sam vrednosti na osnovu obavljanja razliitih operacija. Obim korisniko vidljivih registara i njihov broj predstavljaju neke od osnovnih atributa na koje projektant treba obratiti panju. Tako, na osnovu obima korisnikih registara razlikujmo 8 - bitne, 16 bitne, 32 bitne, 64 bitne, 128 - bitne procesore. Dalje, broj dostupnih registra utie na performanse procesora kod konkurentnog izvravanja instrukcija. Kao upravljake i statusne registre noemo navesti sledee registre: - programski broja (PC Program Counter), koji uva adresu naredne instrukcije; - registar naredbi ( IR Instruction Register), koji uva kod instrukcije koja se trenutno izvrava; - memorijsko adresni registar (MAR Memory Address Register), koji uva adresu memorijske lokacije koja se adresira; - memorijsko baferski registar ( MBR Memory Buffer Register), koji sadri podatak koji je poslednji upisan ili poslednji proitan iz memorije; - CCR ( Condition Code Register) slui da uvanje markera uslova. U markere uslova spadaju prenos carry, znak sign, bit parnosti parity bit, nula bit zero, preoraenje overflow, supervizor bit, koji ukazuje da se izvrava naredbe u supervizorskom nainu rada itd. Na slici 2 su prikazani jedan od naina organizacije izvrne jedinice.

Slika 2 Organizacija izvrne jedinice

2.2 Upravljaka jedinica control path

Upravljaka jedinica slui za generisanje upravljakih signala. Upravljaki signali koje

generie upravljaka jedinica se mogu podeliti u dve osnovne grupe: - interni upravljaki signali, koji se vode na izvrnu jedinicu; - spoljni upravljaki signali, uz pomo kojih se upravlja radom spoljnih komponenata kao to su memorija ( itanje i upis), U/I ureaji itd.

Vrednosti upravljakih signala na izlazu upravljake jedinice zavise od: - bitova na ulazu upravljake jedinice koji specificiraju instrukciju koja se trenutno izvrava; - spoljnih ulaznih upravljkih signala, koji ukazuju na stanje spoljnih ureaja, npr. Reset signal, Ready signal itd; - bitova koji specificiraju rezultat predhodne operacije (CCR).

Na slici 3 je prikazana strategija upravljanja.

Slika 3 Osnovna strategija upravljanja Postoje dva osnovna koncepta realizacije upravljake jedinice. To su:

- koncept upravljake jedinice sa direktnim upravljanjem hardwired control; - koncept upravljake jedinice sa mikroprogramskim upravljanjem microprogrammed control. Ako se opredelimo za upravljaku jedinicu sa dir