본문 바로가기
CS/Computer Architecture

Processor - Datapath

by 테리는당근을좋아해 2019. 12. 17.

datapath란?

데이터패스란  CPU안에서 데이터와 주소, 레지스터의 처리 및 연산을 하는 모든 요소를 의미한다 (instruction memory, data memory, PC, Register file, ALU 등 ..)

 

1. Instruction fetch

instruction memory에서 Instruction을 읽어들인다.

 1) PC(program count) : 실행해야할 명령어의 주소를 가지고 있는 레지스터

 2) Instruction memory : PC로 부터 주소를 읽어들이고 주소에 맞는 Instruction을 output으로 내보냄

 3) Add : PC 값을 4byte 씩 증가시키는 연산 수행하므로써 다음 명령어의 주소값으로 PC를 업데이트 시켜줌

 

2. To implement R-format arithmetic/logic instruction

  - add $t1, $t2, $t3

  - 피연산자 레지스터를 읽어들임($t2, $t3)

  - arithmetic/logical operation 수행

  - 결과값을 레지스터에 저장($t3)

 

3. To implement Load/Store Instruction

  - lw $t1, offset($t2)

  - base address를 구하기 위해 피연산자 레지스터를 읽어들임($t2)

  - sign extend를 이용해 16bit의 offset을 32bit로 변환하고 base address 계산

    (base address 계산을 위한 ALU의 input은 32bit임. offset을 32bit로 그냥 늘일 경우 부호가 바뀔 수 있으므로 sign extend를 통해 32bit로 비트를 확장해줌 ex : 1111 -> 0000 1111(x), 1111 -> 1111 1111(o))

  - Load : 메모리를 읽고 레지스터 값을 업데이트함

  - Store : 메모리에 레지스터 값을 저장

 

 

'CS > Computer Architecture' 카테고리의 다른 글

Language of the Computer  (0) 2019.12.23
Computer Abstraction and Technology  (1) 2019.12.22
Memory Hierarchy  (0) 2019.12.16
Processor - logic design basics  (0) 2019.12.16
Floating Point Number  (0) 2019.12.15

댓글