MicroCore Labs MCL8080+ è perfetto per emulare l’Intel 8080

Ted Fried ha dimostrato la marcia del progresso tecnologico con un richiamo al classico microprocessore Intel 8080, emulandolo su un microcontrollore Microchip ATtiny85 a basso costo e con risorse limitate: il MicroCore Labs MCL8080+.

“L’MCL8080+ è un emulatore dell’Intel 8080 scritto in C che gira sul microcontrollore [Microchip] ATTiny85”, spiega Fried a proposito del progetto. “Invece del package a 40 pin utilizzato da Intel, il bus locale dell’MCL8080+ è implementato con un bus seriale SPI con una serie di ottimizzazioni! L’ATTiny85 è un microcontrollore con risorse molto limitate, che dispone di soli 512 byte di RAM, 8 kB di ROM, cinque GPIO (pin di input/output generici) e un supporto minimo per il bus seriale. Il codice di emulazione dell’8080 dell’MCL8080+ è stato sviluppato per risparmiare spazio sufficiente a consentire una piccola cache a mappatura diretta da 128 byte che ha migliorato notevolmente le prestazioni riducendo l’attività sul bus SPI, dove risiedono tutto il codice del programma e i dati.”

L’Intel 8080 fu lanciato nel 1974 come successore dell’8008, che a sua volta era il successore a otto bit del microprocessore a quattro bit Intel 4004. Sebbene Intel avesse progettato il chip per i sistemi di controllo embedded, la sua flessibilità e le sue prestazioni ne favorirono l’adozione da parte della nascente industria dei microcomputer: l’Intel 8080 fu il primo chip scelto da Gary Kildall per il suo popolare sistema operativo CP/M, mentre la decisione del MITS di utilizzarlo come cuore dell’Altair 8800 lo rese lo standard di fatto per i microcomputer con bus Altair (in seguito bus S-100) di una vasta gamma di produttori.

 

MicroCore

L’Intel 8080 originale era un chip ceramico a 40 pin dual-in-line pin (DIP), ma la riproduzione emulata da Fried è molto più piccola. Il sistema gira su un Microchip ATtiny85, un microcontrollore AVR a otto bit incapsulato in plastica con soli otto pin, e sicuramente non progettato come processore generico per un sistema di microcalcolo. Nonostante la RAM e la ROM limitate, Fried è riuscito a scrivere un emulatore in grado di eseguire software originale scritto per l’Intel 8080, tra cui Altair BASIC di Microsoft e CP/M di Kildall, anche se con un piccolo aiuto: l’ATtiny85 sostituisce solo l’Intel 8080, mentre il resto dell’hardware necessario per un microcomputer pienamente funzionante viene emulato su un microcontrollore Teensy 4.0 considerevolmente più potente, che comunica con l’ATtiny85 tramite bus SPI.

“Gestire tutta la RAM, la ROM e le periferiche di sistema tramite un bus seriale renderebbe normalmente il sistema troppo lento per essere pratico”, ammette Fried. “L’MCL8080+ raggiunge un notevole miglioramento in termini di velocità grazie all’utilizzo di una cache a mappatura diretta da 128 byte, che elimina le letture non necessarie del bus SPI per i cicli di codice e il codice utilizzato frequentemente. Grazie a queste ottimizzazioni, l’MCL8080+ avvia CP/M solo leggermente più lentamente di un vero Altair 8800.”

Ulteriori informazioni sono disponibili sul blog di MicroCore Labs, mentre i file di progettazione e il codice sorgente sono disponibili su GitHub con una licenza open source non specificata.

 

Iscriviti ai nostri gruppi Telegram

Link utili

Seguici per non perdere le prossime novità!

###Da sempre appassionato di tecnologia, soffro di insaziabile curiosità scientifica. Adoro sperimentare e approfondire le mie conoscenze sulle ultime novità sul mercato in termini di hardware, alta tecnologia e videogiochi. Attratto e coinvolto nella prototipazione hardware dalla piattaforma Arduino, Raspberry Pi e Nvidia Jetson.### ###Always passionate about technology, I am suffering from insatiable scientific curiosity. I love experimenting and deepening of my knowledge on the latest news on the market in terms of hardware, hi-tech and video games. Got attracted and involved in hardware prototyping by the Arduino platform, Raspberry Pi and Nvidia Jetson.###

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.