일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 오늘도코드잇
- DB드림리더장학생
- bottom tab navigation
- 내일배움캠프
- 티스토리챌린지
- 자바스크립트
- DB김준기문화재단
- 코딩공부
- ReactNative
- 코드잇강의추천
- 오블완
- 스파르타코딩클럽
- 혼공단
- 혼공컴운
- js
- 코드잇
- 코드잇앰배서더
- GIT
- 앱개발부트캠프
- 환경교육봉사
- 혼공단JS
- 내일배움캠프사전캠프
- 알고리즘
- 코드잇TIL
- 르탄즈
- c++헤더
- DB마이저널
- 앱개발강의
- 독서활동
- 르탄즈5기
- Today
- Total
axnuo
[CA /혼공단] 메모리와 보조기억장치 본문
Chapter 6. 메모리와 캐시 메모리
06-1. RAM의 특징과 종류
RAM의 특징
RAM은 실행할 프로그램의 명령어와 데이터가 저장되는데 전원을 끄면 RAM에 저장된 명령어와 데이터가 모두 날아감. ⇒ 휘발성 저장 장치
전원이 꺼져도 저장된 내용이 유지되는 저장 장치 ⇒ 비휘발성 저장 장치 : SSD, CD-ROM, USB
일반적으로 비휘발성 저장 장치 : 보관할 대상, 휘발성 저장 장치 : 실행할 대상을 저장한다!
RAM의 용량과 성능
RAM의 용량이 작으면 실행 시간이 길어짐
CPU - RAM - 보조기억장치
CPU에서 원하는 게 RAM에 없다면 보조기억장치에서 가져와야 하기 때문에 시간이 더 소요됨!
하. 지. 만
RAM의 용량이 필요 이상으로 커지면 속도가 비례하게 증가하지는 않음…
RAM의 종류
- DRAM : 데이터가 동적으로 변하는 RAM 즉, 시간이 지나면 주기적으로 사라짐
- ⇒ 하지만 소비전력이 낮고, 저렴하고, 집적도가 높기 때문에 주로 사용됨
- SRAM : 데이터가 변하지 않는 RAM 시간이 지나도 저장된 데이터가 사라지지 않음
- ⇒ 대용량으로 만들어질 필요는 없지만 속도가 빨라야 하는 저장 장치 즉, 캐시메모리에서 사용!
- SDRAM : 클럭 신호와 동기화된 형태의 DRAM
- ⇒ 클럭 신호에 맞춰 CPU와 정보를 주고받음
- DDR SDRAM : 대역폭을 넓혀 속도를 빠르게 만든 SDRAM
- ⇒ 한 번에 주고 받을 수 있는 데이터의 양이 많다!
06-2. 메모리의 주소 공간
물리 주소와 논리 주소
- 물리 주소 : 정보가 실제로 저장된 하드웨어상의 주소
- 논리 주소 : 실행 중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소
ex ) 메모장, 게임, 인터넷 브라우저는 언제든 메모리에서 사라질 수 있기 때문에 현재 다른 프로그램의 물리 주소를 알 필요가 없음. ⇒ 자신만을 위한 논리 주소를 갖는다!
CPU와 메모리가 상호작용 하기 위해서 논 주소와 물리 주소 간의 변환이 이루어져야 함
⇒ 메모리 관리 장치 (MMU)에 의해 수행
- CPU가 발생시킨 논리 주소+베이스 레지스터 값 ⇒ 물리 주소
- 베이스 레지스터 : 프로그램의 첫 물리 주소
- 논리 주소 : 프로그램의 시작점으로부터 떨어진 거리
메모리 보호 기법
프로그램의 논리 주소 영역을 벗어나는 명령어는 실행되면 안 됨
⇒ 이를 보호하는 방법 : 한계 레지스터
- 논리 주소의 최대 크기 저장!
프로그램의 물리 주소 범위 ⇒ 베이스 레지스터 ~ 베이스 레지스터+한계 레지스터
→ 이외의 주소에 접근하면 인터럽트 발생 후 중단
06-3. 캐시 메모리
저장 장치 계층 구조
낮은 가격대의 대용량 저장 장치 → 느린 속도
빠른 메모리 → 작은 용량과 비싼 가격
저장 장치 계층 구조 : CPU에 얼마나 가까운지를 기준으로 계층적으로 나타낸 것!
보조기억장치 → 메모리 → 레지스터 순으로 CPU와 가깝고 CPU에 가까울수록 빠르고, 용량이 작고, 비쌈!
캐시 메모리
CPU와 메모리 사이에 위치하고 레지스터보다 용량이 크며 메모리보다 빠른 SRAM 기반의 저장 장치
→ CPU의 연산 속도와 메모리 접근 속도의 차이를 줄이기 위해 탄생
메모리에 직접 접근하는 것보다 접근 시간을 줄일 수 있음
- 저장 장치 계층 구조에서 레지스터와 메모리 사이에 존재!
코어와 가까운 순서대로 L1캐시, L2캐시, L3캐시라고 부른다
참조 지역성 원리
캐시메모리는 PCU가 사용할 법한 대상을 예측하여 저장!
예측한 데이터가 실제로 들어 맞아 캐시 메모리의 데이터가 CPU에서 활용되는 경우 : 캐시 히트!
예측 실패 : 캐시 미스
⇒ 캐시 히트 비율 = 캐시 적중률
<aside> 🍃 히트 / (히트+미스)
</aside>
캐시 적중률을 높이는 방법
- 캐시 메모리는 참조 지역성의 원리로 메모리를 가져옴
- 시간 지역성 : 최근에 접근했던 메모리 공간에 다시 접근하는 경향
- 공간 지역성 : 접근한 메모리 공간 근처를 접근하려는 경향
Chapter 7. 보조기억장치
07-1. 다양한 보조기억장치
하드 디스크
- 플래터 : 데이터 저장
- 스핀들 : 플래터를 회전시키는 구성 요소
- 헤드 : 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소 → 위치를 이동시키는 디스크 암에 부착
데이터 저장 방식
- 플래터에서 트랙과 섹터 단위로 데이터 저장
- 플래터는 여러 겹이 사용될 수 있으며 여러 겹의 플래터에서 같은 트랙이 위치한 곳을 모아 연결한 단위 == 실린더
- 하드 디스크가 데이터에 접근하는 시간
- 탐색 시간 : 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
- 회전 지연 : 헤드가 있는 곳으로 플래터를 회전시키는 시간
- 전송 시간 : 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간
플래시 메모리
전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치
- 셸 : 데이터를 저장하는 가장 작은 단위
- SLC : 1셸 1비트
- MLC : 1셸 2비트
- TLC : 1셸 3비트
- 셸이 모여 페이지, 페이지가 모여 블록, 블록이 모여 플레인, 플레인이 모여 다이가 됨
- 읽기는 페이지 단위, 삭제는 블록 단위로 이루어짐
- 페이지의 상태
- Free : 어떤 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
- Valid : 이미 유효한 데이터를 저장하고 있는 상태
- Invalid : 유효하지 않은 데이터를 저장하고 있는 상태
- → 플래시 메모리는 덮어쓰기가 불가능…
- 용량이 낭비되기에 가비지 컬렉션 기능을 제공하기도 함
- → 유효한 페이지만 새로운 블록으로 옮기고 기존 블록을 삭제하는 방식!
07-2. RAID의 정의와 종류
필수 과제
p. 185의 확인 문제 3번, p. 205의 확인 문제 1번 풀고 인증하기
185 3번
다음 설명을 읽고 무엇에 대한 SDRAM에 대한 설명인지 DRAM에 대한 설명인지 쓰세요.
- 주로 캐시 메모리로 활용됩니다 → SDRAM
- 주로 주기억장치로 활용됩니다 → DRAM
- 대용량화하기 유리합니다 → DRAM
- 집적도가 상대적으로 낮습니다 → SDRAM
205 1번
저장 장치 계층 구조 도식도를 채우시오
- 레지스터
- 캐시메모리
- 메모리
- 보조기억장치
## 느낀점!
하드디스크와 RAID에 대해 기존에 알고있던 지식이 거의 없었는데 이번 기회에 알게되어 다행이라고 생각한다!
학교에서 배웠던 건 회로 구성 및... 해저드 해결 방법 캐시 메모리 TLB 계산 등등이었는데 책으로는 이론적인 내용만 되새기는 느낌!!!! 다음주 중으로 저번에 적었던 책이랑 내가 기존에 알고 있던 내용의 차이점 및 기존에 배운 MIPS 관련 내용을 정리할 계획이다!!
'CS > CA' 카테고리의 다른 글
[CA/혼공단] CPU 성능 향상 기법 (1) | 2024.01.10 |
---|---|
[CA/혼공단] CPU의 작동 원리 (0) | 2024.01.09 |
[CA/혼공단] 컴퓨터 구조 시작과 명령어 (1) | 2024.01.06 |