OldComp.cz http://oldcomp.cz/ |
|
Dospělý nibblák http://oldcomp.cz/viewtopic.php?f=138&t=8378 |
Stránka 3 z 3 |
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 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 |
Stránka 3 z 3 | Všechny časy jsou v UTC + 1 hodina [ Letní čas ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |