본문 바로가기

컴퓨터/노트북/인터넷

IT 컴퓨터 기기를 좋아하는 사람들의 모임방

단축키

Prev이전 문서

Next다음 문서

단축키

Prev이전 문서

Next다음 문서

Extra Form

모든 최신 프로세서에는 소량의 캐시 메모리가 있습니다. 지난 수십 년 동안 캐시 아키텍처는 점점 더 복잡해졌습니다. CPU 캐시 수준은 L1, L2 및 L3의 3개로 증가했으며 각 블록의 크기가 증가했으며 캐시 연관성도 여러 번 변경되었습니다. 그러나 세부 사항을 살펴보기 전에 캐시 메모리가 정확히 무엇이며 왜 중요한지 알아야 합니다. 또한 최신 프로세서는 L1, L2 및 L3 캐시로 구성됩니다. 이러한 캐시 수준의 차이점은 무엇입니까?

 

캐시 메모리 vs 시스템 메모리 : SRAM vs DRAM

캐시 메모리는 훨씬 더 빠르고 고가의 정적 RAM을 기반으로 하며 시스템 메모리는 더 느린 DRAM (동적 RAM)을 활용합니다. 두 가지의 주요 차이점은 전자는 CMOS 기술과 트랜지스터 (각 블록 당 6 개)로 만들어졌고 후자는 커패시터와 트랜지스터를 사용한다는 것입니다.

 

데이터를 장기간 보관하려면 DRAM을 지속적으로 새로 고쳐야 합니다 (충전 누출로 인해). 이로 인해 훨씬 ​​더 많은 전력을 소비하고 속도도 느립니다. SRAM은 새로 고칠 필요가 없으며 훨씬 더 효율적입니다. 그러나 더 높은 가격은 주류 채택을 방해하여 프로세서 캐시로의 사용을 제한했습니다.

 

프로세서에서 캐시 메모리의 중요성?

 

 

현대의 프로세서는 80년대와 90년대 초반의 원시 조상들보다 광년 앞서 있습니다. 오늘날, 최상위 소비자 칩은 4GHz를 훨씬 상회하는 반면, 대부분의 DDR4 메모리 모듈은 1800MHz 미만으로 평가되고 있습니다. 따라서 시스템 메모리가 너무 느려서 CPU의 속도를 크게 저하시키지 않고 직접 CPU로 작업할 수 없습니다. 캐시 메모리가 여기에 들어갑니다. 이것은 둘 사이의 중간 역할을 하여 반복적으로 사용되는 데이터의 작은 청크를 저장하거나 경우에 따라 해당 파일의 메모리 주소를 저장합니다.

 

L1, L2 및 L3 캐시 : 차이점은 무엇입니까?

 

 

현대의 프로세서에서 캐시 메모리는 크기를 늘리고 속도를 줄이기 위해 L1, L2, L3 캐시의 세 세그먼트로 나뉩니다. L3 캐시는 가장 크면서도 가장 느립니다(3세대 Ryzen CPU는 최대 64MB의 L3 캐쉬를 지원합니다). L2와 L1은 L3보다 훨씬 작고 빠르며 각 코어에 대해 분리되어 있습니다. 이전 프로세서는 3단계 L3 캐시를 포함하지 않았으며 L2 캐시와 직접 상호 작용하는 시스템 메모리를 포함했습니다.

 

 

L1 캐시는 L1 데이터 캐시와 L1 명령 캐시라는 두 섹션으로 더 나뉩니다. 후자는 CPU 코어가 사용하는 반면 전자는 기본 메모리에 다시 기록될 데이터를 저장하는 데 사용됩니다.

 

L1 캐시는 명령 캐시로 작동할 뿐만 아니라, 사전 해독 데이터와 분기 정보도 보유합니다. 또한 L1 데이터 캐시는 종종 출력 캐시 역할을 하지만 L1 명령 캐시는 입력 캐시처럼 작동합니다. 이 기능은 필요한 지침이 인출 장치 바로 옆에 있으므로 루프가 체결될 때 유용합니다.

 

 

최신 CPU에는 플래그십 프로세서를 위해 최대 512KB의 L1 캐시 (코어 당 64KB)가 포함되어 있으며 서버 부품은 거의 두 배나 많은 기능을 제공합니다.

 

L2 캐시는 L1보다 훨씬 크지만 동시에 느립니다. 플래그십 CPU의 경우 4-8MB (코어 당 512KB)입니다. 각 코어에는 자체 L1 및 L2 캐시가 있으며 마지막 레벨인 L3 캐시는 다이의 모든 코어에서 공유됩니다.

 

L3 캐시는 가장 낮은 수준의 캐시입니다. 10MB에서 64MB까지 다양합니다. 서버 칩에는 256MB의 L3 캐시가 있습니다. 또한 AMD의 Ryzen CPU는 경쟁 Intel 칩에 비해 캐시 크기가 훨씬 큽니다. 이는 MCM 설계와 Intel 측의 모 놀리 식 때문입니다. 여기에서 자세한 내용을 읽어보십시오.

 

 

CPU에 데이터가 필요한 경우 먼저 연결된 코어의 L1 캐시를 검색합니다. 찾을 수없는 경우 L2 및 L3 캐시가 다음에 검색됩니다. 필요한 데이터가 발견되면 이를 캐시 적중이라고 합니다. 반면에 데이터가 캐시에 없으면 CPU는 데이터를 주 메모리 또는 스토리지에서 캐시로 로드하도록 요청해야 합니다. 이는 시간이 걸리고 성능에 부정적인 영향을 미칩니다. 이를 캐시 미스라고 합니다.

 

일반적으로 캐시 적중률은 캐시 크기가 증가할 때 향상됩니다. 이는 게임 및 기타 지연 시간에 민감한 워크로드의 경우 특히 그렇습니다.

 

 

포함 vs 독점 캐시

기본 캐시 구성은 포함 및 독점 캐시의 두 가지 유형입니다. 상위 수준 캐시에 있는 모든 데이터 블록이 하위 수준 캐시에 있는 경우 하위 수준 캐시는 상위 수준 캐시를 포함하는 것으로 알려져 있습니다.

 

반면에 하위 수준 캐시에 상위 수준 캐시에 없는 데이터 블록만 포함되어 있는 경우 캐시는 상위 수준 캐시를 제외한다고 합니다.

 

포괄적인 캐시

 

두 가지 수준의 캐시 메모리가 있는 CPU를 고려하십시오. 이제 블록 X가 요청되었다고 가정합니다. 블록이 L1 캐시에서 발견되면 L1 캐시에서 데이터를 읽고 CPU 코어에서 사용합니다. 그러나 블록이 L1 캐시에서 발견되지 않고 L2에 있으면 L2 캐시에서 가져와 L1에 배치됩니다.

 

L1 캐시도 꽉 차면 L2 캐시가 변경되지 않은 동안 새로운 블록을 위한 공간을 만들기 위해 블록이 L1에서 제거됩니다. 그러나 데이터 블록이 L1과 L2에서 모두 발견되지 않으면 메모리에서 가져와서 두 캐시 수준에 모두 배치됩니다. 이 경우 L2 캐시가 가득 차고 새 데이터를 위한 공간을 만들기 위해 블록이 제거되면 L2 캐시는 L1 캐시에 무효화 요청을 보내므로 제거된 블록도 거기에서 제거됩니다. 이 무효화 절차로 인해 포함 캐시는 비 포함 또는 독점 캐시보다 약간 느립니다.

 

비포함 또는 독점 캐시

 

이제 비포함 또는 전용 캐시의 동일한 예를 살펴보겠습니다. CPU 코어가 블록 X에 대한 요청을 보낸다고 가정해 보겠습니다. 블록이 X인 경우 해당 위치에서 코어에서 읽고 소비됩니다. 그러나 블록 X가 L1에서 발견되지 않고 L2에 있으면 L2에서 L1로 이동합니다. L1에 공간이 없는 경우 L1에서 블록 하나가 제거되고 L2에 저장됩니다. 이것은 공격 대상자 캐시와 같이 L2 캐시가 모집단일 수 있는 유일한 방법입니다. 블록 X가 L1 또는 L2에서 발견되지 않으면 메모리에서 가져와 L1에만 배치됩니다.

 

비포함 비독점 (NINE)

 

NINE (non-inclusive non-exclusive)이라고 하는 덜 일반적으로 사용되는 세 번째 캐시 정책이 있습니다. 여기서 블록은 상위 수준 캐시를 포함하거나 배타하지 않습니다. 마지막으로 같은 예를 살펴보겠습니다. 블록 X에 대한 요청이 있으며 L1에 있습니다. 그런 다음 CPU 코어는 L1 캐시에서 이 블록을 읽고 사용합니다. 블록이 L1에는 없지만 L2에는 있는 경우 L2에서 L1로 가져옵니다. L2 캐시는 포괄적 캐시가 작동하는 방식과 유사하게 변경되지 않습니다.

 

그러나 블록이 캐시 수준 중 하나에서 발견되지 않으면 기본 메모리에서 가져와 L1과 L2 모두에 배치됩니다. 그러나 이로 인해 포함된 캐시와 달리 L2에서 블록이 제거되면 L1 캐시에 대해 동일한 블록을 다시 무효화하지 않습니다.

 

메모리 매핑 살펴보기

캐시에 대한 기본 설명을 중단하고 시스템 메모리가 캐시 메모리와 통신하는 방식에 대해 이야기하겠습니다. 이를 캐시 또는 메모리 매핑이라고 합니다. 캐시 메모리는 블록 또는 세트로 나뉩니다. 이러한 블록은 차례로 n개의 64-byte 행으로 나뉩니다. 시스템 메모리는 캐시와 동일한 수의 블록 (세트)으로 분할된 다음 두 블록이 연결됩니다.

 

 

1GB의 시스템 RAM이 있는 경우 캐시는 8192줄로 분할된 다음 블록으로 구분됩니다. 이를 n-way 연관 캐시라고 합니다. 2방향 연관 캐시의 경우 각 블록에는 각각 두 개의 줄이 포함되고, 4방향에는 각각 네 개의 줄이 포함되며, 8방향에는 여덟 개의 줄이, 16방향에는 16개의 줄이 포함됩니다. 총 RAM 크기가 1GB인 경우 메모리의 각 블록의 크기는 512KB가 됩니다.

 

 

512KB의 4방향 관련 캐시가 있는 경우 RAM은 2,048개의 블록(1GB의 경우 8192/4)으로 분할되고 동일한 수의 4라인 캐시 블록에 연결됩니다.

 

16방향 연관 캐시의 경우와 마찬가지로 캐시는 메모리의 512(2048KB) 블록에 연결된 512개의 블록으로 나뉘며 각 캐시 블록은 16개의 줄을 포함합니다. 캐시에 데이터 블록이 부족하면 캐시 컨트롤러는 프로세서 실행을 계속하기 위해 필요한 데이터로 새 블록 집합을 다시 로드합니다.

 

 

N-way 연관 캐시는 가장 일반적으로 사용되는 매핑 방법입니다. 직접 매핑과 완전히 연결된 매핑이라는 두 가지 방법이 더 있습니다. 전자의 경우 캐시 라인과 메모리 사이에 하드 링크가 있는 반면 후자의 경우 캐시는 메모리 주소를 포함할 수 있습니다. 기본적으로 각 줄은 모든 기본 메모리 블록에 액세스할 수 있습니다. 이 메서드의 적중률이 가장 높습니다. 그러나 구현 비용이 많이 들고 그 결과 대부분 칩 제조업체는 이를 회피하고 있습니다.

 

완전히 연결된 매핑

 

어떤 매핑이 가장 좋습니까?

직접 매핑은 구현하기 가장 쉬운 구성이지만 동시에 효율성이 가장 낮습니다. 예를 들어 CPU가 지정된 메모리 주소(이 경우 1,000개)를 요청하는 경우 컨트롤러는 메모리에서 64바이트 라인을 로드하여 캐시(1,000개에서 1,063개)에 저장합니다. 향후 CPU에 동일한 주소 또는 이 주소 바로 뒤에 있는 주소(1,000 ~ 1,063)의 데이터가 필요할 경우 해당 데이터는 이미 캐시에 저장됩니다. 캐시 라인과 메모리 사이에는 하드 디스크(hard-combination)가 존재하지만 캐시에는 메모리 주소가 포함될 수 있습니다. 기본적으로 각 줄은 모든 기본 메모리 블록에 액세스할 수 있습니다. 이 메서드의 적중률이 가장 높습니다. 그러나 구현 비용이 많이 들고 그 결과 대부분 칩 제조업체는 이를 회피하고 있습니다.

 

 

이 문제는 CPU에 동일한 캐시 라인에 매핑된 메모리 블록에 있는 두 개의 주소가 하나씩 필요할 때 문제가 됩니다. 예를 들어 CPU가 먼저 주소 1,000을 요청한 다음 주소 2,000을 묻는 경우 이 두 주소가 동일한 메모리 블록(블록 크기 128KB) 내에 있기 때문에 캐시 누락이 발생합니다. 반면에, 그것에 매핑된 캐시 라인은 주소 1,000에서 1,063까지 시작하는 라인입니다. 따라서 캐시 컨트롤러는 첫 번째 캐시 라인에 주소 2000에서 2,063까지 라인을 로드하여 이전 데이터를 제거합니다. 이것이 바로 직접 매핑 캐시가 가장 효율적인 캐시 매핑 기술이며 대부분 폐기된 이유입니다.

 

 

완전 연관 매핑은 직접 매핑과 다소 반대입니다. 메모리 캐시 라인과 RAM 메모리 위치 사이에는 하드 링크가 없습니다. 캐시 컨트롤러는 모든 주소를 저장할 수 있습니다. 위의 문제가 발생하지 않습니다. 이 캐시 매핑 기술은 적중률이 가장 높은 가장 효율적입니다. 그러나 이미 설명했듯이 구현하기가 가장 어렵고 비용이 많이 듭니다.

 

 

결과적으로 완전 연관 매핑과 직접 매핑의 하이브리드인 집합 연관 매핑이 사용됩니다. 여기서 모든 메모리 블록은 일련의 라인 (SA 매핑 종류에 따라 다름)에 연결되고 각 라인은 매핑된 메모리 블록의 모든 주소에서 데이터를 보유할 수 있습니다. 4방향 세트 연관 캐시에서 메모리 캐시의 각 세트는 동일한 메모리 블록에서 최대 4개의 라인을 보유할 수 있습니다. 16방향 구성을 사용하면 이 수치가 16개로 늘어납니다.

 

매핑된 세트의 슬롯이 모두 사용되면 컨트롤러는 슬롯 중 하나의 내용을 제거하고 동일한 매핑된 메모리 블록에서 다른 데이터 집합을 로드합니다. 4방향 메모리 캐시에서 8방향 캐시로 설정되는 방법 수가 늘어나면 세트당 사용할 수 있는 캐시 슬롯이 늘어납니다. 그러나 캐시 양을 늘리지 않으면 연결된 각 메모리 블록의 메모리 크기가 증가합니다. 기본적으로 전체 캐시 크기를 늘리지 않고 세트 캐시 세트의 사용 가능한 슬롯 수를 늘리면 세트가 더 큰 메모리 블록에 연결되므로 플러시 수가 증가하므로 효율성이 크게 저하됩니다.

 

반면에 캐시 크기를 늘리면 각 집합에 더 많은 줄이 있게 됩니다(설정 크기도 증가한다고 가정할 때). 즉, 각 메모리 블록에 대해 연결된 캐시 행 수가 더 많다는 의미입니다. 일반적으로 적중률은 증가하지만 전체 수치를 개선할 수 있는 수준에는 한계가 있습니다.

 

원문 출처 hardwaretimes


컴퓨터/노트북/인터넷

IT 컴퓨터 기기를 좋아하는 사람들의 모임방

List of Articles
번호 분류 제목 조회 수 날짜
공지 뉴스 구글 최신 뉴스 file 1386 2024.12.12
HOT글 일반 아 진짜 요새 SKT 해킹 뭐시기 때문에 신경 쓰여 죽겠어 ㅠㅠ 2 237 2025.05.20
공지 사랑LOVE 포인트 만렙! 도전 4679 2025.03.19
공지 🚨(뉴비필독) 전체공지 & 포인트안내 2 25851 2024.11.04
공지 URL만 붙여넣으면 끝! 임베드 기능 20432 2025.01.21
10640 일반 아 진짜 요새 SKT 해킹 뭐시기 때문에 신경 쓰여 죽겠어 ㅠㅠ 2 237 2025.05.20
10639 일반 저렴한 중국산 외장 SSD의 실체 file 515 2025.05.17
10638 일반 인텔 애로우레이크의 CPU 내부 다이 모습 file 600 2025.05.10
10637 일반 스카이프, 오늘 서비스 종료 file 602 2025.05.10
10636 일반 SKT "보상 시 고객도 입증책임" file 630 2025.05.10
10635 정보 KISA, 신규 악성코드 위협 공지...SKT 내부 서버에서 ‘BPF도어’ 악성코드 변종 8종 추가 발견 577 2025.05.10
10634 일반 “SK하이닉스 내부자에 뚫렸다” 中이직 앞두고 1만여건 기술 유출 file 572 2025.05.10
10633 일반 기가바이트, 12년만에 메인보드에 새로운 기능을 추가 file 589 2025.05.10
10632 일반 SKT “위약금 면제 시 수백만명 해지… 분위기 휩쓸려 시장 대혼란” file 594 2025.05.10
10631 일반 CUDA 툴킷, 맥스웰, 파스칼, 볼타 지원 중단 596 2025.05.10
10630 일반 그래픽카드를 활용한 암호 해독 벤치마크 file 598 2025.05.10
10629 일반 애즈락 X870 스틸 레전드 메인보드에서 라이젠 9 9950X CPU가 사망 file 584 2025.05.10
10628 일반 코어 울트라 200 메인보드, PCIe 5.0 M.2 성능 제한이 있음 file 562 2025.05.10
10627 일반 시게이트, 2030년까지 100TB 하드디스크 출시 file 582 2025.05.10
10626 정보 MS가 인텔 18A 공정 계약을 체결? 1 file 596 2025.05.10
10625 정보 블루투스 6.1 발표. 전력 효율과 보안 향상 file 615 2025.05.10
10624 정보 중국 Hygon, 128코어 512스레드의 서버 프로세서 로드맵 공개 file 577 2025.05.10
10623 정보 인텔, 컴퓨텍스에서 아크 프로 B60 24GB를 발표? file 617 2025.05.10
10622 일반 지포스 RTX 5060의 리뷰용 드라이버가 없음 file 624 2025.05.10
10621 일반 젠슨황이 사인한 리바 TNT 엔지니어링 프로토타입 키트, 도시락 상자 file 565 2025.05.10
10620 일반 SSD랑 HDD 가격 요즘 진짜 헬이다… 업체들 때문에 미쳐버릴 듯 4 4657 2025.04.18
10619 일반 컴퓨터 메인보드용 ddr6 메모리는 언제나올지 찾아봤는데 594 2025.04.08
10618 일반 갤럭시탭 S10 FE 4월 3일 출시했습니다. 혜택 나쁘지 않네요 842 2025.04.05
10617 수리/AS 절대 공개하지 않는 메인보드 AS센터의 전설의 기술 1 file 926 2025.03.30
10616 수리/AS 메인보드 수리방법 가감없이 공유합니다! #shorts file 864 2025.03.30
10615 일반 라이카와 협업한 샤오미 15 울트라 실버 크롬 언박싱 971 2025.03.29
10614 일반 어도비 비정품 알림 Adobe 앱 라이선스 관련 알림창 없애기 616 2025.03.28
10613 일반 윈도우 12, 과연 등장할까? (예상 및 루머 정리) 899 2025.03.21
10612 일반 메인보드중에 고장률이 가장 낮은 회사 682 2025.03.19
10611 일반 벽 콘센트 꼽는거 구멍 위치가 정해져있었네 file 1440 2025.03.14
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 355 Next
/ 355