본문 바로가기

캐시 교체 알고리즘, 캐시 쓰기 정책 캐시 교체 알고리즘, 캐시 쓰기 정책 ① 캐시 교체 알고리즘캐시에 빈 공간이 없는 상태에서 새로운 내용이 메인 메모리로부터 캐시 메모리에 복사되어질 때에는 기존의 내용을 캐시로부터 내려야 할 것이고, 이때 어떤 블록의 내용을 내릴 것인지를 결정하는 것이 캐시 교체 알고리즘이다. 직접 매핑 방식의 경우 캐시에 저장되어야 할 위치가 정해져 있으므로 이러한 알고리즘은 필요하지 않다.캐시에서의 교체 알고리즘은 주로 LRU (Least Recently Used) 방식을 많이 사용하며, 이 방식의 구현을 위하여 각각의 라인에 추가적인 비트를 두고 각 라인에 대한 데이터 참조 시 발생하는 시점을 기록함으로써 이 방식을 실현하고 있다. ② 캐시 쓰기 정책 프로세서에서 메모리에 대한 쓰기 작업을 요청할 경우에는 어떻게 .. 더보기
프로세스 내 캐쉬 관리 캐시 메모리는 실제 메인 메모리에 비해 그 크기가 매우 작습니다~~ 또한 메인 메모리와 동일한 주소체계를 가질 수 없기 때문에 메인 메모리와는 다른 형태의 주소 매핑 방식을 사용합니다. 매핑 방식은 아래와 같습니다. 직접 매핑 (direct mapping) 어소시에이티브 매핑 (Associative Mapping) 셋 어소시에이티브 매핑 (Set Associative Mapping) 각 매핑 방식 자세히 보기 직접 매핑 (direct mapping) 직접 매핑 방식은 ... 메인 메모리를 일정 크기 블록으로 나누고, 각 블록을 캐시의 정해진 위치에 매핑하는 방식입니다. 전체 메인 메모리에 대해 캐시 사이즈 단위로 나누고, 나뉜 각 블록들에 대해 태그 값을 매깁니다. 캐시 사이즈로 나뉘어진 블록은 다시 캐.. 더보기
특권레벨 ( pribilege Level) 악성코드나, 운영체제의 중요한 부분을 망가뜨리는 것과 같이 시스템에 악영향을 줄 수 있는 상황을 위해 시스템을 보호하는 것이 중요합니다. 인텔은 시스템 보호를 위해 많은 고민끝에, 가장 효과적인 방법은 마이크로프로세서 내의 MMU에서의 보호 메커니즘을 생각하였습니다. 이 방법은 어떠한 프로그램이든 메모리에 있는 코드 내용에 의해 실행이 되고 이러한 메모리에 대해 어떠한 명령어가 참조하고자 할 때, 그 명령을 실행하는 코드 메모리와 접근하는 메모리의 권한을 체크하여 프로세서 차원에서의 보호가 가능하게 하는 것으로 멀티링 형태로 디자인하였습니다. 즉, 운영체제 그룹은 신뢰성이 높은 루틴과 시스템 데이터가 속하므로 높은 특권레벨을 부여하고, 애플리케이션 그룹은 운영체제만큼 신뢰성이 높지 못한 프로그램이 속하므.. 더보기