2008.06.29

서른 살 x86, 미래는 어떤 모습?

Gary Anthes | Computerworld
x86 마이크로프로세서 제품군을 볼 때 필연적으로 떠오르는 의문은 30년 동안 군림한 이 아키텍처의 수명이 이제 다 되어가지 않나 하는 것이다. 당연히 인텔은 x86이 아직 건재하며, 더불어 경쟁 아키텍처와의 싸움도 아직 끝날 기미가 없다고 말한다.

인텔의 최고 기술 책임자인 저스틴 래트너는 과거에도 그랬지만 앞으로도 x86 아키텍처 성공의 핵심은 그 유연성이라고 말했다. 그는 많은 사람들이 x86 명령어 세트를 변경이 불가능한 규격이라고 말하지만 명령어 세트 자체와 이를 구현하는 아키텍처는 지난 세월 동안 놀랄만한 발전을 이루었다고 반박했다.

래트너는 1990년대에 x86이 멀티미디어 및 통신 애플리케이션에 필요한 연산 속도를 대폭 높여주는 내장 MMX 및 SSE 명령어 세트 확장에 힘입어 전용 미디어 프로세서 군단의 공세를 물리친 사례를 그 근거로 제시했으며, 또한 메모리 관리와 가상화에 대한 지원 등 지난 수년 동안 칩에 추가되어 다듬어진 발전 요소들도 강조했다.

이에 못지않게 중요한 사실은 인텔이 각 진화 단계에서 x86 제품군 간에 하위 호환성을 유지했다는 점이라고 래트너는 강조했다. 명령어 세트의 발전에 제품군 간 호환성이 더해져 x86은 개인 사용자와 기업 컴퓨터, 노트북에서 수퍼컴퓨터에 이르기까지 광대한 영역을 구축할 수 있었다.

캘리포니아 버클리 대학의 컴퓨터 과학 교수인 데이빗 패터슨은 “x86이 고정된 설계가 아니라는 점이 중요하다. 인텔은 x86에 30년 동안 대략 매월 1개씩 명령어를 추가했다. 이렇게 추가된 것만 현재 x86의 명령어 세트에서 500여 개에 이른다. 또한 인텔은 각 세대마다 20 ~ 100개의 명령어를 추가했다. 하위 호환성은 신성 불가침의 영역이지만 미래를 위한 새로운 요소의 추가는 항상 진행된다”고 말했다.

전략의 변화, 멀티코어로의 우회전
특정 용도 측면의 발전을 제외하고라도 장기간에 걸쳐 무어의 법칙에 따라 이루어진 x86의 성능 향상은 놀라운 IT 성공 사례 중 하나로 손꼽힌다. 1978년 등장한 8086은 10MHz 속도로 동작했고 트랜지스터 수는 2만 9,000개였다.

현재 사용되는 3GHz 쿼드코어 인텔 프로세서는 패키지만 약간 더 커졌을 뿐 비슷한 가격에 8086보다 300배 더 빠르며 트랜지스터 수는 2만 8,000배에 조금 못 미치는 8억 2,000만 개에 이른다.

카네기 멜론 대학의 컴퓨터 과학 교수이자 인텔 연구 고문인 토드 모우리는 “트랜지스터의 크기를 지속적으로 줄이고 기타 필요한 발전을 이루기 위해 엄청난 기술적 어려움들을 해결해야 했으며 인텔은 이를 위해 막대한 자금을 투자했다”고 말했다.

이러한 기술적 난제 중 하나는 인텔이 내부적으로 “우회전”이라 부르는 전략 변화로까지 이어졌는데, 이는 회로가 축소되면서 불거진 발열 문제로 인해 이제 프로세서의 성능 향상은 클럭 속도의 증가가 아닌 칩에 올라가는 프로세서 코어 수의 증가를 통해서만 얻을 수 있음을 의미한다.

모우리는 이로 인해 성능 향상이라는 과제가 하드웨어에서 소프트웨어로 옮겨갔다면서 "연구의 현재 초점은 어떻게 우수한 코어를 만드느냐보다 다수의 코어를 어떻게 활용하느냐에 더 맞춰져 있다”고 말했다.

모우리는 현재 멀티코어 칩의 병렬 처리를 활용하기 위한 가장 유망한 접근 방식 중 하나는 “소프트웨어 트랜잭션 메모리”로 불리는 기법이라고 말했다. 이 방법은 공유 데이터에 대한 액세스를 잠그지(차단하지) 않고도 병렬 스레드가 이 공유 데이터를 손상시키지 않도록 하는 기술이다. 이는 알고리즘적 접근 방식(주로 소프트웨어적 작업)이지만 x86 하드웨어에 이 기술에 대한 지원 기능을 내장할 수 있다고 모우리는 강조했다.

모우리는 프로세서 칩에 더 많은 코어를 추가하는 데 있어 유일한 제약은 소프트웨어 개발자들이 이를 제대로 활용할 수 있는지 여부라면서, “가장 큰 문제는 순차적 사고 방식에서 병렬적 사고 방식으로의 전환”이라고 말했다.

래트너는 향후 5 ~ 7년 내에 칩당 코어의 수가 백 단위에 이를 것으로 예상했다. 각 코어는 멀티쓰레딩이 가능하므로 이러한 칩이 지원하는 병렬 실행 쓰레드의 수는 1,000개 정도가 된다. 단, 래트너도 인정하듯이 1,000개의 쓰레드를 어떻게 사용할지 아는 사람은 전세계를 통틀어 소수에 불과하다.

새로운 발전도 이어진다
래트너는 인텔 연구실에서 개발 중인 무척 흥미로운 몇 가지 다른 기술에 대해서도 언급했다. 예를 들어 앞으로 x86에는 보안을 위한 새로운 하드웨어 지원이 포함된다. 래트너는 이 하드웨어 지원이 다양한 공격에 대한 보호 기능을 강화하는 역할을 한다고 전했지만 자세한 내용은 밝히지 않았다.

래트너는 엔비디아, AMD ATI의 전용 GPU와 경쟁할 x86 기반의 그래픽 처리 유닛인 라라비 칩에 대해서도 언급했다. 래트너는 “라라비는 시각적인 컴퓨팅을 위한 완전히 새로운 종류의 명령어를 포함할 것”이라고 말했다.

경쟁 업체들의 고도로 전문화된 GPU와 달리 라라비에서 주목할 만한 점은 이 칩이 범용 x86 아키텍처의 확장이란 사실이다. 래트너는 “이 칩은 x86 아키텍처의 강력함과 건재함을 명확히 보여 준다. 우리는 대부분의 사람들이 결코 도달하지 못하리라 생각했던 영역까지 x86 아키텍처를 발전시키고 있다"고 말했다.

AMD 역시 인텔과 비슷한 계획을 가진 것으로 보인다. 지난 1월 AMD는 기존 페넘 프로세서 제품군의 확장인 퓨전 CPU-GPU 하이브리드 칩을 출시할 것이라고 밝혔다. AMD에 따르면 퓨전은 2009년부터 노트북 컴퓨터용 듀얼 코어 유닛으로 판매된다.

최근 미니 노트북용으로 비아 나노(이전 명칭 이사야) 프로세서를 발표한 비아 테크놀로지는 자사의 전력 효율적인 x86 프로세서 제품군으로 모바일 시장을 계속 공략하겠지만 데스크톱 시장으로도 서서히 진출할 계획이라고 밝혔다.

새로운 마이크로프로세서 아키텍처가 등장해 x86을 밀어낼 가능성과 관련, 래트너는 1980년대 후반 RISC 프로세서의 위협으로부터 x86을 지키는 데 도움을 제공했던 윈텔 소프트웨어 진영이 지금도 여전히 x86을 보호하고 있다고 전했다.

그는 “x86 대신 새로운 명령어 세트를 사용함으로써 5배 더 높은 성능을 얻는 것이 아니라면 아키텍처 전환의 유인책이 되지 못한다. 비x86 하이엔드 아키텍처인 인텔 아이테니엄도 바로 이러한 이유로 애를 먹었다”라고 말했다.

제한은 없다?
물론 실리콘 트랜지스터가 물리적인 한계에 직면하면서 x86 명령어 세트도 앞으로 완전히 새로운 방식으로 구현되긴 할 것이다. 40년 동안 트랜지스터는 실리콘 웨이퍼의 표면 아래에만 장착됐지만 지금은 웨이퍼 표면 위에 장착할 수 있는 기술이 개발되고 있다.

이러한 기술을 사용하면 실리콘이 아닌 다른 소재로도 트랜지스터를 만들 수 있다. 예컨대 갈륨 비소와 같은 소재는 실리콘보다 에너지 및 성능 특성이 더 우수하다. 래트너는 “향후 1 ~ 2세대 동안(약 2 ~ 4년)에는 표면화되지 않겠지만 10년 후에는 소재 분야에서 상당한 혁신을 보게 될 것”이라고 말했다.

비아 산하의 센토 사업부 대표인 글렌 헨리는 “x86은 근본적인 한계로 인해 하위 분야, 예를 들어 토스터나 자동차용 연료 인젝터 따위에는 사용할 수 없다. 또한 상위 분야에 대한 한계도 있어 원자폭탄 시뮬레이션과 같은 작업에도 사용할 수 없다. 그러나 이러한 양 끝단 사이에서, x86은 어디에나 적응할 수 있음을 끊임없이 증명해 왔다”고 말했다.

래트너는 인텔이 현재 새로운 트랜지스터 기반 전자 기술을 개발 중이지만 양자 및 DNA 컴퓨팅용 프로세서와 같은 극단적인 영역의 가능성에 있어서는 “실험 수준” 이상은 아니라고 말했다. 그는 이러한 기술이 컴퓨팅의 수학적 기반을 완전히 바꿀 뿐만 아니라 훨씬 더 위험하기도 하며, 범용 컴퓨팅이 아닌 협소한 응용 분야로 제한될 가능성이 높다고 말했다.

모우리는 이처럼 심원한 기술로의 전환은 앞으로 20년 후에나 가능하다고 예상했다. 그는 “사람들은 기존 기술로 할 수 있는 일이 바닥을 드러내기 전까지는 이러한 기술을 진지하게 고려하지 않을 것”이라며 “원자 가닥 하나하나를 사용해 전선을 만들 경우 지금까지와는 전혀 다른 특성에 직면하게 되며, 정확히 무엇을 해야 하는지도 아직 알지 못한다”고 말했다.


2008.06.29

서른 살 x86, 미래는 어떤 모습?

Gary Anthes | Computerworld
x86 마이크로프로세서 제품군을 볼 때 필연적으로 떠오르는 의문은 30년 동안 군림한 이 아키텍처의 수명이 이제 다 되어가지 않나 하는 것이다. 당연히 인텔은 x86이 아직 건재하며, 더불어 경쟁 아키텍처와의 싸움도 아직 끝날 기미가 없다고 말한다.

인텔의 최고 기술 책임자인 저스틴 래트너는 과거에도 그랬지만 앞으로도 x86 아키텍처 성공의 핵심은 그 유연성이라고 말했다. 그는 많은 사람들이 x86 명령어 세트를 변경이 불가능한 규격이라고 말하지만 명령어 세트 자체와 이를 구현하는 아키텍처는 지난 세월 동안 놀랄만한 발전을 이루었다고 반박했다.

래트너는 1990년대에 x86이 멀티미디어 및 통신 애플리케이션에 필요한 연산 속도를 대폭 높여주는 내장 MMX 및 SSE 명령어 세트 확장에 힘입어 전용 미디어 프로세서 군단의 공세를 물리친 사례를 그 근거로 제시했으며, 또한 메모리 관리와 가상화에 대한 지원 등 지난 수년 동안 칩에 추가되어 다듬어진 발전 요소들도 강조했다.

이에 못지않게 중요한 사실은 인텔이 각 진화 단계에서 x86 제품군 간에 하위 호환성을 유지했다는 점이라고 래트너는 강조했다. 명령어 세트의 발전에 제품군 간 호환성이 더해져 x86은 개인 사용자와 기업 컴퓨터, 노트북에서 수퍼컴퓨터에 이르기까지 광대한 영역을 구축할 수 있었다.

캘리포니아 버클리 대학의 컴퓨터 과학 교수인 데이빗 패터슨은 “x86이 고정된 설계가 아니라는 점이 중요하다. 인텔은 x86에 30년 동안 대략 매월 1개씩 명령어를 추가했다. 이렇게 추가된 것만 현재 x86의 명령어 세트에서 500여 개에 이른다. 또한 인텔은 각 세대마다 20 ~ 100개의 명령어를 추가했다. 하위 호환성은 신성 불가침의 영역이지만 미래를 위한 새로운 요소의 추가는 항상 진행된다”고 말했다.

전략의 변화, 멀티코어로의 우회전
특정 용도 측면의 발전을 제외하고라도 장기간에 걸쳐 무어의 법칙에 따라 이루어진 x86의 성능 향상은 놀라운 IT 성공 사례 중 하나로 손꼽힌다. 1978년 등장한 8086은 10MHz 속도로 동작했고 트랜지스터 수는 2만 9,000개였다.

현재 사용되는 3GHz 쿼드코어 인텔 프로세서는 패키지만 약간 더 커졌을 뿐 비슷한 가격에 8086보다 300배 더 빠르며 트랜지스터 수는 2만 8,000배에 조금 못 미치는 8억 2,000만 개에 이른다.

카네기 멜론 대학의 컴퓨터 과학 교수이자 인텔 연구 고문인 토드 모우리는 “트랜지스터의 크기를 지속적으로 줄이고 기타 필요한 발전을 이루기 위해 엄청난 기술적 어려움들을 해결해야 했으며 인텔은 이를 위해 막대한 자금을 투자했다”고 말했다.

이러한 기술적 난제 중 하나는 인텔이 내부적으로 “우회전”이라 부르는 전략 변화로까지 이어졌는데, 이는 회로가 축소되면서 불거진 발열 문제로 인해 이제 프로세서의 성능 향상은 클럭 속도의 증가가 아닌 칩에 올라가는 프로세서 코어 수의 증가를 통해서만 얻을 수 있음을 의미한다.

모우리는 이로 인해 성능 향상이라는 과제가 하드웨어에서 소프트웨어로 옮겨갔다면서 "연구의 현재 초점은 어떻게 우수한 코어를 만드느냐보다 다수의 코어를 어떻게 활용하느냐에 더 맞춰져 있다”고 말했다.

모우리는 현재 멀티코어 칩의 병렬 처리를 활용하기 위한 가장 유망한 접근 방식 중 하나는 “소프트웨어 트랜잭션 메모리”로 불리는 기법이라고 말했다. 이 방법은 공유 데이터에 대한 액세스를 잠그지(차단하지) 않고도 병렬 스레드가 이 공유 데이터를 손상시키지 않도록 하는 기술이다. 이는 알고리즘적 접근 방식(주로 소프트웨어적 작업)이지만 x86 하드웨어에 이 기술에 대한 지원 기능을 내장할 수 있다고 모우리는 강조했다.

모우리는 프로세서 칩에 더 많은 코어를 추가하는 데 있어 유일한 제약은 소프트웨어 개발자들이 이를 제대로 활용할 수 있는지 여부라면서, “가장 큰 문제는 순차적 사고 방식에서 병렬적 사고 방식으로의 전환”이라고 말했다.

래트너는 향후 5 ~ 7년 내에 칩당 코어의 수가 백 단위에 이를 것으로 예상했다. 각 코어는 멀티쓰레딩이 가능하므로 이러한 칩이 지원하는 병렬 실행 쓰레드의 수는 1,000개 정도가 된다. 단, 래트너도 인정하듯이 1,000개의 쓰레드를 어떻게 사용할지 아는 사람은 전세계를 통틀어 소수에 불과하다.

새로운 발전도 이어진다
래트너는 인텔 연구실에서 개발 중인 무척 흥미로운 몇 가지 다른 기술에 대해서도 언급했다. 예를 들어 앞으로 x86에는 보안을 위한 새로운 하드웨어 지원이 포함된다. 래트너는 이 하드웨어 지원이 다양한 공격에 대한 보호 기능을 강화하는 역할을 한다고 전했지만 자세한 내용은 밝히지 않았다.

래트너는 엔비디아, AMD ATI의 전용 GPU와 경쟁할 x86 기반의 그래픽 처리 유닛인 라라비 칩에 대해서도 언급했다. 래트너는 “라라비는 시각적인 컴퓨팅을 위한 완전히 새로운 종류의 명령어를 포함할 것”이라고 말했다.

경쟁 업체들의 고도로 전문화된 GPU와 달리 라라비에서 주목할 만한 점은 이 칩이 범용 x86 아키텍처의 확장이란 사실이다. 래트너는 “이 칩은 x86 아키텍처의 강력함과 건재함을 명확히 보여 준다. 우리는 대부분의 사람들이 결코 도달하지 못하리라 생각했던 영역까지 x86 아키텍처를 발전시키고 있다"고 말했다.

AMD 역시 인텔과 비슷한 계획을 가진 것으로 보인다. 지난 1월 AMD는 기존 페넘 프로세서 제품군의 확장인 퓨전 CPU-GPU 하이브리드 칩을 출시할 것이라고 밝혔다. AMD에 따르면 퓨전은 2009년부터 노트북 컴퓨터용 듀얼 코어 유닛으로 판매된다.

최근 미니 노트북용으로 비아 나노(이전 명칭 이사야) 프로세서를 발표한 비아 테크놀로지는 자사의 전력 효율적인 x86 프로세서 제품군으로 모바일 시장을 계속 공략하겠지만 데스크톱 시장으로도 서서히 진출할 계획이라고 밝혔다.

새로운 마이크로프로세서 아키텍처가 등장해 x86을 밀어낼 가능성과 관련, 래트너는 1980년대 후반 RISC 프로세서의 위협으로부터 x86을 지키는 데 도움을 제공했던 윈텔 소프트웨어 진영이 지금도 여전히 x86을 보호하고 있다고 전했다.

그는 “x86 대신 새로운 명령어 세트를 사용함으로써 5배 더 높은 성능을 얻는 것이 아니라면 아키텍처 전환의 유인책이 되지 못한다. 비x86 하이엔드 아키텍처인 인텔 아이테니엄도 바로 이러한 이유로 애를 먹었다”라고 말했다.

제한은 없다?
물론 실리콘 트랜지스터가 물리적인 한계에 직면하면서 x86 명령어 세트도 앞으로 완전히 새로운 방식으로 구현되긴 할 것이다. 40년 동안 트랜지스터는 실리콘 웨이퍼의 표면 아래에만 장착됐지만 지금은 웨이퍼 표면 위에 장착할 수 있는 기술이 개발되고 있다.

이러한 기술을 사용하면 실리콘이 아닌 다른 소재로도 트랜지스터를 만들 수 있다. 예컨대 갈륨 비소와 같은 소재는 실리콘보다 에너지 및 성능 특성이 더 우수하다. 래트너는 “향후 1 ~ 2세대 동안(약 2 ~ 4년)에는 표면화되지 않겠지만 10년 후에는 소재 분야에서 상당한 혁신을 보게 될 것”이라고 말했다.

비아 산하의 센토 사업부 대표인 글렌 헨리는 “x86은 근본적인 한계로 인해 하위 분야, 예를 들어 토스터나 자동차용 연료 인젝터 따위에는 사용할 수 없다. 또한 상위 분야에 대한 한계도 있어 원자폭탄 시뮬레이션과 같은 작업에도 사용할 수 없다. 그러나 이러한 양 끝단 사이에서, x86은 어디에나 적응할 수 있음을 끊임없이 증명해 왔다”고 말했다.

래트너는 인텔이 현재 새로운 트랜지스터 기반 전자 기술을 개발 중이지만 양자 및 DNA 컴퓨팅용 프로세서와 같은 극단적인 영역의 가능성에 있어서는 “실험 수준” 이상은 아니라고 말했다. 그는 이러한 기술이 컴퓨팅의 수학적 기반을 완전히 바꿀 뿐만 아니라 훨씬 더 위험하기도 하며, 범용 컴퓨팅이 아닌 협소한 응용 분야로 제한될 가능성이 높다고 말했다.

모우리는 이처럼 심원한 기술로의 전환은 앞으로 20년 후에나 가능하다고 예상했다. 그는 “사람들은 기존 기술로 할 수 있는 일이 바닥을 드러내기 전까지는 이러한 기술을 진지하게 고려하지 않을 것”이라며 “원자 가닥 하나하나를 사용해 전선을 만들 경우 지금까지와는 전혀 다른 특성에 직면하게 되며, 정확히 무엇을 해야 하는지도 아직 알지 못한다”고 말했다.


X