CPU 캐시 - 위키백과, 우리 모두의 백과사전 CPU 캐시 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 동적 CPU 메모리 캐시 그림 CPU 캐시 ( CPU cache [ 1 ] ) 는 CPU 구조에 메모리로 사용하도록 구성되었다. CPU 캐시는 메인 메모리에서 가장 자주 사용되는 위치의 데이터를 갖고 있는 크기는 작지만 빠른 메모리이다. 대부분의 메모리 접근은 특정한 위치의 근방에서 자주 일어나는 경향이 있기 때문에, 데이터를 크기는 작지만 속도가 빠른 캐시메모리에 복사해 두면 평균 메모리 접근 시간을 아낄 수 있다. 프로세서가 메인 메모리를 읽거나 쓰고자 할 때는, 먼저 그 주소에 해당하는 데이터가 캐시에 존재하는지를 살핀다. 만약 그 주소의 데이터가 캐시에 있으면 데이터를 캐시에서 직접 읽고, 그렇지 않으면 메인 메모리에 직접 접근한다. 이때 대부분의 프로세서는 메인 메모리에 직접 접근해서 전송된 데이터를 캐시에 복사해 넣음으로써 다음번에 같은 주소에 프로세서가 접근할 때 캐시에서 직접 읽고 쓸 수 있도록 한다. 목차 1 현대의 프로세서 캐시 계급 1. 1 특별한 캐시 1. 1. 1 빅팀 캐시 1. 1. 2 트레이스 캐시 1. 2 다중 수준의 캐시 1. 2. 1 외부 캐시와 내부 캐시 2 같이 보기 3 각주 4 외부
캐시 계급 1. 1 특별한 캐시 1. 1. 1 빅팀 캐시 1. 1. 2 트레이스 캐시 1. 2 다중 수준의 캐시 1. 2. 1 외부 캐시와 내부 캐시 2 같이 보기 3 각주 4 외부 링크 현대의 프로세서 캐시 계급 [ 편집 ] 현대의 프로세서는 칩 위에 서로 작용하는 다양한 캐시를 담고 있다. 특별한 캐시 [ 편집 ] 파이프라인 CPU는 파이프라인 안의 여러 포인트로부터 메모리를 접근한다. : 명령어 페치, 가상을 물리로 변환하는 주소 번역, 데이터 페치. 이 자연스러운 디자인은 이러한 포인트 각각에 다른 물리 캐시를 사용하기 위한 것이며 어떠한 물리 리소스도 이 파이프라인 안의 두 포인트를 서비스하도록 설계되어 있지는 않다. 그러므로 파이프라인은 자연스레 적어도 세 개의 구분된 캐시 ( 명령어, TLB, 데이터 ) 에서 작업이 끝나며 각각 저마다 특정한 역할을 수행한다. 빅팀 캐시 [ 편집 ] 빅팀 캐시 ( victim cache ) 는 충돌이나 용량 문제로 CPU 캐시에서 빠져나간 블록을 유지시키는 데 이용하는 캐시이다. 빅팀 캐시는 메인 캐시와 리필 ( refill ) 패스 사이에 위치해 있으며 캐시 쪽에서 나온 문제가 된 블록만 유지시킨다. 이 기술은 캐시에서 초래한 불리한 조건을 줄이기 위해 사용한다. HP PA7200에 있
써 실행 중에 있는 분기들을 걱정하지 않아도 프로세서의 명령어 페치 장치가 여러 개의 기본 블록을 페치할 수 있다. 트레이스 캐시는 인텔 펜티엄 4와 같은 프로세서에서 쓰이며 이미 디코딩된 마이크로 연산들을 저장하거나 복잡한 x86 명령어를 번역하며, 추후 명령어가 필요하면 다시 디코딩할 필요가 없어진다. 다중 수준의 캐시 [ 편집 ] 또다른 문제는 캐시의 레이턴시 ( latency ) 와 히트 속도 ( hit rate ) 를 어떻게 조절해야 하느냐이다. 커다란 캐시는 히트 레이트는 높지만 레이턴시가 길다. 수많은 컴퓨터는 여러 수준의 캐시를 사용하고 있으며 작고 빠른 캐시와 크고 느린 캐시를 가지고 있다. 여러 수준의 캐시는 일반적으로 가장 작은 1차 캐시를 먼저 검사하면서 운영을 하는 것이 보통이다. 이때 캐시를 사용하면 프로세서는 최고 속도로 진행한다. 캐시 문제가 적으면 외부 메모리 검사 전에 L2 캐시를 검사하게 된다. 메인 메모리와 가장 빠른 캐시 사이의 레이턴시 차이가 클수록 일부 프로세서는 세 가지 수준의 칩 위의 캐시들을 최대한 이용하기 시작한다. 이를테면 2003년에 아이테니엄 2가 6 MiB 비공유 3차 ( L3 ) 캐시를 칩 위에 장착하기 시작했다. IBM
레지스터 하드웨어 레지스터 메모리 버퍼 레지스터 ( MBR ) 프로그램 카운터 마이크로코드 ROM 데이터패스 제어 장치 인스트럭션 유닛 재배열 버퍼 버퍼 쓰기 버퍼 코프로세서 전자 개폐기 전자 회로 집적 회로 3차원 집적 회로 불리언 회로 디지털 회로 아날로그 회로 혼합 신호 집적 회로 전원 관리 집적 회로 [UNK] 회로 논리 회로 조합 논리 순차 논리 이미터 결합 논리 ( ECL ) 트랜지스터 - 트랜지스터 논리 ( TTL ) 글루 로직 [UNK] 게이트 게이트 배열 계수기 버스 반도체 소자 클럭 속도 CPU 배수 비전 칩 멤리스터 전원 관리 APM ACPI 동적 주파수 스케일링 동적 전압 스케일링 클럭 게이팅 하드웨어보안 NX 비트 인텔 MPX 인텔 시큐어 키 하드웨어 제한 ( 펌웨어 ) Software Guard Extensions ( 인텔 SGX ) Trusted Execution Technology 신뢰 플랫폼 모듈 ( TPM ) 안전한 암호 보조 처리기 하드웨어 보안 모듈 헝즈칩 관련 항목 범용 CPU의 역사 원본 주소 " " 분류 : 중앙 처리 장치컴퓨터 메모리캐시 둘러보기 메뉴 개인 도구 로그인하지 않음토론기여계정 만들기로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 [UNK] 문서 보기임의 문서로도움말기부 도구 여기를 가리키는 문서가리키는 글의
베이스밴드 프로세서 물리 처리 장치 ( PPU ) 코프로세서 안전한 암호 보조 처리기 주문형 반도체 FPGA FPOA 복합 프로그래머블 논리 소자 마이크로컨트롤러 마이크로프로세서 모바일 프로세서 노트북 프로세서 초저전압 프로세서 멀티 코어 매니코어 프로세서 타일 프로세서 멀티칩 모듈 ( MCM ) 칩 스택 멀티칩 모듈 단일 칩 체제 ( SoC ) 멀티프로세서 시스템 온 칩 ( MPSoC ) 프로그래밍 가능 단일 칩 체제 ( PSoC ) 네트워크 온 칩 ( NoC ) 구성 요소 실행 장치 ( EU ) 산술 논리 장치 ( ALU ) 주소 생성 장치 ( AGU ) 부동 소수점 장치 ( FPU ) 로드 스토어 유닛 ( LSU ) 분기 예측 유니파이드 레저베이션 스테이션 배럴 시프터 언코어 Sum addressed decoder ( SAD ) 프론트 사이드 버스 백사이드 버스 노스브리지 사우스브리지 가산기 곱셈기 복호화 주소 디코더 멀티플렉서 멀티플렉서 레지스터 캐시 메모리 관리 장치 ( MMU ) IOMMU 통합 메모리 컨트롤러 ( IMC ) 전원 관리 장치 ( PMU ) 변환 색인 버퍼 ( TLB ) 스택 엔진 레지스터 파일 프로세서 레지스터 하드웨어 레지스터 메모리 버퍼 레지스터 ( MBR ) 프로그램 카운터 마이크로코드 ROM 데이터패스 제어 장치 인스트럭션 유닛 재배열 버퍼 버퍼 쓰기 버퍼 코프로세서 전자 개폐기 전자 회로 집적
256비트 512비트 가변 실행 명령어 파이프라인 버블 피연산자 포워딩 비순차적 명령어 처리 레지스터 리네이밍 모의 실행 분기 예측 메모리 의존성 예측 하자드 병렬 레벨 비트 비트 직렬 워드 명령어 파이프라이닝 스칼라 슈퍼스칼라 태스크 스레드 프로세스 데이터 벡터 메모리 멀티스레딩 시간적 동시 ( SMT ) ( 하이퍼스레딩 ) SpMT 선점 협력형 클러스터 멀티스레드 ( CMT ) 하드웨어 스카웃 플린 분류 SISD SIMD ( SWAR ) SIMT MISD MIMD SPMD 어드레싱 모드 CPU 성능 초당 명령 수 ( IPS ) 클럭당 명령어 처리 횟수 ( IPC ) 명령어 당 사이클 ( CPI ) 플롭스 ( FLOPS ) 초당 트랜잭션 수 ( TPS ) SUPS 전성비 계산 차수 캐시 성능 측정 및 메트릭 코어 카운트 싱글 코어 프로세서 멀티 코어 매니코어 프로세서 유형 중앙 처리 장치 ( CPU ) GPGPU AI 가속기 시각 처리 장치 ( VPU ) 벡터 프로세서 배럴 프로세서 스트림 프로세서 디지털 신호 처리 장치 ( DSP ) 입출력 프로세서 / DMA 컨트롤러 네트워크 프로세서 베이스밴드 프로세서 물리 처리 장치 ( PPU ) 코프로세서 안전한 암호 보조 처리기 주문형 반도체 FPGA FPOA 복합 프로그래머블 논리 소자 마이크로컨트롤러 마이크로프로세서 모바일 프로세서 노트북 프로세서 초저전압 프로세서 멀티 코어
세 가지 수준의 칩 위의 캐시들을 최대한 이용하기 시작한다. 이를테면 2003년에 아이테니엄 2가 6 MiB 비공유 3차 ( L3 ) 캐시를 칩 위에 장착하기 시작했다. IBM 파워 4 시리즈는 256 MiB L3 캐시를 칩 위에 장착하기 시작했다. 새로운 AMD 페넘 시리즈는 L3 캐시 다이에 2MB를 장착한다. 외부 캐시와 내부 캐시 [ 편집 ] 여러 수준의 캐시는 새로운 설계를 도입하고 있다. 이를테면 일부 프로세서에서 L1 캐시 안에 있는 모든 데이터는 L2 캐시 어딘가에도 존재해야 한다. 이러한 캐시들을 철저한 내부 캐시 ( strictly inclusive ) 라고 부른다. AMD 애슬론과 같은 다른 프로세서들은 외부 캐시를 가지고 있으며 데이터는 1차 캐시와 2차 캐시 중 한 곳에만 있을 것을 보증하며 두 곳에 동시에 존재하지는 않는다. 그러나 펜티엄 II, III, 4와 같은 다른 프로세서들은 1차 캐시의 데이터가 L2 캐시에도 상주할 것을 요구하지는 않지만 상주 가능성은 언제든 존재한다. 전반적으로 이러한 중간 정책에 따른 명칭이 존재하는 것은 아니지만 대개 이 경우 기본적인 내부 캐시 ( mainly inclusive ) 라고 부른다. 외부 캐시의 이점은 더 많은 데이터
변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 [UNK] 문서 보기임의 문서로도움말기부 도구 여기를 가리키는 문서가리키는 글의 최근 [UNK] 올리기특수 문서 목록고유 링크문서 정보위키데이터 항목이 문서 인용하기 다른 프로젝트 공용 인쇄 / 내보내기 책 만들기PDF로 다운로드인쇄용 판 다른 언어 [UNK] IndonesiaItaliano 日 本 語 [UNK] / [UNK] [UNK] 中 文 링크 편집 이 문서는 2018년 9월 15일 ( 토 ) 11 : 14에 마지막으로 편집되었습니다. 모든 문서는 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 3. 0에 따라 사용할 수 있으며, 추가적인 조건이 적용될 수 있습니다. 자세한 내용은 이용 약관을 참고하십시오. [UNK] 미국 및 다른 국가에 등록되어 있는 Wikimedia Foundation, Inc. 소유의 등록 상표입니다. 개인정보 정책 위키백과 소개 면책 조항 개발자 쿠키 정책 모바일 보기
uction Fetching " 에 출판하면서 알려졌다. 처음 출판했을 때의 미국 특허 5, 381, 533에서는 인텔사의 알렉스 펠레그와 우리 와이저가 " Dynamic flow instruction cache memory organized around trace segments independent of virtual address line " 라는 설명으로 1994년 3월 30일에 공표하였지만 1992년에 이에 대한 응용 분야가 계속되면서 버려지게 되었다. 트레이스 캐시는 디코딩 된 뒤나 빠져나온 뒤의 명령어를 저장한다. 일반적으로 명령어들은 개별 기본 블록이나 동적 명령어 트레이스를 대표하는 그룹에서 트레이스 캐시들에 추가된다. 기본 블록은 분기가 있는 비분기 명령어들의 한 그룹으로 구성되어 있다. 동적 트레이스 ( 트레이스 패스 ) 는 결과가 실제로 사용된 명령어들만 포함하고 있으며 분기들을 따라가는 명령어들을 제거한다. ( 실행 중이 아니기 때문에 ) 동적 트레이스는 여러 개의 기본 블록이 모인 것으로 표현할 수 있다. 이로써 실행 중에 있는 분기들을 걱정하지 않아도 프로세서의 명령어 페치 장치가 여러 개의 기본 블록을 페치할 수 있다. 트레이스 캐시는 인텔 펜티엄 4와 같은 프로세서에서 쓰이
상당히 낮출 수 있다. 이를테면 인텔의 제온 MP 제품의 코드 이름 Tulsa는 16 MiB 용량의 3차 캐시를 다이에 놓고 있으며 두 개의 프로세서 코어가 이를 공유한다. 같이 보기 [ 편집 ] 캐시 각주 [ 편집 ] ↑ Gabriel Torres ( 2007년 9월 12일 ). " How The Cache Memory Works ". 외부 링크 [ 편집 ] 메모리 파트 2 : CPU 캐시 vdehCPU 기술구조 튜링 기계 포스트 튜링 기계 범용 튜링 기계 양자 튜링 기계 벨트 머신 스택 머신 레지스터 머신 카운터 머신 포인터 머신 랜덤 접근 기계 랜덤 액세스 스토어드 프로그램 머신 유한 상태 기계 큐 오토마톤 폰 노이만 하버드 ( 수정됨 ) 데이터플로 TTA 셀룰러 인공신경망 기계 학습 딥 러닝 신경 처리 장치 ( NPU ) 돌림형 신경망 로드 / 스토어 아키텍처 레지스터 메모리 아키텍처 엔디언 FIFO 제로 카피 NUMA HUMA HSA 모바일 컴퓨팅 서피스 컴퓨팅 착용 컴퓨팅 이기종 컴퓨팅 병렬 컴퓨팅 병행 컴퓨팅 분산 컴퓨팅 클라우드 컴퓨팅 무정형 컴퓨팅 유비쿼터스 컴퓨팅 패브릭 컴퓨팅 재배열 컴퓨팅 인지 컴퓨팅 아날로그 컴퓨팅 기계식 컴퓨팅 하이브리드 컴퓨팅 디지털 컴퓨팅 DNA 컴퓨팅 [UNK] 컴퓨팅 화학 컴퓨팅 유기 컴퓨팅 [UNK] 컴퓨팅 양자 컴퓨터 신경 모방 컴퓨팅 광 컴퓨터 리버서블 컴퓨팅 비전통 컴퓨팅 하이퍼 계산 3진법 컴퓨터 대칭형 다중 처리 ( SMP )
CPU 캐시(CPU cache)는 CPU 구조에 메모리로 사용하도록 구성된 하드웨어 캐시다. CPU 캐시는 메인 메모리에서 가장 자주 사용되는 위치의 데이터를 갖고 있는, 크기는 작지만 빠른 메모리이다. 대부분의 메모리 접근은 특정한 위치의 근방에서 자주 일어나는 경향이 있기 때문에, 데이터를 크기는 작지만 속도가 빠른 캐시메모리에 복사해 두면 평균 메모리 접근 시간을 아낄 수 있다. 프로세서가 메인 메모리를 읽거나 쓰고자 할 때는, 먼저 그 주소에 해당하는 데이터가 캐시에 존재하는지를 살핀다. 만약 그 주소의 데이터가 캐시에 있으면 데이터를 캐시에서 직접 읽고, 그렇지 않으면 메인 메모리에 직접 접근한다. 이때 대부분의 프로세서는 메인 메모리에 직접 접근해서 전송된 데이터를 캐시에 복사해 넣음으로써 다음번에 같은 주소에 프로세서가 접근할 때 캐시에서 직접 읽고 쓸 수 있도록 한다.