전공/디지털 논리

13강 Beyond Digital (아날로그, 양자컴퓨터,HDL등등)

뜨거운 개발자 2023. 5. 24. 22:06

아날로그 신호

  • 자연스러운 신호는 아날로그 신호이다.
    • 예: 빛, 소리, 열(온도), 압력
  • 아날로그 신호 관찰 방법? 센서로 감지한다.
    • 주변 환경의 이벤트 또는 변화를 감지하는 장치
    • 예 ) 카메라, 마이크, 온도계, 기압계…

아날로그 전압을 디지털로 변환하는 방법? 아날로그-디지털 컨버터(ADC)

  • 아날로그 전압 또는 전류를 디지털 숫자로 변환하는 전자장치

디지털 데이터를 아날로그로 변환하는 방법? : 디지털-아날로그 변환기 (DAC)

  • 디지털 번호를 아날로그 신호로 변환하는 전자장치
  • 스피커로 소리를 출력하는 경우 예시
  • 입력 신호에 따라서 전압을 설정해줘서 그 값을 출력해줍니다.
    • 그 전압으로 스피커를 움직이게 해줘서 소리를 내개 해준다.

디지털 전자 컴퓨터

  • 우리는 PC, 노트북, 스마트본 등과 같은 디지털 전자 컴퓨터를 사용했다.
  • 디지털 컴퓨터 이자 전자 컴퓨터란?
    • (디지털)유한한 숫자의 이산 상태, 특히 전자 전압 상태를 전자 전압 레벨을 사용해서 정보를 나타낸다.
    • (전자 컴퓨터)전자 회로를 사용해서 정보를 처리한다.
  • 일반적으로 이진(예 : 0 ~5V) 이며 트랜지스터(전자 스위치)를 기반으로 하는 논리게이트(NOT/AND/OR 게이트)로 구현된다.
    • 수학적으로 부울대수로 공식화 할 수 있다.

양자 컴퓨터 (디지털 컴퓨터를 벗어난 컴퓨터)

  • 양자 컴퓨터는 양자 역학을 사용해서 정보를 처리한다.
    • (벡터를 이용해서 표현하기 때문에 정보를 매우 많이 표현 할 수 있다.
    • 양자 컴퓨터는 비트가 아니라 a qubit (quantum bit),을 사용해서 표현한다.
  • 기존 컴퓨터와 동일한 연산 능력을 갖추고 있다.
    • 튜링 머신 논리를 따른다.
    • 양자 컴퓨터는 기존 컴퓨터가 풀 수 있는 모든 문제를 해결 할 수 있고, 기존 컴퓨터도 양자 컴퓨터가 풀 수 있는 모든 문제를 해결 할 수 있다.
  • 다만 기존 컴퓨터보다 훨씬 낮은 시간복잡성으로 특정 문제를 해결 할 수 있다.
    • 공개 키 암호화.
    • 일반 컴퓨터는 10^n 이 걸리는데 양자 컴퓨터는 n^2으로 풀 수 있다.

하드웨어 설명 언어 (HDL)

  • 지금까지 우리는 조합 논리 회로 등 k-map 불린 대수 등을 이용해서 논리 회로를 구현 하는 방법을 배웠다.
    • 다만 실제 산업현장에서는 이런 방법을 하는게 그렇지 않습니다.(k-map 노노)

  • 칩을 찍어내기 전에 FPGA 를 먼저 만들어보고 그리고 프로그래밍으로 만들고 한다.
  • 우리는 HDL프로그래밍을 이용해서 코드를 짜기 떄문에 직접적으로 K-map를 쓰거나 하지 않는다.
  • 하드웨어 설명 언어 (HDL) 를 이용해 현업에서 쓰기 때문이다.
  • 이 언어는 전자회로, 특히 디지털 논리 회로의 구조와 동작을 설명하는 프로그래밍 언어(텍스트)이다.
  • 예시로 VHDL 을 사용해서 ALU를 만드는 코드를 보여준다.
  • 저렇게 코드를 만들어서 시뮬레이션 하고 프로그램을 칩에 구울 수도 있다.(시험에는 X)
  • 복잡한 일을 하는 FPGA를 만들 수 있는데 다만 이것도 칩에 비해서는 싸지만 그래도 비싸다.
  • 그래서 더 일반적으로 마이크로 컨트롤러를 사용한다.

마이크로컨트롤러 (MCU)

  • 단일 칩의 소형( + 저가형)컴퓨터
  • 여기에는 CPU, 메모리 및 프로그래밍 가능한 입력/출력 주변 장치가 포함되어 있다.
  • 아주 작은 컴퓨터로 아주 싸게 복잡한 일을 할 수 있도록 한다.
    • 일반적으로 펌웨어를 만들어서 사용한다.

마이크로 컨트롤러의 고급 대안(조금 더 좋은 것)

디지털 신호 프로세서 (DSP)

  • 보다 무거운 연산 (예: 디지털 신호 처리를 위한 부동 소수점 연산)을 위한 특수 마이크로 프로세서이다.
  • 조금 더 복잡한 연산을 할 수 있는 것이다.
  • 개발 : 크로스 컴파일러에 의한 펌웨어(마이크로 컨트롤러와 유사)

싱글 보드 컴퓨터 (SBC)

  • 단일 보드에 구축된 완벽한 컴퓨터
    • CPU, 메모리, 입력/출력, GUP, 이더넷, USB 가 포함된다.
  • 개발: OS 및 크로스 컴파일러에서 실행되는 애플리케이션 프로그램 (운영체제를 설치해서 사용할 수 있다.)
  • 예: 라즈베리 파이(OS: 라즈베리 파이 OS), 스마트폰(OS: 안드로이드, iOS)

FPGA를 사용해서 하는 것보다 훨씬 싼 가격으로 복잡한 일을 할 수가 있는 것이다.

로직과 프로그래밍을 벗어나는 개념

Neural Network (인공 신경망)

  • 다양한 입력을 받고 입력에 따른 가중치를 더해서 함수를 만든다.
  • 이렇게 여러개의 신경망을 만들어서 학습시킨다.
  • 생물학적 신경망에서 영감을 받은 컴퓨팅 시스템이다.
    • 머신러닝을 사용하는 것이 귀납법 방식이다.
    • 우리가 쓰는 로직설계는 연역법적 방법이다.
  • 진리표가 없음에도 입력과 출력 예시만을 이용해서 사용가능하다.
  • 또한 주어진 데이터가 2진수가 아니라 실수인 경우에도 사용가능하다.

마지막 요약

  • 프로그래밍은 소프트웨어 개발에만 중요한 것이 아닙니다. 뿐만 아니라 하드웨어 설계 및 개발에도 사용됩니다
  • 머신 러닝이 더 효과적일 때가 있습니다. 명확한 규칙, 모델 및 알고리즘이 없는 경우.

Uploaded by N2T

728x90