Uz zase vlastni CPU :).

Danhard danhard@volny.cz
Pátek Říjen 8 13:18:05 CEST 2004


Tohle ale vyzaduje, aby bylo v dobe provadeni takove sekvence bylo vypnuto
preruseni, takze pricti jeste vypnuti a zapnuti preruseni, protoze to procesor
dela obecnymi instrukcemi, a nevi ze je to neprerusitelna sekvence.

Plosne optimalizovana HW nasobicka spotrebuje 810 CLB (2 bitovy logicky blok),
na plose 31x32 CLB.
Ta XC2S200 ma sice 1176 CLB, ale v organizaci 28 x 42, takze se tam asi
nevejde.

Naproti tomu u tve superinstrukce pouzivas odskok na dve adresy, aby jsi
nemusel delat programovy citac.
V 99% pripadu ale bude jeden odskok na nasledujici adresu, tj. podle program.
citace, pritom registr na podrzeni adresy instrukce tam mit musis ! Myslis ze
je to nejaky prinos, ze musis tuto adresu nacist z pameti, misto toho, aby jsi
udelal inkrement toho registru ?

Danhard

> Skok do podprogramu muze byt bud ten nejjednodussi, tedy pred skokem se do
> RAM zapise instrukce, ktere se daji oskoky hned za volani podprogramu a
> podprogram se zavola tim, ze se do nej skoci a na svem konci provede onu
> instrukci z RAM. To ovsem lze jen pro jedno "zanoreni".
>
> Pro vice podprogramu v sobe pak tak, ze se do RAM udela instrukce MOV, ktera
> ma jako zdrojovy operand adresu, kde je jakysi ukazatel na zasobnik a jako
> druhy operand pro zapis odskokovou adresu v dalsi instrukci v RAM a to
> scitani. Tedy prvni instrukce udela to, ze dopravi navratovou adresu ze
> zasobniku do adresy skoku instrukce pro scitani a ta pricte te prvni
> instrukci adresu operandu a skoci :). Mame ze 2 instrukci RETURN jak vysity
> :). No a jak volat je z tohoto snad take jasne, tedy jen se zvetsi ci zmensi
> (sestupny ci vzestupny zasobnik) adresa operandu a ulozi se kam se vracet
> tam, kam ukazuje v instrukci MOV v RAM. A jestli je zasobnik sestupny ci
> vzestupny je fuk, oboji lze. A dekrementace adresy operandu je jen sectenim,
> pricte se jako literal dvojkovy doplnek :). Uznavam, pro bezny
> programatorsky mozek trochu "divne", ale myslim ze v ramci jednoduchosti
> dost efektni :).
>
> Kazda instrukce se provede v dejme tomu 10ti taktech a to bud bez vyjimky v
> jednodussim pripade a ve slozitejsim budou instrukce ktere jsou bez zapisu,
> slouzici jen k nastaveni priznaku a rozskoku dle nej, o zapis kratsi.
>
> To HW nasobeni zminil Kosta v souvislosti jak se 64b vysledkem a jak jej
> ulozit. Predstavu o tom nasobeni ale moc nemam, rad se dam poucit. V
> zakladni instrukcni sade jsem jej ale neplanoval, prave proto, ze uz je to
> (alespon jak se mi to pri me neznalosti jevi) slozitejsi vec.
>
> --
> Jiri Bezstarosti





Další informace o konferenci Hw-list