[ CnUnix ] in KIDS 글 쓴 이(By): zzapuno (정내훈) 날 짜 (Date): 2004년 6월 3일 목요일 오후 06시 02분 31초 제 목(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할 필요가 없지. -_-. > > > 2. SUN sbus를 사용하는 일부 기종들 중 virtual address로 indexing하는 > cache가 > 있는데, 이 경우는 굳이 flush&invalidate시킬 필요가 없다. (동욱형 논문 > 참고) > Tag에 Virtual Address만 쓰고 PID를 안쓴다면 Flush를 안하면 다른 프로세스 데이타를 읽을 수 있기 때문에 Flush가 필요하잖아. > > 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을 절약할 수 있다는 거잖아. |