객관적인 유형의 문제를 풀려고하고 있습니다. 시험에서 왔습니다. 나는 실제로 옳은 대답을 모르고 그것을 얻는 방법을 모른다. 당신의 도움이 필요하다. 고맙습니다 .캐시 및 평균 시간 계산에서 적중률을 계산하십시오.
질문 : 특정 시스템에서 주 메모리 액세스 시간은 100ns입니다. 캐시는 주 메모리보다 10 배 더 빠르며 쓰기 쓰는 프로토콜을 사용합니다. 읽기 요청에 대한 히트 비율이 0.92이고 CPU에 의해 생성 된 메모리 요청의 85 %가 읽기 용이고 나머지는 쓰기 용입니다. 다음 모두가 읽기 및 쓰기 요청의 평균 시간을 고려하여이
는))
B를 14.62ns
C를 348.47ns)
D를 29.62ns)
내 일을 296.2ns ::::
음, 메모리 액세스 시간 = 100ns
,515,캐시 액세스 시간
In order to find avg time we have a formula
Tavg = hc+(1-h)M
where h = hit rate
(1-h) = miss rate
c = time to access information from cache
M = miss penalty (time to access main memory)
쓰기 동작을 통해 (10 시간 빠름) = 10 ns의 것 : 캐시 위치와 주 메모리 위치가 동시에 갱신된다.
CPU가 생성 한 85 % 요청은 읽기 요청이고 15 %는 쓰기 요청입니다.
Tavg = 0.85(avg time for read request)+ 0.15(avg time for write request)
= 0.85(0.92*10+0.08*100)+0.15(avg time for write request)
// * 0.92는 읽기 요청에 대한 적중률이지만 쓰기 요청에 대한 적중률은 지정되지 않았습니다. ??
내가 가정하면 쓰기 요청에 대한 그 히트 적중률은 다음 읽기 요청에 대한 적중률과 동일,
= 0.85(0.92*10+0.08*100)+0.15(0.92*(10+100)+0.08*100)
=31 ns
내가 그 적중률은 다음 쓰기 요청에 대해 0 %로 가정하면,
= 0.85(0.92*10+0.08*100)+0.15(0*110+1*100)
=29.62 ns
정책을 통해 쓰기의 경우
왜 디스크에 대해 아무것도 언급합니까? 이 질문은 메모리가 디스크에 의해 뒷받침된다고 말하지 않으므로 그렇지 않다고 가정해야합니다. 예 : 'MAP_PRIVATE' (실행 파일의 데이터 섹션과 유사) 또는'MAP_ANONYMOUS' (malloc, 또는 bss 섹션) 매핑. 일반 운영체제는 과도한 커밋을 피하기 위해 충분한 스왑 공간을 확보하더라도 메모리가 부족하지 않으면 더러운 익명 페이지를 스왑에 쓰지 않습니다. –
@PeterCordes 글쎄, 나는 그렇게 생각했다. 그러나 연속 기입 캐시는 보조 저장 장치에 쓰기 때문에 "메모리"가 휘발성 인 내부 메모리 *를 의미한다고 생각했습니다. 그래서 일반적인 백업 저장소로 디스크를 생각했습니다. 그러나 여전히 나는 해결책으로 생각하지 않았다. – user8