" RAM 정의 "
실행할 프로그램의 명령어와 데이터가 저장되는 곳
- 전원을 끄면 저장된 내용이 사라지는 저장 장치 (휘발성 저장 장치)
- 일반적으로 보조기억장치인 비휘발성 저장 장치에는 '보관할 대상'을 저장하고 /
휘발성 저장 장치에는 '실행할 대상'을 저장함.
WHY?
보조기억장치는 전원이 나가도 내용을 유지하지만, CPU는 보조기억장치에 직접 접근하지 못하기 때문
" RAM 용량과 성능 "
- CPU가 실행하고 싶은 프로그램이 보조기억장치에 있으면, 이걸 RAM으로 끌고 와야 된다.
RAM 용량이 적다면 보조기억장치에서 실행할 프로그램을 가져오는 일이 잦아 실행 시간이 길어지게 된다.
(EX. ) 도서관 책장에서 책을 뽑아 책장에 읽는 상황과 비슷하다. 책상이 크면 책을 많이 올려둘 수 있고, 동시에 읽을 수 있기 때문이다. )
" RAM 종류 "
1. DRAM (Dynamic RAM)
저장된 데이터가 동적으로 변하는 RAM
- 시간이 지나면 저장된 데이터가 점차 사라진다.
- 데이터의 소멸을 막기 위해 일정 주기로 데이터를 재활성화(재저장) 해야 한다.
- 소비 전력이 낮고, 저렴하고, 집적도(작고 빽빽하게)가 높아 대용량으로 설계하기 유리해 일반적으로 많이 사용한다.
2. SRAM (Static RAM)
저장된 데이터가 변하지 않는 RAM
- 시간이 지나도 저장된 데이터가 사라지지 않는다.
- 데이터의 소멸을 막기 위해 재활성화할 필요도 없다.
- DRAM보다 속도가 빠르다.
- 소비 전력이 크고, 비싸고, 집적도가 낮아 [대용량으로 만들어질 필요는 없지만 속도가 빨라야 하는 저장 장치]에 사용한다. (ex. 캐시 메모리)
3. SDRAM
클럭 신호와 동기화된, 발전된 형태의 DRAM
- 클럭 타이밍에 맞춰 CPU와 정보를 주고받을 수 있는 DRAM
4. DDR SDRAM
대역폭(데이터를 주고받는 길의 너비)을 넓혀 속도를 빠르게 만든 SDRAM
- 최근 가장 흔히 이용되는 RAM
- 한 클럭에 하나의 정보를 주고받을 수 있는 SDRAM과 비교했을 때 너비가 2배인 도로와 같다. ( 전송 속도가 2배가량 빠르다)
185p3번 1. 주로 캐시 메모리에 활용된다. (SRAM) 2. 주로 기억장치로 활용된다. (DRAM) 3. 대용량하기 유리하다. (DRAM) 4. 집적도가 상대적으로 낮다. (SRAM) |
" 물리 주소 "
메모리 하드웨어가 사용하는 주소
- 정보가 실제로 저장된 하드웨어상의 주소
" 논리 주소 "
CPU와 실행 중인 프로그램이 사용하는 주소
- 실행 중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소
- 프로그램마다 같은 논리 주소가 얼마든지 있을 수 있다.
" 메모리 관리 장치 (MMU) "
-CPU가 메모리와 상호작용하려면 논리 주소와 물리 주소 간의 변환이 이루어져야 한다.
-논리 주소와 물리 주소 간의 변환은 CPU와 주소 버스 사이에 위치해 있다.
- 베이스 레지스터는 프로그램의 가장 작은 물리 주소(=프로그램의 첫 물리 주소)를 저장하고,
논리 주소는 프로그램의 시작점으로부터 떨어진 거리를 저장한다.
" 메모리 보호 기법 "
- 프로그램의 논리 주소 영역을 벗어나면 명령어가 제대로 작동하지 않는다.
한계 레지스터
- 다른 프로그램의 영역을 침범할 수 있는 명령어는 위험하기 때문에 논리 주소 범위를 벗어나는 명령어 실행을 방지하고 실행 중인 프로그램이 다른 프로그램에 영향을 받지 않도록 보호한다.
- 논리 주소의 최대 크기를 저장한다.
- CPU가 접근하려는 논리 주소는 한계 레지스터가 저장한 값보다 크면 안 된다.
- CPU는 메모리에 접근하기 전에 접근하고자 하는 논리 주소가 한계 레지스터보다 작은 지를 항상 검사한다. 만약 한계 레지스터보다 높은 논리 주소에 접근하려고 하면 인터럽트(트랩)를 발생시켜 실행을 중단시킨다.
" 캐시 메모리 "
CPU의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해 탄생
- CPU와 메모리 사이에 위치해, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치
- 물건을 사러 갈 때 가까운 편의점에 그 물건이 있다면, 멀리 있는 큰 마트에 갈 필요가 없다. 캐시 메모리는 편의점!
- CPU에 가까운 순서대로 계층을 구성( 코어와 가장 가까운 캐시 메모리는 L1 캐시, 가장 먼 캐시 메모리는 L3 캐시 )
- 메모리는 실행 중인 대상을 저장하고, 캐시 메모리는 CPU가 사용할 법한 대상을 예측하여 저장한다. 예측이 맞아 실제로 활용된다면 이건 캐시 히트! / 예측이 틀리면 캐시 미스!
- 캐시 미스가 계속 나면 성능이 떨어진다. ( 직접 메모리에서 다 가져와야 하니까 )
저장 장치 계층 구조
[ 명제 ]
1. CPU와 가까울수록 저장 장치의 속도가 빠르다.
2. 속도가 빠르면 저장 용량이 적고 가격이 비싸다.
( EX.) CPU와 가까운 레지스터는 RAM보다 용량은 적지만, 속도가 압도적으로 빠르고 /
RAM은 USB 메모리에 비해 속도가 빠르지만 가격이 비싸다 )
" 참조 지역성의 원리 "
캐시 적중률을 높이기 위한 원리
[ 원리 ]
1. CPU는 최근 접근했던 메모리 공간에 다시 접근하려는 경향이 있다. (시간 지역성)
- 변수에 저장된 값은 일반적으로 한 번만 사용되지 않고 프로그램이 실행되는 동안 여러 번 사용된다.
2. CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다. (공간 지역성)
- 프로그램이 모여있는 공간 근처를 집중적으로 접근할 것이고, 사용자가 쓰려는 해당 기능이 모여있는 공간 근처를 접근하려고 한다.
205p 1번 레지스터 캐시메모리 메모리 보조기억장치 |
'👩💻 알고리즘 > 🎛️ 컴퓨터 구조 & OS' 카테고리의 다른 글
[혼공학습단 12기] 8장, 입출력장치 (0) | 2024.07.22 |
---|---|
[혼공학습단 12기] 7장, 보조기억장치 (0) | 2024.07.22 |
[혼공학습단 12기] 5장, CPU 성능 향상 (0) | 2024.07.21 |
[혼공학습단 12기] 4장, CPU 원리 (0) | 2024.07.20 |
[혼공학습단 12기] 1장 ~ 3장, 데이터와 명령어 (0) | 2024.07.07 |