- 데이터패스 구성요소 : 프로세서 내에서, 데이터를 가지고 연산하거나, 데이터를 저장하는 기능 유닛
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가 없다.
* 이 부분은 이후 단일 데이터 패스의 완성판, 병렬 데이터 패스의 완성판에서 설명하고자 한다.
* 유의사항 - 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다. - 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다. - 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :) |
'문과 코린이의, [컴퓨터 구조] 기록 > 컴퓨터구조 4강' 카테고리의 다른 글
[문과 코린이의 IT기록장] 컴퓨터 구조 - 4.6. 파이프라인 데이터패스 및 제어 (1) | 2021.01.20 |
---|---|
[문과 코린이의 IT기록장] 컴퓨터 구조 - 4.5. 파이프라이닝에 대한 개관 (6) | 2021.01.19 |
[문과 코린이의 IT 기록장] 컴퓨터 구조 - 4.4. 데이터패스의 단순한 구현 (1) | 2021.01.17 |
[문과 코린이의 IT 기록장] 컴퓨터 구조 - 4.2.논리 설계 관례 (0) | 2021.01.17 |
[문과 코린이의 IT기록장] 컴퓨터 구조 - 4.1. 프로세서(CPU) (0) | 2021.01.17 |