메모리 인터리빙
태그 :
- 개념
- 메모리 접근시간을 최소화하기 위해 메모리를 복수개의 모듈로 나누고 각 모듈에 연속적인 주소를 부여하여 동시에 접근이 가능하게 하는 기법 버스의 경합이나 기억장치의 충돌 회피를 위하여 기억장치를 여러 개의 독립적인 모듈들로 나누고 그 모듈들에서 동시에 엑세스 동작이 일어날 수 있도록 하는 기법
I. 메모리 접근시간 최소화 기법, 메모리 인터리빙의 개요
가. 메모리 인터리빙(Memory Interleaving)의 정의
- 메모리 접근시간을 최소화하기 위해 메모리를 복수개의 모듈로 나누고 각 모듈에 연속적인 주소를 부여하여 동시에 접근이 가능하게 하는 기법
- 버스의 경합이나 기억장치의 충돌 회피를 위하여 기억장치를 여러 개의 독립적인 모듈들로 나누고 그 모듈들에서 동시에 엑세스 동작이 일어날 수 있도록 하는 기법
나. 메모리 인터리빙의 개념도
- CPU가 Bank#0에 어드레스#0를 보냄, CPU가 어드레스 #1을 Bank#1에 보내고 Data#0을 Bank#0에서 수신하는 동작을 반복하여, 한 개의 뱅크가 Refresh하고 있는 동안 다른 뱅크를 엑세스하여 병렬
- 메모리 인터리빙의 활용 방식은, 데이터들을 기억장치에 분산 저장하는 방식에 따라 상위, 하위, 혼합 인터리빙으로 구분될 수 있음.
II. 메모리 인터리빙의 활용방식 설명
가. 상위 인터리빙 방식 설명
- 일반적인 기억장치 주소지정 방식으로 기억장치 주소를 모듈들에 순차적으로 지정하는 방식
- 상위 비트들: 모듈 선택 신호로 사용
- 하위 비트들: 모듈 내 기억장소 선택
- 장점: 한 모듈 에러시 해당 모듈만 영향을 받아 결함 허용 효과
- 단점: 하위 인터리빙과 같은 모듈의 동시 엑세스를 통한 성능 향상 어려움
- 이 방식은 각 프로세서들이 실행하는 명령어들과 사용되는 데이터들이 독립적으로, 각 기억장치 모듈에 나누어 저장하는 것이 더 효과적일 때 활용
나. 하위 인터리빙 방식 설명
- 기억장치 주소가 모듈 단위로 인터리빙 됨
- 하위 비트들: 모듈 선택 신호로 사용
- 상위 비트들: 모듈 내 기억장소 선택
- 장점: 연속된 주소가 연속된 모듈로 다수의 모듈이 동시 동작 (엑세스향상)
- 단점: 1개 새로운 모듈 추가시, 하드웨어 구조 변경 불가, 한 모듈의 오류가 메모리 전체에 영향을 줌.
다. 혼합 인터리빙 방식 설명
- 기억장치 모듈을 뱅크로 그룹화함
- 하위 인터리빙 방식의 단점인 결함 허용도 문제와, 상위 인터리빙의 단점인 동시 엑세스가 어려운 점을 극복하기 위해 전체 모듈들을 몇개 그룹으로 나눔
- 그룹(뱅킹) 선택시 상위 인터리빙 활용
- 그룹(뱅킹) 내 모듈간에는 하위 인터리빙을 활용하는 방식을 취함
III. 메모리 인터리빙의 엑세스 활용 방식
가. 메모리 인터리빙의 엑세스 활용방식
엑세스 방식 |
설명 |
C-엑세스 방식 |
* 액세스 시간 : T = Ta + (M x tb) (Ta = 기억장치 액세스 시간, tb = 버스 클럭의 주기, M = 기억장치 모듈의 수) |
|
|
S-엑세스 방식 |
* 액세스 시간 : T = Ta + (M x tb) (Ta = 기억장치 액세스 시간, tb = 버스 클럭의 주기, M = 기억장치 모듈의 수) |
|
- 메모리상에 인터리빙 된 데이터를 가져올 경우에도 순차적인 엑세스 방식인 C-엑세스 방식과 동시에 엑세스 가능한 S-엑세스 방식이 존재하며, S-엑세스 방식이 일기 동작의 동시성 확보를 통한 높은 성능 제공 가능.