일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- css박스 모델
- html 문서작성
- 코딩자율학습
- 자바스크립트
- 메모리와 캐시 메모리
- html 필수태그
- JavaScript
- 코딩 자율학습 html + css + 자바스크립트]
- https://api.jquery.com/
- CSS
- do it! html+css+자바스크립트 웹 표준의 정석
- 코딩
- css필수 속성
- html 기본문서
- propschildren
- css배경
- HTML
- 혼자 공부하는 컴퓨터구조+운영체제
- do it! 한권으로 끝내는 웹 기본 교과서 html+css+자바스크립트 웹 표준의 정석
- JS
- CPU
- Git
- 코딩 자율학습 html + css + 자바스크립트
- Do it
- cpu 성능 향상 기법
- react
- html 실무
- 코딩 자율학습
- TS
- 이벤트
- Today
- Total
게으른 나에게
[혼자 공부하는 컴퓨터구조+운영체제] "chapter6. 메모리와 캐시 메모리" 본문
6-1 RAM의 특징과 종류
RAM의 특징
RAM: 실행할 프로그램의 명령어와 데이터 저장.
휘발성 저장 장치임.
휘발성 저장 장치: 전원을 끄면 저장된 내용이 사라지는 저장 장치.
비휘발성 저장 장치: 전원이 꺼져도 저장된 내용이 유지되는 저장 장치.
CPU는 보조기억장치에 직접 접근 X.
보조기억장치(비휘발성 저장 장치): 보관할 대상 저장.
RAM(휘발성 저장 장치): 실행할 대상 저장.
CPU가 실행하고 싶은 프로그램이 보조기억장치에 있다면 이를 RAM으로 복사하여 저장한 뒤 실행.
RAM의 용량과 성능
RAM 용량이 충분히 크면 보조기억장치에서 많은 데이터를 가져와 미리 RAM에 저장 가능.
많은 프로그램 동시에 실행하는데 유리.
RAM 용량이 크면 많은 프로그램들을 동시에 빠르게 실행하는 데 유리.
용량이 필요이상으로 커졌을 때 속도가 그에 비례하여 증가하지는 않음.
RAM의 종류
1. DRAM(Dynamic RAM)
저장된 데이터가 동적으로 변하는(사라지는) RAM.
시간이 지나면 저장된 데이터가 점차 사라지는 RAM.
데이터 소멸을 막기 위해 일정 주기로 데이터를 재활성화(다시 저장).
일반적으로 메모리로써 사용하는 RAM.
소비전력이 비교적 낮고, 저렴하고, 집적도가 높기 때문에 대용량 설계 용이.
2. SRAM(Static RAM)
저장된 데이터가 변하지 않는 RAM.
시간이 지나도 저장된 데이터 안 사라짐.
일반적으로 속도도 더 빠름.
휘발성 메모리.
소비전력 크며, 가격도 비싸고, 집적도 낮음.
메모리가 아닌 대용량으로 만들어질 피요는 없지만 속도가 빨라야 하는 저장장치, 캐시메모리에 사용.
DRAM | SRAM | |
재충전 | 필요함 | 필요없음 |
속도 | 느림 | 빠름 |
가격 | 저렴함 | 비쌈 |
집적도 | 높음 | 낮음 |
소비전력 | 적음 | 높음 |
사용 용도 | 주기억장치(RAM) | 캐시 메모리 |
3.SDRAM
SDRAM과 관계 없음.
클럭 신호와 동기화된(클럭 타이밍에 맞춰 CPU와 정보를 주고 받을 수 있음), 발전화 된 형태의 DRAM.
4. DDR SDRAM
최근 가장 흔히 사용되는 DRAM.
대역폭(데이터를 주고 받는 길의 너비)을 넓혀 속도를 빠르게 만든 SDRAM.
SDRAM에 비해 두배의 대역폭으로 한 클럭당 두번씩 CPU와 데이터를 주고 받을 수 있음. 전송속도 두배가량 빠름.
SDR SDRAM: 한 클럭당 하나씩 데이터를 주고 받을 수 있는 SDRAM.
DDR2 SDRAM: SDR SDRAM보다 너비가 네배 넓은 도로.
6-2 메모리 주소 공간
주소의 종류는 2종류.
물리주소: 메모리 하드웨어가 사용하는 주소.
논리주소: CPU와 실행 중인 프로그램이 사용하는 주소.
물리주소와 논리주소
CPU와 메모리에 저장되어 실행중인 프로그램은 메모리에 몇번지에 무엇이 저장되어 있는지 다 알지 못함.
메모리에 저장된 정보는 시시각각 변하기 때문.
물리주소: 메모리가 사용하는 주소. 정보가 실제로 저장된 하드웨어상의 주소.
논리주소: CPU와 실행 중인 프로그램이 사용하는 주소. 실행중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소.
CPU가 메모리와 상호작용하려면 논리주소와 물리 주소 간의 변환이 이루어져야 함. 상호작용 위해.
논리주소와 물리주소 간의 변환
메모리 관리 장치(MMU): CPU와 주소 버스 사이에 위치한 MMU라는 하드웨어에 의해 수행.
CPU가 발생시킨 논리 주소에 베이스 레지스터 값을 더해 논리주소 물리주소로 변환.
베이스 레지스터: 프로그램의 가장 작은 물리주소. 프로그램의 첫 물리 주소 저장.
논리주소: 프로그램 시작점으로부터 떨어진 거리.
메모리 보호 기법
메모장 프로그램 명령어 중( 논리주소)1500번지에 숫자 100을 저장하라 명령어.
인터넷 브라우저 프로그램 명렁어 중 (논리주소) 1100번지의 데이터를 삭제하라 명령어.
위와 같은 명령어들 실행되면 안됨. 프로그램의 논리주소 영역을 벗어남.
다른 프로그램의 영역을 침범할 수 있는 명령어는 위험하기 때문에 논리 주소 범위 벗어나는 명령어 실행 방지. 실행중인 프로그램이 다른 프로그램에 영향을 받지 않도록 보호할 방법 필요.
한계 레지스터: 위와 같은 역할을 담당할 레지스터.
베이스 레지스터: 실행 중인 프로그램의 가장 작은 물리 주소를 저장.
한계 레지스터: 논리주소의 최대 크기 저장.
프로그램의 물리 주소 범위: 베이스 레지스터 값 이상. 베이스 레지스터 값 + 한게 레지스터 값 미만.
CPU는 메모리에 접근하기 전에 접근하고자 하는 논리주소가 한계 레지스터보다 작은지를 항상 검사.
만약 CPU가 한계 레지스터보다 높은 논리주소에 접근하려고 하면 인터럽트(트랩) 발생시켜 실행 중단.
실행중인 프로그램의 독립적인 실행공간 확보. 하나의 프로그램이 다른 프로그램 침범하지 못하게 보호.
6-2 캐시 메모리
캐시 메모리의 탄생 배경과 특징을 이해하기 위해 저장 장치 계층 구조 개념 이해 필요.
저장장치 계층 구조
① CPU와 가까운 저장 장치는 빠름. 멀리 있는 저장 장치 느림.
② 속도가 빠른 저장 장치는 저장 용량 작고 가격 비쌈.
저장 장치 계층 구조: 컴퓨터가 사용하는 저장 장치들은 CPU에 얼마나 가까운가 기준으로 계층적으로 나타냄.
캐시 메모리
CPU와 메모리 사이에 위치. 레지스터보다 용량이 크고, 메모리보다 빠른 SRAM 기반의 저장 장치.
CPU의 연산속도와 메모리 접근 속도의 차이를 줄이기 위해 탄생.
메모리에서 CPU가 사용할 일부 데이터를 미리 캐시 메모리로 가지고 와서 활용.
캐시 메모리까지 반영한 저장 장치 계층 구조.
캐시 메모리들은 CPU(코어)와 가까운 순서대로 계층 구성.
L1캐시: 코어와 가장 가까운 캐시 메모리.
L2캐시: 그다음 가까운 캐시 메모리.
L3캐시: 그다음 가까운 캐시 메모리.
일반적으로 L1 캐시와 L2 캐시는 코어 내부, L3 캐시는 코어 외부에 위치.
캐시 메모리의 용량: L1 < L2 < L3 순으로 커짐.
속도: L3 < L2 < L1 순으로 빨라짐.
CPU 메모리 내에 데이터가 필요하다고 판단하면 우선 L1 캐시에 해당 데이터 확인, 없다면 L2, L3 캐시 순으로 데이터 검색.
L1, L2 캐시는 코어마다 고유한 캐시 메모리로 할당. L3캐시는 여러 코어가 공유하는 형태로 사용.
분리형 캐시: 명령어만 저장하는 L1, L1l 캐시. 데이터만 저장하는 L1, L1D 캐시로 분리
캐시 메모리 반영 저장장치 계층 구조
참조 지역성 원리
캐시메모리는 메모리 일부 복사하여 저장.
캐시메모리는 CPU가 사용할 법한 대상을 예측하여 저장.
캐시 히트: 자주 사용될 것을 예측한 데이터가 실제로 들어맞아 캐시 메모리 내 데이터가 CPU에서 활용될 경우.
캐시 미스: 예측이 틀려 메모리에서 필요한 데이터 직접 가져와야 하는 경우.
캐시미스가 자주 발생하면 성능 떨어짐.
캐시 적중률: 캐시가 히트되는 비율 " 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)"
캐시 적중률 높으면 CPU의 메모리 접근 횟수 줄일 수 있음.
캐시 메모리는 참조 지역성의 원리로 메모리 부터 가져올 데이터 결정.
참조 지역성 원리: CPU가 메모리에 접근할 때 주된 경향을 바탕으로 만들어진 원리.
1. CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향.
변수에 값을 저장하고 나면 언제든 변수에 접근해 저장된 값 사용 가능. 저장된 메모리 공간 언제든 다시 참조 가능.
변수에 저장된 값은 프로그램 실행되는 동안 여러번 사용.
시간 지역성: 최근에 접근했던 메모리 공간에 다시 접근하려는 경향.
2. 접근한 메모리 공간 근처를 접근하려는 경향.
CPU가 실행하려는 프로그램은 보통 관련 데이터들끼리 한데 모여있음.
공간지역성: 접근한 메모리 공간 근처를 접근하려는 경향.
캐시 메모리는 참조 지역성 원리에 입각해 CPU가 사용할 법한 데이터 예측.
출처
'My Study > 서적 공부' 카테고리의 다른 글
[Do it! 한권으로 끝내는 웹 기본 교과서 HTML+CSS+자바스크립트 웹 표준의 정석] "자바스크립트 기초-넷째마당: 13 자바스크립트와 첫 만남" (0) | 2024.08.04 |
---|---|
[혼자 공부하는 컴퓨터구조+운영체제] "chapter7. 보조기억장치" (0) | 2024.08.03 |
[혼자 공부하는 컴퓨터구조+운영체제] "chapter5. CPU 성능 향상 기법" (1) | 2024.08.03 |
[혼자 공부하는 컴퓨터구조+운영체제] "chapter4. CPU의 작동 원리" (0) | 2024.08.03 |
[혼자 공부하는 컴퓨터구조+운영체제] "chapter3. 명령어" (0) | 2024.07.30 |