본문 바로가기
Computer/컴퓨터구조

[컴퓨터구조] Processor(1): 데이터패스와 RISC-V의 구현

by 거부기씨 2024. 5. 29.
728x90
반응형

RISC-V의 구현하기 위한 핵심 부분을 살펴보자.

  • 메모리 참조 명령어: lw, sw
  • 산술/논리 명령어: add, sub, and, or
  • 조건부 분기 명령어: beq

이들을 살펴봄으로서 데이터패스와 제어 유닛을 설계하는 데 사용되는 핵심 원리를 이해할 수 있다. 나머지 명령어에 대한 구현 또한 거의 비슷하다.

 

An Overview of the Implementation

모든 명령어의 첫 두 단계는 다음과 같다.

  1. PC(program counter)를 프로그램이 저장되어 있는 메모리에 보내고, 메모리로부터 명령어를 가져온다.
  2. 명령어의 필드에서 데이터를 불러올 레지스터를 읽는다.

이 두 단계 이후의 행동들은 명령어 종류에 따라 다르다. 하지만 위에서 언급한 세 명령어 종류(메모리 참조 명령어, 산술/논리 명령어, 조건부 분기 명령어)에서는 그 행동들이 대부분 같다. 이러한 규칙성이 구현을 단순화한다.

 

 

위의 그림은 RISC-V의 구현을 상위 수준에서 본 것이다. 이 그림은 주요 기능 유닛들과 그들 사이의 연결에 초점을 맞춘다. 즉, 프로세서 내의 데이터 흐름을 보여준다.

 

모든 명령어의 실행은 PC를 사용해 instruction memory에 해당 명령어 주소를 보내는 것으로 시작된다. 이후 명령어 필드에 있는 레지스터 피연산자를 읽어온다. 어떤 명령어인지에 따라 레지스터 피연산자를 다루는 방식이 결정된다.

 

제어 유닛(control unit)과 제어 선을 파란 선으로 나타내었다. control unit은 기능 유닛들과 두 개의 멀티플렉서의 제어선 값을 결정하는 데 사용한다. control unit은 명령어를 입력으로 한다. 화살표로 표시된 멀티플렉서는 PC+4와 분기 목적지 주소 중 어느 것을 PC에 쓸 지 결정하는 데 사용한다.

 

이어질 글에서 해당 구현을 더 자세히 알아보도록 할 것이다.

728x90
반응형