Produkcja | Od 1979 do 1990 |
---|---|
Producent | Motorola |
procesor | Nie zaimplementowano |
Częstotliwość | od 2 MHz do 12 MHz |
---|
Mieszkaniowy | 64-pinowe DIL |
---|
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.
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.
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.
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 .
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.