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

OpisEdytuj

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.

WersjeEdytuj

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 komputerowychEdytuj

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

PrzypisyEdytuj

  1. Computer History Museum, "Oral History Panel on the Development and Promotion of the Motorola 68000", 27 lipca 2007.
  2. Low Cost 32-Bit Microprocessor (Including HC000, HC001, EC000 and SEC000)|NXP (ang.). [dostęp 2017-02-03].
  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].