Sisukord:
Video: 8-bitine arvuti leivaplaadil Ülevaade: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Selle projekti eesmärk oli paremini mõista arvuti arhitektuuri, riistvara disaini ja koostetaseme keeli. Kuna olin ülikoolis noorem ja õppisin arvutitehnikat, olin hiljuti läbinud elektroonika kursused, laborid, mis tutvustasid mulle kokkupanekukeelt ja riistvaraarhitektuuri. Nendele teemadele tutvustuse saamisel tahtsin suurendada oma arusaamist kõigi kolme kursuse peenematest üksikasjadest ja mis oleks parem viis õppida kui projekti kallal töötada?
Minu esialgne kavatsus oli see 8-bitine arvuti täielikult kokku panna, kasutades Ben Eateri YouTube'i kanalil esitatud loenguvideoid, mis teevad fantastilist tööd, purustades disainiprotsessi tugevaks seguks materjalist, mida olen käsitlenud ja aspektidest, mida ma veel ei ole õppida. Arvestades, et mul oli juba elementaarsed arusaamad kombinatoorsest disainist ja elektroonika põhiloogikast, tahtsin end proovile panna, proovides pärast disainiülevaateid arvuti osi kavandada ja ehitada, kuid vaatamata ehitusjuhiseid. Kogu projekti vältel oli minu eesmärk õppida ja parandada oma arusaamist rohkem kui lihtsalt midagi uut ehitada, seega lugesin projekti igas etapis veidi veebiartiklitest ja foorumitest, mis käsitlesid komponentide ülesehitust ja põhilisi tavasid nendest.
1. samm: uurige oma teed
See projekt pani mind tõesti palju rohkem lugema, kui ma ootasin. Üks minu peamisi lähenemisviise igale komponendile oli lugeda ülevaadet veebifoorumist või artiklist, vaadata loenguid Eateri videotest ja proovida kujundada oma osa enne ehitamist, katsetamist ja enamasti selle eemaldamist. rohkem juhitud lähenemist Eateri kanalilt. Selle näide oli siis, kui ehitasin arvuti ALU komponenti. Disainivideoid vaadates lugesin artikleid kiibikomponentide kohta, mis olid kõrgema funktsionaalsusega ja käivitasid sisendeid, mis võimaldaksid käsutüüpe vahetada ja sisendeid sisemiselt kahe täienduseks muuta. Enne nende lihtsustatavate kiipide ostmist vaatasin siiski läbi disaini lähenemisviisi, millest Ben Eater oma videotes rääkis, lisamiste ja XOR-i loogikaväravate segamisega, et suurendada ALU mooduli funktsionaalsust, ilma et oleks vaja kõrgema hinnaga kiipe. See pani mind hindama diskreetse loogika kasutamist ja selle rakendatavust arvutidisaini osas ning tundma õppima erinevaid lähenemisviise komponentide ehitamisele. Kombineerides leivaplaadil madalama taseme kiipe, sain teada ka mõningaid ALU -s kasutatavaid peamisi arhitektuurilisi jooni, mis suurendas minu arusaamist sellest arvuti täitekomponendist.
Teine oluline komponent, millest sain teada, oli transiiverite, mida tuntakse ka puhvritena, kasutamine. Enne projekti süvenemist mõtlesin, et aktiveerin ja deaktiveerin lihtsalt erinevaid komponente, kasutades juhtimissignaale, kuid leidsin artiklitest kiiresti, et selle Von-Neumani stiilis arhitektuuri nõuetekohaseks toimimiseks on vaja kasutada puhvreid. Kuna arvuti kasutab andmete jagamiseks arvuti erinevate moodulite vahel jagatud bussi, dikteeris tsüklite sünkroonimine kella. Siiski, lubades kauplusel ja koormustel toimuda ilma bussis saadaolevaid andmeid segamata, leidsin, et transiiverid on väravateks toimimiseks hädavajalikud, nõudes lubamissignaali, et andmed saaksid õigeaegselt bussi voolata. lugemisoskust polnud nii raske mõista, kuna juhtmed hoidsid siinil alati väärtusi, kuid õige väärtuse kasutamine võimaldas registritel uut väärtust hoida.
Üks viimaseid järeldusi selle projekti uurimistööst oli sarnaste kiipide spetsifikatsioonierinevuste mõistmine. Sageli leidsin samade ID -väärtustega kiipe, kuid erinevaid kirjeldavaid tähti nagu LS ja HC. Mida ma õppisin, oli see, et tegemist ei olnud lihtsalt siltide tootmisega, vaid ka kiipide ajastuse ja võimsuse spetsifikatsioonidega. Õnneks, kuna mu arvuti kasutas üsna madalat taset ja kõrge taluvusega komponente, ei pidanud ma muretsema paljude spetsifikatsioonide sobitamise pärast, kuid kõrgema taseme disaini puhul sain teada, et sellised asjad nagu kella kiirus ja energiatarve on elektroonika edu või ebaõnnestumise jaoks kriitilised disain
2. etapp: tekkinud raskused
Suutsin projektiga üsna kiiresti projekteerida lihtsaid komponente, nagu protsesside sünkroonimise ajakell ja põhiline mäluarhitektuur, kuid vajadus tellida osi raske semestri kõrval raskendas projektile välisaja eraldamist, muutes mind tagasi valmimise ajakava. Pärast esimest suurt tagasilööki osade saabumise nädala ootamisest pidasin kõrvale hilisematest viivitustest, tellides kõik osad, mida arvasin vajavat selle projekti lõpuleviimiseks. See osutus kasulikuks, kuna ma ei avaldanud viivitusi enne selle avaldamist. Olles õppinud ka silumise põhilisi lähenemisviise, hakkasin mõnest kokkupanekust mööda vaatama, mis tähendas vajadust tagasi minna ja oma vigade avastamiseks videoid uuesti vaadata, mis viis tavaliselt suurema osa tahvli lahti võtmiseni. Sellel polnud otseteed. Sain teada, kui väärtuslik on teie edusammude kontrollimine mis tahes elektroonilise seadme ehitamisel. Iga tahvli silumist tehes suutsin neid enesekindlamalt kombineerida, seejärel muutus kombineeritud tahvlite silumine palju lihtsamaks.
3. samm: saavutused ja peegeldus
Kokkuvõttes olen lõpetanud praegu kella, opkoodi- ja programmiloenduri, ALU -ühiku, rs rt- ja rd -registrid ning RAM -i. Lisaks sellele, et mul on selle projekti lõpuleviimiseks vaja bussi ja välisseadmeid lõpule viia, olen õppinud palju arvutiarhitektuuri kohta, mida loodan edasi anda ka oma vanemate kursuste valikainetele, läbides arvuti arhitektuuri kursuse.
M5 pakkus mulle kõiki vajalikke tööriistu oma projekti kallal töötamiseks ja komponendid olid osade seintel väga hästi paigutatud, nii et teadsin väga varakult osi, mis vajasid tellimist ja mis olid asendamatud. Kui mõni teine õpilane peaks selle projekti ette võtma, siis märgin kindlasti, et see projekt võtab palju aega, kui proovite mõista kõike, mis arvutis toimub. SEE EI OLE RASKE, kuid nõuab eduka toimimise korral hoolt. Soovitan tungivalt Ben Eateri youtube'i kanali videote esitusloendist läbi vaadata, et saada ülevaade kõigist osadest, mida peate kasutama, et te ei jääks õigel ajal maha, kui te ei plaani oma lähenemist kujundada. Kuna ma ostsin enamiku osi, kavatsen selle endaga kaasa võtta, et see enda jaoks valmis teha, kuid oleks tore see alla anda, et mõni teine õpilane saaks selle lõpule viia, mis tähendaks valguse kokkupuudet ülejäänud osadega., kuid suur keskendumine koostamiskeelele, millega ma õnneks teiste tundide ajal tegelema sain
Soovitan:
Minimaalne miinimum - Arduino leivaplaadil: 5 sammu
Minimaalne miinimum - Arduino leivaplaadil: Arduino kasutab ATMega328p kiipi. Saame selle SMD-vormingus (ATMega328p-AU) või DIP-vormingus küna aukude jootmiseks (ATMega328p-PU). Kuid kiip iseenesest ei tööta. See vajab veel mõnda komponenti ja seda kõike nimetatakse tühjaks
Pimedusanduri ahel leivaplaadil + LIght -andur LDR -iga: 6 sammu
Pimedusanduri vooluahel leivaplaadil + LIght -detektor koos LDR -iga: Selles õpetuses õpetan teile, kuidas lihtsat valgust ja amp; Pimeduse detektori ahel koos transistoriga & LDR. Seda vooluringi saab kasutada tulede või seadmete automaatseks väljalülitamiseks, lisades väljundisse relee. Samuti saate
PSP kasutamine arvuti juhtkangina ja seejärel arvuti juhtimine PSP abil: 5 sammu (piltidega)
PSP kasutamine arvuti juhtkangina ja seejärel arvuti juhtimine PSP -ga: PSP homebrew abil saate teha palju lahedaid asju ja selles juhendis õpetan teile, kuidas oma PSP -d mängude mängimise juhtkangina kasutada, kuid on ka programm, mis võimaldab kasutada juhtkangi hiirena. Siin on ema
H-sild leivaplaadil: 8 sammu
H-sild leivaplaadil: H-sild on vooluring, mis võib mootorit edasi ja tagasi pöörata. See võib olla väga lihtne vooluahel, mille ehitamiseks on vaja vaid käputäis komponente. Selles juhendis näidatakse, kuidas põhilist H-silda leivatada. Pärast lõpetamist peate
Autonoomne Arduino / ATMega kiip leivaplaadil: 8 sammu (koos piltidega)
Eraldiseisev Arduino / ATMega kiip leivaplaadil: kui olete nagu mina, siis pärast seda, kui sain oma Arduino ja tegin oma esimese kiibiga lõpliku programmeerimise, tahtsin selle Arduino Duemilanove'ilt maha tõmmata ja oma vooluringile panna. See vabastaks ka minu Arduino tulevasteks projektideks. Probleem