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
danhard
Příspěvky: 6639
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#136 Příspěvek od danhard »

Nikoliv, v datasheetu je, kdy tam musí být /W , ale co je mimo je jedno.
Uživatelský avatar
lesana87
Příspěvky: 4395
Registrován: 20 zář 2014, 00:00

#137 Příspěvek od lesana87 »

Hmm, já jsem asi taky mimo.
Ona má ta paměť jednu velkou nevýhodu, nejde u ní udělat indikace dat jako u té s odděleným vstupem a výstupem v PIPu a Claudii Lite, takže není vidět, co se do ní doopravdy zapsalo.
Uživatelský avatar
danhard
Příspěvky: 6639
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#138 Příspěvek od danhard »

Budeš tam mít taky registr parametru, který se může klidně zapisovat na konci každé mikroinstrukce, když si dáš na něj LEDky, tak uvidíš, jaká byla data.
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
Uživatelský avatar
lesana87
Příspěvky: 4395
Registrován: 20 zář 2014, 00:00

#139 Příspěvek od lesana87 »

Měla jsem na mysli to ruční plnění paměti, PIP ani ClaudiaL do paměti programově zapisovat neumějí.
Uživatelský avatar
danhard
Příspěvky: 6639
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#140 Příspěvek od danhard »

No dyť taky myslím ruční ovládání, ale používáš k tomu hw, kterej tam už je.
Uživatelský avatar
lesana87
Příspěvky: 4395
Registrován: 20 zář 2014, 00:00

#141 Příspěvek od lesana87 »

Nechápu, co má konec každé mikroinstrukce společného s ručním plněním paměti, když sekvencer se při něm nepoužívá.
Uživatelský avatar
danhard
Příspěvky: 6639
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#142 Příspěvek od danhard »

No fajn, jak tam chceš dát adresu při ručním plněním paměti ?
Uživatelský avatar
lesana87
Příspěvky: 4395
Registrován: 20 zář 2014, 00:00

#143 Příspěvek od lesana87 »

No asi dvěma hexadecimálníma přepínačema.
Uživatelský avatar
danhard
Příspěvky: 6639
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#144 Příspěvek od danhard »

No a to budeš plnit program tak, že to budeš adresu po adrese nastavovat a cpát to tam po jednom nible ?
A jak to budeš kontrolovat ?
Uživatelský avatar
lesana87
Příspěvky: 4395
Registrován: 20 zář 2014, 00:00

#145 Příspěvek od lesana87 »

danhard píše:No a to budeš plnit program tak, že to budeš adresu po adrese nastavovat a cpát to tam po jednom nible ?
No a jak jinak, nahrávat to tam z děrné pásky? Jak to máš vymyšlené ty?
danhard píše:A jak to budeš kontrolovat ?
Blbě, když není rovnou vidět, co se zapsalo.
Uživatelský avatar
danhard
Příspěvky: 6639
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#146 Příspěvek od danhard »

Ovládání bude přes ProgramCounter.
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.
Uživatelský avatar
lesana87
Příspěvky: 4395
Registrován: 20 zář 2014, 00:00

#147 Příspěvek od lesana87 »

Asi jsem natvrdlá. Ty tu popisuješ, jak to funguje s instrukcema za běhu programu, to chápu, ale nechápu, jak se to aplikuje na ruční zadávání. To tomu nějak vnutíš potřebnou instrukci bez jejího načtení z paměti?
Uživatelský avatar
danhard
Příspěvky: 6639
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#148 Příspěvek od danhard »

Buď je to ve stavu RUN, nebo HALT a pak mikrořadič stojí, výstup je zablokovanej a můžu tam vnutit nějakou mikroinstrukci.
Signál RUN by měl mít LEDku, může to být jen přepínač, nebo tlačítko s překlápěním na opačnou hodnotu, nebo tlačítko RUN a HALT s klopákem.
Uživatelský avatar
lesana87
Příspěvky: 4395
Registrován: 20 zář 2014, 00:00

#149 Příspěvek od lesana87 »

Nevím tedy, jak ji tam chceš vnucovat, zablokované výstupy nejsou třístavové, ale jednou mikroinstrukcí do paměti nezapíšeš, takže nějaká posloupnost kvůli každemu zapisovanému nibble. Stále nevidíš, co se zapsalo, vidíš jen co jsi chtěl zapsat. Hned to přečíst nemůžeš, PC už je o +1 jinde. V čem je to výhodnější oproti nastavování adresy dvojicí přepínačů?
Uživatelský avatar
danhard
Příspěvky: 6639
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#150 Příspěvek od danhard »

Ale prdlačku, na STOre se v jedné mikroinstrukci provede zápis do RAM podle PC čítače hodnotou nastavenou na SW a na konci se udělá inkrement PC a přepis zapisované hodnoty do registru PARametr s indikací.
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.
Odpovědět

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