인텔 i486이는 L1 캐시의 8킬로바이트있다. 인텔 할렘은 32킬로바이트 L1 명령어 캐시와 코어 당 32킬로바이트 L1 데이터 캐시를 갖는다.
L1 캐시의 양은 클럭 속도가 증가한 속도로 거의 증가하지 않았습니다.
왜 안돼?
인텔 i486이는 L1 캐시의 8킬로바이트있다. 인텔 할렘은 32킬로바이트 L1 명령어 캐시와 코어 당 32킬로바이트 L1 데이터 캐시를 갖는다.
L1 캐시의 양은 클럭 속도가 증가한 속도로 거의 증가하지 않았습니다.
왜 안돼?
답변:
30K의 위키 백과 텍스트는 너무 큰 캐시가 왜 최적이 아닌지를 설명하는 데 도움이되지 않습니다. 캐시가 너무 커지면 캐시에서 항목을 찾기위한 대기 시간 (캐시 미스를 고려한)이 주 메모리에서 항목을 조회하는 대기 시간에 접근하기 시작합니다. CPU 디자이너가 어떤 비율을 목표로 삼고 있는지는 모르겠지만 80-20 지침과 비슷한 것으로 생각합니다. 캐시의 80 %에서 가장 일반적인 데이터를 찾고 싶습니다. 그것을 찾기 위해 메인 메모리에 가야 할 시간의 %. (또는 CPU 설계자가 의도 한 비율에 관계없이)
편집 : 나는 그것이 80 % / 20 % 근처에 있다고 확신하지 않으므로 X와 1-X를 대체하십시오. :)
한 가지 요인은 지연 시간을 줄이기 위해 TLB 변환이 완료되기 전에 L1 페치가 시작된다는 것입니다. 충분히 작은 캐시와 충분히 높은 방법으로 캐시의 인덱스 비트는 가상 주소와 물리적 주소간에 동일합니다. 이는 실제로 색인이 생성되고 물리적으로 태그가 지정된 캐시로 메모리 일관성을 유지하는 비용을 줄입니다.
캐시 크기는 많은 요인에 의해 영향을받습니다.
전기 신호의 속도 (빛의 속도가 아니라면 같은 크기의 것이어야 함) :
경제적 인 비용 (다른 캐시 레벨의 회로는 다를 수 있으며 특정 캐시 크기는 중요하지 않을 수 있음)
64kb 이후 L1 캐시 크기가 변경되지 않으면 더 이상 가치가 없기 때문입니다. 또한 캐시에 대해 더 많은 "문화"가 있으며 많은 프로그래머가 "캐시 친화적"코드를 작성하거나 prefetech 명령어를 사용하여 대기 시간을 줄입니다.
한 번 배열 (무작위 메가 바이트)의 임의의 위치에 액세스하는 간단한 프로그램을 만들려고했습니다. 각 무작위 읽기마다 전체 페이지가 RAM에서 캐시로 이동했기 때문에 그 프로그램은 컴퓨터를 거의 동결 시켰습니다. 프로그램은 OS에 대한 리소스를 거의 남기지 않고 모든 대역폭을 소모했습니다.
에서 L1 캐시 :
레벨 1 캐시 또는 1 차 캐시는 CPU에 있으며 32 바이트 블록으로 구성된 명령 및 데이터의 임시 저장에 사용됩니다. 기본 캐시는 가장 빠른 스토리지 형식입니다. 프로세서의 실행 장치에 대한 대기 상태 (지연) 인터페이스가없는 칩에 내장되어 있기 때문에 크기가 제한됩니다 .
SRAM은 비트 당 2 개의 트랜지스터를 사용하며 회로에 전원이 공급되는 한 외부 지원없이 데이터를 보유 할 수 있습니다. 이는 동적 RAM (DRAM)과 대조되며, 데이터 내용을 유지하려면 초당 여러 번 새로 고쳐야합니다.
1997 년 초에 출시 된 인텔의 P55 MMX 프로세서는 레벨 1 캐시의 크기가 32KB로 증가한 것으로 주목할 만하다. 그해 말에 출시 된 AMD K6 및 Cyrix M2 칩은 64KB의 레벨 1 캐시를 제공함으로써 그 가치를 더욱 높였습니다. 64Kb는 표준 L1 캐시 크기를 유지했지만 다양한 다중 코어 프로세서가이를 다르게 사용할 수 있습니다.
편집 :이 답변은 2009 년이며 CPU는 지난 10 년 동안 엄청나게 진화했습니다. 이 게시물에 도착한 경우 여기에 모든 답변을 너무 진지하게 받아들이지 마십시오.
실제로 L1 캐시 크기는 최신 컴퓨터 속도의 가장 큰 병목 현상입니다. 매우 작은 L1 캐시 크기는 성능면에서 가격이 좋지 않을 수 있습니다. RAM 액세스 400 배 느린 속도와 달리 프로세서 작동과 동일한 GHz 주파수에서 L1 캐시에 액세스 할 수 있습니다. 현재의 2 차원 디자인으로 구현하기에는 비용이 많이 들고 어렵지만 기술적으로 구현 가능하며,이를 성공적으로 수행 한 첫 번째 회사는 컴퓨터를 100 배 더 빠르게 작동하고 여전히 시원하게 운영 할 것입니다. 비싸고 프로그래밍하기 어려운 ASIC / FPGA 구성을 통해서만 현재 액세스 할 수 있습니다. 이러한 문제 중 일부는 독점 / IP 문제 및 수십 년에 걸친 기업의 탐욕과 관련이 있습니다. 내부의 작업에 접근 할 수있는 유일하고 비효율적 인 엔지니어들이 유일하고 비용 효율적인 난독 화 된 보호 주의자 넌센스를 짜기 위해 행진 명령을받는 사람들이 유일하고 비효율적입니다. 과도하게 민영화 된 연구는 항상 이러한 기술적 정체 또는 조절로 이어집니다 (대형 제조업체가 항공 우주 및 자동차에서 보았고 곧 제약이되었습니다). 오픈 소스와 더 현명한 특허 및 영업 비밀 규정은 발명가와 일반인 (회사 상사 및 주주가 아닌)에게 도움이 될 것입니다. 훨씬 더 큰 L1 캐시를 만드는 것은 개발을위한 쉬운 방법이 아니어야하며 이는 수십 년 전에 개발되어 왔을 수도 있고 개발되지 않았을 수도 있습니다. 우리는 컴퓨터와 많은 과학 분야에서 훨씬 더 앞서 나갈 것입니다. 그리고 비용 효율적인 난독 화 보호 주의자 넌센스를 짜기 위해 행진 명령을받는 사람들이 대부분입니다. 과도하게 민영화 된 연구는 항상 이러한 기술적 정체 또는 조절로 이어집니다 (대형 제조업체가 항공 우주 및 자동차에서 보았고 곧 제약이되었습니다). 오픈 소스와 더 현명한 특허 및 영업 비밀 규정은 발명가와 일반인 (회사 상사 및 주주가 아닌)에게 도움이 될 것입니다. 훨씬 더 큰 L1 캐시를 만드는 것은 개발을위한 쉬운 방법이 아니어야하며 이는 수십 년 전에 개발되어 왔을 수도 있고 개발되지 않았을 수도 있습니다. 우리는 컴퓨터와 많은 과학 분야에서 훨씬 더 앞서 나갈 것입니다. 그리고 비용 효율적인 난독 화 보호 주의자 넌센스를 짜기 위해 행진 명령을받는 사람들이 대부분입니다. 과도하게 민영화 된 연구는 항상 이러한 기술적 정체 또는 조절로 이어집니다 (대형 제조업체가 항공 우주 및 자동차에서 보았고 곧 제약이되었습니다). 오픈 소스와 더 현명한 특허 및 영업 비밀 규정은 발명가와 일반인 (회사 상사 및 주주가 아닌)에게 도움이 될 것입니다. 훨씬 더 큰 L1 캐시를 만드는 것은 개발을위한 쉬운 방법이 아니어야하며 이는 수십 년 전에 개발되어 왔을 수도 있고 개발되지 않았을 수도 있습니다. 우리는 컴퓨터와 많은 과학 분야에서 훨씬 더 앞서 나갈 것입니다. 과도하게 민영화 된 연구는 항상 이러한 기술적 정체 또는 조절로 이어진다 (우리가 대기업에 의해 항공 우주 및 자동차에서 보았고 곧 제약 회사가 됨). 오픈 소스와 더 현명한 특허 및 영업 비밀 규정은 발명가와 일반인 (회사 상사 및 주주가 아닌)에게 도움이 될 것입니다. 훨씬 더 큰 L1 캐시를 만드는 것은 개발을위한 쉬운 방법이 아니어야하며 이는 수십 년 전에 개발되어 왔을 수도 있고 개발되지 않았을 수도 있습니다. 우리는 컴퓨터와 많은 과학 분야에서 훨씬 더 앞서 나갈 것입니다. 과도하게 민영화 된 연구는 항상 이러한 기술적 정체 또는 조절로 이어진다 (우리가 대기업에 의해 항공 우주 및 자동차에서 보았고 곧 제약 회사가 됨). 오픈 소스와 더 현명한 특허 및 영업 비밀 규정은 발명가와 일반인 (회사 상사 및 주주가 아닌)에게 도움이 될 것입니다. 훨씬 더 큰 L1 캐시를 만드는 것은 개발을위한 쉬운 방법이 아니어야하며 이는 수십 년 전에 개발되어 왔을 수도 있고 개발되지 않았을 수도 있습니다. 우리는 컴퓨터와 많은 과학 분야에서 훨씬 더 앞서 나갈 것입니다. 훨씬 더 큰 L1 캐시를 만드는 것은 개발을위한 쉬운 방법이 아니어야하며 이는 수십 년 전에 개발되어 왔을 수도 있고 개발되지 않았을 수도 있습니다. 우리는 컴퓨터와 많은 과학 분야에서 훨씬 더 앞서 나갈 것입니다. 훨씬 더 큰 L1 캐시를 만드는 것은 개발을위한 쉬운 방법이 아니어야하며 이는 수십 년 전에 개발되어 왔을 수도 있고 개발되지 않았을 수도 있습니다. 우리는 컴퓨터와 많은 과학 분야에서 훨씬 더 앞서 나갈 것입니다.