컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - 컴퓨터 캐시란 무엇입니까?

컴퓨터 캐시란 무엇입니까?

질문 1: 컴퓨터에서 버퍼링하고 캐시한다는 것은 무엇을 의미합니까? 좀 더 통속적인 방식으로 완충에 대한 질문을 하고 싶습니다. 노래 영화를 재생할 때마다 완충이 무엇인지 물어보시는 것 같습니다. 그렇죠? 사실 영화를 보거나 노래를 들을 때마다 컴퓨터에 다운로드해서 노래를 듣습니다. 일반 IE 브라우저와 마찬가지로 이 경로 c: \ documents and settings \ user name (일반적으로 "administrator") \ local settings \ temporary ii 로 다운로드합니다 따라서 버퍼는 실제로 컴퓨터에 다운로드된 캐시의 일부입니다. 캐시는 데이터 전송 속도를 높이는 임시 저장 영역입니다. 간단히 말해서 임시 파일 교환 영역입니다. 컴퓨터에서 가장 큰 캐시는 메모리 스틱입니다. 컵에는 컵과 하드 디스크, 메모리, 키보드, 마우스 간의 데이터 전송을 향상시키기 위한 캐시도 있습니다. 하드 드라이브와 비디오 카드에도 캐시가 있습니다. 나는 네가 거의 이해했다고 생각한다!

질문 2: 버퍼 (컴퓨터 버퍼) 버퍼란 무엇이며 중립, 중립 등으로 알려져 있습니다. 전쟁이나 기타 요인으로 인해 두 곳의 경계에 정해진 띠 지역을 가리킨다. 이 리본 영역은 전적으로 방지충 측이 소유하지 않으며, 일반적으로 쌍방이 공동으로 관리하거나 제 3 자가 보조적으로 관리한다.

버퍼는 지형 공간 대상의 영향 범위 또는 적용 범위, 특히 점, 선, 면 솔리드 주위에 자동으로 작성된 폭 있는 폴리곤입니다.

수학식은 Bi=(x:d(xi, Oi)≤R)?

즉, 개체 Oi 의 반지름이 R 인 버퍼는 Oi 로부터의 거리 D 가 R 보다 작은 모든 점의 * * * D 는 일반적으로 최소 유클리드 거리이지만 다른 거리로 정의할 수 있습니다.

또한 점 오브젝트의 삼각형, 직사각형 및 다이아몬드, 선 오브젝트의 양방향 대칭, 양면 비대칭 또는 일방적 버퍼, 면 오브젝트의 내부 및 외부 버퍼와 같은 특수한 형태의 버퍼가 있습니다. 다른 응용 프로그램에도 적용됩니다.

[이 단락 편집 ]f 1 의 버퍼

버퍼는 주로 고속 커브길에 설치되므로 전복하지 않고 차의 속도를 최대한 낮춰야 하므로 모래밭 버퍼가 넓을수록 좋습니다. 모래가 자동차의 속도를 낮추고, 자동차가 타이어 벽에 부딪히는 에너지도 낮추기 때문이다. 아스팔트 버퍼는 운전자가 경주용 자동차를 더 잘 통제할 수 있도록 설계되었다.

[이 단락 편집] 컴퓨터에 버퍼링

버퍼는 출력 또는 입력 데이터를 임시로 저장하는 메모리입니다.

버퍼의 데이터는 하드 드라이브와 같은 저장 장치에서 가져와 버퍼에 저장하여 CPU 또는 기타 대체 컴퓨팅 장치로 보내야 합니다.

"buffer" 라는 단어의 중국어 번역은 컴퓨터의 고속 부품이 저속 부품과 통신할 때 고속 부품의 출력을 임시로 어딘가에 저장하여 고속 부품이 저속 부품과 일치하도록 해야 합니다. 나중에, 이 의미는 임시 저장 영역의 의미로 확대되었다.

질문 3: 컴퓨터 캐시는 무엇을 의미합니까? 컴퓨터 캐시 (좁은 의미).

CPU 는 실행 속도가 빠르고 메모리에서 데이터를 읽는 속도가 부족하여 병목 현상 (미러 포인트, 병목 현상이 얇아 많은 양의 데이터가 차단되어 느려지는 현상) 이 발생하기 때문에 현대 컴퓨터는 CPU 가 데이터를 처리할 때 먼저 캐시에서 데이터를 추출하고 (CPU 에 내장되어 있으며 CPU 와의 데이터 교환 속도가 메모리보다 훨씬 빠름), 캐시의 데이터는 메모리에서 가져옵니다.

어떤 캐시든 원리는 똑같다! 버퍼를 통해 빠르거나 느린 사이를 전환하십시오!

질문 4: 컴퓨터의 L1 캐시와 L2 캐시는 각각 무엇입니까? 숨겨진 물건

캐시 크기도 CPU 의 중요한 지표 중 하나이며 캐시의 구조와 크기는 CPU 속도에 큰 영향을 미칩니다. CPU 의 캐시 작동 주파수는 매우 높으며, 일반적으로 프로세서와 같은 주파수로 시스템 메모리 및 하드 드라이브보다 훨씬 효율적입니다. 실제로 CPU 는 동일한 데이터 블록을 반복적으로 읽어야 하는 경우가 많으며, 캐시 용량이 증가하면 메모리나 하드 드라이브를 찾지 않고도 CPU 내부에서 데이터를 읽는 적중률이 크게 높아져 시스템 성능이 향상됩니다. 그러나 CPU 칩 면적과 비용 요인으로 인해 캐시가 작습니다.

L 1 캐시는 CPU 의 첫 번째 계층 캐시로 데이터 캐시와 명령 캐시로 구분됩니다. 내장형 L 1 캐시의 용량과 패브릭은 CPU 성능에 큰 영향을 미칩니다. 그러나 고속 버퍼 메모리는 정적 RAM 으로 구성되며 구조가 복잡합니다. CPU 의 코어 면적이 너무 클 수 없는 경우 L 1 레벨 캐시의 용량을 너무 크게 할 수 없습니다. 일반 서버 CPU 의 L 1 캐시 용량은 일반적으로 32-256 KB 입니다.

L2 캐시는 CPU 의 보조 캐시로 내부 및 외부 칩으로 구분됩니다. 내부 칩 L2 캐시는 클럭 속도와 동일한 속도로 실행되는 반면 외부 L2 캐시는 클럭 속도의 절반에 불과합니다. L2 캐시 용량도 CPU 성능에 영향을 미칩니다. 원칙은 CPU 가 클수록 좋다는 것이다. 이전에 가장 큰 국산 CPU 용량은 5 12KB 였으며, 현재 노트북에서 2M 에 이를 수 있으며, 서버와 워크스테이션에서는 CPU L2 캐시가 8M 이상으로 더 높습니다.

L3 캐시 (L3 캐시) 는 두 가지 종류로 나뉘는데, 초기의 외부는 현재 내장되어 있습니다. 실제로 L3 캐시 응용 프로그램은 메모리 대기 시간을 더욱 줄이고 대용량 데이터를 계산할 때 프로세서 성능을 향상시킬 수 있습니다. 메모리 대기 시간을 줄이고 대용량 데이터의 컴퓨팅 능력을 높이면 게임에 도움이 됩니다. 그러나 서버 영역에 L3 캐시를 추가하여 성능이 크게 향상되었습니다. 예를 들어 L3 캐시가 큰 구성은 물리적 메모리를 더 효율적으로 사용할 수 있으므로 느린 디스크 I/O 하위 시스템에서 더 많은 데이터 요청을 처리할 수 있습니다. L3 캐시가 더 큰 프로세서는 보다 효율적인 파일 시스템 캐시 동작과 짧은 메시지 및 프로세서 대기열 길이를 제공합니다.

사실 가장 오래된 L3 캐시는 AMD 가 발표한 K6-III 프로세서에 적용되었습니다. 당시 L3 캐시는 칩에 통합되지 않고 제조 공정의 이유로 마더보드에 통합되었다. L3 캐시는 시스템 버스 주파수와만 동기화할 수 있으며 주 메모리와 크게 다르지 않습니다. 이후 L3 캐시는 인텔이 서버 시장을 위해 내놓은 아이테니엄 프로세서입니다. 그런 다음 P4EE 와 제온 MP 가 있습니다. 인텔은 또한 향후 9MB L3 캐시 아이태니엄 2 프로세서와 24MB L3 캐시 듀얼 코어 아이태니엄 2 프로세서를 출시할 계획입니다.

그러나 L3 캐시는 프로세서 성능을 향상시키는 데 별로 중요하지 않습니다. 예를 들어 1MB L3 캐시가 장착된 제온 MP 프로세서는 여전히 용의 상대가 아닙니다. 이는 프런트 사이드 버스 증가가 캐시 증가보다 더 효과적인 성능 향상을 가져올 수 있음을 의미합니다.

질문 5: 컴퓨터의 메모리와 버퍼가 다른가요? "메모리" 는 컴퓨터가 실행 중인 프로그램과 처리된 데이터를 저장하는 인간의 뇌의 메모리 시스템과 같습니다. 컴퓨터가 켜져 있든 없든 간에 메모리에는 항상 각종 데이터 정보가 있어 영원히 유휴 상태가 아니라고 할 수 있다. 컴퓨터 프로그램을 실행할 때 프로그램은 먼저 메모리를 읽은 다음 특정 메모리에서 실행되며 처리 결과도 메모리에 저장됩니다. 즉, 메모리는 항상 CPU 와 데이터를 자주 교환합니다. 메모리가 없으면 CPU 작업을 수행하기가 어렵고 컴퓨터가 시작되지 않습니다.

컴퓨터에서 데이터의 양을 설명하는 단위는 "바이트 (보통 B)" 이고 메모리 크기는 MB ("메가바이트") 로 표시됩니다. 컴퓨터는 얼마나 많은 메모리를 구성해야 합니까? 수행할 작업이나 실행 중인 소프트웨어 및 처리할 데이터의 양에 따라 달라집니다. 초보자는 이 문제를 이렇게 이해할 수 있다. "기억" 은 마치 큰 창고와 같다. 이 창고의 용량은 저장할' 화물' 의 양, 즉 프로그램 운행의 기본 수요보다 작을 수 없다. 아주 작아요! "화물" 처리가 불편하여 CPU 의 실행 속도에 영향을 줄 수 있으며, 심지어 프로그램을 실행할 수 없게 될 수도 있습니다. 너무 크면 대부분의 창고가 텅 비어 자원을 헛되이 낭비하게 된다. 소프트웨어 고정 실행 시 메모리 증가는 시스템 실행 속도 향상에 한계가 있습니다. 메모리가 일정 수준에 도달하면 더 이상 메모리를 추가하여 실행 속도가 거의 향상되지 않습니다. 따라서 메모리 크기는 필요에 따라 결정해야 합니다. 예를 들어, 워드 프로세싱, 16 MB 는 거의 비슷합니다. 그러나 그래픽 이미지를 처리하거나 3 차원 게임을 하는 데 사용되는 경우 64MB 는 충분하지 않을 수 있습니다. 특히 멀티태스킹 환경에서는 128MB 가 적을 수 있습니다.

"캐시", 현대 컴퓨터에는 L/KLOC-0 과 L2 캐시가 모두 있습니다. 컴퓨터를 살 때, "셀러론 프로세서를 사지 마세요. 캐시가 적어요." 라는 친한 친구의 조언을 들어보셨을 겁니다.

컴퓨터 시스템에서 캐시는 여러 방면에서 중요한 역할을 하며 다양한 형태로 서로 다른 하드웨어에 존재합니다. 메모리 캐시, 하드 드라이브 및 플로피 캐시, 소프트웨어 디스크 캐시, 페이지 캐시 등이 있습니다. 가상 메모리도 다른 형태의 캐시입니다. 이' 신기한 하드웨어' 문장 에서 우리 는 캐시 를 탐색 해 볼 수 있 는 캐시 를 알 수 있 는 방법 을 알 수 있 는 작동 방식 과 왜 컴퓨터 시스템 에서 이렇게 중요 한 역할 을 했 다.

간단한 예입니다.

캐시는 컴퓨터 메모리 하위 시스템을 기반으로 하는 기술입니다. 캐시를 사용하는 주된 목적은 저가 컴퓨터를 고속으로 유지하는 것입니다. 캐쉬를 통해 컴퓨터는 일상적인 작업을 더 원활하고 빠르게 실행할 수 있습니다.

질문 6: 컴퓨터가 캐시를 설정하는 이유는 무엇입니까? 다음에 이 페이지에 들어가거나 이 소프트웨어를 열 때 코드와 사진을 다운로드하면 시간이 많이 절약되고 여는 속도가 빨라진다.

질문 7: 컴퓨터의 버퍼는 무엇입니까? 버퍼 오버플로는 설탕 10 파운드를 설탕 5 파운드만 담을 수 있는 용기에 넣는 것과 같다 ...

스택 오버플로우 (버퍼 오버플로우라고도 함) 공격은 가장 일반적으로 사용되는 해커 기술 중 하나입니다. 유닉스 자체와 위의 많은 응용 프로그램은 C 언어로 작성되었으며 C 언어는 버퍼의 경계를 확인하지 않습니다. 경우에 따라 사용자가 응용 프로그램에서 지정한 버퍼보다 긴 데이터를 입력하면 다른 데이터 영역을 덮어쓰게 됩니다. 이를 "스택 오버플로우 또는 버퍼 오버플로우" 라고 합니다.

일반적으로 다른 데이터 영역을 덮어쓰는 데이터는 의미가 없으며 최대 응용 프로그램 오류가 발생할 수 있습니다. 그러나 입력 데이터가' 해커' 가 세심하게 설계한 경우 스택을 덮고 있는 데이터가 바로 해커가 침입한 프로그램 코드라면 해커는 프로그램의 통제권을 얻게 된다. (윌리엄 셰익스피어, 해킹, 해킹, 해킹, 해킹, 해킹, 해킹, 해킹) 프로그램이 루트로 실행되면 해커는 루트 권한을 부여 받고 해커 프로그램을 컴파일하여 침입 뒷문을 남겨 추가 공격을 수행 할 수 있습니다. 이 원리에 따른 해커 공격은' 스택 오버플로우 공격' 이라고 한다.

이해하기 쉽도록, 우리는 비유를 해도 무방하다. 버퍼 오버플로는 10 파운드의 설탕을 5 파운드밖에 담을 수 없는 용기에 넣는 것과 같다. 컨테이너가 가득 차면 나머지는 카운터와 바닥으로 넘쳐 엉망이 된다. 컴퓨터 프로그램 작성자가 일부 코드를 작성했기 때문에 이러한 코드는 대상 영역이나 버퍼 (5 파운드 컨테이너) 를 제대로 검사하지 않아 새로운 내용 (10 파운드 설탕) 을 완전히 수용할 수 있을 만큼 충분히 큰지 확인합니다. 이로 인해 버퍼 오버플로가 발생할 수 있습니다. 새로운 곳에 놓아야 할 데이터가 부적절하고 여기저기 넘칠 경우 많은 번거로움을 초래할 수 있다. 그러나 버퍼가 오버플로우일 경우 문제가 됩니다. 지금까지, 그것은 아직 파괴적이지 않다. 설탕이 넘칠 때 카운터가 덮였다. 너는 설탕을 지우거나 진공청소기로 빨아서 카운터의 원래 모습을 복원할 수 있다. 반대로 버퍼가 오버플로우되면 추가 정보가 컴퓨터 메모리의 이전 내용을 덮어씁니다. 덮어쓰는 내용을 저장하거나 복구할 수 없는 한 영원히 손실됩니다.

누락된 정보에는 버퍼 오버플로가 발생할 때까지 프로그램에서 호출할 수 있는 하위 프로그램 목록이 있습니다. 또한 이러한 하위 프로그램에 제공된 정보 (매개변수) 도 손실됩니다. 즉, 프로그램은 하위 프로그램에서 작업을 완료하기에 충분한 정보를 얻을 수 없습니다. 한 사람이 사막을 걷는 것과 같다. 만약 그가 발자국으로 돌아간다면, 황사가 올 때 사막에서 길을 잃고 이 흔적들을 지울 것이다. 이 문제는 절차보다 길을 잃는 것보다 훨씬 심각하다. 침입자는 잘 작성된 침입 코드 (악성 프로그램) 를 사용하여 버퍼를 넘친 다음 미리 설정된 방식으로 버퍼를 처리하고 실행하도록 프로그램에 지시합니다. 이 시점에서 프로그램은 침입자에 의해 완전히 조작되었습니다.

침입자는 종종 다른 프로그램을 실행하기 위해 기존 응용 프로그램을 수정합니다. 예를 들어 침입자는 새 프로그램을 시작하고 비밀 파일 (수표 기록, 암호 파일 또는 인벤토리) 을 침입자의 e-메일로 보낼 수 있습니다. 마치 황사가 발자국을 날려버린 것 뿐만 아니라, 후발자도 새로운 발자국을 밟아 우리가 잃어버린 그 사람을 다른 곳으로 인도할 것 같다. 그는 아무것도 모르는 곳이다. (윌리엄 셰익스피어, 햄릿, 희망명언)

버퍼 오버플로 처리

너의 집에 있는 문과 창문이 적을수록 침입자가 들어가는 경로가 줄어든다 ...

버퍼 오버플로는 프로그래밍 문제이므로 손상된 프로그램의 코드를 수정해야만 해결할 수 있습니다. 소스 코드가 없다면, 위의' 스택 오버플로우 공격' 의 원리에서 알 수 있듯이, 이런 공격을 막기 위해 우리는 다음을 할 수 있습니다.

1. 프로그램을 열 때 오버플로를 주의 깊게 점검해 데이터 오버플로를 방지합니다. 프로그래밍 및 프로그래밍 언어 때문에 이미 사용 중인 많은 프로그램에 적합하지 않습니다.

2. 컴파일러를 사용하여 스택 오버플로를 검사하거나 프로그램에 태그를 추가하여 프로그램이 실행되는 동안 해커가 의도적으로 오버플로하는 것을 방지합니다. 문제는 기존 프로그램을 대상으로 할 수 없고, 새 프로그램에 대해서는 컴파일러를 수정해야 한다는 것이다.

3. 운영 체제 및 애플리케이션 공급업체의 웹 사이트를 자주 확인하시고, 제공된 패치를 찾으면 바로 다운로드하여 적용하십시오. 이것이 가장 좋은 방법이다. 그러나 시스템 관리자는 항상 공격자보다 한 걸음 뒤떨어진다. 문제가 있는 소프트웨어가 선택 사항이거나 임시적인 경우 시스템에서 제거합니다. 예를 들어, 당신의 집의 문과 창문이 적을수록 침입자가 들어가는 경로가 줄어든다. ...>& gt

질문 8: 노트북 캐시의 용도와 의미는 무엇입니까? 많은 사람들은 "캐시" 가 메모리의 일부라고 생각합니다.

많은 기술 문장 들이 이렇게 가르친다.

하지만 아직도 캐싱이 어디에 있는지, 무슨 용도로 쓰이는지 모르는 사람들이 많다.

사실 캐시는 CPU 의 일부이며, 주로 인터넷을 할 때 임시로 무언가를 저장하는 데 쓰인다. CPU 에 존재합니다.

CPU 는 데이터에 빠르게 액세스하여 초당 10 억 개의 명령어와 데이터 (CPU 클럭 속도 1G 라는 용어) 를 처리할 수 있으며 메모리는 훨씬 느립니다. 빠른 메모리가 수십 조에 달할 수 있다면 좋을 텐데, 속도가 얼마나 차이가 나는지 알 수 있다.

캐시는 CPU 속도와 메모리 속도의 차이를 해결하기 위한 것입니다.

메모리에서 CPU 가 가장 자주 액세스하는 데이터와 명령을 CPU 의 캐시에 복사하여 CPU 가 달팽이처럼 메모리에서 데이터를 천천히 가져오지 않도록 합니다. CPU 는 메모리보다 훨씬 빠르게 캐시에서 데이터를 가져오기만 하면 됩니다.

여기서 지적해야 할 것은 다음과 같습니다.

1. 캐시는 메모리에 있는 소량의 데이터 복제본일 뿐이므로 CPU 가 캐시에서 데이터를 찾을 때도 찾을 수 없습니다 (메모리에서 캐시로 복제되지 않기 때문). 이때 CPU 는 여전히 메모리에서 데이터를 찾아 시스템 속도를 저하시킬 수 있지만 CPU 는 이 데이터를 캐시에 복사하여 다음에 메모리에서 검색하지 않습니다.

2. 시간이 지남에 따라 가장 자주 액세스하는 데이터는 정적이 아닙니다. 즉, 방금 자주 액세스하지 않았던 데이터는 이미 자주 액세스해야 하고, 방금 가장 자주 액세스한 데이터는 현재 빈번하지 않기 때문에 캐시의 데이터는 특정 알고리즘에 따라 자주 대체되어야 캐시의 데이터가 가장 자주 액세스됩니다.

3. 1 차 및 2 차 캐시 정보

이 두 개념을 구별하기 위해 먼저 RAM 에 대해 알아보겠습니다.

Ram 과 ROM 은 반대입니다. RAM 은 전원을 끈 후 정보가 사라지는 종류이며, ROM 은 전원을 꺼도 사라지지 않는다.

두 가지 RAM 이 있습니다.

하나는 정적 램, SRAM; 입니다. 하나는 동적 랜덤 메모리입니다. 전자는 후자보다 저장 속도가 훨씬 빠르며, 우리가 현재 사용하고 있는 메모리는 일반적으로 동적 RAM 입니다.

일부 초보자는 시스템 속도를 높이기 위해 캐시를 확장하는 것만으로는 충분하지 않다고 말했다. 확장이 클수록 캐시된 데이터가 많을수록 시스템이 빨라집니다.

캐시는 일반적으로 정적 RAM 으로 매우 빠릅니다.

정적 RAM 통합 정도는 낮습니다 (동적 RAM 의 6 배에 달하는 동일한 데이터를 저장).

높은 가격 (같은 용량의 정적 RAM 이 동적 RAM 보다 4 배 많음) ,

정적 RAM 을 캐시로 확장하는 것은 매우 어리석은 행동이다.

그러나 시스템의 성능과 속도를 향상시키기 위해서는 캐시를 확장해야 합니다.

이렇게 하면 원래의 정적 RAM 캐시를 확장하지 않고 고속 동적 RAM 을 캐시로 추가할 수 있는 절충된 방법이 있습니다.

이러한 고속 동적 RAM 은 기존의 동적 RAM 보다 빠르지만 원래의 정적 RAM 캐시보다 느립니다.

원래의 정적 ram 캐시를 레벨 1 캐시라고 하며, 나중에 추가되는 동적 RAM 을 레벨 2 캐시라고 합니다.

레벨 1 캐시와 레벨 2 캐시의 내용은 메모리에서 액세스 빈도가 높은 데이터의 복사본 (매핑) 으로, 고속 CPU 의 느린 메모리 액세스를 줄이기 위해 존재합니다.

일반적으로 CPU 가 데이터나 명령을 찾는 순서는 먼저 1 차 캐시에서 찾고, 찾을 수 없으면 2 차 캐시에서 찾고, 찾을 수 없으면 메모리에서 찾는 순서입니다.

上篇: 뮤직 비디오 2 휴대폰에서 단계 수를 어떻게 유지합니까? 下篇: 취약성 탐지의 목적은 무엇입니까
관련 내용