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.
|
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
- Z pierwszej ręki: rozwój mikroprocesora AT&T BELLMAC-32. http://www.ieeeghn.org/wiki/index.php/First-Hand:The_AT%26T_BELLMAC-32_Microprocessor_Development
- Komputery osobiste. W kierunku świata maszyn liczących. Dodatek B: O mikroprocesorach. Autor: Fernando Sáez Krowy. http://www.quadernsdigitals.net/datos_web/biblioteca/l_516/enLinea/8.pdf
- Archiwa kanału AT&T Tech: Mikroprocesor dla ery informacyjnej (wideo)