50
컴컴컴컴컴컴컴컴 컴컴 컴컴컴컴컴컴컴컴 컴컴 Lecture #1 Lecture #1

컴퓨터시스템구조 개요

Embed Size (px)

DESCRIPTION

컴퓨터시스템구조 개요. Lecture #1. 디지털 컴퓨터 (1). 디지털 컴퓨터 여러 가지 계산을 수행하는 디지털 시스템 0과 1의 두 개의 숫자만을 이용하는 2진수 시스템 컴퓨터 내부의 정보가 제한된 수의 불연속적 값으로 표시 디지털 시스템 전자 부품의 물리적 제약과 인간의 논리가 2진적( True, False) 이라는 이유때문에 오직 2개의 값만을 가지도록 제한된다. 디지털 컴퓨터 (2). Computer = H/W + S/W 하드웨어 (H/W) - PowerPoint PPT Presentation

Citation preview

Page 1: 컴퓨터시스템구조 개요

컴퓨터시스템구조 개요컴퓨터시스템구조 개요

Lecture #1Lecture #1

Page 2: 컴퓨터시스템구조 개요

디지털 컴퓨터 디지털 컴퓨터 (1)(1)

▶ 디지털 컴퓨터 ▷ 여러 가지 계산을 수행하는 디지털 시스템 ▷ 0 과 1 의 두 개의 숫자만을 이용하는 2 진수 시스템 ▷ 컴퓨터 내부의 정보가 제한된 수의 불연속적 값으로 표시

▶ 디지털 시스템 ▷ 전자 부품의 물리적 제약과 인간의 논리가 2 진적 (True, False)

이라는 이유때문에 오직 2 개의 값만을 가지도록 제한된다 .

2컴퓨터시스템구조

Page 3: 컴퓨터시스템구조 개요

디지털 컴퓨터 디지털 컴퓨터 (2)(2)

▶ Computer = H/W + S/W▷ 하드웨어 (H/W)

컴퓨터의 모든 전자부품과 주변장치를 구성하는 전자기적 부품

▷ 소프트웨어 (S/W) 컴퓨터의 여러 가지 정보처리

작업을 수행하는 명령어와 데이터들로 구성

3컴퓨터시스템구조

Page 4: 컴퓨터시스템구조 개요

디지털 컴퓨터 디지털 컴퓨터 (3)(3)

▶ Program(S/W)▷ A sequence of instruction▷ S/W = Program + Data

The data that are manipulated by the program constitute the data base

▷ Application S/W DB, word processor, Spread Sheet

▷ System S/W OS, Firmware, Compiler, Device Driver

4컴퓨터시스템구조

Page 5: 컴퓨터시스템구조 개요

디지털 컴퓨터 디지털 컴퓨터 (4)(4)

▶ Computer Hardware ▷ CPU ▷ Memory

Program Memory(ROM) Data Memory(RAM)

▷ I/O Device Interface: 8251 SIO, 8255

PIO, 6845 CRTC, 8272 FDC, 8237 DMAC, 8279 KDI

Input Device: Keyboard, Mouse, Scanner

Output Device: Printer, Plotter, Display

Storage Device(I/O): FDD, HDD, MOD

5컴퓨터시스템구조

Page 6: 컴퓨터시스템구조 개요

디지털 컴퓨터 디지털 컴퓨터 (5)(5)

▶ 3 different point of view(Computer Hardware)▷ 컴퓨터 조직 (Computer Organization): Chap 1-4

H/W components operation/connection 하드웨어 구성품 들의 동작 방식과 이들의 연결 방식에 관심을 두는

것으로 각 부품들이 제대로 동작하기 위한 조직적인 구조에 대한 이해▷ 컴퓨터 설계 (Computer Design): Chap 5, 7

H/W Design/Implementation 컴퓨터 하드웨어 설계

– 제시된 컴퓨터의 사양에 따라 적절한 하드웨어를 선택하고 그들간의 연결방식을 결정하여 시스템 개발 및 구현

▷ 컴퓨터 구조 (Computer Architecture): Chap 6, 8, 9, 11, 12 Structure and behavior of the computer as seen by the user

– Information format, Instruction set, memory addressing : S/W= ISA

– CPU, I/O, Memory : H/W

6컴퓨터시스템구조

Page 7: 컴퓨터시스템구조 개요

디지털 컴퓨터 디지털 컴퓨터 (6)(6)

▶ ISA(Instruction Set Architecture)▷ the attributes of a system as seen by the

programmer, i.e.,the conceptual structure and functional behavior, as distinct from the organization of the data flows and controls, the logic design, and the physical implementation.

- Amdahl, Blaaw, and Brooks(1964)

7컴퓨터시스템구조

Page 8: 컴퓨터시스템구조 개요

디지털 컴퓨터 디지털 컴퓨터 (7)(7)

▶ What is “Computer Architecture”? ▷ Hennessy and Patterson, Computer Organization and

Design(1990)▷ Computer Architecture

Instruction Set Architecture (ISA) : S/W Machine Organization : H/W and Design

▶ “ISA”?▷ Instructions, Addressing modes, Instruction and data

formats, Register

▶ “Machine Organization”?▷ CPU(Control, Data path), Memory, Input, Output

8컴퓨터시스템구조

Page 9: 컴퓨터시스템구조 개요

논리 게이트논리 게이트 (Logic Gate)(Logic Gate)

▶ ADC(Analog to Digital Conversion)▷ Signal Physical Quantity Binary Information

V, A, F, 거리 Discrete Value(0/1)

▶ Gate▷ The manipulation of binary information is done by logic

circuit called “gate”.▷ Basic blocks of H/W that produce signals of binary 1 or 0

when input logic requirements are satisfied.▷ Digital Logic Gates :

AND, OR, INVERTER(NOT), BUFFER, NAND, NOR, XOR, XNOR

9컴퓨터시스템구조

Page 10: 컴퓨터시스템구조 개요

디지털 논리 게이트컴퓨터시스템구조 10

Page 11: 컴퓨터시스템구조 개요

부울 대수부울 대수 (Boolean Algebra) (1)(Boolean Algebra) (1)

▶ 부울 대수 ▷ 2 진 변수와 논리연산을 다루는 대수▷ 논리 회로의 동작을 대수적으로 표현

▶ 2 진 변수 ▷ 일반적으로 A,B,x,y,z 등의 문자로 표시▷ 0 또는 1 의 값을 가짐▷ 논리 회로의 입력 또는 출력 신호를 표현

▶ 논리 연산▷ 3 개의 기본적인 동작 : AND, OR, NOT

XOR, XNOR▷ 논리 게이트의 동작을 표현

11컴퓨터시스템구조

Page 12: 컴퓨터시스템구조 개요

부울 대수부울 대수 (Boolean Algebra) (2)(Boolean Algebra) (2)

▶ 논리 회로의 동작 표현 ▷ 부울 함수 (Boolean Function) : 2 진 변수 + 논리 연산

F(x, y, x) = x + y’z

▷ 진리표 (Truth Table) 입력 신호와 출력 신호 사이의 관계를 표현

▷ 논리 회로도 (Logic Diagram) 부울 함수를 논리 게이트로 구성된 회로도로 표현

12컴퓨터시스템구조

Page 13: 컴퓨터시스템구조 개요

부울 대수부울 대수 (Boolean Algebra) (3)(Boolean Algebra) (3)

▶ 부울 대수식의 사용 ▷ 입출력 변수 사이의 진리표 관계를 대수형식으로 표시 ▷ 논리 회로도의 입출력 관계를 대수형식으로 표시 ▷ 논리 회로의 분석과 설계를 용이

같은 기능을 가진 더 간단한 회로 발견이 용이

▶ 부울 대수의 기본 법칙

13컴퓨터시스템구조

Page 14: 컴퓨터시스템구조 개요

부울 대수부울 대수 (Boolean Algebra) (4)(Boolean Algebra) (4)

▶ 부울 대수식의 단순화

▶ 부울 대수식의 보수▷ 드 모르강의 정리 이용 ▷ 어떤 수식에서 모든 OR 연산은 AND 로 , AND 연산은 OR 로

바꾸어 주고 각 변수를 보수화한다 예 ) F=AB+C'D'+B‘D F’=(A'+B')(C+D)(B+D')

[ 예제 ] [ 예제 ]F = AB’+ C’D + AB’+ C’D F = ABC + ABC’+ A’C = x + x (let x= AB’+ C’D) = AB(C + C’) + A’C = x = AB + A’C = AB’+ C’D 1 inverter, 1 AND gate 감소

14컴퓨터시스템구조

Page 15: 컴퓨터시스템구조 개요

부울 대수부울 대수 (Boolean Algebra) (5)(Boolean Algebra) (5)

▶ 2 graphic symbols for NOR gate (a) OR-invert (b) invert-OR

▶ 2 graphic symbols for NAND gate (a) NAND-invert (b) invert-NAND

15컴퓨터시스템구조

Page 16: 컴퓨터시스템구조 개요

맵 간소화 맵 간소화 (1)(1)

▶ Karnaugh Map(K-Map)▷ 맵을 이용하여 진리표로부터 부울 대수식을 간소화하는 방법

▶ Minterm / Maxterm▷ Minterm : n variables product ( x=1, x’=0)▷ Maxterm : n variables sum (x=0, x’=1)

▶ 2 variables example :

16컴퓨터시스템구조

Page 17: 컴퓨터시스템구조 개요

맵 간소화 맵 간소화 (2)(2)

▶ 정규 논리식 (Canonical Boolean Expression)▷ Minterm 의 합 또는 Maxterm 의 곱 형태로 표현된 부울 대수식

대개 진리표에서 직접 도출하여 표현▷ SOP : Sum of Product▷ POS : Product of Sum▷ 예 1:

F(x, y) = x’y + xy = ∑(1, 3) (= m1 + m3)

= ∏(0, 2) (Complement = M0 • M2)

▷ 예 2: 표 1-3 에서F(x,y,z)=∑(1,4,5,7)=x'y'z+xy'z'+xy'z+xyz

= ∏(0,2,3,6)=(x+y+z)(x+y’+z)(z+y’+z’)(x’+y+z’)

17컴퓨터시스템구조

Page 18: 컴퓨터시스템구조 개요

맵 간소화 맵 간소화 (3)(3)

▶ 맵 (Map)

18컴퓨터시스템구조

Page 19: 컴퓨터시스템구조 개요

맵 간소화 맵 간소화 (4)(4)

▶ 맵 간소화 예 :(1) 진리표 (2) 정규논리식

F(x,y,z)=∑(1,4,5,6,7)

(3) K-Map

1

1 1 1 1

F(x,y,z) = x +yz

인접사각형

19컴퓨터시스템구조

Page 20: 컴퓨터시스템구조 개요

맵 간소화 맵 간소화 (5)(5)

▶ 인접 사각형 (Adjacent Square)▷ Number of square = 2n (2, 4, 8,

….)▷ 동일한 행에서 양 끝단의 사각형은

인접한 것으로 고려한다 .

▷ 동일한 열에서 상단과 하단의 사각형은 인접한 것으로 고려한다 .

▷ 맵의 네 구석 사각형은 인접한 것으로 고려한다 .

▷ 인접 사각형 그룹은 한 개의 이상의 사각형을 공유할 수 있다

20컴퓨터시스템구조

Page 21: 컴퓨터시스템구조 개요

맵 간소화 맵 간소화 (6)(6)

▶ 맵 간소화 예제F(A,B,C)=∑(3,4,6,7)

= A’C’+BC

F(A,B,C)=∑(0,2,4,5,6) = C’+AB’

F(A,B,C,D)=∑(0,1,2,6,8,9,10) = B’D’+B’C’+A’CD’

21컴퓨터시스템구조

Page 22: 컴퓨터시스템구조 개요

맵 간소화 맵 간소화 (9)(9)

▶ 논리합의 논리곱 표현▷ 부울 함수의 출력이 0 이 되는 Minterm 의 구역에 0 을 넣고

인접한 0 을 크게 묶어 간소화한다 .▷ 간소화된 식을 부정을 취하여 논리곱의 부울 대수식을 구한다 .

▶ 예제 : ▷ F(A,B,C,D)=∑(0,1,2,5,8,9,10) ▷ 1 의 인접 사각형으로 맵 간소화된 부울 대수식 :

F=B'D'+B'C'+A'C'D ▷ 0 의 인버 사각형으로 맵 간소화된 부울 대수식 :

F’=AB+CD+BD’ F=(F’)’=(A'+B')(C'+D')(B'+D)

22컴퓨터시스템구조

Page 23: 컴퓨터시스템구조 개요

컴퓨터시스템구조 23

Page 24: 컴퓨터시스템구조 개요

맵 간소화 맵 간소화 (10)(10)

▶ Don’t-Care 조건▷ Minterm 이 1 이 되거나 0 이 되거나에 관계없이 같은 함수의

값을 갖는 경우 ▷ 맵에서는 X 를 넣고 1 로 혹은 0 으로 간주하여 묶는다 .

▶ 예제 : 다음 부울 함수를 간소화하라 . F(A,B,C)=∑(0,2,6) d(A,B,C)=∑(1,3,5)

F=A'+BC'

24컴퓨터시스템구조

Page 25: 컴퓨터시스템구조 개요

조합 회로 조합 회로 (1)(1)

▶ 논리 회로▷ 입력 신호를 원하는 출력 신호로 변환해주는 전자 장치

▶ 조합회로 (Combinational Logic Circuit) ▷ 출력 신호가 현재의 입력 신호 값에 의해서만 결정▷ 논리 게이트들로만 구성

▶ 순차회로 (Sequential Logic Circuit) ▷ 출력 신호가 현재의 입력 신호와 회로의 현재 상태값에 의해 결정▷ 논리게이트뿐만 아니라 플립플롭과 같은 기억회로를 포함

Logic Circuits

Input Signals

Output Signals

25컴퓨터시스템구조

Page 26: 컴퓨터시스템구조 개요

조합 회로 조합 회로 (2)(2)

▶ 조합 회로▷ A connected arrangement of logic gates with a set of

inputs and outputs▷ 블록도

26컴퓨터시스템구조

Page 27: 컴퓨터시스템구조 개요

조합 회로 조합 회로 (3)(3)

▶ 조합 회로 분석▷ Logic circuits diagram Boolean function or Truth table▷ 조합 회로의 동작 이해

▶ 조합 회로 설계1. The Problem is stated ( 문제 제시 )2. I/O variables are assigned ( 입출력 변수 할당 )3. Truth table(I/O relation) ( 진리표 작성 )4. Simplified Boolean Function(K-Map 과 부울 대수이용 )5. Logic circuit diagram ( 회로도 작성 )

27컴퓨터시스템구조

Page 28: 컴퓨터시스템구조 개요

조합 회로 조합 회로 (3)(3)

▶ 조합 회로 설계 예 : 가산기 (Adder)▷ 반가산기 (Half-Adder)

두 개의 서로 다른 비트를 산술적으로 가산하는 조합회로 입력 : 2 개의 비트 x, y, 출력 : 합 S, 캐리 C

▷ 전가산기 (Full Adder) 1. 동작 사양 : 3 개의 입력 비트의 합하여 합과 캐리를 구하는 조합회로 2. 입출력 변수 할당 :

x, y 는 더해지는 비트이고 z 는 입력캐리S 는 합 , C 는 더할 때 발생한 출력캐리

3. 진리표 작성 :

28컴퓨터시스템구조

Page 29: 컴퓨터시스템구조 개요

조합 회로 조합 회로 (4)(4)

▶ 조합 회로 설계 예 : 가산기 (Adder)▷ 전가산기 (Full Adder)

4. 단순화 :

S= xy’z’+x’y’z+xyz+x’yz’ = z’(xy’+x’y)+z(x’y’+xy) = z’(x y)+z(x y) = x y z

+ +

+ +

C = xy’z+x’yz+xy = z(xy’+x’y)+xy = z(x y)+xy+

29컴퓨터시스템구조

Page 30: 컴퓨터시스템구조 개요

조합 회로 조합 회로 (5)(5)

▶ 조합 회로 설계 예 : 가산기 (Adder)▷ 전가산기 (Full Adder)

5. 논리회로도 작성 :

30컴퓨터시스템구조

Page 31: 컴퓨터시스템구조 개요

플립플롭 플립플롭 (1)(1)

▶ 플립플롭 (Flip-Flop:F/F) ▷ 순차논리회로의 기억소자▷ 1- 비트 정보를 저장하는 2 진 셀 (Cell)▷ 쌍안정화 회로 : 정상출력과 보수화된 출력을 갖는다 ▷ 래치 (Latch) vs. 플립플롭

래치– 입력신호의 레벨값에 따라 출력신호가 결정– 기억된 상태의 변화를 시간적으로 제어가 힘듬

플립플롭– Clock 등 동기화 (trigger) 신호 사용– 동기화 신호에 의해 기억 상태 값 변화를 제어 가능– Level-triggering / Edge-triggering

▷ 플립플롭 종류 SR-F/F, D-F/F, JK-F/F, T-F/F

31컴퓨터시스템구조

Page 32: 컴퓨터시스템구조 개요

플립플롭 플립플롭 (2)(2)

▶ Edge-Triggered F/F ▷ State Change : Clock Pulse

Rising Edge(positive-edge transition) Falling Edge(negative-edge transition)

▷ Setup time(20ns) minimum time that D input must remain at constant value

before the transition.▷ Hold time(5ns)

minimum time that D input must not change after the positive transition.

▷ Propagation delay(max 50ns) time between the clock input and the response in Q 일반논리 gate 에서는 2-20 ns 이며 setup 및 hold time 은 F/F

에서만 정의되며일반논리 gate 에서는 정의되지 않음 .

32컴퓨터시스템구조

Page 33: 컴퓨터시스템구조 개요

플립플롭 플립플롭 (3)(3)

▶ Edge-Triggered F/F ▷ Master-Slave F/F

2 개의 F/F 을사용 (Slave 와 Master F/F), negative-edge transition 사용

위와같이사용하는이유 : Race 현상을방지▷ Race 현상

조건 - Hold time > Propagation delay 증상 - 0 과 1 을 반복하다가 Unstable 한 상태가 된다 해결책 - Edge triggered F/F (with little or no hold time) 또는

Master/Slave F/F 사용 예제 : 7470(J-K Edge triggeredF/F), 7471(J-K Master/SlaveF/F)

33컴퓨터시스템구조

Page 34: 컴퓨터시스템구조 개요

플립플롭 플립플롭 (4)(4)

▶ SR- 플립플롭 (Set-Reset F/F)

34컴퓨터시스템구조

Page 35: 컴퓨터시스템구조 개요

플립플롭 플립플롭 (5)(5)

▶ D- 플립플롭 (Data F/F)

35컴퓨터시스템구조

Page 36: 컴퓨터시스템구조 개요

플립플롭 플립플롭 (6)(6)

▶ JK- 플립플롭 (JK F/F)

36컴퓨터시스템구조

Page 37: 컴퓨터시스템구조 개요

플립플롭 플립플롭 (7)(7)

▶ T- 플립플롭 (Toggle F/F)

37컴퓨터시스템구조

Page 38: 컴퓨터시스템구조 개요

플립플롭 플립플롭 (8)(8)

▶ 플립플롭 여기표 (Excitation Table)

38컴퓨터시스템구조

Page 39: 컴퓨터시스템구조 개요

순차 회로 순차 회로 (1)(1)

▶ 순차회로 (Sequential Circuits)▷ 플립플롭과 게이트를 서로 연결한 것 ▷ 블록도 :

▷ 클럭 펄스에 동기되어 동작 ▷ 순차회로의 출력은 현재 입력과 플립플롭의 현재 상태의 함수로

표시된다 순차회로 내의 조합 회로에서 순차회로의 다음 상태와 출력을 생성 순차회로는 플립플롭의 입력 신호와 출력 신호에 대한 부울

대수식으로 표현

39컴퓨터시스템구조

Page 40: 컴퓨터시스템구조 개요

밀리 (Mealy) 순차회로 :

조합회로의 출력이 현재의 입력과 현재 상태 값에 의해 결정되는 회로

무어 (Moore) 순차회로 :

조합회로의 출력이 단지 현재 상태 값에 의해 결정되는 회로

▶ 순차 회로의 분류 :

순차 회로 순차 회로 (2)(2)

40컴퓨터시스템구조

Page 41: 컴퓨터시스템구조 개요

순차 회로 순차 회로 (3)(3)

▶ 순차회로 예 :▷ 플립플롭의 입력 함수식

DA=Ax+Bx , DB=A'x

▷ 출력식 입력변수와 플립플롭

출력들 사이의 관계를 부울대수로 표현

y=Ax'+Bx'

41컴퓨터시스템구조

Page 42: 컴퓨터시스템구조 개요

순차 회로 순차 회로 (4)(4)

▶ 상태표 (State Table) / 상태도 (State Diagram)▷ 순차회로의 특성 또는 동작 방식을 정의

순차회로의 특성 - 입력신호 , 플립플롭의 현재 상태 , 출력신호 그리고 플립플롭의 다음 상태 사이의 관계

순차회로의 동작을 이해하거나 설계할 때에 사용

▷ 상태표 순차회로의 특성을 표로 표현 m 개의 플립플롭 , n 개의 입력변수 , p 개의 출력 변수를 갖는

순차회로 현재 상태에 m 개의 열 , 입력에 n 개의 열 , 다음 상태에 m 개의 열 , 출력에 p 개의 행을 갖는 상태표

42컴퓨터시스템구조

Page 43: 컴퓨터시스템구조 개요

순차 회로 순차 회로 (5)(5)

▶ 상태표 (State Table) / 상태도 (State Diagram)▷ 상태표 예 : 앞의 순차 회로에 대한 상태표

43컴퓨터시스템구조

Page 44: 컴퓨터시스템구조 개요

순차 회로 순차 회로 (6)(6)

▶ 상태표 (State Table) / 상태도 (State Diagram)▷ 상태도

기능 – 순차회로의 동작을 그래픽 형태로 보여주는 도구 – 상태표에 나타난 정보를 그림으로 표시

표시방법 – 상태는 원으로 표시 – 상태 사이의 전이는 원 사이를 연결하는 직선 – 원안에는 플립플롭 A,B 의 상태를 표시 – "/" 의 윗쪽에는 입력을 , 아래쪽에는 출력을 표시

44컴퓨터시스템구조

Page 45: 컴퓨터시스템구조 개요

순차 회로 순차 회로 (7)(7)

▶ 상태표 (State Table) / 상태도 (State Diagram)▷ 상태도 예 :

45컴퓨터시스템구조

Page 46: 컴퓨터시스템구조 개요

순차 회로 순차 회로 (8)(8)

▶ 순차 회로 설계 예 :▷ 설계 과정

1. 시방서로 부터 상태도를 그린다 2. 상태도로 부터 상태표를 유도한다 3. 사용할 플립플롭의 종류와 수 결정 4. 여기표 작성 5. 간소화된 플립플롭의 입력 함수와 출력 함수 유도 6. 유도된 플립플롭 입력함수와 출력 함수로부터 순차회로 구성

46컴퓨터시스템구조

Page 47: 컴퓨터시스템구조 개요

순차 회로 순차 회로 (9)(9)

▶ 순차 회로 설계 예 :▷ 4 진 카운터 (Counter)

1. 회로 정의

x=1: 00, 01, 10, 11, 00, 01,…x=0: no change

2. 상태도 4 states(00, 01, 10, 11)

47컴퓨터시스템구조

Page 48: 컴퓨터시스템구조 개요

순차 회로 순차 회로 (10)(10)

▶ 순차 회로 설계 예 :▷ 4 진 카운터 (Counter)

3. 플립플롭 종류와 수 결정 : 2 개의 JK F/F 사용

4. 여기표

JK F/F 여기표

Next State = Output

48컴퓨터시스템구조

Page 49: 컴퓨터시스템구조 개요

순차 회로 순차 회로 (11)(11)

▶ 순차 회로 설계 예 :▷ 4 진 카운터 (Counter)

5. K-Map 을 이용하여 간소화된 입력함수 유도

49컴퓨터시스템구조

Page 50: 컴퓨터시스템구조 개요

순차 회로 순차 회로 (12)(12)

▶ 순차 회로 설계 예 :▷ 4 진 카운터 (Counter)

6. 순차회로 구성

50컴퓨터시스템구조