메모리는 접근 속도, 메모리 용량의 크기, 용도에 따라 레지스터, 캐시 메모리, 주기억장치, 보조기억장치로 분류된다. 레지스터는 CPU 내부에 존재하며 중앙 처리 장치의 처리 속도와 비슷한 액세스 시간을 갖습니다. 그리고 캐시 메모리는 중앙 처리 장치가 메인 메모리에 액세스할 때 속도 차이를 줄이기 위해 사용됩니다. 또한 실행 중인 프로그램의 명령과 데이터를 저장합니다. 메모리 용량은 작지만 액세스 시간은 메인 메모리보다 5~10배 빠르다.
주기억장치는 중앙처리장치가 직접 데이터를 읽고 쓸 수 있는 장치로 레지스터나 캐시 메모리보다 용량이 크다. 보조 메모리는 메인 메모리보다 액세스 시간이 느리지만 메모리 용량이 큽니다. 이 속도 차이는 약 1000배입니다.
메모리 장치의 계층 구조를 보면 위로 올라갈수록 데이터를 읽고 쓰는 접근 속도는 빨라지지만 메모리 용량은 줄어들고 비트당 저장 비용은 높아진다. 따라서 메모리 장치의 구성 비용과 성능을 고려할 때 중앙 처리 장치에서 사용하는 데이터는 메모리 장치를 효율적으로 사용하기 위해 상위 계층에 저장되어야 합니다.
중앙 처리 장치에서 프로그램을 실행하려면 보조 메모리에 있는 프로그램을 먼저 실행하고 프로그램 코드를 주 메모리로 이동해야 합니다. 중앙처리장치가 보조기억장치에 직접 접근할 수 없기 때문이다.
또한 중앙처리장치가 메인 메모리에서 데이터를 가져올 때 캐시 메모리에 먼저 저장된다. 이렇게 하면 중앙 처리 장치에 필요한 데이터를 캐시 메모리에서 찾을 수 있으며 메인 메모리에서 가져올 때보다 훨씬 빠르게 액세스할 수 있습니다.
주 메모리는 컴퓨터가 실행되는 동안 프로그램, 데이터 및 작업의 중간 결과를 저장합니다. 내부 버스로 연결되어 중앙처리장치와 직접 데이터를 교환할 수 있으며 현재는 RAM(Random Access Memory)과 ROM(Read Only Memory)을 포함하는 반도체 기억장치를 사용한다.
RAM은 전원 공급이 중단되면 데이터가 사라지는 휘발성 메모리입니다. 정보의 위치에 관계없이 정보를 기록 및 해제하고 일정 시간 내에 읽고 쓸 수 있는 랜덤 액세스 메모리입니다. 제조 기술에 따라 DRAM(Dynamic)과 SRAM(Static)으로 나뉩니다.
ROM은 저장된 프로그램과 데이터만 읽는 기억장치로, 전원이 공급되지 않아도 내부의 데이터를 영구적으로 보존할 수 있는 비휘발성 메모리다. 따라서 시스템 운영 중에 변경되지 않는 프로그램이나 데이터를 저장하기 위해 사용합니다. 또한 부팅 시 시스템을 확인하고 주변 장치를 초기화하는 역할도 하며 주로 BIOS(Basic Input Output System)에서 사용된다.
캐시 메모리는 주기억장치보다 빠르기 때문에 주기억장치에서 프로그램이나 데이터를 가져오는 데 많은 시간이 걸린다. 이때 캐시메모리는 중앙처리장치에서 주기억장치로의 긴 접근시간으로 인한 성능저하를 방지한다. 따라서 캐시 메모리는 중앙 처리 장치와 메인 메모리 사이에 위치합니다.
캐시 메모리는 메인 메모리의 일부만 저장합니다. 프로그램이나 데이터가 메인 메모리에서 검색되면 중앙 처리 장치는 먼저 캐시 메모리를 확인하여 원하는 정보가 있는지 확인합니다.
이때 원하는 정보가 있으면 캐시 적중(cache hit), 없으면 캐시 미스(cache miss)라고 한다. 캐시 메모리에 원하는 정보가 존재할 확률을 나타내는 캐시 적중률이 있으며, 캐시 적중률이 높을수록 성능이 좋습니다.
보조기억장치는 주기억장치에 연결되어 주기억장치에 담을 수 없는 프로그램과 데이터를 저장한다. 특정 프로그램이 실행될 때 해당 프로그램의 코드와 데이터를 보조기억장치에서 주기억장치로 옮겨 중앙처리장치가 읽을 수 있도록 저장한다.
보조 저장 장치는 저장된 정보의 접근 방식에 따라 SASD(sequential access storage device)와 DASD(direct access storage device)로 구분된다.