Mehrwertsteuer - VAX

Mehrwertsteuer
Dec-vax-logo.png
Designer Digital Equipment Corporation
Bits 32-Bit
Eingeführt 1977 ; Vor 44 Jahren ( 1977 )
Entwurf CISC
Typ Register-Register
Register-Speicher
Speicher-Speicher
Codierung Variabel (1 bis 56 Byte)
Verzweigung Bedingungscode
Endianität Wenig
Seitengröße 512 Byte
Erweiterungen PDP-11-Kompatibilitätsmodus, VAX Vector Extensions, VAX VM Extensions
Offen Nein
Register
Allgemeiner Zweck 16 × 32-Bit
Gleitkomma nicht vorhanden, verwendet die GPR
Vektor 16 × 4096 Bit (512 Byte)

VAX ist eine CISC- Befehlssatzarchitektur (ISA) und eine Reihe von Superminicomputern und Workstations , die Mitte der 1970er Jahre von der Digital Equipment Corporation (DEC) entwickelt wurden . Der VAX-11/780 , der am 25. Oktober 1977 eingeführt wurde, war der erste einer Reihe von populären und einflussreichen Computern, die den VAX ISA implementierten. Über 100 Modelle wurden im Laufe der Lebensdauer des Designs eingeführt, wobei die letzten Mitglieder Anfang der 1990er Jahre auf den Markt kamen. Die VAX wurde von der DEC Alpha abgelöst , die mehrere Funktionen von VAX-Maschinen enthielt, um die Portierung von der VAX zu vereinfachen.

VAX wurde als Nachfolger des 16-Bit- PDP-11 entwickelt , einem der erfolgreichsten Minicomputer der Geschichte mit etwa 600.000 verkauften Exemplaren. Das System wurde entwickelt, um Abwärtskompatibilität mit dem PDP-11 zu bieten, während der Speicher auf eine vollständige 32-Bit- Implementierung erweitert und virtueller Demand-Paged- Speicher hinzugefügt wird . Der Name VAX bezieht sich auf sein „ Virtual Address eXtension “-Konzept, das es Programmen ermöglichte, diesen neu verfügbaren Speicher zu nutzen und gleichzeitig mit unverändertem PDP-11-Code kompatibel zu sein. Der Name "VAX-11", der bei frühen Modellen verwendet wurde, wurde gewählt, um diese Fähigkeit hervorzuheben.

Spätere Modelle in der Serie ließen das -11-Branding fallen, da die PDP-11-Kompatibilität kein Hauptanliegen mehr war. Die Linie wurde sowohl auf High-End-Maschinen wie die VAX 9000 als auch auf die Workstation- Waage-Systeme wie die VAXstation- Serie erweitert. Insgesamt umfasste die VAX-Familie zehn unterschiedliche Designs und über 100 individuelle Modelle. Alle waren miteinander kompatibel und liefen normalerweise mit dem angesehenen VAX/VMS- Betriebssystem .

VAX wurde als die Quintessenz von CISC ISA angesehen, mit seiner sehr großen Anzahl von Assemblersprachen-programmiererfreundlichen Adressierungsmodi und Maschinenbefehlen, seiner hoch orthogonalen Architektur und Befehlen für komplexe Operationen wie das Einfügen oder Löschen von Warteschlangen , Zahlenformatierung und Polynome Auswertung.

Name

VAX-11/780

Der Name "VAX" entstand als Akronym für Virtual Address eXtension , sowohl weil VAX als 32-Bit-Erweiterung des älteren 16-Bit- PDP-11 angesehen wurde, als auch weil es (nach Prime Computer ) ein früher Anwender des virtuellen Speichers war um diesen größeren Adressraum zu verwalten.

Frühe Versionen des VAX-Prozessors implementieren einen "Kompatibilitätsmodus", der viele der Anweisungen des PDP-11 emuliert und ihm die 11 in VAX-11 gibt, um diese Kompatibilität hervorzuheben. Spätere Versionen haben den Kompatibilitätsmodus und einige der weniger verwendeten CISC-Anweisungen zur Emulation in der Betriebssystemsoftware ausgelagert.

Befehlssatz

Der VAX-Befehlssatz wurde so konzipiert, dass er leistungsstark und orthogonal ist . Als es eingeführt wurde, wurden viele Programme in Assembler geschrieben, daher war es wichtig, einen "programmiererfreundlichen" Befehlssatz zu haben. Mit der Zeit, als mehr Programme in höheren Sprachen geschrieben wurden, wurde der Befehlssatz weniger sichtbar, und die einzigen, die sich sehr darum kümmerten, waren Compiler-Autoren.

Ein ungewöhnlicher Aspekt des VAX-Befehlssatzes ist das Vorhandensein von Registermasken am Anfang jedes Unterprogramms. Dies sind beliebige Bitmuster, die bei Übergabe der Kontrolle an das Unterprogramm angeben, welche Register erhalten bleiben sollen. Da Registermasken eine Form von Daten sind, die in den ausführbaren Code eingebettet sind, können sie das lineare Parsen des Maschinencodes erschweren. Dies kann Optimierungstechniken verkomplizieren, die auf Maschinencode angewendet werden.

Betriebssysteme

Stilisiertes "VAX/VMS" verwendet von Digital

Das "native" VAX- Betriebssystem ist Digitals VAX/VMS (umbenannt in OpenVMS 1991 oder Anfang 1992, als es auf Alpha portiert wurde , modifiziert, um den POSIX- Standards zu entsprechen , und vom X/Open- Konsortium als XPG4- konform gebrandet ) .

Die VAX-Architektur und das OpenVMS-Betriebssystem wurden "gleichzeitig entwickelt" , um den größtmöglichen Nutzen aus einander zu ziehen, ebenso wie die anfängliche Implementierung der VAXcluster-Funktion . Andere VAX-Betriebssysteme enthalten verschiedene Versionen von BSD UNIX bis zu 4.3BSD , Ultrix -32, VAXELN und Xinu . In jüngerer Zeit haben NetBSD und OpenBSD verschiedene VAX-Modelle unterstützt und es wurde einige Arbeit an der Portierung von Linux auf die VAX-Architektur geleistet . OpenBSD hat die Unterstützung für die Architektur im September 2016 eingestellt.

Geschichte

VAX 8350 Vorderansicht mit abgenommener Abdeckung

Das erste verkaufte VAX-Modell war der VAX-11/780 , der am 25. Oktober 1977 auf der Hauptversammlung der Digital Equipment Corporation vorgestellt wurde. Verantwortlich für die Architektur war Bill Strecker, Doktorand von C. Gordon Bell an der Carnegie Mellon University . In der Folge entstanden viele verschiedene Modelle mit unterschiedlichen Preisen, Leistungsstufen und Kapazitäten. VAX- Superminicomputer waren in den frühen 1980er Jahren sehr beliebt.

Bei CPU- Benchmarks wurde zeitweise der VAX-11/780 als Standard verwendet . Es wurde ursprünglich als Ein- MIPS- Rechner beschrieben, da seine Leistung einem IBM System/360 entsprach , das mit einem MIPS lief, und die System/360-Implementierungen zuvor de facto Leistungsstandards waren. Die tatsächliche Anzahl der in 1 Sekunde ausgeführten Anweisungen betrug etwa 500.000, was zu Beschwerden über Marketingübertreibung führte. Das Ergebnis war die Definition eines "VAX MIPS", der Geschwindigkeit eines VAX-11/780; ein Computer mit 27 VAX MIPS würde das gleiche Programm ungefähr 27-mal schneller ausführen als der VAX-11/780.

In der Digital-Community war der Begriff VUP ( VAX Unit of Performance ) der gebräuchlichere Begriff, da MIPS über verschiedene Architekturen hinweg nicht gut vergleichbar sind. Der verwandte Begriff Cluster-VUPs wurde informell verwendet, um die Gesamtleistung eines VAXclusters zu beschreiben . (Die Leistung des VAX-11/780 dient immer noch als Basismetrik im BRL-CAD Benchmark, einer Leistungsanalysesuite, die in der BRL-CAD Volumenmodellierungssoftware-Distribution enthalten ist.) Der VAX-11/780 enthielt einen untergeordneten Stand- allein LSI-11- Computer, der Mikrocode-Lade-, Boot- und Diagnosefunktionen für den übergeordneten Computer durchführte. Dies wurde von nachfolgenden VAX-Modellen gestrichen. Unternehmerische VAX-11/780-Benutzer könnten daher drei verschiedene Betriebssysteme der Digital Equipment Corporation ausführen: VMS auf dem VAX-Prozessor (von den Festplatten) und entweder RSX-11S oder RT-11 auf dem LSI-11 (von der Single Density Single Laufwerksdiskette).

Der VAX durchlief viele verschiedene Implementierungen. Der ursprüngliche VAX 11/780 wurde in TTL implementiert und füllte einen vier mal fünf Fuß großen Schrank mit einer einzelnen CPU . CPU-Implementierungen, die aus mehreren ECL- Gate-Array- oder Macrocell-Array- Chips bestanden, umfassten die Superminis VAX 8600 und 8800 und schließlich die Maschinen der Mainframe- Klasse VAX 9000 . CPU-Implementierungen, die aus mehreren benutzerdefinierten MOSFET- Chips bestanden, umfassten die Maschinen der Klassen 8100 und 8200. Die Low-End-Maschinen VAX 11-730 und 725 wurden mit AMD Am2901 Bit-Slice- Komponenten für die ALU gebaut.

Der MicroVAX I stellte einen wichtigen Übergang innerhalb der VAX-Familie dar. Zum Zeitpunkt des Entwurfs war es noch nicht möglich, die vollständige VAX-Architektur als einzelnen VLSI- Chip (oder auch nur wenige VLSI-Chips wie später bei der V-11- CPU des VAX 8200/8300) zu implementieren. Stattdessen war MicroVAX I die erste VAX-Implementierung, die einige der komplexeren VAX-Befehle (wie die gepackte Dezimalzahl und zugehörige Opcodes) in Emulationssoftware überführte. Diese Partitionierung reduzierte die erforderliche Mikrocodemenge wesentlich und wurde als "MicroVAX"-Architektur bezeichnet. Im MicroVAX I wurden die ALU und die Register als ein einzelner Gate-Array- Chip implementiert, während der Rest der Maschinensteuerung konventionelle Logik war.

Eine vollständige VLSI ( Mikroprozessor ) -Implementierung der MicroVAX-Architektur wurde mit der 78032 (oder DC333) CPU und der 78132 (DC335) FPU des MicroVAX II geliefert. Der 78032 war der erste Mikroprozessor mit einer integrierten Speicherverwaltungseinheit. Der MicroVAX II basierte auf einer einzelnen, vierfach großen Prozessorplatine, die die Prozessorchips trug und auf dem die Betriebssysteme MicroVMS oder Ultrix- 32 ausgeführt wurden . Die Maschine verfügte über 1 MB On-Board-Speicher und eine Q22-Bus- Schnittstelle mit DMA- Transfers. Der MicroVAX II wurde von vielen weiteren MicroVAX-Modellen mit stark verbesserter Leistung und Speicher abgelöst.

Weitere VLSI VAX - Prozessoren , gefolgt in der Form des V-11, CVAX , CVAX SOC ( "System - On - Chip" ist ein Ein-Chip - CVAX), Rigel , Mariah und NVAX Implementierungen. Die VAX-Mikroprozessoren erweiterten die Architektur auf preiswerte Workstations und lösten später auch die High-End-VAX-Modelle ab. Diese breite Palette von Plattformen (Mainframe bis Workstation) mit einer Architektur war zu dieser Zeit einzigartig in der Computerindustrie. Verschiedene Grafiken wurden auf den CVAX-Mikroprozessorchip geätzt. Der Ausdruck CVAX... wenn es dir wichtig ist, das Allerbeste zu stehlen, wurde in gebrochenem Russisch als Anspielung auf einen Slogan von Hallmark Cards eingraviert, als eine Nachricht an sowjetische Ingenieure, die dafür bekannt waren, sowohl DEC-Computer für militärische Zwecke als auch umgekehrt zu entwenden Entwicklung ihres Chipdesigns.

In den Produktangeboten von DEC wurde die VAX-Architektur schließlich durch die RISC- Technologie abgelöst. 1989 führte DEC eine Reihe von Workstations und Servern ein, auf denen Ultrix , DECstation bzw. DECsystem , basierend auf Prozessoren, die die MIPS-Architektur implementierten , liefen . 1992 führte DEC seine eigene RISC-Befehlssatzarchitektur ein, den Alpha AXP (später in Alpha umbenannt) und seinen eigenen Alpha-basierten Mikroprozessor, den DECchip 21064 , ein hochleistungsfähiges 64-Bit- Design, das OpenVMS ausführen kann .

Im August 2000 gab Compaq bekannt, dass die verbleibenden VAX-Modelle bis Ende des Jahres eingestellt werden, alte Systeme jedoch weiterhin weit verbreitet sind.

Die softwarebasierten VAX-Emulatoren CHARON-VAX und SIMH von Stromasys bleiben verfügbar, und VMS wird jetzt von VMS Software Incorporated verwaltet, obwohl sie nur OpenVMS für Alpha- Systeme und HPE Integrity Server anbieten , wobei x86-64- Unterstützung entwickelt wird und nicht anbieten es für VAX.

Prozessorarchitektur

MicroVAX 3600 (links) mit Drucker (rechts)
DEC VAX-Register
3 1 . . . 2 3 . . . 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 (Bitposition)
Allgemeine Register
R0 Registrieren 0
R1 Registrieren 1
R2 Registrieren 2
R3 Registrieren 3
R4 Registrieren 4
R5 Registrieren 5
R6 Registrieren 6
R7 Registrieren 7
R8 Registrieren 8
R9 Registrieren 9
R10 Registrieren 10
R11 Registrieren 11
R12 / AP Register 12 / Argumentzeiger
R13 / FP Register 13 / Rahmenzeiger
R14 / SP Register 14 / Stapelzeiger
R15 / PC Register 15 / Programmzähler
Statusflaggen
n Z V C Zustandscode-Register

Virtuelle Speicherzuordnung

Der virtuelle VAX-Speicher ist in vier Abschnitte unterteilt. Jeder ist ein Gigabyte (im Rahmen der Adressierung 2 30 Byte) groß:

Abschnitt Adressbereich
P0 0x00000000 - 0x3ffffffff
P1 0x40000000 - 0x7ffffffff
S0 0x80000000 - 0xbffffffff
S1 0xc0000000 - 0xffffffff

Für VMS wurde P0 für den Benutzerprozessraum verwendet, P1 für den Prozessstack, S0 für das Betriebssystem und S1 wurde reserviert.

Berechtigungsmodi

Der VAX verfügt über vier hardwareimplementierte Berechtigungsmodi:

Nein. Modus VMS-Nutzung Anmerkungen
0 Kernel Betriebssystem-Kernel Höchste Berechtigungsstufe
1 Führungskraft Dateisystem
2 Aufsicht Hülle (DCL)
3 Benutzer Normale Programme Niedrigste Berechtigungsstufe

Prozessorstatusregister

Das Prozessstatusregister hat 32 Bit:

CM TP MBZ FD IST cmod pmod MBZ IPL MBZ DV FU NS T n Z V C
31 30 29 27 26 25 23 21 20 fünfzehn 7 6 5 4 3 2 1 0
Bits Bedeutung
31 PDP-11-Kompatibilitätsmodus
30 Trace ausstehend
29:28 MBZ (muss null sein)
27 erster Teil erledigt (unterbrochener Unterricht)
26 Interrupt-Stack
25:24 aktueller Berechtigungsmodus
23:22 vorheriger Privilegmodus
21 MBZ (muss null sein)
20:16 IPL (Interrupt-Prioritätsstufe)
15:8 MBZ (muss null sein)
7 Dezimal-Überlauffalle aktivieren
6 Gleitkomma-Unterlauffalle aktivieren
5 Integer-Überlauffalle aktivieren
4 verfolgen
3 Negativ
2 Null
1 Überlauf
0 tragen
Der SPEC-1 VAX, ein VAX 11/780, der für Benchmarking verwendet wird , zeigt Interna

VAX-basierte Systeme

Das erste VAX-basierte System war das VAX-11/780 , ein Mitglied der VAX-11- Familie. Der High-End- VAX 8600 löste im Oktober 1984 den VAX-11/780 ab und wurde Mitte der 1980er Jahre von den MicroVAX- Minicomputern der Einstiegsklasse und den VAXstation- Workstations ergänzt. Der MicroVAX wurde durch den VAX 4000 abgelöst , der VAX 8000 wurde in den späten 1980er Jahren vom VAX 6000 abgelöst und die Mainframe-Klasse VAX 9000 wurde eingeführt. In den frühen 1990er Jahren wurde der fehlertolerante VAXft sowie der Alpha- kompatible VAX 7000/10000 eingeführt . Als VAXserver wurde eine Variante verschiedener VAX-basierter Systeme verkauft .

SIMACS (SImultaneous Machine Access)

System Industries hat eine Fähigkeit entwickelt, um mehr als eine DEC-CPU zu haben, aber nicht gleichzeitig über Schreibzugriff auf eine gemeinsam genutzte Platte zu verfügen. Sie implementierten eine Erweiterung namens SIMACS (SImultaneous Machine ACCeSs), die es ihrem speziellen Plattencontroller ermöglichte, ein Semaphor-Flag für den Plattenzugriff zu setzen, wodurch mehrere WRITES auf dieselben Dateien ermöglicht wurden; die Platte wird von mehreren DEC-Systemen gemeinsam genutzt. SIMACS existierte auch auf PDP-11 RSTS- Systemen.

Abgebrochene Systeme

Zu den gekündigten Systemen gehören der „ BVAX “, ein High-End- ECL- basierter VAX, und zwei weitere ECL-basierte VAX-Modelle: „ Argonaut “ und „ Raven “. Raven wurde 1990 eingestellt. Ein als " Gemini " bekannter VAX wurde ebenfalls eingestellt, was ein Fallback war, falls der LSI-basierte Skorpion versagte. Es wurde nie versendet.

Klone

Eine Reihe von VAX-Klonen, sowohl autorisierte als auch nicht autorisierte, wurden hergestellt. Beispiele beinhalten:

  • Systime Computers Ltd aus dem Vereinigten Königreich produzierte Klone früher VAX-Modelle wie Systime 8750 (entspricht VAX 11/750).
  • Norden Systems produzierte die robuste MIL VAX-Serie nach Militärspezifikation.
  • Das Ungarische Zentrale Forschungsinstitut für Physik (KFKI) produzierte eine Reihe von Klonen früher VAX-Modelle, den TPA-11/540, 560 und 580.
  • Die SM 52/12 aus der Tschechoslowakei , entwickelt bei VUVT Žilina (heute Slowakei ) und ab 1986 bei ZVT Banská Bystrica (heute Slowakei ) produziert.
  • Der ostdeutsche VEB Robotron K 1840 (SM 1710) ist ein Klon des VAX-11/780 und Robotron K 1820 (SM 1720) ist eine Kopie des MicroVAX II.
  • Der SM-1700 ist ein sowjetischer Klon des VAX-11/730, SM-1702 war ein Klon von MicroVAX II und SM-1705 war ein Klon von VAX-11/785. Auf diesen Systemen liefen verschiedene Klon-Betriebssysteme - DEMOS (basierend auf BSD Unix), MOS VP (basierend auf VAX/VMS) oder MOS VP RV (basierend auf VAXELN).
  • Der NCI-2780 Super-mini, auch als Taiji-2780 verkauft, ist ein Klon des VAX-11/780, der vom North China Institute of Computing Technology in Peking entwickelt wurde.

Weiterlesen

  • Coy, Peter (6. Januar 2021). "Wer erinnert sich an den VAX-Minicomputer, Ikone der 1980er Jahre?" . Bloomberg-Nachrichten . Abgerufen am 9. Januar 2021 .

Verweise

Externe Links