Cuprins:
Video: Prezentare generală a computerului pe 8 biți pe o placă de calcul: 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Scopul meu pentru acest proiect a fost să construiesc o mai bună înțelegere a arhitecturii computerelor, a proiectării hardware și a limbajelor la nivel de asamblare. Fiind un junior în universitatea care studiază ingineria computerelor, am absolvit recent cursuri de electronică, laboratoare care mi-au prezentat limbajul de asamblare și arhitectura hardware. Primind o introducere la aceste subiecte, am vrut să mă înțeleg mai bine despre detaliile mai fine din toate cele trei cursuri și ce modalitate mai bună de a învăța decât să lucrez la un proiect?
Intenția mea inițială a fost de a asambla pe deplin acest computer de 8 biți folosind videoclipurile prelegerii furnizate pe canalul de YouTube al lui Ben Eater, care fac o treabă fantastică de a descompune procesul de proiectare într-un amestec solid de material pe care l-am acoperit și aspecte pe care încă nu le-am făcut. învăța. Având în vedere că aveam deja o înțelegere de bază a designului combinatoric și a logicii electronice de bază, am vrut să mă provoc prin încercarea de a proiecta și construi părți ale computerului după prezentarea generală a proiectelor, dar fără a urmări instrucțiunile de construcție. De-a lungul proiectului, scopul meu a fost să învăț și să-mi îmbunătățesc înțelegerea mai mult decât să construiesc ceva nou, așa că, de-a lungul fiecărui pas al proiectului, am făcut o mică lectură din articole și forumuri online despre arhitectura componentelor și convențiile de bază utilizate pentru fiecare dintre ei.
Pasul 1: Cercetare pe parcurs
Acest proiect m-a determinat să citesc mult mai mult decât mă așteptam. Una dintre principalele mele abordări ale fiecărei componente a fost să citesc o prezentare generală dintr-un forum sau articol online, să urmăresc prelegerile din videoclipurile lui Eater și să încerc să-mi proiectez propria parte înainte de a construi, testa și, de cele mai multe ori, să o abandonez pentru un abordare mai ghidată de la canalul Eater. Un exemplu în acest sens a fost când construiam componenta ALU a computerului. În timp ce vizionam videoclipurile de proiectare, am citit articole despre componentele cipului care aveau o funcționalitate mai mare și declanșau intrări care ar permite comutarea tipurilor de instrucțiuni și inversarea intrărilor în complementul 2 al internului. Cu toate acestea, înainte de a cumpăra aceste cipuri ușor de făcut, am analizat abordarea de design despre care a vorbit Ben Eater în videoclipurile sale, cu amestecul de adăugătoare și porți logice XOR pentru a crește funcționalitatea în modulul ALU fără a avea nevoie de cipuri cu costuri mai mari. Acest lucru m-a făcut să apreciez utilizarea logicii discrete și aplicabilitatea acesteia la proiectarea computerelor și să aflu diferite abordări ale componentelor clădirii. Prin combinarea cipurilor de nivel inferior pe panoul de testare, am aflat și despre câteva trăsături arhitecturale cheie utilizate în interiorul ALU, care mi-au sporit înțelegerea asupra acestei componente de execuție pe PC.
O altă componentă cheie despre care am aflat a fost utilizarea transceiverelor, cunoscute și sub numele de tampoane. Înainte de a intra mai adânc în proiect, m-am gândit că voi activa și dezactiva pur și simplu diferite componente folosind semnale de control, dar am descoperit rapid în toate articolele că trebuie să fie utilizate tampoane pentru a funcționa corect această arhitectură în stil Von-Neuman. Deoarece computerul folosește o magistrală partajată pentru ca datele să circule între diferitele module de pe computer, sincronizarea ciclurilor a fost dictată de ceas. Cu toate acestea, permițând stocarea și încărcările să apară fără să interfereze cu datele disponibile pe autobuz, am constatat că emițătoarele sunt vitale pentru a acționa ca porți, necesitând un semnal de activare pentru a permite fluxului de date pe autobuz în timp util. capacitatea de citire nu a fost la fel de greu de înțeles, deoarece firele ar păstra întotdeauna valorile pe autobuz, dar utilizarea valorii corecte însemna să permită registrelor să dețină noua valoare.
O ultimă preluare din cercetarea de-a lungul acestui proiect a fost înțelegerea diferențelor de specificație între jetoanele care erau similare. De multe ori am găsit cipuri cu aceleași valori ID, dar litere descriptoare diferite, cum ar fi LS și HC. Ceea ce am aflat a fost că nu era vorba doar de fabricarea etichetelor, ci și de specificațiile de sincronizare și putere referitoare la cipuri. Din fericire, deoarece computerul meu a folosit componente destul de scăzute, cu toleranță ridicată, nu a trebuit să-mi fac griji în legătură cu potrivirea multor specificații, dar în ceea ce privește designul de nivel superior, am aflat că lucruri precum viteza ceasului și consumul de energie sunt esențiale pentru succesul sau eșecul sistemului electronic proiecta
Pasul 2: Dificultăți întâmpinate
Destul de repede în proiect, am reușit să proiectez componente simple, cum ar fi ceasul de sincronizare pentru sincronizarea proceselor și arhitectura de bază a memoriei, dar nevoia de a comanda piese alături de un semestru de curs greu a făcut dificilă alocarea timpului exterior proiectului, punându-mă din nou pe program de finalizare. După primul mare eșec de la nevoia de a aștepta o săptămână până la sosirea pieselor, am sfârșit evitând alte întârzieri, comandând toate părțile pe care credeam că le va trebui să finalizez acest proiect, care s-a dovedit util deoarece nu am mai întâmpinat întârzieri până la publicarea acestui. După ce am învățat și câteva abordări de bază pentru depanare, am început să trec cu vederea unele asamblări care însemnau nevoia să mă întorc și să vizionez din nou videoclipuri pentru a prinde erorile mele, ceea ce a dus, de obicei, la dezmembrarea majorității unui forum. Aceasta nu a avut nicio scurtătură. Am aflat valoarea verificării progresului dvs. în construirea oricărui dispozitiv electronic. Depanând fiecare placă de-a lungul drumului, am reușit să trec la combinarea lor cu mai multă încredere, apoi depanarea plăcilor combinate a devenit mult mai ușoară.
Pasul 3: Realizări și reflecție
Una peste alta, am finalizat în prezent ceasul, opcode-ul și contorul de programe, unitatea ALU, registrele rs rt și rd și memoria RAM. În afară de necesitatea de a finaliza autobuzul și perifericele pentru a finaliza acest proiect, am învățat o cantitate substanțială despre arhitectura computerelor, pe care sper să o duc la cursurile elective din ultimul an, urmând cursul de arhitectură computerizată.
M5 mi-a furnizat toate instrumentele necesare pentru a lucra la proiectul meu, iar componentele erau foarte bine așezate de-a lungul pereților pieselor, așa că am știut foarte devreme despre piesele care aveau nevoie de comandă și ce era de dispensat. Dacă un alt student ar trebui să preia acest proiect, aș nota cu siguranță că acest proiect durează mult dacă încercați să înțelegeți tot ce se întâmplă pe computer. NU ESTE DIFICIL, dar necesită îngrijire dacă doriți să funcționeze cu succes. Vă recomand cu tărie să parcurgeți lista de redare video de pe canalul de YouTube Ben Eater pentru a cunoaște toate părțile pe care trebuie să le folosiți, astfel încât să nu rămâneți în urmă la timp dacă nu intenționați să vă proiectați propria abordare. Întrucât am achiziționat majoritatea pieselor, intenționez să iau acest lucru cu mine pentru a-l finaliza singur, dar ar fi bine să dau acest lucru pentru a permite unui alt student să îl finalizeze, ceea ce ar însemna o expunere ușoară la designul pieselor rămase., dar un accent mare pe limbajul asamblării, pe care, din fericire, am ajuns să lucrez în timpul altor cursuri
Recomandat:
KS-Garden: Prezentare generală: 9 pași
KS-Garden: Prezentare generală: KS-Garden poate fi utilizat pentru irigarea / ventilarea / iluminarea plantelor de grădină / de seră din curtea din spate sau a plantelor de interior pentru cutii de creștere (design modular) Sistemul KS-Garden constă în principal din următoarele module - Principal cutie sistem - Cutie relaxare și alimentare
Motor controlat cu tranzistor cu telecomandă; Prezentare generală a circuitului: 9 pași
Motor controlat cu tranzistor cu telecomandă; Prezentare generală a circuitului: Acest circuit este un motor controlat cu tranzistor cu telecomandă. Telecomanda pornește. Tranzistorul va porni motorul. Codul programului va crește viteza motorului și apoi reduceți viteza motorului până la zero
Proiectare și gravare PCB Prezentare generală: 5 pași
Proiectare și gravare PCB Prezentare generală: Există mai multe moduri de proiectare și gravare PCB-uri, de la cele mai simple la cele mai sofisticate. Între timp, este ușor să vă confundați cu ce anume să alegeți, care dintre ele se potrivește cel mai bine nevoilor dvs. Pentru a clarifica câteva întrebări precum t
Utilizarea unui pod H (293D) pentru a acționa 2 motoare Hobby cu transmisie Ans Arduino; Prezentare generală a circuitului: 9 pași
Utilizarea unui pod H (293D) pentru a acționa 2 motoare Hobby cu transmisie Ans Arduino; prezentare generală a circuitului: Podul H 293D este un circuit integrat capabil să conducă 2 motoare. Avantajul podului H asupra tranzistorului sau a circuitelor de control MOSFET este că poate conduce cele 2 motoare bidirecțional (înainte și înapoi) cu un cod
Prezentare generală: Sistem de securitate și divertisment la domiciliu: 6 pași
Prezentare generală: Sistem de divertisment și securitate la domiciliu: Despre aplicație Acest sistem IOT este un sistem de divertisment și securitate la domiciliu. Securitate Atingeți cardul RFID și intrarea sunt salvate în Firebase. Dacă sunteți autorizat, puteți intra liniștit și fotografia este făcută și încărcată în S3 Dacă nu este autorizat, sec de apărare