Computer Architecture/Virtual Address & Cache16 I-cache 와 D-cache - 캐시 메모리 시리즈 모아보기 - https://microelectronics.tistory.com/102 I-cache 와 D-cache1. 인스트럭션 캐시(I-cache)와 데이터 캐시(D-cache)의 필요성프로세서에는 인스트럭션 캐시와 데이터 캐시가 따로 필요하다. 인스트럭션과 데이터를 동시에 로드해야 할 때가 많기 때문이다.즉, I-cache와 D-cache의 분리를 통해 인스트럭션과 데이터를 병렬로 가져올 수 있어 성능이 향상된다.모든 명령어가 인스트럭션을 불러와야 하므로 I-cache가 필수적이며, 명령어 중 약 33%는 데이터를 로드하거나 저장해야 하므로 D-cache가 필요하다. 예를 들어, load word 명령어를 실행할 때, 명령어를 로드하는 메모리 접근과 그 명령어가 참조하는 데.. 2024. 11. 7. 캐시 메모리로 인한 성능 분석 - AMAT, CPI - 캐시 메모리 시리즈 모아보기 - https://microelectronics.tistory.com/102 캐시메모리와 성능1. 캐시 미스율과 성능 영향캐시의 성능을 평가할 때 캐시 미스율(miss ratio)은 중요한 지표다. 캐시 미스율은 전체 메모리 접근 중 캐시 미스가 발생하는 비율로, 성능에 직접적인 영향을 미친다.캐시 미스율 = (캐시 미스 수 / 전체 메모리 접근 수) × 100%로 계산되며, 미스율이 낮을수록 캐시가 더 효율적으로 작동한다. 왜냐하면 캐시 미스가 발생하면 DRAM에 접근해야 하고, 이는 속도를 느리게 만들기 때문이다. 1.1 예시LBM 애플리케이션의 캐시 미스율:64KB 캐시에서 10.5%의 미스율256KB 캐시에서는 6.5%로 감소8MB 캐시에서는 3.5%로 더 감소Bz.. 2024. 11. 6. Write Back & Write Through - 캐시 메모리 시리즈 모아보기 - https://microelectronics.tistory.com/102 캐시에 데이터 쓰기캐시에 데이터를 쓸 때는 읽기와는 다소 다르다. 읽기는 데이터를 캐시로 불러와 접근하면 되지만, 쓰기에는 두 가지 주요 방식이 있다: Write Through와 Write Back이다.1. Write Through 정책Write Through 정책에서는 CPU가 데이터를 캐시에 쓰는 동시에 메인 메모리(DRAM)에도 바로 쓴다. 즉, 캐시를 거쳐 바로 메모리로 데이터를 기록하는 방식이다.예를 들어, CPU가 주소 8에 값 24를 저장할 때, 메모리에도 바로 쓰고 캐시에 해당 데이터를 업데이트한다. 이 과정에서 메모리 일관성을 유지하기 위해 캐시도 확인하며, 데이터가 캐시에 있으면.. 2024. 11. 5. 캐시 메모리 교체 정책 Overview - 캐시 메모리 시리즈 모아보기 - https://microelectronics.tistory.com/102캐시 용량 및 교체 정책캐시 메모리는 제한된 공간을 가지고 있기 때문에, 이 공간이 다 찼을 때 어떤 데이터를 제거할지 결정하는 교체 정책이 필요하다. 교체 정책의 목표는 성능을 최적화하기 위해 곧 사용되지 않을 데이터를 현명하게 제거하는 것이다.1. 교체 정책캐시에는 다양한 교체 정책이 있으며, 각각의 정책은 장단점이 있다.Direct-Mapped Cache는 선택의 여지가 없기 때문에, 특정 주소는 오직 한 위치에만 저장될 수 있다. 그 위치가 이미 차 있다면 기존 데이터를 제거하고 새로운 데이터를 그 자리에 넣어야 한다.Fully-Associated 또는 Set-Associative Cache.. 2024. 11. 4. Fully-Associative vs Direct-Mapped vs Set-Associative Cache - 캐시 메모리 시리즈 모아보기 - https://microelectronics.tistory.com/102캐시 메모리의 매핑 종류1. Fully-Associative Cache (완전 연관 사상 방식 캐시 메모리)1.1 Block 배치 방식CPU가 메모리 주소에 접근할 때, 모든 캐시 라인의 태그를 찾는 방식의 캐시메모리이다.예를들어, cache line(block)이 16B 인 128B 사이즈의 캐시가 있다고 가정해보자.16B는 2^4 로, 주소의 하위 4비트는 라인 내부의 어드레싱에 사용되니, TAG 사이즈는 주소의 상위 28비트면 충분하다. 1.2 하드웨어 구현과 이로인한 단점캐시의 모든 block을 검색하는 것은 비효율적이다. 모든 block을 한 번에 검색하려면 각 entry마다 compara.. 2024. 11. 3. 캐시 메모리의 원리와 캐시 블록(라인) - 캐시 메모리 시리즈 모아보기 -https://microelectronics.tistory.com/102 Cache의 작동 원리1. Cache 개요Cache는 연관 기억 장치(associative memory)로, 단순히 메모리 주소로 데이터를 찾는 것이 아니라, 특정 데이터가 담긴 "위치 정보"를 기준으로 데이터를 저장하고 찾을 수 있게 한다.2. Cache의 구성 요소태그 (Tags): 태그는 메모리 위치의 주소를 의미한다. 예를 들어, 메모리 위치 8에 있는 명령어를 Cache에 넣으면 태그 8이 Cache에 저장되며, 이는 해당 데이터의 메모리 위치를 참조한다. Cache의 나머지 부분에는 실제 데이터가 저장된다. 당연히 'full address' = 'tag' 가 아니다. tag는 full a.. 2024. 11. 2. 메모리 계층 구조(Memory Hierarchy)와 캐시 - 캐시 메모리 시리즈 모아보기 -https://microelectronics.tistory.com/102메모리 계층 구조(Memory Hierarchy)와 캐시1. 메모리 계층 구조의 필요성메모리 계층 구조의 목표는 큰 용량과 빠른 속도를 동시에 제공하는 메모리 시스템을 만드는 것이다. 프로세서에 비해 DRAM은 매우 느리기 때문에, 메모리 계층 구조를 통해 이러한 성능 격차를 줄여야 한다.1.1. 메모리의 크기와 속도 문제메모리는 크고 빠르게 만들어야 하지만, 현재 사용 가능한 기술은 다음과 같은 특성을 갖는다:하드 디스크(HDD): 매우 큰 용량을 제공하지만 속도가 느리다.DRAM: 속도가 빠르지만 HDD에 비해 용량이 작다.SRAM: 가장 빠른 속도를 제공하지만, 용량이 매우 작다.이러한 기술적 .. 2024. 11. 1. 가상 메모리 시리즈 요약 - 가상 메모리 시리즈 모아 보기-https://microelectronics.tistory.com/99 게시글 1 요약: Virtual Memory(가상 메모리)는 무엇이고 왜 사용되는가?가상 메모리가 도입되기 전에는 물리 메모리의 한계로 인해 여러 문제가 발생했다.메모리 부족 문제물리 메모리가 한정된 상황에서 프로그램이 큰 메모리를 필요로 하면 충돌이 발생할 수 있다.가상 메모리는 디스크를 이용해 가상 메모리 공간을 확장하여 물리 메모리 부족 문제를 해결한다.메모리 단편화 문제프로그램 실행과 종료가 반복되면서 메모리 공간에 '구멍'이 생겨 연속된 공간을 확보하기 어려운 상황이 발생한다.가상 메모리는 메모리 맵핑을 통해 물리 메모리의 어느 위치에든 데이터를 저장할 수 있어 단편화를 해결한다.보안 문제여.. 2024. 10. 31. MMU(Memory Management Unit)와 캐시 메모리 - 가상 메모리 시리즈 모아 보기-https://microelectronics.tistory.com/99 지금까지 가상메모리 시리즈를 다루면서 MMU에 대해 언급하지 않았다.이제 가상메모리에 대한 기본적인 개념을 다 익혔으니, 해당 동작을 물리적으로 구현하는 장치인 MMU에 대해 알아보자.MMU(메모리 관리 유닛)MMU(Memory Management Unit)는 CPU와 물리 메모리 사이에서 가상 주소를 물리 주소로 변환하는 하드웨어 장치이다. 가상 메모리 시스템에서 메모리 접근을 관리하고, 프로그램들이 각자 독립적인 가상 주소 공간을 사용할 수 있도록 한다.즉, 지금까지 다룬 가상메모리와 관련된 동작 일체를 책임지는 각각의 코어 내부에 위치한 하드웨어 이다.1. MMU의 주요 기능주소 변환 (Vto.. 2024. 10. 30. 이전 1 2 다음