Circuits

Com construir un ordinador de 8 bits: 18 passos (amb imatges)

CONSTRUA UM COMPUTADOR DE 8 BITS | 8-bit Computer #00

CONSTRUA UM COMPUTADOR DE 8 BITS | 8-bit Computer #00

Taula de continguts:

Anonim

Construir una computadora TTL de 8 bits sona com una tasca difícil i complicada, o almenys em va fer quan vaig començar el meu viatge a entendre l'arquitectura d'una CPU bàsica. Quan es tracta d’un mateix, una CPU és bastant senzilla en operar una vegada que s’ensenyin els fonaments de tots els seus processos. Aquest projecte pretén ajudar a qualsevol persona interessada a construir el seu propi ordinador ia obtenir el meravellós coneixement que arriba amb el procés. No tingueu por de provar, només podeu aprendre.
Aquest projecte començarà descrivint els fonaments de l’electrònica. Després es descriuran els fonaments de la lògica binària i booleana. Finalment, passem a la funció de les diferents parts d’una computadora senzilla (amb algunes modificacions), tal com es descriu al text de Malvino Electrònica digital de computació . Això vol dir que el producte final d’aquesta Instructable serà un equip que podeu programar amb un conjunt d’instruccions únic. Aquest projecte també us deixa molts aspectes del disseny de l’ordinador i us serveix de guia per construir el vostre propi equip. Això és perquè hi ha moltes maneres d’abordar aquest projecte. Si ja teniu una bona comprensió de la lògica booleana i el funcionament del binari, no dubteu a saltar-vos a la carn del projecte. Espero que tots gaudiu i obtingueu alguna cosa d’una construcció com aquesta, ja sé que sí.
Per a aquest projecte necessitareu:
1.) Una font d'alimentació
2.) Taulers + molts cables
3.) LED per a sortida
4.) Diverses IC de lògica (discutides més endavant)
5.) Temps lliure
6.) Voluntat de confondre's i aprendre dels errors
7.) Molta paciència
Opcional (però molt útil):
1.) Oscil·loscopi
2.) Multímetre digital
3.) Programador EEPROM
4.) Tornavís sònic
Enllaços útils per a un projecte com aquest:
Electrònica digital informàtica:
http://www.amazon.com/Digital-computer-electronics-Albert-Malvino/dp/007039861
TTL Cookbook: http://www.amazon.com/TTL-Cookbook-Integració-Transistor-Transistor-Integrated/dp/B0049UUV38

Subministraments:

Pas 1: Què és un ordinador?

Això pot semblar una pregunta molt simplista que no necessita respondre quan, de fet, és una pregunta que moltes persones no coneixen la veritable resposta. Els ordinadors han existit molt més temps que el transistor de forma mecànica i teòrica. La definició real d’un ordinador va ser pensada per un individu molt intel·ligent amb el nom d’Alan Turing. Va descriure una màquina anomenada Màquina de Turing. Tots els equips que utilitzem avui, des de l’ordinador o el telèfon mòbil que esteu llegint fins a supercomputadors, es poden classificar com a màquina de Turing al seu nivell més senzill.
Què és una màquina de Turing? Una màquina de Turing consta de 4 parts: la cinta, el cap, la taula i el registre estatal. Per visualitzar el funcionament d’aquesta màquina, primer heu d’imaginar una tira de pel·lícula que s’envolta infinitament en cada sentit. Ara imagineu que cada cel·la d’aquesta pel·lícula només pot contenir un conjunt de símbols definits (com un alfabet). Per a aquest exemple, imaginem que cada cel·la només pot contenir un "0" o un "1". Aquestes cel·les es poden tornar a escriure amb una quantitat infinita de temps, però conserven la seva informació de manera indefinida fins que es tornin a canviar. La part de la màquina de Turing coneguda com el capçal pot escriure símbols a les cel·les, així com incrementar o disminuir la seva posició a la tira de pel·lícula per un nombre enter (nombre complet) de cèl·lules. La següent part és la taula que conté un conjunt d’instruccions per executar el cap, com ara "moure 4 cel·les a la dreta" i "establir cel·la a 1". La quarta i última part d’una màquina de Turing és el registre d’estat que té per objecte mantenir l’estat actual de la màquina. L’estat inclou la instrucció i les dades actuals de la cinta.
Així és com és senzill el funcionament d’una computadora. Quan el vostre ordinador funciona, en realitat funciona com una màquina de turing. Processa les dades que es conserven a l’ordinador mitjançant un conjunt d’ordres i instruccions. L'ordinador descrit en aquest manual és un model molt simplista d'una computadora, però continua funcionant com un programa que podeu programar amb un conjunt d'instruccions que seguirà i executarà.
Links útils:
Wikipedia sobre les màquines de Turing:
http://en.wikipedia.org/wiki/Turing_machine

Pas 2: Introducció a l'electrònica

Abans de construir un ordinador de 8 bits, és extremadament útil comprendre les propietats elementals de l'electricitat i els circuits analògics. Hi ha parts a l’ordinador que construireu necessiten components analògics. Hi ha moltes guies d’autoaprenentatge d’electrònica disponibles per a un cost mínim que proporcionen un curs d’error en enginyeria elèctrica. Jo personalment he trobat Guia d'ensenyament autònom sobre electrònica de Harry Kybet i Earl Boysen per ser un llibre meravellós per abordar el món de l'electrònica analògica.
Guia d'ensenyament autònom sobre electrònica : http://www.amazon.com/Electronics-Self-Teaching-Guide-Teaching-Guides/dp/0470289619/
Components comuns:
Resistor - Límits de corrent, mesurats en ohms.
Capacitador: la càrrega de les botigues pot ser polar o no polar (el que significa que s'ha de col·locar en la direcció correcta per treballar). Mesurat en farads.
Díode: només permet que el corrent circuli en una direcció, es descompon a una determinada tensió quan es posa en la direcció equivocada.
Transistor: una porta actual que és controlada per un tercer pin que actua com a mediador. Hi ha molts tipus de transistors, però aquí parlarem del BJT (transistor de connexió bipolar) que es presenta en dos tipus: NPN i PNP.

El corrent, la tensió i la resistència van de la mà en un circuit. La relació entre els tres pot expressar-se amb la llei d'Ohm: V = IR. En altres paraules, el voltatge és igual al corrent en amperis multiplicat per la resistència en ohms. La llei d'Ohm és una de les fórmules més importants de l'electrònica i val la pena conèixer-ne la part superior.
Per aplicar la llei d'Ohm, cal conèixer la resistència d'un circuit. Per trobar el valor d’una resistència s’ha d’utilitzar el seu codi de color. El codi de color de la resistència es basa en l'espectre visible i es pot memoritzar en moltes modes diferents. Per a aquells que no tinguin ganes de memoritzar-lo, hi ha una gran quantitat d'eines que us ajudaran a trobar el valor correcte de la vostra resistència. Per calcular la resistència total en un circuit es necessiten dues fórmules per a dues configuracions diferents de resistències: sèrie i paral·lel. En sèrie, una resistència segueix a l'altra, mentre que en paral·lel treballen juntes. En sèrie, la fórmula és molt senzilla:
Resistències en sèrie: R (total) = R (1) + R (2) +. . . + R (N)
És a dir, només cal sumar els valors de les resistències.
Resistències en paral·lel: R (total) = 1 / {1 / R (1) + 1 / R (2) +. . . + 1 / R (N)}
Una bona eina per trobar resistència a partir del codi de color: http://www.csgnetwork.com/resistcolcalc.html
És més fàcil entendre la fórmula de les resistències en paral·lel si pensem que les resistències treballen junts com dues persones que treballen junts en un projecte. La mateixa fórmula s’utilitza per a problemes de paraules en els quals se li dóna la velocitat a la qual operen dues persones i heu d’observar la rapidesa amb què es completarà el seu projecte si el treball s’ajusta.
Per trobar la quantitat de corrent que s’ofereix a un determinat component amb un valor de resistència donat, simplement connecteu els valors de resistència i tensió a la llei d’Ohm i resoldreu per a I. Per exemple:
Una llum es troba en un circuit i dues resistències de 1K (mil ohms) es col·loquen al davant en paral·lel. Amb una font d'alimentació de 9 volts, la quantitat de corrent subministrada a la llum?
1.) Calculeu R (total):
R (total) = 1 / (1/1000 + 1/1000) = 1 / (2/1000) = 1000/2 = 500 ohms
2.) Calculeu el corrent utilitzant la llei d'Ohm:
9 = I * 500
I = 9/500 = .018 A = 18 mA (miliamperis)
També podeu organitzar resistències en un circuit per regular la tensió. Es diu divisor de tensió i inclou dues resistències en sèrie. La sortida de tensió de les dues resistències és a la seva unió. Per obtenir una millor idea, mireu la imatge que he adjuntat. En aquesta disposició la fórmula de sortida de voltatge és:
V (fora) = V (font) * R (2) / {R (1) + R (2)}
Els condensadors seran útils a l’ordinador amb la construcció del rellotge. El rellotge és simplement un circuit que s'encén i es desactiva a un ritme constant. Igual que les resistències, els condensadors tenen dues fórmules per trobar el valor total tant de configuracions en sèrie com en paral·lel.
Sèrie: C (total) = 1 / {1 / C (1) + 1 / C (2) +. . . + 1 / C (N)}
Paral·lel: C (total) = C (1) + C (2) +. . . + C (N)

La velocitat amb què es carrega un condensador depèn de la resistència del circuit abans (o després de si ho descarregueu) del condensador, així com de la seva capacitat. La càrrega d'un condensador es mesura en constants de temps. Es necessiten 5 constants de temps per carregar o descarregar completament un condensador. La fórmula per trobar la constant de temps d'un condensador en segons és:
T (constant) = Resistència * Capacitat
Els diodes són simples en operació i són útils per a la construcció d’una computadora TTL. Només permeten que el corrent circuli en una direcció. Quan es col·loquen en la direcció correcta, són el que s'anomena esbiaixada cap endavant. Quan s'inverteixen es descomponen en una determinada tensió. Quan un díode està treballant en contra de l'actual, és esbiaixat inversament.
Un transistor funciona com una vàlvula que funciona pel corrent. Un BJT té tres pins: el col·lector, l'emissor i la base. Per motius de senzillesa en aquest pas descriuré un transistor NPN en el qual el corrent flueix des del col·lector cap a l’emissor. El corrent aplicat a la base controla la quantitat de corrent que circula del col·lector a l'emissor. Els transistors són ideals per a moltes aplicacions a causa de la seva capacitat per amplificar un senyal. Això es deu al fet que l’actual corrent aplicat a la base del transistor pot ser considerablement inferior al controlat actual. Aquest guany en corrent es denomina el guany actual del transistor, o beta. La fórmula de beta és:
Beta = corrent (col·lector) / actual (base)
Quan un transistor està completament encès, es diu que està saturat. Un transistor booleà és un estat saturat o desactivat i mai entre els dos. Aquest és el tipus de transistor que es tractarà principalment en electrònica digital. Els transistors formen les portes lògiques necessàries per a que un ordinador funcioni. Aquests es descriuran més endavant.
Links útils:
http://en.wikipedia.org/wiki/Resistor
http://en.wikipedia.org/wiki/Capacitor
http://en.wikipedia.org/wiki/Diode
http://en.wikipedia.org/wiki/Transistor

Pas 3: Nombres binaris

Avui estem acostumats a un sistema de numeració mundial basat en el número deu. Vull dir que no tenim cap nombre al nostre sistema numèric que valgui el valor de deu i, per tant, el nostre sistema de xifres és base deu.
Penseu en el nostre sistema numèric com un odòmetre. Un odòmetre compta des del dígit més baix fins al dígit més alt i després obliga el següent rotor a avançar en un lloc. Per exemple:
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
1 0 <- Aneu al següent dígit
El binari és base dos, el que significa que només té dos nombres i no té un número per a 2. El binari només té els números 0 i 1 o "apagat" i "encès". Per comptar en binari només cal aplicar la tècnica de l’odòmetre:
0001b - 1
0010b - 2
0011b - 3
0100b - 4
0101b - 5
0110b - 6
0111b - 7
1000b - 8
etc. . .
Hi ha un altre factor del nostre sistema numèric que el fa base deu; a mesura que avancem més en dígits, el pes de les xifres augmenta amb una potència de deu. Per exemple 1 = 10 ^ 0, 10 = 10 ^ 1, 100 = 10 ^ 2, etc. . . A les binàries, les coses, per descomptat, són de base dues i, per tant, cada número successiu és un altre poder de dos. 1b = 1 = 2 ^ 0, 10b = 2 = 2 ^ 1, 100b = 4 = 2 ^ 2, etc. . .
Per convertir un nombre decimal en binari hi ha un truc simple que es coneix com a doble marc que fa que el procés sigui molt més fàcil:
Diguem que volem convertir 13 a un nombre binari, començem a dividir 13 per dos i escriure la resta. A continuació, directament a sobre, escriviu el número resultant sense la resta (6 en aquest cas) i dividiu-lo per dos i escriviu la resta per sobre de l'anterior. Continuareu aquest procés fins que arribeu a un 1 o un 0. Al final, heu llegit des de dalt cap avall per obtenir el resultat.
1/2 = 0 R1 <Llegir de dalt a baix. El resultat és 1101 o 2 ^ 0 + 0 + 2 ^ 2 + 2 ^ 3 = 1 + 0 + 4 + 8 = 13. Això s'anomena paraula binària.
3/2 = 1 R1 <
6/2 = 3 R0 <
13/2 = 6 R1 <
El hexadecimal s'utilitza molt sovint amb el binari. El hexadecimal és la base 16 i conté els números 0-9 i a-f. S'utilitza un nombre hexadecimal per descriure un fragment o quatre bits de dades. Un bit és un únic 1 o 0 de binari. Un mossega pot comptar de 0 a 15 (de 0000 a 1111) abans que el següent bit estigui en el següent. Dos nibbles junts són un byte o 8 bits. Atès que el primer nombre és 2 ^ 0, l’últim nombre es pesa 2 ^ 7. Per tant, un byte pot estar en qualsevol punt del rang de 0 a 255. Per expressar el byte 00101110 (46 en decimal) en hexadecimal, primer separareu els dos nibbles de 0010 i 1110. El primer nibble té un valor de 2 i el segon un té un valor de E (o 14 en decimal). Per tant, el byte 00101110 en hexadecimal seria 2E.
Links útils:
http://en.wikipedia.org/wiki/Binary_numeral_system
http://en.wikipedia.org/wiki/Hexadecimal

Pas 4: Portes lògiques

Un ordinador consisteix en milers de portes lògiques disposades per dur a terme determinades funcions. Una porta lògica és un component de l'electrònica digital la producció depèn de l'estat de les seves entrades. La majoria de portes lògiques tenen dues entrades i una sortida. Es pot pensar en portes lògiques com a responsables de la decisió de l'electrònica digital. Les sis portes lògiques principals utilitzades en electrònica digital són:
AND Gate: La sortida és alta quan totes les seves entrades són elevades.
OR Porta: la sortida és alta quan qualsevol de les seves entrades és alta.
NOT Gate: només té una entrada. La sortida és alta quan la seva entrada és baixa.
Porta NAND: la sortida és alta llevat que totes les seves entrades siguin altes.
Porta NOR: la sortida és alta quan cap de les seves entrades és alta.
Porta XOR: la sortida és alta quan un nombre senar d’entrada és elevat.

Tri-State Buffer: un buffer controlat per un tercer senyal lògic.
És important esmentar ara la diferència entre un senyal "1" elevat i una senyal "0" baixa. Un senyal alt pot ser una connexió amb tensió positiva o pot ser una entrada flotant. Una entrada flotant és una que no està connectada a cap sortida. Un exemple d’entrada flotant seria un que no estigui connectat gens o que estigui connectat a la sortida d’una memòria intermèdia de tres estats que no estigui activada. Hi ha un senyal baix quan hi ha una entrada a terra.
Les portes lògiques es poden alimentar entre si per produir gairebé qualsevol funció imaginable. Per exemple, es poden alimentar entre si dues portes NOR per emmagatzemar un bit de dades en un pestell RS_NOR mentre es subministra energia al circuit.

Pas 5: Comptatge binari (el comptador del programa)

Una de les parts més essencials per a un ordinador és el seu comptador de programes. El comptador de programes proporciona l’ordinador amb l’adreça actual de la instrucció a executar. Perquè el comptador del programa funcioni, ha de comptar en binari. Per fer-ho, s’utilitzen xancles de JK. Un flip-flop és una disposició de portes lògiques que emmagatzema un bit (com el pestell RS_NOR descrit al pas de portes lògiques). Un flip-flop JK canvia el seu estat quan la seva entrada de pols de rellotge es fa alta i baixa de nou (les seves entrades J i K també han de ser altes). En altres paraules, sempre que un flip-flop JK aconsegueixi la vora caient del pols del rellotge, el seu estat canvia de "0" a "1" o de "1" a "0".
Si connecteu la sortida d’un flip JK a un altre i en cascada el resultat és un comptador binari que actua com un odòmetre. Això és degut a que a mesura que el primer flip-flop JK a la seqüència és alt i, a continuació, baix, es desencadena la següent en la seqüència. La freqüència del rellotge (quantes vegades s'encén i es desactiva un segon) es redueix a la meitat amb cada addició successiva d'un flip JK. Per això, un flip-flop JK també s'anomena circuit de divisió per dos. El patró resultant de quatre xanques JK serà 0000, 0001, 0010, 0011, 0100, etc. . .
No obstant això, per a l'ordinador senzill que es pot descriure en aquest manual, hi ha algunes funcions que necessiteu per fer que l'ordinador funcioni. Perquè l’ordinador pugui reiniciar el programa necessita la possibilitat de netejar o establir totes les seves sortides a zero. El comptador del programa també necessita la possibilitat de carregar una paraula binària per al codi JMP op que permet a l'ordinador saltar a una determinada instrucció. Les portes lògiques s’utilitzen per assolir aquest objectiu. Afortunadament per a nosaltres els comptadors binaris vénen en fitxes adequades amb totes les funcions que necessiteu.

Pas 6: registres

Registres:

Pot ser que els registres siguin la part més important d’una computadora. Un registre emmagatzema temporalment un valor durant l’operació d’un ordinador. L'ordinador de 8 bits que es descriu en aquesta instrucció té dos registres adjunts a la seva ALU, un registre per emmagatzemar la instrucció actual i un registre per a la sortida de l'ordinador.

Segons el xip, un registre tindrà 2 o 3 agulles de control. Els registres que utilitzarem tenen dos pins de control: habilitar la sortida i habilitar l’entrada (tots dos actius quan són baixos). Quan el pin de sortida de connexió està connectat a terra, la paraula binària actualment emmagatzemada s’envia a través dels pins de sortida. Quan el pin d'entrada està connectat a terra, la paraula binària present als pins d'entrada es carrega al registre.

Un exemple d’ús d’un registre en un ordinador és l’acumulador de l’ALU (unitat lògica aritmètica que realitza operacions matemàtiques). L’acumulador és com el bloc de notes de l’ordinador que emmagatzema la sortida de l’ALU. L’acumulador també és la primera entrada per l’ALU. El registre B és la segona entrada. Per a una operació d’addició, el primer valor es carrega a l’acumulador. Després, el segon valor que s'afegirà al primer valor es carrega al registre B. Les sortides de l’acumulador i del registre B estan obertes i s’alimenten constantment de l’ALU. El pas final per afegir és transferir la sortida de l’operació a l’acumulador.

Tots els registres funcionen en una línia de dades compartida anomenada bus. El bus és un grup de cables igual al nombre de l'arquitectura de qualsevol CPU. Això realment està posant el cavall abans que el carro tenint en compte l’amplada de l’autobús sigui la mesura que defineix l’arquitectura de CPU. Atès que un digital 1 significa una tensió positiva i un 0 significa posada a terra, seria impossible que tots els registres comparteixin el mateix bus sense donar-los la possibilitat de connectar-se i desconnectar-se selectivament del bus. Per sort per a nosaltres, hi ha un tercer estat entre 1 i 0 que és ambivalent a l’imputació actual que funciona bé per a això. Introduïu el buffer triestatal: un xip que us permetrà connectar selectivament grups de cables a un bus. Utilitzant alguns d’aquests buffers triestats, podeu tenir tots els registres i xips de l’ordinador sencer que necessiten comunicació compartint els mateixos cables que un autobús. En el cas del meu ordinador, es tractava d’una banda àmplia de 8 fils de ranures de taulers que abastaven els pins de la placa inferior. Experimenteu amb els autobusos, ja que porten tota la informació de la peça a la peça a l’ordinador, un bus defectuós podria significar dades errònies que s’escampen per la línia.

Pas 7: l’ALU

L’ALU (unitat aritmètica lògica) d’un ordinador és la part que executa operacions matemàtiques. Per a l’ordinador SAP només s’ha de tenir dues funcions: suma i resta. L’addició i la resta de treballs binaris de forma molt similar a la suma i la resta en termes decimals, per exemple:
1 <- Portar 1 1 <- Carry Bits
05 0101
+05 +0101
10 1010
Per afegir binaris necessitem el que s'anomena sumerera completa. Un sumador complet afegeix efectivament una mica de binari a un altre amb una portada i realització. El transport d’un sumador complet és com una tercera entrada per al procés d’addició. S'utilitzen per encadenar múltiples aparells sencers. La realització d’un sumador complet es produeix quan hi ha un parell d’ells en el procés d’addició. La realització d’un sumador complet s’introdueix en el portador per afegir diversos bits de binari. Per construir un sumador complet necessiteu dues portes XOR, dues portes AND i una porta OR.
Per restar binari, necessitem convertir un nombre a la seva contrapart negativa i afegir-lo al número que estiguem restant. Per fer-ho, fem servir el que s'anomena compliment de 2. Per fer el compliment dels 2 d’una paraula binària, invertiu cada bit (canvieu cada 0 a 1 i cada 1 a 0) i afegiu-ne un.
5 = 0101, -5 = 1010+1 = 1011
No s'utilitza -> 1 1
10 1010
+(-5) +1011
5 0101
Per controlar la inversió de bits utilitzem portes XOR amb una entrada normalment baixa. Amb una entrada normalment baixa, la sortida és equivalent a l’altra entrada. Quan establiu l’entrada de control alta, invertiu l’altra entrada. Si conjugem aquesta inversió amb un bit enviat a la càrrega dels sumadors complets, s’obtindrà una operació de resta.

Pas 8: Memòria de programes i RAM

La memòria del programa de l’ordinador emmagatzemarà les instruccions que s’executaran. També actuarà com a memòria RAM que pot emmagatzemar valors durant l’operació de l’ordinador. La memòria del programa consta de tres parts principals: la memòria, el registre d’adreça de memòria (MAR) i el multiplexor. La memòria és un xip que té 16 bytes d’emmagatzematge. Hi ha una adreça de quatre bits que s'introdueix a la memòria que indica el byte que hauria de llegir o escriure. El MAR emmagatzema l’adreça actual de la lectura o l’escriptura del byte de la memòria. S’alimenta constantment al xip de memòria tret que l’ordinador estigui en el seu estat de programació. Un multiplexor us permet escollir entre dues entrades i sortir l’entrada indicada. El multiplexor utilitzat al meu ordinador us permet seleccionar entre dues entrades de quatre bits (el MAR i una entrada manual). Quan l’ordinador està en estat de programació, l’adreça manual s’introdueix a la memòria i us permet programar bytes a la memòria de l’ordinador a l’adreça que definiu.

Pas 9: Registre d'instruccions

El registre d'instruccions d'una computadora emmagatzema la instrucció actual, així com una adreça on funcionarà la instrucció. És un component molt senzill amb un propòsit molt important. Durant el funcionament de l’ordinador, el contingut d’una adreça en memòria es transfereix al registre d'instruccions. Al meu ordinador, els bits més a la part esquerra són el codi OP o la instrucció actual a realitzar. Els quatre bits de la dreta o els quatre bits més baixos indiquen a l’ordinador quina adreça utilitzarà per a l’operació. Els primers quatre bits alimenten constantment el codi OP a la matriu de control que indica a l'ordinador què ha de fer per a una determinada instrucció. Els quatre bits més a la dreta es retornen a l’ordinador de manera que l’adreça pugui ser transferida al MAR o al comptador del programa.

Pas 10: Registre de sortida

Si una computadora només alimentés la sortida del bus cap a l’operador, la lectura no tindria gaire o cap sentit. És per això que hi ha un registre de sortida que té com a objectiu emmagatzemar valors destinats a la sortida. La sortida del vostre ordinador pot ser simple LED que mostra binaris en brut, o podeu tenir una pantalla que llegeixi els números reals en pantalles de set sectors. Tot depèn de la quantitat de treball que vulgueu introduir a l’ordinador. Per a la meva computadora utilitzo alguns tubs de Numitron de Rússia IV-9 per a la sortida del meu equip juntament amb un Arduino per fer la conversió de binari a decimal.

Pas 11: Rellotge

Totes les parts de l’ordinador s’han de sincronitzar completament per funcionar correctament. Per fer-ho, l’ordinador necessita un rellotge o un circuit que tingui una sortida que s’encengui i desactivi a un ritme constant. La manera més senzilla d’aquesta manera és utilitzar un temporitzador 555. El temporitzador 555 és un temporitzador molt popular que s’ha inventat en l’època de l’aparició de l’ordinador que actualment és molt popular entre els aficionats. Per construir el circuit 555, cal saber com funciona.
Al principi, el rellotge del vostre ordinador hauria de ser relativament lent. 1Hz, o un cicle per segon, és un bon valor inicial. Això us permet veure el funcionament de l’ordinador i comprovar si hi ha errors. El xip 555 necessita dues resistències i un condensador per al seu funcionament. Les dues resistències determinen quant de temps els polsos d’alta i baixa són igual que la freqüència total. El condensador canvia la longitud del pols per a tots dos. Si no teniu cap experiència amb 555 temporitzadors, recomano experimentar amb ells.
Links útils:
http://en.wikipedia.org/wiki/555_timer_IC

Pas 12: Arquitectura

Aquest és el pas on tot s’uneix. És hora de dissenyar l'arquitectura del vostre ordinador. L'arquitectura és com s'organitzen els registres i els diferents components del vostre ordinador. L’aspecte de disseny depèn totalment de vosaltres, tot i que ajuda a mantenir un objectiu en ment (el que voleu fer del vostre ordinador) i un model d’instal·lar. Si voleu dissenyar l’ordinador després de la meva, està completament bé. He modificat l'arquitectura del SAP-1 que es troba a Electrònica digital de computació per a la meva computadora de 8 bits.
Un aspecte del disseny a tenir en compte és com es transfereixen les dades entre els diferents components de l’ordinador. El mètode més comú és tenir un "bus" comú per a totes les dades de l’ordinador. Les entrades i sortides dels registres, l’ALU, el comptador de programes i la memòria RAM estan connectats a l’autobús de l’ordinador. Els cables estan disposats en ordre des del bit menys significatiu (1) fins al bit més significatiu (128).
Qualsevol i totes les sortides que estiguin connectades al bus han de ser desconnectades completament mentre estiguin inactives o bé es fusionin entre si i resultin en una sortida errònia. Per fer-ho, utilitzem memòries intermèdies de tres estats per controlar la sortida de certs elements que es produeixen per defecte com l’acumulador, l’ALU i l’entrada real per a la programació de l’ordinador.

Pas 13: Matriu de control

La matriu de control d’un ordinador indica a cada part individual quan pren l’entrada i la sortida del seu valor. Hi ha diversos estats de cada operació en un ordinador. Aquests estats són provocats per un tipus de comptador anomenat comptador d’anells. Un comptador d’anells només té un bit alt a la vegada i recorre les seves sortides de forma consecutiva. Per exemple, si un comptador d'anells té 4 sortides, primer tindrà la seva primera sortida activa. Al següent pols del rellotge, establirà la seva segona sortida més alta (i la primera baixa). El següent pols de rellotge avançarà el bit one més alt i així successivament. Aquestes etapes s’anomenen estats T. L’ordinador d’aquesta instrucció utilitza 6 estats T per al funcionament d’una ordre. Els tres primers estats T són el que s'anomena cicle de recollida en el qual es recull la instrucció actual i es posa al registre d'instruccions. El comptador del programa també s'incrementa en un. El segon conjunt de tres estats T depèn del codi OP que s'introdueix a la matriu de control del registre d'instruccions. Els estats T són els següents:
T1: Els continguts del comptador de programes es transfereixen al registre d’adreça de memòria. (Estat de l’adreça)
T
2: El comptador del programa s'incrementa en un. (Increment de l'estat)
T3: el byte adreçat a la memòria del programa es transfereix al registre d'instruccions. (Estat de memòria)
T4: depenent del comandament que s'està executant.
T5: depèn del comandament que s'estigui executant.
T6: depenent del comandament que s'està executant.
Hi ha dues maneres principals de crear una matriu de control: utilitzar la lògica discreta i utilitzar les ROM. El mètode ROM és el més fàcil i eficient. L’ús de la lògica discreta implica el disseny d’un esquema lògic massiu que permetrà obtenir les paraules de control correctes per a l’ordinador basant-se en una entrada de codi OP. ROM significa memòria de només lectura. Hi ha diversos tipus de ROM que podeu considerar per utilitzar-los a la vostra compilació. Per a la meva computadora vaig utilitzar originalment EEPROM (ROM programable eliminable electrònicament) i després vaig passar a NVRAM (memòria d’accés aleatori no volàtil) després que els xips EEPROM no van escriure. No recomano NVRAM, ja que està pensat per a memòria d’accés aleatori i no per a emmagatzematge permanent. La meva opinió és que la EEPROM és la solució més eficient.
La matriu de control tindrà tres xips ROM que tenen almenys 32 adreces d’emmagatzematge de 8 bits (així com els elements de sincronització i comptatge). La paraula binària que s’envia des de la matriu de control s’anomena ROM de control i conté tots els bits de control per a cada component de l’ordinador. Voleu estar segur d’organitzar els bits de control i conèixer el seu ordre. Per a cap operació, voleu una paraula de control que faci inactiva totes les parts de l’ordinador (excepte el rellotge, és clar). La paraula de control de l’ordinador descrit en aquest manual és de 16 bits i s’emmagatzema en dos dels chips ROM de control. Les tres primeres adreces dels xips ROM de control contenen les paraules de control per al cicle de recuperació. La resta de les adreces del xip tenen les paraules de control en parelles de tres per a cada codi OP. El tercer microprogramari de la ROM conté la ubicació de memòria per a l'inici de la seqüència de paraules de control per a cada codi OP i està dirigida pel codi OP mateix. Per exemple, en el meu ordinador si es dóna al control el codi OP 0110, sortirà binari 21, que és l'adreça de l'inici de l'ordre JMP. Hi ha un comptador de 8 bits entre la ROM OP i el ROM de control que compta entre 0-2 (els tres primers estats T) i, a la tercera, l'estat T carrega l’adreça emesa pel ROM OP i compta des d’aquesta posició fins a la T1. l’estat torna a netejar el taulell. El comptador d'anell i binari de la matriu de control es controla mitjançant una inversió del pols del rellotge de manera que les paraules de control estiguin presents quan el pols de rellotge ascendent arriba als elements de l'ordinador. Tot el procés en ordre és el següent:
1.) L’estat T1 neteja el comptador a 0, s’envia la paraula de control emmagatzemada a 0
2.) El rellotge s’aconsegueix i l’estat de l’adreça té lloc
3.) El rellotge baixa i, al seu torn, s'envia el comptador de control i la paraula de control 1
4.) El rellotge es fa alt i es produeix el cicle d'increment
5.) El rellotge baixa i el comptador de control augmenta a 2, la paraula de control 2 s'envia
6.) El rellotge s’aconsegueix i l’estat de memòria té lloc i el codi OP arriba al registre d'instruccions, T3 també està actiu, el que significa que al proper impuls del rellotge baix es carregarà l’adreça del control OP.
7.) El rellotge baixa i carrega el comptador amb l'adreça de la primera de les tres paraules de control del codi OP donat
8.) T4, T5 i T6 executen el codi OP
9.) T1 restableix el comptador, el procés continua fins que es rep un OP HLT. La comanda HLT frena el rellotge.

Pas 14: Microprogramació

Ara és la part on decidiu quines ordres voleu que l’ordinador sigui capaç. Vaig donar a la meva computadora 6 operacions úniques que li donaven les funcions bàsiques de programació que necessitaria. Les ordres que programareu al vostre ordinador són el que s'anomena llenguatge d'assemblatge. L'Assemblea és un dels primers llenguatges de programació i encara es pot utilitzar en ordinadors. Les ordres de la llengua inclouen carregar l’acumulador, afegir, moure, emetre i emmagatzemar variables. Cada ordre té el seu propi codi OP de 4 bits en aquesta computadora de 8 bits. Les ordres que he triat per al meu ordinador són:
NOP: sense operació. (0000)
LDA: Carregueu l’acumulador amb el valor en aquesta adreça. (0001)
ADD: afegiu el valor a l’adreça especificada al valor de l’acumulador. (0010)
SUB: resta el valor a l'adreça especificada del valor de l'acumulador. (0011)
STO: Deseu el contingut de l’acumulador a l’adreça especificada. (0100)
OUT: Emmagatzemeu el contingut de l’acumulador al registre de sortida de manera que l’operador el pugui veure. (0101)
JMP: Salta a una determinada instrucció de la memòria a l'adreça especificada. (0110)
HLT: Atureu el funcionament de l’ordinador. (0111)
Per determinar quines paraules de control s’han de enviar per a cada OP que necessiteu saber quins bits han d’estar actius durant cada estat T. Per al meu ordinador organitzo els bits de la manera següent (un subratllat denota un bit baix actiu):
CE CO J MI RO II IO OI BI EO SU AI AO RI HLT X
CE - Habilitació del compte (habilita l'entrada del rellotge del programa)
CO - Habilita el rellotge
J - Activar el salt
MI - Entrada MAR
RO - Memòria del programa
II - Registre d'instruccions a
IO - Registre d'instruccions
OI - Registre de sortida al
Es registra BI - B
EO - ALU permet activar la sortida
SU - Restar
AI - Acumulador de
AO - Activació de la sortida d’acumuladors
RI - Memòria del programa
HLT - Halt
X - No s'utilitza
A continuació, es mostren quins bits haurien d’estar actius per a cada estat T per a una instrucció donada, així com l’adreça que haurien de tenir a la ROM de control:
Obtén:
0: CO, MI: el comptador del programa s’extreu al MAR
1: CE - El comptador està habilitat per al següent pols del rellotge
2: RO, II - El byte adreçat s’envia de la memòria RAM al registre d'instruccions
NOP:
3: X
4: X
5: X
LDA:
6: IO, MI: l'adreça del registre d'instruccions es transfereix al MAR (quatre bits més baixos)
7: RO, AI - El byte adreçat s’extreu de la memòria a l’acumulador
8: X
ADD:
9: IO, MI: l'adreça del registre d'instruccions es transfereix al MAR (quatre bits més baixos)
10: RO, BI - El byte adreçat s’extreu de la memòria a l’acumulador
11: EO, AI - La suma de l’acumulador i el registre B es carreguen a l’acumulador
SUB:
12: IO, MI: l'adreça del registre d'instruccions es transfereix al MAR (quatre bits més baixos)
13: RO, BI - El byte adreçat s’extreu de la memòria a l’acumulador
14: AI, SU, EO - La diferència de l'acumulador i del registre B es carrega a l'acumulador
STO:
15: IO, MI: l'adreça del registre d'instruccions es transfereix al MAR (quatre bits més baixos)
16: AO, RO, RI - Les sortides de l’acumulador a la memòria del programa a la ubicació adreçada (el RO i el RI han d’estar actius per a escriure al xip que vaig utilitzar)
17: X
OUT:
18: OI, AO - Les sortides de l’acumulador al registre de sortida
19: X
20: X
JMP:
21: J, IO - El registre d'instruccions carrega el comptador del programa amb els seus quatre bits més baixos
22: X
23: X
HLT:
24: HLT: s'envia un senyal de parada al rellotge
25: X
26: X
El vostre ROM OP conté múltiples de tres a cada ubicació de memòria. Això és, per descomptat, perquè cada cicle pren tres estats d'execució. Per tant, les dades adreçades al vostre OP ROM seran:
0 - 3
1 - 6
2 - 9
3 - 12
4 - 15
5 - 18
6 - 21
7 - 24
Per programar l’elecció d’un xip teniu moltes opcions diferents. Es pot comprar un programador EEPROM i EPROM, però solen costar una quantitat considerable de diners. Vaig construir un programador de placa de mà per a la meva ROM que es gestiona movent els cables i controlant els pins d’escriptura i lectura mitjançant botons. Més tard vaig simplificar el procés i vaig dissenyar un programador Arduino específicament per a la meva NVRAM. Vaig a adjuntar el codi ja que es pot modificar fàcilment per programar gairebé qualsevol xip de memòria paral·lel que utilitzeu per a aquest projecte.

Pas 15: comprar peces

El millor de la construcció d’una computadora de 8 bits és que la majoria de les peces us costaran menys d’un dòlar per peça si les compres al lloc correcte. He comprat el 90% de les meves peces de Jameco Electronics i he estat completament satisfet amb els seus serveis. Les úniques parts que he comprat en qualsevol altre lloc són els cables de placa i els cables de placa (i els tubs de Numitron). Es poden trobar considerablement més barats en llocs com Amazon. Assegureu-vos sempre que les parts que esteu demanant siguin correctes. Cada part que compreu ha de tenir un full de dades disponible en línia que expliqui totes les funcions i limitacions de l’article que esteu comprant. Assegureu-vos de mantenir-les organitzades, ja que farà servir molts fulls de dades en la construcció del vostre ordinador. Per ajudar-vos amb l’ordinador, enumero les parts que he utilitzat per a la meva:
Comptador de 4 bits:
74161 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=74161&langId=-1&storeId=10001&productId=49664&search_type=jamecoall&catalogId=10001&ddkey=http:StoreCatalogDrillDownView
Registre de 4 bits (jo faig servir dos per a cada registre de 8 bits):
74LS173 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=74LS173&langId=-1&storeId=10001&productId=46922&search_type=jamecoall&catalogId=10001&ddkey=http:StoreCatalogDrillDownView
Multiplexor 2-1:
74LS157 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_46771_-1
16x8 RAM (la producció ha de ser invertida):
74189 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=74189&langId=-1&storeId=10001&productId=49883&search_type=jamecoall&catalogId=10001&ddkey=http:StoreCatalogDrillDownView
Adders complets:
74LS283 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=74LS283&langId=-1&storeId=10001&productId=47423&search_type=all&catalogId=10001&ddkey=http:StoreCatalogDrillDownView
Tri-State Buffers:
74S244 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_910750_-1

Portes XOR:
74LS86 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_295751_-1
I Gates:
74LS08 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_295401_-1
NOR Gates:
74LS02 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_283741_-1
Inversors:
74LS04 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_283792_-1
Comptador de timbres:
CD4029 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=4029&langId=-1&storeId=10001&productId=12925&search_type=jamecoall&catalogId=10001&ddkey=http:StoreCatalogDrillDownView
JK Flip-Flops:
74LS10 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_295427_-1

Pas 16: Construcció

Aquí és on entra la paciència. Vaig triar utilitzar una placa d’ordinador per a l’ordinador real, però hi ha molts altres mètodes (com ara l’envàs de filferro) que funcionaran igual. Per fer les coses molt més senzilles he inclòs un diagrama de blocs per a l'esquema real del meu ordinador. No obstant això, no he inclòs números de números o números de peça. Crec que això farà les coses més senzilles i obertes a la creativitat. La sortida del comptador del programa de 4 bits, la sortida del registre MAR i la instrucció estan totes connectades als quatre bits menys significatius del bus de l’ordinador.
El segon diagrama que es mostra és la lògica de control per al final de l’operació de l’ordinador. Els controls estan dissenyats de manera que els canvis poden ser una entrada per a l’ordinador. Els pestells RS_NOR es col·loquen al davant dels commutadors de palanca per apuntalar-los. Els commutadors de commutació solen tenir connexions brutes que poden rebotar des d'un estat apagat i apagat i proporcionar més polsos del que vulgueu. Afegir un flip-flop a la sortida d'un commutador elimina els polsos addicionals. Això seria molt útil quan utilitzeu l’opció de rellotge manual. No voleu capgirar l’interruptor i iniciar 8 polsos de rellotge. El botó de lectura / escriptura escriu el byte d’entrada activa a la memòria adreçada. Si canvieu la paraula de control per defecte, l'entrada a la memòria RAM a dos bits de RO i RI baixos que inicien un cicle d’escriptura. El commutador d'execució / programa canvia quina entrada està activa al multiplexor d'adreces de memòria. El flip-flop JK després del 555 significa que quan s'executa l’ordinador, no s’iniciarà al mig del pols del rellotge. Un senyal HLT baixa aturarà que el rellotge passés el rellotge manual o el 555. I, finalment, el commutador d'execució / aclariment està connectat a tots els pins clars de l'ordinador, com ara els dels registres i els comptadors.

Pas 17: Programació

Ara que l’ordinador es fa, es pot programar per dur a terme instruccions. Per fer-ho, primer heu de posar l’ordinador a la configuració del programa, tot donant la volta al commutador d’activació / programa a la posició del programa. Després, seleccioneu adreces a partir de 0 i aneu a 15 i inseriu les dades necessàries per al vostre programa. Per exemple, per començar amb 5 i afegir 4 a cada sortida, el programa seria el següent:
Adreça: dades:
0000 - 00010111 LDA 7: Carregueu l’acumulador amb el valor emmagatzemat a l’adreça de memòria 7 (5)
0001 - 00101000 ADD 8: afegeix valor emmagatzemat a l'adreça de memòria 8 (4)
0010 - 01010000 OUT: Sortiu l’acumulador
0011 - 01100001 JMP 1: saltar a la instrucció 1
0100 - X
0101 - X
0110 - X
0111 - 00000101 5
1000 - 00000100 4
1001 - X
1010 - X
1011 - X
1100 - X
1101 - X
1110 - X
1111 - X

Pas 18: anar més enllà

Espero que hagueu gaudit d’aquest Instructable i, sobretot, espero que us tregui alguna cosa. Podeu considerar tot aquest treball amb una experiència d'aprenentatge increïblement valuosa que us permetrà conèixer millor l'electrònica, els ordinadors i la programació. Al final, també tindreu quelcom molt bo per mostrar tot el vostre treball dur.
Després de construir el primer ordinador de 8 bits, podeu anar més enllà i afegir més funcionalitats. L’ALU que s’utilitza en aquest ordinador és molt senzill d’operar i les veritables ALU actuals tenen una infinitat de funcions, com ara el canvi de bits i les comparacions lògiques. Un altre aspecte important per moure's és la ramificació condicional. La ramificació condicional significa que una instrucció depèn de l’estat actual dels indicadors establerts per l’ALU. Aquestes banderes canvien a mesura que el contingut de l’acumulador es torna negatiu o sigui igual a zero. Això permet una aplicació molt més àmplia de l’ordinador.
Si teniu alguna pregunta sobre aquest projecte, podeu comentar aquest manual o al meu lloc web a http://8-bitspaghetti.com. Us desitjo molta sort amb aquest projecte.

3 persones que van fer aquest projecte!

  • JamesP383 ho va fer!

  • xdola ho va fer!

  • realhet ho va fer!

Vau fer aquest projecte? Comparteix-ho amb nosaltres!

Recomanacions

  • PC de mitjans de cerca vintage des d'un ordinador portàtil antic

  • Digi-Comp II Replica

  • Classe d'Internet de les coses

  • Colors del concurs Rainbow

  • Concurs de ciències a l'aula

  • Concurs Fandom

173 Debats

0

AtomicFerryt

fa 1 any

Creus que podríeu fer un diagrama digital per a la placa base? Mai no he utilitzat una placa abans, però estic profundament interessada en ordinadors antics.

0

FarsinHamza

fa 1 any

Una de les belles instructores que he vist mai … Aprecio la vostra paciència … :)

0

bob491

fa 1 any

això és un instrument molt ben escrit i detallat i molt genial. Gràcies.

0

champ12345

fa 1 any

sembla una mica complex

0

mkpeker

fa 1 any

bonica construcció. és possible que vulgueu comprovar la meva CPU ttl de 4 bits més senzilla (MP-4) per entendre els conceptes bàsics:

http://www.instructables.com/id/Simplest-4-Bit-TTL-CPU/

0

mkpeker

Fa 2 anys

un bon projecte pot ser que vulgueu comprovar la meva;

Finalment, el meu monitor tipus OS (amb assemblador i desmuntador en línia) està llest
Configureu i proveu aquest v1.0b
podeu trobar tota la informació necessària a les meves pàgines Efex;

http://mkpeker.wixsite.com/efex

envieu-me els vostres comentaris del que puc millorar el programari
Gràcies

0

TheMrCode

Fa 2 anys

i si la feies usant leds en lloc de cables. podia veure on anaven els senyals

0

GeorgeW134

Fa 2 anys

Com programaries una declaració if?

2 respostes 0

JuliaS87GeorgeW134

Respondre fa dos anys

No necessiteu cap codi d’opció nou. El que necessiteu és un valor que sigui verdader i fals com 1 i 0. Carregueu aquest valor a l’acumulador i resteu 1. Aleshores feu un salt condicional. Si el valor era 1 (cert), la resta provocarà un desbordament i es durà a terme el salt condicional. Si el valor era 0 (fals), no hi ha cap desbordament i, per tant, no es produeix cap salt.

0

calebj20GeorgeW134

Respondre fa dos anys

Com que hi ha un registre (acumulador) que emmagatzema la suma anterior de l’ALU, podeu comprovar si el resultat dóna un nombre negatiu, positiu o zero, amb el que podeu afegir un nou codi d’opció que comprovi aquest estat i salti si la condició és veritat.
per exemple

4 - 10 = -6 -> -6 és negatiu, de manera que qualsevol ordre de branca amb el bit N establert a 1 saltaria

assemblatge: BRN RA Aquesta branca en negatiu a la ubicació emmagatzemada en A

binari suposant que l'opcode és 1000: 10001000

On es tracta del desglossament de bits del codi d’opció

BR: 1000

N: 1 | 0

Z: 1 | 0

P: 1 | 0

0: 0 | 0

També si voleu fer-lo més versàtil, podeu intentar afegir l’habilitat per a que B estableixi el valor del bus; l’últim bit '0' podria ser per a A o B com a 0 o 1, respectivament.

0

T0BY

Fa 2 anys

Crikey, tens paciència!

0

SuperNovaa41

Fa 2 anys

Tinc una pregunta. Totes les parts de la llista hi són, excepte 2.
els buffers de tres estats i les xancletes de JK
Hi havia un lloc web diferent amb el mateix model que els buffers de tres estats
però
no hi havia un reemplaçament de flip JK, he d’utilitzar l’exact
el mateix model que heu enumerat o puc utilitzar un model diferent? i si és així, quina?
model d’utilitzar?

0

SuperNovaa41

Fa 2 anys

Hola! Sé que es tracta d’un missatge més antic, però podria donar-me alguns enllaços actualitzats per als búfers Tri State i els Flip Flops de JK? He intentat investigar els productes, però no sé quins models utilitzar. Gràcies per endavant!

0

BartH19

Fa 2 anys

M'interessa crear una CPU senzilla que pugui utilitzar per escriure un LED o fins i tot una pantalla LCD. És aquest el projecte per a mi o em podeu indicar en una direcció millor si us plau?

Jo sóc un principiant complet. Sóc un fuster que intenta fer algun tipus d’ordinador de fusta.

5 respostes 0

FinnW3BartH19

Respondre fa dos anys

En lloc de construir una CPU, només hauríeu de construir un ordinador amb una caixa de fusta. Els ordinadors poden costar una mica, però en realitat es poden aconseguir amb menys de 300 dòlars. Proveu d’utilitzar aquest lloc: pcpartpicker.com

0

BartH19FinnW3

Respondre fa dos anys

Gràcies per això. Espero que hi hagi peces prou fines. Vull que sigui com una calculadora de paraules. Vaig a veure l’enllaç: D

0

KyleF45BartH19

Respondre fa dos anys

Si tot el que volem és actuar com una calculadora, és possible que vulgueu mirar Raspberry Pi. Serà molt més petit i més barat, els de Pi són com la mida d’un telèfon.

0

KyleF45KyleF45

Respondre fa dos anys

Ara que ho penso, el Pi pot fer pràcticament qualsevol cosa que pugui fer una computadora d’escriptori completa, és molt més petita. Probablement hi ha algun tipus de programari que pugueu utilitzar.

0

BartH19KyleF45

Respondre fa dos anys

Gràcies per la vostra resposta: D

Poc després del meu comentari original, he trobat aquest tipus: http: //www.etsy.com/shop/writeotron? Ref = unav_lis …

Treballarem junts en un de nou. És un Pi!

0

bharathis

Fa 2 anys

És meravellós i animant-me a fer-ne un de propi …

segur que premeu "jo ho vaig fer". Estic en procés per construir-lo. ell és la seva impressionant electrònica digital