For faster navigation, this Iframe is preloading the Wikiwand page for VAX.

VAX

Z Wikipedii, wolnej encyklopedii

DEC VAX
Ilustracja
Typ

32-bity

Premiera

1977

Procesor

VAX (CISC, pamięć wirtualna)

System operacyjny

VAX/VMS, Ultrix, BSD UNIX, VAXELN

VAXarchitektura procesorów opracowana przez firmę Digital; także seria komputerów bazujących na tej architekturze. Ta 32-bitowa architektura opracowana została, aby zastąpić różne (wzajemnie niezgodne) architektury komputerów serii Programmed Data Processor (PDP).

Głównymi cechami architektury VAX-owej była obsługa wirtualnej pamięci implementowanej metodą stronicowania i tzw. ortogonalny zestaw instrukcji[1]. VAX odbierany był jako kwintesencja CISC: posiadał bardzo dużą liczbę trybów adresowania i instrukcji maszynowych, włączając obsługę tak złożonych zagadnień jak dodawanie/usuwanie elementów kolejki.

Nazwa

Nazwa VAX jest skrótem od Virtual Address eXtension (od ang. Rozszerzenie o Adresy Wirtualne) i były ku temu dwa powody: po pierwsze, komputery te były jednymi z pierwszych używającymi wirtualnej pamięci, a po drugie dlatego, że VAX był 32-bitowym rozszerzeniem starszego 16-bitowego komputera PDP-11. Pierwsze wersje VAX-a miały nawet tryb wstecznej zgodności, emulujący wiele spośród instrukcji starego PDP, w szczególności VAX-11, którego nazwa odnosiła się właśnie do rzeczonej zgodności. Późniejsze wersje przerzuciły tę funkcjonalność (jak i wiele z rzadziej używanych instrukcji CISC-owych) na system operacyjny.

Systemy operacyjne

Domyślnym systemem operacyjnym był VAX/VMS (później przemianowany na OpenVMS, przeniesiony na Alphę)[2]. Architektura VAX i system operacyjny VMS były projektowane równolegle, aby najlepiej wykorzystać ich zalety: podobna historia powtórzyła się przy projektowaniu rozwiązania VAXcluster. Inne systemy operacyjne na VAX-a to Unix BSD, w różnych wydaniach włączając 4.3BSD, Ultrix-32, VAXELN i Xinu. Z nowszych warto wymienić NetBSD i OpenBSD obsługujące różne komputery VAX, a także pewne działania mające przystosować Linuxa do pracy na VAX-ach.

Historia

VAX-11/780
VAX-11/780

Pierwszą wprowadzoną na rynek maszyną VAX był VAX-11/780 pokazany akcjonariuszom Digitala 25 października 1977 r.[3] Za architekturę odpowiedzialny był Bill Strecker doktorant Gordona Bella[4] na Uniwersytecie Carnegie Mellon[5]. Powstało wiele modeli VAX różniących się wydajnością, funkcjonalnością i cenami. Superminikomputery VAX osiągnęły znaczną popularność w latach 80. XX w.

Przez pewien czas VAX-11/760 był punktem odniesienia w benchmarkowaniu procesorów, ponieważ jego szybkość wynosiła około 1 MIPS. Co ciekawe: rzeczywista liczba instrukcji wykonywanych w ciągu sekundy przez ten komputer była bliższa 500.000. Jako że jeden MIPS VAX-owy równał się prędkości VAX-11/760, komputer o wydajności 27 MIPS-ów VAX-owych wykonywałby ten sam program około 27 razy szybciej niż VAX-11/760. W obrębie społeczności Digitalowej częściej nazywano tę miarę VUP (VAX Unit of Performance – ang. VAX-owa Jednostka Wydajności), ponieważ MIPS-y jako takie nie są porównywalne między różnymi architekturami. Powiązanym z tym pojęciem jest cluster VUP, używany przy pomiarze wydajności rozwiązań VAXcluster. Wydajność tego komputera dalej jest podstawą w benchmarku BRL-CAD-a, narzędziu do analizy wydajności dołączonym do tego pakietu.

VAX 8350 – otwarty
VAX 8350 – otwarty

VAX miał wiele różnych implementacji. Oryginalny CPU wykonany był w technologii TTL i zajmował więcej niż jedną szafę. Były też układy zbudowane z wielu macierzy bramek logicznych typu ECL lub technologii macrocell array włączając superminikomputery VAX 8600 i 8800, jak i mainframe’a VAX 9000. CPU zbudowane z zestawów układów scalonych w technologii MOSFET znalazły zastosowanie w maszynach 8100 i 8200.

Ze znaczną zmianą w obrębie architektury VAX wiązał się komputer MicroVAX I: w czasie jego wprowadzenia na rynek technologia nie pozwalała jeszcze na zaimplementowanie pełnego zestawu instrukcji VAX jako pojedynczego układu VLSI (ani nawet jako zestawu układów VLSI, jak uczyniono to w procesorze V-11 systemów 8200 i 8300). Postanowiono więc zaimplementować najbardziej złożone elementy modelu programowego jako oprogramowanie emulujące pozostawiając sprzętową implementację jedynie najpotrzebniejszych operacji. Ten nowy podział znacznie ograniczył złożoność mikrokodu VAX-a, i był nazywany architekturą „MicroVAX”. W komputerze MicroVAX I ALU i rejestry zaimplementowane były na jednej macierzy bramek, a cała reszta funkcji kontrolnych przy pomocy konwencjonalnych układów logicznych.

Implementacja pełnego VLSI to mikroprocesor MicroVAX-a II: 78032 (lub DC333) CPU oraz 78132 (DC335) FPU. Był to jednocześnie pierwszy mikroprocesor wyposażony w MMU[6]. MicroVAX II zbudowany był w oparciu o pojedynczą płytę procesorową i obsługiwał system operacyjny MicroVMS lub Ultrix-32. Miał 1 MB wbudowanej pamięci i wykorzystywał szynę Q-22 z obsługą DMA. Liczni następcy MicroVAX-a II mieli znacznie poprawioną wydajność i pojemność pamięci.

Kolejne VAX-owe procesory VLSI to wyżej wymieniony V-11, CVAX, „SOC” (System on Chip, z ang. „System w jednym układzie”, czyli CVAX zbudowany w postaci jednego układu scalonego), Rigel, Mariah i NVAX. Mikroprocesory VAX rozwinęły się w niedrogie stacje robocze i zastąpiły bardziej rozbudowane modele VAX-ów. Tak szerokie spektrum typów komputerów (od mainframe do stacji roboczych) opartych o jeden model programowy nie było w tamtych czasach powszechne. Na procesorach CVAX były wymalowane różne ciekawe obrazki: na uwagę zasługuje napis „CVAX, jeśli zależy wam na tyle, że kradniecie to, co najlepsze” w łamanym rosyjskim, adresowany do inżynierów sowieckich, którzy dokonywali wstecznej inżynierii kradzionych komputerów DEC dla zastosowań wojskowych[7][8].

Ostatecznie architekturę VAX zastąpiły technologie RISC. W 1989 r. Digital wprowadził linie serwerów i stacji roboczych w architekturze MIPS (odpowiednio DECsystem i DECstation). W 1992 r. Digital wprowadził własną architekturę RISC, Alpha AXP, przemianowaną później na Alpha, i własny układ DECchip 21064: szybki, 64-bitowy procesor zdolny do obsługi systemu operacyjnego OpenVMS.

W sierpniu 2000 roku Compaq ogłosił, że VAX-y przestaną być oferowane klientom[9]. W 2005 r. zakończona została produkcja komputerów VAX, ale stare maszyny są jeszcze w użyciu. W dalszym ciągu dostępne są programowe emulatory VAX-a: SRI CHARON-VAX oraz SIMH.

Architektura procesora

Architektura procesora w skrócie
Nazwa VAX
Projektant Digital Equipment Corporation
Liczba bitów 32
Rok wprowadzenia 1977
Typ CISC, Pamięć-pamięć
Wielkość rozkazów różna (od 1 do 321 bajtów)
Kolejność bajtów Little endian
Rozszerzenia VAXvector
Liczba rejestrów 16

Mapa pamięci wirtualnej

Pamięć wirtualna komputera VAX podzielona była na 4 sekcje po 1 GB każda (gigabajt w tym kontekście oznacza 230 bajtów):

Sekcja Zakres adresów (szesnastkowo)
P0 0x000000000x3fffffff
P1 0x400000000x7fffffff
S0 0x800000000xbfffffff
S1 0xc00000000xffffffff

W systemie operacyjnym VMS P0 była używana na procesy w przestrzeni użytkownika, P1 na stos, S0 na system operacyjny, a S1 była zarezerwowana.

Poziomy uprzywilejowania

VAX korzystał z czterech poziomów (trybów) uprzywilejowania:

Lp. Tryb Użycie w systemie VMS Uwagi
0 Kernel Jądro systemu operacyjnego Najwyższy poziom uprzywilejowania
1 Executive System plików
2 Supervisor Powłoka (DCL)
3 User Zwykłe programy Najniższy poziom uprzywilejowania

Rejestr stanu procesora

CM TP MBZ FD IS cmod pmod MBZ IPL MBZ DV FU IV T N Z V C
31 30 29 27 26 25 23 21 20 15 7 6 5 4 3 2 1 0
Bity Nazwa Komentarz
31 PDP-11 compatibility mode ang. tryb zgodności z PDP-11
30 trace pending dotyczy śledzenia wykonania programu
29:28 MBZ (must be zero) zawsze zero
27 first part done (interrupted instruction) dotyczy przerwania[10]
26 interrupt stack stos przerwania
25:24 current privilege mode obecny poziom uprzywilejowania
23:22 previous privilege mode poprzedni poziom uprzywilejowania
21 MBZ (must be zero) zawsze zero
20:16 IPL (interrupt priority level) granica poziomu priorytetu dla przerwań[11]
15:8 MBZ (must be zero) zawsze zero
7 decimal overflow trap enable sterowanie zachowaniem w przypadku przepełnienia w przypadku operacji dziesiętnych[12]
6 floating-point underflow trap enable jw., ale dotyczy operacji zmiennoprzecinkowych
5 integer overflow trap enable jw., ale dotyczy zwykłych operacji całkowitoliczbowych
4 trace śledzenie wykonania
3 negative wynik ostatniej ujemny
2 zero wynik ostatniej operacji zerowy
1 overflow czy nastąpiło przepełnienie?
0 carry bit przeniesienia

Komputery w technologii VAX

Pierwszym był VAX-11/760 z rodziny VAX-11, we wczesnych latach 80. został on zastąpiony przez high-endowy VAX 8000. Również w latach 80. do rodziny VAX dołączył MicroVAX i VAXstation. Następcą MicroVAX-a był VAX 4000, a VAX 8000 – VAX 6000. W późnych latach 80. zaprezentowano system klasy mainframe, VAX 9000. Na początku lat 90. wprowadzono odporne na awarie komputery VAXft i zgodne z Alphą VAX 7000/10000. Wiele maszyn VAX było również sprzedawanych w wersji VAXserver.

Projekty porzucone

Nie udało się ukończyć projektu BVAX high-endowego VAX-a w technologii ECL. Takoż nie wprowadzono w życie dwóch innych ECL-owych projektów: „Argonaut” i „Raven”[13]. Nigdy nie dostarczono także VAX-a znanego jako „Gemini” (który był projektem awaryjnym na wypadek porażki systemu Scorpio).

Klony

Istniały liczne „klony”, zarówno autoryzowane, jak i pirackie. Wśród nich wymienić warto:

  • Klony wczesnych VAX-ów produkowane przez Systime Ltd z Wlk. Brytanii. Na przykład Systime 8750 (odpowiednik komputera VAX 11/750)[14].
  • Odporne VAX-y odpowiadające specyfikacjom wojskowym oferowane przez Norden Systems jako MIL VAX[2].
  • Węgierskie klony budowane przez Narodowy Instytut Badań Fizycznych (KFKI). Były to klony wczesnych VAX-ów, i nazwane były TPA-11/540, /560 i /580[15].
  • SM 52/12[16] z Czechosłowacji: opracowane przez VUVT w Żylinie i produkowane od 1986 r. przez ZVT w Bańskiej Bystrzycy.

Fotografie

  • Vax 11-780 (2).jpg
  • Microvax 3600 (2).jpg
  • SPEC-1 VAX 05.jpg

Przypisy

  1. Pojęcie to odnosi się do takiej architektury komputera, gdzie do każdego rodzaju danych można odwoływać się używając każdego z dostępnych w danym komputerze trybów adresowania. Innym przykładem architektury posiadającej tę cechę jest ARM 11. – przypis tłumacza.
  2. a b VAX/VMS at 20. Digital Equipment Corporation, 1997. [dostęp 2007-10-13]. [zarchiwizowane z tego adresu (2009-07-06)].
  3. VAX 11/780, The First VAX System (październik 1977). [dostęp 2099-06-17]. [zarchiwizowane z tego adresu (3 października 2019)].
  4. Jeden z pierwszych pracowników Digitala, inżynier odpowiedzialny m.in. za zaprojektowanie licznych PDP, Sprawował ogólny nadzór nad projektowaniem VAX-a. – przypis tłumacza.
  5. Robert Slater: Portraits in Silicon. MIT Press, 1987. [dostęp 2009-06-17].
  6. Bob Supnik: MicroVax II (ang.). The Computer History Simulation Project, 24 lutego 2008. [dostęp 2009-06-17].
  7. Bob Supnik: CVAX (ang.). The Computer History Simulation Project, 24 lutego 2008. [dostęp 2009-06-17].
  8. Michael W. Davidson: Steal the best (ang.). Florida State University, 3 marca 2004. [dostęp 2009-06-17]. Cytat w języku rosyjskim: (ros.) СВАКС... Когда вы забатите довольно воровать настоящий лучший.
  9. VAX Systems: A letter from Jesse Lipcon.
  10. Dosłownie oznacza, że instrukcja zaczęła być wykonywana w momencie przerwania, i należy wznowić jej wykonywanie w momencie powrotu z procedury obsługi przerwania.
  11. Przerwania o niższym priorytecie nie są obsługiwane.
  12. http://www.osdata.com/topic/language/asm/register.htm#processorflags.
  13. Mark Smotherman: Who are the Computer Architects? (ang.). 2008-07-19. [dostęp 2008-09-30].
  14. RAL Informatics Report 1984-85. [dostęp 2007-10-15].
  15. Varga Ákos Endr: The KFKI TPA series: much more than just „clones”.. (ang.). [dostęp 2009-06-17].
  16. http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/85/16907/00778981.pdf?temp=x
{{bottomLinkPreText}} {{bottomLinkText}}
VAX
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.