Download presentation
Presentation is loading. Please wait.
1
컴퓨터시스템구조 개요 Lecture #1
2
디지털 컴퓨터 (1) 디지털 컴퓨터 디지털 시스템 여러 가지 계산을 수행하는 디지털 시스템
0과 1의 두 개의 숫자만을 이용하는 2진수 시스템 컴퓨터 내부의 정보가 제한된 수의 불연속적 값으로 표시 디지털 시스템 전자 부품의 물리적 제약과 인간의 논리가 2진적(True, False)이라는 이유때문에 오직 2개의 값만을 가지도록 제한된다. 컴퓨터시스템구조
3
디지털 컴퓨터 (2) Computer = H/W + S/W 하드웨어(H/W) 소프트웨어(S/W)
컴퓨터의 모든 전자부품과 주변장치를 구성하는 전자기적 부품 소프트웨어(S/W) 컴퓨터의 여러 가지 정보처리 작업을 수행하는 명령어와 데이터들로 구성 컴퓨터시스템구조
4
디지털 컴퓨터 (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 컴퓨터시스템구조
5
디지털 컴퓨터 (4) Computer Hardware CPU Memory I/O Device
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 컴퓨터시스템구조
6
디지털 컴퓨터 (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 컴퓨터시스템구조
7
디지털 컴퓨터 (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) 컴퓨터시스템구조
8
디지털 컴퓨터 (7) What is “Computer Architecture”? “ISA”?
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 컴퓨터시스템구조
9
논리 게이트(Logic Gate) ADC(Analog to Digital Conversion) Gate
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 컴퓨터시스템구조
10
디지털 논리 게이트 컴퓨터시스템구조
11
부울 대수(Boolean Algebra) (1)
2진 변수와 논리연산을 다루는 대수 논리 회로의 동작을 대수적으로 표현 2진 변수 일반적으로 A,B,x,y,z 등의 문자로 표시 0 또는 1의 값을 가짐 논리 회로의 입력 또는 출력 신호를 표현 논리 연산 3개의 기본적인 동작 : AND, OR, NOT XOR, XNOR 논리 게이트의 동작을 표현 컴퓨터시스템구조
12
부울 대수(Boolean Algebra) (2)
논리 회로의 동작 표현 부울 함수(Boolean Function) : 2진 변수 + 논리 연산 F(x, y, x) = x + y’z 진리표(Truth Table) 입력 신호와 출력 신호 사이의 관계를 표현 논리 회로도(Logic Diagram) 부울 함수를 논리 게이트로 구성된 회로도로 표현 컴퓨터시스템구조
13
부울 대수(Boolean Algebra) (3)
부울 대수식의 사용 입출력 변수 사이의 진리표 관계를 대수형식으로 표시 논리 회로도의 입출력 관계를 대수형식으로 표시 논리 회로의 분석과 설계를 용이 같은 기능을 가진 더 간단한 회로 발견이 용이 부울 대수의 기본 법칙 컴퓨터시스템구조
14
부울 대수(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 inverter, 1 AND gate 감소 컴퓨터시스템구조
15
부울 대수(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 컴퓨터시스템구조
16
맵 간소화 (1) Karnaugh Map(K-Map) Minterm / Maxterm 2 variables example :
맵을 이용하여 진리표로부터 부울 대수식을 간소화하는 방법 Minterm / Maxterm Minterm : n variables product ( x=1, x’=0) Maxterm : n variables sum (x=0, x’=1) 2 variables example : 컴퓨터시스템구조
17
맵 간소화 (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’) 컴퓨터시스템구조
18
맵 간소화 (3) 맵(Map) 컴퓨터시스템구조
19
맵 간소화 (4) 맵 간소화 예: (1) 진리표 (2) 정규논리식 F(x,y,z)=∑(1,4,5,6,7) (3) K-Map
(1) 진리표 (2) 정규논리식 F(x,y,z)=∑(1,4,5,6,7) (3) K-Map 1 인접사각형 F(x,y,z) = x +yz 컴퓨터시스템구조
20
맵 간소화 (5) 인접 사각형(Adjacent Square) Number of square = 2n (2, 4, 8, ….)
동일한 행에서 양 끝단의 사각형은 인접한 것으로 고려한다. 동일한 열에서 상단과 하단의 사각형은 인접한 것으로 고려한다. 맵의 네 구석 사각형은 인접한 것으로 고려한다. 인접 사각형 그룹은 한 개의 이상의 사각형을 공유할 수 있다 컴퓨터시스템구조
21
맵 간소화 (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’ 컴퓨터시스템구조
22
맵 간소화 (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) 컴퓨터시스템구조
23
컴퓨터시스템구조
24
맵 간소화 (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' 컴퓨터시스템구조
25
조합 회로 (1) 논리 회로 조합회로(Combinational Logic Circuit)
입력 신호를 원하는 출력 신호로 변환해주는 전자 장치 조합회로(Combinational Logic Circuit) 출력 신호가 현재의 입력 신호 값에 의해서만 결정 논리 게이트들로만 구성 순차회로(Sequential Logic Circuit) 출력 신호가 현재의 입력 신호와 회로의 현재 상태값에 의해 결정 논리게이트뿐만 아니라 플립플롭과 같은 기억회로를 포함 Logic Circuits Input Signals Output Signals 컴퓨터시스템구조
26
조합 회로 (2) 조합 회로 A connected arrangement of logic gates with a set of inputs and outputs 블록도 컴퓨터시스템구조
27
조합 회로 (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 (회로도 작성) 컴퓨터시스템구조
28
조합 회로 (3) 조합 회로 설계 예: 가산기(Adder) 반가산기(Half-Adder) 전가산기(Full Adder)
두 개의 서로 다른 비트를 산술적으로 가산하는 조합회로 입력: 2개의 비트x, y, 출력: 합 S, 캐리 C 전가산기(Full Adder) 1. 동작 사양: 3개의 입력 비트의 합하여 합과 캐리를 구하는 조합회로 2. 입출력 변수 할당: x, y는 더해지는 비트이고 z는 입력캐리 S는 합, C는 더할 때 발생한 출력캐리 3. 진리표 작성: 컴퓨터시스템구조
29
조합 회로 (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 + 컴퓨터시스템구조
30
조합 회로 (5) 조합 회로 설계 예: 가산기(Adder) 전가산기(Full Adder) 5. 논리회로도 작성:
컴퓨터시스템구조
31
플립플롭 (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 컴퓨터시스템구조
32
플립플롭 (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에서는 정의되지 않음. 컴퓨터시스템구조
33
플립플롭 (3) Edge-Triggered F/F Master-Slave F/F Race 현상
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) 컴퓨터시스템구조
34
플립플롭 (4) SR-플립플롭(Set-Reset F/F) 컴퓨터시스템구조
35
플립플롭 (5) D-플립플롭(Data F/F) 컴퓨터시스템구조
36
플립플롭 (6) JK-플립플롭(JK F/F) 컴퓨터시스템구조
37
플립플롭 (7) T-플립플롭(Toggle F/F) 컴퓨터시스템구조
38
플립플롭 (8) 플립플롭 여기표(Excitation Table) 컴퓨터시스템구조
39
순차 회로 (1) 순차회로(Sequential Circuits) 플립플롭과 게이트를 서로 연결한 것 블록도:
클럭 펄스에 동기되어 동작 순차회로의 출력은 현재 입력과 플립플롭의 현재 상태의 함수로 표시된다 순차회로 내의 조합 회로에서 순차회로의 다음 상태와 출력을 생성 순차회로는 플립플롭의 입력 신호와 출력 신호에 대한 부울 대수식으로 표현 컴퓨터시스템구조
40
순차 회로 (2) 순차 회로의 분류: 밀리(Mealy) 순차회로 : 무어(Moore) 순차회로 :
조합회로의 출력이 현재의 입력과 현재 상태 값에 의해 결정되는 회로 무어(Moore) 순차회로 : 조합회로의 출력이 단지 현재 상태 값에 의해 결정되는 회로 컴퓨터시스템구조
41
순차 회로 (3) 순차회로 예: 플립플롭의 입력 함수식 출력식 DA=Ax+Bx , DB=A'x
입력변수와 플립플롭 출력들 사이의 관계를 부울대수로 표현 y=Ax'+Bx' 컴퓨터시스템구조
42
순차 회로 (4) 상태표(State Table) / 상태도(State Diagram) 순차회로의 특성 또는 동작 방식을 정의
순차회로의 특성 - 입력신호, 플립플롭의 현재 상태, 출력신호 그리고 플립플롭의 다음 상태 사이의 관계 순차회로의 동작을 이해하거나 설계할 때에 사용 상태표 순차회로의 특성을 표로 표현 m개의 플립플롭, n개의 입력변수, p개의 출력 변수를 갖는 순차회로 현재 상태에 m개의 열, 입력에 n개의 열, 다음 상태에 m개의 열, 출력에 p개의 행을 갖는 상태표 컴퓨터시스템구조
43
순차 회로 (5) 상태표(State Table) / 상태도(State Diagram)
상태표 예: 앞의 순차 회로에 대한 상태표 컴퓨터시스템구조
44
순차 회로 (6) 상태표(State Table) / 상태도(State Diagram) 상태도 기능 표시방법
순차회로의 동작을 그래픽 형태로 보여주는 도구 상태표에 나타난 정보를 그림으로 표시 표시방법 상태는 원으로 표시 상태 사이의 전이는 원 사이를 연결하는 직선 원안에는 플립플롭 A,B의 상태를 표시 "/"의 윗쪽에는 입력을, 아래쪽에는 출력을 표시 컴퓨터시스템구조
45
순차 회로 (7) 상태표(State Table) / 상태도(State Diagram) 상태도 예: 컴퓨터시스템구조
46
순차 회로 (8) 순차 회로 설계 예: 설계 과정 시방서로 부터 상태도를 그린다 상태도로 부터 상태표를 유도한다
사용할 플립플롭의 종류와 수 결정 여기표 작성 간소화된 플립플롭의 입력 함수와 출력 함수 유도 유도된 플립플롭 입력함수와 출력 함수로부터 순차회로 구성 컴퓨터시스템구조
47
순차 회로 (9) 순차 회로 설계 예: 4진 카운터(Counter) 1. 회로 정의 x=1: 00, 01, 10, 11,
00, 01,… x=0: no change 2. 상태도 4 states(00, 01, 10, 11) 컴퓨터시스템구조
48
순차 회로 (10) 순차 회로 설계 예: 4진 카운터(Counter) 3. 플립플롭 종류와 수 결정
: 2개의 JK F/F 사용 4. 여기표 JK F/F 여기표 Next State = Output 컴퓨터시스템구조
49
순차 회로 (11) 순차 회로 설계 예: 4진 카운터(Counter) 5. K-Map을 이용하여 간소화된 입력함수 유도
컴퓨터시스템구조
50
순차 회로 (12) 순차 회로 설계 예: 4진 카운터(Counter) 6. 순차회로 구성 컴퓨터시스템구조
Similar presentations