Remove ads
microprocesseur 8 bits De Wikipédia, l'encyclopédie libre
Le MOS Technology 6502 est un microprocesseur 8 bits conçu par MOS Technology en 1975. Quand il fut présenté, il était de loin le processeur le plus économique sur le marché, à environ 1/6 du prix, concurrençant de plus grandes compagnies telles que Motorola ou Intel. Il était néanmoins plus rapide que la plupart d'entre eux, et avec le Zilog Z80, brilla dans une série de projets d'ordinateurs qui furent par la suite la source de la révolution des ordinateurs personnels dans les années 1980. La production du 6502 était à l'origine concédée par MOS Technology à Rockwell et Synertek puis plus tard à d'autres compagnies ; il est encore fabriqué en 2024 pour équiper des systèmes embarqués.
Production | 1975 |
---|---|
Fabricant | MOS Technology |
Fréquence | 1 MHz à 1,55 MHz |
---|---|
Largeur bus données | 8 bits |
Largeur bus adresse | 16 bits |
Finesse de gravure | 8000 nm |
---|---|
Cœur | MOS Tech 6502 |
Architecture | 6502 |
---|---|
Boutisme | petit-boutiste |
Le 6502 a été conçu par une équipe menée par l'ingénieur Chuck Peddle, issue de celle qui avait développé le Motorola 6800. Après avoir quitté Motorola en bloc, ses ingénieurs ont rapidement sorti le 6501, d'une conception complètement nouvelle mais dont le brochage restait néanmoins compatible avec le 6800. Motorola entama des poursuites judiciaires immédiatement, et bien qu'aujourd'hui l'affaire aurait été déboutée, les dommages que MOS encourut furent suffisants pour que la société accepte de cesser de produire le 6501.
Le résultat fut le 6502, un modèle « juridiquement inattaquable ». Il différait du précédent par une simple réorganisation du brochage, ce qui le rendait inutilisable sur une carte mère 6800. Motorola abandonna alors ses poursuites. Cependant, ce changement handicapa MOS à obtenir de nouveaux développeurs, jusqu'à ce que Chuck Peddle conçoive le KIM-1, un ordinateur monocarte. À la grande surprise de ses concepteurs, le KIM-1 fut énormément vendu à des amateurs et des bricoleurs aussi bien que sur le marché initialement prévu des ingénieurs.
Le 6502 sortit sur le marché en septembre 1975 à 25 $, alors que les 6800 et Intel 8008 se vendaient pour 179 $. Tout d'abord, de nombreuses personnes pensèrent qu'il s'agissait d'une blague, mais Motorola et Intel baissèrent subitement leurs prix à 79 $. Au lieu de l'effet escompté, cela légitima le 6502 dont les ventes décollèrent.
Le 6502 possédait une particularité qui le rendait particulièrement adapté à l'utilisation dans un ordinateur personnel : l'architecture interne garantissait que le processeur n'accéderait pas au bus pendant une période de son cycle d'exécution. Le système vidéo mettait à profit cette latence pour accéder à la mémoire écran, sans devoir recourir à un contrôleur mémoire. L'efficacité des systèmes était ainsi accrue jusqu'à 25 %. En revanche, le 6502 ne disposait pas du compteur 8 bits de rafraîchissement DRAM comme son concurrent le Z80.
Une des premières utilisations « publiques » fut la console de jeux vidéo Atari 2600. Les 2600 utilisaient un dérivé du 6502 appelé 6507, qui avait moins de broches et ne pouvait adresser que 8 ko de mémoire. Des millions d'exemplaires furent vendus sous cette forme. Les 6502 furent utilisés ensuite dans la famille des Apple II, puis dans les divers ordinateurs personnels de Commodore (séries PET et CBM), ACORN (modèle ATOM), Atari, le BBC Micro, la gamme Oric, et un nombre important d'autres plateformes. Un descendant du 6502, le 6510, a équipé les Commodore 64.
À l'origine, le CPC d'Amstrad devait être conçu autour du processeur 6502, mais lorsque Amstrad s'approcha de Locomotive Software pour développer un interpréteur Basic avec un délai très serré, Locomotive PLC, qui avait déjà un Basic fonctionnel sur Z80 a convaincu Amstrad de passer au Z80 pour respecter ses délais.
Dans la NES, les 6502 utilisés avaient été modifiés. Cette série, qui fut produite seulement pour Nintendo, prit le nom de « 2A03/2A07 ». Les 2A03/2A07 n'avaient pas le mode BCD des 6502 mais 23 registres supplémentaires memory-mapped pour la génération du son, l'affichage des sprites et la gestion des manettes.
La console PC Engine fait appel à une variante du MOS 6502, le 65SC02 (en) très exactement, modifiée par Hudson, le Hu6280.
De même à propos de la console portable Lynx d'Atari qui utilise un 65SC02 (en) conçu par Western Design Center.
La conception optimisée des 6502 inspira également les principaux concepteurs du processeur ARM RISC, et on peut ainsi dire qu'ils sont les successeurs de cette (famille) de processeurs puisque son esprit vit encore dans la conception de l'ARM, utilisée dans plusieurs ordinateurs de bureau aussi bien que dans une quantité de systèmes portatifs et systèmes embarqués, et vendu comme une boîte noire pour des systèmes totalement intégrés.
Le 6502 est un processeur 8 bits avec un bus d'adressage à 16 bits[1]. La logique interne fonctionne à la même vitesse que la fréquence externe. Cette fréquence d'horloge apparemment lente, typiquement 1 MHz[2], donnait cependant des performances comparables à celles d'autres processeurs à l'horloge quatre fois plus véloce. Le 6502 est équipé d'une logique interne câblée et pipelinée, alors que les autres CPU de cette époque étaient microprogrammés et avaient des vitesses internes finalement comparables aux 6502 (l'horloge interne du Z80 par exemple, se trouvait divisée par quatre). Bien que ceci puisse ressembler à une « astuce », les périphériques pouvaient tourner moins vite, ce qui abaissait le coût global du système, un facteur crucial sur le marché très concurrentiel des consoles de jeux et des ordinateurs personnels.
À la différence de l'Intel 8080 et des microprocesseurs semblables, le 6502 possède très peu de registres internes. À cette époque, la mémoire était plus rapide que les processeurs[réf. nécessaire] : il était plus sensé de vouloir optimiser l'accès mémoire plutôt que d'augmenter le nombre de registres. L'ALU dispose d'un accumulateur de 8 bits (A), deux registres d'index de 8 bits (X et Y), un registre statut de 8 bits (SR), un pointeur de pile de 8 bits (SP) et un compteur de programme de 16 bits (PC)[1]. L'accès logiciel à la pile se fait par l'intermédiaire de quatre instructions en mode d'adressage implicite type push ou pop de l'accumulateur ou du registre de statut du processeur.
La puce utilise le registre d'index et de pile efficacement dans plusieurs modes d'adressage, y compris un mode raccourci ou en page zéro qui accède aux adresses allant de 0 à 255 avec un seul octet d'extension (pas besoin d'en charger un deuxième comme pour une adresse longue) - le code spécifique 6502 recourt beaucoup à l'adressage en page zéro pour remplacer les registres inexistants. Pour des raisons évidentes, dans la plupart des micro-ordinateurs organisés autour du 6502 avec un système d'exploitation, l'OS lui-même faisait massivement appel à la page zéro, laissant au mieux une poignée d'octets inutilisés.
Les modes d'adressage incluent également un mode implicite (instructions de 1 octet), absolu (3 octets), relatif (2 octets), accumulateur (1), indirect X et Y (2) et immédiat (2) :
Les 6502 sont connus pour receler une quantité d'instructions non documentées qui changent d'une version à une autre du processeur. Le décodeur d'instructions du 6502 est réalisé dans une logique câblée dont le fonctionnement n'est garanti que pour les opcodes valides. Les 32 opcodes non documentés déclenchent plusieurs instructions simultanément, conduisant à des résultats inattendus.
L'instruction de branchement indirect du 6502, JMP (- - - -), est boguée. Si l'adresse, en hexadécimal, est - -FF, le processeur saute non pas à l'adresse stockée à (- -FF) et (- -FF+1), mais plutôt à (- -FF) et (- -00). Ni les 6510 ni les versions NMOS postérieures du 6502 telles que le 8502 et le 2A03 n'ont corrigé ce bogue. Bill Mensch, du Western Design Center, fut le premier à le rectifier dans le dérivé CMOS 65C02 ; le 65C816, un successeur 16 bits du 65C02, en est également exempt.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.