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[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.
Opis
edytujW 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.
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
edytujOryginalna 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
edytujProcesory 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- architektury komputerowe
- XT/370 – IBM PC mogący pracować jako System/370 dzięki posiadaniu procesorów Motoroli 68000
Przypisy
edytuj- ↑ Computer History Museum , Oral History Panel on the Development and Promotion of the Motorola 68000 [online], 27 lipca 2007 .
- ↑ Low Cost 32-Bit Microprocessor (Including HC000, HC001, EC000 and SEC000)|NXP. [dostęp 2017-02-03]. (ang.).
- ↑ a b Thomas W. Starnes. „Byte (miesięcznik)”. 8 nr 4, kwiecień 1983.
- ↑ 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] .