Memory interleaving,
wikipedia 영문판에는 Interleaved memory 라고 되어 있고, 한글판에는 memory interleaving 이라고 되어 있다. 다소 용어에는 차이가 있지만 결론적으로 memory 를 interleaving 기법을 사용하여 성능을 향상시키는 방법을 의미한다.
일반적으로 메모리상에 존재하는 데이터에 접근할 때 메모리를 순차적으로 참조한다. 보통은 데이터가 메모리상에 올라갈 때는 순차적으로 올라가기 때문이다. 하지만 CPU가 한 워드(word)를 메모리상에서 읽어와서 조작하는 동안 해당 메모리는 접근할 수 없는 문제가 발생한다.
[No interleaving]
No-interleaving
위와 같이 No interleaving 상태에서는 1을 읽고 처리하는 동안 2에 접근할 수 없다.
이런 문제를 해결하기 위해서 Interleaving 이라는 기법이 도입된다. 서로 다른 memory bank에 번갈아 가며 연속적인 주소를 부여함으로써 1에 접근하여 처리하는 동안에도 다음 메모리 주소에 접근할 수 있게 된다.
[Interleaving]
Interleaving
이는 마치 memory 대역폭이 늘어나는 것과 같은 효과를 보여준다.
인터리빙의 종류에는 다음과 같은 것들이 있다.
상위 인터리빙 (High-Order Interleaving)
하위 인터리빙 (Low-Order Interleaving)
혼합 인터리빙 (High-Low-Order Interleaving)
상위 인터리빙 :
메모리 주소의 상위 비트들에 의해 모듈이 선택되고, 하위 비트들은 각 모듈 내의 기억 장소의 주소를 나타낸다.
장점 : 한 모듈에서 에러가 발생해도 해당 모듈만 영향을 받음
단점 : 동시 access 를 통한 성능 향상 어려움
하위 인터리빙 :
하위 비트들에 의해 모듈이 선택되고, 상위 비트들은 각 모듈 내의 주소를 나타낸다.
장점 : 다수의 모듈이 동시 동작 가능
단점 : 새로운 메모리 뱅크 추가시 전체에 영향을 주게됨
혼합 인터리빙 :
메모리 뱅크를 몇 개의 모듈로 나누어 구성. 메모리 뱅크 선택은 상위 인터리빙 방식을 따르지만 뱅크 선택 후 뱅크 내 모듈 간에는 하위 인터리빙 방식을 따름
'Computer architecture' 카테고리의 다른 글
캐시(Cache) 메모리에 대한 이해 (0) | 2019.11.12 |
---|---|
주기억장치에 대한 이해 (0) | 2019.10.19 |
컴퓨터 기억 장치들의 종류 및 특징 (0) | 2019.10.16 |
CPU 레지스터 (Register) 의 이해 및 종류 (0) | 2019.09.28 |
CPU 클럭 주파수 (Clock Frequency) (0) | 2019.09.25 |
롬 (ROM, Read Only Memory) (0) | 2017.09.26 |
Interrupt (인터럽트), 그리고 Exception (예외) (0) | 2017.09.26 |
Addressing mode (주소 지정 방식) (0) | 2017.09.14 |