알파 21164

[섬네일|right|[Cray T3E|Cray T3E-600 프로세서 보드의 금색 300 MHz 알파 21164 마이크로프로세서 4개]]
섬네일|right|DEC 알파 21164 (EV5) 다이 샷

**알파 21164**(Alpha 21164)는 코드명 **EV5**로도 알려져 있으며, 디지털 이큅먼트 코퍼레이션이 개발하고 제조한 알파 명령어 집합 (ISA)을 구현한 마이크로프로세서이다. 1995년 1월에 출시되었으며, 알파 21064A의 뒤를 이어 디지털의 주력 마이크로프로세서가 되었다. 1998년에는 알파 21264로 계승되었다.

## 역사
알파 21164의 첫 번째 실리콘은 1994년 2월에 생산되었으며, OpenVMS, 디지털 유닉스, 윈도우 NT 운영체제가 성공적으로 부팅되었다. 1994년 후반에 샘플이 제공되었고, 1995년 1월에 266&nbsp;MHz 버전이 출시되었다. 300&nbsp;MHz 버전은 1995년 3월에 출시되었다. 마지막 알파 21164인 333&nbsp;MHz 버전은 1995년 10월 2일에 발표되었으며, 샘플 물량으로 제공되었다. 알파 21164는 1996년에 400&nbsp;MHz 버전이 대량 생산되면서 알파 21164A로 대체되어 디지털의 주력 마이크로프로세서가 되었다.

### 사용자
디지털은 다양한 클럭 주파수에서 작동하는 알파 21164를 알파서버 서버와 알파스테이션 워크스테이션에 사용했다. 또한 디지털은 알파 VME 5/352 및 알파 VME 5/480 단일 보드 컴퓨터와 AlphaPC 164 및 AlphaPC 164LX 메인보드에도 알파 21164를 사용했다. 알파 파트너인 크레이 리서치는 300&nbsp;MHz 알파 21164를 T3E-600 슈퍼컴퓨터에 사용했다. 데스크스테이션과 같은 타사 업체들도 알파 21164를 사용하여 워크스테이션을 구축했다.

### 성능
21164는 275&nbsp;MHz 알파 21064A의 성능 우위를 1995년 11월 인텔 펜티엄 프로가 출시될 때까지 유지했다. 이때 200&nbsp;MHz 버전은 300&nbsp;MHz 21164를 SPECint95_base 벤치마크 스위트에서 능가했다. 21164는 부동소수점 성능 우위를 유지했다. 이듬해 출시된 333&nbsp;MHz 21164는 펜티엄 프로를 능가했지만, 같은 해에 MIPS 테크놀로지스의 R10000과 휴렛 팩커드의 PA-8000에 의해 추월되었다.

## 설명
알파 21164는 최대 4개의 실행 장치(2개의 정수 및 2개의 부동소수점)에 클럭 주기당 최대 4개의 명령어를 발행할 수 있는 4-이슈 슈퍼스칼라 마이크로프로세서이다. 정수 파이프라인은 7단계이며, 부동소수점 파이프라인은 10단계이다. 21164는 43비트 가상 주소와 40비트 물리 주소를 구현했다. 따라서 8&nbsp;TB의 가상 메모리와 1&nbsp;TB의 물리 메모리를 처리할 수 있었다.

### 정수 장치
정수 장치는 두 개의 정수 파이프라인과 정수 레지스터 파일로 구성되었다. 두 파이프라인(더하기 파이프라인과 곱하기 파이프라인)은 동일하지 않으며, 각각 다른 명령어를 실행한다. 그러나 둘 다 일반적인 더하기, 논리, 로드, 비교 및 조건부 이동 명령어를 실행할 수 있다. 곱하기 파이프라인은 쉬프트, 스토어 및 곱하기 명령어(파이프라인화되지 않은 승수에서)만 실행한다. 더하기 파이프라인은 분기 명령어만 실행한다.

분기, 조건부 이동 및 곱하기 명령어를 제외한 모든 다른 명령어는 5단계에서 시작하여 한 주기 지연으로 실행을 완료한다. 분기 및 조건부 이동 명령어는 6단계에서 실행되므로 결과가 의존하는 비교 명령어와 함께 발행될 수 있다.

정수 레지스터 파일에는 40개의 64비트 레지스터가 포함되어 있으며, 이 중 32개는 알파 아키텍처에서 지정하고 8개는 PALcode가 스크래치패드 메모리로 사용한다. 레지스터 파일에는 두 정수 파이프라인 사이에 균등하게 분할된 4개의 읽기 포트와 2개의 쓰기 포트가 있다.

### 부동소수점 장치
부동소수점 장치는 두 개의 부동소수점 파이프라인과 부동소수점 레지스터 파일로 구성되었다. 두 파이프라인은 동일하지 않으며, 하나는 곱셈을 제외한 모든 부동소수점 명령어를 실행하고, 다른 하나는 곱셈 명령어만 실행했다. 두 파이프라인 모두 4단계이다. 파이프라인화되지 않은 부동소수점 제산기는 더하기 파이프라인에 연결되어 있다. 제산 명령어를 제외한 모든 부동소수점 명령어는 4주기 지연 시간을 갖는다. 제산은 단정밀도 또는 배정밀도 부동소수점 숫자에 대해 수행되는지 여부에 따라 가변적인 지연 시간을 갖는다. 오버헤드를 포함하여 단정밀도 제산은 15~31주기 지연 시간을 갖는 반면, 배정밀도 제산은 22~60주기 지연 시간을 갖는다.

### 캐시
21164에는 세 가지 수준의 캐시가 있으며, 두 개는 온다이이고 하나는 외부 및 선택 사항이다. 캐시 및 관련 로직은 720만 개의 트랜지스터로 구성되었다.

주요 캐시는 명령어용 캐시와 데이터용 캐시로 분할되며, 각각 I-캐시와 D-캐시라고 한다. 크기는 8&nbsp;KB이고, 직접 매핑되며, 캐시 라인 크기는 32바이트이다. D-캐시는 성능 향상을 위해 이중 포트로 되어 있으며, 캐시를 두 번 복제하여 구현된다. 라이트 스루 쓰기 정책과 읽기 시 할당 정책을 사용한다.

S-캐시로 알려진 보조 캐시는 온다이이며 용량은 96&nbsp;KB이다. 21164는 충분한 명령어와 데이터를 제공하기 위해 외부 보조 캐시가 제공할 수 있는 것보다 더 많은 대역폭을 필요로 했기 때문에 온다이 보조 캐시가 필요했다. 캐시는 넓은 면적으로 인해 접근하는 데 두 주기가 필요했다. 성능을 향상시키기 위해 캐시는 파이프라인화되었다. 온다이 보조 캐시의 또 다른 장점은 다중 방식 캐시로 쉽게 구현될 수 있다는 점이었고, 그 결과 캐시는 3-방식 세트 연관되어 직접 매핑 캐시보다 향상된 적중률을 제공한다. S-캐시는 넓은 물리적 영역이 필요했기 때문에 I-박스, E-박스, F-박스 및 M-박스를 양쪽에 끼고 두 개의 반쪽으로 구현되었다. 이는 캐시가 두 주기 내에 데이터를 반환할 수 있도록 하기 위함이었다.

B-캐시로 알려진 3차 캐시는 외부 SRAM으로 구현된다. B-캐시는 선택 사항이었고 알파 21164를 사용하는 일부 시스템에는 없었다. B-캐시는 1~64&nbsp;MB의 용량을 가질 수 있었고, 온다이 S-캐시로 인해 쓸모없게 되었으므로 더 작은 용량은 지원되지 않았다. 직접 매핑되며, 라이트 백 쓰기 정책과 쓰기 시 할당 정책을 사용한다. B-캐시는 21064와 달리 외부 캐시 컨트롤러가 필요 없이 온다이 외부 인터페이스 로직에 의해 제어되었다. B-캐시는 비동기 또는 동기 SRAM으로 구축할 수 있었다. B-캐시는 시스템 버스를 통해 접근된다.

### 외부 인터페이스
섬네일|알파 21164용 소켓 499
외부 인터페이스는 128비트 시스템 버스이다. 시스템 버스는 내부 클럭 주파수보다 3~15배 낮은 클럭 주파수, 즉 내부 클럭 주파수가 300&nbsp;MHz일 때 20~100&nbsp;MHz로 작동한다. 시스템 버스의 클럭 신호는 마이크로프로세서에 의해 생성된다.

### 클럭
내부 클럭 주파수는 외부 클럭 신호를 2로 나누어 생성된다. 따라서 300&nbsp;MHz 알파 21164는 600&nbsp;MHz의 외부 클럭 신호를 필요로 한다.

### 제조
알파 21164는 16.5 x 18.1&nbsp;mm (299&nbsp;mm2) 크기의 다이에 930만 개의 트랜지스터를 포함하며, 이는 공정의 최대 한계에 가까웠다. 이 다이는 디지털의 5세대 상보형 금속 산화물 반도체 (CMOS) 공정인 CMOS-5, 즉 4단계 알루미늄 인터커넥트가 있는 0.50&nbsp;μm 공정으로 제작되었다. 21164는 3.3-V 전원 공급 장치를 사용했다. 266&nbsp;MHz에서 46&nbsp;W, 300&nbsp;MHz에서 51&nbsp;W, 333&nbsp;MHz에서 56&nbsp;W를 소비했다.

### 패키지
알파 21164는 57.40 x 57.40&nbsp;mm 크기의 499핀 세라믹 개재형 핀 그리드 배열 (IPGA)로 패키징되었다. 이 패키지에는 히트 싱크가 볼트로 고정되는 두 개의 스터드가 있는 히트 스프레더가 있었다.

## 파생 제품

### 알파 21164 (EV56)

섬네일|right|500 MHz 알파 21164 (EV56) 마이크로프로세서
섬네일|right|삼성 알파 21164 (EV56) 다이 샷

알파 21164는 코드명 **EV56**으로 추가 개발되었다. 알파 21164로 출시되었지만, 원래는 **알파 21164A**로 알려져 있었다. 366, 433, 500, 533, 566, 600, 666&nbsp;MHz의 클럭 주파수에서 작동했다.

#### 역사
1995년 10월 마이크로프로세서 포럼에서 처음 소개되었다. 1995년 11월 13일, 디지털은 그 달 말에 샘플이 출하될 것이라고 발표했다. 366&nbsp;MHz로 작동하는 첫 번째 버전은 1996년에 출시되었다. 1996년 7월 8일, 디지털은 433&nbsp;MHz 버전이 출시되었고, 500&nbsp;MHz 버전은 샘플링 중이며 1996년 9월에 대량 출시될 예정이라고 발표했다. 433&nbsp;MHz 버전은 1,000개 단위로 개당 1,492달러에 판매되었다. 600&nbsp;MHz 버전은 1997년 3월 31일에 출시되어 대량 출하되었다. 삼성전자는 1996년 6월에 디지털과 알파 21164A를 2차 공급하는 계약을 체결했으며, 666&nbsp;MHz 모델을 제조한 유일한 회사였다. 366~500&nbsp;MHz 샘플은 1996년 11월 11일에 출시되었으며, 1997년에 대량으로 공급되었다. 알파 21164A는 디지털의 허드슨, 매사추세츠와 삼성의 한국 기흥 제조 공장에서 제작되었다.

알파 21164A 사용자에는 크레이 리서치, 디지털, 네트워크 어플라이언스 (현 넷앱), 데스크스테이션이 포함되었다. 크레이 리서치는 450, 600, 675&nbsp;MHz 알파 21164A를 T3E 슈퍼컴퓨터의 후기 모델에 사용했다. 디지털은 다양한 클럭 주파수에서 작동하는 알파 21164A를 알파서버, 알파스테이션, 셀레브리스 XL 워크스테이션 및 디지털 개인 워크스테이션에 사용했다. 넷앱은 400, 500, 600&nbsp;MHz 알파 21164A를 스토리지 시스템에 사용했다. 데스크스테이션은 알파 21164A를 랩터 리플렉스 워크스테이션에 사용했다.

#### 설명
가장 주목할 만한 변화는 알파 아키텍처의 확장인 BWX(Byte Word Extensions)의 포함이었다. 이는 바이트 및 워드 접근을 개선하기 위해 설계되었다. 이 명령어는 곱하기 파이프라인에 의해 실행된다. 알파 21164A는 14.4&nbsp;mm x 14.5&nbsp;mm 크기의 다이에 966만 개의 트랜지스터를 포함했으며, 다이 면적은 209&nbsp;mm2였다. 디지털은 6세대 CMOS 공정인 CMOS-6, 즉 4개 층의 인터커넥트가 있는 0.35&nbsp;μm 공정으로 다이를 제작했다. 삼성은 1996년 초에 개발한 0.3&nbsp;μm 공정을 기반으로 4개 층의 인터커넥트가 있는 0.35&nbsp;μm 공정으로 다이를 제작했다. 알파 21164A는 3.3V 전원 공급 장치를 사용했으며, 366&nbsp;MHz에서 31.0W, 433&nbsp;MHz에서 36.0W, 500&nbsp;MHz에서 41.0W, 533&nbsp;MHz에서 43.5W, 600&nbsp;MHz에서 48.5W를 소비했다.

### 알파 21164PC (PCA56)
**알파 21164PC**는 **PCA56**으로도 알려져 있으며, 1997년 3월 17일에 출시된 알파 21164A의 저가형 버전이다. 이 마이크로프로세서는 디지털과 미쓰비시 전기가 공동 개발했으며, 양사가 설계를 제조했다. 미쓰비시는 1998년 초에 디지털과의 향후 알파 마이크로프로세서 공동 개발 계약을 중단하고 1998년 중반에 알파 21164PC 제조를 중단했으며, 회사 시장의 경제 상황 때문에 알파 시장에서 철수했다.

알파 21164PC는 400, 466, 533&nbsp;MHz의 클럭 주파수에서 작동했다. 주요 변경 사항은 S-캐시의 생략, 더 큰 I-캐시, 그리고 단일 명령 다중 데이터 (SIMD) 명령어를 도입하여 MPEG 인코딩 성능을 향상시키는 알파 아키텍처의 확장인 MVI(Motion Video Instructions)의 포함이다. S-캐시는 트랜지스터 수를 줄여 다이 크기와 비용을 절감하기 위해 제거되었다. I-캐시는 8KB에서 16KB로 용량이 두 배로 늘어나 S-캐시의 부족을 보완했다. 알파 21164는 충분한 대역폭을 제공하여 적절한 성능을 달성하기 위해 I-캐시를 보완하기 위해 S-캐시에 의존했기 때문이다. B-캐시의 용량은 512KB에서 4MB로 제한되었으며, 1MB 및 2MB 용량도 지원되었다. 이 마이크로프로세서는 43비트 가상 주소와 33비트 물리 주소를 사용한다.

알파 21164PC는 8.65 x 16.28&nbsp;mm 크기의 다이에 350만 개의 트랜지스터를 포함했으며, 다이 면적은 141&nbsp;mm2였다. 디지털은 알파 21164와 동일한 공정인 CMOS-5로 다이를 제작했다. 알파 21164PC는 49.78 x 49.78&nbsp;mm 크기의 413핀 IPGA로 패키징되었다. 3.3V 전원 공급 장치를 사용했으며, 400&nbsp;MHz에서 26.5W, 466&nbsp;MHz에서 30.5W, 533&nbsp;MHz에서 35.0W를 소비했다.

알파 21164PC는 디지털의 AlphaPC 164SX 메인보드에 사용되었다.

### 알파 21164PC (PCA57)
PCA56의 파생 제품인 **PCA57**은 삼성전자에서 0.28&nbsp;μm CMOS 공정으로 설계 및 제조되었다. PCA57은 1998년 후반에 출시되었으며 533, 600, 666&nbsp;MHz의 클럭 주파수에서 작동했다. PCA56 마이크로아키텍처의 개선 사항에는 I-캐시와 D-캐시 용량의 두 배 증가(각각 32&nbsp;KB 및 16&nbsp;KB)가 포함되었다. PCA57은 6.7&nbsp;mm x 15&nbsp;mm 크기의 다이에 570만 개의 트랜지스터를 포함했으며, 다이 면적은 101&nbsp;mm2였다. 2.5&nbsp;V 전원 공급 장치에서 작동했으며 533&nbsp;MHz에서 18&nbsp;W, 600&nbsp;MHz에서 20&nbsp;W, 666&nbsp;MHz에서 23&nbsp;W를 소비했다.

PCA57은 디지털의 AlphaPC 164RX 메인보드에 사용되었다.

## 칩셋
디지털과 VLSI Technology는 21164 및 그 파생 제품을 위한 칩셋을 개발했다. 디지털은 또한 AlphaServer 8200 및 8400과 같은 AlphaServer 제품군의 고급 모델에 사용하기 위한 맞춤형 ASIC을 개발했다.

### 21171
21171(알코르라고도 함)은 21164를 위한 첫 번째 칩셋으로, 1995년 1월에 지원하는 마이크로프로세서와 함께 출시되었다. 디지털이 개발하고 제조했다. 21171은 21164가 사용하는 새로운 시스템 버스 프로토콜을 지원하도록 수정된 업그레이드된 DECchip 21071이다. 메모리 및 PCI 컨트롤러를 포함하는 제어 칩과 256비트 메모리 버스 및 PCI 버스를 시스템 버스에 연결하는 4개의 데이터 슬라이스 칩으로 구성되었다. 21171은 33&nbsp;MHz로 작동하는 64비트 폭의 PCI 버스를 제공한다.

### 21172
21172(알코르2라고도 함)는 21164A를 지원하는 업데이트된 21171이었다.

### 픽시스
픽시스 칩셋(21174라고도 함)은 21164A 및 21164PC 마이크로프로세서를 지원했다. 이전 칩셋과 달리 저가 시스템을 위해 설계되었다. 결과적으로 여러 패키지 대신 474접점 세라믹 볼 그리드 배열 (CBGA)로 패키징된 단일 칩 설계였다. 이후 디지털 개인 워크스테이션 a-시리즈와 같은 보급형 워크스테이션과 AlphaPC 164LX 및 164SX와 같은 메인보드와 같이 비용에 민감한 응용 프로그램에 사용되었다. 출시 당시 21174는 1,000개 단위로 US$142에 판매되었다.

21174는 메모리 컨트롤러와 PCI 컨트롤러를 포함한다. 메모리 컨트롤러는 최대 512MB의 동기식 동적 랜덤 접근 메모리 (SDRAM)를 지원하며 128비트 메모리 버스를 통해 접근한다. 메모리는 ECC 또는 패리티 보호가 될 수 있다. PCI 컨트롤러는 PCI 또는 PCI-X 버스를 제공했다.

### 폴라리스
폴라리스는 개인용 컴퓨터용으로 VLSI 테크놀로지가 개발한 시스템 컨트롤러로, 21164A 및 21164PC 마이크로프로세서를 지원한다. 폴라리스는 1997년 6월 16일에 발표되었다. 최대 768MB의 EDO DRAM 또는 최대 512MB의 SDRAM을 지원한다. 메모리는 128비트 버스를 통해 접근된다. I/O를 위해 32비트, 33&nbsp;MHz PCI 버스를 제공한다.

폴라리스 사용자에는 디지털의 AlphaPC 164RX 메인보드가 포함되었다.

## 내용주

## 각주
* 부샤르, 그레그. "0.35 μm 알파 21164 마이크로프로세서의 설계 목표". IEEE 핫 칩스 심포지엄, 1996년 8월, IEEE 컴퓨터 학회.
* 보힐, 윌리엄 J. 외. (1995). "300-MHz 64비트 2세대 CMOS 알파 CPU의 회로 구현". Digital Technical Journal, Volume 7, Number 1, pp. 100&ndash;118.
* 에드먼드슨, 존 H. 외. (1995). "300-MHz 64비트 쿼드 이슈 CMOS RISC 마이크로프로세서인 알파 21164의 내부 조직". Digital Technical Journal, Volume 7, Number 1, 1995. pp. 119&ndash;135.
* 에드먼드슨, 존 H. 외. (1995). "21164 알파 마이크로프로세서의 슈퍼스칼라 명령어 실행". IEEE 마이크로. pp.&nbsp;33&ndash;43.
* 포렘스키, 톰 (1998년 2월 10일). "미쓰비시, 알파에서 후퇴". Electronics Weekly.
* 포렘스키, 톰 (1998년 7월 10일). "미쓰비시 전기, 알파 마이크로프로세서 제조 중단". Electronics Weekly.
* 그웨냅, 린리 (1994년 9월 12일). "디지털은 21164로 선두를 달린다". 마이크로프로세서 리포트, Volume 8, Number 12.
* 그웨냅, 린리 (1996년 7월 8일). "디지털의 21164, 500 MHz에 도달". 마이크로프로세서 리포트, Volume 10, Number 9.
* 그웨냅, 린리 (1997년 3월 31일). "디지털의 21164PC, PC 시장을 겨냥". 마이크로프로세서 리포트, Volume 11, Number 4.
* 라이언, 밥 (1994년 10월). "알파가 고공행진". 바이트.
* 삼성 반도체, Inc. (1996년 11월 11일). "삼성, 500MHz 알파 21164 마이크로프로세서 출시; 디지털/삼성 라이선스 계약의 첫 번째 제품, 1997년 2분기까지 양산 시작 예정 ". 보도 자료.
* 슈만, 라인하르트 C. (1997). "디지털 개인 워크스테이션용 21174 메모리 컨트롤러 설계" . Digital Technical Journal **9** (2): 57&ndash;70.
* VLSI 테크놀로지 (1997년 6월 16일). "폴라리스, VLSI의 새로운 알파 시스템 컨트롤러, 기가바이트/초 메모리 전송 장벽 돌파. 최종 사용자는 알파 시스템에서 전체 성능을 얻음". 보도 자료.
* CCL 포럼 (1998년 3월 25일). "DEC 알파 566 대 600 MHz"

## 더 읽어보기

* 배넌, P., 사이토, Y. (1997). "알파 21164PC 마이크로프로세서". Compcon '97 회의록, pp.&nbsp;20&ndash;27.
* 반다르카르, 딜립 P. (1995). 알파 아키텍처 및 구현. 디지털 프레스.
* 칼슨, D. 외. (1998). "6.0 ns 64비트 정수 승수기를 포함하는 667 MHz RISC 마이크로프로세서". ISSCC 기술 논문 요약, pp.&nbsp;294&ndash;295.
* 칼슨, D.A.; 카스텔리노, R.W.; 뮬러, R.O. (1997년 11월). "550-MHz RISC 마이크로프로세서용 멀티미디어 확장". IEEE 솔리드 스테이트 회로 저널 **32** (11): pp.&nbsp;1618&ndash;1624.
* 자인, A.K. 외. (1997). "멀티미디어 확장을 갖춘 1.38 cm2 550 MHz 마이크로프로세서". ISSCC 기술 논문 요약, pp.&nbsp;174&ndash;175, 451.
* 그로노스키, 폴 E. 외. (1998년 5월). "고성능 마이크로프로세서 설계". IEEE 솔리드 스테이트 회로 저널 **33** (5): pp.&nbsp;676&ndash;686.
* 고바야시, S. 외. (1997). "PC 응용 프로그램을 겨냥한 550 MHz 알파 마이크로프로세서". 1997년 VLSI 기술, 시스템 및 응용 프로그램 국제 심포지엄 회의록, pp.&nbsp;203&ndash;207.

## 외부 링크
* 존 에드먼드슨의 알파 AXP 21164 마이크로아키텍처 개요 강의

분류:DEC의 마이크로프로세서
분류:슈퍼스칼라 마이크로프로세서