CPU의 예측

EBAB!·2023년 7월 10일
0

OS

목록 보기
7/16
post-thumbnail

  • 위쪽일수록 빠르고, 빈도가 많고, 용량이 작고, 비싸다.
  • regiser와 RAM의 속도는 50배 차이가 난다. 50배 차이나는 녀석과 소통하기는 어려운 일이다. 이를 완충역할 해주는 것이 Cache memory.
  • core마다 L1, L2 캐시가 붙어있고, L3 cache memory는 모든 코어가 공유한다.

간단한 캐시 활용 방식
1. 배열을 100개 선언
2. 50개만 사용
3. 50개만큼의 RAM 저장공간을 예측하고 캐시에 메모리주소를 할당을 받음
4. CPU가 50개를 사용할 시 RAM에게 요청하지 않고 할당되어 있는 메모리주소 사용

결국 CPU와 RAM의 속도 차이에서 생겨난 것이 예측과 캐시이다

GPU와 PIM

GPU는 CPU에 비해 하이레벨의 연산은 못하지만, CPU 코어의 갯수가 8~16개인데 비해 GPU는 4000 정도의 코어를 가진다.
이런 분위기에서 생겨난 패러다임이 RAM을 GPU같은 방식으로 대체하는 방식이다

PIM (Process In Memory)

메모리 반도체 내에서 프로세서의 연산이 어느정도 가능하도록 만든 메모리.(제대로 설명된 글은 컴퓨터 구조를 어느정도 공부한 다음 봐야할 듯 하다)

CPU 예측에서 발생하는 심각한 문제

캐시는 CPU를 관찰하며 예측한다.
좋게 보면 시키기 전에 미리 하는 것, 나쁘게 보면 시키지도 않은 일을 하는 것..

CPU 게이트

캐시 메모리에 데이터가 캐싱되는 방식을 악용하여 중요데이터를 빼내간 사건. 규모가 큰 사건이여서 게이트라는 이름이 붙었다.

방식

  1. 해커가 CPU에게 RAM의 특정 메모리를 읽으려 한다.
  2. RAM은 특정 메모리를 읽는다!
  3. 읽긴 하지만 해커에게 권한이 없기 때문에 보여주지 않는다(중요한 것은 읽는다는 것).
  4. 읽긴 했으므로 CPU는 캐싱을 한다.
  5. CPU에 캐싱된 값에 1000을 더한 값의 메모리를 묻는다.
  6. 값을 얻으면서 원래 특정 메모리 값을 알아낸다.

가상환경까지의 영향

어떤 VM에서의 유저가 위와 같은 악행을 저지르려 할 때, 여러 VM들의 물리적인 CPU와 메모리는 하나이므로 다른 VM의 캐시메모리를 가져올 수 있게 된다.

예측을 위해 막 가져오면서 여러 문제가 발생해버린다.

profile
공부!

0개의 댓글