MOS Technology 6502

MOS Technology 6502

MOS Technology 6502 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 MOS Technology 6502 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 d'ordinateurs personnels des 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 2014 pour équiper des systèmes embarqués. Sommaire 1 Histoire et utilisation 2 Description 3 Des caractéristiques floues 4 Remarques sur le 6502 5 Références 6 Liens externes (en français) Schema d'un circuit MOS 6502. 7 Liens externes (en anglais) Caractéristiques Production 1975 Histoire et utilisation Fabricant MOS Technology Fréquence 1 MHz à 1,55 MHz Le 6502 a été conçu principalement par l'équipe qui avait développé le Motorola 6800. Après avoir quitté Motorola en Finesse de 8000 nm à 8 000 nm bloc, ses ingénieurs ont rapidement sorti le 6501, d'une conception complètement nouvelle mais dont le brochage gravure 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é Cœur MOS Tech 6502 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 l'ingénieur 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. Circuit intégré d'un microprocesseur MOS Le 6502 sortit sur le marché en septembre 1975 à 25 $, alors que les 6800 et Intel 8008 se vendaient pour 179 $. Tout d'abord, Technology 6502. beaucoup de 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. Le 65C02, version CMOS du 6502 Une des premières utilisations « publiques » fut la console de jeu 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, l'Oric, et un nombre énorme d'autres systèmes que l'histoire a désormais oubliés. Un descendant du 6502, le 6510, a équipé les Commodore 64. 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. Description Le 6502 est un processeur 8 bits avec un bus d'adressage à 16 bits. La logique interne fonctionne à la même vitesse que la fréquence externe. Cette fréquence d'horloge apparemment lente, typiquement 1 MHz, 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. À cette époque la mémoire était plus rapide que les processeurs, il était plus sensé de vouloir optimiser l'accès mémoire plutôt que d'augmenter le nombre de registres. À l'intérieur on trouve 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).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) : Brochage du processeur 6502 Le mode absolu constitue un mode d'utilisation général ; Le mode relatif sert aux instructions de branchement conditionnels qui peuvent déplacer le PC jusqu'à 128 octets vers l'avant ou vers l'arrière ; Le mode accumulateur utilise l'accumulateur comme adresse réelle, et n'a besoin d'aucun opérande ; Le mode immédiat exploite un opérande littéral d'un octet ; Les modes indirects facilitent le traitement matriciel et les boucles. Avec le mode indirect Y, le registre de 8 bits Y s'ajoute à une base de 16 bits située dans la mémoire en page zéro (dont un octet de l'instruction donne l'adresse). Les registres X et Y de 8 bits fonctionnent comme pointeurs plutôt qu'en tant d'index normaux. L'incrémentation de X ou de Y, nécessaire à parcourir séquentiellement le tableau prend deux cycles, le tableau pouvant être situé n'importe où dans l'espace d'adressage de 16 bits. C'est l'un des points où le 6502 innove le plus par rapport au Motorola 6800. Un regard trop rapide sur les spécifications du 6502, laissant croire qu'il n'y a que deux registres d'index de 8 bits, ne reflète pas toute la puissance du processeur. Voir l'article Hello World (en anglais) pour un exemple simple mais caractéristique du langage assembleur du 6502 Des caractéristiques floues Les 6502 sont connus pour recéler une quantité d'instructions non documentées qui changent d'une version à une autre du processeur. Le décodeur d'instruction 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 (xxxx), est boguée. Si l'adresse, en hexadécimal, est xxFF, le processeur saute non pas à l'adresse stockée à (xxFF) et (xxFF+1), mais plutôt à (xxFF) et (xx00). 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. Remarques sur le 6502 En 1984 dans le film de science-fiction Terminator avec Arnold Schwarzenegger, le public à un moment voit une scène à travers Le processeur 65C816, l'œil-caméra du robot T-800 Model-101, où un fragment de programme en code assembleur du 6502 défile en bas de l'écran.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    1 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us