Wednesday, June 15, 2011

HW: Radic procesoru a datova cesta

Radic je sekvencny obvod, ktory vytvara riadiace signaly pre riadene obvody (jednotky). Jeho vstupom su stavove signaly riadenych zariadeni a obovodov a vystupom su riadiace signaly pre tieto zariadenia a obvody. 


Radic delime na 

  • Riadiacu cast
    Je to vlastne riadiaca cast samotneho radica 
  • Datovu cast 
    Tu najdeme registre radica, napr. register PC, IR, SP, PSW
Mikroprogramovoany radic je riadieny mikroprogramom. Moze byt
  • horiozontalny
  • vertikalny
  • diagonalny
Naproti tomu, klasicky, obvodovo realizovany radic delime na 
  • radic s riadiacimi retazcami 
  • radic na bazi citaca 
  • inak navrhnuty radic 

Tato mikroinstrukcia sa sklada z mikrooperacneho znaku, ktory uchovava hodnoty riadicich signalov. Nasleduje adresa mikroinstrukcie a vyber podmienky. Mikroinstrukcie tvori tzv. mikroprogram, ktory je mozne ulozit do tzv. riadiacej pamate. K nim sa da navrhnut klasicky radic, ktory bude zaistovat postupne vykonavanie miktorinstrukcii. Takto riadeny "pocitac" bude fungovat ako mikroprogramovany radic. 

Ked sa ma precitat instrukcia, tak sa jej adresa privedie z programoveho citaca na adresovy vstup hlavnej pamate. Po skonceni operacie citania je na vystupe hlavnej pamate (v jej registri date) prislusna adresa. Sucasne s citanim, alebo po jeho ukonceni, sa inkrementuje PC a tak je programovy citac pripraveny na citanie nasledujucej instrukcie. Po preictani sa instrukcia presunie do registra instrukcii, kde je k dispozicii, az kym nie je nahradena inou instrukciou. Aby sa instrukcia vykonala, musime urcit, o aku operaciu ide. To znamena, ze sa musi dekodovat operacny znak. K tomu sluzi dekoder operacneho znaku. Jeho vystupy su privedene do sekvencneho obvodu, ktory budeme volat jadrom radica. Jadro radica riadi celu cinnost radica, inymi slovami, zaistuje postupne vykonavanie jednotlivych ciastocnych operacii, PC++, citanie z HP, zapis dat do registra instrukcii, apod. Taketo ciastkove operacie nazyvame mikrooperacie. Vykonanie mikrooperacie je zaistene vyslanim riadiacich signalov. Aby to bolo mozne, musia byt do jadra radica privadzane stavove signaly 
Horizontalny mikroprogramovany radic je konstruovany (?) na spracovanie dlhych instrukcii. Riadiace signaly su podmnozinou sady mikroinstrukcie k mikrooperacnemu znaku. 1 mikroinstrukcia trva 1 takt. Horizontalny mikroradic nepotrebuje mikroprogramovany citac, pretoze adresa je sucastou mikroinstrukcie. Vybrane bity adresy nasledujucej mikroinstrukcie je mozne nahradit. Prave k tomu sluzi vstupna podmienka a program tak mozme rozne vetvit. Ak nahradime 1bit, tak mozme vetvit az na 2 miesta. Nahrada 2 bitov znamena vetvenie az na 4 miesta => nahrada n bitov znaci vetvenie na 2^n miest. Nahradzuje sa adresa z vykonavanej instrukcie. 

Vertikalny mikroprogramovany radic je v podstate zjednoduseny radic pocitaca. Mikroinstrukcie su kratke, ale aj napriek tomu trva 1 mikroinstrukcia niekolko taktov
  • citanie mikroinstrukcie obstarava mikroprogramovy citac (tento nie je u horizontalneho)
  • dekodovanie mikrooperacneho znaku 
  • vykonanie mikrooperacie 
Diagonalny mikroprogramovy radic je isty kompromis medzi horizont. a vert. mikr. radicom. Riadiace signaly su sucastou mikroinstrukcie (OZ). 1 mikroinstrukcia trva 1 takt a sucastou radica je mikroprogramovy radic. 

Klasicky (obvodovo realizovany) radic 


Kedze radic je sekvencny obvod, tak pre neho dokazeme nakreslit automat. Od tohto radica sa odvija radic s riadiacimi retazcami. Pre kazdy stav automatu je urceny jeden klopny obvod. Stavy su kodovane v 1zN. 
Dalsim typom klasickeho radica je radic na bazi citaca. Takyto citac umoznuje prednastavovanie. Jeho kombinacna cast sa sklada z dekoderu, kde su dekodovane riadiace signaly ovladacej casti citaca. 

A ktory radic je lepsi? Co do rychlosti, klasicky radic je rychlejsi. Mikro radic vsak moze byt lacnejsi a je flexibilnejsi, pretoze jeho chovanie mozeme zmenit jednoducho prepisom riadiacej pamate. Riadiaca pamat moze byt RAM alebo ROM. 

Datova cesta
Datova cesta je suhrnny nazov pre obvodove prvky, vodice, registre, ktorymi prechadzaju data pri zpracovani procesorom. Datova cesta je sucastou radica. Radic koriguje prechod dat datovou cestou, riesi pripadne hazardy, aktivuje signaly, vstupy, vystupy ...