MOS Technology 6502

(Przekierowano z MOS 6502)

MOS Technology 65028-bitowy mikroprocesor firmy MOS Technology.

Procesor MOS 6502 w obudowie DIL-40

Opis edytuj

 
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 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:

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

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[1];
  • 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

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

Konsole używające procesora 6502 edytuj

Zobacz też edytuj

Przypisy edytuj