pátek 5. dubna 2013

Tranzistorová ALU - pokračování

Vnější sběrnice:
Dlouho jsem se bál, jestli jsem v průběhu konstrukce neudělal někde zásadní chybu, že bych se dostal do slepé uličky a nedalo se pokračovat, naštěstí ani když jsem stál před problémem, jak do toho monstrumu dostávat data, nebo je zase odebírat, nebylo nutné nic zásadně předělávat.

Vnější sběrnici jsem zapojil paralelně k datové paměti a prostě pro část adres (16) zablokoval CS signál paměťového čipu a místo toho WE a CS signály spolu s adresami poslal po zesílení obvody 74LS245 ještě spolu s datovými bity a napájením do řady konektorů. Do každého se dá dát deska, co může reagovat na jednu ze šestnácti adres a na WE signál. CS signálem se potom připojí k datové sběrnici kam buď data pošle, nebo je odtamtud přečte, podle toho, co konkrétní deska bude obstarávat.

Schema:
První deska, co jsem chtěl do sběrnice osadit měla obstarávat výstup datové sběrnice na displej. Displej byl předtím připojený přímo na sběrnici, což bylo praktické k tomu vědět, co na sběrnici je, ale při běhu programu jsou rychle přeblikávající čísla k ničemu. Cílem bylo tedy poslat na displej hodnotu jen, když se mu v programu řekne a dokud se nepošle hodnota nová, tak aby tam svítila ta předchozí, zatímco na datové sběrnici se děje kdoví co. Deska se docela povedla, a tak jsem tomu říkal skromě "grafická karta". Umožňuje pomocí příkazů zobrazování čísel buď 0-255 nebo v doplňkovém kódu jako -128 až +127. Přepínání kódu je řešeno sčítačkami a exor hradly.
 Schema:

Deska sběrnice:
Po osazení do zbytku zapojení:
Příznakový registr:
Už tam měl být dávno, ale protože měl obsahovat také tranzistorové registry, tak jsem počkal až budu vědět, jak je udělat spolehlivě. Registr je osazený přímo na základní desce alu, kde byl už půl roku připravený konektor. Deska vyhodnocování je osazena již mezi ostatní TTL logikou. Vstupy n-c-z jsou připojeny přímo na sběrnici příkazů a pokud všechny log. hodnoty souhlasí s hodnotami v příznakovém registru, na výstupu je log. 1. Výstup je připojen do desky řízení programového čítače a v danou chvíli rozhoduje o tom, jestli se provede skok na jinou hodnotu programového čítače, či nikoli.
Schema:
Schema desky vyhodnocování: