Spis treści
MOS Technology 6502

MOS Technology 6502 – 8-bitowy mikroprocesor firmy MOS Technology, który premierę miał 16 września 1975 roku[1][2][3].
Został zaprojektowany przez niewielki zespół pod kierownictwem Chucka Peddle, inżyniera, który brał udział w pracach nad procesorem Motorola 6800[4]. 6502 powstał jako tańsza alternatywa dla procesora Motoroli[4]. W 1975 roku kosztował on 25 USD[4] (podczas gdy np. Intel 8080 kosztował 150 USD a Motorola 6800 blisko 200 USD)[1][2][3].
Dzięki niskiej cenie stał się on podstawą do konstrukcji pionierskich komputerów takich jak KIM-1 czy Apple I, a następnie był szeroko wykorzystywany w wielu mikrokomputerach (w szczególności - komputerach domowych), których całe rodziny były budowane na bazie tego procesora[3]. Należą do nich m.in. Apple II, Atari czy Commodore PET[3]. Stosowano go także w automatach do gier oraz konsolach[3].
Powstało też wiele wariantów oraz procesory kompatybilne. Przykładem jest MOS 6510[5] (i jego odmiany) stosowane w późniejszych komputerach 8-bitowych produkowanych przez Commodore. Oprócz zastosowania do budowy komputerów, były (i są) one wykorzystywane w systemach wbudowanych oraz jako mikrokontrolery[2]. Niektóre warianty, jak np. WDC 65C02, są produkowane do dzisiaj (2025)[2][3].
Następcą 6502 jest procesor 65816, programowo kompatybilny z rodziną procesorów 65xx[6].
Opis
[edytuj | edytuj kod]
Charakterystyka:
- 8-bitowa szyna danych
- 16-bitowa szyna adresowa (przestrzeń adresowa o wielkości 64 KiB = 65536 B)
- Taktowany zegarem o częstotliwości 1 MHz (odmiany A i B – od 2 do 3 MHz)
- Najkrótszy cykl rozkazowy: 2 takty zegara, najdłuższy – 7, przeciętny dostęp do pamięci (odczyt lub zapis): 4 takty (3 w przypadku strony zerowej)
- 56 rozkazów, 13 trybów adresowania
Wewnętrznie mikroprocesor zawiera tylko 3 rejestry 8-bitowe dostępne bezpośrednio dla programisty:
- A – akumulator
- X, Y – indeksowe rejestry adresowe
Nie jest to jednak dużą wadą, ze względu na istnienie specjalnego trybu adresowania pamięci (tzw. adresowanie strony zerowej), w którym początkowe 256 bajty pamięci RAM mogły być wykorzystane prawie jak rejestry wewnętrzne. Reszta pamięci adresowana jest przy użyciu większości z 13 trybów adresowania, zarówno pośrednich (przez adresy na stronie zerowej) jak i absolutnych (w tym indeksowanych).
MOS 6502 w odróżnieniu od swojego konkurenta Z80 nie ma specjalnych rozkazów do obsługi urządzeń wejścia-wyjścia. Obszar stosu zaimplementowano za pomocą 8-bitowego rejestru stosu (SP), odwołującego się wyłącznie do pierwszej strony pamięci (adresy od 0x100 do 0x1ff).
Wersje
[edytuj | edytuj kod]Mikroprocesor MOS 6502 był pierwszym modelem "rodziny". Oprócz niego firma MOS Technology zaprojektowała i wprowadziła na rynek inne modele wstecznie zgodne z pierwszym modelem:
- 6502C „Sally” (nie należy jej mylić z MOS 65C02 a także z również nazwanym 6502C modelem mogącym pracować z częstotliwością 4 MHz) — 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 (według niektórych źródeł obecna także w ostatnich seriach Atari 400/800). Wyprowadzenie HLT służyło temu, 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 na linii adresowej). Wcześniej za wstrzymywanie pracy procesora odpowiadał zestaw 4 układów scalonych[7];
- MOS 6510;
- 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).
Obliczenia
[edytuj | edytuj kod]Mikroprocesor 6502 mógł wykonywać m.in. takie instrukcje jak dodawanie oraz odejmowanie, nie był jednak wyposażony w instrukcje dzielenia i mnożenia.
Urządzenia z procesorem 6502
[edytuj | edytuj kod]Komputery
[edytuj | edytuj kod]- Atari:
- Atari 400/800 oraz serie: XL, XE: 1,792 MHz (NTSC) – 1,77 MHz (wersja PAL)
- Polski komputer medyczny Neptune 184
- Commodore:
- Apple
- BBC Micro
- Laser 128
- Oric
Konsole
[edytuj | edytuj kod]- Atari:
- Atari 5200
- Atari 7800
- Atari XEGS
- Atari Lynx – procesor 65C02 był częścią kości Mikey
- Nintendo Entertainment System (a także jego klon – Pegasus)
Automaty do gier
[edytuj | edytuj kod]Zobacz też
[edytuj | edytuj kod]- MOS 6508
- MOS 6510
- MOS 8502
- WDC 65C02
- WDC 65816/65802 – 16-bitowy następca 6502
- Motorola 6800
- Z80
- lista rozkazów procesora
Przypisy
[edytuj | edytuj kod]- ↑ a b 1975 - Computer industry. „BYTE”. 9/90 (15), s. 370, wrzesień 1990. McGraw-HIll Inc. US. ISSN 1230-1345. [dostęp 2025-11-17]. (ang.).
- ↑ a b c d David Gray: 50 Years of the 6502. wdc65xx. [dostęp 2025-11-18]. (ang.).
- ↑ a b c d e f Chip Hall of Fame: MOS Technology 6502 Microprocessor. IEEE Spectrum, 2017-06-30. [dostęp 2025-11-18]. (ang.).
- ↑ a b c Bil Herd: Honoring Chuck Peddle; Father Of The 6502 And The Chips That Went With It. Hackaday. [dostęp 2025-11-18]. (ang.).
- ↑ Stan Wszola. Commodore 64. „BYTE”, s. 232-246, lipiec 1983. ISSN 0360-5280. [dostęp 2026-01-10]. (ang.).
- ↑ Dominik Falkowski. Turbo 64 Board. „Bajtek”. 1 (25), s. 9-10, styczeń 1988. Młodzieżowa Agencja Wydawnicza. ISSN 0860-1674. [dostęp 2025-09-29].
- ↑ Atari 8-Bit Computers: Frequently Asked QuestionsSection – 1.11) What are SALLY, ANTIC, CTIA/GTIA/FGTIA, POKEY, and FREDDIE? [online], www.faqs.org [dostęp 2020-12-12].
- ↑ Asteroids TECHNICAL DATASHEET. Arcadeology. [dostęp 2025-11-18].









