본문 바로가기

전공/컴퓨터 구조

CPU) 설계, 병렬 처리, CISC & RISC

728x90
반응형

CPU

  1. 컴퓨터 부품들은 '클럭 신호'에 맞춰 움직인다.
  2. CPU는 '명령어 사이클'에 맞춰 명령어들을 실행한다.

CPU의 속도을 증가시키는 방법

  • 클럭 속도: Hz
  • 코어 수 증가
  • 스레드 수 증가

 

Core (코어)

 

thread (스레드): 실행 흐름의 단위

  • 하드웨어적 스레드 (논리 프로세서): 하나의 코어가 동시에 처리하는 명령어 단위
    • 레지스터가 중요함
  • 소프트웨어적 스레드: 하나의 프로그램에서 독립적으로 실행되는 단위

하드웨어적 스레드
소프트웨어적 스레드

 

명령어 파이프라인

  • 파이프 라인 순서
    1. 명령어 인출 (Instruction Fetch)
    2. 명령어 해석 (Instruction Decode)
    3. 명령어 실행 (Execute Instruction)
    4. 결과 저장 (Write Back)
  • 파이프라인 위험
    • 데이터 위험: 명령어 간의 의존성에 의해 생김, 이전 명령어를 끝까지 실행해야만 실행할 수 있는 경우
      • 명령어 1: R1 <= R2 + R3 // R2레지스터 값과 R3 레지스터 값을 더한 값을 R1 레지스터에 저장
      • 명령어 2: R4 <= R1 + R5 // R1레지스터 값과 R5 레지스터 값을 더한 값을 R4 레지스터에 저장
    • 제어 위험: 프로그램 카운터의 변화
    • 구조적 위험: 서로 다른 명령어가 같은 CPU 부품을 쓰려고 할 때
  • 슈퍼스칼라: CPU 내부에 여러 개의 명령어 파이프라인을 포함한 구조
  • 비순차적 명령어 처리

파이프라인


명령어 집합 (구조): CPU가 이해할 수 있는 명령어들의 모음

  • CISC (Complex Instruction Set Computer): 복잡하고 다양한 명령어 (x86, x86 - 64)
    • 명령어 파이프라인이 불리하다.
    • 복잡한 명령어는 사용 빈도가 낮다.
  • RISC (Reduced Instruction Set Computer): 명령어의 종류가 작고 짦고 규격화됨
    • 파이프라인에 유리함
    • 메미로 접근 최소화한다.
    • 명령어의 종류가 작기 때문에 더 많은 명령어를 사용함.
CISC RISC
복잡하고 다양한 명령어 단순하고 적은 명령어
가변 길이 명령어 고정 길이 명령어
다양한 주소 지정 방식 적은 주소 지정 방식
프로그램을 이루는 명령어의 수가 적음 프로그램을 이루는 명령어의 수가 많음
여러 클럭에 걸쳐 명령어 수행 1클럭 내외로 명령어 수행
파이프라인하기 어려움 파이프라인하기 쉬움
728x90
반응형