Uz zase vlastni CPU :).

Jiri Bezstarosti jiri@bezstarosti.cz
Pátek Říjen 8 01:19:42 CEST 2004


Na zbytek otazek jsem myslim zkusil odpovedet jak jsem umel uz drive, takze
ty nezodpovezene. Mozna ne vzdy odpovidam uplne presne, v leccems uplne
jasno take uplne nemam a proste hledam.

> i kdyz pouziji relativne rychle FLASHky, tak me jeden instrukcni cyklus
vychazi minimalne na nejakych 360ns

Mohu ovsem udelat i datovou pumpu a nejprve si bootnout do hodne rychle RAM.

>Uznavam, ze to muze mit slusny efekt pri praci s 32b operandy, jenze na
druhou stranu to ma prave omezeni v te pevne sirce.

Prozatim bych tohle nechal na zpracovani po 32b a nekomplikoval to i kdyz
hlavou mi to vrta :).

>Pouhopouha inverze jednoho bitu mi zabere stejny prostor a cas jako
naprikalad soucet dvou 24b cisel.

Pochopitelne. Vzdy to bude totez co se casu tyce.
Ovsem nektere instrukce, jak uz jsem psal, by mohly nektere cykly vynechat,
prikladem vytvorit specialni instrukci AND, kdyz mi jde jen o nastaveni
priznaku dle bitu a odskok a ne o vysledek jako takovy. Vlastne by se dal
pro uplne zjednoduseni jeden bit definice instrukce vyuzit tak, ze rika zda
zapisovat vysledek ci nikoli, tedy zda faze potrebne jen k zapisu (spojene s
carovanim se sbernici ze stavu RD do WR) preskocit.

>No a jsme u dalsiho rozporu - rekneme, ze budes chtit implementovat HW
nasobeni - jak na to s >timto formatem
>instrukce? Oriznout operandy na max 16b, nebo udelat vyjimku, ktera nebude
ukladat 32b, ale >64b ???

Tak to zkusime jeste rozsirit o dalsi vec. Udelame vysledek 64b a zapisujeme
podle typu instrukce dolni nebo horni pulku vysledku, tedy vzdy jen 32b.
Tedy budeme vzdy nasobit 32b * 32b a zapiseme pulku vysledku. Mame tedy 2
plnohodnotne instrukce pro nasobeni a zapis jedne z pulek vysledku. Nasobit
ale budeme instrukcemi tremi, protoze si jeden operand nejprve musime
namnozit na druhe misto vysledku. Ze se bude nasobit pro ulozeni 64b
vysledku dvakrate, to snad ten kremik tolik neosoupe :))).

--
Jiri Bezstarosti








Další informace o konferenci Hw-list