MC68000

MC68000 to 16/32-bitowy mikroprocesor CISC amerykańskiej firmy Motorola, pierwszy z serii M68000 (znanej także jako 68k, Motorola 68k, sixty-eight-kay lub Teksański Karaluch). Debiutował w roku 1979 i jest produkowany do dziś przez NXP Semiconductors. Zasilany jest napięciem 5 V. Nazwa procesora 68000 pochodzi od liczby tranzystorów jaką posiadał pierwszy model tego mikroprocesora.

Opis 
W projekcie procesora zaimplementowano 32-bitowy zestaw instrukcji, z 32-bitowymi rejestrami i 16-bitową wewnętrzną szyną danych. Procesor posiada 24-bitową szynę adresową i nie używa segmentacji pamięci co uczyniło go popularnym wśród programistów. Procesor używa 16-bitowej jednostki arytmetycznej (ALU) danych oraz dwóch 16-bitowych jednostek arytmetycznych używanych głównie dla adresów oraz posiada 16-bitową zewnętrzną szynę danych. Z tego powodu Motorola określiła go jako procesor 16/32-bitowy. Szyna adresowa jest w rzeczywistości 23-bitowa, brakuje najmłodszego bitu. Z tego powodu mikroprocesor może generować („wystawiać”) tylko parzyste adresy. Magistrala danych jest wewnątrz CPU buforowana przez szesnastobitowy bufor, do którego wstępnie odczytywane są dane z pamięci. W przypadku żądania odczytu bajtu spod nieparzystego adresu procesor podejmuje przetwarzanie młodszej części tego bufora, starszej zaś w przeciwnym wypadku. Odczyt słowa spod nieparzystego adresu jest niemożliwy – wymagałoby to obecności dwóch buforów danych i rozłożenia całej operacji na kilka kroków, czego procesor 68000 nie potrafi. Dalsze modele procesorów z tej serii są pozbawione tej niedogodności.

Procesor posiada cztery rodzaje rejestrów:
 8 32-bitowych rejestrów danych (ogólnego przeznaczenia): D0 – D7
 8 32-bitowych rejestrów adresowych A0 – A7, z których A7 (zrealizowany jako dwa rejestry sprzętowe) wykorzystywany jest jako specjalny wskaźnik stosu przy pracy w trybach użytkownika i nadzorcy
 32-bitowy rejestr licznika programu PC
 16-bitowy rejestr statusowy SR

Dostępne są następujące tryby adresowania:
 bezpośredniego rejestru danych – Dn
 bezpośredniego rejestru adresowego – An
 pośredniego rejestrem adresowym – (An)
 pośredniego rejestrem adresowym z postinkrementacją – (An)+
 pośredniego rejestrem adresowym z predekrementacją – -(An)
 pośredniego rejestrem adresowym z przesunięciem – w(An)
 pośredniego rejestrem adresowym z indeksem – b(An,Dn.[L,W]); b(An,Am.[L,W])
 absolutnego krótkiego – w
 absolutnego długiego – l
 licznikiem programu z przesunięciem – w(PC)
 licznikiem programu z indeksem – b(PC,Dn.[L,W]); b(PC,An.[L,W])
 natychmiastowe – #x
 rejestru statusowego – SR
 rejestru kodów warunków – CCR

Procesor ma dwa tryby pracy, użytkownika (user mode) i nadzorcy (supervisor mode). W trybie użytkownika wykonywane są programy aplikacyjne, w trybie nadzorcy – kod systemu operacyjnego. W porównaniu z trybem nadzorcy tryb użytkownika ma ograniczenia w dostępie do zasobów maszyny (niedostępne są krytyczne dla bezpieczeństwa systemu rejestry oraz obszary pamięci), dysponuje też nieco mniejszą listą rozkazów. Zestaw rejestrów nadzorcy i użytkownika jest ten sam z wyjątkiem wskaźnika stosu (są dwa oddzielne rejestry A7) oraz starszego bajtu rejestru statusu dostępnego tylko w trybie nadzorcy.

Wersje 
Oryginalna wersja MC68000 nie jest już produkowana. Przez Freescale Semiconductor wytwarzane są wersje unowocześnione:
 MC68HC000 – wersja CMOS procesora MC68000
 MC68HC001 – wersja MC68000, która może pracować z 8-bitową i 16-bitową szyną danych
 MC68SEC000 – niskonapięciowa wersja MC68000 (zasilana napięciem 3.3V)

Wykorzystywany w komputerach Amiga, Apple, Atari, wielu drukarkach, kopiarkach, faksach firm Adobe i Hewlett-Packard oraz urządzeniach sieciowych firmy Cisco.

Motorola 68000 w systemach komputerowych 
Procesory tej rodziny zaliczane są do bardzo wydajnych produktów dostępnych ówcześnie na rynku w tej klasie cenowej. 32-bitowy zestaw instrukcji i relatywnie wysoka wydajność sprawiła, że procesor stał się popularny w latach 80. Był szeroko wykorzystywany w nowej generacji komputerów osobistych wykorzystujących graficzny interfejs użytkownika (GUI), w tym:
 Atari ST (1985)
 Commodore Amiga (1985)
 Apple Macintosh (1984)

Komputery te umożliwiały wykonanie wszystkich tych czynności obliczeniowych co konkurencja, lecz dodatkowo oferowały bogate możliwości multimedialne oraz nowatorskie rozwiązania.

Procesor Motorola 68000 konkurował przede wszystkim z procesorem Intel 8088 wykorzystywanym w komputerach IBM PC i zgodnych jednak oferował wyższą wydajność.

Zobacz też 

 architektury komputerowe
 XT/370 – IBM PC mogący pracować jako System/370 dzięki posiadaniu procesorów Motoroli 68000

Przypisy 

Procesory Motorola