캐시란 무엇입니까?
캐시는 캐시 메모리라고 하는데 중앙 처리 장치와 메인 메모리 사이에 있는 고속, 소용량 메모리입니다. 일반적으로 이런 종류의 로컬 메모리는 CPU를 지향합니다. CPU와 메인 메모리 간의 연결을 줄이거나 제거하기 위해 도입되었습니다. 메모리 간의 속도 차이가 시스템 성능에 미치는 영향. 캐시 용량은 작지만 빠르며, 메모리 속도는 낮지만 용량이 큽니다. 스케줄링 알고리즘을 최적화하면 시스템 성능이 크게 향상됩니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.
캐시란?
캐시 메모리: 컴퓨터의 캐시 메모리는 CPU와 메인 메모리 사이에 위치한 작지만 고속의 메모리인 DRAM(Dynamic Random Access Memory)으로, 일반적으로 SRAM(Static)으로 구성됩니다. 랜덤 액세스 메모리).
그림 3.28에서 볼 수 있듯이 캐시는 CPU와 메인 메모리 M2 사이의 소용량 메모리이지만, 액세스 속도는 메인 메모리보다 빠르고 용량도 메인 메모리에 비해 훨씬 작습니다. 캐시는 CPU에 명령과 데이터를 고속으로 제공하여 프로그램 실행 속도를 높일 수 있습니다. 기능적으로 보면 고속 SRAM으로 구성된 주 메모리의 버퍼 메모리이다. 고속을 추구하기 위해 관리를 포함한 모든 기능이 하드웨어로 구현되므로 프로그래머에게 투명합니다.
현재 반도체 소자 집적화의 발전으로 소용량 캐시와 CPU를 하나의 칩에 집적할 수 있고, 이들의 동작 속도는 CPU 속도에 가까워 2레벨 이상의 캐시 시스템을 구성하고 있다. .
캐시의 기능
캐시의 기능은 CPU 데이터 입출력 속도를 높이는 것입니다. 캐시 용량은 작지만 빠르며, 메모리 속도는 낮지만 용량은 크다. 스케줄링 알고리즘을 최적화하면 마치 스토리지 시스템 용량이 메모리와 같고 액세스 속도가 비슷한 것처럼 시스템 성능이 크게 향상됩니다. 캐시.
CPU의 속도는 메모리의 속도보다 훨씬 빠릅니다. CPU가 메모리의 데이터에 직접 액세스할 때 일정 시간 동안 기다려야 하는 반면, 캐시는 CPU가 저장하는 데이터의 일부를 저장할 수 있습니다. 방금 사용했거나 재활용한 경우, CPU가 데이터의 이 부분을 다시 사용해야 하는 경우 캐시에서 직접 호출할 수 있으므로 데이터에 대한 반복적인 액세스를 방지하고 CPU의 대기 시간을 줄여 시스템 효율성을 향상시킵니다. . 캐시는 L1Cache(레벨 1 캐시)와 L2Cache(레벨 2 캐시)로 구분됩니다. L1Cache는 주로 CPU 내부에 통합되는 반면, L2Cache는 마더보드나 CPU에 통합됩니다.
캐시의 기본 원리
캐시에는 SRAM 외에 제어 로직도 있습니다. 캐시가 CPU 칩 외부에 있는 경우 해당 제어 논리는 일반적으로 주 메모리/체이스 컨트롤러라고 하는 주 메모리 제어 논리와 결합됩니다. 캐시가 CPU 내부에 있는 경우 CPU는 제어 논리를 제공합니다. C CPU와 캐시 사이의 데이터 교환은 워드를 기반으로 하고, 캐시와 메인 메모리 사이의 데이터 교환은 블록을 기반으로 한다. 블록은 여러 단어로 구성되며 길이가 고정되어 있습니다. CPU가 메모리의 단어를 읽으면 해당 단어의 메모리 주소를 캐시와 주 메모리로 보냅니다. 이때, 캐시 제어 로직은 주소를 기준으로 해당 워드가 현재 캐시에 있는지 여부를 판단합니다. 그렇다면 캐시에 적중되고 해당 워드가 즉시 CPU로 전송되며, 그렇지 않으면 캐시가 누락(missing)됩니다. 주 메모리 읽기 주기는 주 메모리에서 단어를 읽는 데 사용되며, 동시에 이 단어가 포함된 전체 데이터 블록을 주 메모리에서 읽어 캐시로 보냅니다.
그림 3.29는 캐시의 개략도를 보여줍니다. 캐시 읽기 시간이 50ns이고 메인 메모리 읽기 시간이 250ns라고 가정합니다. 스토리지 시스템은 모듈식이며 메인 메모리의 각 8K 모듈은 16워드 용량의 캐시와 연결됩니다. 캐시는 4개의 라인으로 나누어지며, 각 라인에는 4개의 워드(W)가 있습니다. 캐시에 할당된 주소는 콘텐츠 주소 지정이 가능한 메모리인 연관 메모리 CAM에 저장됩니다. CPU가 메모리 액세스 명령을 실행할 때 액세스할 단어의 주소를 CAM으로 보냅니다. W가 캐시에 없으면 W가 주 메모리에서 CPU로 전송됩니다. 동시에 W를 포함하는 4개의 연속 단어로 구성된 데이터 행이 캐시로 전송되어 캐시에 있는 원래 데이터 행을 대체합니다. 여기서 교체 알고리즘은 항상 캐시 사용량을 관리하는 하드웨어 논리 회로로 구현됩니다.
캐시 적중률CPU 관점에서 캐시를 추가하는 목적은 성능 측면에서 메인 메모리의 평균 읽기 시간을 캐시 읽기 시간에 최대한 가깝게 만드는 것입니다. 이 목표를 달성하려면 모든 메모리 액세스 중 CPU 요구 사항을 충족하기 위해 캐시가 충족하는 비율이 높아야 합니다. 즉, 캐시 적중률이 1에 가까워야 합니다. 이 목표를 달성하는 것은 프로그램 액세스의 지역성으로 인해 가능합니다.
프로그램 실행 중 Nc는 캐시가 완료된 총 액세스 횟수, Nₘ는 주 메모리가 완료된 총 액세스 횟수, h를 적중률로 정의하면 h=Nc/( Nc+Nₘ)
tc가 적중 발생 시 캐시 접근 시간, tₘ가 미스 발생 시 주 메모리 접근 시간, 1-h가 미스율(missing rate)을 나타내고, 캐시의 평균 접근 시간 tₐ를 나타낸다면/ 메인 메모리 시스템은
tₐ=htc+(1−h)tₘ
저희가 추구하는 목표는 적은 하드웨어 비용으로 캐시/메인 메모리 시스템의 평균 액세스 시간 tₐ를 tc에 최대한 가깝게 만드는 것입니다. r=tₘ/tc는 메인 메모리와 캐시 사이의 접근 시간 비율을 나타내고, e는 접근 효율을 나타낸다고 가정하면
e=tc/ta=tc/(htc+(1−h)tm)=1/(h+(1−h)r)=1/(r+(1−r)h)
이 공식을 보면 접근 효율을 높이기 위해서는 적중률 h가 가까울수록 1로 하면 더 좋습니다. 적절한 r 값은 5~10이며 너무 커서는 안 됩니다.
적중률 h는 프로그램 동작, 캐시 용량, 구성 방법 및 블록 크기와 관련이 있습니다.
캐시 구조 설계에서 해결해야 할 문제
캐시 설계는 두 가지 원칙을 따라야 한다는 것은 캐시의 기본 작동 원리에서 알 수 있습니다. 첫째, 캐시 적중률이 다음과 같이 높기를 바랍니다. 두 번째는 캐시가 CPU에 투명하기를 바라는 것입니다. 즉, 캐시가 있든 없든 CPU는 동일한 방식으로 메모리에 액세스하고 소프트웨어는 액세스할 수 있기를 바랍니다. 명령어를 추가하지 않고 캐시를 삭제합니다. 적중률과 투명성 문제가 해결되어 CPU가 메모리에 접근하는 관점에서 볼 때 메모리는 메인 메모리의 용량과 캐시에 가까운 속도를 갖게 됩니다. 이를 위해서는 제어 기능을 완성하기 위한 특정 하드웨어 회로, 즉 캐시 컨트롤러를 추가해야 합니다.
캐시 구조를 설계할 때 다음과 같은 몇 가지 문제를 해결해야 합니다. ① 주 메모리의 내용을 캐시로 전송할 때 어떻게 저장합니까? ② 메모리에 액세스할 때 캐시에 있는 정보를 어떻게 찾나요? 캐시 공간이 부족할 때 캐시에 있는 기존 정보 내용은 무엇입니까? ④ 쓰기 작업이 필요할 때 캐시 내용을 다시 쓰는 방법은 무엇입니까?
그중 처음 두 질문은 서로 관련이 있습니다. 즉, 캐시 내용을 찾는 방법은 무엇입니까? 캐시의 메인 메모리 정보, 메인 메모리 주소를 캐시 주소로 변환하는 방법. 주 메모리 용량에 비해 캐시 용량은 매우 작습니다. 저장되는 내용은 주 메모리 내용의 일부일 뿐이며 캐시와 주 메모리 간의 데이터 교환은 블록 단위입니다. 주 메모리 블록을 캐시에 넣기 위해서는 캐시에서 주 메모리 주소를 찾는 몇 가지 방법을 사용해야 하는데, 이를 주소 매핑이라고 합니다. 매핑(mapping)이라는 단어의 물리적인 의미는 위치 간의 대응 관계를 파악하고 이를 하드웨어로 구현하는 것입니다. 이런 방식으로 CPU가 메모리에 액세스하면 CPU가 제공한 워드의 메모리 주소가 자동으로 캐시 주소로 변환됩니다. 즉, 캐시 주소 변환이 이루어집니다.
캐시 교체 문제는 주로 캐시가 누락되었을 때 캐시에 있는 내용을 교체하는 교체 알고리즘을 선택하고 실행하는 것입니다. 마지막 질문은 업데이트 중에 주 메모리와 캐시 간의 일관성을 유지하는 데 초점을 맞춘 캐시의 쓰기 작업 전략과 관련이 있습니다.
관련 지식이 더 궁금하시다면 FAQ 칼럼을 방문해 주세요!
위 내용은 캐시란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











가장 빠른 액세스 메모리는 "내부 메모리"입니다. 컴퓨터의 메모리는 속도 순으로 배열된 계층 구조를 채택합니다. 내부 메모리, 캐시 메모리, 컴퓨터의 메인 메모리, 대용량 디스크 메모리는 일반적으로 RAM으로 구분됩니다. 랜덤 액세스 메모리 및 ROM 읽기 전용 메모리.

실제로는 이렇습니다. 당시 리더가 perf 하드웨어 성능 모니터링 작업을 지시했습니다. perf를 사용하는 동안 perf list 명령을 입력했는데 다음 정보가 표시되었습니다. 내 작업은 이러한 캐시 이벤트를 활성화하는 것입니다. 하지만 요점은 이러한 누락과 로드가 무엇을 의미하는지 전혀 모른다는 것입니다.

직접 접근이 가능합니다. 메모리라고도 불리는 내부 메모리는 외부 메모리와 CPU 사이의 다리 역할을 합니다. 컴퓨터의 모든 프로그램은 메모리에서 실행됩니다. 메모리의 기능은 연산 데이터를 CPU에 임시로 저장하거나 하드디스크 등 외부 메모리와 주고받는 데이터를 임시로 저장하는 것입니다. 컴퓨터가 실행되는 동안 운영 체제는 계산해야 하는 데이터를 메모리에서 CPU로 전송하여 계산이 완료되면 CPU가 결과를 결정합니다. 컴퓨터의 안정적인 작동.

컴퓨터가 강력한 메모리 성능을 갖기 위한 기본은 충분한 용량을 갖춘 저장 장치입니다. 메모리는 내부 메모리와 외부 메모리로 구분할 수 있으며, 이를 통해 컴퓨터는 강력한 메모리 기능을 갖게 되며, 많은 양의 정보를 저장할 수 있습니다. 여기에는 다양한 유형의 데이터 정보뿐만 아니라 이러한 데이터를 처리하는 프로그램도 포함됩니다.

메모리 시스템이란 프로그램과 데이터를 저장하는 각종 저장 장치, 제어 구성 요소, 정보 스케줄링을 관리하는 장치(하드웨어)와 알고리즘(소프트웨어)으로 구성된 컴퓨터 내부의 시스템을 말합니다. 스토리지 시스템은 컴퓨터 작업에 필요한 정보(프로그램 및 데이터)를 쓰고 읽는 기능을 제공하며, 컴퓨터의 정보기억 기능을 구현한다. 스토리지 시스템의 계층 구조는 레지스터 그룹, 캐시 캐시, 주 메모리, 가상 메모리 및 외부 메모리의 다섯 가지 수준으로 나눌 수 있습니다.

USB 플래시 드라이브는 중국에서 발명되었으며 Netac은 USB 플래시 드라이브의 세계적인 발명가입니다. 2002년 7월 Netac의 "데이터 처리 시스템을 위한 Fast Lightning 외부 저장 방법 및 장치"가 국가 특허청에 의해 공식적으로 승인되었습니다. 이 특허는 2004년 중국 컴퓨터 저장 분야의 발명 특허 공백을 메웠습니다. Netac은 2019년 12월 7일 미국 특허청으로부터 공식적으로 승인받은 플래시 디스크에 대한 기본 발명 특허를 받았습니다.

캐시를 사용하면 CPU의 대기 시간이 단축되므로 컴퓨터 속도가 향상될 수 있습니다. 캐시는 CPU와 메인 메모리 DRAM 사이에 위치한 작지만 고속의 메모리입니다. 캐시의 기능은 CPU 데이터 입출력 속도를 높이는 것입니다. 캐시는 용량은 작지만 속도가 빠르며, 메모리 속도는 낮지만 용량이 큽니다. 시스템 성능은 향상됩니다. 크게 개선되었습니다.

캐시(Cache)는 캐시 메모리(Cache Memory)라고 하며 중앙처리장치와 메인 메모리 사이에 있는 고속 소용량 메모리로 일반적으로 고속 SRAM으로 구성된다. CPU와 메모리 사이의 속도 차이가 시스템 성능에 미치는 영향을 줄이거 나 제거합니다. 캐시 용량은 작지만 빠르며, 메모리 속도는 낮지만 용량이 큽니다. 스케줄링 알고리즘을 최적화하면 시스템 성능이 크게 향상됩니다.