[혼공컴운_3주]Chapter6 메모리와 캐시 메모리

study_record·2024년 1월 17일
0

혼공컴운

목록 보기
6/17

RAM

  • 저장장치는 휘발성 저장장치와 비휘발성 저자장치로 구분됨
    • 비휘발성 저장장치 : 하드디스크, SSD등. 일반적인 보조기억장치. 전원을 끄면 CPU가 보조기억장치에 접근하지 못함 → 보관할 대상을 저장함.
    • 휘발성 저장장치 : RAM. 실행할 대상을 저장함

RAM 용량과 성능

  • 실행항 프로그램이 보조기억 장치에 있으면 RAM으로 가져와야 CPU가 접근할수 있음
  • RAM 용량이 크면 여러 프로그램을 동시에 실행할수 있음
  • 용량이 크다고 프로그램 실행속도가 빨라지지는 않는다

RAM 종류

  • DRAM (Dynamic RAM)
    • 저장된 데이터가 동적을 변하는 RAM
    • 시간이 지나면서 저장된 데이터가 사라지는 RAM → 데이터가 없어지는것을 막기위해 일정주기로 데이터 재활성화(다시저장)이 필요함
    • 장점 : 소비전력이 낮음. 저렴함. 집적도가 높아서 대용량 설계가 용이
  • SRAM(Static RAM)
    • 저장된 데이터가 변하지않는 RAM
    • 데이터가 사라지지 않음 → 주기적으로 데이터 재활성이 필요없음
    • 속도가 더 빠름
    • 단점 : 집적도가 낮음. 소비전력이 큼. 가격이 비쌈.
    • 캐시메모리에 사용됨
  • SDRAM(Synchronous Dynamic RAM)
    • 클럭에 맞춰서 동작하며 클럭마다 CPU와 정보를 주고 받는 DRAM
    • 한 클럭에 한번씩 CPU와 데이터를 주고 받음
  • DDR SDRAM(Double Data Rate SDRAM)
    • 대역폭을 넓혀 속도를 빠르게 만든 SDRAM
    • 대역폭 : 데이터를 주고 받는 길의 너비
    • 대역폭이 2배 → 한 클럭당 두번씩 CPU와 데이터를 주고 받음. 전송속도가 2배빠름
    • SDR SDRAM : 한 클럭당 하나씩 데이터를 주고 받는 SDRAM
    • DDR SDRAM : SDR SDRAM보다 대역폭이 두배 넓은 SDRAM
      • DDR2 SDRAM : SDR SDRAM보다 대역폭이 4배 넓은 SDRAM
      • DDR3 SDRAM : DDR2 SDRAM보다 대역폭이 8배 넓은 SDRAM
      • DDR4 SDRAM : SDR SDRAM보다 대역폭이 16배 넓은 SDRAM

주소의 종류

  • 주소의 종류
  • 물리주소
    • 메모리가 사용 하는 주소
    • 정보가 실제로 저장된 하드웨어상의 주소를 말함
  • 논리주소
    • CPU와 사용중인 프로그램이 사용하는 주소
    • 실행중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소를 말함
    • 프로그램마다 같은 논리주소가 있을수 있음
  • 메모리 관리 장치(MMU : Memory Managment Unit)
    • 논리주소와 물리주소간의 변환이 일어나는 하드웨어
    • 논리주소와 물리주소사이에 변환이 없으면 CPU와 메모리는 서로 이해할수 없고 상호작용이 안됨 → 따라서 MMU가 필요함
    • CPU와 주소버스사이에 있음

논리주소가 물리주소로 변환되는 과정

  • cpu가 발생시킨 논리주소 데이터와 베이스 레지스터 값을 더하여 물리주로 변환함
    • 베이즈레지스터 : 프로그램의 첫 물리주소(가장작은 물리주소)
    • 논리주소 : 프로그램의 시작점으로부터 떨어진 거리

메모리보호기법

  • 프로그램의 논리주소에 벗어난명령어는 실행되면 안됨
  • 한계 레지스터(limit register)
    • 논리주소를 벗어나는 명령어의 실행을 막고 실행중인다른프로그램에 영향을 주지않도록 보호하는 방법
    • 논리주소의 최대 크기를 저장함
    • 프로그램의 크기를 나타냄
  • 프로그램 물리주소 범위 : 베이스레지스터 값 ~ 베이스레지스터+한계레지스터 값
  • 논리주소는 프로그램 크기(논리주소 최대크기)를 벗어날수 없음
  • CPU는 메모리에 접근하지 전에 접근하려는 논리주소가 한계레지스터보다 작은지 항상 검사한다
    • 만약 한계레지스터보다 높은값이면 인터럽트를 발생시켜 중단함

저장장치 계층구조

  • 빠르고 용량이 큰 저장장치는 어려움
    • 이유 1) CPU 가까운 저장장치는 빠르고 멀리는 저장장치는 느림 2) 속도가 빠른 저장장치는 용량이 작고 가격이 비쌈
  • 저장장치 계층구조 : CPU에 얼마나 가까운를 기준으로 계층을 나눈것

캐시메모리

  • CPU의 연산속도와 메모리 접근속도의 차이를 줄기위한 저장장치
  • 메모리(RAM)보다 용량이 작고 메모리의 일부를 복사해서 저장함
  • 저장하는것 : CPU가 사용할법한 대상을 예측해서 저장
  • 위치 : CPU와 메모리 사이에 위차함
  • 용량 : 레지스터보다 크다
  • 속도 : 메모리보다 빠른 SRAM 기반
  • 메모리에서 CPU가 사용할 일부 데이터를 미리 가져와서 사용함
  • CPU와 가까운 순서대로 계층을 구성한다
    • L1캐시 : CPU와 가장 가까운 캐시메모리
    • L2캐시 : L1다음 가까운 캐시메모리
    • L3캐시 : L2다음 가까운 캐시메모리. 일반적으로 CPU외부에 위치함.

  • 분리형캐시 : L1 캐시가 접근속도를 더 빠르게 만들기위해 L1I캐시와 L1D캐시로 분리함
    • L1I캐시 : 명령어만 저장하는 캐시
    • L1D캐시 : 데이터만 저장하는 캐시



참조지역성 원리

  • 캐시히트(cache hit): 자주사용될것 같은 데이터가 실제로 맞아서 캐시 메모리 내 데이터가 CPU에서 활용되는 경우
  • 캐시미스(cache miss) : 자주 사용될것으로 예측해서 메모리에 저장했지만 예측이 틀려서 데이터를 직접가져와야 하는 경우
    • 캐시미스가 발생할 경우 CPU가 필요한 데이터를 직접 메모리에 접근해서 가져옴 → 성능이 떨어짐
  • 캐시적중률(cache hit ratio): 캐시가 히트되는 비율
    • 캐시히트/(캐시 히트횟수+캐시 미스횟수)
    • 85~95% 적중률을 가짐
  • 참조지역성의 원리(locality of reference)
    • 캐시 메모리가 메모리에서 데이터를 가져오는 원칙
    • CPU가 메모리에 접근할때의 주된 경향을 바탕으로 만들어진 원리

      1) CPU는 최근에 접근햇던 메모리 공간에 다시 접근하려는 경향이 있다
      2) CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다

  • CPU는 최근에 접근햇던 메모리 공간에 다시 접근하려는 경향이 있다 = 시간 지역성(temporal locality)
    • CPU는 최근 접근했던(변수가 저장된) 메모리 공간에 여러번, 다시 접근이 가능하다
  • CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다 = 공간지역성(spatial locality)
    • CPU가 실행하려는 프로그램은 모여있음
    • 접근한 메모리 공간 근처를 접근하려는 경향

📚마무리문제

P.185 - 186 📌기본미션

1번 RAM에대한 설명중 옳지 않은것 3번
1) RAM은 휘발성 저장장치이다
2) DRAM은 시간이 지나면 점차 데이터가 사라지는 RAM이다
3) SRAM은 흔히 주기억장치, 즉 메모리로 사용된다
4) RAM이 크면 많은 프로그램을 동시에 빠르게 실행하는데 유리하다

2번 보기와 올바르게 짝지어 쓰기

  • 대역폭을 두배 넓힌 SDRAM 1)DDR SDRAM
  • 시간이 지나도 저장된 데이터가 사라지지 않는 RAM 2)SRAM
  • 데이터 소멸을 막기위해 일정주기로 데이터를 재활성 해야하는 RAM 3)DRAM
  • 클럭과 동기화된 DRAM 4)SDREAM

3번

  • 주로 캐시메모리로 활용됩니다 1)SRAM
  • 주로 기억장치로 활용됩니다 2)DRAM
  • 대용량와하기 유리합니다 3)DRAM
  • 집적도가 상대적으로 낮습니다 4)SRAM

4번

  • DDR3 SDRAM은 DDR2 SDRAM에 비해 대역폭이 1)2배 넓은 RAM입니다.
  • DDR2 SDRAM은 DDR SDRAM에 비해 대역폭이 2)2배 넓은 RAM입니다.

P.194-195

1번 주소관련 설명으로 옳은것은? (3)번
1) 실행되는 프로그램은 항상 같은 메모리 주소에 적제된다
2) 논리주소와 물리주소의 구분의 의미가 없다
3) 프로그램이 실행될때 마다 다른주소에 적재될수 있다
4) CPU가 이해하는 주소는 물리주소

2번 논리주소와 물리주소 설명으로 옳지 않은것은? (3)번
1) 실행되는 프로그램과 CPU는 메모리의 물리주소를 알지 못한다
2) MMU는 논리주소를 물리주소로 변환한다.
3) 물리주소는 모든 프로그램의 시작 주소는 0번지로 간주한다
4) 명령어 속 주소는 논리주소이다

3번 MMU에 대한 설명으로 옳은것은? (1)번
1) MMU는 논리주소를 물리주소 변환한다
2) MMU는 대용량 저장 장치중 하나이다
3) MMU 없이도 물리주소와 논리주소가느이 변환이 가능하다
4) MMU는 컴퓨터가 부팅될때 한번만 사용된다

4번
(1) 한계레지스터
(2) 베이스 레지스터

P.205

1번 장치계층구조 도식도 채우기
(1) 레지스터
(2) 캐시메모리
(3) 메모리
(4) 보조기억장치

2번 캐시메모리설명중 옳지않은 것은 (4)번
1) 캐시메모리는 CPU가 사용할법한 데이터를 저장한
2) 케시메모리는 참조지역성성의 원리에 입각해 데이터를 가져와 저장한다
3) 캐시메모리는 메모리와 CPU사이에 위치합니다
4) 캐시적중률이 높으면 캐시메모리 성능이 떨어진다

0개의 댓글