메모리 구조 - 메모리 시스템의 이해

패스트캠퍼스에서 컴퓨터 구조 강의 를 듣고 스스로 공부한 내용을 정리하고 있습니다.

메모리 계층

기억장치는 CPU에 의하여 시행될 프로그램이 저장되는 곳으로 아래와 같이 세 부분으로 구성되어 있다.

  • 주 기억장치 main memory unit

    • mother board 에 장작된다. RAM + ROM

    • RAM random access memory

      • 비교적 대용량이며

      • 접근 속도가 엄청 빠르다.

      • 하지만 컴퓨터 재부팅시 사라지는 휘발성 메모리.

    • ROM read only memory

      • 읽기전용메모리. 주 기억장치의 일종이다.

  • 캐쉬 메모리 cache memory

    • 컴퓨터가 데이터에 접근할 때 프로세스 논리회로에 접근하는 시간은 주기억장치에 접근하는 시간보다 훨씬 빠르다.

    • 따라서 MMU & CPU 를 배치하는데 이 근처에 바로 캐시메모리를 배치한다.

    • 현재 진행되고있는 프로그램이나 사용빈도가 높은 임시데이터를 저장하는 용도로 캐쉬 메모리를 사용한다.

    • locality : 사람이 익숙한 길, 가던 길을 계속 가는 것처럼, 컴퓨터도 쓰던 메모리 데이터만 자주 쓴다.

  • 보조기억장치 auxiliary memory unit

    • 비교적 속도가 느리지만

    • 대용량의 자료 보관이 가능하다.

    • 보조기억장치 내의 자료는 필요한 경우에 주 기억장치로 옮겨져야 한다. : loading

      • 컴퓨터 부팅시에 ROM 이 보조기억장치의 자료를 주기억장치으로 이동시킨다.

    • Magnetic Tape, USB, SD card : 필요한 파일의 생성 및 삭제가 가능

    • Magnetic drum, disk : backup 저장장치로 주로 사용된다.

    • 코어 메모리, magnetic bubbble, CCD(Charge coupled device) 등의 대용량 저장장치

왜 컴퓨터 메모리를 계층별로 나눠서 사용할까?

위에서 메모리의 계층을 살펴 보았는데, 그렇다면 왜 컴퓨터는 이렇게 메모리를 나눠서 사용하는 것일까? 그냥 한곳에다가 다 때려박으면 안되는걸까?

  • 그 이유는 입출력의 경제성 때문이다.

  • 컴퓨터의 성능 때문이다.

  1. 일단 프로그램이 실행되면 CPU는 캐시메모리로 접근한다.

    1. 내가 원하는 정보가 있니? -> Hit 면 바로 빠르게 response / Miss 면 메인 메모리로 접근

  2. 캐시메모리에 원하는 정보가 없으면 메인메모리로 접근한다.

CPU는 기본적으로 캐시메모리와 메인메모리에만 접근하고 I/O Processor 에는 접근하지 않는다. CPU 가 여기까지 관여하면 성능상 이슈가 너무 크기 때문임! 따라서 보조기억장치에 있는 데이터를 불러와 처리하는 작업은 메인메모리를 통해서 이루어진는데, 이때 처리속도를 비교하면, 캐시메모리는 메인메모리에 비해서 1000배 빠른 속도를 가진다.

주 기억장치

종류

  • SRAM

    • Static RAM

    • 전원이 연결되어있는 동안은 정보를 유지한다. Flip-Flop 으로 구성됨

    • 사용이 편리하고 읽기와 쓰기 시간이 짧다.

    • 캐시 메모리에 주로 사용됨

  • DRAM

    • 부트스트랩 로더 bootstrap loader

    • 전원의 on/off 와 무관하게 작동되기 때문에 불변하는 상수의 표 등이 저장될 수 있다.

    • 일반적인 주기억장치에 이용됨

하나의 메인보드에 디자인 된 ROM 과 RAM

  • 가운데 제일 큰 부분 : DRAM -> 메인메모리 역할

  • 제일 오른쪽 검정색 칩 부분 : ROM 은 메인메모리에 비해 크기가 작다.

RAM 의 동작원리

  1. MAR memory address register 에서 입력정보를 받아서 주소 디코더로 전달

  2. 주소 디코더는 주소정보를 해석한다.

  3. RAM 에서 칩선택신호, 읽기신호, 쓰기신호를 분석해서 RAM 동작을 실행한다.

  4. MBR memory buffer register 를 통해서 결과 데이터를 입출력 한다.

보조 기억장치

주요 특성

  • 접근시간

    • 메모리 내의 기억장소에 도달해서 그 내용을 얻는데 요구되는 평균적인 시간을 의미한다.

    • 시크타임

      • read/write head 가 지정된 기억장소에 도달하는데 소요되는 시간

    • 트랜스퍼 타임

      • 추출된 데이터를 장치 내부 혹은 장치 밖으로 필요한 곳으로 전송하는데 요구되는 시간

    • 레코드

      • 일반적으로 데이터가 기록되는 단위

      • 시크타임을 체크하게 되는 기준

      • 일정한 길이의 수치 또는 문자집합

    • 전송률 : 장치 레코드의 시작점에 위치한 다음 단위 시간 당 전송할 수 있는 문자나 위드의 수

  • 실린더 : 트랙 넘버가 같은 층들의 모음

Last updated