Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
MOS Technology 8502
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Description== ===Memory access in 8-bit machines=== Common [[random-access memory]] (RAM) of the Commodore C64-era allowed accesses at 2 MHz. If the CPU and display chip both shared the same memory to communicate, which was the common solution in the era when RAM was expensive, then one would normally have to have the CPU and [[video display controller|display chip]] arbitrate access to the bus so that only one of them used it at a time, generally by having one of them pause the other. Assuming the two chips require roughly equal access, that means the chips are paused half of the time, each effectively running at 1 MHz.{{efn|In practice, due to the timing of television signals, the CPU does have more time available on the bus than the display chip.}} The 6502-family had a feature that eased the design of such systems. The 6502 used a two-phase clock to drive its internal circuitry, but only accessed memory during one of the two phases. That meant the display chip could access memory during alternating clock phases without having to pause the CPU. The major advantage of this style of access is that the two chips do not have to communicate to pause each other, they simply watch the already-existing clock signal present on the 6502's pins. In the original C64, this timing trick was used to allow the [[MOS Technology VIC-II|VIC-II]] to interleave its access to [[main memory]] with that of the 6510.{{efn|Most 6502-based machines of the era used this concept, which is why the 1 MHz speed of the CPU is common on machines with 2 MHz RAM - The [[Commodore PET|PET]] ran at 1 MHz, the [[Apple II]] at 1.02, etc. For comparison, the [[Atari 8-bit computers]] use the explicit pausing solution, which offers higher performance but requires additional circuitry, and later, a custom version of the CPU. The [[BBC Micro]] used interleaving like the C64, but had 4 MHz RAM, allowing it to run the CPU and display at 2 MHz.}} ===8502=== The 8502 is mostly a conversion of the original 6502 to be fabricated on [[Intel]]'s HMOS-II process, introduced in 1979 and available for 3rd party use. This process used smaller feature sizes, which allowed the same chip to be produced within a smaller area, and thus to cost less (not only for using less material but also because of greater [[Semiconductor_device_fabrication#Device_yield|yield]]). As a result of being smaller, the chip also required less energy to run and dissipated less heat. This made it useful in some roles where the original 6502 might not be appropriate. The original 6502 came in three versions, A, B and C, differing in their maximum speed, 1, 2 or 4 MHz, respectively. There was no physical difference between these designs; if a particular chip ran successfully at 2 MHz in testing it was labeled B, otherwise A. With the move to the HMOS process, most of the 8502s were capable of running at 2 MHz, the equivalent of the 6502B. Changing the running speed of a 6502-based processor is as simple as changing the input clock signal, which meant the 8502 could easily switch between 2 MHz and the 6510's 1 MHz. When the clock runs at double-speed, it faces the problem that there is not enough time for the VIC to access memory during the free half-cycles. For this reason, the 8502 could only run at double-speed full-time when being used with the 80-column [[MOS Technology VDC|VDC]] in the C128, which had separate memory for the display that was not being directly accessed by the CPU. When running a VIC display mode, the two chips began to share access as was the case in the C64, and this meant the CPU had to return to its normal ~1 MHz speed. Programs could disable the screen during CPU-intensive calculations to allow the CPU to run at its faster speed. A smaller speed gain, about 35%, was also possible while keeping the VIC display active by switching the CPU to 2 MHz only while the VIC is drawing the empty border along the top and bottom of the screen, since the VIC performs no RAM access during that time. The pinout is slightly different than the 6510. The 8502 has an extra I/O-pin (the built-in I/O port mapped to addresses 0 and 1 is extended from 6 to 7 bits) and lacks the Ο2-pin that the 6510 had. The 8502 family also includes the MOS 7501, 8500 and 8501. [[Image:MOS8502.svg|right|thumb|215px|8502 pin configuration<ref name="CBM128SM">{{cite book| title=Service Manual C-128/C128D Computer| publisher=Commodore Business Machines |date=November 1987 |url=https://archive.org/details/Commodore_128_128D_Service_Manual_314001-08_1987_Nov_Alt_Ver}} PN-314001-08</ref> (40-Pin [[Dual in-line package|DIP]])]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)