4 bitový počítač

Klasické bastlení z domácích zásob

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
lesana87
Příspěvky: 4393
Registrován: 20 zář 2014, 00:00

#226 Příspěvek od lesana87 »

A to by taky byla příprava na 74188?
Uživatelský avatar
asdf
Příspěvky: 707
Registrován: 06 říj 2022, 00:00
Kontaktovat uživatele:

#227 Příspěvek od asdf »

Trochu jsem si to promyslel. Na adrese 0 je mikroinstrukce pro fetch. A instrukce 0 skáče rovnou na adresu 0, takže nedělá nic. Ale taky by nemusela. Kdyby se mezi datovou sběrnici a IRC udělalo nějaké mapování, mohla by instrukce 0 skákat někam úplně jinam a dělat něco jiného. Ale nejjednodušší je to takhle.
Uživatelský avatar
danhard
Příspěvky: 6638
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#228 Příspěvek od danhard »

74188 je to jedno, kolik bitů je tam vypálenejch, ale když tam máš matici diod, tak si můžeš konfigurací pomoct.

Třeba teď umíš tou maticí dekódovat maximálně 8 instrukcí Fetch + instrukce.
V čítači IRC máš použito na dekódování jen 3 bity.
Když použiješ bit0 na čítání mikroinstrukcí a bit1-3 na dekódování, tak se Ti tam vejde 8 instrukcí + NOP a odpadne dekódování /WRIR, protože se bude dělat vždy, když je IRC0=0 a také /CIR nebude potřeba.

Ale musím Tě pochválit, už teď je to mnohem lepší než PIP-2 :D
Uživatelský avatar
lesana87
Příspěvky: 4393
Registrován: 20 zář 2014, 00:00

#229 Příspěvek od lesana87 »

Nevím, jak se mi do 3 bitů může vejít 9 instrukcí. Ale to je fuk, stejně už je to rozebraný.
Uživatelský avatar
danhard
Příspěvky: 6638
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#230 Příspěvek od danhard »

Do IRC jdou 4 bity, tím uděláš 8 instrukcí a 8 NOPů :D

To je škoda, že si to už rozebrala, když to není dotažený.

Instrukce - nebylo by lepší místo MOV B,A rovnou LDB n ?
Uživatelský avatar
asdf
Příspěvky: 707
Registrován: 06 říj 2022, 00:00
Kontaktovat uživatele:

#231 Příspěvek od asdf »

danhard píše:To je škoda, že si to už rozebrala, když to není dotažený.
Mně to přijde dotažené dost. Moc pěkné to je. Já bych to neměnil.
Uživatelský avatar
lesana87
Příspěvky: 4393
Registrován: 20 zář 2014, 00:00

#232 Příspěvek od lesana87 »

danhard píše:Instrukce - nebylo by lepší místo MOV B,A rovnou LDB n ?
A jak potom uděláš např. 2*A (LSL A)?
Uživatelský avatar
danhard
Příspěvky: 6638
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#233 Příspěvek od danhard »

Ano, to pak nejde, ale bylo by tam po zjednodušení IRC 8 instrukcí, tak by se mohla jedna přidat, nebo třeba OUT n , aby to nebylo závislé na A :D
Z hlediska řízení na tom jde udělat jen 4 bit čítač, takže podstatný je jen inkrement a JNZ.
Uživatelský avatar
lesana87
Příspěvky: 4393
Registrován: 20 zář 2014, 00:00

#234 Příspěvek od lesana87 »

Naposledy upravil(a) lesana87 dne 05 led 2026, 16:47, celkem upraveno 1 x.
Uživatelský avatar
danhard
Příspěvky: 6638
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#235 Příspěvek od danhard »

D3 u instrukce nemusíš negovat.
Když D3=0 tak se opakuje NOP
když D3=1 tak se dodělá instrukce

/ROMCS generuje přímo /RDRAM přidat 7408, nebo diodu do matice.

Máš tam volné výstupy ROM, můžeš udělat signály /WRA, /WRB, /WRO přímo.
/RDI, /RDALU můžeš zapojit přímo na dekodér ROM, zůstanou Ti tam jen dva signály /RDRAM a /RDA a ty můžeš budit přímo D5, D4.
Odpadne celej dekodér DECA, DECB.
Klíčovat to můžeš společně na ROMCS.

Dvojitý hodiny nejsou třeba, můžeš je zrušit a STEP bude chodit po jedné mikroinstrukci.

Ono by se toho ještě našlo, je to jako Rubikova kostka :D

Čítač mikroprogramu dobrej, čítač programu dobrej, ale architektura ALU mi připadá strašně těžkopádná.
Uživatelský avatar
lesana87
Příspěvky: 4393
Registrován: 20 zář 2014, 00:00

#236 Příspěvek od lesana87 »

Naposledy upravil(a) lesana87 dne 05 led 2026, 16:50, celkem upraveno 1 x.
Uživatelský avatar
danhard
Příspěvky: 6638
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#237 Příspěvek od danhard »

lesana87 píše:
danhard píše:D3 u instrukce nemusíš negovat.
Když D3=0 tak se opakuje NOP
když D3=1 tak se dodělá instrukce
1 = dioda v matici, negací ušetřím až 16 diod.
danhard píše:/ROMCS generuje přímo /RDRAM přidat 7408, nebo diodu do matice.
To nechápu, je to ROMCS, ROM je povolená log. 1 a když je ROM zakázaná, tak je generovaný signál /RDRAM, co je na tom potřeba měnit?
Tak to zase nechápu já, kdo generuje /RDRAM když je ROM zakázaná ?
A negace na vstupu IRC dělá akorát změnu kódování instrukcí, nic jiného.
Počítal jsem, že na IRC půjde beze změn D0-D3 a sudý nible bude NOP a lichý nible bude instrukce.
Když je D0=0 (po resetu) tak je ROM zakázaná a generuje se přímo z IRC Q0 /RDRAM, pokud se načte D0=1, tak se skočí na IRC Q0=1 a generuje se cykl podle obsahu ROMCS, pokud se načte D0=0, tak se skočí na IRC Q0=0, tj. provedl se NOP a začne se provádět další FETCH.
ROM se dekóduje z IRC Q1-Q3 a Q0 je ROMCS. ROM je tam teď 8x8bitů.

Pokud by tam byla MH74188, tak samozřejmě použiju celou paměť, tj. 16 instrukcí x 2 takty + FETCH na začátku.
IRC bude plně obsazený, takže musím předřadit čítač mikroinstrukcí mod 3, který bude mít stavy 00, 10, 11.
Ve stavu 00 budu generovat přímo FETCH, ve stavech 10, 11 funkci podle ROM. IRC nebude čítat, stačí synchronní registr, třeba 74HC175.
Bude tam 16 instrukcí s pevnou délkou 3 takty, pokud potřebuji NOP, tak ho přiřadím jako instrukci.

Pokud chceš dělat "repliku" PIP-2, tak to musíš udělat stejně blbě, jinak to není replika :lol:
Uživatelský avatar
lesana87
Příspěvky: 4393
Registrován: 20 zář 2014, 00:00

#238 Příspěvek od lesana87 »

Když je ROM mikrokódu zakázaná, lezou z ní samé 1 a ty dekodérem generují /RDRAM. Nejsou potřeba žádný hradla navíc, proto jsem ten dekodér cíle tak přeházela.
Funkční instrukce jsou stejný jako před tím 0-7, instrukce 8-F jsou NOP. Instrukce jsou uložené v programové PROM a ta má výstup negovaný (dioda v matici = log 1), aby prázdná matice generovala samé NOPy, dřív, teď by to neplatilo. D3 je negovaný, aby v matici nemusely být u normálních instrukcí diody na D3.
Je to synchronní replika, PIP-2SE.
A nevidím důvod, aby každá instrukce trvala 3 takty, u většiny je to plýtvání a tím skokem na NOP se to krásně vyřeší, nostalcomp nebyl zase úplně blbej, jak se tu snažíš prezentovat.
Uživatelský avatar
danhard
Příspěvky: 6638
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#239 Příspěvek od danhard »

Tak toho jsem si nevšiml, že disablovaná ROM generuje /RDRAM.
Nicméně proč Tě zajímá D3 když je to matice 8x8 ?

A opakuju, není to žádná replika, když to není udělané tak blbě, jako PIP-2.
Zůstala z toho jen ta blbá aritmetika :D

Instrukce by trvala 3 takty, abych z mikrořadiče dostal maximum možného, samozřejmě na dva takty to můžeš zkrátit, použiješ pak jen 1/2 ROM, nebo jdeš přes NOP a ve výsledku mají instrukce 3 takty, je to celkem jedno.
Proměnná délka instrukcí 2/3 takty Tě stojí 1 nezávislý bit ROM.
V PIP-2 trvá instrukce LDA 4 takty, tak co Ti na tom vadí ?

Krom toho 3 takty je minimum pro JMP na 8 bit adresu, pokud tam bude větší paměť programu, než 16 nible.

Fázi FETCH na začátku mikroprogramu mají všechny ty "staré vykopávky" jak jsi to označila. Není to patent mistra nostalcompa, ale když to prostuduješ, jak to tam napatlal a jak se tím prsí ? tak bohužel musím konstatovat, že je to uživatel bez hlubších znalostí.
Naposledy upravil(a) danhard dne 05 led 2026, 14:48, celkem upraveno 1 x.
Uživatelský avatar
lesana87
Příspěvky: 4393
Registrován: 20 zář 2014, 00:00

#240 Příspěvek od lesana87 »

Přímá data i adresy skoků v programové PROM jsou 4 bitové, ponovu by byly i instrukce, tak jak by mě neměl zajímat D3? Negovaný je D3 přicházející do IRC z programové PROM, aby byla nutná dioda na D3 je u NOPu a ne u každé normální instrukce.

Samozřejmě, že fázi fetch má každá instrukce, ale vypůjčit si jí z NOPu je určitě nostalcompův výmysl. Instrukce má trvat nejkratší možnej čas. S 74188 může mít instrukce klidně i 4 takty, když bude fetch (NOP) dvoutaktový (8 bitové instrukce nebo 4 bit + 4bit parametr).

I při replikování dochází k určitým mutacím, tak se na tom slově furt nevož. Napodobenina, když je replika takový problém.
Odpovědět

Zpět na „Zapojení ze šuplíku“