[혼공컴운] 3주차(1)_chapter06, 숙제

Erdos·2025년 7월 11일
0

혼공단

목록 보기
3/17
post-thumbnail

저자 github

글이 길어져서 숙제는 맨 처음으로, 이번 주 내용은 2개로 분리해서 작성했다. 이번 주로 컴퓨터 구조가 끝났다.
동영상 22강. 레지스터를 직접 조작하여 입출력 해보기(추가 강의)가 꽤 흥미로웠다.🤔 아트메가 128! 글로 이해하면 정말 어려운데, 실사례를 보니까 이해가 아주 조금 더 되는 느낌.

그건 그렇고 SRAM과 PIC의 사진이 매우 비슷해서 혹시 두 개를 섞어 놓으면 어떻게 구분하지? 라는 쓸데없는 궁금함이 생겼다.

  • SRAM은 주로 메모리 확장이나 버퍼용
  • PIC은 임베디드 시스템 제어용
    (당연히) 용도와 구조가 다름!

3주차

  • Chapter 06 ~ 08
  • p. 185의 확인 문제 3번, p. 205의 확인 문제 1번 풀고 인증하기
  • Ch.07(07-2) RAID의 정의와 종류를 간단히 정리해 보기

숙제


1. 기본숙제: p. 185의 확인 문제 3번

DRAM

  • 주로 주기억장치로 활용됩니다(2)
  • 대용량화하기 유리합니다(3)

SRAM

  • 주로 캐시 메모리에 활용됩니다(1)
  • 집적도가 상대적으로 낮습니다(4)

2. 기본숙제: p. 205의 확인 문제 1번


삐뚤어지게 그린 느낌..

3. 추가숙제: Ch.07(07-2) RAID의 정의와 종류를 간단히 정리해 보기

  • 정의: 데이터의 안정성 혹은 높은 성능을 위해 여러 개의 물리적 보조 기억 장치를 마치 하나의 논리적 보조 기억 장치처럼 사용하는 기술

  • 종류: 대중적으로는 RAID 0, RAID 1, RAID 4, RAID 5

RAID 0RAID 1RAID 4RAID 5
장점데이터가 분산되어 데이터를 읽고 쓰는 속도가 빠름복구가 매우 간단RIAD 1처럼 완전한 복사본을 만드는 대신 parity bit을 두는 방식RAID 4 병목현상 해결
단점하드 디스크 중 하나에 문제가 생긴다면 모든 하드디스크의 정보를 읽는데 문제 발생사용가능한 용량이 줄어든다parity bit에서도 데이터를 읽고 쓰면서 병목현상 발생

06 메모리와 캐시 메모리

  • cpu는 램으로부터 명령어와 데이터들을 갖고 와서 실행한다.
  • 램은 실행할 대상을 저장한다(단, 휘발성)
  • 보조기억장치는 전원이 꺼져도 저장된 내용을 기억할 수 있다.(비휘발성)

6-1 RAM의 특징과 종류

RAM의 하드웨어적 특성과 종류

RAM의 특징

  • 휘발성 저장장치(volatile memory)
  • 일반적으로 실행할 대상을 저장함
    cf) 보조기억장치: 비휘발성 저장장치(non-volatile memory), 일반적으로 보관할 대상을 저장함.

RAM의 용량과 성능

  • RAM의 용량이 적다면, 보조 기억 장치에서 실행할 프로그램을 가져오는 일이 잦아지면서 실행시간이 길어진다.
  • RAM 용량이 크면 많은 프로그램들을 동시에 빠르게 실행하는 데 유리하다. 단, 용량이 필요 이상일 때, 속도가 그에 비례하여 무조건 증가하지는 않는다.

RAM의 종류

DRAM(Dynamic RAM)

  • 시간이 지나면 저장된 데이터가 점차 사라지는 RAM
  • 일반적으로 사용하는 메모리
  • 데이터 소멸을 막기 위해 주기적으로 재활성화(refresh) 해야 함
  • 주기억장치(RAM)
  • 소비전력이 낮고, 저렴, 집적도가 높아 대용량 설계에 유리함.
    집적도: 모아 쌓음, 압축률

SRAM(Static RAM)

  • 시간이 지나도 저장된 데이터가 사라지지 않는다.(전원이 공급되는 동안, 비휘발성 메모리는 아니다.)
  • 주기적으로 데이터 재활성화 필요 없음
  • 일반적으로 DRAM보다 속도가 더 빠르다.
  • 상대적으로 소비 전력이 높고 가격이 높고 집적도가 낮아서
    대용량 설계할 필요는 없으나 빨라야 하는 장치 -> 캐시 메모리에 사용

SDRAM(Synchronous Dynamic RAM)

  • DRAM의 발전된 형태
  • 클럭 신호와 동기화된 램
  • 클럭에 맞춰 동작하며 클럭마다 CPU와 정보를 주고 받을 수 있는 DRAM

DDR SDRAM(Double Data Rate SDRAM)

  • 최근 흔히 사용되는 RAM → DDR4 SDRAM
  • 대역폭(data rate)을 넓혀 속도를 빠르게 만드는 SDRAM
  • 대역폭: 데이터를 주고받는 길의 너비
    • DDR SDRAM은 SDRAM의 대역폭의 2배
    • DDR2 SDRAM은 SDRAM의 대역폭의 4배
    • DDR3 SDRAM은 SDRAM의 대역폭의 8배
    • DDR4 SDRAM은 SDRAM의 대역폭의 16배

참고: DDR5 기존의 DDR보다 용량과 대역폭 향상, 전압은 낯춤. 본격적 보급은 21년도

6-2 메모리의 주소 공간

cpu와 실행 중인 프로그램은 현재 메모리 몇 번지에 무엇이 저장되어 있는지 다 알지는 못한다.
그 이유는

  • 새롭게 실행되는 프로그램은 새로운 메모리에 적재
  • 실행이 끝난 프로그램은 메모리에서 삭제
  • 같은 프로그램을 실행하더라도 실행할 때마다 메모리 주소가 바뀜

물리 주소와 논리 주소

물리 주소(physical address)

  • 정보가 실제로 저장된 하드웨어상의 실제 주소

논리 주소(logical address)

  • 실행 중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소

물리 주소와 논리 주소의 변환

  • 메모리 관리 장치(MMU: Memory Management Unit)
  • CPU와 주소 버스 사이에 위치함
  • MMU는 논리 주소와 베이스 레지스터(프로그램의 기준 주소) 값을 더하여 논리 주소를 물리 주소로 변환한다.

중간 정리

  • 베이스 레지스터:
    프로그램의 가장 작은 물리 주소(프로그램의 첫 물리 주소)를 저장하는 셈
  • 논리 주소:
    프로그램의 시작점으로부터 떨어진 거리하는 셈

메모리 보호 기법

  • 한계 레지스터(limit register):
    • 논리 주소 범위를 벗어나는 명령어 실행을 방지하고 실행 중인 프로그램이 다른 프로그램에 영향을 받지 않도록 보호하는 방법
    • 논리 주소의 최대 크기 저장
  • CPU는 메모리에 접근하기 전, 접근하고자 하는 논리 주소가 한계 레지스터보다 작은지를 항상 검사한다.
  • 베이스 레지스터 값 \leq 프로그램 물리 주소 <\lt 베이스 레지스터 값 + 한계 레지스터 값
  • 만약, CPU가 한계 레지스터보다 높은 논리 주소에 접근하려고 하면,
    인터럽트(트랩)를 발생시켜 실행을 중단한다.

6-3 캐시 메모리

CPU가 메모리에 접근하는 시간은 CPU 연산 속도보다 압도적으로 느리다

저장 장치 계층 구조(memory hierarchy)

  • CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다
  • 속도가 빠른 저장 장치는 저장 용량이 작고, 가격이 비싸다

캐시 메모리(cache memory)

  • CPU와 메모리 사이에 위치하고, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치
  • CPU의 연산 속도와 메모리 접근 속도의 차이를 줄이기 위한 저장 장치
  • 계층적 캐시 메모리(L1, L2, L3 캐시)

  • 일반적으로 L1, L2 캐시는 코어 내부, L3은 코어 외부에 위치
  • → 이 순으로 용량은 커지고 속도는 느려진다.

🎸 추가(이런 게 있다 정도로만 인식하기)
멀티 코어 프로세서의 캐시 메모리

분리형 캐시

참조 지역성 원리

캐시 메모리는 메모리보다 용량이 작다
그렇다면 뭘 저장해야 할까?
CPU가 자주 사용할 법한 내용을 예측하여 저장

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

  • 캐시 미스: 예측이 틀려 메모리에서 필요한 데이터를 직접 가져와야 하는 경우. 성능 하락

  • 캐시 적중률
    캐시 히트 개수 / (캐시 히트 개수 + 캐시 미스 개수)

    • 요즘 캐시 적중률은 적어도 80%이상이라고 한다.
  • CPU가 사용할 법한 데이터는 어떻게 알 수 있을까?

  • 참조 지역성의 원리(locality of referencem principle of locality)

    • CPU가 메모리에 접근할 때의 주된 경향을 바탕으로 만들어진 원리
    • CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향(temporal locality). 예를 들어 변수.
    • CPU는 접근한 메모리 공간 근처를 접근하려는 경향. (공간 지역성)(spatial locality)
profile
수학을 사랑하는 애독자📚 Stop dreaming. Start living. - 'The Secret Life of Walter Mitty'

0개의 댓글