Code.Dev_MH
DevMHK
Code.Dev_MH
전체 방문자
오늘
어제
  • 개발자의 일상 (40)
    • Language (5)
      • Java (4)
      • Kotlin (1)
      • Python (0)
    • Back-End (1)
      • Spring (1)
      • Django (0)
      • Error (0)
    • Infra (0)
      • Docker (0)
      • CI, CD (0)
      • AWS (0)
    • CS (12)
      • 컴퓨터 구조(Computer Architectur.. (12)
      • 운영 체제(OS) (0)
      • 시스템소프트웨어(SystemSoftware) (0)
      • 네트워크(Network) (0)
      • 소프트웨어공학(Software Engineerin.. (0)
      • 데이터베이스(DataBase) (0)
      • 자료구조(Data Structure) (0)
      • 알고리즘(Algorithm) (0)
    • Git (0)
    • Algorithm (21)
      • 프로그래머스 (5)
      • 백준 (16)
      • 코딩테스트 후기 (0)
    • 회고 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 컴퓨터구조
  • 그리디
  • computer architecture
  • 코틀린사용이유
  • Priority Queue
  • 제로베이스백엔드스쿨
  • 백준
  • 다이나믹프로그래밍
  • 브루트포스
  • dp
  • INT
  • java
  • Greedy
  • 프로그래머스
  • 코틀린장점
  • BFS
  • cs
  • 너비우선탐색
  • 자바와비교
  • 우선순위 큐

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Code.Dev_MH

DevMHK

[컴퓨터 구조] 파이프라인
CS/컴퓨터 구조(Computer Architecture)

[컴퓨터 구조] 파이프라인

2023. 1. 13. 18:00

1. 파이프라인

  • 하나의 작업에 필요한 일을 세부적으로 나누어서 동시에 다른 세부작업을 실행하는 방법
  • CPU의 단계를 2가지로 나누어보자.
    • Fetch Stage(Instruction Fetch/Decode)
    • Execution Stage(Instruction Execution)
  • CPU의 단계를 4가지로 나누어보자.
    • 명령어 인출(IF: Instruction Fecch)
    • 명령어 해독(ID: Instruction Decode)
      • 인출된 명령어 해석
    • 오퍼랜드 인출(OF: Operand Fetch)
      • 메모리에서 데이터 인출
    • 명령어 실행(EX: Execute)
  • 최근 CPU는 파이프라인이 굉장히 길다. 16단계 정도이며, 단계를 계속 나누는 이유는?
    • 세부적으로 단계를 나누면 나눌수록 속도가 빨라진다.
  • CPU의 단계를 나눈 가지 수로 하나의 명령을 실행하는 데 몇 cycle이 걸리는지 알 수 있다.
  • 위 2가지 예시와 최근 CPU를 통해
    • 첫번째 그림은 하나의 명령을 실행하는데 2 cycle이 걸린다.
    • 두번째 그림은 하나의 명령을 실행하는데 4 cycle이 걸린다.
    • 최근 CPU는 16단계 정도로 나누어 처리하므로 16 cycle이 걸리는 것을 알 수 있다.
  • 추가적으로 1Hz = 1cycle/sec 이므로 예를 들어 CPU가 320,000 cycles/sec(=320KHz)라고 가정했을 때 이 2가지 예시와 최근 CPU의 단계를 가지고 초당 명령 실행 수를 알 수 있다.
    • 2가지 단계: 320,000 / 2 cycle = 초당 160,000 명령 실행
    • 4가지 단계: 320,000 / 4 cycle = 초당 80,000 명령 실행
    • 16가지 단계: 320,000 / 16 cycle = 초당 20,000 명령 실행
  • 점차적으로 cycle 의 수가 커질수록 더 오래 걸릴 것 같지만, 내부적으로는 단계별로 동시에 실행할 수 있는 명령들이 더 많아지기 때문에 기존보다 더 빠르게 동작한다.
  • 결론적으로 파이프라인은 CPU의 성능을 높이는 기법이다.
반응형

'CS > 컴퓨터 구조(Computer Architecture)' 카테고리의 다른 글

[컴퓨터 구조] CISC vs RISC  (0) 2023.01.16
[컴퓨터 구조] 컴퓨터의 CPU 기본 구조  (0) 2023.01.11
[컴퓨터 구조] Instruction Set이란?  (0) 2023.01.09
[컴퓨터 구조] Program Counter(PC)란?  (0) 2023.01.07
[컴퓨터 구조] Accumulator란?  (0) 2023.01.04
    'CS/컴퓨터 구조(Computer Architecture)' 카테고리의 다른 글
    • [컴퓨터 구조] CISC vs RISC
    • [컴퓨터 구조] 컴퓨터의 CPU 기본 구조
    • [컴퓨터 구조] Instruction Set이란?
    • [컴퓨터 구조] Program Counter(PC)란?
    Code.Dev_MH
    Code.Dev_MH
    Back-End 개발자가 되기 위한 개발 노트(Java)

    티스토리툴바