Je suis étudiant dans une école d'informatique et nous essayons de penser à un projet que nous pourrions utiliser pour montrer aux étudiants de 1ère année comment les choses fonctionnent derrière la scène et nous avons finalement pensé à faire un ordinateur rétro.
J'ai lu beaucoup de choses concernant le processeur Z80, mais je suppose que nous avons besoin de quelque chose de plus puissant, nous nous interrogeons toujours sur l'architecture bien que ARM puisse être un bon choix étant donné que nous trouverions beaucoup de documentation, nous avons a également établi certains besoins particuliers:
- Un bus d'adresse externe si nous avons besoin de plus de RAM
- > 50Mhz
- 16 ou 32 bits
- Pas de package BGA / QFN
- Pas de carte FPGA
- Une interface série (?)
- Pas trop cher non plus car nous avons un budget limité
Le P8X32A-D40 ressemble à un bon processeur mais n'a pas la quantité de RAM dont nous aurions besoin (32k), je pensais plutôt à quelque chose comme> 1 Mo. Peut-être que le eZ80 mérite d'être considéré. Nous aimerions des réponses de personnes expérimentées comme vous.
Je vous remercie.
Edit: Même si j'ai accepté une réponse car elle répond à nos besoins, la question reste ouverte à d'autres suggestions car nous devrons discuter des choix avec l'équipe d'étudiants désireux de participer au projet.
la source
Réponses:
Bien que les versions actuellement disponibles ne disposent pas d'un véritable bus d'adresse externe (il arrive), vous pourriez envisager le Microchip PIC32 . Son architecture est basée sur MIPS , datant de 1988, et est l'un des deux principaux ensembles d'instructions RISC (l'autre étant ARM). À cet égard, cela peut donc être considéré comme rétro. (Un petit anecdote: la Playstation de Sony utilisait un processeur MIPS.)
L'une des fonctionnalités intéressantes du PIC32 (et inhabituelle pour un microcontrôleur 32 bits) est que vous pouvez obtenir plusieurs variétés dans un package DIP, mais la mémoire maximale disponible sera limitée par rapport aux versions à montage en surface. L'un des PIC avec la plus grande mémoire dans un boîtier DIP à 28 broches est le PIC32MX250F128 avec 128 Ko de mémoire Flash (programme) et 32 Ko de RAM. Il est disponible auprès de Digi-Key aux États-Unis et de Farnell au Royaume-Uni .
Bien que la RAM puisse sembler limitée, notez que les PIC sont une architecture Harvard , ce qui signifie que les espaces d'adressage du programme et des données sont séparés et que les programmes sont exécutés en flash, vous n'avez donc pas besoin de beaucoup de RAM. (Pour les puristes, les PIC32 sont en fait une architecture Harvard modifiée, car il est possible d'exécuter des programmes à partir de RAM.) L'autre alternative est Von Neumannarchitecture (utilisée, par exemple, sur les PC), où il y a un espace d'adressage pour tout et les programmes manquent généralement de RAM, à une exception près, ils ont généralement besoin d'avoir au moins une mémoire flash ou ROM (appelée BIOS dans un PC) dans l'espace d'adressage du processeur pour exécuter une routine de démarrage pour charger le système d'exploitation d'un périphérique de stockage de masse ou d'un réseau dans la RAM. Le Z80 (et la plupart des microprocesseurs de son époque) utilisait également une architecture Von Neumann. Il fallait donc intégrer à la fois le programme et les données dans 64 Ko. Certains micros avec une architecture Von Neumann ont également mappé leurs périphériques dans le même espace d'adressage 64K; d'autres utilisaient un adressage de port séparé.
Concernant le bus externe, les PIC32 actuels (mais uniquement dans les boîtiers de montage en surface, en raison du nombre de broches) ont un "Parallel Master Port" (PMP) de 8 ou 16 bits qui, couplé à DMA, peut transférer des données dans les deux sens automatiquement entre la RAM du PIC et la RAM externe ou un périphérique. Cependant, cela ne permet pas d'accéder directement à la mémoire externe (dans l'espace d'adressage du processeur) ou d'y exécuter du code. La toute dernière famille PIC32MZ , répertoriée mais pas encore en stock chez Digi-Key, aura un véritable bus d'adresse externe, jusqu'à 2 Mo de Flash, 1/2 Mo de RAM et fonctionnera à 200 MHz.
Le PIC32MX250F128 fonctionne à 50 MHz, il y en a d'autres qui fonctionnent à 80 MHz. Il possède deux ports série UART; vous aurez besoin d'un convertisseur de niveau pour traduire cela en signaux RS232.
Parce qu'il est conditionné sous forme de DIP et peut fonctionner sans oscillateur externe, pour commencer, tout ce dont vous avez besoin est une alimentation 3,3 V, des bouchons de découplage de 0,1 µF et une planche à pain. Vous pouvez obtenir un compilateur C et un IDE gratuits auprès de Microchip.
Une fois le processeur opérationnel, vous pouvez ajouter des périphériques comme un écran LCD, des boutons (même un clavier), etc.
Vous pouvez obtenir d'autres PIC32MX avec jusqu'à 512 Ko de Flash et 128 Ko de RAM, mais uniquement dans des packages de montage en surface comme TQFP et VQFN qui vous obligeraient à configurer un PCB (vous auriez également le même problème avec n'importe quel processeur ARM).
la source
Bien que je sois largement d'accord avec @tcrosley, je me sens obligé de souligner que si vous voulez vraiment montrer aux autres comment les choses fonctionnent "derrière la scène", vous devriez obtenir une carte FPGA (achetez-en une, n'essayez pas de la fabriquer) ) et apprenez à construire des CPU à partir de zéro en utilisant la logique. Jetez un oeil à cela pour un bon point de départ.
la source
Avez-vous pensé à la série MC68000?
Il s'agit d'un processeur 16/32 bits, à l'exception du 68008, la ligne de données est de 16 bits, certains d'entre eux peuvent fonctionner facilement à 50 MHz et l'espace d'adressage est de 16 Mo.
Voici la documentation complète: https://www.nxp.com/docs/en/reference-manual/MC68000UM.pdf
la source