컴퓨터 구조

Chapter5-2. 서로 다른 메모리 기술들

YJ_ma 2022. 11. 22. 21:00

컴퓨터의 주요 구성요소

- 속도 : 프로세서 > 메모리 > 장치

- 적중(Hit)되어서 돌아오는 시간이 제일 빠르게 하기 위해서는

cashe에 들어있는 경우이다. 

- 프로세서에 가까이 두면 지역성에 의해 예측을 통해 인접 부분에 재차 발생할 확률이 높다.

- 캐시와 메인 메모리 사이에는 block, 메인 메모리와 하드디스크 사이에는 page 단위로 전달되며 운영체제가 관리한다.

 

* 캐시 ↔ 메인메모리 : 적중률↑

* 하드디스크 ↔ 메인메모리 : pagefault 발생↓

 

 

지역성의 이점을 어떻게 활용할 것인가?

DRAM에서 더 최근에 액세스한 항목(및 근처)을 더 작은 SRAM으로 복사
| Cashes(캐시)
 최근에 액세스한 항목(및 근처)을 디스크에서 더 작은 DRAM으로 복사
l Main memory(메인 메모리)
초기에, 모든 것을 디스크에 저장
예: 프로그램, 데이터

 

* 가장 최근에 접근한 데이터 항목을 프로세서에 더 가깝게 유지
* 연속 단어로 구성된 블록을 프로세서 근처로 이동

 

메모리 계층 기술

SRAM DRAM
빠른 속도 (일반적인 액세스 시간 0.5~2.5nsec)
저밀도(6-8개의 트랜지스터 셀), 고전력, 고가
정적 : 콘텐츠는 "영원히" 유지됩니다(전원이 켜져 있는 한).
목적 : 속도향상
느린 속도(일반적인 액세스 시간 50~70nsec)
고밀도(트랜지스터 셀 1개), 저전력, 저렴한 가격
동적: 정기적으로 "새로고침"해야 합니다(~ 매 8ms).
- DRAM 활성 사이클의 1% ~ 2%를 소비합니다.
목적 : 밀도향상
ex, SDRAM, DDRAM

주소 행, 열을 2등분
- RAS (Row Access Strobe) : row디코더를 트리거
- CAS (Column Access Strobe) : column디코더를 트리거

 

메모리 대역폭 넓히는 방법

Memory Bandwidth(메모리 대역폭)

: 데이터를 주고 받기 위한 폭(넓이)

- a, b : 캐시와 메모리 사이의 통신 링크인 BUS의 폭을 넓게 하면 메모리에 접근하는 폭이 넓어지므로 전달 횟수 감소하여 전달 시간이 빠르다. 하지만 비용 부담이 크다.

- c : 접근되는 메모리 뱅크는 교대로 접근한다.

ex, 첫번째 접근은 첫번째 메모리 뱅크

두번째 접근은 두번째 메모리 뱅크 ....

 

Flash Storage (NVM)

: 비휘발성 반도체 저장소
- 디스크보다 1000배 빠른 
- 더 작고, 더 낮은 전력, 더 견고함
- 하지만 더 많은 GB당 비용(디스크와 DRAM 간)

 

Flash 유형

NOR 플래시: NOR 게이트와 같은 비트 셀
- 임의의 메모리 위치에 대한 임의 접근 허용
- 임베디드 시스템(예: ROM)의 명령 메모리에 사용됩니다.
 NAND 플래시: NAND 게이트와 같은 비트 셀
- 밀도(비트/영역)가 높지만 한 번에 블록 접근 가능
- GB당 더 저렴함
ex, USB 키, 미디어 저장
 5,000회 이상 액세스하면 플래시 비트가 마모됨
- RAM 또는 디스크를 직접 교체하는 데 적합하지 않음
- Wear leaveling(마모 레벨링): 한 곳에 많이 접근하면 마모되는 현상이 발생한다. 데이터를 덜 사용되는 블록으로

다시 매핑작업이 필요

 

디스크 메모리(or 저장)

: 비휘발성, 회전식 자기 저장 장치

섹터에 대한 액세스는 다음을 포함합니다.
. 다른 액세스가 보류 중인 경우 대기열 지연
. 탐색(seek): 헤드를 이동
. 회전 대기 시간(Rotational latency)
. 데이터 전송
. 컨트롤러 오버헤드

 

디스크 섹터와 접근

Example
512B 섹터, 15,000rpm, 4ms 평균 탐색 시간, 100MB/s 전송 속도, 0.2ms 컨트롤러 오버헤드, 유휴 디스크(idle disk)
평균 디스크 읽기 시간:
4ms 탐색 시간
+ (1/2) / (15,000/60)   // 2ms 회전 대기 시간
+ 512 / 100MB/s    // 0.005ms 전송 시간
+ 0.2ms 컨트롤러 지연
= 6.205ms
실제 평균 탐색 시간이 1ms인 경우 평균 읽기 시간 = 3.2ms

- 디스크 메모리 연결해주는 BUS(버스) 유형 : SCSI, ATA, SATA

- 캐시를 포함한 디스크 드라이브 : 디스크 캐시를 갖는다, 장치구동기(소프트), 지연시간 감소하고 캐시를 통해 인접한 부분을 미리 가져온다.

- 디스크 드라이버: 저장을 클릭하면 어느 메모리 몇번에 저장할 것인지 지정해주는 역할.

 

디스크 성능 문제

 제조업체는 평균 탐색 시간을 사용합니다.
 지역성의 원리는 평균 탐색 시간을 단축시킵니다.
 디스크 컨트롤러가 디스크의 물리적 섹터를 할당합니다.
- 호스트에 논리 섹터 인터페이스 제공

 디스크 드라이브에 캐시 포함
- 접근을 예상하여 섹터를 프리페치(판독)하여 탐색 시간 및 회전 지연을 방지할 수 있다.

 

'컴퓨터 구조' 카테고리의 다른 글

Chapter5-4. 가상메모리 -1  (0) 2022.12.11
Chapter5-3. 캐시 메모리  (0) 2022.11.23
Chapter.5-1 메모리 계층 이용  (0) 2022.11.22
Chapter.2-2 컴퓨터 언어  (0) 2022.10.04
Chapter.2-1 컴퓨터 언어  (0) 2022.10.04