IT 지식/운영체제

CPU와 캐시 메모리

2024. 8. 21. 00:12
목차
  1. 기억장치 종류와 역할
  2. CPU도 당신처럼 예측하고 미리 움직인다
  3. CPU vs GPU 그리고 RAM

기억장치 종류와 역할

그림1 - 컴퓨터의 기억장치 종류

  • CPU = 연산 장치, Core(코어)가 연산을 한다.
  • CPU 연산 속도 ↑ = 처리량 ↑ = 성능 ↑
  • 클럭 속도 ↑ = Scale Up, 코어의 개수 ↑ = Scale Out, 
  • RAM = 연산을 하는 데이터 저장
  • RAM은 CPU에 비해 속도가 느리므로 속도 차이를 극복하기 위해 중간에 Cache memory를 사용한다.
  • CPU가 연산을 하면서 Cache memory에 RAM에서 가져올 다음 정보를 예측하여 복사해온다.
  • CPU: 교수, Cache memory: 조교, RAM: 도서관 → 조교는 교수가 다음에 사용할 책을 예상하여 도서관에서 가져온다.

 

 

CPU도 당신처럼 예측하고 미리 움직인다

그림2 - CPU가 연산 시 데이터 요청 과정

  • 코어가 명령 + 데이터를 L1 캐시에서 가져온다.
  • 예측은 캐시 메모리에서 발생한다.
  • 0에서 99까지 숫자를 세는 연산을 하는 경우, 0,1,2, 순서로 연산하다 보면 캐시메모리가 RAM에서 나머지 97개를 예측하고 미리 데이터를 가져다 놓는다.
  • L1, L2, L3를 나눈 이유는 데이터 양으로 인한 차이때문에 나누었다. 
  • 데이터 양 = L1 < L2 < L3
  • L1 = 명령과 데이터가 구분되어 있음, L2 = 명령과 데이터가 섞여있음, L3 = 각 코어에 보낼 데이터가 전부 있다.
  • 예측이 항상 정확하지는 않다. (90% 적중률)
  • Cache Hit → 예측이 맞음, Cache Miss → 예측이 빗나감, 예측이 빗나가면 RAM에서 직접 정보를 가져온다.

 

CPU가 연산 시 데이터 요청 과정

  1. CPU가 캐시 메모리에 데이터 요청함 (RAM 메모리 주소 00에 있는 값을 가져오려하는데 혹시 있니?)
  2. 캐시 메모리는 예측한 데이터를 RAM에서 가져옴, 그 데이터를 CPU에게 준다.
  3. L1 캐시에 데이터 없는 경우 L2 캐시에서 확인, L2 캐시에도 없는 경우 L3에서 확인한다.
  4. L1, L2, L3 캐시 메모리에 데이터가 없는 경우 RAM에서 직접 가져온다.

 

 

CPU vs GPU 그리고 RAM

  • CPU → 코어 8 ~ 16개 = 직렬 구조(순차적 연산) = 복잡한 데이터 처리
  • GPU → 코어 4000 ~ 10000개 = 병렬 연산 = 인공지능 연산
  • 메모리에서 연산 기능까지? = 차세대 반도체 PIM → 전처리
  • 내일 요리(감자튀김)를 보고 재료(감자)를 미리 요리에 맞게 손질 → 전처리

 

 

 

 

 

 

 

참고

https://www.inflearn.com/course/%EA%B3%B0%EC%B1%85-%EC%89%BD%EA%B2%8C-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C

 

'IT 지식 > 운영체제' 카테고리의 다른 글

프로세스와 스레드  (0) 2024.08.23
CPU 예측이 가져오는 문제점(멜트다운, 스펙터)  (1) 2024.08.22
DMA와 고성능 소켓  (0) 2024.08.20
인터럽트와 DirectX  (0) 2024.08.19
컴퓨터의 구조 (H/W, Kernel mode, User mode)  (0) 2024.08.18
  1. 기억장치 종류와 역할
  2. CPU도 당신처럼 예측하고 미리 움직인다
  3. CPU vs GPU 그리고 RAM
'IT 지식/운영체제' 카테고리의 다른 글
  • 프로세스와 스레드
  • CPU 예측이 가져오는 문제점(멜트다운, 스펙터)
  • DMA와 고성능 소켓
  • 인터럽트와 DirectX
Security Engineer
Security Engineer
IT 공부
Security Engineer
IT-log
Security Engineer
전체
오늘
어제
  • 분류 전체보기 (177)
    • Programming (39)
      • Python 웹 스크래퍼 만들기 (39)
    • IT 지식 (70)
      • IT 정보 (28)
      • CS 기초 (24)
      • 운영체제 (8)
      • IT 인프라 기초 (10)
    • 보안 (45)
      • 악성코드 분석 (10)
      • Bandit 워게임 (25)
      • 취미로 해킹 2 (6)
      • 환경 구축 (4)
    • 웹 해킹 (23)
      • 웹 기초 지식 (8)
      • SQL 기본 (2)
      • 웹 해킹 및 시큐어 코딩 기초 (13)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Selenium
  • 파이썬
  • Def
  • 악성코드
  • 웹 해킹
  • webScrapper
  • it 운영
  • 운영체제
  • 리눅스
  • IT 인프라
  • bandit
  • HTML
  • 웹 개발
  • 취미로해킹
  • Python
  • CS 기초
  • Web
  • 취미로 해킹
  • 컴퓨터
  • CS
  • 워게임
  • 시큐어 코딩
  • flask
  • 해킹
  • 악성코드 분석
  • overthewire
  • Beautifulsoup
  • CSS
  • 모의해킹
  • WarGame

최근 댓글

최근 글

hELLO · Designed By 정상우.
Security Engineer
CPU와 캐시 메모리
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.