운영체제/이론

(53) Hardware support

geonwoopaeng@gmail.com 2020. 10. 5. 16:44

### Hardware support ###

: page table 기본 register(PTBR)는 page table을 가리킨다.

: page table 길이 register(PLTR)는 page table의 크기를 나타낸다.

: 모든 data/instruction acess에는 두 번 memory access가 필요하다.(문제)

=> 1. table table 2. data/instruction => TLB사용으로 해결

< Translation look-aside buffer (TLB) >

: paging 기반 성능을 끌어 올리기 위한 작고 data 속도가 빠른 하드웨어 cache이다.

(cpu 내에 위치, associative high-speed memory)

: 각 항목은 key(page number) 와 value(page number에 대응되는 frame) 두 부분으로 구성된다.

: 일반적으로 main memory보다 용량이 작다(64 to 1,024 entries)

=> 일부 entries만 TLB에 올라간다.

: TLB miss(요청한 page number가 TLB에 없는 경우)에서는

다음에 더 빠르게 access 할 수 있도록 TLB에 값이 load된다.

=> Repacement 정책을 고려해야한다.

=> 일부 항목은 영구적으로 빠르게 access 할 수 있도록 유선으로 연결할 수 있다.

: 주소 공간 식별자(ASID,Address-space identifiers)는 TLB내에 저장된 page number가 어떤 process에 속해있는지   알려주는 식별자

: ASID가 있으면 TLB를 여러 process가 공용으로 사용할 수 있다. => context switching이 발생해도 다른 data를 넣기 위해 TLB에 flush할 필요가 없다

=> 삭제 필요 없이 TLB계속 사용하면 된다. => TLB교체 시간 없어진다

=> context switching overhead가 줄어든다. but TLB를 나눠 쓰기 때문에 각 process가 사용하는 공간은 적어진다.

: ASID 지원이 없으면 다음 실행 process가 잘못된 변환 정보를 사용하지 않도록 TLB를 flush해야 한다.

 

 

출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018)

반응형