메모리 인터리빙

메모리 인터리빙(memory interleaving)은 주기억장치를 접근하는 속도를 빠르게 하는데 사용된다. 메모리 인터리빙 기법은 인접한 메모리 위치를 서로 다른 메모리 뱅크(bank)에 둠으로써 동시에 여러 곳을 접근할 수 있게 하는 것이다. 메모리 인터리빙은 블록 단위 전송이 가능하게 하므로 캐시나 기억장치와 주변장치 사이의 빠른 데이터 전송을 위한 DMA(Direct Memory Access)에서 많이 사용한다.

4뱅크의 메모리 인터리빙의 예. 빨간 뱅크는 새로 고치는 작업을 수행하고 있으므로 사용이 불가능하다.

2중 인터리빙 편집

2중 인터리빙에서는 홀수 번지의 주소를 가진 메모리를 하나의 뱅크에 두고, 짝수 번지의 주소를 가진 메모리를 또 하나의 뱅크에 둔다. 그렇게 함으로써 서로 다른 뱅크에 있는 메모리를 동시에 접근할 수 있게 된다.

역사 편집

인터리빙 메모리의 초기 연구는 IBM 7030 스트레치 컴퓨터와 관련하여 60~70년대 IBM에서 수행되었으나[1] 개발은 설계적 개선, 유연성, 현대의 구현체를 만들기 위한 성능을 위해 수년이 소요되었다.

같이 보기 편집

각주 편집

  1. Mark Smotherman (July 2010). “IBM Stretch (7030) — Aggressive Uniprocessor Parallelism”. clemson.edu. 2013년 12월 7일에 확인함.