[혼공컴운] 5-2~5-3

Evie·2023년 3월 26일
0

시스템

목록 보기
4/22

명령어 병렬 처리 기법 & CISC와 RISC
🤓책 '혼자 공부하는 컴퓨터 구조 + 운영체제'의 내용을 바탕으로 정리한 공부 내용입니다.

업로드중..

🏭명령어 병렬 처리 기법

: 명령어를 동시에 처리하여 CPU를 쉬지 않고 작동시키는 기법

명령어 파이프라인

: 명령어들을 명령어 파이프라인에 넣고 동시에 처리하는 기법

  • 하나의 명령어가 처리되는 과정
    1. 명령어 인출 (Instruction Fetch)
    2. 명령어 해석 (Instruction Decode)
    3. 명령어 실행 (Execute Instruction)
    4. 결과 저장 (Write Back)
      => 같은 단계가 겹치지 않는다면 동시 실행가능

파이프라인 위험

: 특정 상황에서 성능향상에 실패하는 경우

  • 데이터 위험
    • 명령어간 '데이터 의존성'에 의해 발생
    • 어떤 명령어는 이전 명령어를 끝까지 실행해야만 비로소 실행됨

      명령어1 : R1 <- R2 + R3 //R2레지스터 값과 R3레지스터 값을 더해 R1에 저장
      명령어2 : R4 <- R1 + R5
      -> 명령어 2는 R1의 값에 의존적이므로 명령어1 실행이 끝나기 전에 명령어2를 인출할 수 없음

  • 제어 위험
    • 분기 등의 프로그램 카운터의 갑작스러운 변화에 의해 발생
    • 분기 예측 : 프로그램이 어디로 분기할지 미리 예측한 후 그 주소를 인출하는 기술
  • 구조적위험
    • 명령어들을 겹쳐 실행하는 과정에서 서로 다른 명령어가 동시에 같은 CPU부품을 사용하려 할 때 발생 (=자원 위협)

슈퍼 스칼라

: 여려 개의 명령어 파이프라인을 두는 기법

  • 멀티스레드 프로세서는 슈퍼스칼라 구조 사용 가능
  • 이론적으로 파이프라인 개수에 비례하여 프로그램 처리 속도 향상
  • 하지만 파이프라인 위험 등의 문제로 비례하여 빨라지지는 암흥ㅁ
    => 위험 방지를 위해 고도의 설계 필요

비순차적 명령어 처리

: (OoOE : Out-of-order execution) 명령어들을 순차적으로 실행하지 않는 기법, 대부분의 CPU가 차용

=> 서로 데이터 의존성이 전혀 없는 명령어들을 순서를 바꾸어 먼저 실행하여 명령어 파이프라인이 멈추는 것을 방지


📖 CISC와 RISC

명령어 집합 구조

: (ISA : Instruction Set Architecture) CPU가 이해할 수 있는 명령어의 모음, CPU종류마다 차이有

  • 같은 소스코드로 만들어진 프로그램이라도 ISA가 다르면 어셈블리어도 달라짐
  • CPU의 언어임과 동시에 CPU를 비롯한 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속

CISC

: (Complex Instruction Set Coumputer) 복잡하고 다양한 명령어를 활용하는 CPU설계 방식
(x86, x86-64 - 대표적인 CISC 기반의 ISA)

  • 명령에의 형태와 크기가 다양한 가변 길이 명령어를 활용
    = 상대적으로 적은 수의 명령어로도 프로그램을 실행 가능
  • 메모리 공간 절약 가능
  • 명령어의 크기와 실행 시간이 일정하지 않고 하나의 명령에 여려 클럭 주기를 필요로함 => 규격화 되지 않은 명령어가 파이프라이닝을 어렵게 만든 셈
  • 자주 사용하는 명령어만 계속 씀
    => CISC기반 CPU는 성장에 한계有

RISC

: (Reduced Instruction Set Computer)

  • CISC에 비해 명령어의 종류가 적음
  • 짧고 규격화된 명령어 지향 (1클럭 내외의 명령어)
    => 파이프라이닝에 최적화
  • load store 두 개로 제한한 메모리 접근 명렁어
    => 레지스터 적극 활용
  • CISC보다 많은 명령으로 프로그램 작동

Sum-up

구분SISCRISC
명령어복잡 다양단순 적은 양
명령어 길이가변길이고정길이
주소지정방식다양적음
프로그램 명령어 수적음많음
명령어 수행 클럭여러 클럭1클럭 내외
파이프라이닝 난이도어려움쉬움

.💭사람들 참 똑똑하다

profile
공부합시다

0개의 댓글