ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [2단원] 전자 회로의 조합 논리
    개발 서적/한 권으로 읽는 컴퓨터 구조와 프로그래밍 2021. 11. 14. 13:00
    컴퓨터는 어떤 논리로 비트를 다루는가?

    디지털 하드웨어를 왜 사용해야 하는가

    • 아날로그(analog)디지털(digital)
    • 아날로그는 연속적(continuous)이고 디지털은 이산적(discrete)이다
    • 이산적인 장치는 판정 기준(decision criteria)이 있다
      • 판정 기준의 도입은 값 중에 어떠한 범위의 값을 표현할 수 있는 가능성을 사라지게 한다
    • 하드웨어를 작게 만들수록 성능이 높아진다? = 전자가 이동할 수 있는 횟수를 높인다
    • 하드웨어를 작게 만들면 속도와 효율은 좋아지지만, 물체가 너무 작아지면 간섭이 증가할 수 있다
      • 외부 간섭: 판정 기준을 도입하여 안정성을 높임
      • 내부 간섭: 칩 안에서 선을 통하는 전기신호가 가까이 위치한 다른 선에 영향을 끼치는 경우
      누화(crosstalk) 효과를 방지하기 위해, 더 높은 판정 기준을 통해 잡음 내성(noise immunity)을 가지는 디지털 회로를 사용

    🔑 전이 함수(transfer function) : 미래 값을 예측하기 위해 해당 필드의 과거 값을 사용
    • 하단부 > 직선부 > 상단부
      • 디지털 카메라 센서 전이 함수의 경우,
        • 빛이 곡선의 상단부에 많이 닿으면 기록된 밝기(출력값)이 최대값에 가까워지며 이미지 노출이 과해진다
        • 노출을 조절하여 빛이 직선부(선형 영역)에 최대로 닿도록 하는 것이 목표이다
      • 증폭 회로(amplifier circuit) 개념을 적용

     

    • 증폭 전이 함수
      • 게인(gain) 또는 곡선이 가파른 정도를 조절
      • 게인이 너무 높으면, 왜곡(distortion) 발생
        • 입력이 전이 함수의 선형 영역을 넘어서서 출력이 왜곡됨
        • 이 현상은 연속적인 공간을 이산적인 영역으로 나눠준다
          • 아날로그: 가능한 한 선형 영역을 크게 만드는 것
          • 디지털: 직선부를 가능하면 작게 만드는 것
        • 이 왜곡의 기준점, 즉 판정 기준을 문턱값(threshold)이라 한다

     

    연속적인 공간(아날로그)을 이산적인 영역(디지털)으로 변환함으로서 안정성과 잡음 내성(간섭이 존재해도 제대로 작동할 수 있는 능력)을 얻을 수 있다

     

    • 10진수 대신 비트(2진수)를 사용하는 이유는?
      • 효율적이다 → 더 많은 값을 표현할 수 있다
      • 전이 함수를 10가지 문턱값(threshold)으로 구분할 수 있는 간단한 방법이 없기 때문이다

    전기 이론

    • 직렬 연결(series connection) → AND 연산
    • 병렬 연결(parallel connection) → OR 연산

     

    • 전파 지연(propagation delay) 발생
    • 전기의 이동은 전자의 흐름이 아닌 전자기 에너지 반응이 전파되는 현상을 말한다
    • 전기 선은
      • 내부(유동성이 있는 전자로 구성된)의 금속인 도체(conductor)
      • 금속의 바깥쪽을 둘러싼 부도체(insultor)로 이루어져 있다'
    • 전기의 흐름은 스위치(switch)로 제어한다 -> 도체 사이에 부도체를 삽입하거나 제거하는 방식
    • 옴의 법칙(Ohm's Law)
      • 전류(I)는 전압(V)을 저항으로 나눈 값과 같다
      • 저항이 증가하면, 전류는 줄어든다

    $$I = V/R $$

     

    • 전기 스위치
      • 단극단투(SPST, single-pole and single-throw)
      • 단극쌍투(SPDT, single-pole and double-throw)
      • 쌍극쌍투(DPDT, double-pole and double-throw)
      • 파선: n개의 극이 서로 연계(gangled)되었음을 의미

    비트를 처리하기 위한 하드웨어

      • 릴레이(relay, 계전기)
        • 스위치를 움직이기 위해 전자석을 사용
        • 전원이 공급되면 릴레이 내부의 전자석(코일)에 전류가 흐르고, 자석이 형성
        • 철편을 끌어당겨서 스위치와 전원을 끄고 낌
        • 평상시 열린 릴레이(normally opened relay), 평상시 닫힌 릴레이(normally closed relay)
        • 릴레이를 사용하면 NOT함수를 구현하는 인버터(inverter)를 구현할 수 있다
        • 다이얼에 코일을 2개만 사용하는 단극십투(single-pole, 10-throw) 스테퍼 릴레이(stepper relay)의 원리가 적용
          • 코일 하나는 에너지가 들어올 때마다 접점을 다음 위치로 이동시킨다
          • 다른 코일은 접점을 최초 위치로 돌려보내며 릴레이를 재설정한다
        • 릴레이에서의 전이 함수의 문턱값은 수직이다
        • 릴레이는 느리고 전기를 많이 소모한다
        • 스위치 접점을 사용해 다른 릴레이를 제어한다
          • 코일의 전원을 갑자기 끄면 순간적으로 초고압이 발생(초고압에서는 공기에서도 전기가 통하고, 이로 인해 접점이 마모됨)

     

      • 인버터(inverter)
        • 직류(DC)를 교류(AC)로 변환하는 장치
        • AND회로에서 나온 출력을 OR회로의 입력 중 하나를 구동하도록 연결
        • 스위치가 다른 스위치를 제어하도록 만들 수 있다
      • 진공관
        • 물체를 충분히 가열하면 전자가 튀어나오는 열전자 방출(thermionic emission) 현상을 기반으로 함
        • 캐소드(cathode): 항상 전자가 흘러나오는 장소
        • 애노드(anode): 항상 전자가 흘러 들어가는 장소
        • 히터는 캐소드를 가열하여 전자가 튀어나가게 한다
        • 그리드(grid)는 캐소드에서 나오는 전자를 쫓아내어 애노드에 도착하지 못하게 한다
          • 전기를 소비하는 경우에는 (캐소드, 애노드)=(음극, 양극)
          • 전기를 생산하는 경우에는 (캐소드, 애노드)=(양극, 음극)
            삼극관(triode)
      • 진공관은 움직이는 부분이 없어서 릴레이보다 동작 속도가 훨씬 빠르다
      • 아주 뜨겁고 깨지기 쉽다는 단점이 있다

     

    • 트랜지스터(transistor, transfer register)
      • 반도체(semiconductor, 도체와 부도체 사이를 오가는 물질)를 사용
      • 반도체 물질로 이루어진 기판(substrate) 또는 슬랩(slab) 위에 만들어짐
      • 트랜지스터를 작게 만들면, 도체가 가늘고 얇아지므로 저항이 더 늘어나서 열이 발생
        • 따라서 트랜지스터에서 열을 제거하는 것은 아주 중요한 문제
      • 도핑(dopping)으로 p와 n 유형의 물질로 이루어진 영역을 만들어냄 
      • 쌍극 접합 트랜지스터(BJT, bipolar junction transistor)
        • 전기가 한 방향으로만 흐를 수 있다
        • 베이스(base, 스위치 손잡이), 이미터(emitter), 컬렉터(collector)로 이루어짐  
      • 필드 효과 트랜지스터(FET, field effect transitor)

        • 게이트(gate, 스위치 손잡이), 소스(source), 드레인(drain)
        • 게이트와 트랜지스터의 나머지 부분 사이에 틈이 있음
        • 정전기 효과를 사용하여 스위치를 움직이는 원리

     

    • 집적 회로(integrated circuit)
      • 칩(chip)

    논리 게이트 (Logic Gate)

    • AND, OR, XOR(exclusive OR)
    • 인버터(inverter), 버퍼(buffer)

    interver(위), buffer(아래)

    • NAND/NOR은 트랜지스터를 2개(TTL)나 4개(CMOS) 사용드모르간의 법칙을 이용한 NAND, NOR게이트의 사용
      드모르간의 법칙을 이용한 NAND, NOR게이트의 활용
      • a NAND b = a' OR b'
      • a NOR b = a' and b'

     

    • AND/OR은 NAND/NOR에 트랜지스터를 덧붙여 출력을 반전시켜야 하기 때문에
      • 반응 속도가 느리고
      • 전력 소모량이 더 많다

     

    • 이력 현상을 활용한 잡음 내성 향상
      • 천천히 변하는 입력 신호에 잡음이 있는 경우
        • 잡음으로 인해 입력 신호가 문턱값을 여러번 오가게 되기 때문에 출력 신호에 글리치(glitch, 작은 오류) 발생
        이력 현상(hysteresis)을 사용하여 방지
        • 판정 기준을 이력에 따라 다르게
        • 올라가는 신호(0→1)와 내려가는 신호(1→0)에 대하여 다른 전이 함수를 사용하면 각기 다른 문턱값이 생김
        • 입력 신호가 두 문턱값 중 하나를 넘어간 경우, 반대쪽 문턱값을 지나며 출력이 반전되려면 값이 상당히 많이 변해야 한다는 뜻
        • 잡음 내성이 향상됨

     

    • 차동 신호(differential signaling)
      • 잡음이 많아서 이력을 도입하는 것만으로는 충분하지 않은 경우에 적용
        • 단 잡음이 과도하게 많은 경우는 정격(specific) 작동 범위를 넘어갈 수도 있다
        • 공통 모드 판별비(CMRR, common-mode rejection ration): 처리 가능한 잡음의 양
      • 입력 신호를 반전 관계 출력들(complementary outputs)로 변환하는 드라이버(driver)
      • 두 입력을 받아 단일 신호를 생성해주는 리시버(receiver)
      • 측정값이 반전 관계(complementary)인 신호 쌍의 차이를 측정
      ex) 연선 케이블링(twisted-parir cabling): USB, 이더넷 케이블

     

    • 전파 지연(propagation delay)
      • 입력의 변화가 출력에 영향을 미칠 때까지 걸리는 시간
      • 논리 회로의 최대 속도를 제한하는 요소 중 하나
      • 실제 지연값은 게이트의 최소~최대 지연 사이의 어떠한 값

     

    • 게이트 출력 유형
      • 오픈 컬렉터(open-collector) 출력
      • 트라이스테이트(tri-state) 출력
      • 토템폴(totem pole) 출력

    게이트를 조합한 복잡한 회로

    • 소규모 집적회로(SSI, small-scale integration)
    • 대규모 집적회로(LSI, large-scale-integration)

     

    • 가산기(adder)
      • 반가산기(half-adder): XOR 게이트, AND 게이트
      • 전가산기(fulll-adder): (다른 자리에서 올라오는) 올림까지 처리
      • 리플 자리올림 가산기(ripple-carry adder): 아래쪽 비트로부터 위쪽 비트로 순차적인 자리올림을 처리
        • 올림 예측 가산기(carry look-ahead adder)를 사용하여 출력 지연을 방지
        • 계산 속도와 전력 소모 사이에 trade-off 관계가 존재할 수 밖에 없음

     

    • 디코더(decoder)
      • 인코딩된 수를 개별 비트의 집합으로디코더 schemetic 기호
        3:8디코더

     

    • 디멀티플랙서(demultiplexer)
      • 디먹스(dmux)
      • 입력을 몇 가지 출력 중 한 곳으로 전달
      • 디코더 + E(enable신호)

     

    • 멀티플렉서(multiplexer)
      • 셀렉터(selector)
      • 여러 입력 중 하나를 선택

     

    댓글

Designed by Tistory.