OldComp.cz
http://oldcomp.cz/

Dospělý nibblák
http://oldcomp.cz/viewtopic.php?f=138&t=8378
Stránka 33

Autor:  danhard [ 18.03.2020, 02:05 ]
Předmět příspěvku:  Re: Dospělý nibblák

To je zcela logické vysvětlení, viry řádí a smrt není výmluva :lol:
ps. posmrtný monolog už mám připaven.
Má to asi 30 GB :)
Kdyby to nepomohlo, tak jsem připravil 5 opravných verzí.
Kdyby selhal i "komínek" u kobky, tak jedině Microsoft.

Autor:  danhard [ 27.03.2020, 12:56 ]
Předmět příspěvku:  Re: Dospělý nibblák

Tak Claudia-1 by celkem splňovala, co od toho chci, ale je to zbytečně složitý.
Hodně vyrovnávacích registrů, který by se daly ušetřit, je to otrocky rozsekaný, takže se musí generovat hodně řídících signálů a vychází pak dlouhý mikroprogram.
Taky udělat RAM z 4x MH74S201 a pak z ní použít jen 128 nible není můj šálek kávy :)
Prostě si to zaslouží hlubší optimalizaci.

Uvažuji také o instrukci CALL a RET, ale asi jen 1 úroveň, na to by stačil 74LS374 a řízení, příp. 4 úrovně s 74LS670, to už by bylo složitější.

Autor:  microlan [ 27.03.2020, 13:16 ]
Předmět příspěvku:  Re: Dospělý nibblák

Do 374 hranou zapíšeš PC kde už bude návratová adresa?

Nebo zapíšeš aktuální adresu a po návratu 2x INC PC ?

Autor:  danhard [ 27.03.2020, 14:15 ]
Předmět příspěvku:  Re: Dospělý nibblák

Pokud se čte z paměti podle PC, tak se data automaticky ukládají do vyrovnávacího registru IR a automaticky zvyšuje PC.
IR se uvolní rozeskokem do mikroprogramu na konci mikroinstrukce FETCH (NOP), takže vlastní IR reg je horní část čítače mikroprogramu :)
Když se čte parametr, tak se udělá to samé, parametr zůstane v IR registru.
Pokud by bylo parametrů víc, tak se to řadí jako shift registr.
Aktuální adresa v PC ukazuje vždy na následující instrukci.
Skákat se může i hned, asynchronní load PC to přepíše adresou skoku.
CALL se musí udělat až v následující mikroinstrukci, zapíše se hranou návratová adresa a pak se to přepíše adresou skoku.

Prostě není třeba dělat otrocky věci, které jdou dělat samy automaticky :)

Prostě mikroprogram natáhne začátek instrukce a udělá dekódování.
Pak přitáhne příslušný počet nible, jako parametr a pak se instrukce vykoná.

Pokud se nevykoná (podmíněný skok), tak se pokračuje na následující instrukci podle PC.

Zvažuji rozdělit podmíněný skok na test podmínky a univerzální podmíněný skok.

Autor:  danhard [ 06.07.2023, 23:12 ]
Předmět příspěvku:  Re: Dospělý nibblák

Vývoj pokračuje asi takto:

Chci všechno na jedné paměti ROM mikroprogramu 4bity x 256 a na jedné paměti RAM 4bity x 256, kde bude jak program, tak 16 nible data, I/O prostor 16 nible IN/OUT.
Instrukce budou dlouhé 1 až 4 nible, mikroprogram 16 instrukcí x 16 taktů a jednoúrovňový CALL tam bude také programově možný, užere 2 nible datové oblasti RAM.
Mikroinstrukce bude mít 2 fáze, takty mikroprogramu, zdroj a zápis, zdroj bude dekódovat 74LS137, která si ho zapamatuje, zápis v další fázi 74LS138.
Bude tam hodně zjednodušení, všechny instrukce budou mít stejnou délku mikroprogramu.
RAM bude CMOS zálohovaná, s baterií 1865 to vydrží měsíce.
Bádám nad aritmetikou, 74HCT283 je ještě k sehnámí a doplnil bych to GAL20V8 pro logické operace.
Pokud by tak nešlo, tak velkej brouk, 27C64 jako tabulka :D

Stránka 33 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/