INHOUDSOPGAWE:

8-bis-rekenaar op 'n broodbordoorsig: 3 stappe
8-bis-rekenaar op 'n broodbordoorsig: 3 stappe

Video: 8-bis-rekenaar op 'n broodbordoorsig: 3 stappe

Video: 8-bis-rekenaar op 'n broodbordoorsig: 3 stappe
Video: Hoe repareer je een kapotte versnellingsbak van een accuboormachine met je eigen handen? 2024, Desember
Anonim
8-bis-rekenaar op 'n broodbordoorsig
8-bis-rekenaar op 'n broodbordoorsig

My doel met hierdie projek was om 'n beter begrip van rekenaarargitektuur, hardeware -ontwerp en monteervlak -tale op te bou. As junior in die universiteit wat rekenaaringenieurswese studeer, het ek onlangs kursusse oor elektronika voltooi, laboratoriums waarin ek kennis gemaak het met monteringstaal en hardeware -argitektuur. Toe ek 'n inleiding tot hierdie onderwerpe ontvang het, wou ek my begrip van die fynere besonderhede in al drie kursusse vergroot, en watter beter manier is om te leer as om aan 'n projek te werk?

My oorspronklike bedoeling was om hierdie 8-bis-rekenaar volledig te monteer met behulp van die lesingsvideo's op Ben Eater se youtube-kanaal, wat die ontwerpproses fantasties verdeel het in 'n soliede mengsel van materiaal wat ek behandel het en aspekte wat ek nog nie moes doen nie leer. Aangesien ek reeds 'n basiese begrip van kombinatoriese ontwerp en basiese elektroniese logika gehad het, wou ek myself uitdaag deur dele van die rekenaar te ontwerp en te bou na die ontwerpoorsigte, maar sonder om na die bouinstruksies te kyk. Gedurende die hele projek was dit my doel om meer te leer en my begrip te verbeter as om net iets nuuts te bou; daarom het ek tydens elke stap van die projek 'n bietjie gelees uit aanlynartikels en forums oor die komponentargitektuur en basiese konvensies wat vir elke van hulle.

Stap 1: Navorsing onderweg

Navorsing langs die pad
Navorsing langs die pad
Navorsing langs die pad
Navorsing langs die pad

Hierdie projek het my regtig meer gelees as wat ek verwag het. Een van my belangrikste benaderings tot elke komponent was om 'n oorsig van 'n aanlynforum of -artikel te lees, na die lesings uit Eater se video's te kyk en te probeer om my eie deel te ontwerp voordat ek dit bou, toets en dit meestal vir 'n meer begeleide benadering vanaf Eater se kanaal. 'N Voorbeeld hiervan was toe ek die ALU -komponent van die rekenaar bou. Terwyl ek na die ontwerpvideo's kyk, lees ek artikels oor chipkomponente met 'n hoër funksionaliteit en veroorsaak insette wat dit moontlik maak om instruksies oor te skakel en om insette intern in die komplement van 2 in te skakel. Voordat ek hierdie maklik gemaakte skyfies gekoop het, het ek egter die ontwerpbenadering nagegaan waaroor Ben Eater in sy video's gepraat het, met die vermenging van byvoegers en XOR-logiese hekke om die funksionaliteit van die ALU-module te verhoog sonder om skyfies met hoër koste te benodig. Dit het my waardeer die gebruik van diskrete logika en die toepaslikheid daarvan op rekenaarontwerp, en ek het geleer van verskillende benaderings tot die bou van komponente. Deur skyfies op laer vlak op die broodbord te kombineer, het ek ook geleer van 'n paar belangrike argitektoniese eienskappe wat in die ALU gebruik word, wat my begrip van hierdie uitvoeringskomponent op die rekenaar verhoog het.

'N Ander belangrike komponent waaroor ek geleer het, was die gebruik van ontvangers, ook bekend as buffers. Voordat ek dieper ingegaan het op die projek, het ek gedink dat ek eenvoudig verskillende komponente sou aktiveer en deaktiveer met behulp van beheerseine, maar het vinnig in artikels gevind dat buffers gebruik moes word om hierdie Von-Neuman-styl-argitektuur behoorlik te laat funksioneer. Omdat die rekenaar 'n gedeelde bus gebruik om data tussen die verskillende modules op die rekenaar te vervoer, is die sinchronisasie van siklusse deur die klok bepaal. Maar toe ek stoor en vragte kon plaasvind sonder om die data wat op die bus beskikbaar was, te belemmer, het ek gevind dat transceivers noodsaaklik is om as hekke op te tree, wat 'n insetsignaal vereis om data betyds op die bus te laat vloei. Die leesvermoë was nie so moeilik om te verstaan nie, aangesien die drade altyd die waardes op die bus sou hou, maar die gebruik van die korrekte waarde beteken dat die registers die nuwe waarde kon behou.

'N Laaste wegneem van navorsing tydens hierdie projek was om die spesifikasieverskille tussen dieselfde skyfies te verstaan. Dikwels het ek skyfies met dieselfde ID -waardes gevind, maar verskillende beskrywingsbriewe soos LS en HC. Wat ek geleer het, was dat dit nie net etikette vervaardig nie, maar ook tydsberekening en kragspesifikasies oor die skyfies. Gelukkig, omdat my rekenaar redelik lae komponente met 'n hoë toleransie gebruik het, hoef ek nie bekommerd te wees oor die ooreenstemming met baie spesifikasies nie, maar op hoër ontwerp het ek geleer dat dinge soos kloksnelheid en kragopname van kritieke belang is vir die sukses of mislukking van elektroniese ontwerp

Stap 2: Probleme ondervind

Redelik vinnig in die projek kon ek eenvoudige komponente ontwerp, soos die tydklok vir die sinchronisasie van prosesse en basiese geheue -argitektuur, maar om dele langs 'n swaar kursus semester te bestel, het dit moeilik gemaak om tyd buite aan die projek toe te ken, wat my weer in staat gestel het skedule vir voltooiing. Na my eerste groot terugslag omdat ek 'n week moes wag vir onderdele om te kom, het ek verdere vertragings omseil deur al die dele te bestel wat ek gedink het ek nodig sou hê om hierdie projek te voltooi, wat nuttig geblyk het, aangesien ek nie langer vertragings ondervind het totdat ek dit gepubliseer het nie. Nadat ek ook 'n paar basiese benaderings tot ontfouting geleer het, het ek die een of ander samestelling geïgnoreer, wat beteken dat ek moes teruggaan en na video's kyk om my foute op te spoor, wat gewoonlik gelei het tot die verwydering van die meeste van die bord. Dit het geen kortpad gehad nie. Ek het die waarde daarvan geleer om u vordering met die bou van enige elektroniese toestel na te gaan. Deur elke bord langs die pad te ontfout, kon ek dit met meer selfvertroue kombineer, en dan word die ontfouting van gekombineerde borde baie makliker.

Stap 3: Prestasies en besinning

Al met al het ek tans die horlosie, opcode en programteller, ALU -eenheid, rs rt en rd registers en die RAM voltooi. Behalwe dat ek die bus en randapparatuur moes voltooi om hierdie projek te voltooi, het ek baie geleer oor rekenaarargitektuur, wat ek hoop om na my keusevakke vir die senior jaar te gaan, terwyl ek die rekenaarargitektuurkursus volg.

M5 voorsien al die nodige gereedskap om aan my projek te werk, en komponente was baie goed langs die mure van die onderdele uiteengesit, so ek het baie vroeg geweet watter dele bestel moet word en wat nie beskikbaar is nie. As 'n ander student hierdie projek sou onderneem, sou ek beslis daarop let dat hierdie projek baie tyd in beslag neem as u alles wat op die rekenaar aangaan probeer verstaan. DIT IS NIE MOEILIK NIE, maar dit verg wel sorg as u wil hê dit moet suksesvol funksioneer. Ek beveel sterk aan dat u deur die videosnitlys op die YouTube -kanaal van Ben Eater gaan om alle dele wat u moet gebruik, te begryp, sodat u nie betyds agter raak as u nie u eie benadering wil ontwerp nie. Aangesien ek die meeste onderdele gekoop het, is ek van plan dit op my eie tyd saam te neem, maar dit sal gaaf wees om dit af te lê sodat 'n ander student dit kan voltooi, wat blootstelling aan die ontwerp van die oorblywende dele sou beteken, maar 'n groot fokus op monteringstaal, waaraan ek gelukkig tydens ander klasse kon werk

Aanbeveel: