Sadržaj:

8-bitno računalo na pločici Pregled: 3 koraka
8-bitno računalo na pločici Pregled: 3 koraka

Video: 8-bitno računalo na pločici Pregled: 3 koraka

Video: 8-bitno računalo na pločici Pregled: 3 koraka
Video: КИТАЙЦЫ, ЧТО ВЫ ТВОРИТЕ??? 35 СУПЕР ТОВАРОВ ДЛЯ АВТОМОБИЛЯ С ALIEXPRESS 2024, Studeni
Anonim
Pregled 8-bitnog računala na pločici
Pregled 8-bitnog računala na pločici

Moj cilj ovog projekta bio je bolje razumjeti arhitekturu računala, dizajn hardvera i jezike na razini montaže. Budući da sam bio student sveučilišta na studiju računalnog inženjerstva, nedavno sam završio tečajeve elektronike, laboratorija koji su me upoznali sa asemblerskim jezikom i arhitekturom hardvera. Primajući uvod u ove teme, želio sam poboljšati razumijevanje sitnijih detalja u sva tri kolegija, i koji je bolji način učenja od rada na projektu?

Moja je prvotna namjera bila potpuno sastaviti ovo 8-bitno računalo 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 koje sam obrađivao i aspekata koje sam tek trebao doraditi naučiti. S obzirom da sam već imao temeljno razumijevanje kombinatornog dizajna i osnovne logike elektronike, želio sam se izazvati pokušavajući dizajnirati i izgraditi dijelove računala nakon pregleda dizajna, ali bez gledanja uputa o izgradnji. Tijekom cijelog projekta moj je cilj 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 te osnovnih konvencija korištenih za svaku od njih.

Korak 1: Usput istražite

Istraživanje usput
Istraživanje usput
Istraživanje usput
Istraživanje usput

Ovaj projekt me zaista natjerao da pročitam puno više nego što sam očekivao. Jedan od mojih glavnih pristupa svakoj komponenti bio je pročitati pregled s internetskog foruma ili članka, pogledati predavanja iz Eater -ovih video zapisa i pokušati dizajnirati vlastiti dio prije izgradnje, testiranja i većinu vremena kad sam ga morao odbaciti za više vođen pristup s Eater kanala. Primjer za to bio je dok sam gradio ALU komponentu računala. 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 vrsta uputa 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, s mješavinom zbrojeva 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 njezinu primjenjivost u računalnom dizajnu te naučio različite pristupe izgradnji komponenti. Kombinirajući čipove niže razine na 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čunalu.

Druga ključna komponenta o kojoj sam saznao bila je primopredajnici, također poznati kao odbojnici. Prije nego što sam ušao dublje u projekt, mislio sam da ću jednostavno aktivirati i deaktivirati različite komponente pomoću upravljačkih signala, ali brzo sam u člancima otkrio da je potrebno koristiti međuspremnike kako bi pravilno funkcionirao ovu arhitekturu u stilu Von-Neumana. Budući da računalo koristi zajedničku sabirnicu za prijenos podataka između različitih modula na računalu, sinkronizaciju ciklusa diktirao je 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 vrata, što zahtijeva signal za omogućavanje pravovremenog protoka podataka na sabirnicu. sposobnost čitanja nije bila tako teška za razumjeti, 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 tijekom ovog projekta bilo je razumijevanje razlika u specifikacijama među sličnim čipovima. Često sam našao čipove s istim ID vrijednostima, 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 moje računalo koristilo komponente niske razine i visoke tolerancije, nisam se trebao brinuti o usklađivanju mnogih specifikacija, ali na dizajnu više razine naučio sam da su stvari poput brzine sata i potrošnje energije ključne za uspjeh ili neuspjeh elektroničke opreme. oblikovati

Korak 2: Nailazite na poteškoće

Prilično brzo u projekt sam uspio osmisliti jednostavne komponente, kao što je sat za sinkronizaciju procesa i osnovnu arhitekturu memorije, no potreba za naručivanjem dijelova uz težak semestar kolegija otežala je dodjelu vremena izvan projekta, što me vratilo na raspored završetka. Nakon mog prvog velikog zastoja u tome što sam morao čekati tjedan dana da stignu dijelovi, na kraju sam zaobišao daljnja kašnjenja naručivši sve dijelove 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 ovoga. Nakon što sam naučio i neke osnovne pristupe otklanjanju pogrešaka, počeo sam previđati neki sklop što je značilo da se moram vratiti i ponovno pogledati videozapise kako bih uhvatio svoje pogreške, što je obično dovodilo do rastavljanja većine ploče. Ovo nije imalo prečac. 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 prijeći na njihovo kombiniranje s više povjerenja, a zatim je ispravljanje pogrešaka na kombiniranim pločama postalo mnogo lakše.

Korak 3: postignuć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 sam trebao dovršiti sabirnicu i periferne uređaje kako bih dovršio ovaj projekt, naučio sam i dosta o računalnoj arhitekturi, koju se nadam da ću prenijeti na izborne predmete na višoj godini, pohađajući tečaj računalne arhitekture.

M5 mi je pružio sve potrebne alate za rad na projektu, a komponente su bile jako dobro postavljene duž zidova dijelova, pa sam vrlo rano znao za dijelove koje je potrebno naručiti i što 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 događa na računalu. NIJE TEŠKO, ali zahtijeva brigu ako želite da uspješno funkcionira. Toplo preporučujem da prođete kroz popis pjesama za reprodukciju 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 čemu sam srećom poradio tijekom drugih sati

Preporučeni: