2장 - 전자 회로의 조합 논리
- 컴퓨터는 어떤 논리로 비트를 다루는가
비트
초기 계산 장치
하드웨어 : 비트에 대해 동작하는 모든 물리적인 장치
-> 이 중 조합 논리 combinational logic을 구현한 하드웨어
디지털 컴퓨터의 사례
아날로그와 디지털의 차이
아날로그 analog : 연속적인 것. 실수를 표현할 수 있음
디지털 digital : 이산적 discrete. 하나하나 다른 존재로 구분된다.
하드웨어에서 크기가 중요
하드웨어에서는 전자를 움직이는 물리적 한계 때문에,
부품을 가능한 한 가깝게 위치시키는 것이 중요하다.
그래서 컴퓨터에서는 작게 만들려고 함.
컴퓨팅 장치의 역사는 하드웨어를 작게 만들려는 노력으로 점철되어 있다.
디지털을 사용하면 더 안정
잡음 내성을 갖는 디지털 회로를 사용하는 것이 필수적이다.
0과 1을 구분하는 판정 기준을 도입함으로써 생기는 안정성이 디지털 컴퓨터를 만드는 주된 이유임.
아날로그 세계를 조작해서 안정적인 디지털 계산 장치를 만들어낸다.
아날로그 세계에서 디지털 만들기
전이 함수 transfer function
전이 함수를 활용해서 온갖 트릭을 만들어왔다.
amplifier circuit, 카메라의 셔터 속도, 조리개 조절 장치 등
gain : 곡선이 가파른 정도
diftortion : 증폭기가 고정된 값으로 수치를 조절한다면, 왜곡이 발생한다.
threshold : 판정 기준으로 삼는 역치
10진 숫자 대신 비트를 사용하는 이유
여러 가지 이유가 있지만,
0-1 전이 함수를 구현하는 것이
0-1-2-3-4-5-6-7-8-9 전이 함수를 구현하는 것보다 쉽다.
차단 cutoff
포화 saturation
간단한 전기 이론 가이드
컴퓨터 하드웨어에서는 전기를 어떻게 사용하는가?
전기는 수도 배관과 유사하다
수도 배관은 밸브를 이용해서 밸브를 열고(1) 닫는다(0)
이를 통해 에너지를 공급한다.
두 밸브가 모두 열려있어야 전기가 공급되는 형태를 직렬 연결 series connection이라고 한다.
이는, AND(a1, a2) 연산이다.
두 밸브 중 하나만 열려있으면 되는 연산은 병렬 연결 parallel connection이다.
이는, OR(a1, a2) 연산이다.
전파 지연 propagation delay : 상수보다는 함수에 가까움
도체 conductor : 유동성이 있는 전자가 가득한 금속
부도체 insulator : 금속 바깥쪽 부분
스위치 switch : 전기의 흐름을 제어함
전기는 pressure에 의해서 움직이며, 전기에서는 이를 전압 voltage(V;Volt)라고 한다.
전기 흐름의 양은 전류 current (I;ampere A)라고 한다.
물의 양을 제한하는 저항이 있고.. 이는 resistance(옴 ohm)이다.
전기 스위치
circuit : 전기 시스템을 표현하는 방식. 스키메틱 schematic diagram으로 문서화
schematic diagrams
회로 circuit : voltage source, light bulb
비트를 처리하기 위한 하드웨어
릴레이
릴레이 relay는 스위치를 움직이기 위해 전자석을 이용하는 장치이다.
단극단투 릴레이?
normally open relay : 전력이 들어가지 않을 때 열려있는 스위치
normally closed relay : 전력이 없을 때 스위치가 닫혀있는 릴레이
두 릴레이를 조합해서 논리 함수를 만들어낼 수 있다. AND와 OR NOT
릴레이를 이용해서 stepper relay를 만들어냈다.
릴레이에서는 전이함수의 임계값이 수직이다.
진공관
열전자 방출 현상으로 진공관을 만들었다.
캐소드 : 야구 투수 역할
히터 : 캐소드 가열
그리드 : 진공관의 타자 역할
애노드 : 포수
삼극관 : 캐소드, 그리드, 애노드 (전자는 캐소드에 의해 그리드가 방해하지 않는 한 애노드로 날아간다)
트랜지스터
Transistor : 전송 저항 transfer resistor의 줄임말
semiconductor 반도체를 이용한다.
집적 회로
integrated circuit
논리 게이트
logic gate = gate : 1960년대에 발명된 집적 회로 - 논리 연산을 수행하는 회로가 들어가있음
논리 설계자는 기본적으로 AND/OR/XOR/NOT(inverter)가 있다.
NAND : Not And
NOR : Not Or
=> 가장 기본적으로 사용하는 게이트 (효율적이라서)
-> 게이트를 사용할 때 발생할 수 있는 문제들
이력 현상을 활용한 잡음 내성 향상
- 천천히 변하는 신호를 어떻게 처리해야할까?
0.5가 출력의 0 1을 나누는 기준인 신호가 있다고 하자.
만약 입력 신호에 잡음이 있어서 0.4와 0.6 사이에서 진동한다면,
출력 신호에 글리치(glitch, 작은 오류)가 발생한다.
이를 이력 현상 hysteresis를 이용해서 방지할 수 있다.
-> 올라가는 신호, 내려가는 신호로 파악해서 0, 1을 결정하는 방식이다.
이력 현상을 활용한 게이트에는 슈미트 트리거가 있다(비효율적/비쌈)
차동 신호 dirrerential signaling
차동 differential : 차이나 격차
신호를 쌍으로 묶어서 파악한다.
두 신호의 차이를 바탕으로 값을 파악하고 신호를 보낸다.
차동 신호 differential signaling : 상대적으로 비트가 결정되는 두 신호를 묶어서 신호를 보내는 방식
차동 신호는 특히 서로 반대되는 작용을 하는 신호 쌍의 차이를 측정한다.
반전 관계 complementary
반전관계 출력들 complementary outputs
전파 지연
전파 지연 propagation delay란, 입력의 변화가 출력에 영향을 미칠 때까지 걸리는 시간을 의미한다.
논리 회로의 속도를 제한하는 요소
그렇기 때문에 최대 지연값, 최소 지연값을 고려해서 설계해야 함
출력 유형
토템폴 출력 totem pole
: 일반적인 게이트 출력
: 엑티브 출력 - 출력 1을 얻기 위해 출력과 1을 연결한다
오픈 컬렉터 출력 open collector
: 액티브 출력 방식이 없다.
트라이스테이트 출력
게이트를 조합한 복잡한 회로
NAND와 같은 게이트를 조합해서 더 큰 조합을 만들어냈다.
중간 규모 집적 회로 MSL Medium-Scale Integration
대규모 집적 회로 LSI Large-Scale Integration
초대규모 집적 회로 VSLI very-Large-Scale Integration
가산기 adder (2의 보수 adder 1 + 1 = 1 0)
- Half Adder
XOR, AND 게이트를 이용해서 (XOR : SUM, AND : 올림)
두 비트를 더하는 가산기를 half-adder라고 한다.
- Full Adder
세 비트를 더하는 것까지 고려한 것이 full-adder
- ripple-carry adder
n자리 비트를 더하는 ripple-carry adder
아래부터 위쪽 비트까지 올림값이 계속 연결된다.
디코더 decoder
디코더 : 인코딩된 수를 비트로 표현
ex) 3비트짜리 8진수를 받아와서 8비트 2진수로 변환하는 3:8 디코더
디멀티플렉서 demultiplexer
줄여서 demux
입력을 몇 가지 출력 중 한 곳으로 전달하기
실렉터 selector
multiplexer = selector = mux
여러 입력 중 하나를 선택하는 기능
정리
비트를 이용해 하드웨어를 만드는 이유
논리 설계 기호와 논리 부품을 조합해서 복잡한 장치를 만들어낸다.
- 조합 논리 장치의 출력 = 이 장치 입력의 함수
- 순차 논리 : 무언가를 기억하기 위해 사용한다.
'Computer Science > 컴퓨터구조' 카테고리의 다른 글
한 권으로 읽는 컴퓨터 구조와 프로그래밍 | 3장 메모리와 디스크의 핵심 : 순차 논리 (0) | 2022.04.11 |
---|---|
회로도 기호 모음 (0) | 2022.04.08 |
한 권으로 읽는 컴퓨터 구조와 프로그래밍 | 15장 훌륭한 프로그래머가 되기 위한 팁과 경험담 (0) | 2022.04.07 |
한 권으로 읽는 컴퓨터 구조와 프로그래밍 | 1장 컴퓨터 내부의 언어 체계 (0) | 2022.03.24 |
논리설계 (0) | 2022.03.11 |