Sadržaj:
Video: 8-bitni računar na idejnoj ploči Pregled: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Moj cilj ovog projekta bio je bolje razumijevanje arhitekture računara, dizajna hardvera i jezika na nivou montaže. Budući da sam bio student univerziteta na studiju računarskog inženjerstva, nedavno sam završio kurseve elektronike, laboratorija koji su me upoznali sa asemblerskim jezikom i hardverskom arhitekturom. Primajući uvod u ove teme, želio sam poboljšati razumijevanje sitnijih detalja u sva tri predmeta, i koji je bolji način učenja od rada na projektu?
Moja prvotna namjera bila je potpuno sastaviti ovaj 8-bitni računar koristeći video zapise predavanja koji se nalaze na youtube kanalu Bena Eatera, a koji izvrsno odrađuju proces dizajna na čvrstu mješavinu materijala koji sam obrađivao i aspekata koje sam tek trebao upoznati naučiti. S obzirom da sam već imao osnovno razumijevanje kombinatornog dizajna i osnovne logike elektronike, htio sam se izazvati pokušavajući dizajnirati i izgraditi dijelove računara nakon pregleda dizajna, ali bez gledanja uputa za izgradnju. Tijekom cijelog projekta moj cilj je bio naučiti i poboljšati svoje razumijevanje više nego samo izgraditi nešto novo, pa sam u svakom koraku projekta čitao malo iz internetskih članaka i foruma o komponentnoj arhitekturi i osnovnim konvencijama koje se koriste za svaku Od njih.
Korak 1: Usput istražite
Ovaj projekat me zaista natjerao da pročitam mnogo više nego što sam očekivao. Jedan od mojih glavnih pristupa svakoj komponenti bio je čitanje pregleda s internetskog foruma ili članka, gledanje predavanja iz videa Eattera i pokušaj dizajniranja vlastitog dijela prije izgradnje, testiranja i većine vremena kada sam morao da ga odbacim za više vođen pristup sa Eater kanala. Primer za to je bio kada sam pravio ALU komponentu računara. Dok sam gledao video zapise o dizajnu, čitao sam članke o komponentama čipa veće funkcionalnosti i pokretačke ulaze koji bi omogućili internu promjenu tipova instrukcija i pretvaranje ulaza u 2 komplementa. Međutim, prije nego što sam kupio ove čipove za olakšavanje, pregledao sam pristup dizajnu o kojem je Ben Eater govorio u svojim video zapisima, uz mješavinu sabirača i XOR logičkih vrata kako bi se povećala funkcionalnost ALU modula bez potrebe za čipovima veće cijene. Zbog toga sam cijenio korištenje diskretne logike i njenu primjenjivost u računarskom dizajnu te naučio različite pristupe izgradnji komponenti. Kombinovanjem čipova nižeg nivoa na matičnoj ploči naučio sam i neke ključne arhitektonske osobine korištene unutar ALU -a, što je povećalo moje razumijevanje ove komponente izvođenja na računaru.
Još jedna ključna komponenta o kojoj sam saznao bila je primopredajnici, poznati i kao odbojnici. Prije nego što sam ušao dublje u projekt, mislio sam da ću jednostavno aktivirati i deaktivirati različite komponente pomoću kontrolnih signala, ali brzo sam u člancima otkrio da je potrebno koristiti međuspremnike kako bi pravilno funkcionirao ovu arhitekturu u Von-Neumanovom stilu. Budući da računar koristi zajedničku magistralu za prenos podataka između različitih modula na računaru, sinhronizaciju ciklusa je diktirao sat. Međutim, dopuštajući skladištenje i učitavanje bez ometanja dostupnih podataka na sabirnici, otkrio sam da su primopredajnici od vitalnog značaja za djelovanje kao kapije, što zahtijeva signal za omogućavanje pravovremenog protoka podataka na sabirnicu. sposobnost čitanja nije bila tako teška za razumijevanje, jer bi žice uvijek držale vrijednosti na sabirnici, ali korištenje ispravne vrijednosti značilo je omogućavanje registrima da drže novu vrijednost.
Zadnji zaključak istraživanja tokom ovog projekta bilo je razumijevanje razlika u specifikacijama među sličnim čipovima. Često sam nalazio čipove sa istim ID vrednostima, ali različitim slovima deskriptora, poput LS i HC. Ono što sam naučio je da se ne radi samo o proizvodnji naljepnica, već i o vremenu i specifikacijama napajanja čipova. Srećom, budući da je moj računar koristio komponente niskog nivoa i visoke tolerancije, nisam morao brinuti o usklađivanju mnogih specifikacija, ali na dizajnu višeg nivoa naučio sam da su stvari poput brzine takta i potrošnje energije ključne za uspjeh ili neuspjeh elektronike dizajn
Korak 2: Nailazite na poteškoće
Prilično brzo u projekt sam uspio dizajnirati jednostavne komponente, kao što je sat za sinhronizaciju procesa i osnovnu arhitekturu memorije, ali potreba za naručivanjem dijelova uz težak semestar kursa otežala je dodjelu vremena izvan projekta, što me je vratilo na raspored završetka. Nakon mog prvog velikog zastoja u tome što sam morao čekati sedmicu dana da stignu dijelovi, na kraju sam zaobišao daljnja kašnjenja naručivanjem svih dijelova za koje sam mislio da će mi trebati da dovršim ovaj projekt, što se pokazalo korisnim jer se više nisam suočio s kašnjenjima do objavljivanja ovog. Nakon što sam naučio i neke osnovne pristupe otklanjanju grešaka, počeo sam previđati neki sklop što je značilo da se moram vratiti i ponovo pogledati video zapise kako bih uhvatio svoje greške, što je obično dovodilo do rastavljanja većine ploče. Ovo nije imalo prečicu. Naučio sam vrijednost provjeravajući vaš napredak u izgradnji bilo kojeg elektroničkog uređaja. Otklanjanjem pogrešaka na svakoj ploči usput sam uspio preći na njihovo kombiniranje s više povjerenja, a zatim je otklanjanje pogrešaka na kombiniranim pločama postalo mnogo lakše.
Korak 3: Dostignuća i razmišljanje
Sve u svemu, trenutno sam završio sat, opcode i programski brojač, ALU jedinicu, rs rt i rd registre i RAM. Osim što mi je potrebno dovršiti sabirnicu i periferne uređaje kako bih dovršio ovaj projekt, naučio sam i dosta o računarskoj arhitekturi, koju se nadam da ću prenijeti na izborne predmete na višoj godini, pohađajući kurs arhitekture računara.
M5 mi je pružio sve potrebne alate za rad na projektu, a komponente su bile vrlo dobro postavljene duž zidova dijelova, pa sam vrlo rano znao za dijelove koje je potrebno naručiti i šta je nepotrebno. Ako bi drugi student prihvatio ovaj projekt, definitivno bih primijetio da ovaj projekt oduzima puno vremena ako pokušavate razumjeti sve što se dešava na računaru. TO NIJE TEŠKO, ali zahtijeva brigu ako želite da funkcionira uspješno. Toplo preporučujem da prođete kroz video playlistu na YouTube kanalu Bena Eatera kako biste shvatili sve dijelove koje trebate koristiti kako ne biste zaostali na vrijeme ako ne planirate osmisliti vlastiti pristup. Budući da sam kupio većinu dijelova koje planiram uzeti sa sobom da ih dovršim u svoje vrijeme, ali bilo bi super predati ovo dopustiti drugom učeniku da to dovrši, što bi značilo izlaganje svjetlosti dizajnu preostalih dijelova, ali veliki fokus na asemblerskom jeziku, na kojem sam srećom morao raditi tokom drugih časova
Preporučuje se:
Bare Minimum - Arduino na idejnoj ploči: 5 koraka
Bare Minimum - Arduino na idejnoj ploči: Arduino koristi čip ATMega328p. To možemo dobiti u SMD formatu (ATMega328p-AU) ili DIP formatu za lemljenje kroz rupe (ATMega328p-PU). Ali, čip sam po sebi ne može raditi. Potrebno mu je još nekoliko komponenti i sve zajedno se naziva golo
MicroPython na ploči senzora složene umjetnosti: 3 koraka
MicroPython na ploči složenih umjetničkih senzora: Jedan od najnevjerovatnijih aspekata ESP32 mikrokontrolera je njegova sposobnost pokretanja MicroPythona. To se može učiniti na dva načina: pokretanjem punih Python programa ili interaktivno putem konzole. Ovaj Instructable će pokazati kako se koristi
Srčani privjesak na matičnoj ploči: 10 koraka
Privjesak u obliku srca na matičnoj ploči: Ako volite razdvajati stvari (posebno računare) koliko i ja, morat ćete ležati oko dvije matične ploče, pa evo projekta koji će ih pretvoriti u zaista lijep nakit. U vrijeme objavljivanja ovog članka bio sam na Instructables
Fuzz akustične gitare na idejnoj ploči: 3 koraka
Fuzz akustične gitare na idejnoj ploči: Upozorenje! Ovaj projekt je dizajniran za upotrebu s akustičnom gitarom, pa imajte na umu da možda neće biti prikladan za električnu. O projektu: Ovaj jednostavan projekt Fuzz protoboarde sastoji se od zaista jednostavnog, ali efikasnog sklopa. Posvećeno je dodavanju pa
Modularna neopikselna ploča za otvaranje otvorenog koda prilagođena idejnoj ploči: 4 koraka (sa slikama)
Modularna neopikselna ploča za otvaranje otvorenog koda pogodna za izradu ploča LED traka u mnogo manjem obliku