CLAUDIA Lite

primitivní 4-bitový procesor/počítač sestavený z obvodů TTL 74xx



Blokové zapojení Claudie Lite

Než se dáme do popisu konkrétního obvodového zapojení Claudie Lite, je vhodné udělat si celkový přehled, jak je tento procesor-počítač vlastně koncipován. Takový přehled si člověk nejsnáze vytvoří na základě blokového schématu:

Blokové schéma Claudia Lite
Blokové schéma Claudia Lite

Blokové schéma sestává z několika funkčních bloků, které spolu jsou navzájem různě propojeny. Nejčastěji jsou propojeny tzv. sběrnicí BUS, po které přesouváme data mezi jednotlivými bloky. Jelikož se jedná o procesor 4-bitový, je i sběrnice 4-bitová. Sběrnice je třístavová, což umožňuje přesun dat jen mezi konkrétními vybranými bloky aniž by došlo k ovlivnění či kolizi dat ostatních neaktivních bloků. Dále jsou bloky propojeny tzv. řídící sběrnicí CONTROL. Řídící sběrnice není sběrnicí v pravém slova smyslu. Je to souhrn řídících signálů generovaných sequencerem a určených jednotlivým funkčním celkům procesoru.

Pojďme si stručně popsat jednotlivé funkční bloky Claudie Lite. Jelikož bude každému bloku vyhrazena samostatná stránka, je popis zde opravdu stručný a detailní popisy najdete na jednotlivých stránkách bloků.


Generátor hodin CLK

Generátor hodin CLK je základem pro běh procesoru. Vytváří takt, podle kterého se časují všechny operace, které procesor vykonává. Základem našeho CLK bloku je astabilní klopný obvod (AKO, multivibrátor), který vytváří pravoúhlé impulsy (hodiny) se střídou přibližně 1:1. Jak bude uvedeno později, jsou pro taktování procesoru velmi výhodné tzv. dvoufázové hodiny. Součástí bloku CLK je tedy i obvod, který z původně jednofázového signálu hodin vytváří signál dvoufázový s fázemi F1 a F2. Dále blok CLK obsahuje obvod pro generování signálů RESET na základě vnějšího požadavku, či po zapnutí napájení, protože i signál RESET musí být synchronizován s hodinami. Náš CLK blok bude obsahovat i obvod pro ruční generování počátečních jednofázových hodin s jehož pomocí bude možné provádět ruční krokování (STEP) činnosti procesoru a detailně tak zkoumat jeho činnost.


Seguencer SEQ

Seguencer SEQ je nejdůležitejším funkčním blokem procesoru. Na základě taktu z hodin řídí všechny činnosti, které procesor vykonává. Často se mu také říká procesor uvnitř procesoru. Ve skutečnosti se jedná o sekvenční mikroprogramový řadič. Obsahuje pevnou paměť typu ROM s tzv. mikroinstrukcemi. Mikroinstrukce jsou v podstatě kódy hardwarových signálů jimiž jsou řízeny všechny ostatní funkční bloky procesoru. Sequencer má za úkol převzít instrukci z programové paměti a "donutit" ostatní funkční bloky procesoru k jejímu vykonání. To se provede tak, že se nejprve načte operační kód instrukce z programové paměti přes sběrnici BUS do instrukčního registru IR v sequenceru a na základě tohoto kódu sequencer vykoná sérii (sekvenci) mikroinstrukcí ze své paměti ROM. Tato sekvence aktivuje příslušné řídící signály pro registry a další obvody uvnitř procesoru tak, aby došlo vykonání původní instrukce. Také se tomu říká instrukční cyklus. Po jeho skončení je načtena z programové paměti další instrukce a začíná další instrukční cyklus. A tak pořád dokola...


Vstupní port IN

Vstupní port IN u Claudie Lite slouží jednak k přímému ručnímu programování programové paměti RAM a druhak jako obecný vstupní port, ze kterého může procesor číst vstupní data zadaná uživatelem a dále je programově zpracovávat. Na vstupu portu budeme mít spínače, jimiž se budou nastavovat vstupní data.


Programový čítač PC

Programový čítač PC generuje adresu pro programovou paměť RAM. Je to v podstatě ukazatel na aktuální místo paměti, odkud procesor čte instrukci, nebo data (konstantu). Programový čítač může být pouze inkrementován při běžném lineárním běhu programu, nebo mu může být "vnucena" zcela jiná adresa pro skoky v programu. Tyto skoky mohou být podmíněné či nepodmíněné. Bude vysvětleno v popisu zapojení bloku PC.


Programová paměť RAM

Programová paměť RAM je určena pro ruční vkládání programu, který je pak procesorem vykonáván. Náš jednoduchý procesor z této paměti data může pouze číst, čili z jeho hlediska by se jednalo o paměť ROM, ale abychom ji mohli opakovaně programovat, musí se pochopitelně jednat o RAM.


Pracovní registr A

Pracovní registr A je nejdůležitější pracovní registr procesoru. Jdou přes něj všechna data portů a všechna data určená pro matematické a logické operace. Obsahuje vždy první operand těchto operací a je do něj vždy ukládán výsledek těchto operací. Často se registr A označuje jako střadač či akumulátor a procesor s tímto typem registru je pak označován jako tzv. střadačově orientovaný. Data z registru můžeme také číst. Registr má výstup na sběrnici BUS.


Aritmeticko-logická jednotka ALU

Aritmeticko-logická jednotka ALU je blok, který provádí aritmetické (matematické) či logické (boolovské) oprace s binárními čísly. Většina operací vyžaduje dva operandy, ale existují i jednooperandové (bitové rotace, posuny, funkce NOT). V opravdových procesorech je ALU velmi složitý funkční blok. V Claudii Lite je ALU redukována jen na dvě základní operace a sice binární sčítání ADDC (zástupce aritmetických operací) a exkluzívní logický součet XOR (zástupce logických operací). Obě tyto operace vyžadují vždy dva operandy. Jeden se ukládá do registru A a druhý do B registru. Výsledek operace je vždy uložen do A registru a původní operand je přepsán.


Pracovní registr B

Pracovní registr B je tzv. odkládacím registrem a v případě Caludie Lite také registrem druhého operandu. Ukládáme do něj druhé číslo pro matematicko-logické operace. Registr B nemá přímý výstup na datovou sběrnici BUS (nepotřebuje ho). Do registru lze pouze zapisovat.


Výstupní port OUT

Výstupní port OUT je univerzální výstupní registr jehož výstupy je možné ovládat externí zařízení pripojená k počítači. Do registru OUT lze data pouze zapisovat.



Co musíte znát?

Než se pustíme do konkrétního zapojení jednotlivých funkčních bloků, je vhodné uvést, co je potřeba znát pro pochopení zapojení Claudie Lite:

základy binární soustavy, logická nula (LOW) a jednička (HIGH), třetí stav, číslicové obvody - zejména hradla a základní logické funkce (AND, OR, XOR, NOT), klopné obvody (AKO, RS, D), registry (v podstatě D klopáky), binární čítače, dekodéry (BIN na 1zN), paměti RAM, ROM (PROM), synchronní a asynchronní obvody...

Tedy naprosté základy číslicové techniky, jaké dal mladým chlapcům do vínku třeba populární Logitronik. Na rozdíl od Arduina...

Také se od adeptů na stavbu Claudie Lite předpokládá, že vědí, co to vlastně (mikro)procesor je a jaká je jeho úloha v počítači. Nemusí vědět, jak pracuje. To se naučí studiem Claudie Lite:-)

Občas se v popisu Claudie Lite objeví poněkud komické slovo NIBBLE. Jedná se o označení pro 4 bity. Každý jistě ví, že 8 bitů tvoří BYTE (bajt), někteří dokonce vědí, že 16 bitů tvoří WORD (slovo), ale už zdaleka ne všichni vědí, že 4 bity tvoří NIBBLE. A jelikož se zde budeme věnovat 4-bitovým procesorům a počítačům, sem tam na NIBBLE v textu dojde.

A nyní se již můžeme podívat na konkrétní zapojení Claudie Lite. Zapojení bude popisováno po částech, které tvoří vždy ucelený funkční celek, jak byly popisovány u blokového schématu výše. Předem upozorňuji, že popisy generátoru hodin a sequenceru jsou opravdu hodně obšírné. Ale je to nutné. Jsou naprosto klíčové pro pochopení interních činností procesoru. Začneme tedy generátorem hodin CLK.


PIP-2 versus Claudia Lite

Generátor hodin


RET



Odladěno na MS IE 8.0 a Firefoxu při rozlišení min. 1024 x 768 pixelů
www.NOSTALCOMP.cz    2010  -  2019