• 검색 결과가 없습니다.

Sun UltraSPARC IV

문서에서 최신 슈퍼컴퓨터에 대한 이해 (페이지 39-42)

2. ARCHITECTURE OF HIGH-PERFORMANCE COMPUTERS

2.8. P ROCESSORS

2.8.10. Sun UltraSPARC IV

UltraSPARC IV는 UltraSPARC 계열의 4세대 프로세서이다. HP PA-RISC 8800과 IBM POWER4/5와 같이 Sun은 항상 하나의 칩에 두 개의 코어를 두고 있다. CPU 코어는 UltraSPARC III 프로세서와 조금 달라졌다. 현재 클럭 수 1.2 GHz로 0.13 μm CMOS 기술 로 제작된다. UltraSPARC 프로세서는 워크스테이션부터 규모가 큰 Fire 3800-15K 서버에 이르기까지 모든 SUN 제품에서 사용된다. 아래 그림은 UltraSPARC IV 칩에 들어가는 프 로세서 코어를 보여준다.

그림 15a: Block diagram of the UltraSPARC IV processor core

그림에서 볼 수 있듯 이 프로세서의 특징은 다양하고 크기가 매우 큰 캐시에 있다. Data Cache Unit(DCU)는 64 KB 크기의 4-way 집합 연관성 캐시와 더불어 2 KB 크기의 쓰기 (write) 캐시와 선인출(pre-fetch) 캐시를 가진다. 선인출 캐시는 데이터 캐시와 독립적이고 적절하다고 판단될 때 데이터를 load할 수 있다. 쓰기 캐시는 L2 캐시로의 쓰기를 연기시켜 전체 캐시라인이 갱신되어야 할 때까지 각각의 바이트를 불필요하게 쓰기 하는 것을 막는다.

Instruction Issue Unit(IIU)에는 SUN에서 Instruction Translation Buffer라고 하는 명령어 TLB와 더불어 32 KB 크기의 4-way 집합 연관 명령어 캐시가 있다. 또 IIU에는 이른바 실 패 큐(miss queue)가 있다. 실패 큐에는 분기 예측이 실패한 경우 실행 유닛에서 즉시 사용 할 명령어를 넣어 둔다. 분기 예측은 UltraSPARC III에서 완전히 정적이었고, 크기 때문에 파이프라인 처리되는 IIU에서 1 6KB의 테이블로 구현된다.

Integer Execution Unit(IEU)은 두 개의 Add/Logical Units과 하나의 분기 유닛을 가진다.

정수의 덧셈과 곱셈은 파이프라인 처리되지만 나눗셈은 그렇지 않다. 나눗셈은 ALUs에 파 이프라인 부담을 주지 않는 Arithmetic Special Unit(그림에 나타나 있지는 않다.)에 의해 수행된다. 정수 레지스터 파일은 효과적으로 두 개로 나뉘어져 SUN에서는 Working과 Architectural Register File이라고 각각 부른다. 연산수가 접근되고 그 결과는 working 레 지스터에 저장된다. 예외가 발생했을 때 작업(working) 레지스터에서 취소 처리되는 결과는 아키텍처 파일에 있는 것들로 겹쳐 쓰기된다. 오리지널 UltraSPARC III 디자인에 대하여 향 상된 한 가지는 쓰기 캐시를 위한 해시 인덱싱이 추가된 것이다. 이것이 쓰기 실패 회수를 줄여서 저장이 필요한 결과에 대해 쓰기 저장 대역폭이 더 커지게 된다. 부동소수 유닛 (FPU)은 덧셈과 곱셈을 파이프라인 처리하는 두 개의 독립된 유닛을 가지고, 20 ~ 25 사이

클 정도가 소비되는 부동소수 나눗셈과 제곱근 계산을 위해 파이프라인 처리되지 않는 유닛 을 하나 더 가진다. 또 FPU에는 파이프라인 처리되는 adder와 multiplier를 일반적인 64 비트 계산들과 공유하는 그래픽 하드웨어가 있다(그림 15a에는 나타나 있지 않다.). 1.2 GHz 클럭을 가지는 칩의 이론 최대 성능은 프로세서 코어당 2.4 Gflop/s 이다.

UltraSPARC IV 기술이 조금이라도 더 클럭 수를 높이는데 걸리는 시간을 줄일 수 있을 것 으로 기대된다. UltraSPARC IV에서 FPU는 IEEE754 부동소수 오류에 대한 처리를 지원하 는 하드웨어를 가지고 있어 향상된 성능을 보여준다. 이 오류는 적절히 처리되지 않으면 손 실이 클 수 있다.

L2 캐시의 크기는 2х8 MB이고 각각은 프로세서 코어 중 하나를 대상으로 한다. L2 캐시라 인은 데이터 contention을 줄이기 위해 512 바이트였던 것이 UltraSPARC IV에서는 128 바이트로 짧아졌다.

그림 15b: Chip layout of the UltraSPARC IV processor

위의 그림 15b에서 Memory Control Unit(MCU)와 L2 캐시 컨트롤러 그리고 L2 캐시 tags 까지 칩에 포함되어 있다는 것을 분명히 볼 수 있다. 이것이 양쪽 메모리 레벨에서 접근하 는 latency를 줄여준다. 게다가, System Interface Unit(SIU)와 통신하는 두 컨트롤러들 역 시 칩 안에 있는데 이것은 SIU에 있는 스눕(snoop) 파이프 컨트롤러와 연결을 유지하기 위 한 것이다. UltraSPARC 프로세서는 처음부터 멀티 프로세싱을 염두에 두고 개발되었고 스 눕 컨트롤러는 캐시 일관성을 유지하기 위해 시스템 전체에서 전달되는 데이터를 감시 (snooping)하게 된다.

UltraSPARC IV는 2004년 2월 이래로 많이 사용되고 있다. Sun은 하나의 칩에 두 개의 프 로세서 코어를 가진 점과 하나의 실행 스레드가 그 둘 각각을 Chip Multithreading(CMT)으 로 실행할 수 있음을 이야기 한다. 우리가 이해하고 있는 다중 스레딩은 프로세서 코어당

여러 개의 실행 스레드가 동작하는 것이어서 CMT는 보통의 다중 스레딩과는 다르다. 그런 점에서 CMT라는 용어는 혼란스러움을 준다.

SPARC 프로세서 계열이 앞으로 어떻게 될지 지금으로선 명확하지 않다. 한편으론 Fujitsu-Siemens와 힘을 합친 Sun이 Fujitsu-Siemens의 SPARC64 제품을 장착한 새로운 시스템을 내놓을 것으로 보인다. 표준 RISC 디자인을 따른다는 점에서 SPARC64 라인은

“고전적”이다. SPARC64는 2004년 말에 듀얼 코어 제품이 시장에 나올 것이다. 또 다른 한 편으로, Sun은 2004년 4월까지 UltraSPARC V와 VI 프로세서를 내놓겠다는 계획을 보류시 켰다. 이것은 8개 이상의 프로세서 코어를 가지고, 각 코어에서는 여러 실행 스레드를 처리 할 수 있는 새로운 프로세서를 계획하고 있기 때문이다. Niagara로 이름 붙여진 이 프로세 서는 현재 실험 단계에 있으며, 하나에 8개의 코어를 가지고 각 코어에서는 4개 스레드까지 실행이 가능하다. 아마도 2005년 하반기에 시장에 나올 수 있을 것으로 보인다. Sun은

“throughput processing”으로 이름 붙여진 이와 같은 종류의 프로세싱을 원하고 있다. 그리 고 다음에는 더 많은 프로세서 코어와 코어당 더 많은 스레드 실행이 가능한 이른바 Rock 프로세서를 계획 중이다. 많은 수의 실행 스레드를 최적으로 관리하기가 어렵기 때문에 코 어 내에 특별한 무엇인가가 도입될 것으로 보여진다.

문서에서 최신 슈퍼컴퓨터에 대한 이해 (페이지 39-42)