논리회로 chap 9. MSI Logic Circuits

2023. 12. 4. 23:11컴퓨터공학 전공공부/논리회로

9-0. MSI

MSI란?

medium-scale integration의 약어로, 중간 규모의 통합을 의미한다. 수백에서 수천 개의 전자 부품(트랜지스터, 저항기, 캐패시터 등)을 하나의 칩에 통합한 것을 의미한다. 이 범주는 소규모 통합(SSI)와 대규모 통합(LSI) 사이에 위치한다.

 

9-1. 디코더

디코더란?

디코더란 한 출력이 특정한 입력들의 조합에 의해서만 이루어질 때 사용한다. 카운터나 레지스터의 출력에 대해서 작동한다. 이진수를 나타내는 입력들을 받는다. 

특정한 입력의 조합에 대해 하나의 output만이 active일 것이다.

디코더는 특정한 입력의 조합에 대해 하나의 결과만이 active(HIGH)하며, 나머지는 LOW이다. 많은 디코더들은 active-LOW output을 만들게끔 설계되었다. 즉, 하나의 선택된 output만이 LOW, 나머지는 HIGH 상태인 것이다.

 

3개의 입력과 8개의 출력을 갖는 디코더

  • 0부터 7까지의 출력이 모두 AND 게이트를 사용하기 때문에, active-HIGH이다.
  • O6의 경우 CBA가 1102 = 61010일 때 HIGH이다.
  • 3-line-to-8-line 디코더, binary-to-octal 디코더(컨버터), 1-of-8 디코더라고도 불린다.

 

enable 입력을 갖는 디코더

디코더는 하나 혹은 그 이상의 enable 입력을 가질 수 있다. enable 입력은 디코더의 작동을 제어한다.

enable 작동의 한 예로, 각각의 게이트의 입력단자 4개에 공통 enable 선이 연결되어 있다고 가정해보자. 이 경우 enable 입력이 HIGH면, 디코더는 정상적으로 동작한다. 즉, A, B, C 입력이 결과가 HIGH일지, LOW일지 결정한다. 한편 enable 입력이 LOW면, A, B, C 입력과 상관없이 결과는 항상 LOW이다.

 

디코더 예시

74ALS138 디코더 / 7442 BCD-to-decimal 디코더 : enable 입력 없음
7445 BCD-to-decimal 디코더(드라이버)

  • 7445 BCD-to-decimal 디코더
    • indicator(LED, 램프, 릴레이, dc 모터 등)과 같은 load를 직접 구동하기에 적합하다.
    • 드라이버라고도 불린다. : 이 IC에는 일반 TTL 출력보다 높은 전류/전압 한계에서 작동하는 개방형 수집기 출력이 있기 때문에 드라이버라고도 불린다.

 

9-2. BCD-to-7 Segment 디코더/드라이버

7-segment 표현

7-segment 표현은 10진수, 16진수를 표현하는 데에 보편적인 방법이다. 각각의 segment에 LED(light emitting diodes)를 달아 표현하는 방법이 보편적이다. 각각의 segment에 가는 전류를 제어해 빛나게 하거나(turn on), 빛나지 않게 하는(turn off) 것이다.

 

BCD-to-7 segment 디코더/드라이버

위 방식은 공통 애노드(common-anode) LED 표현 방식이다. 모든 세그먼트의 애노드들이 VCC에 묶여있기 때문이다.

공통 캐소드(common-cathode) 방식도 있는데, 이 방식은 각각의 세그먼트가 10~20 mA라는 큰 전류를 요한다. 따라서 TTL이나 CMOS 소자는 보통 공통 캐소드 표시기에는 직접 연결해 사용할 수 없으며, transistor interface circuit을 사용해 연결한다.

 

9-3. LCDs (Liquid Crystal Displays)

LCD란?

LCD는 주위의 실내 조명이나 햇빛 같은 빛이 표시 장치에 비춰질 때 반사를 이용해 표시한다. 빛은 디스플레이 장치의 일부인 작은 광원에 의해 제공될 수 있다. (백라이트 LCD가 이 방법을 이용한다.) LED와 비교하여 전력을 매우 덜 소모하기 때문에 사용성이 높다. 한편 LED는 LCD보다 훨씬 밝다는 장점이 있다.

 

LCD의 기본 작동

segment와 backplane 사이에 전압을 인가하면 segment가 켜진다. 전압이 0이면 segment가 꺼진다.

 

LCD와 7 segment 10진수 표현

segment와 backplane에 out-of-phase square waves(위상외 사각파)를 인가하여 교류 전압을 생성한다.

LCD는 7 segment 10진수 디스플레이로 사용할 수 있다. 숫자식의 LCD 모듈은 40개의 character로 이루어진 4개의 줄까지 표현할 수 있다. 더 나아가 다른 LCD 모듈을 통해 픽셀이라 불리는 개별의 점들을 제어할 수 있고, 이를 통한 그래픽 디스플레이 표현도 가능하다.

 

9-4. Encoders

encoder(인코더)란?

대부분의 디코더는 여러 입력의 조합을 통해 하나의 출력을 내놓는 체계이다. 이러한 decoding 과정의 반대가 encoding이며, encoding은 인코더에 의해 수행된다. encoding의 경우 입력은 단 하나만 들어오고, 입력에 따라 출력의 조합이 결정된다. 입력들은 대개 active-HIGH이며, 보통의 경우 LOW에 있다.

 

octal-to-binary (8-line-to-3-line) 인코더

여덟 개의 입력 라인에 의해 세 비트의 출력 코드가 생성된다.

 

priority encoder (우선 순위 인코더)

만약 두 개 이상의 입력이 들어온다면, 출력 코드는 가장 높은 숫자의 입력에 의해 결정된다.

10진수 1~9를 나타내기 위한 9개의 active-LOW 입력이 있으며, 활성화된 입력 중 최상위 비트 입력에 대응한 역변환 BCD 코드를 출력한다.

  • 74147 decimal-to-BCD 우선 순위 인코더
    • 1줄 : 모든 입력단이 non-active(HIGH상태). 따라서 출력은 0000의 역인 1111이 나온다.
    • 2줄 : A9(bar)이 LOW, 다른 입력 상태는 무시하여 1001(BCD 9)의 역인 0110이 나온다.
    • 3줄 : A8(bar)이 LOW, A9(bar)은 HIGH, 다른 입력 상태는 무시하여 1000(BCD 8)의 역인 0111이 나온다.

 

스위치 인코더

스위치 인코더의 가장 대표적인 예는, 0부터 9까지 나타내는 계산기의 키보드 스위치이다. 만약 키가 눌리면, 그 수에 맞는 BCD 코드를 회로가 만들 것이다.

 

9-6. Multiplexers (멀티플렉서, 데이터 선택기)

multiplexer란?

multiplexer(MUX)는 N개의 입력 데이터들 중에서 하나를 선택하는 기능을 한다. 데이터 선택기라고도 불린다.

멀티플렉서 기본동작 / 입력이 두 개일 때, 하나의 MUX를 이용

입력이 두 개일 때, 하나의 MUX를 이용한다. 같은 방식으로 입력이 4개면 MUX 2개, 입력이 8개면 MUX 3개, 입력이 16개면 MUX 4개를 이용한다.

 

9-7. Multiplexer 응용

두 개의 카운터를 한 번에 표현

두 개의 multidigit BCD counter를 한 번에 하나씩 표현

 

Parallel-to-Serial 컨버터

 

논리 함수의 보충

어떤 게 높은 자리인지, 낮은 자리인지 유의해서 A, B, C를 S0, S1, S2와 연결해야 한다.

 

9-8. Demultiplexers (디멀티플렉서, 데이터 배포기)

demultiplexer란?

demultiplexer(DEMUX)란 multiplexer의 반대 개념이다. 즉 입력 하나를 받고 그것을 여러개의 출력에 배포한다.

디멀티플렉서 기본동작

 

demultiplexer 예시 : 74ALS138

door 하나하나가 센서이며, 닫히면 0(LOW), 열리면 1(HIGH)이다. / 왼쪽을 쉽게 그리면 오른쪽과 같다!

 

데이터의 송수신

  • 데이터의 송신
    • 송신기에서 수신기로, 연속적으로 4비트 워드를 전송하기 위해 사용되는 동기식 데이터 전송 시스템
    •  

  • 데이터의 수신
    • 동기식 데이터 전송 시스템 수신기 블록
    •  

수신하지 않을 땐 enable을 disable 상태로 두어 데이터를 보존한다. / 오른쪽과 같은 순로 수신된다.

  • 송수신 시뮬레이션
    •  

 

9-10. 크기 비교자

magnitude comparator (크기 비교자)

MSI의 한 종류로, 두개의 입력 이진 값을 비교한다.

높은 자리부터 비교

 

크기 비교자 활용 : 디지털 온도 제어기

감지된 온도 > 지정 온도면 꺼짐

 

9-11. 코드 변환자

2자리 BCD-binary converter

두 자리 십진수를 이진수로 바꾸는 변환자이다. 최대값이 9910이므로 7자리가 필요하다(이진수).

BCD-binary converter
BCD 비트는 각 코드 그룹 내에서 8, 4, 2, 1인 10진수 가중치를 갖는다.
BCD-binary converter의 구현 : 이진 덧셈 회로 이용

 

9-12. Data busing

bus의 예

 

data bus

컴퓨터에서 데이터 전송은 데이터 버스라고 불리는 공통 연결선 집합을 통해 이루어진다. 데이터 버스로 묶인 기기들은 보통 데이터를 저장하는 레지스터(대개는 플립플롭)을 가지며, 세 가지 상태의 출력을 갖는다.

 

세 개의 기기로 이루어진 버스

세 개의 기기로 이루어진 기기들은 8비트 데이터를 8줄 데이터 버스에 송출한다. 한 시간에 한 개의 기기만 활성화되므로, bus contention(버스 충돌)은 방지된다.

 

9-13. 74ALS173/HC173 : 세 가지 상태의 레지스터

세 가지 상태

세 가지 상태는 0, 1, High Impedence(z)로 이루어진다. 여기서 impedence란 저항이고, high impedence란 높은 저항 즉 절연 상태를 의미한다. (공기 등)

 

74ALS173

 

9-14. 데이터 버스의 동작

데이터 버스의 동작

오른쪽이 간소화된 표현이다. 한 레지스터가 입출력을 동시에 하지 않으므로, 입출력 선을 구분해 가질 필요는 없다.

세 개의 레지스터들 중 어느 하나의 내용은 레지스터 enable 입력들에 대한 logic level의 적절한 적용 후 데이터 버스를 통해 다른 레지스터들 중 하나로 병렬 젼송될 수 있다.