본문 바로가기

분류 전체보기96

캐시 메모리의 원리와 캐시 블록(라인) - 캐시 메모리 시리즈 모아보기 -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.
캐시 메모리 시리즈 모아 보기 - 캐시 메모리 시리즈 -1. 메모리 계층 구조(Memory Hierarchy)와 캐시2. 캐시 메모리의 원리와 캐시 블록(라인)3. Fully-Associative vs Direct-Mapped vs Set-Associative Cache 4. 캐시 메모리 교체 정책 Overview5. Wirte Back & Write Through6. 캐시 메모리로 인한 성능 분석 - AMAT, CPI7. I-cache 와 D-cache 2024. 11. 1.
가상 메모리 시리즈 모아 보기 - 가상 메모리 시리즈 -1. Virtual Memory(가상 메모리)는 무엇이고 왜 사용되는가?2. Virtual Memory(가상 메모리)의 동작 방식3. 페이지 테이블과 주소 변환(Address Translation)4. 페이지 폴트(Page Fault)5. Virtual Memory(가상 메모리)의 컨텍스트와 메모리 관리6. TLB(Translation Lookaside Buffer)와 TLB 미스7. Multi-level Page Tables(다단계 페이지 테이블)8. MMU(Memory Management Unit)와 캐시 메모리9. 가상 메모리 시리즈 요약 2024. 10. 31.
Computer Architecture 게시글 리스트 가상메모리 시리즈https://microelectronics.tistory.com/99 가상 메모리 시리즈 모아 보기- 가상 메모리 시리즈 -1. Virtual Memory(가상 메모리)는 무엇이고 왜 사용되는가?2. Virtual Memory(가상 메모리)의 동작 방식3. 페이지 테이블과 주소 변환(Address Translation)4. 페이지 폴트(Page Faumicroelectronics.tistory.com 캐시메모리 시리즈https://microelectronics.tistory.com/102 캐시 메모리 시리즈 모아 보기- 캐시 메모리 시리즈 -1. 메모리 계층 구조(Memory Hierarchy)와 캐시2. 캐시 메모리의 원리와 캐시 블록(라인)3. Fully-Associative vs .. 2024. 10. 31.
가상 메모리 시리즈 요약 - 가상 메모리 시리즈 모아 보기-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.
Multi-level Page Tables(다단계 페이지 테이블) - 가상 메모리 시리즈 모아 보기-https://microelectronics.tistory.com/99 Multi-level Page Tables1. 페이지 테이블의 크기 문제32비트 시스템에서 4KB 페이지를 사용할 때, 페이지 테이블 항목이 약 100만 개 필요하다. 각 페이지 테이블 항목이 4바이트이므로 프로그램당 페이지 테이블에 4MB의 메모리가 필요하게 된다.4KB 페이지면 12bit offset 이 요구됨. 따라서 2^20 만큼의 항목이 필요함.보통 32비트 시스템의 경우, PTE 도 4바이트로 사용하는 경우가 많은데20비트는 물리페이지의 시작주소나머지 12비트는 Permission bits ( Valid/Present , Read/Write, Dirty, Accessed ..등)의 Perm.. 2024. 10. 29.
TLB(Translation Lookaside Buffer)와 TLB 미스 - 가상 메모리 시리즈 모아 보기-https://microelectronics.tistory.com/99 TLB를 이용한 가상 메모리 성능 최적화1. 가상 메모리 비용: 성능 저하 문제가상 메모리 시스템에서는 각 메모리 접근마다 페이지 테이블을 조회하고 주소 변환 작업을 수행해야 한다.페이지 테이블이 컴퓨터 구조 내부에 어디에 적재되냐를 따지기 이전에, 직관적으로 생각해보면 이러한 과정은 기본적으로 두 번의 메모리 접근이 필요하므로, 단순히 가상 메모리를 사용할 경우 메모리 접근 횟수가 두 배로 증가하며 이는 성능 저하의 원인이 된다.2. 가상 메모리를 빠르게: TLB의 필요성TLB(Translation Lookaside Buffer)는 이러한 성능 저하를 막기 위해 사용되는 페이지 테이블 캐시이다. 가.. 2024. 10. 28.