dokumentace

Jaromir Subcik subcik
Středa Březen 17 12:01:16 CET 2004


> Vasi diskuse s oponentem se neucastnim a ani nechci.
> Pouze Vasi zcela spravnou ideu jenom doplnim pro ty, ktere to zajima:
> AVR-ka (nevim presne jestli vsechna, ale ocekavam, ze architektura
> jadra je vesmes shodna u vsech) pouzivaji (alespon podle dokumentace)
> dvouurovnovy pipeline. Tzn., ze doba realna doba vykonavani instrukce
> jsou dva takty, ale diky retezeni je dokoncena (jednotaktova) instrukce
> v kazdem taktu, coz pak vede k 1MIPS/Mhz.
> Vsimnete si take, ze doba vykonavani podminenych skoku a "skipu"
> je zavisla na tom, zda se skace nebo ne, tedy zda je nutne
> vyprazdnit pipeline.
>
> Problematiku PICu a jejich jadra a pripadne retezeni, at prosim osvetli
> nekdo jiny,
> ja sam bych to uvital.
>
Tak jo, pokusim se to popsat srozumitelně -
V PIC procesoru jsou 4 takty na instrukci a v nich se deje nasledujici:
1.takt - inkrementuje se PC (Program counter, citac instrukci)
nasleduje zpracovani instrukce z minuleho cyklu
2.takt - cteni z pameti (nebo portu, to je jedno)
3.takt - provedeni operace
4.takt - zapis vysledku do pameti (zase muze byt port) + dalsi instrukce do
instrukcniho registru

Z tohoto popisu vyplyvaji nektere zajimave zavery:
a. neni druhe cteni pameti = PIC muze provadet operace jen s druhym
operandem ve W registru nebo primo v instrukci, tedy s konstantou
b. cteni a zapis jsou vzajemne posunuty o 2 cykly hodin
c. skoky se provadeji dvojnasobnou dobu, protoze v dobe cteni instrukce
jeste neni nastaven PC
d. podminkove skoky se provadeji prostym potlacenim jedne instrukce
e. i bitove operace se provadeji metodou cteni/operace/zapis, takze napr.
nastaveni vystupniho pinu se provede jako cteni portu (fyzicky, ne vytupni
buffer), nastaveni bitu, zapis CELEHO portu = pokud bude nektery vystup
natolik pretizen, ze jako vstup bude detekovana opacna logicka hodnota, tak
operaci nastaveni/snulovani libovolneho bitu na portu se prepise i tento
vystup (pozor na kapacitni zatez!). Na druhou stranu to lze vyuzit i jako
sverazny zpusob ochrany pretizeni ;-), nebo podrzeni vstupu podle jeho
stavu.

Jarda






Další informace o konferenci Hw-list