Copyright © Philip M. Parker, INSEAD. Terms of Use.

| Domain | Definition |
Computing | 6502 |
Source: compiled by the editor from various references; see credits. | |
(From Wikipedia, the free Encyclopedia)
The 6502 is an 8-bit microprocessor designed by MOS Technologies in 1975. When it was introduced it was the least expensive full featured CPU on the market by far, at about 1/6th the price, or less, of competing designs from larger companies such as Motorola and Intel. It was nevertheless faster than most of them, and, along with the Zilog Z80, sparked off a huge series of computer projects that would eventually result in the home computer revolution of the 1980s. The 6502 design was later licenced to a number of companies, and is still produced today.
The 6502 was designed primarily by the same team that had designed the Motorola 6800. After quitting Motorola en-masse, they quickly designed their 6501, a completely new design that was nevertheless pin-compatible with the 6800. Motorola immediately sued, although today the case would have been dismissed out of hand, and the damage to MOS was enough for them to agree to stop producing the 6501.
The result was the similar 6502. It differed only by a re-arrangement of the pins so it would no longer run in a 6800 motherboard,and Motorola was apparently no longer interested. However this left MOS with the problem of getting new developers onto the system, so in response engineer Chuck Peddle designed the KIM-1 single-board computer. Much to their surprise, the KIM-1 sold in "huge" numbers to hobbyists and tinkerers as well as the intended market of engineers. The related Rockwell AIM-65 control/training/development system also did well.
The 6502 was released to the market in September 1975 at $25, while at the same show the 6800 and Intel 8008 were selling for $179. At first many people thought it was some sort of a scam, but before the show was over both Motorola and Intel had dropped their prices to $79. Instead of saving them, the 6502 was now legitimized and started selling by the hundreds.
The 6502 had one feature that made it particularly good for a home computer system, a small delay in which it was guaranteed to not be accessing the bus. Video display hardware could use this period to read out a line of the screen without having the 6502 pause while this happened. In general terms this sped the performance of a system using the 6502 by about 25%.
One of the first "public" uses for the design was the Atari 2600 videogame console. The 2600 used an offshoot of the 6502 called the 6507, which had fewer pins and could address only 4 KB of RAM as a result. Millions would be sold in this form. It was next used in the Apple II family, and then quickly appeared in various Commodore and Atari home computers, the BBC Micro, and a huge number of other designs now lost to history.
Another important use of the 6502 was in the Nintendo Famicom, a Japanese video game console. Its North American and European equivalent, the Nintendo Entertainment System, also got the 6502. The 6502 used in the NES was a modified version that was produced solely for Nintendo, called "2A03". The 2A03 lacked the 6502's decimal mode but added 23 memory-mapped registers for sound generation, object drawing, and joypad reading.
The 6502 is an 8-bit processor with a 16-bit address bus. The internal logic runs at the same speed as the external clock rate, but the seemingly slow clock speeds, typically 1MHz, is actually competitive with other CPUs running four times as fast because it is a pipelined static processor and the others of its time were microcoded and had internal speeds comparable with the 6502 (the Z80 internal clock, for instance, was divided by four). Although this may sound like a "trick", it had the side effect of lowering the speed requirement of the peripherals attached to the CPU, thus lowering overall system cost; an important factor in getting design wins in the very price sensitive game console and home computer markets.
Another speed and price enhancement was to simplify the decoder stage: there were no opcodes with the value xxxxxx11, reducing that 1-of-4 decoder to a single NAND gate. Instructions with the value xxxxxx11 actually executed two instructions in parallel, some of them useful.
Unlike the Intel 8080 and similar microprocessors, the 6502 had very few registers. At the time RAM was faster than CPUs, so it made sense to optimize for RAM access rather than increase the number of registers on a chip. Inside was one 8-bit accumulator register (A), two 8-bit index registers (X and Y), an 8-bit status register (SR), an 8-bit stack pointer (SP), and a 16-bit program counter (PC).
The subroutine call/scratchpad stack's address space was hardwired to memory page $01, i.e. to address range $0100 (256) – $01FF (511). Software access to the stack was through four implied addressing mode instructions, whose functions were to push or pop the accumulator or the processor status register.
The chip used the index and stack registers effectively with several addressing modes, including a fast "direct page" or "zero page" mode that accessed memory locations from address 0 to 255 with a single 8-bit address (it didn't have to fetch a second byte for the address) – code for the 6502 used the zero page much as code for other processors would have used registers.
Addressing modes also included implied (1 byte instructions); absolute (3 bytes); relative (2 bytes); accumulator (1); indirect,x and indirect,y (2); and immediate (2). Absolute mode was a general-purpose mode. Relative was used for conditional branch instructions, which could move the program counter up to 128 bytes forward or backward. Accumulator mode used the accumulator as an effective address, and didn't need any operand data. The indirect modes were useful for array processing and other looping. The offset was an 8-bit quantity stored in zero page memory. Immediate mode used an 8-bit literal operand.
6502s are almost notorious for having a variety of undocumented instructions, which vary from one design to the next. This was caused by roughly 32 opcodes being left undefined in the original 6502. This was common at the time, less useful instructions were printed at the outside edges of the chip, so if yields were low you could simply not document those opcodes, and many more chips would pass tests (often the damage to a chip is on the outside).
The 6502's indirect jump instruction, JMP (xxxx), was broken. If the address was hexadecimal xxFF, the processor would not access the address stored in xxFF and xxFF+1, but rather xxFF and xx00. The 6510 did not fix this bug, nor was it fixed in any of the other NMOS versions of the 6502 such as the 8502 and the 2A03. Bill Mensch at Western Design Center was the first to fix it, in the 65C02 CMOS derivative; he then went on to design the WDC 65C816 processor, a 16 bit version of the 65C02.
See also: MOS Technologies 6501
This article (or an earlier version of it) contains material from FOLDOC, used with permission.History
Description
6502 Trivia
External links
Source: adapted by the editor from Wikipedia, the free encyclopedia under a copyleft GNU Free Documentation License (GFDL) from the article "MOS Technologies 6502."
Crosswords: 6502 |
| Specialty definitions using "6502": 6501, 650x, 6510, 65816 ♦ Advanced RISC Machine, Apple Computer, Inc., Apple II ♦ Commodore 1541, Commodore 64, cross-assembler ♦ Motorola 6800, Motorola 6809 ♦ return from interrupt ♦ Small-C ♦ VIC-20. (references) |
Source: compiled by the editor from various references; see credits. |
| "6502" is generally used as a cardinal number -- approximately 100.00% of the time. "6502" is used about 9 times out of a sample of 100 million words spoken or written in English. Its rank is based on over 700,000 words used in the English language. Some parts-of-speech are not covered due to the samples used by the British National Corpus. (note: percents less than one-hundredth of one percent have been omitted) |
| Parts of Speech | Percent | Usage per 100 Million Words | Rank in English |
| Cardinal Number | 100% | 9 | 117,287 |
Source: compiled by the editor from several corpora; see credits.
| The following statistics estimate the number of searches per day across the major English-language search engines as identified by various trade publications. Hyperlinks lead to commercial use of the expression at Amazon.com. |
| Expression | Frequency per Day |
6502 | 15 |
6502 download emulator free free pc software ware window | 5 |
6502 microprocessor | 5 |
6502 processador | 4 |
6502 ley | 3 |
6502 8 bit emulator software window | 3 |
6502 ora | 2 |
| Source: compiled by the editor from various references; see credits. | |
Hexadecimal (or equivalents, 770AD-1900s) (references)36 35 30 32 |
| Leonardo da Vinci (1452-1519; backwards) (references)
|
Binary Code (1918-1938, probably earlier) (references)00110110 00110101 00110000 00110010 |
HTML Code (1990) (references)6 5 0 2 |
ISO 10646 (1991-1993) (references)0036 0035 0030 0032 |
Encryption (beginner's substitution cypher): (references)24231820 |
| 1. Crosswords 2. Usage Frequency 3. Expressions: Internet 4. Orthography | 5. Bibliography |
Copyright © Philip M. Parker, INSEAD. Terms of Use.