M07 RTL.ppt [호환 모드] · 2016-10-31 · 13 7-6 데이터처리장치-마이크로연산(uo)...
Transcript of M07 RTL.ppt [호환 모드] · 2016-10-31 · 13 7-6 데이터처리장치-마이크로연산(uo)...
1
제 7장 레지스터 이동과 데이터 처리 장치- 디지털 시스템의 구성
data path 모듈: 데이터 처리, 레지스터, 연산기, MUX, …control unit 모듈: 제어신호 발생, 연산의 순서지정
- register transfer operation : reg 데이터 이동/처리
reg set,operation, sequence control
- micro-operation (uo) : reg에 저장된 데이터에 대한 기본연산 단위
ß 보통 1 클럭동안에 수행
한국기술교육대학교 전기전자통신공학부
2
7-2 레지스터이동연산- 레지스터 표기 : 기능을 상징하는 대문자
AR : address register, PC : program counter, IR : instruction reg
R2 : 2번 reg
- 8비트 reg
R1(7:0) : little endian, LSB가 오른쪽에서 끝남
R1(0:7) : big endian
- 레지스터 이동 : R2 ß R1 R1을 R2에 복사, R1불변
R1 : source reg R2 : destination reg
하드웨어 : R1 출력이 R2 입력으로의 경로와 병렬load 기능을 가진 R2
한국기술교육대학교 전기전자통신공학부
3
-enable 신호를 가진 이동
if (K1=1) then (R2 ßR1) èè K1 : R2 ßR1
K1이 클럭에 동기되어 t 시간의 클럭에지에서 1이되고 t+1의 에지에서 0
R2는 t+1의 에지에서 K1이 1이 되어 있어 R1을 load
ß F/F의 setup/hold time이 있기 때문
- 레지스터 이동 기호 표기법
메모리 이동
한국기술교육대학교 전기전자통신공학부
4
- 여러가지 RTL 표시방식
한국기술교육대학교 전기전자통신공학부
5
7-3 마이크로 연산 (microoperation)- 이동, 산술, 논리, 시프트
• 산술마이크로 연산
R0 ß R1 + R2 ; add and store to R0
- 1 증가/감소 회로 : 상승-하강 카운터 또는 가산기/감산기
- 곱셈/나눗셈 :
기본마이크로 연산이 아닌 결합된 uo로 구현 ß 작은 하드웨어, 느린연산
1 uo로 구현 ß 큰 하드웨어 규모, 빠른 동작
한국기술교육대학교 전기전자통신공학부
6
- 가감산기 구조도X’K1 : R1 ß R1 + R2
XK1 : R1 ß R1 + R2’ + 1
C : carry
V : overflow
c : 0 1 1 0
+70 0 1000110 -70 1 0111010
+80 0 1010000 -80 1 0110000
---------------------------
+150 1 0010110 -150 0 1101010
* overflow 발생 조건
Ci xor Ci-1 = 1
한국기술교육대학교 전기전자통신공학부
7
• 논리마이크로 연산
- (K1+K2) : R1 ßR2+R3, R4 ßR5vR6
- 논리연산 mask
10101101 10101011 R1 10101101 10101011
00000000 11111111 R2 11111111 00000000 ; R2 마스크
00000000 10101011 R1ßR1^R2 11111111 10101011 R1ßR1vR2
- XOR : 비트 반전
R xor 1 à R’ R xor 0 à R
논리OR 산술add 논리OR
한국기술교육대학교 전기전자통신공학부
8
• Shift 마이크로 연산
R0 ß sr R0 same source and dest
R1 ß sl R2 no change R2
한국기술교육대학교 전기전자통신공학부
9
7-4 MUX를 활용한 이동방식- source reg가 여러 개 일때
if(K1=1) then (R0 ßR1) else if (K2=1) then (R0 ßR2)
K1 : R0 ßR1, K1’K2 : R0 ßR2
- 2 to1 MUX를 이용한 연결
한국기술교육대학교 전기전자통신공학부
10
7-5 버스방식 전송
- H/W 비교
(a) 2n개 AND, n개 OR : 9n gates
6n개 input wires
(b) 3n개 AND, n개 OR : 4n gates
3n개 input wires
한국기술교육대학교 전기전자통신공학부
11
• 3상태 버스 : wire 감소, H/W 감소
- 많은 fanin이 있는 회로에서는 이 방식 사용
한국기술교육대학교 전기전자통신공학부
12
• 메모리 이동- 메모리 연산
AR : addr reg
DR : data reg
Read: DR ß M[AR]
Write : M[AR] ß DR
- 메모리와 버스연결
Read 연산
addr dec가 주소선택àaddr bus
read =1
메모리데이터à data bus
D0~D1 중 1개가 load
Read : D1 ß M[A2]
Write 연산
addr dec가 주소선택àaddr bus
write =1
D0~D1 중 1개가 enable
Data bus à 메모리저장
Write : M[A1] ßD2
한국기술교육대학교 전기전자통신공학부
13
7-6 데이터처리장치- 마이크로 연산(uo) 실행: ALU
- ALU 구성
조합연산회로와 accumulator(reg)
실행시간 : 1 uo /1ck
2 operand 입력, 1 출력
§ CPU 주요 구성부
(1) 데이터패스 블록
ALU,shifter
레지스터, MUX, decoder,버스,
처리회로 등으로 구성
(2) 제어신호
uo을 수행하기 위한 적절한 신호발생
R1 ßR2 + R3
(1) A select=10, R2를 A 버스
(2) B select=11, R3 B버스
MB=0,
(3) G à A+B연산 선택
(4) MF=0, ALU 출력선택
(5) MD=0, MUX Fà D bus
(6) dest. sel=01, R1선택
(7) load enable=1
clock edge에서 R1에 값 저장
1ck에
실행
한국기술교육대학교 전기전자통신공학부
14
7-7 산술/논리 연산장치- ALU : 산술/논리연산
N 비트 입출력
carry 입력 및 출력
- 연산종류 선택: S신호
S2: 산술/논리, mode select
S1S0 : 각 4가지 연산종류
한국기술교육대학교 전기전자통신공학부
15
• 산술연산회로
-N 비트 병렬가산기이용
Y 입력의 다중 선택회로 : S1S0
ß 4가지 연산 종류 설계
S=11
Cin=0, G=A-1(dec)
X 1011
Y + 1111
-------
(1)1010
Carry 무시
+15-16 = 1 감소
한국기술교육대학교 전기전자통신공학부
16
- 각 1비트에 대한 B 입력 논리회로
S1S0에 대한 4 to1 MUX à
Bi 입력과 동시 최적화 : 2 to 1 MUX
- 4비트 산술연산논리도
한국기술교육대학교 전기전자통신공학부
17
- 논리연산회로 : 비트별 연산S1S0 : 4개 연산 선택
4 to 1 MUX
한국기술교육대학교 전기전자통신공학부
18
• ALU : 산술 + 논리mode 선택: S2
- n 비트 ALU : 가산기의 ripple carry에
의한 전파 지연시간 발생
- 빠른 ALU : LAC(Look Ahead Carry) 사용
한국기술교육대학교 전기전자통신공학부
19
7-8 Shifter 회로- 기본 shifter회로 : sl, sr
- Bidirectional shift reg with parallel loads1s0 동작
00
01
10
hold
Shift R
Shift L
한국기술교육대학교 전기전자통신공학부
20
• Barrel shifter
- 한 클럭에 n비트 이동
shift left with rotation
- 2n 비트 입출력 BS
2n 입력, n 선택선
2n 개의 MUX
이동수 : 0 ~ 2n -1
Shift right 3 Shift right 2 Shift right 1
sl i ßà sr 2n -i
한국기술교육대학교 전기전자통신공학부
21
7-8 데이터 처리장치 표기법-레지스터 파일 : operand, dest Reg
독립적 R/W : addr, data, write signal
- ALU + shifter + MUX : 연산
함수 및 MUX 선택 신호
status : V,C,N,Z
10
1111
한국기술교육대학교 전기전자통신공학부
22
7-10 Control word-마이크로연산의 데이터처리에
필요한 제어신호로 구성
- 8개의 레지스터 파일을 가진 DP에
대한 제어 워드 형식
- 제어워드 필드구성: 17비트
2개의 operand 주소, dest 주소
FS , MB, MD, RW
한국기술교육대학교 전기전자통신공학부
23
• 데이터처리장치에 대한 제어워드 코드
• R1 ß R2 + R3’ + 1
Field : DA AA BA MB FS MD RW
symbols : R1 R2 R3 register F=A+B’+1 function write
Binary : 001 010 011 0 00101 0 1
한국기술교육대학교 전기전자통신공학부
24
• 데이터처리 마이크로연산에 대한 제어워드 코드 예
한국기술교육대학교 전기전자통신공학부
25
• 마이크로 연산의 실행 시뮬레이션 파형각 uo 연산에 대한
destination reg 에
저장시 다음 클럭의 에지에서
발생되는 것에 유의!!
Status bit = (Z,N,C,V)Address out = (A data)Data Out = (mux B out)
0
6 0
2
한국기술교육대학교 전기전자통신공학부
26
7-11 파이프라인 데이터 처리- uo 실행의 처리속도와
단위시간당 처리비율(thru-put)
- 한 개 uo의 실행시간과 최대 주파수
기존 구조 :
12 ns è 83.3 MHz
파이프라인(pipeline)구조 :
5 ns è 200 MHz
파이프라인: 연산의 실행시간이
긴 곳에 레지스터를 넣어 연산
시간을 짧게 하여
데이터처리 thruput를 높이는
처리 방법
한국기술교육대학교 전기전자통신공학부
27
• 파이프라인 처리 장치 구분예- uo의 실행을 3단계로 분리수행
operand fetch(OF)
execute (EX)
write-back(WB)
- 각 단계 사이에는 클럭이 필요 :
중간데이터를 레지스터
(파이프라인 platform)에 저장
ß 레지스터H/W 증가
- 각 단계의 실행시간은 짧아진다.
ß 동작주파수의 증가
한국기술교육대학교 전기전자통신공학부
28
• uo의 파이프라인 실행 과정- 7개의 연산실행 시간 비교 :
파이프라인 구조 9 clk x 5 ns = 45 ns
기존 구조 : 7 clk x 12 ns = 84 ns
- latency : 파이프라인에서 입력후 데이터가 나오기 까지의 클럭 개수
클럭사이클 1 : uo1 실행 ß OF HW 부분만 사용
클럭사이클 2 : uo2(OF), uo1(EX) ß OF, EX 사용
클럭사이클 3 : uo3(OF), uo2(EX),uo1(WB) ß OF,EX,WB 전부사용
è uo1 실행완료, latency=2
이후 사이클7까지 전 HW 사용과 각 사이클마다 한 개 uo 완료 : 활성상태
사이클 8,9 : emptying 상태, uo는 한 개씩 완료
Thruput = 84 / 45 = 1.9
Filling 상태
한국기술교육대학교 전기전자통신공학부