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[1]). Debiutował w roku 1979 i jest produkowany do dziś przez NXP Semiconductors[2]. Zasilany jest napięciem 5 V. Nazwa procesora 68000 pochodzi od liczby tranzystorów jaką posiadał pierwszy model tego mikroprocesora.

Motorola 68000
Procesor 68000 z roku 1979

W projekcie procesora zaimplementowano 32-bitowy zestaw instrukcji, z 32-bitowymi rejestrami i 16-bitową wewnętrzną szyną danych[3]. 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[3] oraz posiada 16-bitową zewnętrzną szynę danych[4]. 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.

 
Rejestry procesora MC68000

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

edytuj

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

edytuj

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:

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ż

edytuj

Przypisy

edytuj
  1. Computer History Museum, Oral History Panel on the Development and Promotion of the Motorola 68000 [online], 27 lipca 2007.
  2. Low Cost 32-Bit Microprocessor (Including HC000, HC001, EC000 and SEC000)|NXP. [dostęp 2017-02-03]. (ang.).
  3. a b Thomas W. Starnes. „Byte (miesięcznik)”. 8 nr 4, kwiecień 1983. 
  4. Motorola M68000 Family Programmer’s Reference Manual, t. p. 1-1, Phoenix, Arizona: Motorola, 1992, ISBN 0-13-723289-6 [dostęp 2021-05-03] [zarchiwizowane z adresu 2015-09-24].