VAX
VAX는 디지털 이큅먼트 코퍼레이션(DEC)이 1970년대 중반에 개발한 명령어 집합 아키텍처(ISA)이다.
명칭
[편집]"VAX"는 가상 주소 확장(virtual address extension)의 준말인데, 그 이유는 VAX가 오래된 16비트 PDP-11의 32비트 확장으로 간주되었고 (프라임 컴퓨터 이후) 가상 메모리를 처음 채택하여 더 넓은 주소 공간을 관리하였기 때문이다. 초기 버전의 VAX 프로세서는 호환성 모드를 구현하여 PDP-11 명령의 다수를 에뮬레이트하였기에 실제로 이러한 호환성을 강조하여 VAX-11로 불렸다.
운영 체제
[편집]네이티브 VAX 운영 체제는 디지털의 VAX/VMS였다. (1991년~1992년 초반에 OpenVMS로 이름이 바뀜. 당시 알파에 포팅되어 POSIX 표준에 맞게 수정되어 X/Open 컨소시엄의 XPG4와 호환된다고 하여 그렇게 정해짐.)[1]
역사
[편집]1977년 10월 25일에 디지털 이큅먼트 코퍼레이션(DEC)가 선보인 VAX-11/780이 이 아키텍처를 구현한 영향력 있는 컴퓨터들 가운데 최초의 것이다.[2] 카네기 멜런 대학교의 C. 고든 벨의 박사 과정의 학생인 빌 스트레커(Bill Strecker)가 이 아키텍처를 맡았다.[3] 가격, 성능 수준, 용량이 각기 다른 수많은 모델들이 차후에 만들어졌다. VAX 슈퍼미니컴퓨터는 1980년대 초에 매우 인기를 끌었다.
프로세서 구조
[편집]가상 메모리 맵
[편집]DEC VAX 레지스터 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
VAX 가상 메모리는 4개의 부분으로 나뉘는데, 크기는 각각 1 기가바이트(어드레싱 문맥에 따라 230 바이트)이다:
구분 | 주소 범위 |
---|---|
P0 | 0x00000000 - 0x3fffffff
|
P1 | 0x40000000 - 0x7fffffff
|
S0 | 0x80000000 - 0xbfffffff
|
S1 | 0xc0000000 - 0xffffffff
|
VMS의 경우, 사용자 프로세스 공간을 위해 P0을, 프로세스 스택을 위해 P1을, 운영 체제를 위해 S0을 사용하였으며 S1은 예비로 남겨두었다.
권한 모드
[편집]VAX는 4개의 하드웨어 구현 권한 모드가 있다.
번호 | 모드 | VMS 사용 | 참고 |
---|---|---|---|
0 | 커널 | OS 커널 | 최고 수준의 권한 단계 |
1 | 실행 | 파일 시스템 | |
2 | 수퍼바이저 | 셸 (DCL) | |
3 | 사용자 | 일반 프로그램 | 최저 수준의 권한 단계 |
프로세서 상태 레지스터
[편집]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 |
비트 | 의미 |
---|---|
31 | PDP-11 호환 모드 |
30 | 트레이스 보류 |
29:28 | MBZ (0이어야 함) |
27 | 첫 부분 완료 (인터럽트 명령) |
26 | 인터럽트 스택 |
25:24 | 현재의 권한 모드 |
23:22 | 이전 권한 모드 |
21 | MBZ (0이어야 함) |
20:16 | IPL (인터럽트 우선 순위 수준) |
15:8 | MBZ (0이어야 함) |
7 | 10진 오버플로 트랩 활성화 |
6 | 부동소수점 언더플로 트랩 활성화 |
5 | 정수 오버플로 트랩 활성화 |
4 | 트레이스 |
3 | 부정 |
2 | 영(0) |
1 | 오버플로 |
0 | 캐리 |
각주
[편집]- ↑ Rainville, Jim; Howard, Karen, 편집. (1997). “VAX/VMS at 20”. Digital Equipment Corporation. 2009년 7월 6일에 원본 문서에서 보존된 문서. 2009년 7월 27일에 확인함.
- ↑ “VAX 11/780, The First VAX System (October 1977)”. 2019년 10월 3일에 원본 문서에서 보존된 문서. 2016년 8월 20일에 확인함.
- ↑ Slater, Robert (1987). 《Portraits in Silicon》. MIT Press. 213쪽. ISBN 978-0-262-69131-4.
외부 링크
[편집]- (영어) HP: VAX Systems
- (영어) DEC Microprocessors
- (영어) SimH VAX Open source emulator that supports VAX architecture