6장 연산 장치 6.1 개요 6.2 연산장치의 구성요소 6.3 처리기 6.4 기타 연산장치.

Slides:



Advertisements
Similar presentations
Family 의 개요 의 외부 Pin 기능과 내부 기능 Memory 구조 Timing 2 장 8051 의 구조.
Advertisements

1. 서천군 일반현황 서천군 지리적 여건 및 지역특성 인구 특성 행정 구역 서천군 벼농사 현황
11 레지스터 (Register) IT CookBook, 디지털 논리회로.
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
ISA 심화 및 start.S code 분석 SIOR 15th 최재훈.
ASIC의 개요 ASIC(Application Specific Integrated Circuit) 특정 용도 주문형 집적회로
4장. 조합 논리 회로 Lecture #4.
*노동문제 * -비정규직 유효림 박지희 전향숙 황연두.
기본 컴퓨터의 구조와 설계 Lecture #5.
기본 컴퓨터 프로그래밍 Lecture #6.
디지털 시스템 2010년 1학기 교수: 송상훈 연구실: 율곡관 603-B
Computer System Architecture
7 조합논리회로 IT CookBook, 디지털 논리회로.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
2 Part 전자계산기 구조 1. 논리 회로 2. 자료 표현 및 연산 3. 명령어 및 프로세서 4. 명령 수행 및 제어 5.
4 컴퓨터에서 활용되는 디지털 논리회로 IT CookBook, 컴퓨터 구조와 원리 2.0.
VHDL, FPGA를 이용한 소리인식 스위치 (Matched Filter 사용)
32비트 캐리 예측 덧셈기(CLA) RCA(Ripple Carry Adder)
디지털 산술과 연산회로.
가산기 설계.
Chapter 11. 레지스터.
Lecture #7 어셈블리어 (4) 매크로 어셈블리어 시스템프로그래밍.
3장 MPU 내부구조 Slide 1 (of 28).
컴퓨터 구조론 2001년 10월 22일 발표자 황영선.
공학실험.
COMPUTER ARCHITECTIRE
컴퓨터 구조.
1 컴퓨터 시스템 소개.
직업 형태 변화 과정 일자리의 변화 ERP (Enterprise Resource Planning) 구분 18~19 세기
Data Communications 제 10 장 오류 제어와 흐름 제어.
Ch2-2. VHDL Basic VHDL lexical element VHDL description
학습 목표 반가산기, 전가산기, 고속가산기의 동작을 이해하고 설계하는 방법을 알아본다.
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
1 마이크로프로세서의 원리 마이크로컨트롤러 AVR ATmega128.
하드웨어 구현 - A/D 변환기(A/D converter) - 샘플링 주파수(Sampling frequency)
Chapter 08 제어장치와 마이크로 오퍼레이션.
4장 컴퓨터의 중앙 처리 장치 하 효 순.
                                  3장 가산회로 게이트를 이용한 2진 가산회로의 동작 원리 특성 1 비트 반 가산기, 전 가산기, 4비트 전 가산기 회로.
Chapter 4 – 연 산 자 Outline 4.1 산술 연산자 4.2 관계 연산자 4.3 동등 연산자 4.4 논리 연산자
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
Chapter 06 명령어와 번지지정 방식.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
제3장 8086 프로세서의 내부구조.
제 2장 컴퓨터동작의 기본 개념.
Unit 1 Number Systems and Conversion (수의 체계와 변환)
2 데이터 표현과 컴퓨터 연산 IT CookBook, 컴퓨터 구조와 원리 2.0.
10장. 중앙처리 장치의 명령어 다루는 내용 어셈블리 프로그램의 이해 인터럽트(interrupt) 명령어 세트 주소 지정 방식.
Chapter 4 The Von Neumann Model.
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
데이터의 표현과 컴퓨터 연산 Prof. Jae Young Choi (최재영 교수)
제10강 펑션블록 프로그램(1) 1. 펑션과 펑션 블록 1) 펑션 2)펑션 블록 구분 펑션 펑션블록 입력의 수 1개 이상
Computer System Architecture
6-1 중앙 처리 장치의 내부 구조 6-2 명령(instruction) 6-3 주소 지정 방식
바코드에 대하여…… 바코드에 대하여 알아보도록 하자 6-1 홍지효.
PIC16C84의 외형 RA2 1 RA1 I/O PIN I/O PIN RA3 RA0 RTCC OSC1 발 진 RESET
논리회로 설계 및 실험 3주차.
제 3 장 연산자 (Operators).
가산기 설계.
이행점검/현장점검관리.
2015 한국연구재단 글로벌박사 양성사업 변경사항 안내
Digital design 4장. 조합 논리.
제5강 처리 장치 2.
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
2 수의 체계 IT CookBook, 디지털 논리회로.
단원 02. 기계를 구성하는요소(기계요소) (198p) 학습목표 1. 기계요소를 분류하여 설명할 수 있다. 2
Chapter 02 수의 체계.
DEGITAL LOGIC CIRCUIT Term Project – 4 bit ALU.
8장. 연산 장치 Lecture #8.
논리회로 설계실험 ICE ICE 담당교수 : 김 인 수.
2009년 면정보고 초동면.
Presentation transcript:

6장 연산 장치 6.1 개요 6.2 연산장치의 구성요소 6.3 처리기 6.4 기타 연산장치

6.1 개 요 중앙 처리 장치는 제어 장치와 연산 장치로 구성되어 있고 데이터를 연산, 처리하기 위한 필요한 레지스터들을 포함. 처리기(processing unit) : 연산 장치와 레지스터로 구성 연산장치는 산술, 논리, 비트, 수의 대소 판단 등의 연산을 처리하는 기능을 가지고 있다. 연산장치는 독립적으로 데이터 처리를 수행하지 못하며 반드시 레지스터들과 조합하여 데이터를 처리해야 한다. 중앙 처리 장치(=연산장치+제어장치)의 구조 처리기 레지스터 연산장치 제어장치 6장 연산장치

6.2 연산 장치의 구성 요소(1) ALU의 구성 요소 입력데이터 A 산술 연산 장치 입력데이터 B 논리 연산 장치 출력데이터 보 수 기 출력데이터 시프트 레지스터 플래그 상태 레지스터 제어 신호 6장 연산장치

6.2 연산 장치의 구성 요소(2) 산술연산장치 : 산술 연산인 +, -, ×, ÷을 수행하는 연산 회로. 논리 연산 장치 : 논리 연산인 AND, OR, XOR, NOT을 수행하는 연산 회로. 시프트 레지스터 : 비트들을 좌측 혹은 우측으로 이동시키는 기능 을 가진 레지스터. 보수기(complement) : 2진 데이터의 보수를 취하는 회로. 상태 레지스터 : 연산 결과의 상태를 나타내는 플래그들을 저장하는 레지스터. 6장 연산장치

6.2 연산 장치의 구성 요소(3) 산술 연산 장치 내부는 기본적으로 전 가산기(full adder)로 구성되어 있으며, 이를 이용하여 가산 및 감산을 수행함. 산술 연산 장치 구성 : 전 가산기 회로를 이용한 병렬 가산기로 구성됨, 입력 : A1 ,A2 ,A3 ,A4와 B1 ,B2 ,B3 ,B4 출력 : S1 ,S2 ,S3 ,S4 상태비트 : 오버플로우 비트(overflow bit), 제로 비트(zero it), 부호 비트(sign bit), 캐리 비트(carry bit) 6장 연산장치

6.2 연산 장치의 구성 요소(4) 전 가산기를 이용한 가,감산기 가감산기 내부 구조 Ci Xi X Ai Bi 조합논리회로 전가산기 Fi Yi Ci+1 6장 연산장치

6.2 연산 장치의 구성 요소(5) 감산을 위해 보수기를 포함한 회로 B register 보 수 기 A register 보 수 기 A register 8비트 병렬 가산기 Flag register 6장 연산장치

6.2 연산 장치의 구성 요소(6) 병렬 가산기에 의한 산술 연산 가산 가산 + Carry A B A B Cout Cin=0 * 캐리 비트 Cin을 0으로 하고 A와 B를 가산하여 합이 F로 구해진다. 가산 + Carry * Cin을 1로 하여 F=A+B+1 을 구한다. A B A B Cout Cin=0 Cout Cin=1 병렬 가산기 병렬 가산기 F=A+B F=A+B+1 6장 연산장치

6.2 연산 장치의 구성 요소(7) A+B의 보수 감산 A B보수 A B보수 Cout Cin=0 Cout Cin=1 * 감산의 경우에는 B에 1의 보수를 입력해서 F=A+B를 연산한다. 감산 * Cin을 1로 하면 F=A+ B+1로 되어 A와 B의 2의 보수를 가산. A B보수 A B보수 Cout Cin=0 Cout Cin=1 병렬 가산기 병렬 가산기 F=A+B보수 F=A+B+1 6장 연산장치

6.2 연산 장치의 구성 요소(8) A 전송 A 증가 A A Cout Cin=0 Cout Cin=1 병렬 가산기 병렬 가산기 * B의 입력을 모두 0 을 입력하면 F=A+0 이 되어 F=A가 된다. A 증가 * F=A+1이 되어 1 증가 연산이 된다. A A Cout Cin=0 Cout Cin=1 병렬 가산기 병렬 가산기 F=A F=A+1 6장 연산장치

6.2 연산 장치의 구성 요소(9) A감소 A전송 A All 1’s A All 1’s Cout Cin=0 Cout Cin=1 * B의 입력이 모두 1이면 F=A+111111(b)가 되어 F=A-1연산한다. A전송 * Cin을 1로 하였기 때문에 F = A -1 + 1이 되어 F = A가 된다. A All 1’s A All 1’s Cout Cin=0 Cout Cin=1 병렬 가산기 병렬 가산기 F=A-1 F=A 6장 연산장치

6.2 연산 장치의 구성 요소(10) 상태 레지스터(Status register or Flag register) 연산 결과에 의해 상태 레지스터를 세트. 비트 단위로 되어 있으며 C, S, Z, V들로 구성. * C(Carry bit) : 두 수를 가산하여 자리 올림수가 발생하면 1로 세 트되고 아니면 0이 된다. 산술 연산 장치의 최상 위 비트의 전 가산기 carry out 신호를 받아서 세 트되고 감산에서 자리 내림이 발생하였을 때에 도 1로 세트됨. * S(Sign bit) : 최상위 비트가 0이면 양수를 나타내고, 1이면 음 수를 나타내는 비트. * Z(Zero bit) : 두 수를 연산한 후 결과 값이 0이면 1로 세트. * V(Overflow bit) : 산술 연산에 두 수를 가산할 때 결과를 저장할 수 있는 레지스터의 자리수가 모자랄 때 발생 하는 에러(error)로서 오버플로우가 발생하면 오버플로우 비트가 1로 세트된다. 6장 연산장치

6.2 연산 장치의 구성 요소(11) A L U 상태 레지스터 구조 A B Flag register V Z S C S2 S1 Cin A L U Cin+1 Cout F V : Overflow Z : Zero S : Sign C : Carry 6장 연산장치

6.2 연산 장치의 구성 요소(12) 캐리 예측 발생기 병렬 가산을 보다 빨리 수행하기 위해서는 하위 전 가산기로부터의 캐리를 미리 예측하여 계산할 필요가 있다. 각 단의 캐리들은 전단의 가산기들이 연산이 끝난 후에 캐리가 발생하고 발생된 캐리에 의해 다음 단의 연산이 수행. 전파 시간(propagation time) : 캐리들이 전파되는 데 필요한 시간. 캐리 예측 발생기(look-ahead carry generator) - 전파 시간을 줄이기 위한 회로. 6장 연산장치

6.2 연산 장치의 구성 요소(13) 논리 연산 장치 OR, AND, XOR, NOT의 논리 연산을 수행하는 장치 : 비트 단위로 연산 연산 장치 제어 신호 S2, S1, S0, Cin에서 S2가 1일 때 논리 연산 처리가 된다. : 표 6-1 참조 논리 연산 장치의 예 4X1 MUX 1 F1 2 3 6장 연산장치

산술 연산 장치와 논리 연산 장치의 조합 : 그림 6-12 6.2 연산 장치의 구성 요소(14) 논리 연산 제어 신호 S1 S0 논리 연산 출력 0 0 OR Fi = Ai + Bi 0 1 XOR Fi = Ai  Bi 1 0 AND Fi = Ai  Bi 1 1 NOT Fi = Ai 산술 연산 장치와 논리 연산 장치의 조합 : 그림 6-12 6장 연산장치

6.2 연산 장치의 구성 요소(15) 시프터 레지스터 입력 데이터의 모든 비트들을 각각 서로 이웃한 비트로 자리를 옮겨가는 연산. 연산 장치 내부에는 데이터들을 시프트하는 기능이 없으므로 연산기 출력단에 시프트 레지스터를 연결하여 수행. 논리적 시프트에서 자리 이동을 할 때 캐리를 포함하지 않는 경우의 시프트는 시프트한 결과 밀려나가는 비트는 잃어버리게 되며, 새로 들어오는 비트는 항상 0이 된다. 그림 6-13 참조 6장 연산장치

6.2 연산 장치의 구성 요소(16) 시프트 레지스터 제어신호 H1 H0 Operation Function 0 0 Y  F 0 0 Y  F Transfer F to S 0 1 Y  shr F Shift-right F into S 1 0 Y  shl F Shift-left F into S 1 1 Y  0 Transfer 0’s into S 6장 연산장치

6.3 처리기 처리기 : 연산장치 + 레지스터 연산처리를 하기 위해서는 CPU가 레지스터나 메모리에 저장되어 있는 데이터를 가지고 와서 연산을 수행 8비트 연산처리기 설계시 필요한 장치 : 그림 6-14 8비트 레지스터 7개. 레지스터를 선택하기 위한 로드 제어 신호 공급 : 3 × 8 디코더 1개 연산 장치의 입력 채널에서 연산 데이터를 선택하기 위한 3 × 8 멀티플렉서 2개. 8비트 병렬 연산 장치 1개, 8비트 시프트 레지스터 1개. 상태 레지스터를 구성하기 위하여 D 플립플롭 4개. 6장 연산장치

6.4 기타 연산 장치(1) 승산 : 가산을 기본으로 이루어짐 Booth 알고리즘 – 2진수 승산에 사용 최하위 비트로부터 피승수가 1에서 0으로 바뀌는 비트 2k에서 0에서 1로 바뀌기 자릿수 2m을 감산하는 알고리즘.( 2 - 2 ) 부호가 있는 2진수 승산에 많이 사용. 예) 승수 : 0110(+6d) K+1 m 0110 (피승수) X 0110 (승수) 0000 0110 0100100 K+1 m 3 1 2 - 2 : 2 - 2 =8-2=6 6장 연산장치

6.4 기타 연산 장치(2) 승산 Booth 알고리즘 수행회로 Qn Qn+1 Acc(결과) QR register 가 산 기 승수 레지스터 가 산 기 BR register SC : Sequence Counter 피승수 레지스터 QR register를 한자리씩 우측으로 이동하여 Q 로 들어감 = 1 : BR register + Acc=>Acc 저장 후 한자리 우측으로 이동 = 0 : Acc 내용을 한자리 우측으로 이동 n+1 Q n+1 Q n+1 6장 연산장치

6.4 기타 연산 장치(3) 배열 승산기(Array Multiplier) 승산기의 특별한 형태로서 고속 소수점 승산에 사용 승산 비트들을 조합 회로로 설계하여 하나의 마이크로 연산으로 곱셈이 실행될 수 있도록 설계 22 배열 승산 회로 : ( ) X ( )=( ) b1 b0 a1 a0 C3 C2 C1 C0 b0 a0 b1 a1 b0 b1 HA2 c02 s2 HA1 c01 s1 c3 c2 c1 c0 6장 연산장치

6.4 기타 연산 장치(4) 제산 제산은 감산을 기본으로 이루어진다. 제산회로 예) 100010(피제수) / 1100(제수) 입력 register(IR) (제수) Shift pulse Shift left B 감산 회로 A 논리 (몫) Shift pulse(SP) (피제수) Accumulator 확장 register(MQ) accumulator register(AR) (제산의 결과) 6장 연산장치

6.4 기타 연산 장치(5) 비수치 연산 비트나 바이트 단위로 처리하는 것. 논리 연산 : 기본 논리 함수와 복잡한 논리 함수의 계산, 논리적 시프트, 로테이트 등을 포함한 것. 연산의 종류 비수치 연산 (논리 연산) 단항 move complement shift rotate clear increment decrement 이항 AND XOR Compare 수치연산 수치 (산술 정수 표현 언팩십진법 팩 십진법 고정 소수점 연산 기타형식 코드표현 실수 부동소수점 표현 6장 연산장치

6.4 기타 연산 장치(6) 단항논리 연산 이동 연산 : transfer * 연산 장치의 입력 데이터를 받아들여 그대로 출력하는 단항 연산 * 하나의 레지스터에 기억된 데이터를 다른 레지스터로 옮길 때 이용. 6장 연산장치

6.4 기타 연산 장치(7) 보수(COMPLEMENT) 연산 : 인버터 기능 수행 * 보수 연산은 단항 연산으로 출력이 연산장치를 통하여 입력 데이터에 대하여 1의 보수 형태로 나타나는 연산. * 음수의 표현에서 1의 보수, 2의 보수를 구하는데 필요. 6장 연산장치

6.4 기타 연산 장치(8) 시프트(SHIFT) 연산 * 입력 데이터의 모든 비트들을 각각 서로 이웃한 비트로 자리를 옮 겨서 연산 장치의 출력 측에 나타내는 연산. * 우측 시프트와 좌측 시프트가 있다. * 논리적 시프트는 자리 이동을 의미한다. * 올림수가 있을 경우의 시프트는 시프트한 결과 밀려나가는 비트 는 잃어버리게 되며, 새로 들어오는 비트는 항상 0이다. 6장 연산장치

6.4 기타 연산 장치(9) * 논리적 스프트 연산 올림수 레지스터 올림수 레지스터 (b) 올림수 포함 좌측 시트프 X 1100000111000011 X 1100000111000010 X X110000011100001 1 1000001110000100 (a) 올림수 포함 우측 시프트 (b) 올림수 포함 좌측 시트프 올림수 레지스터 올림수 레지스터 X 1100000111000011 X 1100000111000010 X 0110000011100001 X 1000001110000100 (c) 우측 시프트 (d) 좌측 시트프 6장 연산장치

6.4 기타 연산 장치(10) 로테이트 연산 * 로테이트 연산은 시프트와 유사한 연산으로 한쪽 끝에서 밀려나가는 비트가 다시 반대편 끝으로 들어오게 되는 것으로 회전을 의미. * 데이터의 특정한 비트의 검색이나 비수치적 데이터에서 문자의 위치를 교환하는데 사용. 올림수 레지스터 올림수 레지스터 X 1100000111000010 X 1100000111000010 X110000011100001 1 100000111000010X (a) 올림수 포함 우측 로테이트 (b) 올림수 포함 좌측 로테이트 올림수 레지스터 올림수 레지스터 X 1100000111000010 X 1100000111000010 X 0110000011100001 X 1000001110000101 (c) 우측 로테이트 (d) 좌측 로테이트 6장 연산장치

6.4 기타 연산 장치(11) 이항 논리 연산 논리 곱(AND) 연산 * 지우고 싶은 특정한 비트나 문자를 삭제하여 0으로 만들 때 사용되는 연산. * 마스크(mask) : 어느 비트 혹은 어느 문자를 지울 것인가를 결정하는 내용. 6장 연산장치

6.4 기타 연산 장치(12) 논리 합(OR) 연산 * 논리 합 연산은 필요한 비트나 문자를 삽입할 때 사용. 6장 연산장치

6.4 기타 연산 장치(13) 논리 비교 연산 : 그림 6-26 배타적 논리 합(XOR) 연산 * 2개의 입력이 비교되어서 출력에 나타나는 연산으로 크고(>), 작음(<)과 같음(=)을 판단하여 여러 조건 flag에 결과를 기억시킴. 배타적 논리 합(XOR) 연산 * 배타적 논리합 연산은 2개의 입력이 XOR 연산을 해서 결과를 출력에 나타내는 연산 00000000 00000000 6장 연산장치