열려 있는
닫다

캐시는 두 부분으로 나뉩니다. 프로세서 캐시는 무엇을 의미하며 L1, L2, L3의 차이점은 무엇입니까? 포장 및 포장 풀기

대부분의 최신 데스크탑 컴퓨터의 칩에는 4개의 코어가 있지만 칩 제조업체는 이미 6개의 코어로 전환할 계획을 발표했으며 16코어 프로세서는 오늘날 고급 서버에서 여전히 흔합니다.

코어가 많을수록 동시에 함께 작업하면서 모든 코어 간에 메모리를 분산시키는 문제가 더 커집니다. 코어 수가 증가함에 따라 데이터 처리 시 코어 관리에 소요되는 시간을 최소화하는 것이 점점 더 유리해지고 있습니다. 이는 데이터 교환 속도가 프로세서 속도 및 메모리 내 데이터 처리 속도보다 느리기 때문입니다. 다른 사람의 빠른 캐시에 물리적으로 액세스할 수도 있고, 자신의 느린 캐시에 액세스할 수도 있지만 데이터 전송 시간을 절약할 수 있습니다. 프로그램이 요청한 메모리 양이 각 유형의 캐시 메모리 양과 명확하게 일치하지 않기 때문에 작업이 복잡해집니다.

물리적으로 매우 제한된 양의 메모리만 프로세서에 최대한 가깝게 배치할 수 있습니다. 즉, 프로세서의 L1 캐시는 그 양이 매우 작습니다. MIT 컴퓨터 과학 및 인공 지능 연구소의 연구원인 Daniel Sanchez, Po-An Tsai 및 Nathan Beckmann은 유연한 프로그램 계층 구조를 위해 실시간으로 다양한 유형의 메모리를 구성하는 방법을 컴퓨터에 가르쳤습니다. Jenga라고 불리는 새로운 시스템은 메모리에 대한 프로그램 액세스의 볼륨 요구 사항과 빈도를 분석하고 향상된 효율성과 에너지 절약을 제공하는 조합으로 3가지 유형의 프로세서 캐시 각각의 성능을 재분배합니다.


우선, 연구원들은 단일 코어 프로세서용 프로그램 작업을 할 때 정적 메모리와 동적 메모리를 결합할 때 성능 향상을 테스트하고 어떤 조합을 사용하는 것이 더 나은지 기본 계층 구조를 얻었습니다. 2가지 유형의 메모리 또는 하나의 메모리에서. 각 프로그램이 작동하는 동안 신호 지연(대기 시간)과 에너지 소비라는 두 가지 매개변수가 평가되었습니다. 약 40%의 프로그램이 메모리 유형의 조합으로 인해 작동이 더 나빠지기 시작했고 나머지는 더 좋아졌습니다. 혼합 성능을 "좋아하는" 프로그램과 메모리 크기를 좋아하는 프로그램을 기록한 연구원들은 Jenga 시스템을 구축했습니다.

36개 코어의 가상 컴퓨터에서 4가지 종류의 프로그램을 가상으로 테스트했습니다. 테스트된 프로그램:

  • omnet - Objective Modular Network Testbed, C 시뮬레이션 라이브러리 및 네트워크 시뮬레이션 도구 플랫폼(그림에서 파란색)
  • mcf - 메타 콘텐츠 프레임워크(빨간색)
  • astar - 가상 현실 디스플레이 소프트웨어(녹색)
  • bzip2 - 아카이버(보라색)


그림은 각 프로그램의 데이터가 어디서 어떻게 처리되었는지 보여줍니다. 문자는 각 응용 프로그램이 실행되는 위치(사분면당 하나씩)를 나타내고, 색상은 해당 데이터가 있는 위치를 나타내며, 음영은 가상 계층 구조가 존재할 경우 두 번째 수준을 나타냅니다.

캐시 수준

CPU 캐시는 여러 수준으로 나뉩니다. 범용 프로세서의 경우 - 최대 3개. 가장 빠른 메모리는 첫 번째 레벨 캐시인 L1 캐시입니다. 이는 프로세서와 동일한 칩에 위치하기 때문입니다. 명령어 캐시와 데이터 캐시로 구성됩니다. L1 캐시가 없는 일부 프로세서는 작동할 수 없습니다. L1 캐시는 프로세서 주파수에서 작동하며 모든 클록 주기에 액세스할 수 있습니다. 동시에 여러 읽기/쓰기 작업을 수행하는 것이 가능한 경우가 많습니다. 볼륨은 일반적으로 128KB 이하로 작습니다.

두 번째 수준 캐시인 L2는 L1 캐시와 상호 작용합니다. 두 번째로 빠른 속도입니다. 일반적으로 L1과 같은 온칩에 위치하거나 프로세서 카트리지와 같이 코어에 가까운 곳에 위치합니다. 구형 프로세서에서는 마더보드에 있는 칩 세트입니다. L2 캐시 볼륨은 128KB에서 12MB까지입니다. 최신 멀티 코어 프로세서에서 동일한 칩에 있는 두 번째 수준 캐시는 별도의 메모리입니다. 총 캐시 크기는 8MB이고 각 코어는 2MB를 차지합니다. 일반적으로 코어 칩에 위치한 L2 캐시의 대기 시간은 8~20 코어 클럭 주기입니다. 예를 들어 DBMS와 같이 제한된 메모리 영역에 여러 번 액세스하는 작업에서 이를 최대한 활용하면 생산성이 10배 증가합니다.

L3 캐시는 일반적으로 훨씬 더 크지만 L2 캐시보다 약간 느립니다(L2와 L3 사이의 버스가 L1과 L2 사이의 버스보다 좁기 때문입니다). L3은 일반적으로 CPU 코어와 별도로 위치하지만 32MB를 초과할 수도 있습니다. L3 캐시는 이전 캐시보다 느리지만 여전히 RAM보다 빠릅니다. 다중 프로세서 시스템에서는 일반적으로 사용됩니다. 세 번째 수준 캐시의 사용은 매우 좁은 범위의 작업에서 정당화되며 성능이 향상되지 않을 뿐만 아니라 오히려 시스템 성능이 전반적으로 저하될 수 있습니다.

두 번째 및 세 번째 수준 캐시를 비활성화하는 것은 데이터 양이 캐시 크기보다 적을 때 수학 문제에 가장 유용합니다. 이 경우 모든 데이터를 L1 캐시에 한번에 올려서 처리할 수 있습니다.


Jenga는 리소스 제한과 애플리케이션 동작을 고려하여 데이터 교환을 최소화하기 위해 OS 수준에서 가상 계층을 주기적으로 재구성합니다. 각 재구성은 4단계로 구성됩니다.

Jenga는 대용량 단일 속도 메모리를 좋아하는 프로그램이나 혼합 캐시의 속도를 좋아하는 프로그램 등 전송되는 프로그램에 따라 데이터를 배포할 뿐만 아니라 처리 중인 데이터에 대한 메모리 셀의 물리적 근접성에 따라 데이터를 배포합니다. 프로그램에 기본적으로 또는 계층 구조에 따라 필요한 캐시 유형에 관계없이. 가장 중요한 것은 신호 지연과 에너지 소비를 최소화하는 것입니다. 프로그램이 "좋아하는" 메모리 유형 수에 따라 Jenga는 각 가상 계층의 대기 시간을 1~2개 수준으로 모델링합니다. 2레벨 계층은 표면을 형성하고, 단일 레벨 계층은 곡선을 형성합니다. 그런 다음 Jenga는 VL1 차원의 최소 지연을 투영하여 두 개의 곡선을 생성합니다. 마지막으로 Jenga는 이러한 곡선을 사용하여 최상의 계층 구조(예: VL1 크기)를 선택합니다.

Jenga를 사용하면 눈에 띄는 효과가 있습니다. 가상 36코어 칩은 30% 더 빠르게 작동하고 85% 더 적은 에너지를 사용하기 시작했습니다. 물론 현재 Jenga는 작동하는 컴퓨터의 시뮬레이션일 뿐이며 이 캐시의 실제 예를 보기까지는 시간이 좀 걸릴 것이며 칩 제조업체가 기술이 마음에 든다면 채택하기까지는 시간이 걸릴 것입니다.

기존의 36개 핵기계의 구성

  • 프로세서. 36개 코어, x86-64 ISA, 2.4GHz, Silvermont 계열 OOO: 8B 폭
    ifetch; 512×10비트 BHSR + 1024×2비트 PHT, 양방향 디코드/발급/이름 변경/커밋, 32항목 IQ 및 ROB, 10항목 LQ, 16항목 SQ를 갖춘 2레벨 bpred; 371pJ/명령, 163mW/코어 정적 전력
  • L1 캐시. 32KB, 8방향 세트 연관, 분할 데이터 및 명령 캐시,
    3주기 대기 시간; 적중/실패당 15/33pJ
  • 프리페처 서비스. 16개 항목 스트림 프리페처를 모델링하고 이에 대해 검증함
    네할렘
  • L2 캐시. 코어당 128KB 프라이빗, 8방향 세트 연관, 포괄적, 6사이클 대기 시간; 적중/실패당 46/93pJ
  • 일관성 모드. Jenga용 16방향, 6주기 대기 시간 디렉터리 뱅크; 다른 사람을 위한 캐시 내 L3 디렉터리
  • 글로벌 NoC. 6×6 메시, 128비트 플릿 및 링크, X-Y 라우팅, 2사이클 파이프라인 라우터, 1사이클 링크; 라우터/링크 플릿 순회당 63/71pJ, 12/4mW 라우터/링크 정적 전력
  • 정적 메모리 블록 SRAM. 18MB, 타일당 1개의 512KB 뱅크, 4방향 52개 후보 zcache, 9사이클 뱅크 대기 시간, Vantage 파티셔닝; 적중/실패당 240/500pJ, 28mW/뱅크 정적 전력
  • 다층 적층형 DRAM. 1152MB, 타일 4개당 128MB 볼트 1개, MAP-I DDR3-3200(1600MHz) 포함 합금, 128비트 버스, 16개 랭크, 8개 뱅크/랭크, 2KB 행 버퍼; 적중/실패당 4.4/6.2nJ, 88mW/볼트 정적 전력
  • 메인 메모리. DDR3-1600 채널 4개, 64비트 버스, 2개 랭크/채널, 8개 뱅크/랭크, 8KB 행 버퍼; 20nJ/액세스, 4W 정적 전력
  • DRAM 타이밍. tCAS=8, tRCD=8, tRTP=4, tRAS=24, tRP=8, tRRD=4, tWTR=4, tWR=8, tFAW=18(모든 타이밍은 tCK에 있음, 스택형 DRAM은 tCK의 절반을 메인 메모리로 사용함) )

캐시 메모리 또는 하드 드라이브의 버퍼 메모리라고 합니다. 그것이 무엇인지 모르신다면 이 질문에 기꺼이 답변해 드리고 사용 가능한 모든 기능에 대해 알려드리겠습니다. 이는 이전에 읽었지만 아직 전송되지 않은 데이터를 추가 처리를 위해 저장하고 시스템이 가장 자주 액세스하는 정보를 저장하기 위한 버퍼 역할을 하는 특수 유형의 RAM입니다.

PC 시스템의 처리량과 드라이브에서 데이터를 읽는 속도 사이의 큰 차이로 인해 전송 스토리지의 필요성이 발생했습니다. 캐시 메모리는 비디오 카드, 프로세서, 네트워크 카드 등 다른 장치에서도 찾을 수 있습니다.

볼륨은 무엇이며 어떤 영향을 미치나요?

버퍼 용량에 특별한 주의를 기울여야 합니다. 종종 HDD에는 8, 16, 32 및 64MB의 캐시가 장착되어 있습니다. 대용량 파일을 복사할 경우 8~16MB 사이에서는 성능에 상당한 차이가 있지만 16~32MB 사이에서는 눈에 띄는 차이가 덜합니다. 32와 64 사이에서 선택하면 거의 아무것도 없을 것입니다. 버퍼에 과부하가 걸리는 경우가 많으며, 이 경우 버퍼가 클수록 좋습니다.

최신 하드 드라이브는 32MB 또는 64MB를 사용하며 오늘날 어디에서도 이보다 적은 용량을 찾을 수 없습니다. 일반 사용자의 경우 첫 번째 값과 두 번째 값 모두 충분합니다. 또한, 이 외에도 시스템에 내장된 캐시의 크기도 성능에 영향을 미칩니다. 특히 충분한 RAM이 있는 경우 하드 드라이브의 성능이 향상됩니다.

즉, 이론적으로는 볼륨이 클수록 성능이 향상되고 더 많은 정보가 버퍼에 저장되어 하드 드라이브에 로드되지 않을 수 있지만 실제로는 모든 것이 약간 다르며 드문 경우를 제외하고 일반 사용자는 큰 차이를 느끼지 못할 것입니다. 물론 가장 큰 크기의 장치를 선택하여 구입하는 것이 좋습니다. 그러면 PC 성능이 크게 향상됩니다. 그러나 이는 재정적 능력이 허락하는 경우에만 수행되어야 합니다.

목적

이는 데이터를 읽고 쓰도록 설계되었지만, SCSI 드라이브에서는 기본 설정이 쓰기 캐싱이 비활성화되어 있기 때문에 드물게 캐싱 쓰기 권한이 필요합니다. 이미 말했듯이, 규모는 운영 효율성을 향상시키는 데 결정적인 요소가 아닙니다. 하드 드라이브의 성능을 높이려면 버퍼와의 정보 교환을 구성하는 것이 더 중요합니다. 또한 제어 전자 장치의 기능, 발생 방지 등에 의해서도 완전히 영향을 받습니다.

버퍼 메모리에는 가장 자주 사용되는 데이터가 저장되며, 볼륨에 따라 저장된 정보의 용량이 결정됩니다. 크기가 크기 때문에 데이터가 캐시에서 직접 로드되고 물리적 읽기가 필요하지 않으므로 하드 드라이브의 성능이 크게 향상됩니다.

물리적 읽기는 시스템이 하드 드라이브와 해당 섹터에 직접 액세스하는 것입니다. 이 프로세스는 밀리초 단위로 측정되며 상당히 많은 시간이 걸립니다. 동시에 HDD는 하드 드라이브에 물리적으로 액세스하여 요청할 때보다 100배 이상 빠른 속도로 데이터를 전송합니다. 즉, 호스트 버스가 바쁜 경우에도 장치가 작동할 수 있도록 합니다.

주요 장점

버퍼 메모리에는 여러 가지 장점이 있는데, 그 중 가장 큰 장점은 빠른 데이터 처리로 최소한의 시간이 소요되는 반면, 드라이브 섹터에 대한 물리적 액세스에는 디스크 헤드가 필요한 데이터 섹션을 찾아서 시작할 때까지 일정 시간이 필요합니다. 그것을 읽으려고. 또한 저장 용량이 가장 큰 하드 드라이브는 컴퓨터 프로세서의 부담을 크게 덜어줄 수 있습니다. 따라서 프로세서는 최소한으로 사용됩니다.

버퍼링 기능을 통해 하드 드라이브가 훨씬 더 효율적이고 빠르게 작동하게 되므로 본격적인 가속기라고도 할 수 있습니다. 그러나 오늘날 기술의 급속한 발전으로 인해 예전의 의미를 잃어가고 있습니다. 이는 대부분의 최신 모델의 용량이 32MB와 64MB로 드라이브의 정상적인 작동에 충분하기 때문입니다. 위에서 언급했듯이 비용 차이가 효율성 차이에 해당하는 경우에만 차액을 초과 지불할 수 있습니다.

마지막으로, 버퍼 메모리는 그것이 무엇이든 캐시 크기보다 크지 않은 크기의 동일한 데이터에 반복적으로 액세스하는 경우에만 특정 프로그램이나 장치의 성능을 향상시킨다고 말씀드리고 싶습니다. 컴퓨터 작업에 작은 파일과 적극적으로 상호 작용하는 프로그램이 포함된 경우 가장 큰 저장 공간을 갖춘 HDD가 필요합니다.

현재 캐시 크기를 확인하는 방법

무료 프로그램을 다운로드하여 설치하기만 하면 됩니다. HDTune. 실행 후 "정보" 섹션으로 이동하면 창 하단에 필요한 모든 매개변수가 표시됩니다.


새 장치를 구입하는 경우 필요한 모든 특성은 상자나 첨부된 지침에서 찾을 수 있습니다. 또 다른 옵션은 인터넷을 보는 것입니다.

캐시는 RAM에서 가장 자주 사용되는 데이터(명령)가 기록되는 프로세서에 내장된 메모리로, 작업 속도를 크게 향상시킵니다.

L1 캐시 크기(8~128KB)
레벨 1 캐시 크기.
레벨 1 캐시는 프로세서 코어에 직접 위치한 고속 메모리 블록입니다.
RAM에서 추출된 데이터가 RAM에 복사됩니다.

코어 명령어를 저장하면 데이터 처리 속도가 빨라져 프로세서 성능이 향상됩니다(캐시에서 처리하는 것이 RAM에서 처리하는 것보다 빠릅니다).

첫 번째 수준 캐시의 용량은 작으며 킬로바이트에 달합니다.
일반적으로 "오래된" 프로세서 모델에는 L1 캐시가 더 큽니다.
멀티 코어 모델의 경우 하나의 코어에 대한 L1 캐시 메모리의 양이 표시됩니다.

L2 캐시 크기(128~12288KB)
레벨 2 캐시 크기.
L2 캐시는 L1 캐시("L1 캐시 용량" 참조)와 동일한 기능을 수행하지만 속도는 느리고 용량은 더 큰 고속 메모리 블록입니다.

리소스 집약적인 작업을 위해 프로세서를 선택하는 경우 L2 캐시가 큰 모델이 더 좋습니다.
멀티 코어 프로세서의 경우 두 번째 수준 캐시 메모리의 총량이 표시됩니다.

L3 캐시 크기(0~16384KB)
레벨 3 캐시 크기.
빠른 시스템 버스와 결합된 통합 L3 캐시는 시스템 메모리와 고속 데이터 교환 채널을 형성합니다.

일반적으로 서버 솔루션용 CPU 또는 "데스크탑" 프로세서의 특별판에만 3단계 캐시 메모리가 장착되어 있습니다.

예를 들어, Intel Pentium 4 Extreme Edition, Xeon DP, Itanium 2, Xeon MP 등과 같은 프로세서 라인에는 세 번째 수준의 캐시 메모리가 있습니다.

Twin BiCS FLASH - 새로운 3D 플래시 메모리 기술

2019년 12월 11일, IEEE International Electronic Devices Meeting(IEDM)에서 TOKYO-Kioxia Corporation은 3D 플래시 메모리 기술인 Twin BiCS FLASH를 발표했습니다.

AMD Radeon Software Adrenalin Edition 2020 드라이버 19.12.2 WHQL(추가됨)

12월 10일, AMD는 메가 드라이버 Radeon Software Adrenalin 2020 Edition 19.12.2 WHQL을 출시했습니다.

Windows 10 누적 업데이트 1909 KB4530684

2019년 12월 10일에 Microsoft는 x86, x64(amd64), ARM64 및 x64 기반 시스템용 Windows Server 2019(1909) 프로세서의 Windows 10 2019년 11월 업데이트(버전 1909)용 누적 업데이트 KB4530684(빌드 18363.535)를 출시했습니다.

NVIDIA Game Ready GeForce 441.66 WHQL 드라이버

NVIDIA GeForce Game Ready 441.66 WHQL 드라이버에는 MechWarrior 5: Mercenaries 및 Detroit: Be Human에 대한 지원이 포함되어 있으며 MSI MAG251RX 및 ViewSonic XG270 모니터에 대한 G-SYNC 지원도 추가되었습니다.

AMD 프로세서의 L3 캐시는 얼마나 중요합니까?

실제로 멀티 코어 프로세서에 사용 가능한 모든 코어가 공유하는 전용 메모리를 장착하는 것이 합리적입니다. 이 역할에서 빠른 L3(3차 수준) 캐시는 가장 자주 요청되는 데이터에 대한 액세스 속도를 크게 높일 수 있습니다. 그러면 가능하다면 코어가 느린 주 메모리(RAM)에 액세스할 필요가 없습니다.

적어도 이론적으로는요. 최근 AMD Athlon II X4 프로세서 발표, L3 캐시가 없는 Phenom II X4 모델이므로 그다지 필요하지 않음을 암시합니다. 우리는 캐시가 성능에 어떤 영향을 미치는지 테스트하기 위해 두 프로세서(L3 캐시 유무)를 직접 비교하기로 결정했습니다.

확대하려면 그림을 클릭하세요.

캐시는 어떻게 작동하나요?

테스트를 시작하기 전에 몇 가지 기본 사항을 이해하는 것이 중요합니다. 캐시 작동 원리는 매우 간단합니다. 캐시는 프로세서의 처리 코어에 최대한 가깝게 데이터를 버퍼링하여 CPU 요청을 더 멀리 있고 느린 메모리로 줄입니다. 최신 데스크탑 플랫폼에서 캐시 계층 구조에는 RAM에 액세스하기 전의 세 가지 수준이 포함됩니다. 또한 두 번째, 특히 세 번째 수준의 캐시는 데이터를 버퍼링하는 역할만 하는 것이 아닙니다. 그 목적은 코어가 정보를 교환해야 할 때 프로세서 버스가 과부하되는 것을 방지하는 것입니다.

안타와 실패

캐시 아키텍처의 효율성은 적중률로 측정됩니다. 캐시에서 충족할 수 있는 데이터 요청은 적중으로 간주됩니다. 이 캐시에 필요한 데이터가 포함되어 있지 않으면 요청이 메모리 파이프라인을 따라 더 전달되고 누락이 계산됩니다. 물론, 정보를 놓치면 정보를 얻는 데 더 많은 시간이 필요합니다. 결과적으로 컴퓨팅 파이프라인에 "버블"(유휴) 및 지연이 나타납니다. 반대로 조회수를 사용하면 최대 성능을 유지할 수 있습니다.

캐시 항목, 독점성, 일관성

교체 정책은 새 항목을 위해 캐시를 확보하는 방법을 지정합니다. 캐시에 기록된 데이터는 결국 주 메모리에 나타나야 하기 때문에 시스템은 캐시에 기록하는 것과 동시에 이를 수행하거나(연속 기입) 데이터 영역을 "더티"(후기입)로 표시하고 캐시에 기록할 수 있습니다. 캐시에서 제거될 때 메모리입니다.

여러 캐시 수준의 데이터는 중복 없이 단독으로 저장할 수 있습니다. 그러면 두 개의 서로 다른 캐시 계층에서 동일한 데이터 라인을 찾을 수 없습니다. 또는 캐시는 포괄적으로 작동할 수 있습니다. 즉, 낮은 캐시 수준이 상위 캐시 수준(프로세서 코어에 더 가까운)에 있는 데이터를 포함하도록 보장됩니다. AMD Phenom은 독점적인 L3 캐시를 사용하는 반면 Intel은 포괄적인 캐시 전략을 따릅니다. 일관성 프로토콜은 다양한 코어, 캐시 수준, 심지어 프로세서 전반에 걸쳐 데이터의 무결성과 최신성을 보장합니다.

캐시 크기

캐시가 클수록 더 많은 데이터를 저장할 수 있지만 대기 시간이 늘어나는 경향이 있습니다. 또한, 대용량 캐시는 상당한 수의 프로세서 트랜지스터를 소비하므로 트랜지스터 예산, 다이 크기, 전력 소비 및 성능/지연 시간 간의 균형을 찾는 것이 중요합니다.

연관성

RAM의 항목은 캐시에 직접 매핑될 수 있습니다. 즉, RAM의 데이터 복사본에 대한 캐시 위치가 하나만 있거나 n방향 연관일 수 있습니다. 즉, 캐시에 이 항목이 있는 n개의 가능한 위치가 있습니다. 데이터가 저장될 수 있습니다. 더 높은 수준의 연관성(완전한 연관 캐시까지)은 캐시의 기존 데이터를 다시 쓸 필요가 없기 때문에 더 큰 캐싱 유연성을 제공합니다. 즉, 높은 n차 연관성은 더 높은 적중률을 보장하지만 적중 여부에 대한 모든 연관성을 확인하는 데 더 많은 시간이 걸리기 때문에 대기 시간도 늘어납니다. 일반적으로 마지막 캐싱 수준에는 최대 용량을 사용할 수 있고 이 캐시 외부의 데이터를 검색하면 프로세서가 느린 RAM에 액세스하게 되므로 가장 높은 수준의 연결이 합리적입니다.

다음은 몇 가지 예입니다. Core i5 및 i7은 데이터용으로 8방향 연관성이 있는 32KB의 L1 캐시를 사용하고 명령용으로 4방향 연관성이 있는 32KB의 L1 캐시를 사용합니다. Intel이 명령을 더 빠르게 사용할 수 있고 L1 데이터 캐시가 최대 적중률을 갖기를 원하는 것은 이해할 수 있습니다. Intel 프로세서의 L2 캐시는 8방향 연관성을 가지며, Intel L3 캐시는 적중률을 극대화하기 위해 16방향 연관성을 구현하므로 더욱 스마트합니다.

그러나 AMD는 대기 시간을 줄이기 위해 양방향 연관 L1 캐시를 사용하는 Phenom II X4 프로세서로 다른 전략을 따르고 있습니다. 발생할 수 있는 누락을 보상하기 위해 캐시 용량이 두 배로 늘어났습니다. 즉, 데이터용으로 64KB, 명령용으로 64KB를 사용했습니다. L2 캐시는 Intel 디자인처럼 8방향 연관성을 가지고 있지만 AMD의 L3 캐시는 48방향 연관성으로 작동합니다. 그러나 다른 캐시 아키텍처 대신 하나의 캐시 아키텍처를 선택하는 결정은 전체 CPU 아키텍처를 고려하지 않고 평가할 수 없습니다. 테스트 결과가 실질적인 의미를 갖는 것은 당연한 일이며, 우리의 목표는 정확하게 이 복잡한 다단계 캐싱 구조 전체에 대한 실제 테스트였습니다.

모든 최신 프로세서에는 프로세서 명령과 데이터를 저장하는 전용 캐시가 있어 거의 즉시 사용할 수 있습니다. 이 레벨은 일반적으로 레벨 1 또는 L1 캐시라고 하며 486DX 프로세서에 처음 도입되었습니다. 최근 AMD 프로세서는 코어당 64KB L1 캐시(데이터 및 명령용)를 표준으로 사용하고 있으며 Intel 프로세서는 코어당 32KB L1 캐시(데이터 및 명령용)를 사용합니다.

L1 캐시는 486DX 프로세서에 처음 등장한 후 모든 최신 CPU의 필수 기능이 되었습니다.

2단계 캐시(L2)는 Pentium III 출시 이후 모든 프로세서에 나타났습니다. 하지만 패키징에서 첫 번째 구현은 Pentium Pro 프로세서(온칩은 아님)에 있었습니다. 최신 프로세서에는 최대 6MB의 온칩 L2 캐시가 장착되어 있습니다. 예를 들어 일반적으로 이 볼륨은 Intel Core 2 Duo 프로세서의 두 코어로 나누어집니다. 일반적인 L2 구성은 코어당 512KB 또는 1MB의 캐시를 제공합니다. L2 캐시 크기가 더 작은 프로세서는 가격 수준이 더 낮은 경향이 있습니다. 다음은 초기 L2 캐시 구현 다이어그램입니다.

Pentium Pro에는 프로세서 패키지에 L2 캐시가 있었습니다. Pentium III 및 Athlon의 후속 세대에서는 L2 캐시가 별도의 SRAM 칩을 통해 구현되었으며 이는 당시(1998, 1999) 매우 일반적이었습니다.

이후 최대 180nm의 프로세스 기술이 발표되면서 제조업체는 마침내 L2 캐시를 프로세서 다이에 통합할 수 있게 되었습니다.


최초의 듀얼 코어 프로세서는 단순히 패키지당 2개의 다이를 포함하는 기존 설계를 사용했습니다. AMD는 모놀리식 칩에 듀얼코어 프로세서를 도입하고 메모리 컨트롤러와 스위치를 추가했으며, 인텔은 자사 최초의 듀얼코어 프로세서를 위해 2개의 싱글코어 칩을 하나의 패키지에 간단히 조립했습니다.


처음으로 L2 캐시가 Core 2 Duo 프로세서의 두 컴퓨팅 코어 간에 공유되기 시작했습니다. AMD는 더 나아가 최초의 쿼드 코어 Phenom을 처음부터 만들었고 Intel은 비용을 줄이기 위해 다시 한 쌍의 다이(이번에는 2개의 듀얼 코어 Core 2 다이)를 최초의 쿼드 코어 프로세서에 사용했습니다.

세 번째 레벨 캐시는 Alpha 21165 프로세서(96KB, 1995년에 출시된 프로세서) 또는 IBM Power 4(256KB, 2001) 초기부터 존재했습니다. 그러나 x86 기반 아키텍처에서 L3 캐시는 Intel Itanium 2, Pentium 4 Extreme(Gallatin, 두 프로세서 모두 2003년) 및 Xeon MP(2006) 모델에서 처음 등장했습니다.

초기 구현에서는 단순히 캐시 계층 구조의 또 다른 수준을 제공했지만 최신 아키텍처에서는 L3 캐시를 멀티 코어 프로세서의 코어 간 데이터 전송을 위한 대규모 공유 버퍼로 사용합니다. 이는 높은 n차 연관성에 의해 강조됩니다. 여러 코어가 메인 RAM에 매우 느리게 액세스하는 상황이 발생하는 것보다 캐시에서 데이터를 좀 더 오랫동안 찾는 것이 더 좋습니다. AMD는 이미 언급된 Phenom 라인을 갖춘 데스크탑 프로세서에 L3 캐시를 처음 도입했습니다. 65nm Phenom X4에는 2MB의 공유 L3 캐시가 포함되어 있으며 최신 45nm Phenom II X4에는 이미 6MB의 공유 L3 캐시가 있습니다. Intel Core i7 및 i5 프로세서는 8MB의 L3 캐시를 사용합니다.

최신 쿼드 코어 프로세서에는 각 코어에 전용 L1 및 L2 캐시가 있을 뿐만 아니라 모든 코어가 공유하는 대규모 L3 캐시도 있습니다. 공유 L3 캐시를 사용하면 코어가 병렬로 작업할 수 있는 데이터 교환도 가능합니다.


프로세서 성능을 향상시키는 중요한 요소 중 하나는 캐시 메모리의 존재 또는 오히려 그 볼륨, 액세스 속도 및 레벨 간 분포입니다.

꽤 오랫동안 거의 모든 프로세서에 이러한 유형의 메모리가 장착되어 있었으며 이는 그 존재의 유용성을 다시 한 번 입증했습니다. 이 기사에서는 프로세서의 매우 중요한 특성인 캐시 메모리의 구조, 수준 및 실제 목적에 대해 설명합니다.

캐시 메모리란 무엇이며 그 구조는 무엇인가요?

캐시 메모리는 가장 자주 액세스되는 데이터를 임시로 저장하기 위해 프로세서에서 사용하는 초고속 메모리입니다. 이것이 바로 이러한 유형의 메모리를 간략하게 설명할 수 있는 방법입니다.

캐시 메모리는 트랜지스터로 구성된 플립플롭을 기반으로 구축됩니다. 트랜지스터 그룹은 RAM을 구성하는 동일한 커패시터보다 훨씬 더 많은 공간을 차지합니다. 이로 인해 생산에 많은 어려움이 있을 뿐만 아니라 수량의 제한도 따릅니다. 그렇기 때문에 캐시 메모리는 매우 비싼 메모리이면서 볼륨은 무시할 수 있는 것입니다. 그러나 이러한 구조에서 이러한 메모리의 주요 이점은 속도입니다. 플립플롭은 재생이 필요하지 않고, 플립플롭이 조립되는 게이트의 지연 시간이 작기 때문에 플립플롭을 한 상태에서 다른 상태로 전환하는 시간이 매우 빠르게 발생합니다. 이를 통해 캐시 메모리는 최신 프로세서와 동일한 주파수에서 작동할 수 있습니다.

또한 중요한 요소는 캐시 메모리의 배치입니다. 이는 프로세서 칩 자체에 위치하므로 액세스 시간이 크게 단축됩니다. 이전에는 일부 수준의 캐시 메모리가 프로세서 칩 외부, 마더보드 어딘가에 있는 특수 SRAM 칩에 위치했습니다. 이제 거의 모든 프로세서에는 프로세서 칩에 캐시 메모리가 있습니다.

프로세서 캐시는 어떤 용도로 사용되나요?

위에서 언급했듯이 캐시 메모리의 주요 목적은 프로세서에서 자주 사용하는 데이터를 저장하는 것입니다. 캐시는 데이터가 로드되는 버퍼이며 최신 프로세서에서는 작은 크기(약 4-16MB)에도 불구하고 모든 애플리케이션에서 상당한 성능 향상을 제공합니다.

캐시 메모리의 필요성을 더 잘 이해하기 위해 컴퓨터의 메모리를 사무실처럼 정리한다고 가정해 보겠습니다. RAM은 회계사가 대규모 데이터 블록(즉, 폴더)을 검색하기 위해 주기적으로 액세스하는 폴더가 있는 캐비닛입니다. 그리고 테이블은 캐시 메모리가 될 것입니다.

회계사의 책상 위에는 한 시간 동안 여러 번 언급하는 요소가 있습니다. 예를 들어 전화번호나 문서의 일부 예가 될 수 있습니다. 이러한 유형의 정보는 테이블 바로 위에 위치하므로 해당 정보에 대한 액세스 속도가 향상됩니다.

같은 방식으로 큰 데이터 블록(폴더)의 데이터를 테이블(예: 문서)에 추가하여 빠르게 사용할 수 있습니다. 이 문서가 더 이상 필요하지 않으면 캐비닛(RAM)에 다시 배치하여 테이블(캐시 메모리)을 지우고 다음 기간에 사용될 새 문서를 위해 이 테이블을 비워줍니다.

또한 캐시 메모리를 사용하면 다시 액세스할 가능성이 가장 높은 데이터가 있는 경우 RAM의 이 데이터가 캐시 메모리에 로드됩니다. 이는 현재 데이터 다음에 사용될 가능성이 가장 높은 데이터를 공동 로드함으로써 발생하는 경우가 많습니다. 즉, "이후"에 무엇이 사용될지에 대한 가정이 있습니다. 이것이 복잡한 작동 원리입니다.

프로세서 캐시 수준

최신 프로세서에는 대개 2~3개 레벨로 구성된 캐시가 장착되어 있습니다. 물론 예외도 있지만 이런 경우가 많습니다.

일반적으로 L1(첫 번째 수준), L2(두 번째 수준), L3(세 번째 수준) 수준이 있을 수 있습니다. 이제 각각에 대해 좀 더 자세히 설명하겠습니다.

첫 번째 레벨 캐시(L1)는 프로세서 코어와 직접 작동하는 가장 빠른 캐시 메모리 레벨입니다. 이러한 긴밀한 상호 작용 덕분에 이 레벨은 액세스 시간이 가장 짧고 프로세서에 가까운 주파수에서 작동합니다. 프로세서와 두 번째 수준 캐시 사이의 버퍼입니다.

고성능 프로세서 Intel Core i7-3770K의 볼륨을 고려해 보겠습니다. 이 프로세서에는 4x32KB L1 캐시(4 x 32KB = 128KB)가 장착되어 있습니다. (코어당 32KB)

두 번째 수준 캐시(L2) – 두 번째 수준은 첫 번째 수준보다 크지만 결과적으로 "속도 특성"이 더 낮습니다. 따라서 L1과 L3 레벨 사이의 완충 역할을 합니다. Core i7-3770 K의 예를 다시 살펴보면 L2 캐시 메모리 크기는 4x256KB = 1MB입니다.

세 번째 수준 캐시(L3) – 세 번째 수준도 이전 두 수준보다 느립니다. 하지만 여전히 RAM보다 훨씬 빠릅니다. i7-3770K의 L3 캐시 크기는 8MB입니다. 이전 두 레벨이 각 코어에서 공유되는 경우 이 레벨은 전체 프로세서에 공통됩니다. 그 수치는 매우 견고하지만 엄청나지는 않습니다. 예를 들어 i7-3960X와 같은 Extreme 시리즈 프로세서의 경우 15MB이고 일부 새로운 Xeon 프로세서의 경우 20MB가 넘습니다.

we-it.net

캐시는 어떤 용도로 사용되며 얼마만큼 필요합니까?

우리는 현금에 대해 이야기하는 것이 아니라 프로세서 캐시 메모리 등에 대해 이야기하고 있습니다. 거래자들은 특히 중앙 프로세서와 하드 드라이브의 캐시를 통해 캐시 메모리 용량으로 또 다른 상업적인 페티시를 만들었습니다(비디오 카드에도 있지만 아직 도달하지 못했습니다). 따라서 1MB L2 캐시가 있는 XXX 프로세서와 2MB 캐시가 있는 정확히 동일한 XYZ 프로세서가 있습니다. 어느 것이 더 나은지 맞춰보세요? 아- 바로 하지 마세요!

캐시 메모리는 나중에 연기할 수 있거나 연기해야 ​​하는 것을 저장하는 버퍼입니다. 프로세서가 작업을 수행하고 있으며 중간 데이터를 어딘가에 저장해야 하는 상황이 발생합니다. 물론 캐시에 있습니다! - 결국 RAM보다 훨씬 더 빠르기 때문입니다. 이는 프로세서 다이 자체에 있으며 일반적으로 동일한 주파수에서 실행됩니다. 그리고 얼마 후 그는 이 데이터를 다시 가져와 다시 처리할 것입니다. 대략적으로 말하자면, 감자(당근)가 아닌 다른 것을 발견할 때마다 그것을 상자에 던지는 컨베이어 벨트의 감자 분류기와 같습니다. 그리고 그것이 가득 차면 일어나서 다음 방으로 가져갑니다. 이 순간, 컨베이어는 가만히 서 있고 가동 중지 시간이 관찰됩니다. 이 비유에서는 상자의 부피가 캐시입니다. 그리고 1MB 또는 12가 얼마나 필요합니까? 볼륨이 작 으면 제거에 너무 많은 시간을 소비해야하고 간단하다는 것이 분명하지만 특정 볼륨 이후에는 더 늘리면 아무것도 생성되지 않습니다. 글쎄요, 분류기에는 1000kg의 당근을 담을 수 있는 상자가 있을 것입니다. 하지만 근무 시간 내내 그렇게 많은 당근을 갖고 있지는 않을 것이고 이것이 그를 두 배 더 빠르게 만들 수는 없을 것입니다! 또 하나의 미묘함이 있습니다. 큰 캐시는 첫째로 캐시에 대한 액세스 지연을 증가시킬 수 있으며 동시에 예를 들어 오버클러킹 중에 오류가 발생할 가능성도 증가합니다. (이 경우 프로세서의 안정성/불안정성을 확인하는 방법을 읽고 캐시에서 오류가 발생하는지 확인하고 여기에서 L1 및 L2를 테스트할 수 있습니다.) 셋째, 캐시는 상당한 양의 칩 영역을 차지하며 프로세서 회로의 트랜지스터 예산. 하드 드라이브의 캐시 메모리에도 동일하게 적용됩니다. 그리고 프로세서 아키텍처가 강력하다면 많은 애플리케이션에서 1024KB 이상의 캐시가 필요할 것입니다. 빠른 HDD가 있는 경우 16MB 또는 32MB가 적합합니다. 그러나 필요한 7200 대신 5900의 속도를 가진 그린 버전(Green WD)이라는 트림이라면 64MB의 캐시가 있어도 속도가 더 빨라지지 않습니다. 후자에 8MB가 있더라도 마찬가지입니다. 그런 다음 Intel과 AMD 프로세서는 이 캐시를 다르게 사용합니다. 일반적으로 AMD는 더 효율적이며 프로세서는 더 작은 값을 사용하는 것이 더 편합니다. 또한 Intel에는 공유 캐시가 있지만 AMD에는 각 코어마다 개별적으로 캐시가 있습니다. AMD 프로세서에서 가장 빠른 L1 캐시는 데이터 및 명령용으로 64KB로 Intel 캐시의 두 배입니다. 세 번째 레벨 L3 캐시는 일반적으로 AMD Phenom II 1055T X6 Socket AM3 2.8GHz 또는 경쟁사 Intel Core i7-980X와 같은 상위 프로세서에 있습니다. 우선, 게임은 대용량 캐시를 좋아합니다. 그리고 많은 전문 애플리케이션은 캐시를 좋아하지 않습니다(참조: 렌더링, 비디오 편집 및 전문 응용 프로그램용 컴퓨터). 보다 정확하게는 가장 까다로운 사람들은 일반적으로 그에게 무관심합니다. 하지만 절대 해서는 안 되는 일은 캐시 크기에 따라 프로세서를 선택하는 것입니다. 최신 버전의 기존 Pentium 4에는 3GHz가 훨씬 넘는 작동 주파수에서 2MB의 캐시가 있었습니다. 약 2GHz의 주파수에서 작동하는 저렴한 듀얼 코어 Celeron E1***과 성능을 비교해 보세요. 그는 노인에게서 돌을 떼지 않을 것입니다. 보다 적절한 예는 거의 200달러(6MB 캐시로 인해)에 달하는 고주파수 듀얼 코어 E8600과 2MB에 불과한 Athlon II X4-620 2.6GHz입니다. 이것은 Athlone이 경쟁자를 도살하는 것을 막지는 못합니다.

그래프에서 볼 수 있듯이 복잡한 프로그램이나 프로세서를 많이 사용하는 게임에서는 캐시가 추가 코어를 대체할 수 없습니다. 2MB 캐시를 갖춘 Athlon(빨간색)은 더 낮은 주파수와 거의 절반의 비용에서도 6MB 캐시를 갖춘 Cor2Duo를 쉽게 능가합니다. 또한 많은 사람들은 비디오 카드에 캐시가 있다는 사실을 잊어버립니다. 일반적으로 비디오 카드에는 프로세서도 있기 때문입니다. 최근의 예는 GTX460 비디오 카드로, 버스 및 메모리 용량(구매자가 추측할 수 있음)뿐만 아니라 셰이더 캐시도 각각 512Kb에서 384Kb(구매자가 추측할 수 없음)로 줄일 수 있습니다. ). 그리고 이는 또한 생산성에 부정적인 기여를 추가할 것입니다. 캐시 크기에 대한 성능의 의존성을 알아내는 것도 흥미로울 것입니다. 동일한 프로세서의 예를 사용하여 캐시 크기가 증가함에 따라 얼마나 빨리 증가하는지 살펴보겠습니다. 아시다시피 E6***, E4*** 및 E2*** 시리즈 프로세서는 캐시 크기(각각 4, 2, 1MB)만 다릅니다. 2400MHz의 동일한 주파수에서 작동하면 다음과 같은 결과가 나타납니다.

보시다시피 결과는 크게 다르지 않습니다. 더 말하겠습니다. 6MB 용량의 프로세서가 포함되어 있다면 결과가 조금 더 증가했을 것입니다. 프로세서가 포화 상태에 도달합니다. 그러나 512Kb 모델의 경우 감소가 눈에 띄게 나타납니다. 즉, 게임용으로도 2MB이면 충분합니다. 요약하면 다음과 같은 결론을 내릴 수 있습니다. 캐시는 이미 다른 모든 것이 많을 때 좋습니다. 가장 큰 정렬 상자라도 다른 정렬기를 대체할 수 없기 때문에 동일한 비용으로 하드 드라이브의 속도나 캐시 크기에 대한 프로세서 코어 수를 변경하는 것은 순진하고 어리석은 일입니다. 예를 들어, 65nm 프로세스의 초기 개정판인 Pentium 듀얼 코어에는 2개의 코어(E2160 시리즈 및 유사)에 대해 1MB의 캐시가 있었고 E5200 시리즈의 이후 45nm 개정판에는 여전히 2MB가 있으며 다른 모든 사항은 동일합니다( 그리고 가장 중요한 것은 - 가격). 물론 후자를 선택해야 합니다.

compua.com.ua

캐시란 무엇이며 왜 필요하며 어떻게 작동합니까?

컴퓨터에서 가장 더러운 곳은 어디입니까? 바구니라고 생각하시나요? 사용자 폴더? 냉각 시스템? 당신은 잘못 추측했습니다! 가장 더러운 곳은 캐시다! 결국, 끊임없이 청소해야합니다!

실제로 컴퓨터에는 많은 캐시가 있으며 캐시는 폐기물 처리장이 아닌 장비 및 응용 프로그램의 가속기 역할을 합니다. '시스템 쓰레기 슈트'라는 평판은 어디서 얻었습니까? 캐시가 무엇인지, 캐시가 무엇인지, 어떻게 작동하는지, 왜 가끔 정리해야 하는지 알아봅시다.

캐시 또는 캐시 메모리는 자주 사용되는 데이터를 저장하는 특수 저장소로, RAM이나 기타 저장 매체보다 수십 배, 수백 배, 수천 배 빠르게 액세스됩니다.

애플리케이션(웹 브라우저, 오디오 및 비디오 플레이어, 데이터베이스 편집기 등), 운영 체제 구성 요소(썸네일 캐시, DNS 캐시) 및 하드웨어(CPU 캐시 L1-L3, 그래픽 프레임 버퍼)에는 자체 캐시 메모리, 스토리지 버퍼가 있습니다. . 소프트웨어와 하드웨어 등 다양한 방식으로 구현됩니다.

  • 프로그램 캐시는 예를 들어 그림, 메뉴, 스크립트, 멀티미디어 컨텐츠 및 방문한 사이트의 기타 컨텐츠가 로드되는 별도의 폴더 또는 파일입니다. 웹 페이지를 다시 열 때 브라우저가 처음으로 들어가는 곳이 바로 이 폴더입니다. 로컬 저장소의 일부 콘텐츠를 페이징하면 로딩 속도가 빨라지고 네트워크 트래픽이 줄어듭니다.

  • 저장 장치(특히 하드 드라이브)에서 캐시는 전자 보드에 있는 1-256Mb 용량의 별도 RAM 칩입니다. 이는 자기층에서 읽혀졌지만 아직 RAM에 로드되지 않은 정보와 운영 체제에서 가장 자주 요청하는 데이터를 수신합니다.

  • 최신 중앙 프로세서에는 동일한 칩에 하드웨어 모듈 형태로 위치한 2~3개의 주요 캐시 메모리 레벨(초 랜덤 액세스 메모리라고도 함)이 포함되어 있습니다. 가장 빠르고 작은 크기(32-64Kb)는 캐시 레벨 1(L1)이며 프로세서와 동일한 주파수에서 작동합니다. L2는 속도와 용량(128Kb ~ 12Mb)에서 평균 위치를 차지합니다. L3은 가장 느리고 용량이 가장 크며(최대 40Mb) 일부 모델에는 없습니다. L3의 속도는 더 빠른 형제에 비해 낮지만 가장 생산적인 RAM보다 수백 배 빠릅니다.

프로세서의 플래시 메모리는 RAM 및 기계어 명령어에서 펌핑되어 지속적으로 사용되는 데이터를 저장하는 데 사용됩니다. 숫자가 많을수록 프로세서 속도가 빨라집니다.

오늘날에는 세 가지 수준의 캐싱이 더 이상 제한되지 않습니다. Sandy Bridge 아키텍처의 출현으로 Intel은 자사 제품에 추가 캐시 L0(암호화된 마이크로 명령어 저장용)을 구현했습니다. 그리고 가장 고성능 CPU에는 별도의 칩 형태로 만들어진 4단계 캐시도 있습니다.

개략적으로 캐시 수준 L0-L3의 상호 작용은 다음과 같습니다(Intel Xeon의 예 사용).

모든 것이 어떻게 작동하는지에 대한 인간의 언어로

캐시 메모리가 어떻게 작동하는지 이해하기 위해 책상에서 일하는 사람을 상상해 봅시다. 그가 지속적으로 사용하는 폴더와 문서는 테이블(캐시 메모리)에 있습니다. 액세스하려면 손을 뻗으면 됩니다.

자주 필요하지 않은 서류는 가까운 선반(RAM)에 보관됩니다. 그것을 얻으려면 일어서서 몇 미터를 걸어야 합니다. 그리고 현재 사람이 작업하지 않는 작업은 보관됩니다(하드 드라이브에 기록됩니다).

테이블이 넓을수록 더 많은 문서가 들어갈 수 있으며 이는 작업자가 더 많은 양의 정보에 빠르게 액세스할 수 있음을 의미합니다(이론적으로 캐시 용량이 클수록 프로그램이나 장치 작동 속도가 빨라집니다).

때때로 그는 실수를 합니다. 그는 책상 위에 잘못된 정보가 포함된 서류를 보관하고 이를 업무에 사용합니다. 결과적으로 작업 품질이 저하됩니다(캐시 오류로 인해 프로그램 및 하드웨어 오작동이 발생함). 상황을 해결하려면 직원은 오류가 있는 문서를 버리고 올바른 문서를 제자리에 넣어야 합니다(캐시 메모리 지우기).

테이블은 제한된 영역을 가지고 있습니다(캐시 메모리의 용량은 제한되어 있습니다). 예를 들어 두 번째 테이블을 이동하여 확장할 수도 있고 확장할 수 없는 경우도 있습니다(프로그램에서 이러한 가능성을 제공하는 경우 캐시 크기를 늘릴 수 있습니다. 하드웨어 캐시는 하드웨어에서 구현되므로 변경할 수 없습니다). .

책상이 수용할 수 있는 것보다 더 많은 문서에 대한 액세스 속도를 높이는 또 다른 방법은 보조원이 선반에서 작업자 서류를 처리하도록 하는 것입니다(운영 체제는 사용되지 않은 RAM의 일부를 캐시 장치 데이터에 할당할 수 있음). 그러나 테이블에서 가져오는 것보다 여전히 느립니다.

현재 가지고 있는 문서는 현재 작업과 관련이 있어야 합니다. 직원 자신이 이를 모니터링해야 합니다. 정기적으로 정리해야 합니다(캐시 메모리에서 관련 없는 데이터를 제거하는 것은 이를 사용하는 응용 프로그램의 책임입니다. 일부 프로그램에는 자동 캐시 지우기 기능이 있습니다).

직원이 직장에서 질서를 유지하고 문서를 최신 상태로 유지하는 것을 잊은 경우 책상 청소 일정을 작성하여 알림으로 사용할 수 있습니다. 최후의 수단으로 이를 보조자에게 맡기십시오(캐시 메모리에 의존하는 애플리케이션이 느려지거나 관련 없는 데이터를 자주 다운로드하는 경우 일정에 따라 캐시 정리 도구를 사용하거나 며칠에 한 번씩 이 조작을 수동으로 수행하십시오).

실제로 우리는 어디에서나 "캐싱 기능"을 접하게 됩니다. 여기에는 나중에 사용할 식료품 구입과 동시에 지나가는 다양한 작업 등이 포함됩니다. 본질적으로 이것은 불필요한 소란과 불필요한 움직임으로부터 우리를 구하고 삶을 합리화하며 작업을 더 쉽게 만드는 모든 것입니다. 컴퓨터도 마찬가지입니다. 즉, 캐시가 없으면 작동 속도가 수백, 수천 배 느려질 것입니다. 그리고 우리는 아마 그것을 좋아하지 않을 것입니다.

f1comp.ru

캐시, 캐시, 현금 - 메모리. 캐시 메모리는 어떤 용도로 사용되나요? 캐시 크기와 속도가 성능에 미치는 영향.

캐시 - 메모리(캐시, 캐시, 버퍼 - 영어) - 디지털 장치에서 고속 클립보드로 사용됩니다. 캐시 메모리는 하드 드라이브, 프로세서, 비디오 카드, 네트워크 카드, CD 드라이브 등과 같은 컴퓨터 장치에서 찾을 수 있습니다.

캐시의 작동 원리와 아키텍처는 크게 다를 수 있습니다.

예를 들어 캐시는 일반 클립보드 역할을 할 수 있습니다. 장치는 데이터를 처리하고 이를 고속 버퍼로 전송하며, 여기서 컨트롤러는 데이터를 인터페이스로 전송합니다. 이러한 캐시는 오류를 방지하고 하드웨어 데이터의 무결성을 확인하거나 장치의 신호를 지연 없이 인터페이스에 대해 이해할 수 있는 신호로 인코딩하기 위한 것입니다. 이 시스템은 예를 들어 CD/DVD 드라이브에 사용됩니다.

또 다른 경우에는 캐시가 자주 사용되는 코드를 저장하여 데이터 처리 속도를 높이는 역할을 할 수 있습니다. 즉, 장치는 데이터를 다시 계산하거나 조회할 필요가 없으며 이는 캐시에서 데이터를 읽는 것보다 훨씬 오래 걸립니다. 이 경우 캐시의 크기와 속도가 매우 중요한 역할을 합니다.


이 아키텍처는 하드 드라이브, SSD 드라이브 및 중앙 처리 장치(CPU)에서 가장 흔히 발견됩니다.

장치가 작동 중일 때 특수 펌웨어나 디스패처 프로그램이 캐시에 로드될 수 있으며 이는 ROM(읽기 전용 메모리)에서 더 느리게 작동합니다.

대부분의 최신 장치는 클립보드 역할과 자주 사용되는 코드 저장 기능을 모두 수행할 수 있는 혼합 유형의 캐시를 사용합니다.

프로세서 및 비디오 칩의 캐시를 위해 구현된 몇 가지 매우 중요한 기능이 있습니다.

실행 단위를 결합합니다. 중앙 처리 장치와 비디오 프로세서는 코어 간에 빠른 공유 캐시를 사용하는 경우가 많습니다. 따라서 하나의 코어에서 처리된 정보가 캐시에 있고 동일한 작업에 대한 명령이 수신되거나 이 데이터로 작업하는 경우 데이터는 프로세서에 의해 다시 처리되지 않고 프로세서에서 가져옵니다. 추가 처리를 위해 캐시합니다. 커널은 다른 데이터를 처리하기 위해 오프로드됩니다. 이는 특히 캐시가 크고 빠른 경우 유사하지만 복잡한 계산의 성능을 크게 향상시킵니다.

또한 공유 캐시를 사용하면 느린 RAM을 우회하여 코어가 직접 작업할 수 있습니다.

지침을 캐시합니다. 명령 및 기타 작업을 위한 공유된 매우 빠른 L1 캐시 또는 이를 위한 전용 캐시가 있습니다. 프로세서에 저장된 명령어가 많을수록 필요한 명령어 캐시도 커집니다. 이렇게 하면 메모리 대기 시간이 줄어들고 명령 블록이 거의 독립적으로 작동할 수 있으며, 명령 블록이 가득 차면 주기적으로 유휴 상태가 되기 시작하여 계산 속도가 느려집니다.

기타 기능 및 특징.

CPU(중앙 처리 장치)에서는 하드웨어 오류 수정(ECC)이 사용된다는 점은 주목할 만합니다. 캐시의 작은 오류로 인해 이 데이터를 추가로 처리하는 동안 지속적인 오류가 발생할 수 있기 때문입니다.

CPU와 GPU에는 개별 코어와 일반 코어의 데이터를 분리할 수 있는 캐시 계층 구조가 있습니다. 두 번째 수준 캐시의 거의 모든 데이터는 여전히 세 번째 일반 수준으로 복사되지만 항상 그런 것은 아닙니다. 첫 번째 캐시 수준이 가장 빠르며 이후의 각 수준은 느리지만 크기가 더 큽니다.

프로세서의 경우 3개 이하의 캐시 수준이 정상으로 간주됩니다. 이를 통해 속도, 캐시 크기 및 열 방출 간의 균형을 맞출 수 있습니다. 비디오 프로세서에서 두 개 이상의 캐시 레벨을 찾는 것은 어렵습니다.

캐시 크기, 성능에 미치는 영향 및 기타 특성.

당연히 캐시가 클수록 더 많은 데이터를 저장하고 처리할 수 있지만 여기에는 심각한 문제가 있습니다.

캐시가 크다는 것은 트랜지스터 예산이 크다는 것을 의미합니다. 서버 처리 장치(CPU)에서 캐시는 트랜지스터 예산의 최대 80%를 사용할 수 있습니다. 첫째, 이는 최종 비용에 영향을 미치고 둘째, 에너지 소비 및 열 방출 증가로 인해 생산성이 몇 퍼센트 증가한 것과 비교할 수 없습니다.