2012-12-12 8 views
0

자주 액세스하고 업데이트하는 (액세스 빈도에 비해 훨씬 낮은 빈도로 업데이트하는) 고정 메모리 주소에 일부 어레이가 있다고 가정하면 현대 CPU는 일반적으로 전체 배열을 캐시 할 수 있습니다 배열의 크기가 작은 경우? 어레이의 업데이트/액세스는 주 메모리 저장 장치 대신 캐시에서 완전히 수행 될 수 있습니까?캐시 알고리즘에 대한 것

이전의 경험에 비추어 볼 때 필자가 테스트 한 몇몇 인텔 CPU의 경우 일 수 있지만 캐시 알고리즘 (최근의 CPU 모델을 찾기가 너무 어려움)에 대한 자세한 내용이 필요합니다. 최적으로.

답변

0

해당 CPU에 따라 쓰기는 후기 입 또는 연속 기입이 될 수 있습니다. 대부분의 최신 CPU는 후기 입을 지원합니다.

여러는 (뭔가 다른 캐시에서 사용자의 배열을 퇴거 할 수있다) 컴퓨터에 무슨 일이 일어나고 어떤 다른 처리

  • 등 여러 가지 요인에 따라 캐시에서 수행 할 수 있습니다 읽습니다.
  • 여러 코어가 어레이에 액세스하는지 여부. 각 코어에는 일반적으로 자체 캐시가 있습니다. 인텔 캐시 아키텍처에 대한 자세한 내용은

,

+0

그래서 우리는 사용할 수 없습니다 참조 쓰기 작업이 있기 때문에 빠른 메모리 버퍼와 같은 캐시는 값 비싼 메모리 쓰기를 초래합니다. 이는 CPU의 메모리를 의미합니다. 나는 NVIDIA GPU의 캐시가 할 수있는 것을 할 수 없다. 너무 나쁘다. – user0002128

+0

@ user1748356 : 그 진술을 수정했습니다. 대부분의 최신 CPU는 연속 기입 (write-through) 외에도 후기 입 캐시 (write-back cache)를 지원합니다. –

+0

그러나 캐시에서 메모리 쓰기가 캐시 액세스와 동시에 발생합니까? 다른 작업이 데이터 x를 캐시에서 레지스터 등으로 복사하는 동안 작업이 캐시에서 주 메모리로 복사된다는 것을 의미합니다. 두 작업이 동시에/병렬로 수행되므로 데이터 액세스 작업이 수행 될 때까지 기다릴 필요가 없습니다. 메모리 쓰기가 끝났습니까? – user0002128

관련 문제