본문 바로가기
2학년 2학기/컴퓨터 구조

9.5 RISC pipeline

by kkkkk1023 2024. 11. 24.

RISC 아키텍쳐에서는 명령어를 3단계로 나누어 처리한다. 각 단계는 병렬로 실행되며, Pipelining을 통해 처리 속도를 높인다. 

 

  • I : Instruction Fetch (명령어 가져오기)
  • A : Decode, Read Registers (명령어 해독 및 레지스터 읽기)
  • E : Execute (실행)

 

1. Data Manipulation Instructions

: 데이터 조작 명령(예: 산술 연산, 논리 연산)를 처리한다.

 

  • I : Instruction Fetch (명령어를 메모리에서 가져오기)
  • A : Decode, ALU operations
    • 명령어 해독 및 실행할 연산 결정
    • 필요한 레지스터 값을 읽기
    • ALU를 통해 산술 또는 필요한 레지스터 값을 읽는다.
  • E : Write a register (연산 결과를 레지스터에 저장)

 

2. Data Transfer Instructions (Load/Store)

: 프로그램 흐름을 제어하는 명령어(예를 들면, Branch, Jump)를 처리한다.

 

  • I : Instruction Fetch (명령어 가져오기)
  • A : Decode, Evaluate effective address (명령어를 해독하고 메모리 주소 계산 필요한 레지스터 값이나 오프셋을 확인)
  • E : Register-to-memory or Memory-to-register(레지스터 값을 메모리에 저장(Store)하거나, 메모리 값을 레지스터로 가져옴(Load))

 

3. Program Control Instructions

: 프로그램 흐름을 제어하는 명령어(예를 들면, Branch, Jump)를 처리한다.

 

  • I : Instruction Fetch (명령어 가져오기)
  • A : Decode, Evaluate branch address (명령어 해독 및 branch 주소 계산)
  • E : Write registr / PC (계산된 branch 주소를 PC에 저장)

 

 

 

Delayed Load로 Conflict 해결

 


 

Branch시 발생하는 Conflict를 2가지 방법으로 해결하기

 

 

 

 

방법 (1) / 방법 (2)

 

'2학년 2학기 > 컴퓨터 구조' 카테고리의 다른 글

9.4 Instruction pipeline  (0) 2024.11.24
9.2 Pipelining  (0) 2024.11.24
9.1 Parallel processing(Instruction Level Parallelism)  (0) 2024.11.24
8.8 Reduced Instruction Set Computer (RISC)  (0) 2024.11.17
8.7 Program control  (0) 2024.11.17