메모리, 보조기억장치, 입출력장치

enjoy301·2023년 4월 10일
0

[책] 혼공컴운

목록 보기
3/3
post-thumbnail

RAM 💡


  • RAM에 명령어와 데이터가 저장됨
  • 휘발성 장치라, 프로그램을 보조기억장치에서 RAM으로 복사한 뒤 실행됨
  • 일반적으로 용량이 클수록 속도가 빠름

RAM의 종류

1. DRAM

  • Dynamic RAM의 준말
  • 시간이 지나면 저장된 데이터가 점차 사라짐
  • 전성비가 좋고 쌈

2. SRAM

  • Static RAM의 준말
  • 데이터가 안사라짐 but 비쌈
  • Cache Memory에 사용

3. SDRAM

  • Synchronous DRAM의 준말
  • 발전된 DRAM으로, 클럭에 맞춰 CPU와 정보 주고받을 수 있음

4. DDR SDRAM

  • SDRAM에서 대역폭을 늘려, 속도가 빠름
  • 한클럭당 여러개의 데이터를 주고받을 수 있음

Memory Address

메모리에 저장된 정보의 위치인 주소는 물리 주소논리 주소로 나뉜다.

  • 물리 주소: 메모리 하드웨어 상의 주소
  • 논리 주소: 프로그램 각각에게 부여된 0번지부터 시작되는 주소
  • 각 주소간 변환은 MMU라는 하드웨에 의해 수행됨

메모리 보호 기법

  • 베이스 레지스터에 프로그램의 가장 작은 물리 주소 저장
  • 한계 레지스터에 논리 주소의 최대 크기 저장
  • 논리 주소와 한계 레지스터를 비교하므로써 다른 프로그램 침범X

Cache Memory

  • 메모리의 데이터에 접근하는 시간이 느린 것을 극복하기 위함
  • 캐시 메모리는 CPU와 메모리 사이에 위치한 SRAM 기반 저장장치
  • L1, L2 캐시는 코어마다 고유하게 사용하고, L3 캐시는 여러 코어가 공유함

Memory Hierarchy

CPU와 가까운 저장장치일수록 빠르고 용량이 작고, 비싸다.

Locality of Reference

캐시 메모리는 캐시 적중률을 높여야 함.
→ Locality of Reference에 의해 메모리로부터 가져올 데이터를 정함

  • Temporal Locality: 최근에 접근했던 메모리 공간에 다시 접근 경향
  • Spatial Locality: 접근했던 메모리 공간 근처에 접근하려는 경향

보조기억장치


HDD

  • 자기적인 방식으로 데이터를 저장하는 방식
  • 데이터에 접근하는 시간은 탐색시간 + 회전지연 + 전송시간으로 계산함

플래시 메모리

  • 전기적인 방식으로 데이터를 저장하는 반도체 기반 장치
  • - 페이지 - 블록 - 플레인 - 다이로 구조화 됨
  • 한 셀에 저장할 수 있는 비트 수에 따라 SLC, MLC, TLC 타입으로 나뉨

입출력장치


입출력장치는 장치 컨트롤러장치 드라이버를 통해 컴퓨터와 연결됨

1. 장치 컨트롤러: 입출력장치를 동작하게 하는 하드웨어

  • CPU와 장치 사이에 통신 중개, error detection, 데이터 버퍼링의 기능을 함

  • 장치 컨트롤러는 데이터 레지스터(버퍼), 상태 레지스터, 제어 레지스터로 구성됨

2. 장치 드라이버: 장치 컨트롤러가 CPU와 정보를 주고 받을 수 있게 하는 프로그램

입출력 방법

프로그램 입출력

  • CPU가 프로그램 속 명령어로 입출력장치를 제어하는 방법

  • CPU가 외부 장치의 레지스터의 주소를 아는 방법에는 메모리 맵 입출력고립형 입출력이 있음

인터럽트 기반 입출력

  • 장치 컨트롤러가 인터럽트를 발생시켜 CPU가 인터럽스 서비스 루틴을 실행하게 하는 방법

  • PIC를 이용하여 다중 인터럽트의 우선순위를 고려하여 CPU에 인터럽트를 발생시킴

DMA 입출력

  • DMA 컨트롤러를 이용하여 메모리와 입출력장치가 직접 상호작용함

  • 시스템 버스와 구분된 입출력 버스를 통해 데이터를 전송함.

profile
싫지만 해야 하는데 어떡해

0개의 댓글