Domanda:
CPU homebrew / design di basso livello
user3073
2011-08-31 03:58:31 UTC
view on stackexchange narkive permalink

Quindi ho esortato ad espandermi davvero nel campo embedded, ho una laurea in scienze informatiche ma purtroppo ... ho avuto solo 2 classi EE. Ho i libri:

  Computer Architecture: A Quantitative Approach, 4th Edition andComputer Organization and Design, Fourth Edition: The Hardware / Software Interface  

Tuttavia le mie classi EE erano ..... diciamo carenti, per non parlare Non ho mai avuto il tempo di frequentare i laboratori opzionali (a causa di altre classi). Ma voglio VERAMENTE imparare il basso livello nella progettazione della CPU. Sto parlando di un design TTL di basso livello, tuttavia non ne conosco davvero nulla dal College, e onestamente ... vedo che molte persone di CPU homebrew "fantastiche" hanno costruito, ma niente su COME è fatto. Tieni presente che la mia conoscenza dell'elettronica è limitata.

Quindi come potrei fare per farlo, quei due libri sopra aiuterebbero? Altri suggerimenti per i libri? Sto parlando di qualcosa di veramente semplice, come un 4 bit o qualcosa del genere. Posso aggiungerci qualcosa col passare del tempo, ma anche qualcosa di molto semplice sarebbe fantastico.

Grazie

I libri sono utili solo quando li * leggi * ... La tua domanda implica che non l'hai fatto.
Controlla la libreria per le edizioni precedenti di CA-AQA, non ricordo quale, ma una aveva una buona spiegazione dalle basi. Questi sono libri MOLTO buoni, ogni edizione è un libro completamente nuovo.
Qualsiasi classe EE in cui i laboratori sono opzionali è una cattiva classe EE. I laboratori sono dove impari il * mondo reale *.
@Turbo, Beh, ho letto un po ', ma non sapevo se valesse la pena leggere.
@Sauron, valgono la pena leggere ma non è necessario leggerli entrambi in quanto vi è un mucchio di sovrapposizione. Attenersi al primo.
Cinque risposte:
Mike DeSimone
2011-08-31 18:16:24 UTC
view on stackexchange narkive permalink

Posso consigliare due libri volti a imparare la logica digitale:

Fondamenti di Logic Design del Dr. Charles Roth

Questo libro è inteso come libro di testo per una classe universitaria al primo anno di autoapprendimento sulla progettazione logica, ed è suddiviso in diversi piccoli capitoli con parti di autoapprendimento e problemi sul retro. Nell'introduzione, c'è un ordine consigliato per i capitoli. Alcuni capitoli sono opzionali, ma mi assicurerei di fare l'Appendice B (IIRC) che copre i circuiti di ingresso e uscita digitali, che dovrai affrontare.

TTL Cookbook di Don Lancaster

Se stai andando alla vecchia scuola, questo è il libro della vecchia scuola che desideri. Scritto negli anni '70, si concentra sulla logica TTL della serie 74xx, culminando in un progetto per costruire diversi circuiti per una "macchina da scrivere TV", che ti permette di digitare su un televisore. (Ho menzionato la vecchia scuola, giusto? Questo era quando i microcomputer a 8 bit come l'Apple II costavano centinaia di dollari, non alcuni $ 10 Arduino.)

Don Lancaster ha anche scritto un ricettario CMOS se si desidera utilizzare la logica CMOS serie 4000 ancora più lenta, che può funzionare con tensioni da 5 a 15 V, ma porta alla logica HCMOS a 5 V, che porta al moderno CMOS a bassa tensione e ad alta velocità.

La differenza principale tra questi libri è che FoLD ti fornirà gli strumenti di livello EE per farlo bene (come usare una mappa di Karnaugh per elaborare la logica dello stato successivo ottimale per una macchina a stati, che puoi quindi mappare a una PAL, GAL o logica discreta), mentre i libri di cucina si concentrano su tutti i trucchi per semplificarti la vita (come usare un gruppo di encoder / multiplexer 1 su 16 per codificare la tua logica combinatoria, quindi devi solo ricablare alcuni pin per correggere bug; chip più grandi, ma debug più semplice).

Una volta che hai finito, i libri di Computer Architecture avranno molto più senso perché li guarderai e saprai cosa sono un registro, un sommatore, un sottrattore, un moltiplicatore, una macchina a stati e un bus a tre stati e parti come i decodificatori di istruzioni e le unità di caricamento / memorizzazione non saranno così spaventosi perché saprai come suddividere grandi blocchi di progettazione in macchine a stati più piccole.

JustJeff
2011-08-31 05:06:21 UTC
view on stackexchange narkive permalink

Quello che stai pensando di fare potrebbe essere realizzato con i chip MSI (Medium Scale Integration) della serie 74xx, come erano disponibili alla fine degli anni '70, e più facilmente con alcuni dei 74xx più recenti aggiunti all'inizio degli anni '80 . Se riesci a trovare un databook per questa serie, specialmente una successiva, a metà degli anni '80, che abbia pin-out e diagrammi logici, sarà inestimabile per tale impresa.

Se puoi guardare le specifiche per il 74LS374 e capire come potrebbe servire come registro a 8 bit, non dovrebbe essere troppo complicato vedere come potresti collegarli sui bus, quindi per poter spostare i dati tra di loro. Esamina il 74LS181 e puoi praticamente ottenere tutte le capacità matematiche della venerabile CPU 6502 a 8 bit in un colpo solo. La parte più complicata è il circuito di controllo per eseguire le istruzioni azionando sequenzialmente tutti i registri, i buffer e l'ALU nell'ordine corretto. Se hai seguito solo un paio di lezioni di EE, questo sarà probabilmente il tuo principale ostacolo.

Per orientarti con questo livello di progettazione, potresti provare qualcosa come "Microprogrammazione e architettura del computer" di Bruce Segee e John Field. Le copie usate possono essere acquistate a buon mercato da un certo venditore di libri in linea.

Sembra che il libro sia piuttosto difficile da trovare online: /
Dal punto di vista pratico dell'EE: non dimenticare i condensatori di disaccoppiamento, altrimenti il ​​debug del tuo circuito digitale sarà senza speranza.
@Yann Vernier: è normale per qualsiasi tipo di progetto TTL.
@Sauron - Hai provato a trovarlo online? Amazon.com ne ha 7 in stock per meno di $ 10: http://www.amazon.com/gp/offer-listing/0471506885/ref=dp_olp_used?ie=UTF8&condition=used
Sicuramente vai avanti e collega le schede piene di TTL se lo desideri, ma al giorno d'oggi, considera prima la simulazione del progetto per vedere se hai un design realizzabile. In particolare, pensate a un mezzo per caricare il codice, generare output e forse un meccanismo hardware a singolo passaggio ed esame o una modalità a passaggio singolo che può essere utilizzato per continuare a tornare a una routine di dump del registro del software.
@Chris Stratton - Non sto dicendo che questa sia la strada da percorrere * ora *, è solo che l'OP ha espresso un interesse, quindi ecco perché la risposta dalla macchina della via del ritorno.
Chris Stratton
2011-08-31 06:49:56 UTC
view on stackexchange narkive permalink

Questo potrebbe essere di qualche interesse: contenuto online gratuito di un corso universitario che copre cose come il diagramma a blocchi di una semplice CPU e l'implementazione dei vari pezzi, inclusi esercizi di laboratorio.

http: //ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-004-computation-structures-spring-2009/

sybreon
2011-08-31 20:59:38 UTC
view on stackexchange narkive permalink

La lettura dei libri di H&P è molto utile. Tuttavia, non si occupano delle cose EE. Quindi, ti incoraggio anche a completarlo con un libro che prenda le cose dal livello dei transistor in su, come Structured Computer Organization - Andrew S. Tanenbaum.

Una volta che hai un idea di come appare l'architettura di un processore, puoi riempire i dettagli con esempi tratti da vari libri EE, ad es progetti di sommatori, multiplexer, cambi, ecc.

Questo ti metterà sulla strada giusta.

Modifica Un altro libro utile è Logica e Computer Design Fundamentals di Mano e Kime , che è più un libro per studenti di educazione fisica che per studenti di informatica.

Questo sembra essere il problema più grande, hanno a che fare meno con l'hardware REALE, che è ciò a cui sono interessato.
Sì, ma i libri di H&P danno una buona visione della struttura complessiva. Per apprendere l'hardware effettivo, è necessario passare all'elettronica digitale, ad es. il libro Mano / Kime che ho aggiunto nella mia risposta.
Jonathan Cline
2011-09-02 23:06:10 UTC
view on stackexchange narkive permalink

Open source in soccorso. Visita http://opencores.org/ e inizia a giocare con alcuni progetti, ad esempio puoi iniziare a imparare subito Verilog. Lavora sull'apprendimento dall'alto verso il basso poiché sei già un ragazzo di CS. (Tentando di prendere lezioni di circuiti digitali, andrai dal basso verso l'alto, il che sarà più difficile per te.)



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...