Uz zase vlastni CPU :).

jiri@bezstarosti.cz jiri@bezstarosti.cz
Pátek Říjen 8 10:49:14 CEST 2004


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



-----Original Message-----
From: Danhard [mailto:danhard@volny.cz]
Sent: Friday, October 08, 2004 10:49 AM
To: [HWnews]
Subject: Re: Uz zase vlastni CPU :).


Uplne me neni jasna funkce pri skoku do podprogramu a navrat, pokud to bude
modelovane nejakou sadou instrukci, tak kolik takova zakladni vec zabere ?

Take me neni jasna doba vykonavani instrukce, to se vsechny stihnou za
zakladni takt ?
Bylo tu zmineno HW 32 bit nasobeni, mas predstavu kolik hodinovych taktu a
kolik z te XC2S200 to zabere ?

Danhard

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
HW-list@mailman.nethouse.cz
http://mailman.nethouse.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list