sequential implementation

kudos·2021년 1월 21일
0

컴퓨터구조

목록 보기
5/5

1. instruction을 구현하는 두 가지 방법

1) sequential implementation

sequential execution(한 instruction이 완전히 끝나야 다음 instruction이 시작하는것)을 그대로 구현한 것

  • single cycle implementation : 한 instruction을 한 cycle에 실행하는 것
  • multi cycle implementation : 한 instruction을 여러 cycle에 실행하는 것

2) overlapped implementation

instruction 실행이 서로 오버랩 되는 것

  • pipelined implementation

2. instruction 종류에 따른 dataflow

1) R-format Instruction Dataflow

2) I-format Load Instruction Dataflow

3) I-format Store Instruction Dataflow

4) I-format Branch Instruction Dataflow

5) 특징

  • single-cycle implementation에서는 instruction 32bit만으로 control signal들이 어떤 값을 가져야 하는지 알 수 있음. 단, PCSrc는 beq instruction에서 두 register의 값이 같은지 여부에 따라 결정된다.
  • state change(register and/or memory)는 clock cycle이 끝나서 falling edge가 발생할 때 진행된다

3. multi-cycle implementation

1) 필요한 이유

  • single-cycle implementation에서, instruction마다 필요한 시간이 다른데 한 cycle에 실행되도록 하려면 cycle을 가장 오래 걸리는 instruction에 맞춰야 하기 때문에 비효율적
    따라서 cycle time을 작게 해서 각각의 instruction마다 서로 다른 cycle 수를 할당함
  • 한 cycle에서 동시에 모든 작업을 하기 때문에 자원을 효율적으로 사용할 수가 없음. 예를 들어, single cycle implementation에서는 ALU와 ADDER가 동시에 존재함. 한 cycle에 두 가지 작업을 해야 하기 때문. multi-cycle에서는, cycle마다 ALU를 서로 다른 작업에 사용할 수가 있음.
profile
kudos

0개의 댓글