#6. 컴퓨터 구조 및 운영체제

Maengkkong·2023년 12월 12일
0

스터디

목록 보기
6/14

RAM의 특징과 종류

RAM의 특징
RAM 실행할 프로그램의 명령어와 데이터가 저장
: 휘발성 저장 장치(Volatile memory)
: 실행할 대상을 저장

비휘발성 장치(Non-Volatile memory)
: SSD, CD-ROM, USB 메모리
: 보관할 대상 저장
: CPU 보조기억장치에 직접 접근하지 못합니다.
: 보조기억장치 > RAM으로 복사 > 저장 > 실행

RAM의 용량과 성능

RAM은 용량이 많을 수록 더 많은 데이터를 저장할 수 있다.
RAM의 용량이 많으면 프로그램 실행 속도가 빨라진다.
다만, 프로그램 실행 속도가 비례하여 증가하지 않는다.

RAM의 종류

1.DRAM(Daynmic RAM)
: 시간이 지나면 내용이 점차 사라지는 RAM
: 일정 주기로 데이터를 재활성화(재저장)해야 합니다.
: 소비 전력 낮음 / 저렴함
: 집적도가 높아 > 대용량 설계 용이

2.SRAM(Static RAM)
: 내용이 사라지지 않는 RAM
: DRAM보다 속도가 빠르다.
: 전원이 꺼지면 데이터가 사라진다.
: 소비 전력 높음 / 비쌈
: 집적도가 낮아 > 대용량 필요 X > 속도가 빠른 저장 장치(캐시 메모리)

3.SDRAM(Synchronous Dynamic RAM)
: 클럭 신호와 동기화 = 클럭마다 CPU와 정보를 주고 받을 수 있다.

4.DDR SDRAM(Double Data Rate SDRAM)
: SDRAM의 대역폭을 넓혀 속도를 빠르게 만듦
: '대역폭(Data Rate)' = 데이터를 주고받는 길의 너비
: 한 클럭 당 두 번씩 CPU와 데이터를 주고받음 > 전송 속도가 2배 빠름
: SDR SDRAM(Single Data Rate SDRAM) = 한 클럭 당 하나씩 데이터를 주고 받음

메모리의 주소 공간

물리 주소(physical address)
: 메모리가 사용하는 주소 = 실제 저장된 하드웨어상의 주소

논리 주소(Logical address)
: CPU와 실행중인 프로그램 사용 주소

  • 프로그램마다 같은 논리 주소가 있을 수 있다.
  • CPU는 논리 주소를 받음 > 해석 > 연산한다.

논리 주소와 물리 주소 사이에 변환이 있어야 한다.
: 이 변환은 메모리 관리 장치(MMU : Memory Managment Unit) 하드웨어라고 한다.

논리 주소 > 물리 주소 변환 과정

CPU -> 논리 주소 발생 -> MMU : 논리 주소 + 레지스터 값 = 물리 주소 변환 -> 물리 주소 -> 메모리

베이스 레지스터
: 프로그램에서 가장 작은 물리 주소
: 첫 물리 주소를 저장

논리 주소
: 프로그램의 시작점으로부터 떨어진 거리

메모리 보호 기법

한계 레지스터(Limit register)
: 논리 주소 범위를 벗어나는 실행을 방지
: 실행 중인 프로그램이 다른 프로그램에 영향을 받지 않도록 보호
: 논리 주소의 최대 크기를 저장

프로그램의 물리 주소 범위
: 베이스 레지스터 값 이상
: 베이스 레지스터 값 + 한계 레지스터 값 미만

  • 베이스 레지스터 = 논리 주소의 시작점
  • 한계 레지스터 = 논리 주소의 최대 크기
    : 논리 주소가 한계 레지스터보다 낮아야 한다.
    : 더 높은 논리 주소에 접근하려고 하면 인터럽트(트랩)를 발생 시켜 중단한다.
    : 프로그램의 독립적인 실행 공간 확보
    : 다른 프로그램 침범하는 것을 보호

캐시 메모리

CPU가 메모리에 접근하는 시간은 CPU가 연산하는 속도보다 느리다.
이를 극복하기 위한 저장 장치가 캐시 메모리이다.

저장 장치 계층 구조(Memory Hierarchy)
CPU에 얼마나 가까운가를 기준으로 나눈 계층 구조

캐시 메모리(Cache Memory)
CPU의 연산 속도와 메모리 접근 속도의 차이를 줄이기 위한 저장 장치
: CPU와 메모리 사이에 위치
: 레지스터보다 용량이 크다
: 메모리보다 빠른 SRAM 기반 저장 장치

  • 캐시 메모리들은 CPU(코어)와 가까운 순서대로 계층 구성
    : 코어와 가장 가까운 캐시 메모리 = L1(Level 1)캐시 > L2 캐시 > L3 캐시
  • 캐시 메모리 용량
    : L1 < L2 < L3
  • 캐시 메모리 속도
    : L3 < L2 < L1
  • 가격
    : L3 < L2 < L1

CPU가 메모리 내 데이터가 필요 > L1 > L2 > L3 순으로 해당 데이터가 있는지 알아본다.

  • L1 캐시 / L2 캐시 : 코어마다 고유한 캐시 메모리에 할당
  • L3 : 여러 코어가 공유하는 형태

L1 캐시 (= split cache)
: 접근 속도를 빠르게 만들 위한 명령어만 저장하는 L1I 캐시
: 데이터만 저장하는 L1D 캐시

참조 지역성 원리(locality of reference, principle of locality)

캐시 메모리는 CPU가 사용할 법한 대상을 예측하여 저장

1. CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.
: 시간 지역성(temporal locality)
2. CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다.
: 공간 지역성(spatial locality)

  • 캐시 히트(cache hit)
    : 자주 사용될 것으로 예측한 데이터가 실제로 들어맞아 캐시 메모리 내 데이터가 CPU에서 활용될 경우

  • 캐시 미스(cache miss)
    : 자주 사용될 것으로 예측하여 캐시 메모리에 저장했지만, 예측이 틀려 메모리에서 필요한 데이터를 직접 가져와야 하는 경우

  • 캐시 적중률(cache hit ratio)
    : 평균 85 ~ 95%
    : 캐시가 히트되는 비율
    : 캐시 히트 회수 / (캐시 히트 회수 + 캐시 미스 횟수)
    : 캐시 적중률이 높으면 CPU 메모리 접근 횟수를 줄일 수 있다.


혼자 공부하는 컴퓨터구조 + 운영체제
06. 메모리와 캐시 메모리 (178p - 205p)

0개의 댓글