문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 기억장치 (문단 편집) === [[CPU]]와 메모리간의 접근성에 따른 분류 === CPU에 가까운 순서대로 [[레지스터]](CPU) - ([[캐시 메모리]]) - 주 기억 장치 - ([[캐시 메모리]]) - 보조 기억 장치로 나눌 수 있다. 일반적으로 용량이 작을수록 동작속도가 빠르며, 용량이 클수록 동작속도가 느리다. 반면 속도가 빠를수록 용량 대비 가격이 비싸지고, 느릴수록 싸진다. 즉, 빠른 속도가 요구되지만 많은 용량이 필요하지 않은 CPU내의 레지스터에는 고속, 고가의 기억장치를 사용하게 되고, 대용량의 자료를 영구적으로 보관하기 위해서는 저속, 저가, 대용량의 기억장치를 사용하게 된다. 간단히 레지스터에 있는 데이터를 읽는 것은 머릿속에 있는 기억을 떠올리는 행동으로, 주기억장치에 있는 데이터를 읽는 것은 책장에 꽂혀 있는 책에서 특정한 책을 찾아 내용을 읽는 행동으로, 보조기억장치에 있는 데이터를 읽는 것은 지구를 한 바퀴 돌아서 특정한 내용을 찾아오는 것으로 비유하곤 한다. 저장 비트당의 가격과 용량, 그리고 속도에 따라 계층을 구분하면 피라미드형 구조를 이루게 된다. 더 자세한 내용은 [[메모리 계층 구조]] 참조. || || || || || 레지스터 || || || || || || || || ||<-3> 캐시 메모리 || || || || || || ||<-5> 주 기억 장치 || || || || ||<-7> 버퍼(디스크 캐시) || || ||<-9> 보조 기억 장치 || * [[레지스터]] CPU의 일부로 CPU의 동작 속도와 동기화되어 작동한다. 사용자가 값을 읽고 쓸 수 있으며 동작 속도가 매우 빠르지만 수십~수백개의 정수형[* 시스템의 비트를 따라간다. 즉, 32비트 시스템이라면 32비트 정수, 64비트 시스템이라면 64비트 정수.]과 실수형 데이터만을 저장할 수 있다. [[플린 분류|SIMD]]를 지원하는 CPU는 SIMD 레지스터 역시 따로 제공한다. * 주 기억 장치(Main Memory) CPU에서 직접 접근이 가능한 메모리. 이 뜻은 '주기억장치 100번지의 내용을 레지스터 1번에 저장하라', 혹은 '레지스터 1번의 내용을 주기억장치 100번에 덮어써라'와 같은 명령이 가능하다는 뜻이다. 직접 접근이 가능하지만 상수를 쓰는 것 이외의 연산은 CPU에서 바로 수행할 수 없으며, 메모리의 값을 레지스터로 로드, 연산, 연산 결과 적용의 단계를 거쳐야 한다.[* 이는 CPU의 작동 단계인 Fetch-Decode-Execute-Write Back(Store)와 일치한다.] CISC CPU에서는 메모리의 값을 직접 변경하는 명령어를 제공하는것처럼 보이지만 내부적으로는 위 단계를 거친다. * 보조 기억 장치 CPU에서 직접 접근이 불가능한 메모리. 접근하려면 디바이스 드라이버와 시스템 콜을 통하여 기억장치의 특정 위치의 내용을 주기억장치로 로드(Load)한 뒤 읽어야 한다. 예를 들어 '0번 디스크 8번 트랙 12번 섹터 16번지의 값을 레지스터 1번에 저장하라'와 같은 명령이 불가능하다. 해당 내용을 읽으려면 '0번 디스크 8번 트랙 12번 섹터를 주기억장치 1024번지에 로드하라'는 시스템 콜을 먼저 호출한 후 메모리에서 '1024+16번지의 값을 레지스터 1번에 저장하라'와 같은 형태로 접근해야만 한다. CPU의 입장에서 보자면 보조기억장치는 여러 종류의 주변장치 중 하나이며 그 중 '저장 기능'을 지니고 있는 장치일 뿐이다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기