CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): sang (Grid)
날 짜 (Date): 2004년 6월  4일 금요일 오후 12시 58분 01초
제 목(Title): Re: [Q] L2 cache의 동작 방식



>>
>> 1. cache는 physical address로 indexing 되므로 context switch가 발생할때
>>   모든 cache line에 대해서 flushing&invalidate시켜야 한다.
>>   그렇지 않다면, context switching이 발생할때 swapping이 발생하여
>>   physical address A가 V1(pid1), V2(pid2)에 mapping된 상황에서 retailed
>>   data/instr. 을 access하는 경우가 발생한다.
>>
>
> A = V1(pid1) = V2(pid2) 라면 Shared Memory를 쓰고 있는 경우 잖아.
> Flushing할 필요가 없지. -_-.
>

제가 쓴 위 문단은 shared memory로 mapping된 특수한 경우를 언급한게 아니라
동일 memory가 서로 다른 process의 virtual address에 mapping될 수 있기
때문에 flushing & invalidation 시켜야 한다는 의미에요.

>>
>>
>> 2. SUN sbus를 사용하는 일부 기종들 중 virtual address로 indexing하는
>> cache가
>>   있는데, 이 경우는 굳이 flush&invalidate시킬 필요가 없다. (동욱형 논문
>>   참고)
>>
>
>  Tag에 Virtual Address만 쓰고 PID를 안쓴다면 Flush를 안하면 다른 프로세스
>  데이타를 읽을 수 있기 때문에 Flush가 필요하잖아.
>
>

virtual cache 개념에서 indexing시 virtual address + pid를 이용하는건
당연하다고 생각해서 언급 안 했어요. 아무튼 그런 cache는
flushing & invalidation이 필요없다는 의미에요.

>>
>> 3. 보통 cache line affinity는 parallel appl.에서 job
>> partitioning&allocation
>>  관련해서 memory access latency를 줄이는 방법중 하나로 연구되고
>>   있는걸로 알고 있는데, 실행환경에 사용된 키워드랑 뭔가 매칭이 안돼.
>>   재밌는거 혼자만 하지 말고 대강이라도 background에 대해서 알려줘. 궁금~
>:)
>>
>> @ 마지막으로 오~ 완자 열라 열심모드?
>>
>>
>>   
>>
> 네가 틀릴리가 없는데... 이상하군.
>  
> Physical Address로 태그되는 Cache는 Context Switch때 Flush할 필요가 없고,
> Virtual Address Cache의 장점은 Physical Address Mapping Time을 절약할 수
> 있다는 거잖아.
>

제가 뭔가 착각하거나 잘못알고 있을수도 있지만.. 
physical address를 사용하는 cache는 context switching시
flushing & invalidation 이 필요하고, virtual cache의 경우는 필요없고..라는
결론에 대해서는 아직 변함이 없지만.. 제가 cache를 안 만들어봐서
확신은 없어요 ^^;; 



[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.