MOS Technology 6502

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
Procesor MOS 6502 w obudowie DIL-40

MOS Technology 65028-bitowy mikroprocesor firmy MOS Technology.

Opis[edytuj | edytuj kod]

Schemat wyprowadzeń układu MOS 6502

Mikroprocesor MOS 6502 był szeroko wykorzystywany w latach 80. XX wieku do budowy komputerów domowych (np. Apple II). Charakterystyka:

  • 8-bitowa szyna danych
  • 16-bitowa szyna adresowa (przestrzeń adresowa o wielkości 64 kB = 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:

Nie jest to jednak zbyt dużą wadą ze względu na istnienie specjalnego trybu adresowania pamięci (tzw. adresowanie strony zerowej) w którym pierwsze 256 bajtów pamięci RAM mogło 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 przeciwieństwie do 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 zgodne w dół z pierwszym modelem:

  • 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 (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 wynikających z możliwości równoczesnego odwołania się procesora i ANTIC-a do tej samej komórki pamięci) — wcześniej za wstrzymywanie pracy procesora odpowiadał zestaw 4 układów scalonych;
  • 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.

Komputery używające procesora 6502[edytuj | edytuj kod]

Konsole używające procesora 6502[edytuj | edytuj kod]

Zobacz też[edytuj | edytuj kod]