4 bitový počítač
Moderátor: Moderátoři
Při nastavování PC do něj potřebuješ nahrát dolní nible adresy. Zápis PC je jako JMP.
Dále potřebuješ indikaci obsahu PC.
Při čtení a zápisu do paměti by se mělo dělat automaticky PC+1
To vyžaduje také potřebu nahrát PC nějakou adresou, protože pro jen INCrement pro 256 adres nestačí a v podstatě by tam byl na nastavení jen ReSeT.
Tady je to trochu kostrbaté, protože se PC musí zapsat na dvakrát.
Do PC se zapíše SW na horní nible, obsah registru výsledku PARametr do spodní nible adresy. Registr PAR se nahradí hodnotou SW.
Při druhém zápisu dáš jiné SW na horní nible a na spodní se zapíše PAR, tedy původní obsah SW, který teď jde na spodní nible.
Pokud Ti vyhovuje, že po ReSeTu je PAR=0, tak stačí jeden zápis a dostaneš se do PC čítače v modulo 16.
Při zápisu do paměti se zapíše hodnota ze vstupu, to můžou být páčkové SWitche, nebo SWitch Registr ovládaný tlačítky.
Při zápisu se zapíše SW, provede automaticky Inc PC a do registru výsledku PAR se zapíše zapisovaná hodnota.
Při čtení se přečte do výsledku obsah paměti a udělá Inc PC
Co se týče hodin, potřebuješ aby každý příkaz udělal jednu mikroinstrukci.
Čítač PC je synchronní se synchronním Loadem PC, vyhovuje 74LS161, 163.
To umožňuje, že čtení paměti podle PC, Inc PC se udělá v jedné mikroinstrukci.
Nejdelší instrukce je JMP, kde se načte instrukce (FETCH), načte dolní adresa PC do PAR, načte horní adresa PC a na tu se skočí - přepíše PC.
Při CALL se ještě zapíše registr návratu, ale adresou ze které se skáče, takže
RET nejdřív nahraje do PC návratovou adresu a pak udělá jedno čtení podle PC a tím opraví adresu.
Nacvakáš hodnotu SW pro další adresu a zapíšeš STOre atd.
Nechápu, na co to kontrolovat hned čtením, nebo nevěříš že RAM fungujou ?
Pro kontrolu nastavíš PC na začátek programu a jednou mikroinstrukcí čteš RECall hodnotu RAM na adrese PC, na konci mikroinstrukce ji uložíš do PAR a uděláš automaticky inkrement PC.
Klikáním na REC přečteš postupně celou RAM.
Indikace PC ukazuje po akci ADR+1.
Při běhu programu vidíš adresu PC a co se objevilo na datové sběrnici na konci mikroinstrukce a zapsalo do PAR.
Řídící signály přičteš přes AND, OR, podle polarity.