Sisällysluettelo:

8-bittinen tietokone leipätaululla Yleiskatsaus: 3 vaihetta
8-bittinen tietokone leipätaululla Yleiskatsaus: 3 vaihetta

Video: 8-bittinen tietokone leipätaululla Yleiskatsaus: 3 vaihetta

Video: 8-bittinen tietokone leipätaululla Yleiskatsaus: 3 vaihetta
Video: Gigatron: компьютер без процессора 2024, Joulukuu
Anonim
Yleiskatsaus 8-bittiseen tietokoneeseen leipätaululla
Yleiskatsaus 8-bittiseen tietokoneeseen leipätaululla

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

Tutkimus matkan varrella
Tutkimus matkan varrella
Tutkimus matkan varrella
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: