본문 바로가기

문과 코린이의, [컴퓨터 구조] 기록/컴퓨터구조 4강

[문과 코린이의 IT기록장] 컴퓨터 구조 - 4.3. 데이터패스 만들기

반응형

 

- 데이터패스 구성요소 : 프로세서 내에서, 데이터를 가지고 연산하거나, 데이터를 저장하는 기능 유닛

cf) MIPS구현에서는 데이터패스 구성요소에, 명령어 메모리, 데이터 메모리, 레지스터 파일, ALU, 덧셈기 등이 포함된다.

 * 앞의 4.2까지의 논리회로는 데이터패스를 보여주기 위한 쉬운사례

 


 

1. 데이터패스 구성요소 (메모리 유닛 - PC - ALU)

- 명령어를 저장하고 접근하는데는, 두 개의 상태소자가 필요하며, 다음 명령어의 주소를 계산하기 위해 덧셈기가 하나 필요하다.

 a. Instruction Memory : 프로그램의 명령어를 저장하고, 주소가 주어지면 해당 명령어를 보내주는 메모리 유닛

 b. Program Counter : 현재 명령어의 주소를 가지고 있는 레지스터인 PC(Program Counter)

 c. Adder : PC 다음 명령어 주소로 증가시키는 덧셈기 (PC+4)

 


 

2. PC로부터 명령어를 인출하고, PC를 증가시키는데 사용하는 데이터패스의 일부분

 


3. R-type 명령어

6bits 5bits 5bits 5bits 5bits 6bits
OP rs rt rd shamt funct

 ex) add, sub, AND, OR, slt

 

- Registers File, ALU

 


 

4. 워드 적재(lw), 저장(sw) 명령어

- 앞의 R-type에서 필요했던 Register와, ALU 모두 필요.

- Data Memory unit, Sign-extension unit(부호확장유닛)

 


 

5. beq명령어, j명령어

 

[ 분기 명령어의 주의점 2가지 ]

1. 명령어 집합 구조는 분기 주소 계산의 베이스 주소가, 분기 명령어 다음 명령어의 주소라고 서술하고 있다. 즉, 명령어 인출 데이터패스에서 PC+4를 계산하기 때문에, 이 값을 분기 목적지 주소 계산의 베이스로 사용한다는 것이다.

 cf) PC+4 이후, branch 과정 진행

 

2. 구조는 또한 변위 필드는 2bit만큼 왼쪽으로 자리이동하여 워드 변위가 된다고 서술한다. 이렇게 함으로써 유효범위를 4배만큼 증가시킨다.

 


 

6. 단일 데이터패스 만들기

- 가장 간단한 데이터패스모든 명령어를 한 클럭사이클에 실행되도록 시도하는 것이다. 이는 어떠한 데이터패스 지원도 명령어 당 2번 이상 사용될 수 없다는 것을 의미한다. 만약, 두 번 이상 사용할 필요가 있는 구성요소는 필요한 만큼 여러개를 두어야 한다. ex) 메모리의 경우 두개 두기 : Data Memory - Instruction Memory

 

 

[ 이 데이터패스의 특징 ]

- Control(제어 유닛)이 없다.

- Branch가 없다.

 * 이 부분은 이후 단일 데이터 패스의 완성판, 병렬 데이터 패스의 완성판에서 설명하고자 한다.

 

 


* 유의사항
- 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다.
- 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다.
- 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :)
반응형