논리회로 Chapter 01. 들어가기 컴퓨터공학과 박광훈 교수 • 아날로그 신호와 디지털 신호의 개념을 이해할 수 있다. • 디지털 정보의 표현방법을 이해하고 이를 활용할 수 있다. • 주기적인 파형에서 주파수와 주기의 개념을 이해하고 계산할 수 있다. • 디지털 회로의 장점과 단점에 대해 설명할 수 있다. • ADC와 DAC의 개념을 이해할 수 있다. 디지털과 아날로그 디지털 정보의 표현 논리 레벨과 펄스파형 디지털 집적회로 ADC와 DAC 디지털과 아날로그 1. 디지털 신호와 아날로그 신호 아날로그 신호(Analog Signal) • 자연계에서 일어나는 물리적인 양은 시간에 따라 연속적으로 변화하는 값을 갖는다 • ex: 온도, 습도, 소리, 빛 등. VS 디지털 신호(Digital Signal) • 디지털 신호로 인해서, 방송/통신/컴퓨터가 융합된 정보화 사회를 이룩할 수 있었다. • 분명히 구별되는 두 레벨의 신호값만을 갖는다. (ex: 0/1 binary, 0 Volt vs. 5 Volt). • 아날로그 신호를 디지털 신호로 변환 (Conversion) 해서 사용 0/1 binary 아날로그 테스터기 디지털 테스터기 디지털과 아날로그 2. 디지털 시스템과 아날로그 시스템 디 지 털 시 스 템 이산적인 정보를 가공하고 처리해서 최종 목적으로 하는 정보를 출력하는 모든 형태의 장치 (Binary 입력 ➔ Binary 출력) 아 날 로 그 시 스 템 연속적인 정보를 입력받아 처리해서 연속적인 형태의 정보를 출력하는 시스템 (Continuous 입력/출력) 디지털과 아날로그 ◼ 디지털 시스템의 장점 ▪ 디지털 시스템은 내·외부 잡음에 강함: 아날로그 시스템은 외부 잡음이나 온도 변화, 부품의 마모/사용기간 등에 민감하지만, 디지털 시스템은 이산적인 정보 (Binary Signal)을 이용하므로 내/외부 잡음에 매우 강하다 ▪ 디지털 시스템은 설계하기가 용이함: 디지털 시스템은 On/OFF (5V/0V, 1/0)만을 고려하는 Switching 회로이다. 따라서 회로의 전압이나 전류의 정확한 값이 아닌, 존재의 유무 (일정 범위 내)로 On/Off를 인식한다. 아날로그 시스템은 설계에 있어서 Knowhow가 매우 중요 (아날로그의 강자인 SONY가 디지털시대에 몰락함!) ▪ 디지털 시스템은 프로그래밍으로 전체 시스템을 제어할 수 있어서 규격이나 사양의 변 경에 쉽게 대응할 수 있어서 기능 구현의 유연성을 높일 수 있고 개발기간을 단축시킬 수 있음. 프로그래밍 변경만으로 손쉽게 시스템을 제어하거나 변경이 가능함. ▪ 디지털 시스템에서는 정보를 저장하거나 가공하기가 용이함: 이산데이터/디지털데이터, 아날 로그 데이터 (ex: 비디오 테이프, 오디오 테이프, LP판 등은 여러 번 반복해서 듣게되면 화질/음 질 열화가 발생된다. 또한 영화필름 등을 편집할 때 필름간 Cut 등의 작업이 필요하지만, 디지털 로 저장된 정보는 매우 쉽게 편집이 가능하다) ▶ 디지털 시스템의 많은 장점으로 인해 기존 아날로그 시스템이나 새로운 시스템의 대부분은 디지털 시스템으로 구성 디지털과 아날로그 ◼ 아날로그 회로와 디지털 회로의 상호 연결 자연상태의 데이터는 아날로그 데이터 임 (ex: 영상/동영상/음향/음성 등). 아날로그 데이터를 디지털 데이터로 변환한 후, 디지털 데이터 상태에서 편집 또는 가공을 하고, 이를 다시 아날로그 상태로 변환해서 보거나 듣거나 함. 따라서 Analog to Digital (A/D) Converter와 Digital to Analog (D/A) Converter가 반드시 필요함. 디지털 정보의 표현 1. 디지털 정보의 전압레벨 ▪ 디지털 정보를 표현하기 위해 2진수 체계(binary system)를 사용 ▪ “0”과 “1”만의 2종류의 디지트(digit)를 사용 입력신호의 변동범위가 출력신호의 변동범위보다 큰 이유는, “1” 2.7V~5V 2V~5V “0” 0V~0.4V 0V~0.8V 신호 전송과정에서 발생되는 잡음에 더 강하게 하기 위해서이다. <디지털 시스템의 전압레벨> 디지털 정보의 표현 2. 디지털 정보의 표현 단위: bit, Byte ▪ 1 nibble = 4 bit ▪ 1 byte = 8 bit ▪ 1 byte = 1 character ▪ 영어는 1 byte로 1 문자 표현, 한글은 2byte (조합형 또는 완성형)가 필요 ▪ 1 word : 특정 CPU에서 취급하는 명령어나 데이터의 길이에 해당하는 비트 수 MSB(most significant bit) : 최상위비트 LSB(least significant bit) : 최하위비트 디지털 정보의 표현 ◼ SI와 IEC 비교 SI(International Systems of Units), IEC(International Electrotechnical Commission) ◼ SI단위는 10진 기준 (103=1000), IEC단위는 2진 기준 (210=1024), 소문자 b → bit, 대문자 B → Byte ◼ 10진 기준인 SI단위를 2진수에 적용하면 오차가 매우 크게 발생된다➔ IEC 60027-2에 정의된 단위를 사용해야함 ◼ IEC단위는 Ki(kiloBinary), Mi(MegaBinary), Gi(GigaBinary), SI단위는 K (Kilo), M(Mega), G(Giga), ◼ 512MB RAM: 536,870,912 B(Byte) 이므로 정확하게 512MiB(IEC: MegaBianry) 나 536MB(SI: MegaByte)로 표현해야 함 SI(10진 단위) 값 IEC(2진 단위) 기호 이름 (103)1=103 k, K 값 kilo- (210)1=210≃103.01 기호 이름 10진 변환 크기 Ki kibi- kilobinary Megabinary 1,024 (103)2=106 M mega- (210)2=220≃106.02 Mi mebi- (103)3=109 G giga- (210)3=230≃109.03 Gi gibi- 1,073,741,824 (103)4=1012 T tera- (210)4=240≃1012.04 Ti tebi- 1,099,511,627,776 (103)5=1015 P peta- (210)5=250≃1015.05 Pi pebi- 1,125,899,906,842,624 (103)6=1018 E exa- (210)6=260≃1018.06 Ei exbi- 1,152,921,504,606,846,976 (103)7=1021 Z zetta- (210)7=270≃1021.07 Zi zebi- (103)8=1024 Y yotta- (210)8=280≃1024.08 Yi (예) 4Mib=4Mebibit, 4MiB=4Mebibyte 1,048,576 1,180,591,620,717,411,303,424 1,208,925,819,614,629,174,706,17 yobi6 디지털 정보의 표현 3. 전자소자를 이용한 논리 표현 VCC VCC VCC RC RC RC 쌍극성 트랜지스터에 의한 스위칭 Vo RB Vi Vi=Vcc switch close Vo=0V Vi=0V switch open Vo=Vcc VDD VDD 위와 같은 논리가 성립됨 RD Vo Vo Vo VG VG=VDD switch close Vo=0V Vi= 0V이면, TR이 OFF가 되어서 Vo가 Vcc와 연결이 된다 즉 Vo = Vcc VDD RD RD NMOS 트랜지스터에 의한 스위칭 Vo Vo Vi에 전압(Vcc)이 가해지면, TR이 ON 되어서 Vo가 GND와 연결된다 즉 Vo = 0V VG=0V switch open Vo=VDD Vi에 전압(VDD)이 가해지면, TR이 ON 되어서 Vo가 GND와 연결된다 즉 Vo = 0V Vi= 0V이면, TR이 OFF가 되어서 Vo가 VDD와 연결이 된다 즉 Vo = VDD 논리 레벨과 펄스파형 1. 정논리와 부논리 ▪ 디지털시스템에서 0/1을 표현하기 위한 전압레벨로서 0Volt/5Volt를 둘 수 있음 ▪ 양논리 또는 정논리(positive logic): 0 Volt ➔ 0, 5 Volt ➔ 1 ▪ 음논리 또는 부논리(negative logic): 0 Volt ➔ 1, 5 Volt ➔ 0 ▪ 정논리와 부논리는 모두 디지털 논리 시스템에서 이용되며, 일반적으로 정논리를 많이 사용한다. 전압레벨 정논리 부논리 +5V High=1 High = 0 0V Low=0 Low = 1 논리 레벨과 펄스파형 2. 펄스(Pulse)파형 ▪ 펄스(pulse)는 전압레벨이 일반적으로 Low 상태와 High 상태를 반복하기 때문에 디지털 시스템에서 매 우 중요하다 ▪ 펄스는 주기 펄스(periodic pulse) 와 비주기 펄스(non-periodic pulse)로 분류된다 ▪ 주기 펄스는 일정한 구간마다 파형이 반복되고, 비주기 펄스는 주기가 없는 파형을 말한다 ◼ 이상적인(ideal) 펄스파형 ▪ 이상적인 주기 펄스는 두 개의 에지(edge)로 구성된다 (상승에지 & 하강에지) ▪ 어느시점에서 논리회로가 트리거링(triggering)되어서 동작하는지는 추후 7~12장에서 자세히 설명할 예정임 ▪ 리딩 에지(leading edge) = 상승에지(rising edge)에서 triggering 되어서 논리회로가 동작하는 경우와 ▪ 트레일링 에지(trailing edge) = 하강에지(falling edge)에서 triggering 되어서 논리회로가 동작하는 경우로 나뉨 주기반복: T 논리 레벨과 펄스파형 ◼ 실제적인(actual) 펄스파형 ▪ 실제로 발생되는 펄스의 모양은 ideal 펄스파형과 같이 Low에서 High로, 또는 High에서 Low로 순간적으로 변하지 않고 실제 회로를 구현해서 펄스파형을 살펴보면 아래 그림과 같은 모양의 펄스가 발생된다 ▪ 상승시간(rising time) : 𝒕𝒓 펄스진폭 “A”가 10%에서 90%까지 증가하는 시간 (Low ➔ High) ▪ 하강시간(falling time) : 𝒕𝒇 펄스진폭 “A”가 90%에서 10%까지 떨어지는 시간 (High ➔ Low) ▪ 펄스 폭(pulse width) : 펄스가 존속하는 시간, 상승구간(50%)와 하강구간(50%)인 두지점 사이의 𝒕𝒘 시간 간격을 정의함 (상승구간 50%지점 ~ 하강구간 50%지점 사이의 시간간격) 논리 레벨과 펄스파형 3. 주기, 주파수 및 듀티 사이클 주파수(frequency) • 주기적인 파형이 1초 동안에 진동한 횟수를 의미하며 • 1초 동안에 주기가 몇 번 반복되는지 횟수를 세에서 결정한다 • 주파수의 단위는 전파를 처음으로 발견한 독일의 헤르츠의 이름을 따서 헤르츠(Hz)를 쓴다 주기(Period) • 주기적인 파형이 1 회 반복하는데 걸리는 시간을 의미 주파수와 주기는 서로 역수관계 주파수는 1HZ, 주기는 1초 주파수는 2HZ, 주기는 0.5초 주파수는 1000HZ, 주기는 0.001(1ms)초 논리 레벨과 펄스파형 ◼ 주파수와 주기와의 관계: 주파수 f 와 주기 T는 서로 역수관계 T= 1 f f = 1 T 주파수 : f (HZ) 주 기 : T (second) ◼ Ex: 주기가 250μs(microsecond)이면, 주파수는? f = 1/T = 1/250 microsec = 1/250X10-6 HZ = 4KHZ 1ms = 10-3 sec, 1μs = 10-6 sec (백만분의 일초) 디지털 집적회로 디지털 정보를 처리하는 디지털 시스템의 하드웨어를 디지털 회로라고 한다 디지털 회로는 현재 회로내의 2진상태와 회로를 구성하는 논리에 따라 반응하여 2진상태의 출력신호를 발생시키는 것 논리회로는 입력/출력 정보를 일시적으로 기억하여 입력신호의 일부분으로 사용하는 메모리의 사용 유무에 따라서 조합논리회로와 순서논리회로로 구분한다 조합논리회로 (combinational logic circuit) • 기본 게이트의 조합으로 구성되는 논리회로 • 입력신호와 논리회로의 조합으로 출력이 바로/즉시 발생됨 입 력 . 신 n개 .. 호 출 조합논리 회로 력 . .m개 신 . 호 순서논리회로 (sequential logic circuit) • 조합논리회로에 플립플롭(flip-flop) 또는 메모리를 부가한 논리회로 • 논리신호가 순차적으로 출력 Y(t)는 현재 상태의 발생된다 입력 X(t)와 이전 상태의 출력 Y(t-1)에 의하여 결정 조합논리회로 원하는 채널버튼 을 누르면 즉시 채널이 선택된다 순서논리회로 채널 UP/DOWN버튼은 이 전에 누른 버튼을 기반으로 현재의 채널이 선택된다. 볼륨 UP/DOWN 버튼도 동일하게 동작함 디지털 집적회로 1. IC 패키지 ▪ IC 패키지는 PCB(Printed Circuit Board)에 장착하는 방법에 따라 삽입 장착(through-hole mounted)형과 표면 실장(SMD: surface-mounted device)형으로 구분 ▪ 삽입 장착형 IC는 PCB 보드의 구멍에 끼우는 핀을 가지고 있어 뒷면의 도체에 납땜으로 연결할 수 있으며, DIP(dual-in-line package) 형태를 갖는다. ▪ 표면 실장형 IC는 PCB 표면의 금속 처리된 곳에 직접 납땜 처리 ▪ SMD는 DIP 형태의 논리회로의 크기를 70% 가량 줄이고, 무게를 90%만큼 감소. 또 SMD는 PCB의 제조 가격을 크게 하락 시킴 → 현재 거의 모든 IC 패키지가 SMD임 SMD DIP(dual-in-line package) (손으로 납땜 가능) SOIC(small outline integrated QFP(Quad Flat Package) circuit) <제작 형태에 따른 IC 패키지의 종류> PLCC(plastic leaded chip carrier) 디지털 집적회로 2. 집적회로의 분류 ◼ 소자 수에 따른 집적회로의 분류 본 수업에서 다루는 회로 SSI(Small Scale IC) 100개 이하 기본적인 게이트(AND, OR, NOT, XOR, XNOR), 플립플롭 등 MSI(Medium Scale IC) 100 ~ 1,000개 디코더, 인코더, 멀티플렉서, DeMUX, LSI(Large Scale IC) 1,000 ~ 10,000개 휴대용 계산기, 소형 기억장치 Chip 등 VLSI(Very Large Scale IC) 10,000 ~ 1,000,000개 CPU, GPU 등 ULSI(Ultra Large Scale IC) 1,000,000 개 이상 Counter, Register ADC와 DAC (Analog-to-Digital, Digital-to-Analog) ◼ 아날로그-디지털 변환과정의 블록도 표본화(Sampling), 양자화(Quantization), 부호화(Encoding) 과정을 수행 • 표본화 (Sampling) • 아날로그 파형을 디지털 형태로 변환하기 위해 샘플을 취하는 것을 의미 (샘플링이라고 함) • 표본화율(Sampling Rate)은 1초 동안에 취한 샘플의 수(디지털화하는 횟수)를 말하며, 단위는 주파수와 같은 Hz를 사용한다 • 표본화율이 증가할 수록 고품질의 데이터를 얻을 수 있지만, 그 많큼 저장해야 할 데이터량이 많아진다 Sampling ADC와 DAC ◼ 양자화 (Quantizing) ▪ 표본화된 신호에 대해서 양자화과정을 수행한다 ▪ 양자화는 표본화를 통해 검출된 위치에서의 값을 배정하는 과정이다 (즉 입력된 신호를 유한한 개수의 근사 값으로 표현: Round Off) ▪ 비트의 개수가 증가하면 단계가 세밀해져서 입력 신호를 충실하게 디지털로 표현할 수 있으나 용량이 증가하고 잡음 이 포함될 수 있음 ▪ 8-bit로 양자화를 하면 값을 256(28) 단계로 표현할 수 있지만, 16-bit로 양자화를 하면 좀 더 세밀한 65536(216) 단계로 값을 표현할 수 있음 (디지털 사운드는 일반적으로 16 bit로 양자화를 수행함, 고품질의 음질을 얻기위해, 18 bit, 24 bit로 처리하기도 함) 1 Bit Quantization (2 Levels) 2 Bit Quantization (4 Levels) 4 Bit Quantization (16 Levels) ADC와 DAC ■ 부호화(Encoding) • 양자화를 통해 생성된 신호들을 디지털 형태의 정보(Bitstream)로 표현하는 과정을 부호화(Encoding)이라고 함 • 대부분의 경우, 000, 001, 010 등과 같은 이진법으로 표현함 4 Bit Quantization ➔ 0(0000)에서 15(1111)까지 16단계로 부호화 ADC와 DAC ◼ ADC와 DAC 과정의 예 ▪ ADC : Analog-to-Digital Converter ▪ DAC : Digital-to-Analog Converter <CD 오디오 시스템에서의 신호처리과정> Digital 상태에서 편집 가공이 매우 용이 Chap #1 End Thank you^^