CPU per il progetto di una scuola di computer retrò


9

Sono uno studente in una scuola di informatica e stiamo provando a pensare a un progetto che potremmo usare per mostrare agli studenti del 1 ° anno come funzionano le cose dietro il palco e alla fine abbiamo pensato di realizzare un computer retrò.

Ho letto molte cose riguardanti il ​​processore Z80, ma la mia ipotesi sarebbe che avremmo bisogno di qualcosa di più potente, ci stiamo ancora chiedendo dell'architettura sebbene ARM potrebbe essere una buona scelta considerando che troveremmo molta documentazione, abbiamo ha inoltre stabilito alcune esigenze speciali:

  • Un bus di indirizzo esterno se abbiamo bisogno di più RAM
  • > 50 Mhz
  • 16 o 32 bit
  • Nessun pacchetto BGA / QFN
  • Nessuna scheda FPGA
  • Un'interfaccia seriale (?)
  • Non troppo costoso perché abbiamo un budget limitato

Il P8X32A-D40 sembra una buona CPU ma manca la quantità di RAM di cui avremmo bisogno (32k), pensavo più a qualcosa come> 1 MB. Forse vale la pena considerare l'eZ80. Vorremmo risposte da persone esperte come te.

Grazie.

Modifica: anche se ho accettato una risposta in quanto soddisfa le nostre esigenze, la domanda è ancora aperta ad altri suggerimenti in quanto dovremo discutere delle scelte con il team di studenti disposti a partecipare al progetto.


4
Innanzitutto si discute della creazione di un computer retrò, quindi si mettono le specifiche (50 MHz,> 1 MB di RAM) per i microprocessori molto più recenti. Lo Z80 aveva una frequenza di clock massima di 2 MHz e poteva supportare 64 KB di memoria. Il chip Propeller (P8X32A-D40) è uno dei miei preferiti a causa della sua architettura unica ma sicuramente non è un retro computing. La Z80 non è una cattiva scelta in quanto vi è una buona quantità di informazioni su come assemblare un sistema domestico, ad esempio vedere questo .
Tcrosley,

So che queste specifiche renderebbero gelosi i vecchi computer, ma penso che una sorta di retro ++ sarebbe l'ideale (Gli altri studenti considererebbero comunque qualsiasi cosa al di sotto di 1 GHz come "retro" ...)
Anthony Teisseire,

4
In una classe di microcontrollori che ho preso, abbiamo usato il Motorola 6800 ... è abbastanza complesso con tutte le diverse modalità di indirizzamento che fa sembrare gli Atmel e i PIC a 8 bit un giocattolo .. Ma non è così complesso che puoi costruire un modello mentale della cosa senza perdere la testa. Dipende solo da come 'sotto il cofano' vuoi ottenere.
Daniel,

Stavo per costruire qualcosa del genere. Dai un'occhiata al WDC 65C816: è il derivato CMOS a 16 bit del venerabile 6502 ed è disponibile in un pacchetto DIP40.
Peter,

7
Sono totalmente in disaccordo con la ragione per chiudere questa domanda. L'OP è alla ricerca di un'architettura informatica adeguata da utilizzare per gli studenti delle scuole, alla luce di una serie di criteri. Ho risposto prima con una raccomandazione su un'architettura appropriata, probabilmente di cui non era a conoscenza, e sì, quindi ho raccomandato un chip specifico perché era disponibile in un pacchetto DIP adatto agli studenti. Ma penso che la mia risposta piuttosto esauriente che elenchi i motivi delle mie raccomandazioni sarebbe utile in futuro per chiunque cerchi di prendere la stessa decisione. Consiglio di riaprirlo.
Tcrosley,

Risposte:


6

Sebbene le versioni attualmente disponibili non dispongano di un vero bus di indirizzo esterno (è in arrivo), è possibile prendere in considerazione Microchip PIC32 . La sua architettura si basa su MIPS , risalente al 1988, ed è uno dei due principali set di istruzioni RISC (l'altro è ARM). Quindi a tal proposito può essere considerato retrò. (Un po 'di curiosità: la Sony Playstation utilizzava un processore MIPS.)

Una delle belle caratteristiche del PIC32 (e insolito per un microcontrollore a 32 bit) è che puoi ottenere diverse varietà in un pacchetto DIP, tuttavia la memoria massima disponibile sarà limitata rispetto alle versioni a montaggio superficiale. Uno dei PIC con la più grande memoria in un pacchetto DIP a 28 pin è il PIC32MX250F128 con 128 KB di memoria Flash (programma) e 32 KB di RAM. È disponibile presso Digi-Key negli Stati Uniti e Farnell nel Regno Unito .

Sebbene la RAM possa sembrare limitata, notare che i PIC sono architettura di Harvard , il che significa che il programma e gli spazi degli indirizzi dei dati sono separati e che i programmi vengono eseguiti senza flash, quindi non è necessaria molta RAM. (Per i puristi, i PIC32 sono in realtà modificati-architettura di Harvard, perché è possibile eseguire programmi senza RAM.) L'altra alternativa è Von Neumannarchitettura (utilizzata, ad esempio, nei PC), in cui esiste uno spazio di indirizzi per tutto e i programmi di solito esauriscono la RAM, con un'eccezione in quanto in genere devono avere almeno un po 'di Flash o ROM (chiamati BIOS in un PC) in lo spazio di indirizzamento del processore per eseguire una routine di avvio per caricare il sistema operativo da un dispositivo di archiviazione di massa o dalla rete nella RAM. Lo Z80 (e la maggior parte dei microprocessori del suo tempo) utilizzava anche un'architettura Von Neumann. Quindi bisognava adattare sia il programma che i dati a 64 KB. Alcuni micro con architettura Von Neumann hanno anche mappato le loro periferiche nello stesso spazio di indirizzi 64 KB; altri hanno utilizzato un indirizzamento delle porte separato.

Per quanto riguarda il bus esterno, gli attuali PIC32 (ma solo in pacchetti a montaggio superficiale, a causa del numero di pin) hanno un "Parallel Master Port" (PMP) largo 8 o 16 bit che, accoppiato con DMA, può trasferire i dati avanti e indietro automaticamente tra la RAM del PIC e la RAM esterna o una periferica. Tuttavia, ciò non consente di accedere direttamente alla memoria esterna (nello spazio degli indirizzi del processore) o di eseguire lì il codice. La nuovissima famiglia PIC32MZ , elencata ma non ancora disponibile in Digi-Key, avrà un vero bus di indirizzo esterno, fino a 2 MB di Flash, 1/2 MB di RAM e funzionerà a 200 MHz.

PIC32MX250F128 funziona a 50 MHz, ce ne sono altri a 80 MHz. Ha due porte UART seriali; avrai bisogno di un convertitore di livello per tradurlo in segnali RS232.

Poiché è confezionato come DIP e può funzionare senza un oscillatore esterno, per iniziare tutto ciò che serve è un alimentatore da 3,3.v, circa 0,1 µF di tappi di disaccoppiamento e una breadboard. Puoi ottenere un compilatore C e un IDE gratuiti da Microchip.

Una volta che il processore è attivo e funzionante, è possibile aggiungere periferiche come un display LCD, pulsanti (anche una tastiera), ecc.

Puoi ottenere altri PIC32MX con fino a 512 KB di Flash e 128 KB di RAM, ma solo in pacchetti a montaggio superficiale come TQFP e VQFN che richiederebbero il layout di un PCB (avresti lo stesso problema anche con qualsiasi processore ARM).


Grazie mille, questo è molto istruttivo e un tale PIC effettivamente soddisferebbe le nostre esigenze. Adatteremo il nostro design nel caso in cui sentiamo la necessità di passare al pacchetto VQFN o alla famiglia PIC32MZ.
Anthony Teisseire,

Non direi che è un requisito per le CPU che usano un'architettura von Neumann per eseguire i loro programmi dalla RAM. È certamente possibile avere flash e RAM nella stessa mappa di memoria, permettendoti così di eseguire il codice da entrambi. Le CPU von Neumann hanno semplicemente un bus e uno spazio di indirizzi sia per le istruzioni che per i dati.
Jason R,

@JasonR Non intendevo implicare che i programmi in un'architettura Von Neumann dovessero esaurire la RAM, infatti avevano bisogno di almeno un po 'di Flash o ROM (chiamati BIOS in un PC) per eseguire una routine di avvio per caricare il sistema operativo da un dispositivo di archiviazione di massa o una rete nella RAM. (Ovviamente i computer molto precoci, inclusi i primi PC come Altair 8800 , non avevano nemmeno una ROM di avvio e dovevi attivare manualmente un bootloader utilizzando gli interruttori del pannello frontale). Ho aggiornato la mia risposta.
Tcrosley,

3

Anche se sono ampiamente d'accordo con @tcrosley, mi sento obbligato a sottolineare che se vuoi davvero mostrare agli altri studenti come funzionano le cose "dietro il palco", allora dovresti ottenere una scheda FPGA (comprane una, non provare a farlo ) e scopri come creare CPU da zero utilizzando la logica. Dai un'occhiata a questo per un buon punto di partenza.


1

Hai considerato la serie MC68000?

È una CPU a 16/32 bit ad eccezione del 68008, la linea di dati è a 16 bit, alcuni di essi possono funzionare facilmente a 50 MHz e lo spazio degli indirizzi è di 16 MB.

  • Un bus di indirizzo esterno se abbiamo bisogno di più RAM - sì e solo
  • > 50 MHz - può essere
  • 16 o 32 bit - entrambi
  • Nessun pacchetto BGA / QFN - sì
  • Nessuna scheda FPGA - no
  • Un'interfaccia seriale (?) No, devi renderla tua ma molto semplice
  • Neanche troppo costoso perché abbiamo un budget limitato - sì

Ecco la documentazione completa: https://www.nxp.com/docs/en/reference-manual/MC68000UM.pdf

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.