Bellmac 32

Bellmac 32 to mikroprocesor opracowany przez dział procesorów Bell Labs w 1980 roku, zaimplementowany przy użyciu technologii CMOS i był pierwszym mikroprocesorem, który mógł przenosić 32 bity w jednym cyklu zegara. Mikroprocesor zawiera 150 000 tranzystorów i poprawił szybkość CMOS dzięki zastosowaniu „obwodów domina”. Został zaprojektowany z myślą o języku programowania C. Po jego stworzeniu wyprodukowano ulepszoną wersję o nazwie Bellmac 32A , a następnie anulowano wraz z jego następcą, procesorem CRISP (CRISP) ze zredukowanym zestawem instrukcji „Hobbit” .

Historia

Procesor Bellmac 32 został opracowany przez inżynierów AT&T w trzech różnych lokalizacjach Bell Labs : Indian Hill , Homdel i Murray Hill .

Ponieważ projektanci nie mieli narzędzi do automatyzacji, każdy projektant chipów musiał używać kolorowych ołówków do ukończenia wstępnego projektu. Później Steve Law opracował program komputerowy, który pomógł w digitalizacji początkowych projektów.

Rozwój Bellmac 32 zaowocował nowatorską techniką projektowania obwodów zwaną logiką domina , uznaną za przełom w produkcji mikroprocesora. Testy przeprowadzone podczas produkcji wykazały, że możliwa jest częstotliwość taktowania nawet wyższa niż docelowa prędkość 4 MHz. Implementacja logiki sterowania okazała się jednak nieoczekiwanie skomplikowana. Te komplikacje ograniczyły ostateczną prędkość, gdy cały chip został ukończony i przetestowany, do 2 MHz. Zespół uznał to za postęp, ale nie za udany, ponieważ nie mógł spełnić początkowych celów projektowych AT&T.

Kolejne spotkania projektowe zaowocowały projektem Bellmac 32A, jako drugiej generacji mikroprocesora Bellmac. Projekt po raz kolejny wybrał CMOS i ustalił docelową częstotliwość zegara na 6,2 MHz. Dostosowania mające na celu zmaksymalizowanie rozmiaru tranzystorów i rezystorów oraz zminimalizowanie połączeń wzajemnych miały fundamentalne znaczenie dla spełnienia specyfikacji. Inżynierowie umieścili rysunek techniczny układu chipów o wymiarach 20 na 20 stóp na podłodze dużego pokoju. Testy chipów wyprodukowanych z gotowego obwodu przekroczyły prędkość projektową i osiągnęły częstotliwości taktowania 7, 8, a nawet 9 MHz.

Po rozpadzie AT&T Bell Labs stało się częścią Western Electric . Dzięki tej zmianie nazwa Bellmac 32 została zmieniona na WE 32000 . Zaktualizowane wersje układu obejmowały WE 32100 i WE 32200 .

Architektura

Bellmac 32 ma architekturę potokową z jednostką pobierania instrukcji, która służy do kontrolowania dostępu do pamięci głównej, oraz jednostką wykonawczą, która służy do monitorowania procesu i manipulowania danymi.

Kolejka instrukcji jest wypełniona instrukcjami pobranymi z pamięci. Jednostka arytmetyczna adresu służy do obliczania adresu.

Sprzęt Bellmac 32 jest w stanie przechowywać wszystkie instrukcje, dane i rejestrować zawartość związaną z procesem podczas przełączania kontekstu.

Rejestry

Bellmac 32 ma szesnaście rejestrów 32-bitowych. Trzy z nich (ISP, PCBP, PSW) są uprzywilejowane, służą do obsługi systemu operacyjnego i mogą być zapisywane tylko wtedy, gdy mikroprocesor jest w trybie jądra. Istnieją trzy inne rejestry (SP, AP, FP), które są używane przez niektóre instrukcje jako wskaźniki stosu. Poziom wykonania, ustawiony w Słowie Stanu Procesora, może mieć jeden z czterech stanów: Jądro, Wykonawczy, Nadzorca, Użytkownik. W WE 32200 jest dodatkowych szesnaście rejestrów.

WE 32100 rejestrów
3 1 ... 2 3 ... 1 5 ... 07 ... 00 (pozycja bitu)
Rejestry ogólne
R0 Zarejestruj się 0
R1 Zarejestruj się 1
R2 Zarejestruj się 2
R3 Zarejestruj się 3
R4 Zarejestruj się 4
R5 Zarejestruj się 5
R6 Zarejestruj się 6
R7 Zarejestruj się 7
R8 Zarejestruj się 8
R9 / FP Ramka Ptr
R10 / AP Część argumentu
R11 / PSW (patrz poniżej) Słowo stanu procesora
R12 / SP Stos Ptr
R13 / PCBP Kontrola procesu Bock Ptr
R14 / ISP Przerwij stos Ptr
R15 / szt Licznik programu

Słowo stanu procesora

Słowo stanu procesu jest częścią pliku rejestru i jest aliasem R11.

Nie używany Kontrakty CFD QIE płyta CD OE N Z V C TE IPL CM PO POŁUDNIU R I ISC TM ET
31 25 24 23 22 21 20 19 18 17 16 12 10 8 7 6 2 1
Bity Oznaczający
31:26 Nie używany
25 Wyłącz czyszczenie pamięci podręcznej
24 Szybkie przerwanie włączone
23 Wyłącz pamięć podręczną
22 Włącz pułapkę przelewową
21 Negatywny
20 Zero
19 Przelewowy
18 Nosić
17 Włącz śledzenie
16:13 Poziom priorytetu przerwania
12:11 Bieżący poziom wykonania
10:9 Poprzedni poziom wykonania
8:7 Kontekst rejestru-początkowy
6:3 Wewnętrzny kod stanu
2 Maska śledzenia
1:0 Typ wyjątku

Instrukcje

Mikroprocesor ten posiada 169 instrukcji, które są zoptymalizowane do wykonywania programów napisanych w języku programowania C. W związku z tym format ciągów znaków jest dostosowany na przykład do specyfikacji języka C.

Instrukcje mogą mieć do trzech operandów. Procesor nie ma zmiennoprzecinkowych ani dziesiętnych instrukcji arytmetycznych, które zostały później dostarczone przez koprocesory WE 32106 i WE 32206.

Pamięć

Bellmac 32 implementuje wiele typów adresowania pamięci, takich jak liniowe, natychmiastowe 8, 16 lub 32 bity, rejestracja, rejestr pośredni, krótkie przesunięcie, absolutne i pośrednie przemieszczenie 8, 16 lub 32 bitów.

Stosowanie

Procesory WE 32x00 były używane w komputerach serii 3B firmy AT&T Computer Systems .

Chipy wspierające

AT&T miał w ofercie chipy i urządzenia peryferyjne obsługujące WE 32x00, w tym:

  • WE 32101 / 32201 Jednostka zarządzania pamięcią
  • Zegar WE 32102 (10, 14, 18 lub 24 MHz)
  • Kontroler pamięci DRAM WE 32103
  • Kontroler DMA WE 32104/32204
  • WE 32106/32206 Jednostka przyspieszenia matematycznego
  • Komputer jednopłytkowy WE 321SB VMEbus
  • Płyta ewaluacyjna WE 321EB

Linki zewnętrzne