VAX - VAX

VAX
Dec-vax-logo.png
Designer Digital Equipment Corporation
Bider 32-bit
Introduceret 1977 ; 44 år siden ( 1977 )
Design CISC
Type Register-Register
Register-Memory
Memory-Memory
Indkodning Variabel (1 til 56 bytes)
Forgrening Tilstandskode
Uendelighed Lille
Sidestørrelse 512 bytes
Udvidelser PDP-11-kompatibilitetstilstand, VAX Vector Extensions, VAX VM-udvidelser
Åben Ingen
Registre
Generelle formål 16 × 32-bit
Flydende punkt ikke til stede, bruger GPR
Vektor 16 × 4096-bit (512 bytes)

VAX er en CISC instruktionssæt arkitektur (ISA) og en række superminicomputere og arbejdsstationer udviklet af Digital Equipment Corporation (DEC) i midten af ​​1970'erne. Den VAX-11/780 , indført 25 oktober, 1977 var den første af en række populære og indflydelsesrige computere til gennemførelse VAX ISA. Over 100 modeller blev introduceret i hele designets levetid, hvor de sidste medlemmer ankom i begyndelsen af ​​1990'erne. VAX blev efterfulgt af DEC Alpha , som omfattede flere funktioner fra VAX -maskiner for at gøre porting fra VAX lettere.

VAX blev designet som en efterfølger til 16-bit PDP-11 , en af ​​de mest succesrige minicomputere i historien med cirka 600.000 solgte eksempler. Systemet var designet til at tilbyde bagudkompatibilitet med PDP-11, mens hukommelsen udvides til en fuld 32-bit implementering og tilføjelse af efterspurgt virtuel hukommelse . Navnet VAX refererer til dets " Virtual Address eXtension " -koncept, der tillod programmer at gøre brug af denne nyligt tilgængelige hukommelse, mens den stadig var kompatibel med umodificeret PDP-11-kode. Navnet "VAX-11", der blev brugt på tidlige modeller, blev valgt for at fremhæve denne kapacitet.

Senere modeller i serien faldt -11 -mærket, da PDP -11 -kompatibilitet ikke længere var en stor bekymring. Linjen udvidede sig til både avancerede maskiner som VAX 9000 samt til arbejdsstationssystemer som VAXstation -serien. VAX -familien indeholdt i sidste ende ti forskellige designs og mere end 100 individuelle modeller i alt. Alle disse var kompatible med hinanden og kørte normalt det velrenommerede VAX/VMS- operativsystem .

VAX er blevet opfattet som den kendetegnende CISC ISA med sit meget store antal samlingssprog-programmeringsvenlige adresseringstilstande og maskininstruktioner, stærkt ortogonal arkitektur og instruktioner til komplekse operationer som køindsætning eller sletning, talformatering og polynom evaluering.

Navn

VAX-11/780

Navnet "VAX" stammer fra et akronym for Virtual Address eXtension , både fordi VAX blev set som en 32-bit udvidelse af den ældre 16-bit PDP-11, og fordi det var (efter Prime Computer ) en tidlig adopterer af virtuel hukommelse at administrere dette større adresserum.

Tidlige versioner af VAX-processoren implementerer en "kompatibilitetstilstand", der efterligner mange af PDP-11's instruktioner, hvilket giver den 11 i VAX-11 for at fremhæve denne kompatibilitet. Senere versioner downloadede kompatibilitetstilstanden og nogle af de mindre brugte CISC -instruktioner til emulering i operativsystemsoftwaren.

Instruktionssæt

VAX instruktionssættet var designet til at være kraftfuldt og ortogonalt . Da det blev introduceret, blev mange programmer skrevet på samlingssprog, så det var vigtigt at have et "programmeringsvenligt" instruktionssæt. Efterhånden som flere programmer blev skrevet på sprog på højere niveau, blev instruktionssættet mindre synligt, og de eneste, der var meget bekymrede over det, var kompilatorforfattere.

Et usædvanligt aspekt af VAX -instruktionssættet er tilstedeværelsen af ​​registermasker i starten af ​​hvert delprogram. Disse er vilkårlige bitmønstre, der angiver, hvilke registre der skal bevares, når kontrollen overføres til delprogrammet. Da registermasker er en form for data, der er integreret i den eksekverbare kode, kan de vanskeliggøre lineær analyse af maskinkoden. Dette kan komplicere optimeringsteknikker, der anvendes på maskinkode.

Operativsystemer

Stiliseret "VAX/VMS" brugt af Digital

Det "native" VAX -operativsystem er Digitals VAX/VMS (omdøbt til OpenVMS i 1991 eller begyndelsen af ​​1992, da det blev portet til Alpha , ændret for at overholde POSIX -standarder og "mærket" som kompatibelt med XPG4 af X/Open -konsortiet) .

VAX -arkitekturen og OpenVMS -operativsystemet blev "konstrueret samtidigt" for at udnytte hinanden bedst muligt, ligesom den første implementering af VAXcluster -anlægget . Andre VAX -operativsystemer har inkluderet forskellige udgivelser af BSD UNIX op til 4.3BSD , Ultrix -32, VAXELN og Xinu . For nylig har NetBSD og OpenBSD understøttet forskellige VAX -modeller, og der er gjort et stykke arbejde med at overføre Linux til VAX -arkitekturen. OpenBSD ophørte med at understøtte arkitekturen i september 2016.

Historie

VAX 8350 set forfra med fjernet dæksel

Den første VAX-model, der blev solgt, var VAX-11/780 , som blev introduceret den 25. oktober 1977 på Digital Equipment Corporation's årlige generalforsamling. Bill Strecker, C. Gordon Bells doktorand ved Carnegie Mellon University , var ansvarlig for arkitekturen. Mange forskellige modeller med forskellige priser, ydelsesniveauer og kapaciteter blev efterfølgende oprettet. VAX superminicomputere var meget populære i begyndelsen af ​​1980'erne.

I et stykke tid blev VAX-11/780 brugt som standard i CPU- benchmarks . Det blev oprindeligt beskrevet som en en- MIPS- maskine, fordi dens ydeevne svarede til et IBM System/360, der kørte på en MIPS, og System/360-implementeringerne tidligere havde været de facto-standarder for ydeevne. Det faktiske antal instruktioner udført på 1 sekund var omkring 500.000, hvilket førte til klager over marketingoverdrivelse. Resultatet var definitionen af ​​en "VAX MIPS", hastigheden på en VAX-11/780; en computer med 27 VAX MIPS ville køre det samme program cirka 27 gange hurtigere end VAX-11/780.

Inden for det digitale samfund var udtrykket VUP ( VAX Unit of Performance ) det mere almindelige udtryk, fordi MIPS ikke sammenligner godt på tværs af forskellige arkitekturer. Det relaterede udtryk klynge VUP'er blev uformelt brugt til at beskrive den samlede ydelse af en VAXcluster . (Ydeevnen for VAX-11/780 fungerer stadig som baseline-metrik i BRL-CAD Benchmark, en præstationsanalysepakke, der er inkluderet i BRL-CAD solid modelleringssoftwaredistribution.) VAX-11/780 inkluderede en underordnet stand- alene LSI-11- computer, der udførte mikrokodeindlæsning, opstart og diagnostiske funktioner til forældrecomputeren. Dette blev droppet fra efterfølgende VAX -modeller. Foretagende VAX-11/780-brugere kunne derfor køre tre forskellige Digital Equipment Corporation-operativsystemer: VMS på VAX-processoren (fra harddiskene) og enten RSX-11S eller RT-11 på LSI-11 (fra single density single diskettedisk).

VAX gennemgik mange forskellige implementeringer. Den originale VAX 11/780 blev implementeret i TTL og fyldte et fire-til-fem-fods kabinet med en enkelt CPU . CPU -implementeringer, der bestod af flere ECL -gate -array eller macrocell -array -chips, omfattede VAX 8600- og 8800 -superminierne og endelig VAX 9000 mainframe -maskiner. CPU -implementeringer, der bestod af flere MOSFET -brugerdefinerede chips, omfattede 8100- og 8200 -klassemaskiner. VAX 11-730 og 725 low-end-maskiner blev bygget ved hjælp af AMD Am2901 bit-slice- komponenter til ALU.

Den MicroVAX Jeg repræsenterede en stor overgang i VAX familien. På tidspunktet for dets design var det endnu ikke muligt at implementere den fulde VAX-arkitektur som en enkelt VLSI- chip (eller endda et par VLSI-chips, som det senere blev gjort med V-11 CPU'en på VAX 8200/8300). I stedet var MicroVAX I den første VAX -implementering, der flyttede nogle af de mere komplekse VAX -instruktioner (f.eks. De pakket decimaler og relaterede opcodes) til emuleringssoftware. Denne partitionering reducerede betydeligt den nødvendige mikrokode og blev omtalt som "MicroVAX" -arkitekturen. I MicroVAX I blev ALU og registre implementeret som en enkelt gate-array- chip, mens resten af ​​maskinstyringen var konventionel logik.

En fuld VLSI ( mikroprocessor ) implementering af MicroVAX -arkitekturen ankom med MicroVAX IIs 78032 (eller DC333) CPU og 78132 (DC335) FPU. Den 78.032 var den første mikroprocessor med en on-board lagers styreenhed den MicroVAX II blev baseret på en enkelt, quad-sized processorkort, der har transporteret processor chips og kørte MicroVMS eller Ultrix -32 operativsystemer . Maskinen havde 1 MB indbygget hukommelse og en Q22-bus- grænseflade med DMA- overførsler. MicroVAX II blev efterfulgt af mange yderligere MicroVAX -modeller med meget forbedret ydeevne og hukommelse.

Yderligere VLSI VAX-processorer fulgte i form af implementeringerne V-11, CVAX , CVAX SOC ("System On Chip", en single-chip CVAX), Rigel , Mariah og NVAX . VAX-mikroprocessorerne udvidede arkitekturen til billige arbejdsstationer og erstattede senere også de avancerede VAX-modeller. Denne brede vifte af platforme (mainframe til arbejdsstation), der brugte en arkitektur, var på det tidspunkt unik i computerindustrien. Diverse grafikker blev ætset på CVAX -mikroprocessordysen. Udtrykket CVAX ... når du bekymrer dig nok om at stjæle det allerbedste, blev ætset i brudt russisk som et spil på et Hallmark Cards -slogan, beregnet som et budskab til sovjetiske ingeniører, der var kendt for at være både uddeling af DEC -computere til militære applikationer og reverse konstruere deres chip design.

I DECs produkttilbud blev VAX -arkitekturen til sidst afløst af RISC -teknologi. I 1989 introducerede DEC en række arbejdsstationer og servere, der kørte henholdsvis Ultrix , DECstation og DECsystem , baseret på processorer, der implementerede MIPS -arkitekturen . I 1992 introducerede DEC deres egen RISC-instruktionssætarkitektur, Alpha AXP (senere omdøbt til Alpha) og deres egen Alpha-baserede mikroprocessor, DECchip 21064 , et højtydende 64-bit design, der er i stand til at køre OpenVMS.

I august 2000 meddelte Compaq, at de resterende VAX -modeller ville blive afbrudt ved udgangen af ​​året, men gamle systemer er stadig i udbredt brug.

Stromasys CHARON- VAX- og SIMH- softwarebaserede VAX-emulatorer er stadig tilgængelige, og VMS administreres nu af VMS Software Incorporated, selvom de kun tilbyder OpenVMS til Alpha- systemer og HPE Integrity Servers , med x86-64 support, der udvikles og ikke tilbyder det til VAX.

Processorarkitektur

MicroVAX 3600 (venstre) med printer (højre)
DEC VAX registre
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 (bit position)
Generelle registre
R0 Registrer 0
R1 Registrer 1
R2 Registrer 2
R3 Registrer 3
R4 Registrer 4
R5 Registrer 5
R6 Registrer 6
R7 Registrer 7
R8 Registrer 8
R9 Registrer 9
R10 Tilmeld 10
R11 Registrer 11
R12 / AP Register 12 / Argument Pointer
R13 / FP Registrer 13 / Frame Pointer
R14 / SP Registrer 14 / Stack Pointer
R15 / pc Registrer 15 / Programtæller
Statusflag
N Z V C Tilstandskoderegister

Virtuelt hukommelseskort

Den virtuelle VAX -hukommelse er opdelt i fire sektioner. Hver er en gigabyte (i forbindelse med adressering, 2 30 bytes) i størrelse:

Afsnit Adresseområde
P0 0x00000000 - 0x3fffffff
P1 0x40000000 - 0x7fffffff
S0 0x80000000 - 0xbfffffff
S1 0xc0000000 - 0xffffffff

For VMS blev P0 brugt til brugerprocesrum, P1 til processtak, S0 til operativsystemet og S1 var reserveret.

Privilege -tilstande

VAX har fire hardwareimplementerede privilegietilstande:

Ingen. Mode VMS -brug Noter
0 Kerne OS Kerne Højeste privilegie niveau
1 Executive Filsystem
2 Tilsynsførende Shell (DCL)
3 Bruger Normale programmer Laveste privilegiumniveau

Processorstatusregister

Processtatusregistret har 32 bits:

CM TP MBZ FD ER 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
Bider Betyder
31 PDP-11 kompatibilitetstilstand
30 spor afventende
29:28 MBZ (skal være nul)
27 første del udført (afbrudt instruktion)
26 afbryde stakken
25:24 nuværende privilegietilstand
23:22 tidligere privilegietilstand
21 MBZ (skal være nul)
20:16 IPL (afbrydelsesprioritetsniveau)
15: 8 MBZ (skal være nul)
7 decimaloverløbsfælde aktivere
6 floating-point underflow trap aktivere
5 heltal overløbsfælde aktivere
4 spor
3 negativ
2 nul
1 flyde over
0 bære
SPEC-1 VAX, en VAX 11/780, der bruges til benchmarking og viser indvendige dele

VAX-baserede systemer

Det første VAX-baserede system var VAX-11/780 , et medlem af VAX-11 familien. Den avancerede VAX 8600 erstattede VAX-11/780 i oktober 1984 og fik selskab af entry-level MicroVAX minicomputere og VAXstation- arbejdsstationer i midten af ​​1980'erne. MicroVAX blev afløst af VAX 4000 , VAX 8000 blev afløst af VAX 6000 i slutningen af ​​1980'erne, og mainframe-klassen VAX 9000 blev introduceret. I begyndelsen af ​​1990'erne blev den fejltolerante VAXft introduceret, ligesom den Alpha- kompatible VAX 7000/10000 . En variant af forskellige VAX-baserede systemer blev solgt som VAXserver .

SIMACS (SImultaneous Machine ACceSs)

System Industries udviklede en kapacitet til at have mere end én DEC CPU, men ikke samtidig have skriveadgang til en delt disk. De implementerede en forbedring kaldet SIMACS (SImultaneous Machine ACceSs), som tillod deres specielle diskcontroller at indstille et semaforeflag til diskadgang, hvilket tillod flere SKRIFTER til de samme filer; disken deles af flere DEC -systemer. SIMACS eksisterede også på PDP-11 RSTS- systemer.

Annullerede systemer

Aflyste systemer inkluderer " BVAX ", en avanceret ECL- baseret VAX og to andre ECL-baserede VAX-modeller: " Argonaut " og " Raven ". Raven blev aflyst i 1990. En VAX kendt som " Gemini " blev også aflyst, hvilket var et tilbageslag i tilfælde af, at LSI-baserede Scorpio mislykkedes. Det blev aldrig sendt.

Kloner

En række VAX -kloner, både autoriserede og uautoriserede, blev produceret. Eksempler omfatter:

  • Systime Computers Ltd i Det Forenede Kongerige producerede kloner af tidlige VAX -modeller, såsom Systime 8750 (svarende til VAX 11/750).
  • Norden Systems producerede den robuste, militærspecificerede MIL VAX-serie.
  • Det ungarske centrale forskningsinstitut for fysik (KFKI) producerede en række kloner af tidlige VAX-modeller, TPA-11/540, 560 og 580.
  • SM 52/12 fra Tjekkoslovakiet , udviklet på VUVT Žilina (i dag Slovakiet ) og produceret fra 1986 på ZVT Banská Bystrica (i dag Slovakiet ).
  • Den østtyske VEB Robotron K 1840 (SM 1710) er en klon af VAX-11/780, og Robotron K 1820 (SM 1720) er en kopi af MicroVAX II.
  • Den SM-1700 er et sovjetisk klon af VAX-11/730, SM-1702 var en klon af MicroVAX II og SM-1705 var en klon af VAX-11/785. Disse systemer kørte en række forskellige klonoperativsystemer - DEMOS (baseret på BSD Unix), MOS VP (baseret på VAX/VMS) eller MOS VP RV (baseret på VAXELN).
  • NCI-2780 Super-mini, også solgt som Taiji-2780, er en klon af VAX-11/780 udviklet af North China Institute of Computing Technology i Beijing.

Yderligere læsning

  • Coy, Peter (6. januar 2021). "Hvem husker VAX Minicomputer, ikon for 1980'erne?" . Bloomberg News . Hentet 9. januar 2021 .

Referencer

eksterne links