"VAX"의 두 판 사이의 차이

4,969 바이트 추가됨 ,  4년 전
편집 요약 없음
== 역사 ==
1977년 10월 25일에 [[디지털 이큅먼트 코퍼레이션]](DEC)가 선보인 [[VAX-11|VAX-11/780]]이 이 아키텍처를 구현한 영향력 있는 [[컴퓨터]]들 가운데 최초의 것이다.<ref>{{웹 인용|url=http://www.old-computers.com/history/detail.asp?n=20&t=3|title=VAX 11/780, The First VAX System (October 1977)}}</ref> [[케임브리지 멜론 대학교]]의 [[고든 벨|C. 고든 벨]]의 박사 과정의 학생인 빌 스트레커(Bill Strecker)가 이 아키텍처를 맡았다.<ref>{{서적 인용 | url=http://books.google.com/?id=aWTtMyYmKhUC&dq=%22Bill+Strecker%22+vax+designer | title=Portraits in Silicon | last= Slater | first=Robert | publisher=MIT Press | year=1987 | page=[http://books.google.com/books?id=aWTtMyYmKhUC&pg=PA213&lpg=PA213&dq=%22Bill+Strecker%22+vax+designer 213] | isbn=978-0-262-69131-4 }}</ref> 가격, 성능 수준, 용량이 각기 다른 수많은 모델들이 차후에 만들어졌다. VAX [[슈퍼미니컴퓨터]]는 1980년대 초에 매우 인기를 끌었다.
 
== 프로세서 구조 ==
[[파일:Microvax 3600 (2).jpg|thumb|MicroVAX 3600 (왼쪽). 이와 함께있는 프린터 (오른쪽)]]
=== 가상 메모리 맵 ==
{| class="infobox" style="font-size:88%"
|-
|align="center" |DEC VAX 레지스터
|-
|
{| style="font-size:88%"
|-
| style="width:10px; text-align:left"| <sup>3</sup><sub>1</sub>
| style="width:60px; text-align:center"| . . .
| style="width:10px; text-align:right"| <sup>2</sup><sub>3</sub>
| style="width:60px; text-align:center"| . . .
| style="width:10px; text-align:center"| <sup>1</sup><sub>5</sub>
| style="width:10px; text-align:center"| <sup>1</sup><sub>4</sub>
| style="width:10px; text-align:center"| <sup>1</sup><sub>3</sub>
| style="width:10px; text-align:center"| <sup>1</sup><sub>2</sub>
| style="width:10px; text-align:center"| <sup>1</sup><sub>1</sub>
| style="width:10px; text-align:center"| <sup>1</sup><sub>0</sub>
| style="width:10px; text-align:center"| <sup>0</sup><sub>9</sub>
| style="width:10px; text-align:center"| <sup>0</sup><sub>8</sub>
| style="width:10px; text-align:center"| <sup>0</sup><sub>7</sub>
| style="width:10px; text-align:center"| <sup>0</sup><sub>6</sub>
| style="width:10px; text-align:center"| <sup>0</sup><sub>5</sub>
| style="width:10px; text-align:center"| <sup>0</sup><sub>4</sub>
| style="width:10px; text-align:center"| <sup>0</sup><sub>3</sub>
| style="width:10px; text-align:center"| <sup>0</sup><sub>2</sub>
| style="width:10px; text-align:center"| <sup>0</sup><sub>1</sub>
| style="width:10px; text-align:center"| <sup>0</sup><sub>0</sub>
| style="width:auto; background:white; color:black" | ''(bit position)''
|-
! colspan="21" | General registers
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R0
| style="background:white; color:black"| Register 0
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R1
| style="background:white; color:black"| Register 1
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R2
| style="background:white; color:black"| Register 2
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R3
| style="background:white; color:black"| Register 3
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R4
| style="background:white; color:black"| Register 4
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R5
| style="background:white; color:black"| Register 5
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R6
| style="background:white; color:black"| Register 6
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R7
| style="background:white; color:black"| Register 7
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R8
| style="background:white; color:black"| Register 8
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R9
| style="background:white; color:black"| Register 9
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R10
| style="background:white; color:black"| Register 10
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R11
| style="background:white; color:black"| Register 11
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R12 / AP
| style="background:white; color:black"| Register 12 / Argument Pointer
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R13 / FP
| style="background:white; color:black"| Register 13 / Frame Pointer
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R14 / SP
| style="background:white; color:black"| Register 14 / Stack Pointer
|- style="background:silver;color:black"
| style="text-align:center" colspan="20"| R15 / PC
| style="background:white; color:black"| Register 15 / Program Counter
|-
! colspan="21" | Status flags
|- style="background:silver;color:black"
| style="text-align:center" colspan="16"|
| style="text-align:center"| [[사인 플래그|N]]
| style="text-align:center"| [[제로 플래그|Z]]
| style="text-align:center"| [[오버플로 플래그|V]]
| style="text-align:center"| [[캐리 플래그|C]]
| style="background:white; color:black" | Condition Code Register
|}
|}
 
VAX 가상 메모리는 4개의 부분으로 나뉘는데, 크기는 각각 1 기가바이트(어드레싱 문맥에 따라 2<sup>30</sup> 바이트)이다:
{|class="wikitable"
! 구분
! 주소 범위
|-
|P0
| <tt>0x00000000</tt> - <tt>0x3fffffff</tt>
|-
|P1
| <tt>0x40000000</tt> - <tt>0x7fffffff</tt>
|-
|S0
| <tt>0x80000000</tt> - <tt>0xbfffffff</tt>
|-
|S1
| <tt>0xc0000000</tt> - <tt>0xffffffff</tt>
|}
VMS의 경우, 사용자 프로세스 공간을 위해 P0을, 프로세스 스택을 위해 P1을, 운영 체제를 위해 S0을 사용하였으며 S1은 예비로 남겨두었다.
 
== 각주 ==