Computer Architecture

Similar documents
PowerPoint 프레젠테이션

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

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

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

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

8장 조합논리 회로의 응용

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

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

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

Microsoft PowerPoint - Divider2.ppt

Introduction to Computer Science

OCW_C언어 기초

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

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

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

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

Microsoft PowerPoint - hy2-12.pptx

Microsoft PowerPoint - chap-05.pptx

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

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

PowerPoint Presentation

Computer Architecture

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

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - Chapter_02.pptx

3 권 정답


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

Microsoft PowerPoint - chap04-연산자.pptx

hwp

Microsoft PowerPoint - e pptx

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap-04.pptx

Microsoft PowerPoint - chap-04.pptx

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

슬라이드 1

슬라이드 1

Introductory Chemistry: Concepts & Connections 4th Edition by Charles H. Corwin

Microsoft PowerPoint - Chapter_04.pptx

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

체의원소를계수로가지는다항식환 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

<4D F736F F F696E74202D20C1A635C0E520BCF6BDC4B0FABFACBBEAC0DA>

쉽게풀어쓴 C 언어 Express 제 4 장변수와자료형 이번장에서학습할내용 제 4 장변수와자료형 제 4 장변수와자료형 * 변수와상수의개념이해 * 자료형 * 정수형 * 실수형 * 문자형 * 기호상수사용 * 오버플로우와언더플로우이해 이번장에서는변수와각종자료형을살펴봅니다.

This document is an edited reprint of the paper What Every Computer Scientist Should Know About Floating-Point Arithmetic, by David Goldberg, publishe

PHP & ASP

슬라이드 1

C 언어의구성요소인상수, 변수, 입 출력함수에 대하여학습

Microsoft PowerPoint - c2.ppt

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

Microsoft Word - Experiment 5.docx

쉽게 풀어쓴 C 프로그래밍

문서의 제목 나눔고딕B, 54pt

PowerPoint 프레젠테이션

4.0 개요 p.116 수식 (expression) 연산자 (operator) 와피연산자 (operand) 로구성 수식은평가 (evaluate) 되어최종적으로 1 개의결과값이됨 피연산자 : 상수, 변수, 또다른수식 sum - 10 (a+b) / 2 연산자 2

프로그래밍 및 연습 1

중간고사

윤성우의 열혈 TCP/IP 소켓 프로그래밊

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

통신이론 2 장주파수해석 성공회대학교 정보통신공학과 1

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

PowerPoint 프레젠테이션

<4D F736F F F696E74202D2032C1D6C2F72D32C2F7BDC32028B0ADC0C7C0DAB7E D20BAAFBCF6BFCD20BFACBBEAC0DA>

<4D F736F F F696E74202D20C1A634C0E520BAAFBCF6BFCDC0DAB7E1C7FC>

PowerPoint Presentation

PowerPoint Presentation

KAA2005.9/10 Ãâ·Â

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

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

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

Microsoft PowerPoint - Lesson2.pptx

1차내지

02장.배열과 클래스

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - ch07 - 포인터 pm0415

chap06.hwp

텀블러514

PowerPoint 프레젠테이션

<4D F736F F D C7C1B7CEC5E4C4C3C0BB20C0CCBFEBC7D B0E8BBEA20BAB8B0EDBCAD205FC3D6C1BE5F>

OCW_C언어 기초

ABC 3장

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Microsoft PowerPoint - chap03.ppt

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

쉽게 풀어쓴 C 프로그래밍

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

PowerPoint Presentation

PowerPoint Presentation

Microsoft PowerPoint - 2주차-1차시 (강의자료) ch01 - C Programming 기초 (part 2)

PowerPoint Template

KNK_C03_Expr_kor

Microsoft PowerPoint - KNK_C03_Expr_kor

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

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

Microsoft PowerPoint - 05-chap03-ArrayAndPointer.ppt

<BDC7C7E83220B0E1B0FABAB8B0EDBCAD202833C1D6C2F7292E687770>

버퍼오버플로우-왕기초편 3.c언어에서버퍼사용하기 버퍼는 임시기억공간 이라는포괄적인개념이기때문에여러곳에존재할수있습니다. 즉, CPU 에도버퍼가존재할수있으며, 하드디스크에도존재할수있고, CD- ROM 이나프린터에도존재할수있습니다. 그리고앞의예제에서보신바와같이일반프로그램에도

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

Microsoft PowerPoint - chap-03.pptx

ABC 3장

Transcription:

정수의산술연산과부동소수점연산 정수의산술연산부동소수점수의표현부동소수점산술연산 이자료는김종현저 - 컴퓨터구조론 ( 생능출판사 ) 의내용을편집한것입니다.

3.5 정수의산술연산 기본적인산술연산들 2 2

3.5.1 덧셈 2 의보수로표현된수들의덧셈방법 두수를더하고, 만약올림수가발생하면버림 3 3

병렬가산기 (parallel adder) 덧셈을수행하는하드웨어모듈 4- 비트병렬가산기와상태비트제어회로 4 비트수만큼의전가산기 (fulladder) 들로구성 덧셈연산결과에따라해당조건플래그들 (condition flags) 을세트 C 플래그 : 올림수 (carry) S 플래그 : 부호 (sign) Z 플래그 : 0(zero) V 플래그 : 오버플로우 (overflow) 4

덧셈오버플로우 덧셈결과가그범위를초과하여결과값이틀리게되는상태 검출방법 : 두올림수 (carry) 들간의 exclusive-or 를이용 5 V = C 4 C 3 5

3.5.2 뺄셈 6 덧셈을이용하여수행 (A : 피감수 (minuend), B : 감수 (subtrahend) A - (+B) = A + (-B) A - (-B) = A + (+B) [ 예제 3-22] 덧셈과뺄셈겸용하드웨어의블록구성도 뺄셈오버플로우 뺄셈결과가그범위를초과하여결과값이틀리게되는상태 검출방법 : 덧셈과동일 (V = C 4 C 3 ) [ 예제 3-23] 6

3.5.3 부호없는정수의곱셈 7 방법 각비트에대하여부분적 (partial product) 계산 부분적들을모두더하여최종결과를얻음 [ 예제 3-24] 부호없는정수승산기의하드웨어구성도 장 M 레지스터 : 피승수 (multiplicand) 저 Q 레지스터 : 승수 (multiplier) 저장 두배길이의결과값은 A 레지스터와 Q 레지스터에저장 7

곱셈이수행되는과정에서의레지스터내용들 8 8

2 의보수들간의곱셈 Booth 알고리즘 (Booth's algorithm) 사용 Booth 알고리즘하드웨어구성도 9 하드웨어구성 부호없는정수승산기의하드웨어에다음부분을추가 M 레지스터와병렬가산기사이에보수기 (complementer) 추가 Q 레지스터의우측에 Q -1 이라고부르는 1-비트레지스터를추가하고, 출력을 Q 0 와함께제어회로로입력 보수기 Q-1 9

Booth 알고리즘의흐름도 Booth 알고리즘을이용한곱셈의예 (-7 x 3) 10 10

3.5.4 나눗셈 나눗셈의수식표현 A B = q r 부호없는 2 진나눗셈알고리즘의흐름도 단, A : 피제수 (dividend), B : 제수 (divisor) q : 몫 (quotient) r : 나머지수 (remainder) 11 부호없는 2 진나눗셈 11

부호있는 2 진나눗셈 부호있는 2 진나눗셈알고리즘의흐름도 [ 예 ] 2 의보수나눗셈 {7 (-3)} 과정 12 A,M 부호같으면 A=A-M 다르면 A=A+M 연산전후의 A 의 부호가다르고 0 이아닌가?? A 를원상복귀 젯수와피젯수의부호가다르면보수 12

나눗셈결과값 [ 예 ] A B = q r 13 [ 예 ] 7 3 몫 (q) = 2 (0010) 나머지 (r) = 1 (0001) 7 (-3) 몫 = - 2 (1110) 나머지 = 1 (0001) (-7) 3 몫 = - 2 (1110) 나머지 = - 1 (1111) (-7) (-3) 몫 = 2 (0010) 나머지 = - 1 (1111) 13

3.6 부동소수점수의표현 부동소수점표현 (floating-point representation) : 소수점의위치를이동시킬수있는수표현방법 수표현범위확대 14 부동소수점수 (floating-point number) 의일반적인형태 N = (-1) S M B E 단, S : 부호 (sign), M : 가수 (mantissa), B : 기수 (base), E : 지수 (exponent) 10 진부동소수점수 (decimal floating-point number) [ 예 ] 274,000,000,000,000 2.74 ⅹ10 14 0.00000000000274 2.74 ⅹ10-12 2 진부동소수점수 (binary floating-point number) 기수 B = 2 단일-정밀도 (single-precision) 부동소수점수 : 32 비트복수-정밀도 (double-precision) 부동소수점수 : 64 비트 14

단일 - 정밀도부동소수점수형식의예 S : 1 비트, E : 8 비트, M : 23 비트 부동소수점표현의예 (0.1101 2 5 ) 부호 (S) 비트 = 0 지수 (E) = 00000101 가수 (M) = 1101 0000 0000 0000 0000 000 15 지수 (E) 필드의비트수증가 표현가능한수의범위확장 가수 (M) 필드의비트수증가 정밀도 (precision) 증가 표현가능한수크기의범위 1.47 x 10-39 ~ 1.7 x 10 38 (0.5 x 2-128 ~ 0.5 x 2 127 ) [ 비교 ] 32- 비트고정소수점표현방식의경우 : 1.0 x 2-31 ~ 1.0 x 2 31 2.0 x 10-9 ~ 2.0 x 10 9 소수점아래첫번째비트는항상 1 이므로, 반드시저장할필요는없음 가수 23 비트를이용하여소수점아래 24 자리수까지표현가능 같은수에대한부동소수점표현이여러가지가존재 0.1101 2 5 11.01 2 3 0.001101 2 7 정규화된표현 (Normalized representation) 수에대한표현을한가지로통일하기위한방법 ± 0.1bbb...b 2 E 위의예에서정규화된표현은 0.1101 2 5 15

부동소수점표현의예 (0.1101 2 5 ) 16 부호 (S) 비트 = 0 지수 (E) = 00000101 가수 (M) = 1101 0000 0000 0000 0000 000 소수점아래첫번째비트는항상 1 이므로, 반드시저장할필요는없음 가수 23 비트를이용하여소수점아래 24 자리수까지표현가능 16

바이어스된지수 (biased exponent) 지수를바이어스된수 (biased number) 로표현 [ 예 ]8- 비트바이어스된지수값들 (8-bit biased exponents) 17 사용목적 0에대한표현에서모든비트들이 0이되게하여, 0-검사 (zero-test) 가용이하게하기위함 0-검사가정수에서와같은방법으로가능해짐 17

부동소수점수의표현범위 부동소수점수의표현범위 0.5 2-128 에서 (1-2 -24 ) 2 127 사이의양수들 ( 대략 1.47 x 10-39 ~ 1.7 x 10 38 ) -(1-2 -24 ) 2 127 에서 -0.5 2-128 사이의음수들 18 제외되는범위 (1-2 -24 ) 2 127 보다작은음수 음수오버플로우 (negative overflow) 0.5 2-128 보다큰음수 음수언더플로우 (negative underflow) 0 0.5 2-128 보다작은양수 양수언더플로우 (positive underflow) (1-2 -24 ) 2 127 보다큰양수 양수오버플로우 (positive overflow) 18

IEEE 754 표준부동소수점수의형식 부동소수점수의표현방식의통일을 위하여미국전기전자공학회 (IEEE) 에서 정의한표준 19 표현방법 N = (-1) S 2 E-127 (1.M) 가수 : 부호화-크기표현사용지수필드 : 바이어스 127 사용 1.M 2 E 의형태를가지며, 소수점아래 의 M 부분만가수필드에저장 ( 소수점왼쪽의저장되지않는 1을 hidden bit 라고부름 ) 64- 비트복수 - 정밀도부동소수점형식을 사용하는경우 N = (-1) S 2 E-1023 (1.M) IEEE 754 표현예 (N = -13.625 ) 13.625 10 = 1101.101 2 = 1.101101 2 3 부호 (S) 비트 = 1 (-) 지수 E = 00000011 + 01111111 = 10000010 ( 바이어스 127 을더한다 ) 가수 M = 10110100000000000000000 ( 소수점좌측의 1 은비트표현에서제외 ) 19

예외경우를포함한 IEEE 754 표준 예외경우를포함한정의 (32- 비트형식 ) 만약 E = 255 이고 M 0 이면, N = NaN 만약 E = 255 이고 M = 0 이면, N = (-1) S 20 만약 0 < E < 255 이면, N = (-1) S 2 E-127 (1.M) 만약 E = 0 이고 M 0 이면, N = (-1) S 2-126 (0.M) 만약 E = 0 이고 M = 0 이면, N = (-1) S 0 예외경우를포함한정의 (64- 비트형식 ) 만약 E = 2047이고 M 0이면, N = NaN 만약 E = 2047이고 M = 0이면, N = (-1) S 만약 0 < E < 2047 이면, N = (-1) S 2 E-1023 (1.M) 만약 E = 0이고 M 0이면, N = (-1) S 2-1022 (0.M) 만약 E = 0이고 M = 0이면, N = (-1) S 0 20

3.7 부동소수점산술연산 21 3.7.1 덧셈과뺄셈 지수들이일치되도록조정 (alignment) 가수들간의연산 ( 더하기혹은빼기 ) 수행 결과를정규화 (normalization) [10 진부동소수점산술의예 ] 21

부동소수점산술의파이프라이닝 22 연산과정을독립적단계들로분리가능 단계수만큼의속도향상 대규모의부동소수점계산을처리하는거의모든슈퍼컴퓨터들에서채택 [ 예 ] 수배열 (number array) 들간의덧셈 C(I) = A(I) + B(I) 22

3.7.2 부동소수점곱셈 / 나눗셈 23 2 진수부동소수점곱셈과정 1 2 3 가수들을곱한다 지수들을더한다 결과값을정규화 2 진수부동소수점나눗셈과정 1 가수들을나눈다 2 피제수의지수에서제수의지수를뺀다 3 결과값을정규화 [ 부동소수점곱셈의예 ] (0.1011 2 3 ) (0.1001 2 5 ) < 가수곱하기 > 1011 1001 = 01100011 < 지수더하기 > 3 + 5 = 8 < 정규화 > 0.01100011 2 8 = 0.1100011 2 7 ( 결과값 ) 23

부동소수점연산과정에서발생가능한문제점 지수오버플로우 (exponent overflow) 양의지수값이최대지수값을초과 수가너무커서표현될수없는상태이므로, + 또는 - 로세트 24 지수언더플로우 (exponent underflow) 음의지수값이최대지수값을초과 수가너무작아서표현될수없는상태이므로, 0으로세트 가수언더플로우 (mantissa underflow) 가수의소수점위치조정과정에서비트들이가수의우측편으로넘치는상태 반올림 (rounding) 적용 가수오버플로우 (mantissa overflow) 같은부호를가진두가수들을덧셈하였을때올림수가발생 재조정 (realignment) 과정을통하여정규화 24