Memory Classification

MinHwi·2022년 5월 6일
0

컴퓨터구조론

목록 보기
3/4

이 포스팅은 숙명여자대학교 김윤진 교수님의 컴퓨터 구조론 특강을 바탕으로 작성되었습니다.

이 포스팅에서 다루는 내용

  • CSE 입장에서 필요한 메모리 분류 체계
  • 컴퓨터 시스템에서 메모리와 CPU의 관계

우리는 메모리 설계자가 아니다. 메모리 설계의 지식을 빠삭하게 알 필요 없다. 우리는 컴퓨터 사이언스 엔지니어이고, 우리가 메모리를 볼 때 가장 눈 여겨 보아야 할 것은 CPU와 그 메모리가 어떤 관계를 맺는지이다.

메모리 분류 기준

  1. Main/local memory : CPU와 직접 연결되는 메모리 (RAM)
    1. Byte-level read & write
    2. Fast read & write operation
  2. Secondary memory : CPU와 연결되기에는 느리므로 부가적인 메모리로 사용 (NAND Flash Memory)
    1. Nonvolidate, 비휘발성
    2. Both readable & writable, 속도 무관
    3. Large capacity, 최소 GB 단위

Main, local 메모리는 CPU와 직접 연결되는 메모리로, 메모리 계층 구조의 상위를 차지하는 메모리들이다. 이 메모리를 만족하는 메모리 장치는 Byte-level read & write와 Fast read & write operation가 가능해야 한다. Byte-level read & write가 왜 기준이 되냐면 CPU는 byte를 단위로 세세한 연산을 하기 때문이다. 따라서 CPU와 연결되는 메모리 장치들은 바이트 단위의 입출력이 가능해야 한다. 프로그램에 사용되는 자료형의 최소 크기가 1 byte이다. 1 byte 단위로 access를 못하면, 우리가 작성한 코드를 자료형 단위로 처리할 수 없기 때문에 바이트 단위의 입출력을 꼭 만족해야 한다. 빠른 입출력은 말할 것도 없다.

두 조건을 만족하지 못하는 장치들은 Main, Local 메모리로 사용할 수 없다. 하지만 비휘발성, 동시 입출력, 최소 GB 단위를 저장할 수 있다는 조건을 갖춘다면 Secondary Memory로 사용될 수 있다. 디스크나 보조 기억 장치가 그 예이다.

이러한 분류 기준은 메모리 기술의 발전에 따라 얼마든지 바뀔 수 있다. 이전에 사용되던 메모리인 ROM과 NOR Flash Memory는 메모리 기술의 발전에 적응하지 못하여 도태된 기술들이다. 지금 사용하고 있는 RAM이나 NAND Flash Memory도 더 나은 메모리가 개발된다면 얼마든지 바뀔 수 있다. 메모리를 볼 때 기억할 것은 해당 메모리 장치가 CPU와 어떤 관계를 맺는지이다.

컴퓨터 시스템에서 메모리와 CPU의 관계


CPU는 GPP라고 부르기도 한다. CPU를 다루는 곳들이 많다보니 동의어도 많음. General Purpose Processor이라는 뜻인데 왜 General Purpose인지는 CPU를 다룰 때 이야기하도록 한다. (말투 넘 싸가지 없는듯..)

GPP와 직접 메모리 접근을 하는 메모리는 Main Memory와 Local Memory이다. 아까 위에서 살펴본 기준처럼 Byte Level이고 빠른 입출력이 가능하다. 여기에 Random Access라는게 하나 더 붙었는데, Random Access는 임의 접근이라는 뜻으로 순차 접근과 반대되는 개념이다. 그러니까 순차 접근은 처음부터 끝까지 하나씩 검사해서 탐색하는 방법이고, 임의 접근은 해당 데이터가 저장된 주소값을 찍어서 한번에 접근하는 방식이다. Random Access Memory의 Random도 그 뜻이다. RAM의 이름에 대해서는 잠시 후에..

Secondary Memory는 GP에서 직접 접근하지 않는다. (당연함. 개느림) Secondary Memory도 위의 세 조건을 모두 만족했기 때문에 사용될 수 있는 것이다. 저 조건 마저 만족하지 않는다면 그대로 도태된다. 디스크에서 메인 메모리로 올라오는 부분은 운영체제에서 배우고 있다. 가상 메모리 관리 ... 어렵다 ...

참고 : RAM 이름의 뜻

Random Access Memory다. 이름을 보면 직관적으로 임의 접근이 가능한 메모리구나 라는 생각이 든다. 그럼 다른 메모리들은 임의 접근이 안되나? 아니다 요즘 나오는 메모리들 다 임의 접근 가능하다. RAM이 처음 개발되었을 당시에는 유일하게 임의 접근이 가능했고 유일하게 읽기 쓰기가 둘다 가능했다. 당시에는 임의 접근이 가능한 유일한 메모리라는 뜻에서 RAM이라는 이름이 붙었지만, 오늘날 RAM은 아까 살펴본 기준처럼 Byte-level 접근이 가능하고 Fast RW가 가능하여 Main, Local memory에 적합한 메모리다.

profile
딩가딩가 백엔드 개발자

0개의 댓글