Motorola 68020 - Motorola 68020

Motorola 68020
Informacje ogólne
Wystrzelony 1984
Zaprojektowany przez Motorola
Wydajność
Maks. Częstotliwość taktowania procesora 12,5 MHz do 33 MHz
Szerokość danych 32 bity
Szerokość adresu 32 bity
Pamięć podręczna
Pamięć podręczna L1 256 bajtów Icache
Architektura i klasyfikacja
Zestaw instrukcji Seria Motorola 68000
Specyfikacje fizyczne
Tranzystory
Pakiet(y)
Produkty, modele, warianty
Warianty
Historia
Poprzednik Motorola 68010
Następca Motorola 68030
XC68020, prototyp 68020

Motorola 68020 ( " sześćdziesiąt osiem oh dwadzieścia ", " sześćdziesiąt osiem-OH-dwu-OH " lub " sześć osiem-OH-dwu-OH ") jest 32-bitowy mikroprocesor z firmy Motorola , wydany w 1984 roku Udostępniono również tańszą wersję, znaną jako 68EC020 . Zgodnie z praktykami nazewnictwa powszechnymi w projektach Motoroli, model 68020 jest zwykle określany jako „020”, wymawiane „oh-dwa-oh” lub „oh-dwadzieścia”.

Opis

Motorola 68020

Model 68020 ma 32-bitowe wewnętrzne i zewnętrzne magistrale danych i adresowe, w porównaniu z wczesnymi modelami 680x0 z 16-bitowymi magistralami danych i 24-bitowymi magistralami adresowymi. Jednostka ALU 68020 jest również natywnie 32-bitowa, więc może wykonywać operacje 32-bitowe w jednym cyklu zegara, podczas gdy 68000 zajęło minimum dwa cykle zegara ze względu na 16-bitową jednostkę ALU. Nowsze metody pakowania pozwoliły na to, aby '020 był wyposażony w więcej zewnętrznych szpilek bez dużego rozmiaru, którego wymagała wcześniejsza metoda podwójnego pakowania w linii . 68EC020 obniżył koszt dzięki 24-bitowej magistrali adresowej. 68020 był produkowany z prędkością od 12 MHz do 33 MHz.

Strzał z matrycy Motorola 68020
widok z dołu Motorola XC68020

Ulepszenia w stosunku do 68010

68020 ma 32-bitową jednostkę arytmetyczno-logiczną (ALU), 32-bitowe zewnętrzne szyny danych i adresowe. Dodaje dodatkowe instrukcje i dodatkowe tryby adresowania. 68020 (i 68030) ma odpowiedni trójstopniowy rurociąg. Chociaż 68010 miał „tryb pętli”, który przyspieszał pętle przez tak naprawdę małą pamięć podręczną instrukcji, zawierał tylko dwie krótkie instrukcje, przez co był mało używany. 68020 zastąpił to odpowiednią pamięcią podręczną instrukcji o pojemności 256 bajtów, pierwszym procesorem z serii 68k z prawdziwą pamięcią podręczną typu on-chip.

Poprzednie procesory 68000 i 68010 miały dostęp tylko do danych słów (16-bitowych) i długich słów (32-bitowych) w pamięci, jeśli były one wyrównane do słów (umieszczone pod parzystym adresem). 68020 nie ma ograniczeń wyrównania w dostępie do danych. Oczywiście dostępy niewyrównane są wolniejsze niż dostępy wyrównane, ponieważ wymagały dodatkowego dostępu do pamięci.

68020 ma małą 256-bajtową bezpośrednio mapowaną pamięć podręczną instrukcji, ułożoną jako 64 czterobajtowe wpisy. Choć niewielki, to jednak znacząco wpływał na wydajność wielu aplikacji. Wynikający z tego spadek ruchu autobusowego był szczególnie istotny w systemach, które w dużej mierze opierają się na DMA .

Obsługa koprocesora

68020 ma interfejs koprocesora obsługujący do ośmiu koprocesorów. Główny procesor rozpoznaje instrukcje „linii F” (z czterema najważniejszymi bitami kodu operacji wszystkie jako jeden) i używa specjalnych cykli magistrali do interakcji z koprocesorem w celu wykonania tych instrukcji. Zdefiniowano dwa typy koprocesorów: jednostki zmiennoprzecinkowe ( MC68881 lub MC68882 FPU ) oraz jednostkę zarządzania pamięcią stronicowaną ( MC68851 PMMU ). Tylko jedno PMMU może być używane z procesorem. W zasadzie wiele jednostek FPU może być używanych z procesorem, ale nie było to powszechnie stosowane. Interfejs koprocesora jest asynchroniczny, więc możliwe jest uruchamianie koprocesorów z inną częstotliwością zegara niż procesor.

Funkcje wieloprocesowe

Obsługa wieloprocesorowości jest zaimplementowana zewnętrznie za pomocą pinu RMC wskazującego trwający niepodzielny cykl odczytu-modyfikacji-zapisu . Wszystkie inne procesory muszą wstrzymywać dostęp do pamięci aż do zakończenia cyklu. Wsparcie programowe dla przetwarzania wieloprocesowego obejmuje instrukcje TAS , CAS i CAS2 .

W systemie wieloprocesorowym koprocesory nie mogą być współdzielone między procesorami. Aby uniknąć problemów ze zwrotami z koprocesora, błędów magistrali i wyjątków błędów adresów, w systemie wieloprocesorowym ogólnie konieczne było, aby wszystkie procesory były tym samym modelem, a wszystkie jednostki FPU również były tym samym modelem.

Zestaw instrukcji

Nowe instrukcje zawierają kilka drobnych usprawnień i rozszerzeń stanu nadzorcy, kilka instrukcji do zarządzania oprogramowaniem systemu wieloprocesowego (które zostały usunięte w 68060), pewne wsparcie dla języków wysokiego poziomu, które nie były zbyt często używane (i zostały usunięte z przyszłych procesorów 680x0), większe instrukcje mnożenia (32×32→64 bity) i dzielenia (iloraz 64÷32→32 bity i reszta 32 bity) oraz manipulacje polami bitowymi.

Nowe tryby adresowania dodają skalowane indeksowanie i kolejny poziom niebezpośredniości do wielu istniejących wcześniej trybów.

Chociaż 68000 miał „tryb nadzorcy”, nie spełniał wymagań wirtualizacji Popka i Goldberga, ponieważ pojedyncza instrukcja „MOVE from SR” była nieuprzywilejowana, ale czuła. Pod 68010 i nowszymi stało się to uprzywilejowane, aby lepiej obsługiwać oprogramowanie do wirtualizacji.

Architektura

Rejestry Motorola 68020
3 1 ... 2 3 ... 1 5 ... 0 7 ... 0 0 (pozycja bitowa)
Rejestry danych
D0 Dane 0
D1 Dane 1
D2 Dane 2
D3 Dane 3
D4 Dane 4
D5 Dane 5
D6 Dane 6
D7 Dane 7
Rejestry adresowe
A0 Adres 0
A1 Adres 1
A2 adres 2
A3 Adres 3
A4 Adres 4
A5 Adres 5
A6 Adres 6
Wskaźniki stosu
A7 / USP Wskaźnik stosu (użytkownik)
A7' / SSP Wskaźnik stosu (nadzorca)
Licznik programu
PC Licznik programu
Rejestr kodów warunków
  1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (pozycja bitowa)
  T S m 0 i 0 0 0 x n Z V C CCR

Z pełnymi 32-bitowymi wewnętrznymi i zewnętrznymi magistralami adresowymi, rejestry adresowe (od A0 do A7) mogły wykorzystywać swoją pełną 32-bitową szerokość i były w stanie zaadresować całą 4 GB przestrzeń adresową.

Większe efektywne szerokości rejestrów adresowych stanowiły pewien problem w przypadku wcześniejszych programów, które nie były uważane za „ czyste 32-bitowe ”. Niektóre programy wykorzystywały wysokie 8 bitów (bity 24-31) adresów do przechowywania różnych bitów flagi, przy założeniu, że wcześniejsze procesory 680x0 bezpiecznie zignorowałyby te wysokie bity. Takie oprogramowanie musiało zostać napisane od nowa, aby dostosować się do większej fizycznej przestrzeni adresowej dostępnej dla procesorów 68020 i nowszych.

Stosowanie

68020 był używany w komputerach osobistych Apple Macintosh II i Macintosh LC , stacjach roboczych Sun 3 , Amiga 1200 (uwaga: Amiga 1200 używała tańszego wariantu 68EC020), analizatorach sieciowych Hewlett-Packard 8711 i późniejszych członków HP 9000 /300 rodzina i Alpha Microsystems AM-2000. Również 68020 był alternatywą dla 68008 komputera Sinclair QL w interfejsie Super Gold Card firmy Miracle Systems .

Amiga 2500 i A2500UX zostały dostarczone z akceleratorem A2620 wykorzystującym 68020, jednostkę zmiennoprzecinkową 68881 i jednostkę zarządzania pamięcią 68851. 2500UX jest dostarczany z Amiga Unix, wymaga procesora '020 lub '030.

Szereg cyfrowych oscyloskopów od połowy lat 80. do późnych lat 90. używało modelu 68020, w tym serii LeCroy 9300 (modele z wyższej półki , w tym modele z przyrostkiem „C”, używały mocniejszego 68EC030 ; modele 9300 z procesorem 68020 można zaktualizować do 68EC030 ze zmianą płyty procesora) i wcześniejszej serii LeCroy 9400 (wszystkie modele z wyjątkiem 9400/9400A, która używała 68000 ), wraz z niektórymi modelami serii Tektronix TDS. HP 54520, 54522, 54540 i 54542 również używają 68020 wraz z koprocesorem matematycznym 68882.

Jest to również procesor używany na pokładach pociągów TGV do dekodowania informacji sygnalizacyjnych, które są przesyłane do pociągów przez szyny. Jest on dalej wykorzystywany w systemach kontroli lotu i radarów samolotów bojowych Eurofighter Typhoon .

Przełącznik centrali telefonicznej Nortel Networks DMS-100 również wykorzystywał 68020 jako pierwszy mikroprocesor rdzenia obliczeniowego SuperNode.

Wariant

Motorola MC68EC020

68EC020 jest niższa wersja koszt Motorola 68020. Główną różnicą między nimi jest, że 68EC020 ma tylko adres 24-bitowy autobusu, zamiast adresu 32-bitowej magistrali pełnego 68020, a więc jest tylko w stanie adres 16 MB pamięci.

Komputer Amiga 1200 i konsola do gier Amiga CD32 wykorzystują obniżoną cenę 68EC020; systemu Namco 22 , Taito F3 i Konami GX zręcznościowe deski wykorzystywane również ten procesor. Atari prototyp Jaguar II wyróżniona również to, aby zastąpić 68000 oryginalnego Atari Jaguar konsoli. Znalazł również zastosowanie w drukarkach laserowych. Apple użył go w LaserWriter IIɴᴛx. Kodak użył go w Ektaplus 7016PS, a Dataproducts użył go w LZR 1260.

W 2014 roku firma Rochester Electronics przywróciła zdolność produkcyjną mikroprocesora 68020 i jest on nadal dostępny.

Dane techniczne

Imie formalne MC68020
Częstotliwość taktowania procesora 12,5, 16,67, 20, 25, 33 MHz (minimum 8 MHz, brak generowania zegara na chipie)
Napięcie zasilające 5 V
Maksymalna moc 1,75 W
Proces produkcji HCMOS, element silikonowy 3/8"
Nośnik wiórów PGA 169 (używane 114 pinów) 34,16 mm × 34,16 mm (53 °C/W bez radiatora)
Szyna adresowa 32-bitowy (4 GB bezpośrednio liniowy dostęp)
Magistrala danych 32-bitowy
Zestaw instrukcji 101 instrukcji CISC
Pamięć podręczna 256 bajtów Icache
Zarejestrować
  • 7 dla operacji adresowych (32-bit)
  • 8 dla operacji na danych (32-bit)
Obsługa oddziałów Przewidywanie gałęzi:
  • Stałe przewidywanie rozgałęzień, podejście nigdy nie stosowane do rozgałęzień
Tranzystory ~200 000
Wydajność 10 MIPS przy 33 MHz

Bibliografia

Zewnętrzne linki