MC68000
Z Wikipedii
MC68000 – mikroprocesor CISC amerykańskiej firmy Motorola. Rozpoczął on udaną serię M68000 (znaną także jako 68k). Debiutował w roku 1979. Zasilany jest napięciem 5V. Nazwa procesora 68000 pochodzi od liczby tranzystorów jaką posiadał pierwszy model tego mikroprocesora.
[edytuj] Opis
Jest to 32-bitowy procesor (32-bitowy licznik programu, 32-bitowa przestrzeń adresowa i 32-bitowe rejestry), jednak z 16-bitową szyną danych. Poza tym procesor ma 24-bitową szynę adresową, wobec czego najstarszy bajt wszystkich rejestrów adresowych (w tym licznika programu) nie ma żadnego znaczenia.
Należy dodać, że 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 za wyjątkiem wskaźnika stosu (są dwa oddzielne rejestry A7) oraz starszego bajtu rejestru statusu dostępnego tylko w trybie nadzorcy.
[edytuj] 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.
Patrz: architektury komputerowe