코어 i7 프로세서가 이미 발표되었지만 여전히 새 네할렘 아키텍처의 화제는 계속되고 있습니다. 특히 캐시 쪽이지요. 왜 L3 캐시를 추가하고 L2 캐시를 줄인 것일까요.

아난드텍의 Anand Lal Shimpi도 똑같은 의문을 품고 있어, 네할렘의 수석 아키텍트인 Ronak Singhal를 만나서 '네할렘의 캐시 용량 설계가 잘못되었다'라고 말했을 정도라고 합니다.

04023415.jpg

먼저 1998년부터 지금까지 인텔 프로세서의 L2 캐시 용량 발전사를 보도록 합시다.

04024385.jpg

펜티엄 3에서 256KB로 시작하여 45나노 코어 2 듀오에서는 3MB가 되었지만 코어 i7에서는 256KB로 떨어져 10년 전으로 돌아가버린듯한 느낌입니다.

하지만 L2와 L3 캐시의 총 용량을 보면 이야기는 달라지지요.

04031229.jpg

1998년부터 2004년까지 인텔의 프로세서 외부 캐시는 계속 작았지만 2005년부터 대폭 늘어나게 됐는데, 그것은 멀티 코어 프로세서를 사용했기 때문입니다.

사실상 싱글코어에서 멀티코어로 바뀌면서 캐시도 멀티코어를 고려하며 설계하게 되었지, 싱글코어를 고려하여 설계한 것이 아니라는 말입니다. 네할렘 아키텍처는 쿼드코어 프로세서 기반으로 설계되었으며 매우 강력한 탄력(확장성)을 가지고 있습니다. 나중에 8코어로 늘릴 수도 있고 이를 줄이면 듀얼코어가 되버립니다.

여러 엔지니어들은 현재의 작업량을 본다면 네할렘의 L2 캐시가 확실히 작다고 보고 있습니다. 하지만 L2 캐시의 크기를 늘리는 것은 코어 크기의 문제 뿐만 아니라 레이턴시에도 영향을 줍니다. 네할렘의 L2 캐시 레이턴시는 10사이클인데 나중에 1~2개가 더 늘어날 수도 있습니다. 각각의 코어에 512KB 소용량 L2 캐시를 장착했다면 엑세스 사이클이 20% 늘어나는 것은 받아들이기 힘든 것입니다.

앞으로 L2 캐시의 용량은 늘어날까요? 이것은 알 수 없습니다. 또한 인텔은 L3 캐시의 속도를 늘려야만 할 것입니다. 현재의 8MB L3 캐시의 엑세스 사이클은 41인데 이것은 개선할 여지가 있어 보이며, 30개 정도는 가능할 것입니다. 아쉽게도 Ronak Singhal는 아키텍처를 조정한다는 말만 하고 자세한 언급은 하지 않았습니다.

8MB L3 캐시의 용량은 적진 않지만 각각의 코어는 2MB 정도를 사용하게 되는 것인데, Ronak Singhal는 이것이 부족하다고 보고 있습니다. 다음 32나노 공정에서는 이 부분이 개선될 것으로 보입니다.

사실 아키텍처가 어쨌건 실제 성능이야말로 제일 중요한 것입니다. 네할렘은 펜린보다 0~60% 정도의 성능 향상이 있으니 확실히 예전 제품을 대체할만 합니다. 따라서 L2 캐시가 줄어들었어도 별로 화낼 것은 아닙니다.