Motorola 68000

MC 68000 Opis tego obrazu, również skomentowany poniżej Prototyp procesora Motorola XC68000L. Ogólne informacje
Produkcja Od 1979 do 1990
Producent Motorola
procesor Nie zaimplementowano
Przedstawienia
Częstotliwość od 2  MHz  do 12  MHz
Specyfikacje fizyczne
Mieszkaniowy 64-pinowe DIL
Architektura i klasyfikacja
Architektura CISC 16/32
big endian big endian

Pojawiła się w 1979 roku , Motorola 68000 to 16/32- bitowy mikroprocesor CISC opracowany przez Motorolę . Jest to pierwszy z rodziny mikroprocesorów często określanych jako m68k lub 680x0 , która obejmuje mikroprocesory Motorola 68010 , Motorola 68020 , Motorola 68030 , Motorola 68040 i Motorola 68060 . Nazwa 68000 pochodzi zarówno z ciągłości z rodziną mikroprocesorów Motorola 6800, jak i liczby zawartych w niej tranzystorów , nieco ponad 68 000.

Architektura

Chociaż zachowaliśmy głównie powiększenie i mnożenie dostępnych rejestrów, a także wprowadzenie pewnej ortogonalności w zestawie instrukcji, główną innowacją serii 68000 w porównaniu do jej poprzedniczki, Motoroli 6809 , jest wygląd uprzywilejowanego instrukcje i użytkownik - poziomy operacyjne przełożonego. To rozróżnienie ma fundamentalne znaczenie w nowoczesnych systemach operacyjnych, takich jak Unix , którego bez tej innowacji trudno byłoby stworzyć na tych platformach.

Zwróć uwagę na obecność w instrukcji TAS (test set), które można testować i zmodyfikować wartość bajtu w pamięci w pojedynczej instrukcji nie przerywanej . Ten typ instrukcji jest niezbędny do implementacji semaforów używanych do komunikacji między procesami , a zatem do wielozadaniowych systemów operacyjnych .

Dwie małe wady, poprawione w Motoroli 68010 , sprawiają jednak, że 68000 nie jest w stanie obsługiwać wirtualizacji i pamięci wirtualnej  : Instrukcja MOVE from SR pozwala na odczytanie nadzorczej części rejestru SR nawet w trybie użytkownika, co zapobiega jego wirtualizacji; nie jest możliwe ponowne uruchomienie instrukcji, która spowodowała błąd dostępu do pamięci, co uniemożliwia wznowienie programu po załadowaniu brakujących danych.

16/32 bity

68000 jest określany jako 16/32 bitowy, ponieważ jego rejestry mają szerokość 32 bity, a jego instrukcje akceptują dane 8, 16 i 32 bitowe. Jednak jednostka ALU ( Arithmetic Logic Unit ) ma szerokość 16 bitów, więc operacje 32-bitowe wymagają większej liczby cykli zegara. Ponadto magistrale zewnętrzne mają szerokość 16 bitów dla danych i 24 bity dla adresów.

Miejsce w pamięci

68000 może również zająć się liniowo całkowity obszar pamięci 16 MB .

Ta przestrzeń pamięci może być podzielona na cztery części (program nadzorcy, dane nadzorcy, program użytkownika, dane użytkownika) bez użycia zewnętrznego obwodu, ale po prostu przez dekodowanie trzech linii stanu dostarczonych przez procesor; te trzy bity zapewniają doskonałe zabezpieczenie sprzętowe danych i umożliwiają rozszerzenie przestrzeni pamięci do 64 megabajtów.

Może być również używany z obwodami peryferyjnymi pierwszej generacji ( na przykład PIA MC6821 ) dzięki sygnałom synchronizacji dostępnym na magistrali.

68000 to big endian .

Zestaw instrukcji

Motorola 68000 posiada 8 32-bitowych rejestrów danych, 7 32-bitowych rejestrów adresowych i rejestr stosu , a także cztery specjalne rejestry opisujące stan procesora.

Istnieją 82 instrukcje, a procesor obsługuje wiele trybów adresowania: na przykład dostęp do stosu, adresowanie pośrednie, adresowanie rejestrowe.

Zastosowania 68000