한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1
본슬라이드는 M. Morris Mano and Charles Kime 의 Logic and Computer Design Fundamentals 의내용을참조하였습니다. 한국기술교육대학교전기전자통신공학부 2
1. 레지스터전송과데이터처리장치 2. 순차진행과제어 3. 명령어구조 (Instruction Set Architecture) 한국기술교육대학교전기전자통신공학부 3
} 디지털시스템의구성 data path 모듈 : 데이터처리, 레지스터, 연산기, MUX, control unit 모듈 : 제어신호발생, 연산의순서지정 } RTL(Register Transfer Level) operation reg 데이터이동 / 처리 reg set, operation, sequence control } micro-operation (uo) reg 에저장된데이터에대한기본연산단위 ß 보통 1 클럭동안에수행 한국기술교육대학교전기전자통신공학부 4
- 레지스터표기 : 기능을상징하는대문자 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 한국기술교육대학교전기전자통신공학부 5
- 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 이있기때문 - 레지스터전송기호표기법 메모리이동 한국기술교육대학교전기전자통신공학부 6
- 여러가지 RTL 표시방식 한국기술교육대학교전기전자통신공학부 7
- 이동, 산술, 논리, 시프트 } 산술마이크로연산 R0 ß R1 + R2 ; add and store to R0-1 증가 / 감소회로 : 상승 - 하강카운터또는가산기 / 감산기 - 곱셈 / 나눗셈 : 기본마이크로연산이아닌결합된 uo 로구현 ß 작은하드웨어, 느린연산 1 uo 로구현 ß 큰하드웨어규모, 빠른동작 한국기술교육대학교전기전자통신공학부 8
- 가감산기구조도 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 한국기술교육대학교전기전자통신공학부 9
} 종류 } RT 표현 - (K1+K2) : R1 ßR2+R3, R4 ßR5vR6 논리 OR 산술 add 논리 OR - 논리연산 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 한국기술교육대학교전기전자통신공학부 10
} shift 마이크로연산표현 R0 ß sr R0 shift right, same source and destination, change R0 R1 ß sl R2 shift left, no change R2 한국기술교육대학교전기전자통신공학부 11
- source reg 가여러개일때 if (K1=1) then (R0 ßR1) else if (K2=1) then (R0 ßR2) K1 : R0 ßR1, K1 K2 : R0 ßR2-2 to 1 MUX 를이용한연결 한국기술교육대학교전기전자통신공학부 12
- H/W 비교 (a) 2n 개 AND, n 개 OR : 9n gates 6n 개 input wires (b) 3n 개 AND, n 개 OR : 4n gates 3n 개 input wires 한국기술교육대학교전기전자통신공학부 13
} 3 상태버스사용한연결 : wire 감소, H/W 감소 - 많은 fanin 이있는회로에서는이방식사용 R0 ß R1, R2 ß R1 E 0 E 1 E 2 =010 L 0 L 1 L 2 =101 한국기술교육대학교전기전자통신공학부 14
- 마이크로연산 (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) D select=01, R1 선택 (7) load enable=1 clock edge 에서 R1 에값저장 1ck 에실행 1uo/1ck 한국기술교육대학교전기전자통신공학부 15
} ALU 산술 / 논리연산 N 비트입출력 carry 입력및출력 } 연산종류선택 S 신호 S2: 산술 / 논리, mode select S1S0 : 각 4 가지연산종류 한국기술교육대학교전기전자통신공학부 16
} N 비트병렬가산기이용 Y 입력의다중선택회로 S 1 S 0 ß 4 가지연산종류설계 S=11 Cin=0, G=A-1(dec) X 1011 + Y + 1111 ---------------- 1 1010 Carry 무시 +15-16 = 1 감소 한국기술교육대학교전기전자통신공학부 17
- 각 1 비트에대한 B 입력논리회로 S 1 S 0 에대한 4 to1 MUX à Bi 입력과동시최적화 : 2 to 1 MUX - 4 비트산술연산논리도 한국기술교육대학교전기전자통신공학부 18
} 논리연산회로 비트별연산 S 1 S 0 : 4 개연산선택 4 to 1 MUX 한국기술교육대학교전기전자통신공학부 19
} ALU : 산술 + 논리 mode 선택 : S 2 - n 비트 ALU : 가산기의 ripple carry 에 의한전파지연시간발생 - 빠른 ALU : LAC(Look Ahead Carry) 사용 한국기술교육대학교전기전자통신공학부 20
- 기본 shifter 회로 : sl, sr - Bidirectional shift reg with parallel load s1s0 0 0 0 1 1 0 동작 hold Shift R Shift L 한국기술교육대학교전기전자통신공학부 21
} Barrel Shifter (BS) - 한클럭에 n 비트이동 shift left with rotation - 2 n 비트입출력 BS 2 n 입력, n 선택선 2 n 개의 MUX 이동수 : 0 ~ 2 n -1 Shift right 3 Shift right 2 Shift right 1 sl i ßà sr 2 n -i 한국기술교육대학교전기전자통신공학부 22
} 레지스터파일 operand, dest reg 독립적 R/W : addr, data, write signal } ALU + shifter + MUX : 연산함수및 MUX 선택신호 status : V,C,N,Z 10 11 11 한국기술교육대학교전기전자통신공학부 23
} 마이크로연산의데이터처리에필요한제어신호로구성 } 8개의레지스터파일을가진 DP에대한제어워드형식 제어워드필드구성 17 비트 dest 주소, 2개의 operand 주소 FS, MB, MD, RW 한국기술교육대학교전기전자통신공학부 24
} 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 è control word 00101001100010101 17 bits 한국기술교육대학교전기전자통신공학부 25
} 데이터처리마이크로연산에대한제어워드코드예 한국기술교육대학교전기전자통신공학부 26
} 실행시뮬레이션파형 각 uo 연산에대한 destination reg 에저장시다음클럭의에지에서발생되는것에유의!! 0 6 0 R1 ß R2+R3+1 R4 ß sl R6 R7 ß R7+1 R1 ß R0+2 Data out ß R3 R4 ß Data in R5 ß 0 Status bit = (Z,N,C,V) Address out = (A data) Data Out = (mux B out) 8 2 한국기술교육대학교전기전자통신공학부 27
} uo 실행의처리속도와단위시간당처리비율 (thruput) } 한개 uo 의실행시간과최대주파수 기존구조 12 ns è 83.3 MHz 파이프라인 (pipeline) 구조 5 ns è 200 MHz } 파이프라인 : 연산의실행시간이긴경로에레지스터를넣어연산시간을짧게하여데이터처리 thruput 를높이는하드웨어구조 한국기술교육대학교전기전자통신공학부 28
} 파이프라인처리장치구분예 - uo 의실행을 3 단계로분리수행 operand fetch(of) execute (EX) write-back(wb) - 각단계사이에는클럭필요 - 중간데이터를 ( 파이프라인 platform) 레지스터에저장 ß 추가적인레지스터사용으로 H/W 증가 - 각단계의실행시간은짧아진다. ß 동작주파수의증가 한국기술교육대학교전기전자통신공학부 29
} uo 의파이프라인실행과정 - latency : 파이프라인에서입력후데이터가나오기까지의클럭개수클럭사이클 1 : uo1 실행 ß OF HW 부분만사용 Filling 상태클럭사이클 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 : uo는한개씩완료, emptying 상태 - 7개의연산실행시간비교 : Thruput = 84 / 45 = 1.9 파이프라인구조 : 9 clk x 5 ns = 45 ns 기존구조 : 7 clk x 12 ns = 84 ns 한국기술교육대학교전기전자통신공학부 30