MOS 6502

mos6502
MOS 6502 został opracowany w 1975 roku i był konstrukcją inną niż ówczesna 8-bitowa konkurencja: Intel 8080 i Motorola 6800. Był uproszczony do granic możliwości (np. miał tylko 3 rejestry) i posiadał niewielką listę instrukcji. Te niedostatki rekompensowała jednak duża szybkość działania w porównaniu do konkurencyjnych konstrukcji.
6502 był bardzo często wykorzystywanym mikroprocesorem w różnych komputerach. Mógł dodawać i odejmować, jednak dzielić i mnożyć nie potrafił – robiło to za niego oprogramowanie.

Specyfikacja procesora :

Taktowanie: 1MHz
Szyna adresowa : 8 bitów
Szyna danych: 16 bitów
Rejestry procesora: 3
8 bitowy rejestr stosu

6502 występował w wielu odmianach jak na przykład:

  • () 6502C (nie należy jej mylić z MOS 65C02) — wersja 6502 różniąca się od oryginału obecnością dodatkowego wyprowadzenia HLT stosowana w 8 bitowych komputerach Atari począwszy od wersji XL (wg niektórych źródeł obecna także w ostatnich seriach Atari 400/800). Wyprowadzenie HLT służyło, aby układ ANTIC odpowiedzialny za generowanie obrazu mógł wstrzymać pracę procesora w momencie pobierania danych z pamięci obrazu (celem było uniknięcie konfliktów wynikających z możliwości, że procesor i ANTIC równocześnie będą chciały odwołać się do tej samej komórki) — wcześniej za wstrzymywanie pracy procesora odpowiadał zestaw 4 układów scalonych;
  • () MOS 6510 – szerzej opisany na osobnej stronie;
  • () MOS 65C02 – wersja CMOS procesora, w której poprawiono parę błędów i dodano kilka nowych rozkazów i trybów adresowania; cechą charakterystyczną tej konstrukcji w przeciwieństwie do 6502, 6502C i 6510 była eliminacja nieudokumentowanych rozkazów (kody rozkazów procesora, które nie były obecne w oficjalnej liście rozkazów, a które powodowały wykonanie jakiegoś działania przez procesor) — podanie takiego kodu odtąd powodowało, że procesor nie podejmował żadnych działań, a w celu minimalizacji błędów działania programów zachowano długość rozkazu (wraz z operandami) oraz czas jego wykonania (tzn. jeśli dany rozkaz nieudokumentowany po swoim kodzie zawierał operand o długości 1 bajta a wykonanie tego rozkazu trwało 5 cykli zegara, to 65C02 po wczytaniu kodu nic nie robił, ale przechodził do wykonania rozkazu po tym operandzie i czekał 5 cykli).

MOS 6502 został zastosowany w następujących konstrukcjach: