Sisällysluettelo:
Video: 8-bittinen tietokone leipätaululla Yleiskatsaus: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Tavoitteeni tässä projektissa oli parantaa ymmärrystä tietokoneen arkkitehtuurista, laitteistosuunnittelusta ja kokoonpanotason kielistä. Koska olin yliopiston nuorempi opiskelija tietotekniikkaa, olin äskettäin suorittanut elektroniikan kursseja, laboratorioita, jotka esittivät minulle kokoonpanokielen ja laitteistoarkkitehtuurin. Saavutessani johdannon näihin aiheisiin halusin lisätä ymmärrystäni kaikkien kolmen kurssin hienoimmista yksityiskohdista, ja mikä olisikaan parempi tapa oppia kuin työskennellä projektissa?
Alkuperäinen aikomukseni oli koota tämä 8-bittinen tietokone kokonaan käyttämällä Ben Eaterin youtube-kanavalla olevia luentovideoita, jotka tekevät loistavaa työtä suunnitteluprosessin hajottamisesta kiinteäksi materiaaliksi, jonka olen käsitellyt ja joita minulla ei ole vielä ollut oppia. Koska minulla oli jo perustiedot yhdistelmäsuunnittelusta ja elektroniikan peruslogiikasta, halusin haastaa itseni yrittämällä suunnitella ja rakentaa tietokoneen osia suunnittelun katsausten jälkeen, mutta katsomatta rakennusohjeita. Koko projektini ajan tavoitteena oli oppia ja parantaa ymmärrystäni enemmän kuin vain rakentaa jotain uutta, joten luin jokaisen projektin vaiheen aikana hieman verkkoartikkeleista ja foorumeista, jotka koskivat komponenttien arkkitehtuuria ja peruskäytäntöjä niistä.
Vaihe 1: Tutkimus matkan varrella
Tämä projekti sai minut lukemaan paljon enemmän kuin odotin. Yksi tärkeimmistä lähestymistavoistani jokaiseen komponenttiin oli lukea yleiskatsaus online -foorumilta tai artikkelista, katsella luentoja Eaterin videoista ja yrittää suunnitella oma osani ennen rakentamista, testaamista ja suurimman osan ajasta sen romuttamista. enemmän ohjattua lähestymistapaa Eaterin kanavalta. Esimerkki tästä oli, kun rakensin tietokoneen ALU -osaa. Suunnitteluvideoita katsellessani luin artikkeleita sirukomponenteista, jotka olivat korkeammalla toiminnallisuudella ja laukaisivat tuloja, jotka mahdollistaisivat ohjaustyyppien vaihtamisen ja tulojen kääntämisen 2: n komplementiksi sisäisesti. Ennen kuin ostin nämä helpommin valmistettavat pelimerkit, tarkastelin kuitenkin suunnittelumenetelmää, josta Ben Eater puhui videoissaan sekoittamalla lisäyksiä ja XOR-logiikkaportteja ALU-moduulin toimivuuden lisäämiseksi ilman korkeampia kustannuspiirejä. Tämä sai minut arvostamaan diskreetin logiikan käyttöä ja sen soveltuvuutta tietokonesuunnitteluun ja oppimaan erilaisia lähestymistapoja rakennuskomponenttien rakentamiseen. Yhdistämällä alemman tason pelimerkkejä leipälevylle opin myös joitain ALU: ssa käytettyjä tärkeitä arkkitehtonisia piirteitä, mikä lisäsi ymmärrystäni tästä suorituskomponentista PC: llä.
Toinen keskeinen osa, josta opin, oli lähetin -vastaanottimien, joita kutsutaan myös puskureiksi, käyttö. Ennen kuin menin syvemmälle projektiin, ajattelin yksinkertaisesti aktivoida ja deaktivoida eri komponentteja ohjaussignaalien avulla, mutta löysin nopeasti artikkeleista, että puskureita on käytettävä, jotta tämä Von-Neuman-tyylinen arkkitehtuuri toimisi oikein. Koska tietokone käyttää jaettua väylää datan siirtämiseen tietokoneen eri moduulien välillä, syklien synkronointi määräsi kellon. Kuitenkin sallien varastoinnin ja kuormitusten tapahtuvan häiritsemättä väylän tietoja, huomasin, että lähetin -vastaanottimet olivat elintärkeitä toimimaan portteina, mikä edellytti aktivointisignaalia, jotta tiedot voivat virrata väylään oikea -aikaisesti. lukutaitoa ei ollut niin vaikea ymmärtää, koska johdot pitivät aina väylän arvot, mutta oikean arvon käyttö tarkoitti sitä, että rekisterit pystyivät pitämään uuden arvon.
Viimeinen poiminta tämän projektin tutkimuksesta oli samanlaisten sirujen spesifikaatioerojen ymmärtäminen. Usein löysin siruja, joilla on samat ID -arvot, mutta eri kuvaajat, kuten LS ja HC. Opin oppimaan, että kyse ei ollut pelkästään tarrojen valmistuksesta, vaan myös sirujen ajoituksesta ja tehosta. Onneksi koska tietokoneeni käytti melko alhaisia, korkean toleranssin komponentteja, minun ei tarvinnut huolehtia monien teknisten tietojen yhteensopivuudesta, mutta korkeamman tason suunnittelussa opin, että esimerkiksi kellonopeus ja virrankulutus ovat kriittisiä sähköisen design
Vaihe 2: Ongelmia
Melko nopeasti osaan projektia pystyin suunnittelemaan yksinkertaisia komponentteja, kuten ajoituskellon prosessien synkronoimiseksi ja perusmuistiarkkitehtuurin, mutta koska tarvitsin tilata osia raskaan kurssikauden rinnalla, oli vaikeaa varata aikaa projektille, mikä sai minut takaisin aikataulu valmistumiseen. Ensimmäisen suuren vastoinkäymiseni jälkeen, kun tarvitsin odottaa viikon osien saapumista, päädyin kiertämään lisäviivästyksiä tilaamalla kaikki osat, joiden luulin tarvitsevani tämän projektin loppuun saattamiseksi, mikä osoittautui hyödylliseksi, koska en enää kohdannut viivästyksiä ennen tämän julkaisemista. Opittuani myös joitain peruslähestymistapoja virheenkorjaukseen, aloin jättää huomiotta jonkin kokoonpanon, mikä tarkoitti sitä, että minun oli palattava ja katsottava videoita uudelleen saadakseni virheeni, mikä yleensä johti suurimman osan levyn purkamiseen. Tällä ei ollut pikakuvaketta. Opin arvon tarkistamalla edistymisesi minkä tahansa elektronisen laitteen rakentamisessa. Vianmäärityksellä jokaista levyä matkan varrella pystyin siirtymään yhdistämään ne luottavaisemmin, minkä jälkeen yhdistettyjen levyjen virheenkorjaus tuli paljon helpommaksi.
Vaihe 3: Saavutuksia ja pohdintaa
Kaiken kaikkiaan olen tällä hetkellä suorittanut kellon, opcode- ja ohjelmalaskurin, ALU -yksikön, rs rt- ja rd -rekisterit sekä RAM -muistin. Sen lisäksi, että tarvitsen väylän ja oheislaitteiden suorittamisen tämän projektin loppuun saattamiseksi, olen oppinut huomattavan paljon tietokonearkkitehtuurista, jota toivon voivani jatkaa lukuvuoden valinnaisiksi suorittamalla tietokonearkkitehtuurin kurssin.
M5 tarjosi kaikki tarvittavat työkalut, jotta voisin työskennellä projektini parissa, ja komponentit oli sijoitettu hyvin osien seinämiä pitkin, joten tiesin hyvin varhain osat, jotka tarvitsivat tilaamista ja mitä ei tarvita. Jos toinen oppilas ottaisi tämän projektin vastaan, huomauttaisin ehdottomasti, että tämä projekti vie paljon aikaa, jos yrität ymmärtää kaikkea tietokoneella tapahtuvaa. Se ei ole vaikeaa, mutta vaatii hoitoa, jos haluat sen toimivan onnistuneesti. Suosittelen lämpimästi käymään läpi Ben Eaterin YouTube -kanavan videosoittolistan saadaksesi käsityksen kaikista osista, joita sinun on käytettävä, jotta et jää jälkeen ajoissa, jos et aio suunnitella omaa lähestymistapaasi. Koska olen ostanut suurimman osan osista, aion ottaa tämän mukanani valmiiksi omalla ajallani, mutta olisi hienoa antaa tämä alas, jotta toinen oppilas voi suorittaa sen loppuun, mikä merkitsisi valolle altistumista muiden osien suunnittelulle, mutta keskityin paljon kokoonpanokieleen, jota onneksi sain käsitellä muiden luokkien aikana
Suositeltava:
Kuinka muuttaa vanha/vaurioitunut tietokone tai kannettava tietokone medialaatikoksi: 9 vaihetta
Kuinka muuttaa vanha/vaurioitunut tietokone tai kannettava tietokone medialaatikoksi: Maailmassa, jossa tekniikka kehittyy nopeammin kuin me, rakastettu elektroniikkamme vanhenee liian nopeasti. Ehkä rakkaimmat kissasi löivät kannettavan tietokoneen pöydältä ja näyttö rikkoutui. Tai ehkä haluat medialaatikon älytelevisiolle
KS-Garden: Yleiskatsaus: 9 vaihetta
KS-Garden: Yleiskatsaus: KS-Gardenilla voidaan kastella/tuulettaa/valaista puutarhasi/kasvihuoneesi kasveja takapihalla tai sisätiloissa kasvavia laatikkokasveja (modulaarinen rakenne) KS-Garden-järjestelmä koostuu pääasiassa seuraavista moduuleista: järjestelmälaatikko - Relais ja virtalähdelaatikko
Transistoriohjattu moottori kauko -ohjaimella; Piirin yleiskatsaus: 9 vaihetta
Transistoriohjattu moottori kauko -ohjaimella; Piirin yleiskatsaus: Tämä piiri on transistoriohjattu moottori, jossa on kauko -ohjain Kaukosäädin kytkee virran päälle Transistori kytkee moottorin päälle Ohjelman koodi lisää moottorin nopeutta ja pienennä sitten moottorin nopeutta nollaan
Piirilevyjen suunnittelu ja etsaus Yleiskatsaus: 5 vaihetta
Yleiskatsaus piirilevyjen suunnitteluun ja etsaukseen: Piirilevyjen suunnitteluun ja syövytykseen on useita tapoja yksinkertaisimmista monimutkaisimpiin. Samaan aikaan on helppo hämmentyä siitä, kumpi valita, mikä sopii parhaiten tarpeisiisi. Selventääksesi joitakin kysymyksiä, kuten
H -sillan (293D) käyttäminen 2 -vaihteisella Hobby Motors -autolla Ans Arduino; piirin yleiskatsaus: 9 vaihetta
H -sillan (293D) käyttäminen 2 -vaihteisella Hobby Motors -moottorilla Ans Arduino; piirin yleiskatsaus: H -silta 293D on integroitu piiri, joka pystyy käyttämään kahta moottoria. voi käyttää kahta moottoria kaksisuuntaisesti (eteen- ja taaksepäin) koodilla