캐시 메모리 뭐임?
자주 사용되거나 최근에 사용된 데이터를 저장해 두고 , CPU가 다시 해당 데이터에 접근할 때 빠르게 처리할 수 있도록 도와줌.
속도가 빨라서 좋은데 비용 비싸고 용량 적음
CPU에는 캐시 메모리 2~3개 사용됨. L1,L2,L3 캐시 메모리라 함
일반적으로 L1 캐시 메모리 먼저 사용(여기서 캐시 못찾으면 L2로 감)
여기서 궁금한 점.. 요새 컴퓨터를 알아보고 있는데 CPU 라이젠에는 L4 캐시메모리 이런게 있을까?
CPU에 캐시 메모리가 있다고 하는데?!
1. 라이젠 L4 없음 마찬가지임
2. 메모리 최적화된 기술이 있는데 , Infinity Fabric으로 고속 전송 가능해서 메모리 자원 빠르게 접근가능
3. Victim Cache 캐시 미스 발생 시 데이터를 임시 저장해서 다른 코어에서 다시 사용할 수 있게함.
왜 L4 캐시는 채택되지 않았을까?
AMD 라이젠에서 L4캐시를 채택하지않은 이유는 기술적 , 경제적 이유가 있음.
1. 필요성의 감소
L4캐시의 도입 목적은 더 큰 용량의 고속 캐시 메모리를 제공하여 성능을 개선하는 것인데, 이미 L3 캐시를 사용하여 성능을 극대화 하고 있음
용량 충분하고 L3 캐시 성능을 최적화하는 것이 더 효과적임
2. 설계 복잡성과 비용 증가
CPU 설계가 훨씬 복잡해짐 , 제조 비용 키우기 때문
3. L4 캐시 비용 대비 성능면에서 이점 적음 , 고성능 컴퓨팅에 많이 쓰는데 일반 사용자는 필요하지 않음
듀얼 코어 프로세서의 캐시 메모리 : 각 코어마다 독립된 L1 캐시 메모리 가지고 , 두 코어가 공유하는 L2 캐시 메모리가 내장됨
L1 : CPU 내부에 존재
L2 : CPU와 RAM 사이
L3 : 보통 메인보드
일반적인 PC나 랩탑용 CPU: L1 캐시 64KB, L2 캐시 512KB ~ 1MB, L3 캐시 8MB ~ 16MB 정도가 일반적.
고성능 서버용 CPU: L1 캐시 128KB, L2 캐시 1MB ~ 2MB, L3 캐시 20MB ~ 64MB 이상까지도 존재.
너무 용량이 적은거 아닌가?
캐시 메모리는 설계와 목적에 따라 최적화 되어 있음.
속도와 비용의 균형을 고려해서 128KB가 적정 , 더 큰 용량으로 하면 전력 소모와 물리적인 공간 비효율성 , 현재의 캐시 용량으로도 충분히 효율적인 성능을 제공
캐시 메모리는 데이터 접근 속도를 향상시키기 위해 CPU와 메인 메모리 사이 위치 , 데이터 요청 처리.
캐시 메모리의 작동원리는 ?
1. CPU가 데이터나 명령어를 요청하면, 캐시 메모리에서 먼저 이 데이터를 찾음.
2. 캐시에서 데이터 찾기 ( 캐시 히트 , 캐시 미스 )
캐시 히트 : 요청한 데이터가 캐시에 존재하는 경우 , 즉시 CPU에 제공 , CPU는 데이터를 캐시에서 빠르게 읽어옴
캐시 미스 : 요청한 데이터가 캐시에 없는 경우 , 메모리에서 데이터를 가져와야 함
3. 메인 메모리에서 데이터 로드
캐시 미스가 발생하면, CPU는 메인 메모리에서 요청한 데이터를 가져와야 함.
CPU는 메인 메모리의 데이터가 위치한 주소를 지정 , 메인 메모리에서 해당 주소에 있는 데이터를 읽어옴.
4. 캐시에 데이터 저장
캐시 라인에 저장 : 데이터를 특정 블록에 저장 , 요청한 데이터는 캐시의 적절한 위치에 저장됨
5. 데이터 반환
메인 메모리에서 가져온 데이터가 캐시에 저장된 후 , 데이터는 CPU로 반환됨.
6. 캐시 꽉 차면 기존 데이터 교체
LRU , FIFO , LFU 방식이 있음 (제조사 마다 다름)
7. 캐시의 일관성을 유지해야되는데 여러 코어가 있으면 하나의 캐시에서 변경되면 다른 캐시에서도 변경 됨.
캐시 미스의 유형은 ?
1. Cold Miss
캐시가 처음 데이터 블록을 접근할 때 발생하는 미스,데이터가 캐시에 없어서 발생함. 이 미스는 데이터 블록이 캐시에 처음으로 들어오는 경우에만 발생
2. Conflict Miss
두 개의 데이터 블록이 동일한 캐시 슬롯에 매핑되면,하나의 데이터 블록이 다른 블록을 덮어 쓰게 되므로,교체된 블록에 접근할 때 미스가 발생
3. Capacity Miss
캐시 데이터 블록을 저장하기에는 너무 작아서 자주 접근되는 데이터가 자주 제거됨 , 다시 필요한 데이터가 캐시에 없는 경우 발생
캐시 크기를 키워서 문제를 해결? 파워를 많이먹고 접근 속도가 느려짐 효율 X
파워를 많이 먹는다 -> 파워는 뭘까?
파워 서플라이(전원 공급 장치, Power Supply Unit)는 컴퓨터의 각 부품에 안정적인 전력을 공급하는 역할.
그럼 정확히 부품에 전력을 어떻게 넣는지 ?
1. AC 전력을 DC 전력으로 변환
가정용 전기(AC)를 컴퓨터가 사용 가능한 직류 전기(DC)로 변환
2. 필요한 전압으로 전력 분배
각 부품 고유의 전력 요구 사항 있음.
마더보드,CPU = 12V 전원
드라이브,팬 = 5V OR 3.3V 전원 사용
'PlayGround' 카테고리의 다른 글
[Docker] 도커 기본적인 이해, 복습 끝내기 (용어 정리 , 간단 명령어 , 실습 , 파일 생성 빌드) - 1 (2) | 2024.11.03 |
---|---|
[ Java , Js , xml ] 웹 서비스 보안 취약점 예제 (+고치기) (0) | 2024.10.15 |
jdbc.resultsettable 의 설정에 대하여 (0) | 2024.09.02 |
[Python] 파이썬으로 간단 exe실행파일 만들기 (0) | 2024.08.12 |
[Redis] 성능 최적화 캐싱 방법 (0) | 2024.08.08 |