본문 바로가기
ੈ✩‧₊˚Computer Science/컴퓨터구조

[컴퓨터구조] Datapath 간단한 설계

by 샨샨 2020. 10. 30.
반응형

simplified view of implementation

과정 설명

1. PC 값으로부터 명령어 memory의 주소를 구한다.

2. 명령어 memory에 접근하여 명령어를 get한다. (32bit)

3. 32bit 명령어를 분석한다. (R, I, J format 마다 다름)

4. register file = 32개의 register 가 모여있는 하드웨어 모듈

5. 분석한 명령어에 따라 RS field 값은 register #1 에 넣음 , RT field 값은 register #2에 넣음

6. 넣은 값이 ALU의 input이 된다.

7. ALU가 연산을 하고 뒤로 돌아가서 Data in(쓰기 포트)에 연산 결과를 넣는다.

8.연산결과를 어디에 넣을지 Rd 가 결정하고 결과를 넣는다.

 

I-format 일 때 (Rd 를 Rt로 생각하기)

1~5 동일

6.ALU 가 Imm16값을 직접 가져온다.

7.RS 값과 더하고 Data memory에서 그 주소에 접근한다.

8. memory에서 값을 가져와서 register file의 쓰기 포트에 넣는다.

 

특징

메모리가 instruction memory, data memory 두개로 나누어져있다.

연산을 하는 ALU 가 있다.

register을 모아논 register file 이 있다.

명령어의 주소를 모아놓은 PC가 있다.

 

질문 ) 왜 instruction과 data 메모리가 분리되어 있는가?

이것은 single cycle execution으로 1 clock cycle 안에 모든 연산이 끝나야 한다.

그런데 명령어를 읽고, 데이터를 가져오는 것을 1clock cycle안에 할 수 없기 때문에 분리하지 않고서는 

1 clock cycle안에 모든 것을 해결할 수 없다. 그래서 instruction과 data메모리를 따로 분리해서 이용한다고 가정해야한다.

 

 

반응형