Obsah:

Přehled 8bitového počítače na Breadboardu: 3 kroky
Přehled 8bitového počítače na Breadboardu: 3 kroky

Video: Přehled 8bitového počítače na Breadboardu: 3 kroky

Video: Přehled 8bitového počítače na Breadboardu: 3 kroky
Video: Testovací zapojení 8-bitového počítače N1 2024, Prosinec
Anonim
Přehled 8bitového počítače na Breadboardu
Přehled 8bitového počítače na Breadboardu

Mým cílem pro tento projekt bylo vybudovat lepší porozumění počítačové architektuře, hardwarovému designu a jazykům na úrovni sestavení. Jako junior na univerzitě studující počítačové inženýrství jsem nedávno dokončil kurzy elektroniky, laboratoře, které mě zavedly do montážního jazyka a hardwarové architektury. Když jsem dostal úvod do těchto témat, chtěl jsem lépe porozumět jemnějším detailům ve všech třech kurzech a jak se lépe učit než pracovat na projektu?

Mým původním záměrem bylo plně sestavit tento 8bitový počítač pomocí přednáškových videí poskytovaných na youtube kanálu Bena Eatera, které odvedly fantastickou práci při rozdělení procesu návrhu na solidní směs materiálu, který jsem pokryl, a aspekty, které jsem teprve čekal. Učit se. Vzhledem k tomu, že jsem již měl základní znalosti o kombinatorickém designu a základní logice elektroniky, chtěl jsem se vyzvat tím, že se pokusím navrhnout a sestavit části počítače po přehledech návrhu, ale bez sledování pokynů ke stavbě. V průběhu celého projektu bylo mým cílem naučit se a zlepšit své porozumění více, než jen stavět něco nového, takže v každém kroku projektu jsem si trochu přečetl online články a fóra o architektuře komponent a základních konvencích použitých pro každý z nich. z nich.

Krok 1: Výzkum na cestě

Výzkum na cestě
Výzkum na cestě
Výzkum na cestě
Výzkum na cestě

Tento projekt mě opravdu přiměl přečíst mnohem více, než jsem čekal. Jedním z mých hlavních přístupů ke každé komponentě bylo přečíst si přehled z online fóra nebo článku, podívat se na přednášky z Eaterových videí a pokusit se navrhnout vlastní část před stavbou, testováním a většinou po dobu, po kterou ji potřebuji sešrotovat. řízenější přístup z Eaterova kanálu. Příkladem toho bylo, když jsem stavěl ALU komponentu PC. Když jsem sledoval designová videa, četl jsem články o součástech čipu, které měly vyšší funkčnost a spouštěcí vstupy, které by umožňovaly interně přepínat typy instrukcí a invertovat vstupy na komplement 2. Než jsem si ale koupil tyto čipy usnadňující práci, zkontroloval jsem přístup k designu, o kterém hovořil Ben Eater ve svých videích, se smícháním doplňků a logických bran XOR za účelem zvýšení funkčnosti v modulu ALU, aniž by bylo zapotřebí čipů s vyššími náklady. To mě přimělo ocenit použití diskrétní logiky a její použitelnost na počítačový design a seznámit se s různými přístupy ke stavbě komponent. Kombinací čipů nižší úrovně na prkénku jsem se také dozvěděl o některých klíčových architektonických rysech používaných uvnitř ALU, což zlepšilo mé porozumění této exekuční komponentě na PC.

Další klíčovou součástí, o které jsem se dozvěděl, bylo použití transceiverů, známých také jako buffery. Než jsem se dostal hlouběji do projektu, myslel jsem si, že jednoduše aktivuji a deaktivuji různé komponenty pomocí řídicích signálů, ale rychle jsem v článcích našel, že je třeba použít vyrovnávací paměti, aby tato architektura ve stylu Von-Neumana fungovala správně. Protože počítač používá pro přenos dat mezi různými moduly v počítači sdílenou sběrnici, synchronizaci cyklů určovaly hodiny. Když jsem však umožnil ukládání a načítání, aniž by došlo k rušení dat dostupných na sběrnici, zjistil jsem, že vysílače a přijímače jsou životně důležité pro to, aby fungovaly jako brány, což vyžaduje signál povolení, aby data mohla proudit na sběrnici včas. schopnost čtení nebyla tak obtížná na pochopení, protože vodiče vždy obsahovaly hodnoty na sběrnici, ale použití správné hodnoty znamenalo umožnění registrů držet novou hodnotu.

Jedním z posledních výsledků výzkumu v rámci tohoto projektu bylo porozumění rozdílům ve specifikaci mezi čipy, které byly podobné. Často jsem našel čipy se stejnými hodnotami ID, ale různými písmeny deskriptorů, jako jsou LS a HC. Dozvěděl jsem se, že to nebyla jen výroba štítků, ale také časové a energetické specifikace čipů. Naštěstí, protože můj počítač používal komponenty s poměrně nízkou úrovní a vysokou tolerancí, nemusel jsem se starat o shodu s mnoha specifikacemi, ale při návrhu vyšší úrovně jsem zjistil, že věci jako rychlost hodin a odběr energie jsou rozhodující pro úspěch nebo neúspěch elektroniky. design

Krok 2: Narazené potíže

Poměrně rychle do projektu jsem byl schopen navrhnout jednoduché komponenty, jako jsou časovací hodiny pro synchronizaci procesů a základní paměťovou architekturu, ale vzhledem k potřebě objednávat díly podél těžkého semestru kurzu bylo obtížné přidělit projektu vnější čas, což mě vrátilo zpět harmonogram dokončení. Po mém prvním velkém neúspěchu, kdy jsem musel týden čekat, než dorazí díly, jsem se nakonec vyhnul dalším zdržením objednáním všech dílů, o kterých jsem si myslel, že budu potřebovat k dokončení tohoto projektu, což se ukázalo jako užitečné, protože jsem se již nesetkal se zpožděním do zveřejnění tohoto. Poté, co jsem se naučil také některé základní přístupy k ladění, jsem začal přehlížet některé sestavy, což znamenalo, že jsem se musel vrátit a znovu sledovat videa, abych zachytil moje chyby, což obvykle vedlo k rozebrání většiny desek. To nemělo žádnou zkratku. Naučil jsem se hodnotit při kontrole vašeho pokroku při stavbě jakéhokoli elektronického zařízení. Tím, že jsem odladil každou desku po cestě, jsem byl schopen přejít k jejich kombinování s větší jistotou, poté se ladění kombinovaných desek stalo mnohem jednodušším.

Krok 3: Úspěchy a reflexe

Celkově jsem v současné době dokončil hodiny, operační kód a čítač programů, jednotku ALU, registry rs rt a rd a RAM. Kromě toho, že jsem k dokončení tohoto projektu potřeboval dokončit sběrnici a periferní zařízení, naučil jsem se podstatnou část o počítačové architektuře, kterou, doufám, přenesu do svých volitelných ročníků a absolvuji kurz počítačové architektury.

M5 mi poskytl všechny potřebné nástroje pro práci na mém projektu a komponenty byly velmi dobře rozmístěny podél stěn dílů, takže jsem velmi brzy věděl o dílech, které je třeba objednat a co bylo postradatelné. Pokud by se tohoto projektu ujal jiný student, určitě bych poznamenal, že tento projekt zabere hodně času, pokud se snažíte porozumět všemu, co se děje na počítači. NENÍ TO OBTÍŽNÉ, ale pokud chcete, aby fungovalo úspěšně, vyžaduje péči. Důrazně doporučuji projít si seznam videí na youtube kanálu Bena Eatera, abyste získali přehled o všech částech, které potřebujete použít, abyste nezůstali včas, pokud neplánujete navrhnout svůj vlastní přístup. Vzhledem k tomu, že jsem koupil většinu dílů, plánuji, že si to vezmu s sebou, abych to dokončil ve svém vlastním čase, ale bylo by skvělé to předat jinému studentovi, aby to dokončil, což by znamenalo světelné vystavení designu zbývajících částí, ale velké zaměření na montážní jazyk, na kterém jsem naštěstí zapracoval během jiných hodin

Doporučuje: