아키텍처 저장소 메모리 계층 정리

메모리 계층

현재 시스템 아키텍처에서 저장소의 계층적 배열을 메모리 계층이라고 합니다. 컴퓨터 프로그램에서 메모리 인접성을 활용하도록 설계되었습니다. 계층의 각 수준은 속도가 빠르고 대기 시간이 짧으며, 낮은 수준보다 크기가 작습니다. 대부분의 최신 CPU는 매우 빠르기 때문에 대부분의 프로그램 작업 부하에서 메모리 액세스의 참조 위치, 계층 간 캐싱 및 메모리 전송 효율성은 처리 속도의 실질적인 제한이다. 따라서 CPU는 대부분의 시간을 유휴 상태로 보내 메모리 I/O가 완료될 때까지 기다립니다. 메모리 계층 대부분의 컴퓨터의 메모리 계층은 다음과 같습니다. * 프로세서 레지스터 – 가능한 가장 빠른 액세스(일반적으로 CPU 사이클 1개), 크기 * 레벨 1(L1) 캐시의 수백 바이트 – 보통 몇 사이클(일반적으로 수십 개의 Computing Essentials 2004 Chapter 6 Secondary Storage Kbytes * L2) 캐시 – 더 높은 latences).Y x 2 ~ 10배, 512KB 이상 * L3(Level 3) 캐시 – (옵션) L2보다 대기 시간이 길며, 여러 MB의 * 기본 메모리(DRAM)는 수백 사이클이 걸릴 수 있지만, 수 기가바이트 *온라인 대용량 스토리지 – 보조 스토리지일 수 있습니다. *오프라인 대용량 스토리지 – 3차 및 오프라인 스토리지 이것은 일반적인 메모리 계층 구조입니다. 다른 많은 구조물들은 유용하다. 예를 들어, 페이징 알고리즘은 컴퓨터 아키텍처를 설계할 때 가상 메모리의 수준으로 간주될 수 있으며 온라인과 오프라인 스토리지 사이의 니어라인 스토리지 수준을 포함할 수 있다. 메모리 계층의 최상위 레벨에는 CPU의 범용 레지스터가 있다. 레지스터를 사용하면 데이터에 가장 빠르게 액세스할 수 있습니다. 레지스터 파일은 메모리 계층에서 가장 작은 메모리 객체이기도 하다. 레지스터를 추가하는 것이 사실상 불가능하기 때문에 .registers는 가장 비싼 메모리 위치이기도 하다. Level One Cache 시스템은 메모리 계층에서 다음으로 성능이 높은 하위 시스템입니다. 레벨 1 캐시 크기는 CPU에 고정되어 있으므로 확장할 수 없지만 캐시 메모리의 바이트당 비용은 레지스터의 바이트당 비용보다 훨씬 낮습니다. 캐쉬 레지스터에서 사용할 수 있는 것보다 훨씬 더 많은 스토리지를 포함하기 때문입니다. 레벨 2 캐시는 일부 CPU에 있으며, 다른 CPU에는 캐시를 통합하는 것이 시스템 설계자의 작업입니다. 예를 들어, 대부분의 펜티엄 II, III, IV CPU는 CPU 패키지의 일부로 레벨 2 캐시를 가지고 있지만 인텔의 셀러론 칩은 레벨 1이 아니다. 일반적으로 레벨 2 캐시는 레벨 1 캐시보다 훨씬 큽니다. Intel이 레벨 2 캐시를 CPU 패키지의 일부로 포함하는 CPU에서는 캐시를 확장할 수 없습니다. Level Two Cache의 모든 바이트에서 CPU 비용을 상각하기 때문에 Level 1 Cache보다 여전히 저렴합니다. 레벨 2 캐시가 외부에 있는 시스템에서 많은 시스템 설계자들은 최종 사용자가 캐시 크기를 선택하고 크기를 업그레이드할 수 있도록 한다. 경제적인 이유로 외부 캐시는 컴퓨팅 에센셜 2004 Chapter 6 Secondary Storage로 CPU 패키지의 일부인 캐시보다 실제로 더 비싸지만 트랜지스터 수준의 비트 당 비용은 패키지 내 캐시와 동일하다.