Just do IT
article thumbnail

컴퓨터 성능 개선을 위한 메모리 관리

   * Cache 메모리 전송을 위한 다양한 매핑 기법

   * 가상 메모리

   * 메모리 관리 하드웨어

 

Cache 메모리 전송을 위한 다양한 매핑 기법

   * Cache 메모리의 매핑 프로세스

      - Associative mapping

      - Direct mapping

      - Set-associative mapping

   * 상기의 내용을 설명하기 위해 다음과 같은 설정을 가정해본다

      - 기억 장치 : 12bit 32K워드를 저장

      - cache memory : 512 words/주어진 시간 저장

      - CPU main/cache memory 모두 통신 가능

      - 우선 15bit 주소를 cache 보내어 hit 발생하면 cache 부터 12bit 데이터를 받아들인다

      - 만약 miss 발생하면 주기억장치로부터 워드를 읽고, 이를 cache 이동 저장한다


   * associative mapping
      -
가장 빠르고 융통 있는 cache 구조

      - CPU 15bit 주소는 인자 레지스터에 놓여지며, associative memory 주소와 같은 12bit 데이터를 CPU 보낸다

      - Miss 경우 CPU 기억 장치에서 해당 자료를 찾아 cache 옮긴다

      - 만약 cache 여유 공간이 있다면 공간에 주소와 데이터를 저장한다

      - 하지만 cache 꽉차 있을 경우 기존 cache 주소와 데이터 주어진 알고리즘에 의해 해당 주소 데이터 쌍이 새로운 쌍으로 대체 된다

   * 모든 숫자는 8진수

 

   * Direct mapping

      - RAM 구현 cache memory

      - 15bit (CPU address) = 6 bit (Tag field) + 9 bit (index field)

      - Index field - cache 색인 주소로 활용 

      - Tag field - cache에서 동일한 index 충돌이 발생 활용

      * 동일한 인덱스의 다른 태그를 보유한 이상의 워드가 반복하여 접근 경우 히트율이

        현저히 떨어질 가능성이 높다 - locality of reference

 

   * Set - associative mapping

      - Cache 워드는 같은 인덱스 주소 아래 이상의 메모리 워드를 저장할 있게 함으로써

        직접 매핑의 단점을 보완한 논리이다.

      - Cache 메모리의 크리 - 512 x 36 (= 2 x (6 + 12))

      - 규모의 cache 히트율을 높일 있으나 복잡한 비교 논리회로를 필요로 한다

      - 기존 데이터의 대체 알고리즘이 복잡해 진다

 

   * 다중 캐쉬 (Multilevel Caches)

      - CPU 메인 메모리 사이에 위치하는 프라이머리 캐쉬 - 작지만 매우 빠르다 (= CPU 속도)

      - Level-2 캐쉬 - 프라이머리 캐쉬 보다는 크지만 여전히 D-RAM보다는 현저히 빠른 속도

      - L-3 캐쉬

 

가상 메모리

   * 가상 메모리 (Virtual memory) VS 캐쉬 메모리 (Cache memory)

   * 가상 메모리 시스템 (Virtusl memory)

      > 설치 위치 : 보조기억 장치와 주기억장치 사이에서 데이터 전송을 관리

      > 사용 목적 : CPU 의해 현재 사용되고 있지 않은 자료 프로그램을 보관

      > 활용 방안 : 페이지를 사용하는 주소 매핑 / Associative 메모리 페이지표 / 페이지 교체

   * 캐쉬 메모리 시스템 (Cache memory)

      > 설치 위치 : 주기억장치와 CPU사이에서 정보교환

      > 사용 목적 : 가장 사용 빈도가 높은 프로그램 데이터를 저장 활용

      > 활용 방안 : Direct mapping / Associative mapping / Set-associative mapping

 

메모리 관리 하드웨어

   * 메모리 관리 시스템

      - 메모리 광역화 (가상 메모리 + 캐쉬 메모리) 멀티 프로그램의 발달로 인한 시스탬내 상호 간섭도 시스템 기능 저하 요인의 중요한 부분이다

      - 프로그램과 프로그램 사이의 데이터 흐름, 선후 데이터의 활용, 사용 메모리의 조절, 다른 프로그램의 흐름에 영향을 끼치지 못하게 하는 제어 등의 역할을 담당

      - 메모리 내의 여러 프로그램을 관리하기 위한 H/W S/W 절차의 집합체로 메모리 관리 소프트웨어는 운영체제 (Operating System) 일부이다

 

   * 메모리 관리 하드웨어

      - 논리 메모리 참조를 논리 메모리 주소로 변환하는 동적 저장장소 재배치를 위한 기능

      - 메모리내에서 서로 다른 사용자가 하나의 프로그램을 같이 사용하기 위한 편의

      - 사용자 간의 허락되지 않은 접근을 방지하고 사용자가 OS 기능을 변경하지 못하도록 하는 정보의 보호

 

출처 : 제로베이스

profile

Just do IT

@AmyG

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!