알파 21364

알파 21364(Alpha 21364)는 코드명 "마블"로도 알려져 있으며, EV7은 디지털 이큅먼트 코퍼레이션(DEC)이 개발하고 이후 컴팩 컴퓨터 코퍼레이션이 알파 명령어 집합을 구현한 마이크로프로세서이다.

 역사 

알파 21364는 1998년 10월 컴팩이 제11차 연례 마이크로프로세서 포럼에서 공개했으며, 1.5 MB 6방향 세트 연관 온다이 2차 캐시, 통합 다이렉트 램버스 DRAM 메모리 컨트롤러, 다른 마이크로프로세서와 연결하기 위한 통합 네트워크 컨트롤러를 갖춘 알파 21264로 묘사되었다. 알파 21264 코어의 변경 사항으로는 용량이 32개 항목으로 4배 증가한 더 큰 빅팀 버퍼가 포함되었으며, Dcache에 16개, Scache에 16개가 할당되었다. 마이크로프로세서 리포트에 따르면 컴팩은 분기 예측 정확도를 향상시키기 위해 분기 예측에 사소한 변경 사항을 구현하고 알파 21264의 8개 항목 대신 16개 항목으로 미스 버퍼 용량을 두 배로 늘리는 것을 고려했다고 보고되었다."Alpha 21364 to Ease Memory Bottleneck", p. 2.

원래 1999년 말에 테이프 아웃될 예정이었고, 2000년 초에 샘플이 제공되고 2000년 말에 대량 출하될 것으로 예상되었다. 그러나 원래 일정은 지연되어 1999년 말 대신 2001년 4월에 테이프 아웃되었다."Alpha 21364 (EV7)", p. 2. 알파 21364는 2002년 1월 20일 마이크로프로세서를 사용하는 시스템이 출시되면서 도입되었다. 1.25 GHz로 작동했지만, AlphaServer ES47, ES80 및 GS1280의 생산 모델은 1.0 GHz 또는 1.15 GHz로 작동했다. 이전 알파 마이크로프로세서와 달리 알파 21364는 공개 시장에서 판매되지 않았다.

알파 21364는 원래 알파 21464, 코드명 EV8로 계승될 예정이었으며, 4방향 동시 멀티스레딩(SMT)을 갖춘 알파 ISA의 새로운 구현이었다."Compaq Chooses SMT for Alpha" 1999년 10월 제12차 연례 마이크로프로세서 포럼에서 처음 발표되었지만, 개발 후기 단계에서 2001년 6월 25일에 취소되었다."Design Tradeoffs for the Alpha EV8 Conditional Branch Predictor", p. 1.

 개발 

알파 21364의 개발은 메모리 성능과 다중 처리 스케일링을 개선할 기능에 가장 중점을 두었다. 메모리 성능에 대한 강조는 알파 아키텍처 정의를 공동으로 이끌었던 리처드 L. 사이츠가 쓴 마이크로프로세서 리포트에 "메모리가 문제야, 바보야!"라는 제목으로 발표된 미래 지향적인 기사의 결과였다. 이 기사는 "향후 10년 동안 메모리 서브시스템 설계가 마이크로프로세서의 유일한 중요한 설계 문제가 될 것"이라고 결론지었다.

 설명 

알파 21364는 1.75 MB 온다이 2차 캐시, 두 개의 통합 메모리 컨트롤러 및 통합 네트워크 컨트롤러를 갖춘 알파 21264였다.

 코어 

알파 21364의 코어는 알파 21264의 파생형인 EV68CB를 기반으로 한다. 유일한 수정 사항은 이제 용량이 32개 항목으로 4배 증가한 더 큰 빅팀 버퍼였다. 32개의 빅팀 버퍼 항목은 Dcache와 Scache에 각각 16개 항목으로 균등하게 나뉜다. 알파 21364는 알파 아키텍처의 4세대 구현이지만, 이 수정 사항 외에는 코어가 알파 21264의 EV68CB 파생형과 동일하다.Compiler Writer's Guide for the 21264/21364, p. 1-4.

 Scache 

2차 캐시(Scache라고 함)는 용량이 1.75 MB인 통합 캐시이다. 7방향 세트 연관이며, 64바이트 라인 크기를 사용하고 쓰기 백 정책을 갖는다. 캐시는 단일 비트 오류 수정, 이중 비트 오류 감지(SECDED) 오류 정정 코드(ECC)로 보호된다. 128비트 데이터 경로를 통해 캐시 컨트롤러에 연결된다. 캐시 접근은 완전히 파이프라인 처리되어 1.0 GHz에서 16 GB/s의 지속 가능한 대역폭을 제공한다.

캐시에서 요청된 데이터를 사용할 수 있을 때까지 필요한 시간은 12 사이클이다.Compiler Writer's Guide for the 21264/21364, p. 1-5 12 사이클 지연 시간은 마이크로프로세서 리포트와 같은 관찰자들에게 중요하다고 여겨졌다. Scache의 지연 시간은 성능을 향상시키지 않기 때문에 더 이상 줄어들지 않았다. 알파 21364의 기반이 된 알파 21264 코어는 상용 SRAM으로 구축된 외부 캐시를 사용하도록 설계되었으며, 이는 알파 21364의 온다이 Scache보다 훨씬 높은 지연 시간을 갖는다. 따라서 제한된 속도로만 데이터를 받아들일 수 있었다. 지연 시간 개선이 더 이상 이득을 보지 못하자 설계자들은 Scache가 소비하는 전력을 줄이는 데 집중했다."Power and CAD considerations for the 1.75 Mbyte, 1.2 GHz L2 cache on the Alpha 21364 CPU" 컴팩은 알파 21264 코어를 크게 수정해야 했기 때문에 이러한 결함을 해결하려고 하지 않았다."Alpha 21364 to Ease Memory Bottleneck", p. 3. Scache의 높은 지연 시간은 캐시 태그를 먼저 조회하여 Scache에 요청된 데이터가 포함되어 있는지, 어느 뱅크에 위치하는지 확인한 후 Scache 뱅크의 전원을 켜고 접근하는 것을 허용했다. 이는 비생산적인 Scache 접근을 피하여 전력 소비를 줄였다.

태그 스토어는 575만 개의 트랜지스터로 구성되었고 데이터 스토어는 1억 800만 개의 트랜지스터로 구성되었다.

 메모리 컨트롤러 

알파 21364는 마이크로프로세서 클럭 주파수의 3분의 2 또는 1.2 GHz에서 800 MHz로 작동하는 Rambus DRAM(RDRAM)을 지원하는 두 개의 통합 메모리 컨트롤러를 갖추고 있다. 컴팩은 알파 21364를 위해 맞춤형 메모리 컨트롤러를 설계하여 모든 128개 페이지를 열어 해당 페이지에 대한 접근 지연 시간을 줄이는 것과 같은 표준 RDRAM 메모리 컨트롤러에는 없는 기능과 독점적인 내결함성 기능을 제공했다.

각 메모리 컨트롤러는 PC800 램버스 인라인 메모리 모듈(RIMM)을 지원하는 5개의 RDRAM 채널을 제공한다. 채널 중 4개는 메모리를 제공하는 데 사용되고, 5번째 채널은 RAID와 유사한 이중화를 제공하는 데 사용된다. 각 채널은 16비트 너비이며, 400 MHz로 작동하고 클럭 신호의 상승 및 하강 에지 모두에서 데이터를 전송(더블 데이터 레이트)하여 800 MT/s의 전송 속도를 제공하며 1.6 GB/s의 대역폭을 산출한다. 8개 채널의 총 메모리 대역폭은 12.8 GB/s이다.

캐시 일관성은 메모리 컨트롤러에 의해 제공된다. 각 메모리 컨트롤러에는 캐시 일관성 엔진이 있다. 알파 21364는 디렉토리 캐시 일관성 체계를 사용하며, 메모리의 일부를 수정됨, 독점, 공유, 무효(MESI) 일관성 데이터를 저장하는 데 사용한다.

 R-박스 
R-박스에는 네트워크 라우터가 포함되어 있다. 네트워크 라우터는 북쪽, 남쪽, 동쪽, 서쪽이라는 네 개의 포트를 사용하여 마이크로프로세서를 다른 마이크로프로세서에 연결했다. 각 포트는 800 MHz로 작동하는 두 개의 39비트 단방향 링크로 구성되었다. 32비트는 데이터용이고 7비트는 ECC용이었다. 네트워크 라우터에는 I/O용으로 사용되는 다섯 번째 포트도 있다. 이 포트는 ASIC인 IO7 ASIC에 연결되며, 이는 AGP 4x 채널과 두 개의 PCI-X 버스에 대한 브리지 역할을 했다. I/O 포트는 200 MHz로 작동하는 두 개의 단방향 32비트 링크로 구성되어 피크 대역폭 3.2 GB/s를 산출했다. I/O ASIC의 설계를 단순화하기 위해 I/O 포트 링크는 클럭 주파수의 4분의 1로 작동했다.

알파 21364는 셔플 및 2D 토러스의 두 가지 네트워크 토폴로지를 사용하여 최대 127개의 다른 마이크로프로세서에 연결할 수 있다. 셔플 토폴로지는 다른 마이크로프로세서에 대한 직접 경로가 더 많아 지연 시간을 줄이고 성능을 향상시켰지만, 그 특성상 최대 8개의 마이크로프로세서 연결로 제한되었다. 2D 토러스 토폴로지는 네트워크가 최대 128개의 마이크로프로세서를 포함할 수 있도록 했다.

다중 처리 시스템에서 각 마이크로프로세서는 자체 메모리를 가진 노드이다. 다른 노드의 메모리에 접근하는 것은 가능하지만, 지연 시간이 발생한다. 지연 시간은 거리에 따라 증가하므로 알파 21364는 불균일 기억 장치 접근(NUMA) 다중 처리를 구현한다. I/O도 동일한 방식으로 분산된다. 다중 처리 시스템의 알파 21364 마이크로프로세서는 RIMM 슬롯에 메모리가 채워져 있거나 I/O 포트에 장치가 채워져 있을 필요가 없었다. 다른 마이크로프로세서의 메모리와 I/O를 사용할 수 있었다.

 내결함성 
알파 21364는 내결함성 컴퓨터를 위해 록스텝으로 작동할 수 있었다."Alpha 21364 (EV7)" 이 기능은 컴팩이 탠덤의 히말라야 내결함성 서버를 MIPS 아키텍처에서 알파로 마이그레이션하기로 결정한 결과였다. 그러나 알파 21364가 출시되기 전에 아이태니엄을 선호하여 알파를 단계적으로 폐지하기로 결정되었기 때문에 이 기계는 마이크로프로세서를 사용하지 않았다.

 제조 
알파 21364는 1억 5,200만 개의 트랜지스터를 포함했다. 다이는 21.1 mm x 18.8 mm로 397 mm2의 면적을 가졌다. 인터내셔널 비즈니스 머신스(IBM)가 0.18 μm, 7레벨 구리 상보성 금속 산화물 반도체(CMOS) 공정으로 제작했다. 1,443랜드 flip-chip 랜드 그리드 배열(LGA)로 패키징되었다. 1.65 V 전원 공급 장치와 1.5 V 외부 인터페이스를 사용하여 1.25 GHz에서 최대 155 W의 전력 소비량을 가졌다.

 알파 21364A 

알파 21364A는 코드명 EV79(이전 EV78)로, 알파 21364의 추가 개발이었다. 개발된 마지막 알파 마이크로프로세서가 될 예정이었다. 2004년에 출시될 예정이었으나, HP는 성능 및 일정 문제를 이유로 2003년 10월 23일에 취소했다. 같은 날 EV7z라는 대체품이 발표되었다.

마이크로프로세서의 프로토타입은 2003년 2월 휴렛 팩커드가 국제 솔리드 스테이트 회로 학회에서 발표했다. 1.45 GHz로 작동했으며, 251 mm2의 다이 면적을 가졌고, 1.2 V 전원 공급 장치를 사용했으며, 100 W(추정)를 소모했다."Moore, Moore, and More at ISSCC", p. 3.

알파 21364A는 ~1.6~1.7 GHz 범위의 더 높은 클럭 주파수와 1066 Mbit/s RDRAM 메모리 지원을 특징으로 하여 알파 21364를 개선할 예정이었다. IBM이 0.13 μm 실리콘 온 인슐레이터(SOI) 공정으로 제작할 예정이었다. 더 진보된 공정의 결과로 다이 크기, 전원 공급 전압(1.65 V 대비 1.2 V), 전력 소비 및 소산이 감소했다.

 EV7z 

EV7z는 알파 21364의 추가 개발이었다. 개발되고 출시된 마지막 알파 마이크로프로세서였다. EV7z는 HP가 알파 21364A를 취소하고 EV7z로 대체할 것이라고 발표한 2003년 10월 23일에 알려졌다."HP is Dealt a Delay in its HP-UX OS and Alpha Processor Roadmap" EV7z는 2004년 8월 16일 마이크로프로세서를 사용하는 유일한 컴퓨터인 AlphaServer GS1280이 출시되면서 도입되었다. 이 컴퓨터가 단종되면서 2007년 4월 27일에 단종되었다. 1.3 GHz로 작동했으며, PC1066 RIMM을 지원했고, 알파 21364와 동일한 0.18 μm 공정으로 제작되었다. 알파 21364에 비해 EV7z는 14~16% 더 빨랐지만, 교체된 알파 21364A(1.5 GHz에서 알파 21364보다 25% 더 빠를 것으로 추정됨)보다는 여전히 느렸다.

 각주 

 참고 자료 
 "EV7 AlphaServers unleashed as chip line heads into sunset". (2003년 1월 21일). 더 레지스터.
 Bannon, Peter (2002년 1월 4일). "Alpha 21364 (EV7)".
 컴팩. Compiler Writer's Guide for the 21264/21364, Revision 2.0, 2002년 1월.
 디펜도르프, 키스 (1999년 12월 6일). "Compaq Chooses SMT for Alpha". 마이크로프로세서 리포트, Volume 13, Number 16.
 Glaskowsky, Peter N. (2003년 3월 24일). "Moore, Moore and More at ISSCC". 마이크로프로세서 리포트.
 Grodstein, Joel; 외 (2002). "Power and CAD considerations for the 1.75 Mbyte, 1.2 GHz L2 cache on the Alpha 21364 CPU". GLVLSI '02.
 Gwenapp, Linley (1998년 10월 26일). "Alpha 21364 to Ease Memory Bottleneck". 마이크로프로세서 리포트.
 휴렛 팩커드 개발 회사, L.P. (2004년 1월 20일). HP Introduces Most Powerful Generation of AlphaServer Systems. 보도자료.
 휴렛 팩커드 개발 회사, L.P. (2004년 8월 16일). HP Expands UNIX Server and StorageWorks Portfolios to Offer Customers Greater Value and Flexibility on Standards-based Platforms. 보도자료.
 Jain, A. 외 (2001). "A 1.2 GHz Alpha microprocessor with 44.8 GB/s chip pin bandwidth". ISSCC Digest of Technical Papers.
 Krewell, Kevin (2003년 3월 24일). "EV7 Stresses Memory Bandwidth". 마이크로프로세서 리포트.
 Mukherjee, Shubhendu S.; Bannon, Peter; Lang, Steve; Spink, Aaron; Webb, David (2002). "The Alpha 21364 Network Architecture". IEEE Micro. pp. 26–35.
 Seznec, Andre; 외 (2002년 5월 25일~29일). "Design Tradeoffs for the Alpha EV8 Conditional Branch Predictor". Proceedings of the 29th IEEE-ACM International Symposium on Computer Architecture.
 섀넌, 테리 (2003년 10월 24일). "HP is Dealt a Delay in its HP-UX OS and Alpha Processor Roadmap". Shannon Knows HPC, Volume 10, Number 51.

 더 읽어보기 

 Kowaleski, J.A., Jr. 외 (2003). "Implementation of an Alpha microprocessor in SOI". ISSCC Digest of Technical Papers. pp. 248–249, 491.
 Tsuk, M. 외 (2001). "Modeling and measurement of the Alpha 21364 package". Electrical Performance of Electrical Packaging. pp. 283–286.
 Xanthopoulos, T. 외 (2001). "The design and analysis of the clock distribution network for a 1.2 GHz Alpha microprocessor". ISSCC Digest of Technical Papers. pp. 402–403.

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