article sur le MOS Technology 6502, Explication sur le MOS Technology 6502

MOS Technology 6502 Article, Signification, Explication

  

Le MOS Technology 6502 est un microprocesseur 8 bits conçu par MOS Technology en 1975. Quand il fut présentée, il était de loin le processeur le plus économique sur le marché, à environ 1/6e 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'ordinateur qui furent par la suite la conséquence de la révolution d'ordinateurs personnels des années 80. La conception du 6502 était à l'origine sous traité par Rockwell et Synertek et plus tard fut autorisée à un certain nombre de compagnies, il est encore fabriqué pour des systèmes embarqués.

Table of contents
1 Histoire et utilisation
2 Description
3 Caractéristiques floues
4 Remarques sur le 6502
5 References
6 Liens externes (en anglais)

Histoire et utilisation

Le 6502 à été conçus principalement par la même équipe qui avait conçu le Motorola 6800. Après avoir quité Motorola en bloc, ils ont rapidement conçu le 6501, une conception complètement nouvelle mais dont le brochage était néanmoins compatible avec le 6800. Motorola lança des poursuite judiciaires immédiatement, et bien qu'aujourd'hui le cas aurait été hors de propos, les dommages sur MOS furent suffisant pour qu'ils acceptent de cesser de produire le 6501.

Le résultat fut le 6502 « poursuite-compatible ». Différant seulement par un réorganisation du brochage inutilisable sur une carte mère 6800. Motorola apparemment ne fut plus intéressé. Cependant ceci handicapa MOS pour obtenir de nouveaux développeurs sur le système, ainsi en réponse l'ingénieur Chuck Peddle conçu le KIM-1, ordinateur sur une seule carte. À leur grande surprise, le KIM-1 fut énormement vendu à des amateurs et des bricoleurs aussi bien que sur le marché initialement prévu des ingénieurs.

Les 6502 sont sortit sur le marché en septembre 1975 à 25$, alors que les 6800 et Intel 8008 se vendaient pour 179$. D'abord beaucoup de personnes pensait qu'il s'agissait d'une blague, mais avant que l'exposition fut terminée, Motorola et Intel baissèrent leurs prix à 79$. Au lieu de les sauver, les 6502 furent maintenant légitimés et leur vente commenca par centaines.

Les 6502 avaient une particularité qui les rendaient particulièrement bon pour un système d'ordinateur personnel, un petit retard qui garantissait de ne pas accéder au bus. Le matériel d'affichage vidéo pourrait utiliser ce retard pour tracer une ligne sur l'écran sans le 6502. Ceci accélérait d'une façon générale la vitesse des systèmes utilisant le 6502 d'environ 25%.

Une des première utilisation « publique » 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'exemplaire furent vendu sous cette forme. Les 6502 furent utilisé ensuite dans la famille des Apple II, et apparu alors rapidement dans les divers ordinateurs personnels de commodore et Atari, le BBC Micro, et un nombre énorme d'autre système que l'histoire à désormait perdu.

Une autre utilisation importante du 6502 était dans la NES. Les 6502 utilisés dans la NES étaient une version modifiée qui fut produite seulement pour Nintendo, appelée le « 2A03 ». Le 2A03 n'avait pas le mode décimal des 6502 mais avait en plus 23 registres memory-mapped pour la génération du son, l'écriture des objets et la gestion des manettes.

La conception efficace des 6502 inspira également les principaux concepteurs du processeur ARM RISC, et on peut ainsi dire qu'ils sont les successeur de cette (famille) de processeur puisque son esprit vit encore dans la conception de l'ARM, utilisée dans des plusieurs ordinateurs de bureau aussi bien qu'une quantité de systèmes portatifs et systèmes embarqué, et vendu comme un bloc propriétaire destiné à être utilisé sur des systèmes en une seule puce.

Description

Le 6502 est un processeur 8 bits avec un bus d'adressages 16 bits. La logique interne fonctionne à la même vitesse que la fréquence externe. Mais cette fréquence d'horloge apparemment lente, typiquement 1 MHz, était réellement concurrentielle avec d'autre procésseurs fonctionnant quatre fois plus rapidement, parce que c'est un processeur statique canalisé, et les autres de cette époque etaient microprogrammés et avaient des vitesses internes comparables aux 6502 (l'horloge interne du Z80 par exemple, été divisée par quatre). Bien que ceci puisse ressembler à une « astuce », ceci eu l'effet secondaire d'abaisser les condition de vitesse des périphériques branchés au processeur, ce qui abaissait le coût global du système. un facteur important pour gagner des concepteur sur les marchés des console de jeu et des ordinateur personnels très sensible au prix.

À la différence de l'Intel 8080 et des microprocesseurs semblables, les 6502 ont très peu de registres. À cette époque la mémoire était plus rapide que les processeurs, ainsi il etait censé d'optimiser pour l'accès de la mémoire plutôt que d'augmenter le nombre de registres. À l'intérieur il y avait un registre accumulateur de 8 bits (A), deux registres d'index de 8 bits (X et Y), un registre statut de 8 bits (SR), un indicateur de pile de 8 bits (PS), et un compteur de programme de 16 bits (PC).L'accès logiciel à la pile était fait par l'intermédiaire de quatre instructions implicites de mode d'adressage dont la fonction étaient pushou pop sur le registre accumulateur ou le registre de statut du processeur.

La puce utilisait le registre d'index et de pile efficacement sur plusieurs modes d'adressage, y compris un mode direct page ou zero page qui accédait à des endroits de la mémoire allant de l'adresse 0 à 255 avec une adresse simple de 8 bits (il n'y avait pas à chercher un deuxième byte pour l'adresse) - un code spécifique pour le 6502 utilisait beaucoup le zero page car le code pour d'autres processeurs aurait utilisé des registres à la place. Pour des raisons évidentes, dans des la plupart des micro-ordinateurs basé sur le 6502 ayant un système d'exploitation, l'OS lui-même utilisait presque entièrement la page zéro, laissant peut-être d'une poignée d'endroits pour l'utilisateur.

Les modes d'adressage incluaient également un mode implicite (instructions de 1 octet), absolu (3 octets),relatif (2 octets),accumulateur (1), indirect, x et indirect, y (2) ; et immédiat (2).

  • Le mode absolu était un mode d'utilisation général.
  • Le mode relatif etait utilisé pour les instructions de branchement conditionnelles qui pouvaient déplacer le compteur de programme jusqu'à 128 octets vers l'avant ou vers l'arrière.
  • Le mode d'accumulateur utilisait l'accumulateur comme adresse réelle, et n'avait besoin d'aucune opérande.
  • Le mode immédiat utilisait une opérande littérale de 8 bits.
  • Les modes indirects étaient utile pour le traitement matriciel et les boucles. Avec le mode indirect,y, le registre de 8 bits Y était ajouté à une base de 16 bits située dans la mémoire zéro page (un octets dans l'opcode donnait l'endroit de la zéro page). Les registres X et Y de 8 bits étaient utilisés en tant que des offset plutôt que des index de registres 'normaux'. L'incrémentation de X ou de Y afin de parcourir le tableau était une opération 8 bits de deux cycles, quoique le tableau pouvait être située n'importe où dans l'espace adresse de 16 bits (donnant la base de 16 bits lue a partir de la zero page). C'est où les 6502 diffèrent plus du Motorola 6800. Un regard trop rapide sur les spécifications du 6502 montrant qu'il y a seulement des registres d'index de 8 bits est ainsi tout à fait fallacieux.

Voir l'article Hello world (en anglais) pour un exemple simple mais caractéristique du langage assembleur du 6502

Caractéristiques floues

Les 6502s sont presque connu pour avoir une quantité d'instructions non documentées qui changent d'une version du processeur à la suivante. Le décodage d'instruction dans les 6502 est implémenté par un tableau logique câblée qui est seulement définie pour les opcodes valides. Les 32 opcodes non documentés déclenchent plusieurs instructions valides d'un seul coup, menant a des résultats inattendus.

L'instruction indirecte de saut du 6502, JMP (xxxx), était défaillante. Si l'adresse en hexadécimal était xxFF, le processeur n'accédait pas à l'adresse stockée à xxFF et xxFF+1, mais plutôt a xxFF et xx00. Les 6510 n'ont pas corrigé ce bogue, il ne fut pas corrigé dans n'importe lequel des autres versions NMOS du 6502 tels que le 8502 et le 2A03. Bill Mensch du Western Design Center fut le premiers à le corriger, dans le dérivé CMOS 65C02, il a alors continué sur la conception du 65C816, un successeur 16 bits du 65C02.

Remarques sur le 6502

  • En 1984 dans le film de science-fiction Terminator avec Arnold Schwarzenegger, le public a un moment voit une scène à travers l'Å“il/caméra du robot T-800 Model-101, où un fragment de programme en code asseembleur du 6502 défile en bas de l'écran. Le code réel montré est la sortie écran d'un programme de checksum pour Apple II publié dans le magasine « Nibble ».
  • Dans la série animée de télévision Futurama, Il fut indiqué dans l'épisode « Fry & the Slurm Factory » que Bender, un « robot industriel » androïde de fiction, construit en 2998, avait des 6502 en tant que « cerveau ».

References

  • Mansfield, Richard (1983). Machine Language For Beginners. Personal Computer Machine Language Programming For The Atari, VIC, Apple, Commodore 64, And PET/CBM Computers (or, Machine Language Programming For BASIC Language Programmers). Greensboro, North Carolina: Compute! Publications, Inc. Copyright © 1983, Small System Services, Inc. ISBN 0-942386-11-6. voir les liens externe en dessous.

Liens externes (en anglais)


C'est un article concernant le MOS Technology 6502. La page contient la signification du MOS Technology 6502 , Description et explication au sujet de MOS Technology 6502

recherche quelque chose