Microsoft PowerPoint - hw8.ppt [호환 모드]

Similar documents
8장 조합논리 회로의 응용

Computer Architecture

Microsoft PowerPoint - 강의자료8_Chap9 [호환 모드]

PowerPoint 프레젠테이션

Microsoft PowerPoint - 1-2장 디지털_데이터 .ppt

hwp

한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1

Microsoft PowerPoint - M07_RTL.ppt [호환 모드]

[2010 년디지털시스템설계및실험중간고사 2 답안지 ] 출제 : 채수익 1. (a) (10 pts) Robertson diagram Quotient 와 remainder 의 correction 을뒤로미루는것이 non-restoring division 이다. 즉, q =

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참

2 장수의체계 1. 10진수 2. 2진수 3. 8진수와 16진수 4. 진법변환 5. 2진정수연산과보수 6. 2진부동소수점수의표현 한국기술교육대학교전기전자통신공학부전자전공 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - VHDL08.ppt [호환 모드]

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

Microsoft PowerPoint - CHAP-03 [호환 모드]

Microsoft PowerPoint - hw4.ppt [호환 모드]

Microsoft PowerPoint - ARM System-on-chip architecture_Chap 4_23p.ppt

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft Word - Experiment 5.docx

Microsoft PowerPoint - Chapter_02.pptx

Microsoft PowerPoint - DSD03_verilog3b.pptx

Microsoft PowerPoint - hy2-12.pptx

Microsoft PowerPoint - Divider2.ppt

Microsoft Word - 1. ARM Assembly 실습_xp2.doc

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

Python과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산 (제 2 장. 복소수 기초)

초4-1쌩큐기본(정답)본지


(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M

1. 조합 (combinational) 논리회로에대해설명한것은? < 가 > 가출력신호가입력신호에의해서만결정되는논리회로이다. 나플립플롭과같은기억소자를갖고있는논리회로이다. 다출력신호가입력신호와현재의논리회로의상태에의해결정되는논리회로이다. 라기억능력을가진논리회로이다.

프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M

Microsoft PowerPoint - chap04-연산자.pptx

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

¾Ë·¹¸£±âÁöħ¼�1-ÃÖÁ¾

01....b

2007백서-001-특집

00목차

(291)본문7

10주차.key

KNK_C03_Expr_kor

3 권 정답

ºÎ·ÏB

VHDL 기초 VHDL 두원공과대학정보통신미디어계열이무영

Microsoft PowerPoint - es-arduino-lecture-03

MAX+plusⅡ를 이용한 설계

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

ADP-2480

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

체의원소를계수로가지는다항식환 Theorem 0.1. ( 나눗셈알고리듬 (Division Algorithm)) F 가체일때 F [x] 의두다항식 f(x) = a 0 + a 1 x + + a n x n, a n 0 F 와 g(x) = b 0 + b 1 x + + b m x

=

wire [n-1:0] a, b, c, d, e, f, g, h; wire [n-1:0] x; // internal wires wire [n-1:0] tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; mux_2to1 mux001 (.x(tmp0),.a(a

Chapter ...

매뉴얼_웹용

Microsoft PowerPoint - 사본 - OAS04-사무자동화 기술(HW-CPU).ppt

슬라이드 1

Remote UI Guide

Computer Architecture

OCW_C언어 기초

<BDC7C7E83220B0E1B0FABAB8B0EDBCAD202833C1D6C2F7292E687770>

PowerPoint Presentation

Microsoft Word - logic2005.doc

Microsoft PowerPoint - DSD03_verilog3a.pptx

Microsoft Word - FunctionCall

API 매뉴얼

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft Word - PLC제어응용-2차시.doc

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

Microsoft PowerPoint - VHDL01_chapter1.ppt [호환 모드]

<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E >

PowerPoint 프레젠테이션

Microsoft PowerPoint - KNK_C03_Expr_kor

Microsoft PowerPoint - DSD06b_Cont.pptx

ATmega128

Microsoft PowerPoint - c2.ppt

창의사고력 S01호 매뉴얼.hwp

Microsoft PowerPoint - DSD04_fpga1.pptx

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

Microsoft PowerPoint - Chapter_04.pptx

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

ch15

중간고사

3차시.ppt

standard form 표준양식 자리수를사용하여수를표시하는법 expanded form 확장식 수를쓸때모든인수를각각보여주는식 4 Division of Whole Numbers 4 new dividend 피젯수 나눗셈에서나눔을당하는수 divisor 젯수 한수를나누는수 r

SRC PLUS 제어기 MANUAL

Microsoft PowerPoint - hy2-12.pptx

Microsoft PowerPoint - 부호기와 복호기.PPT

Microsoft PowerPoint - chap05-제어문.pptx

목차 7 장조합논리회로 1. 가 / 감산기 2. 비교기 3. 디코더 4. 인코더 5. 멀티플렉서 6. 디멀티플렉서 7. 코드변환기 8. 패리티발생기 / 검출기 한국기술교육대학교전기전자통신공학부 1

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예

<C6F7C6AEB6F5B1B3C0E72E687770>

v6.hwp

RVC Robot Vaccum Cleaner

MAX+plus II Getting Started - 무작정따라하기

1) 8 진수를 10 진수로변환 - 진수에자릿수에서 1 을뺀숫자를지수로한후해당숫자와곱해주는방식으로 10 진수로변환 2) 2 진수를 10 진수로변환 - 10 진수의숫자를해당진수로계속나누어나머지들을역순으로읽음. - 분수나소수인경우에는곱셈의방법으로구할수있음. 3) 10 진수

T100MD+

1

PowerPoint Presentation

Transcription:

8.1 데이터경로와제어장치 Chapter 8 데이터경로와제어장치 많은순차회로의설계는다음의두부분으로구성 datapath: data의이동및연산을위한장치 control unit에상태신호제공 control ol unit: datapath th 에서적절한순서로 data 이동및연산을수행할수있도록제어신호제공. 먼저, datapath를설계 다음에, control unit 를설계 데이터경로와제어장치및 산술연산회로 data path control signals status signals control unit 임베디드하드웨어설계 1 2 8.2 수의표현 2진수표현 : B = b n-1 b n-2 b 1 b 0 unsigned integer: 값 = unsigned(b) = signed integer (2's complement 표기법 ): 값 = signed(b) = ( 예 ) B = 10100010 unsigned(b) = 2 7 + 2 5 + 2 1 = 128 + 32 + 2 = 162 signed(b) = 2 7 + 2 5 + 2 1 = 128 + 32 + 2 = 94 또는 = 2 8 + (2 7 + 2 5 + 2 1 ) = 256+162 = 94 ( 참고 ) 10100010 의 2의보수 = 01011110 = 2 6 +2 4 +2 3 +2 2 +2 1 = 64+16+8+4+2 = 94 3 8.3 가감산기와 shifter 가산기설계 방법 1: 논리회로를직접설계 방법 2: + 연산자이용 FPGA 를사용한설계에서는 + 연산자를이용하는것이좋음 합성도구가 carry 전용경로를사용하므로더효율적인합성을수행 가감산기설계 가산기, 감산기별도구현 2 의보수덧셈을사용하여뺄셈수행 A B A B + - MUX sub A B B 의 2 의보수 + MUX 4

가산기 : 논리회로직접설계 가산기 : + 연산자이용 합성결과 합성결과 더효율적 carry 출력이용 LE 당출력 1 개사용 5 6 가감산기 가감산기 (2) 가감산기동작 sub=0 일때가산기 C0, C4 는 carry 입출력 sub=1 일때감산기 C0, C4 는 borrow 입출력 가감산기설계 가산기와감산기이용 A[3:0] B[3:0] adder/ C0 C4 subtractor S[3:0] sub 가감산기설계 - 뺄셈을 2의보수덧셈으로구현 2 의보수 =(1 의보수 ) +1 borrow=0이면 A + (B의 1의보수 )+ 1 borrow=1이면 A + (B의 1의보수 ) + 0 borrowo 출력은가산기의 carry 출력과반대가됨 가산기, 감산기개별적구현가능성 7 가산기 8

가감산기 (3) simulation ( 두설계가같음 ) 가감산기 (4) 합성결과 9 10 Shifter Barrel Shifter 한번에여러비트 ( 가변 ) 를이동시킬수있는조합회로 (shift 횟수 =count) 구현 A shift 1 shift 2 shift 4 shift 8 F count[0] count[1] count[2] count[3] A shifter F 각 shift 회로는 2x1 multiplexer 로구현 A shift 2 A<<2 시프트연산자사용 : A << count 합성도구가구현 컴퓨터정보통신 count 임베디드하드웨어설계 11 8.4 곱셈기 2 진수곱셈 (unsigned) 곱셈기설계 Multiplicand (13) x) 1011 Multiplier(11) 0000 10001011 Product(143) 조합회로설계 : 배열곱셈기 n-1개의 n-bit 가산기를사용 순차회로설계 : 1개의 n-bit 가산기를사용 한번에한자리씩곱셈수행 n 번수행 12

배열곱셈기 n 비트배열곱셈기 n-1 개의 n 비트가산기사용 0을더하는부분은 FA대신에 HA사용가능 0 4-bit adder 4-bit adder B2 0 B1 0 B0 B1 HA FA FA HA B2 B0 B3 4-bit adder 0 FA FA FA HA B3 S7 S6 S5 S4 S3 S2 S1 S0 FA FA FA HA 곱셈연산자사용 :A* B 합성도구가조합회로곱셈기구현컴퓨터정보통신임베디드하드웨어설계 13 S7 S6 S5 S4 S3 S2 S1 S0 14 Carry Save 배열곱셈기 8.5 순차곱셈기 carry를현재줄의윗자리대신에다음줄의윗자리로전달 B1 HA HA HA HA B2 FA FA FA FA B3 FA FA FA FA B0 2 진수곱셈과정 Multiplicand x) 1011 Multiplier Shift Left Multiplicand 100111 0000 100111 10001111 Product 순차곱셈기 한번에 multiplier 1 자리씩곱셈계산 datapath 와 control unit 로구성됨 datapath 를설계하면서필요한제어신호정의 control unit 에서적절한순서로제어신호를공급 S7 S6 S5 S4 S3 S2 S1 S0 15 16

Datapath Algorithm M=multiplier (n-bit) A = multiplicand (n-bit) P = 0 (2n-bit) repeat n times do if (M[0]=1) P H = P H + A shift right M shift right P end Datapath C m-cand A M shift-right + multiplier li n add (bit 0) product shift-right P word1 : multiplicand word2 : multiplier control unit 에서제어신호를공급 P H 는 P의 upper half 특징 multiplicand 를 shift-left 하는것대신에 product 를 shift-right 함 n-bit adder 및 n-bit multiplicand register 사용 17 18 Datapath (product 와 multiplier 를같이사용 ) 순차곱셈기 수정사항 Product 의하위부분에 multiplier 저장 multiplier 레지스터불필요 Algorithm A = multiplicand l (n-bit) Datapath 4 P L = multiplier P H = 0 (P: 2n-bit ) repeat n times do if (M[0]=1) P H = P H + A shift right M shift right P C end m-cand A + (bit 0) n multiplier add product shift-right P 블록다이어그램과내부구조도 start word1 word2 multiplier word1: 피승수 word2: 승수 product: 곱 product ready start : 상태초기화 start: 곱셈수행시작 ready: 계산할준비됨 controller load shift add m0 word1 word2 datapath ready product 19 20

순차곱셈기 controller 의상태도 -/S S8 start/ L S0 m0/a /R S1 S2 L: R: Ready A: Add S: Shift : 입력을레지스터에저장하는제어신호 m0/a -/S S7 S3 shift 또는 add-shift 동작을반복 -/S m0/a in/out 은 S6 m0/a S5 -/S S4 in=1일때out=1이됨을표시 in /out은 in=0 일때 out=1 이됨을표시 표시되지않은출력은 0을표시 순차곱셈기 Verilog description Datapath 는앞의정의참조 21 22 초기상태와곱셈이진행되는 8개상태를최상위비트로구분하도록상태인코딩함 ( 계속 ) 23 24

순차곱셈기 8.5 빠른곱셈기 Simulation 13 x 11 = 143 datapath multiplier 를 product 의하위부분을공유사용 add 결과저장과 shift 를한번에수행 동작 : shift 또는 add-shift m-cand + multiplier n+1 product Shift Add-shift m0 Shift sum Add-shift 25 26 빠른곱셈기 빠른곱셈기 곱셈수행과정 // 5-bit // product <= {1 b0, product[7:1]}; // product <= {sum, product[3:1]}; 27 28

빠른곱셈기 빠른곱셈기 controller 의상태도 L: R: Ready S: Shift AS: Add-Shift start / L S0 / R S1 ( 계속 ) S7 S3 S5 29 30 빠른곱셈기 빠른곱셈기 Simulation 31 32

8.6 카운터를사용한곱셈기제어 카운터를사용한곱셈기제어 곱셈기제어의문제점및해결책 문제점 : 비트수를변경하면제어기를수정해야함 해결책 : 카운터를사용하여제어기설계 start & ~enable () counter word1 word2 enable End load start shift controller add-shift datapath m0 상태도 start/l S0 End '/R Verilog description counter S1 / E End' L: R: Ready S: Shift AS: Add-Shift E: Enable (counter) ready product counter 동작곱셈시작할때에 count 0 각곱셈단계에서 count 증가 counter 출력이 N-1 이면 End 신호출력 33 34 카운터를사용한곱셈기제어 카운터를사용한곱셈기제어 datapath 는앞의빠른곱셈기와같음 counter 신호 35 36

카운터를사용한곱셈기제어 Simulation (N=4) 8.7 signed 곱셈기 Binary notation: B = b n-1 b n-2 b 1 b 0 unsigned(b) = signed(b) = unsigned 곱셈기를 signed 곱셈기로간단하게수정하는방법 최상위 bit가 1이면 multiplicand를더하는것대신에뺄셈을수행 뺄셈을수행할수있도록 datapath를수정 2의보수덧셈 ( 가감산기 ) adder를 signed number에대한덧셈 / 뺄셈에사용할때에는 carry-out은사용하지않음 ( 대신에 n+1비트가감산수행 ) product를 shift-right 시킬때에부호 ( 최상위 bit) 를그대로유지해야함 37 38 signed 곱셈기 signed 곱셈기 datapath adder/subtractor n+1 비트가감산기사용 multiplicand 는 n+1 비트로부호확장 carry 출력은사용하지않음 m-cand n+1 +/- Sub product multiplier m0 Shift Add-shift A B ~B 0 1 adder sum Sub controller 의상태도,Sub S7 start / L S0 / R S1 '/R S5 S3 카운터사용한상태도 '/R start/l S0 End L: R: Ready S: Shift AS: Add-Shift Sub: Sub End' S1 / E m0.end/sub 39 40

signed 곱셈기 signed 곱셈기 adder/subtractor (sub=1일때뺄셈 ) 41 42 signed 곱셈기 signed 곱셈기 : Verilog description simulation (-5)*(-3) ( = 15 counter 는앞의곱셈기와같음 43 44

통합곱셈기 순차나눗셈 - unsigned 통합곱셈기 제어신호에따라서 unsigned 곱셈또는 signed 곱셈수행 두가지곱셈이모두가능하도록 datapath 와 controller 를수정 word1 word2 start ready signed 0: unsigned 1: signed result 45 46 순차나눗셈기 unsigned 나눗셈알고리즘 datapath dividend 와 remainder/quotient 를함께사용 나눗셈후에 dividend 는 remainder/quotient 로대치됨 divisor 를 shift-right 하는것대신에 dividend 를 shift-left 함 n+1 비트 subtractor 사용 divisor - sign dividend sub shift-left Dividend (9-bit) word1 (8-bit), Divisor word1 (4-bit) repeat 4timesdo Shift Left Dividend Diff = Dividend[8:4] {0,Divisor[3:0]} // 5-bit subtraction if (Diff < 0) // Diff[4]==1 Dividend[0] 0 // Quotient = 0 else // Diff[4]==0 Dividend[0] 1, Dividend[8:4] Diff // Quotient = 1 end Remainder Dividend[7:4], Quotient Dividend[3:0] if (Dividend[8:4]>=Divisor) then Overflow 47 48

순차나눗셈기 -signed 나눗셈알고리즘 datapath n+1 비트 adder/subtractor 사용 sub divisor +/- sign dividend load_result shift-left Dividend (8-bit) word1 (8-bit), Divisor word1 (4-bit) repeat 4timesdo Shift Left Dividend if (Dividend and Divisor have same sign) Result = Dividend[8:4] id d[8 {Dii {Divisor[3],Divisor[3:0]} [3]Dii [30]} else Result = Dividend[8:4] + {Divisor[3],Divisor[3:0]} [ ]} if (Dividend and Result have same sign or Result is 0) Dividend[0] 1, Dividend[8:4] Result // Quotient = 1 else Dividend[0] 0 // Quotient = 0 end Remainder Dividend[7:4] if (word1 and word2 have same sign) Quotient Dividend[3:0] else Quotient 2 s 2s complement of Dividend[3:0] 49 컴퓨터정보통신 임베디드하드웨어설계 50