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.
![Thumb](http://upload.wikimedia.org/wikipedia/commons/thumb/6/61/Nedap_ESD1_-_mainboard_-_Motorola_MC68HC000FN8-0695.jpg/640px-Nedap_ESD1_-_mainboard_-_Motorola_MC68HC000FN8-0695.jpg)
![Thumb](http://upload.wikimedia.org/wikipedia/commons/thumb/2/28/XC68000.agr.jpg/640px-XC68000.agr.jpg)
Opis
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.
![Thumb](http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/MC68000-rejestry.svg/320px-MC68000-rejestry.svg.png)
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:
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
Wikiwand - on
Seamless Wikipedia browsing. On steroids.