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.
Založen: Mar 05, 2007 Příspěvky: 6544 Bydliště: Jesenice u Prahy
Zaslal: ne leden 04 2026, 17:41 Předmět:
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
Založen: Mar 05, 2007 Příspěvky: 6544 Bydliště: Jesenice u Prahy
Zaslal: ne leden 04 2026, 21:48 Předmět:
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
Z hlediska řízení na tom jde udělat jen 4 bit čítač, takže podstatný je jen inkrement a JNZ.
Založen: Mar 05, 2007 Příspěvky: 6544 Bydliště: Jesenice u Prahy
Zaslal: ne leden 04 2026, 23:40 Předmět:
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
Čítač mikroprogramu dobrej, čítač programu dobrej, ale architektura ALU mi připadá strašně těžkopádná.
Založen: Mar 05, 2007 Příspěvky: 6544 Bydliště: Jesenice u Prahy
Zaslal: po leden 05 2026, 12:44 Předmět:
lesana87 napsal(a):
danhard napsal(a):
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 napsal(a):
/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
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.
Založen: Mar 05, 2007 Příspěvky: 6544 Bydliště: Jesenice u Prahy
Zaslal: po leden 05 2026, 14:24 Předmět:
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
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 danhard dne po leden 05 2026, 14:48, celkově upraveno 1 krát.
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.
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.