방송대_디지털논리회로_1강

빡커·2025년 3월 17일
0

1장 컴퓨터와 디지털 논리 회로

01 디지털 시스템

시스템의 정의

시스템: 어떤 목적을 위해 서로 상호작용하는 구성요소들의 집합.

컴퓨터 시스템, math 시스템, 사회 시스템 등등

시스템을 사용하는 사용자의 관심 정도에 따라서 얼마나 상세하고 디테일하게 분석할지가 달라진다

시스템의 분류
1. 블랙 박스형 시스템: 가장 단순한 형태. 입력과 출력만이 관심 있음.일반 사용자가 주로 관심 대상이다.
2. 구성요소의 집합으로서의 시스템: 외부 입력을 어떻게 출력으로 반환할지. 그 전개 방식에 관심이 있는 사람들의 시스템 분류법. 프로그래머는 컴퓨터 시스템을 바라볼때 구성요소의 집합으로서 분류할 줄 알아야 함.

아날로그와 디지털

컴퓨터 시스템 뿐만 아니라 여러 시스템들은 구성요소들을 가지고 있는데 보통 데이터라는 요소가 있다. 그 데이터를 표현하는 방식에는 아날로그와 디지털이 있음

아날로그 방식

  • 연속적인 값. 값을 정확히 읽을 수 없는 개념이 존재함. 예를들어 무한소수
  • 수학 시스템, 자연 시스템 등
  • 아날로그 측정기(체중계, 전력 사용량 검출기), 라디오 주파수 다이얼(아날로그 방식의 경우엔 정확히 정수로 떨어지는 값이 아닌 무한 소수 값들도 맞추는게 가능)

디지털 방식

  • 명확히 나뉘는 값인 이산 값(Discrete Value) 개념. 예를들어 정수
  • 정수 시스템, 컴퓨터 시스템 등
  • 컴퓨터의 경우엔 특정 값을 2가지를 놓고, 0~0.4V 까지는 그냥 0 , 2.5~5V까지는 그냥 1로 딱딱 끊어서 해석한다.

아날로그 시스템디지털 시스템
입력과 출력이 아날로그 데이터인 시스템입력과 출력이 디지털 데이터인 시스템
눈금과 바늘 등으로 값을 확인하는 계기 시스템들정확한 값이 딱 떨어지는 전자식 계기 시스템
-----------

디지털 시스템의 장점

  • 편리성: 데이터가 숫자로 바로 입출력이 되어 인식이 편리하다
  • 융통성: 외부 조건의 변화에 융통적으로 실행 순서 조절이 가능
  • 단순성: 0과 1, 두 가지 상태의 신호만 취급하기에 자연계를 표현하기에 단순해진다.
  • 안정성: 0과 1, 두 가지 상태의 신호만 유지하면 되기에 그 사이 무수히 많은 변수에 대하여 안정
  • 견고성: 0과 1, 두 가지 상태로 전송되어 중간 잡음에 대하여 견고
  • 정확성: 신호를 이산 신호로 변환하기에 상대적으로 오류에 정확

디지털 시스템의 설계 및 논리회로

  • 디지털 시스템 설계 전체 단계
    요구사항 분석 -> 사양정리 -> 디지털 시스템 설계 -> 프로토 타입 제작 -> 테스트 및 디버깅 -> 생산

  • 디지털 시스템 설계 단계의 구체적인 순서
    회로 설계 -> 논리 설계 -> 시스템 설계 -> 실제적 설계

회로 설계(curcuit design): 논리 소자(logic gate)를 만들기 위해 능동소자와 수동소자를 연결하는 단계 -> 생산물: 논리소자 -> 마치 원시 타입, 원시 함수를 만드는 것과 비슷

논리 설계(logic design): 논리회로를 만들기 위해 논리소자들을 연결하는 단계 -> 생산물: 논리 회로 -> 마치 사용자 클래스들 같은 느낌쓰

시스템 설계(system design): 논리회로, 기억장치 등을 조합해서 프로세서, 입출력 제어장치 등을 설계하는 단계 -> 생산물: 디지털 시스템 -> 전체 프로그래밍 같은 느낌

실제적 설계(physical design): 시스템 설계 단계의 결과물을 PCB기판이나 와이어랩에 설치하는 단계 -> 생산물: 디지털 시스템의 실물화 -> 프로그램 빌드해서 실행파일 만들어서 설치하는 느낌

용어가 너무 햇갈린다

회로설계(논리 소자를 만듬) -> 논리설계(논리 회로를 만듬) -> 시스템 설계(디지털 시스템을 만듬) -> 실제적설계(제품을 만듬)

이 기본골자를 가져간 채로 들어간다.

디지털 논리회로의 개요

  • 디지털 논리 회로란?
    - 디지털 논리 개념을 논리 게이트를 이용하여 구현한 것
    - 즉 하나 이상의 논리 게이트(논리 소자)들이 조합되어 만들어지겠지
    - 논리 설계 단계의 결과물이고, 만들어진 결과물인 논리 회로가 디지털 시스템의 가장 작은 단위의 기본 요소
    - 즉 논리 회로까지도 안가면 디지털 시스템에 끼지도 못한다. 즉 간단한 논리 게이트는 그냥 수단일뿐 실질적 의미는 논리 회로가 만들어져야 시스템의 부품으로서 그 역할을 하게 된다.
  • 저장 요소의 유무에 따른 분류
    - 조합논리회로: 저장요소 없이 연산만 하겠지 -> 가산기, 디코더
    - 순서논리회로: 저장요소가 있어야 순서를 조작하지 -> 레지스터, 카운터

02 컴퓨터 구성

컴퓨터 시스템

  • 전자식 데이터 처리 시스템(Electronic Data Processing System)이라고 한다.
    - 기본요소 : 사람, 하드웨어, 프로시저, 소프트웨어, 데이터
    - 위 중 하나도 없다면 시스템의 기본 요소가 없는 것이므로 의미 없는 시스템이 된다.
    - 이 중에서 사람이 제일 의미 없어 보이긴 하는데 24시간 자동으로 돌아가는 시스템이라도 사람이 입력을 통해 동작을 시킨거고, 인공지능도 같은 맥락이므로 컴퓨터 시스템의 기본요소에는 사람이 들어간다.

  • 컴퓨터를 시스템 측면에서 분석: 컴퓨터 공학에서 바라볼때의 기본
    - 구성요소는 무엇인가?
    - 각 구성 요소는 어떤 기능을 갖는가?
    - 입출력은 무엇인가?

컴퓨터 하드웨어 구성

입력장치, 제어장치, 기억장치, 연산장치, 출력장치

03 집적 회로

집적회로(IC: Intergrated Circuits)의 개요

  • 집적회로(IC or Chip or sillicon semiconductor crystal)
    - 디지털 회로의 구성 요소
    - 디지털 게이트의 기능을 수행하는 전자 소자를 포함한 실리콘 반도체 크리스탈
    - 내부에 여러 게이트들이 목적에 부합되도록 상호 연결되어 있는 상태
    - 즉 이 자식은 논리 설계 단계의 부산물로 디지털 시스템의 기본 구성 요소이다.

  • 집적도(level of intergration)
    - 실리콘 칩의 단위 면적당 집적할 수 있는 전자 소자(gate)의 수를 표현하는 개념

집적도소자 수
소규모 집적(Smal Scale Intergration)계산기, 전자시계
중규모 집적(Medium SI)레지스터, ALU, 디코더, 멀티플렉스
대규모 집적(Large SI)초기 마이크로프로세서, 메모리 칩
초대규모 집적(Very Large SI)현대 마이크로프로세서, GPU, SoC
  • 디지털 논리계열(Digital Logic Famillies)
    - 게이트를 만들때 기술이나 전압 전류 등 여러 특성들 중 비슷한 애들끼리 묶는 개념.
    - 정의: 디지털 논리 회로 설계에 사용되는 논리 소자의 집합
    - 아래 표는 이런게 있다 정도만 알고 넘어가
디지털 논리계열응용 분야대표회로
TTL(Transistor-Transistor Logic)초기 디지털 컴퓨터NAND 게이트
ECL(Emitter-Coupled Logic)고속 통신 시스템NOR 게이트
NMOS(N-channel Metal-Oxide-Semiconductor)초기 마이크로프로세서NAND 게이트
CMOS(Complementary Metal-Oxide-Semiconductor)현대 마이크로프로세서인버터

양논리와 음논리

  • 양논리와 음논리
    - 디지털 시스템은 크기 2가지 논리 시스템을 사용한다.
    - 논리값에 대하여 실제 논리를 어떤 전기적 신호값을 사용할지 선택하는 방식.
    - 양논리: 높은게 1, 낮은게 0
    - 음논리: 높은게 0, 낮은게 1

2장 데이터 표현

2-1 수치 데이터

2-1-1 진법

  • 진법 정의: 수를 특정 기수(base)를 기반으로 숫자의 조합으로 표현하는 체계
    - 기수: 진법에서 자리값의 기준이 되는 값. 한 자리에서 표현할 수 있는 숫자의 크기(or 개수)
    - 숫자의 위치에 따라서 각 숫자가 실제 값을 결정함.
    - 가중치: 자리수. 기수의 승수로 계산.
  • r 진법
    - 기수가 r인 경우 r진법. r진법으로 표현된 수를 r진수
    - 각 자리는 r개의 숫자가 올 수 있음 (0~r-1)
    - r진수 오른쪽 아래첨자로 기수 r을 표현
  • r 진법을 10진법으로 바꾸는 법 -> 그냥 곱해서 더해
  • 컴퓨터에서의 대표적인 진법
    - 2진수(Binary)
    - 전기 신호의 ON/OFF 를 표현하기 가장 유리한 숫자 체계
    - 8진수(Octal)
    - 2진수를 축약하기 좋음
    - 리눅스의 파일권한 정보가 3비트이고 3비트를 한 숫자로 표현하기 위해 8진수로 요약됨
    - 16진수(Hexadecimal)
    - 헥사코드. 메모리 주소, 색상 코드 등 2진수를 변환하면서 동시에 현대 알파벳과 결합하여 표기하기 좋은 진법
  • 10진수를 r진수로 변환: 2진수로 변환한뒤에 역으로 8진수 16진수 등으로 변환
    - 정수부: 2로 계속 나눈 나머지를 나열
    - 실수부: 실수부가 0이 될때까지 계속 2를 곱하면서 나온 정수 자리를 나열
    - 8진수는 2진수 3자리씩
    - 16진수는 2진수 4자리씩
  • 산술연산
    - 그냥 10진수로 변환후에 계산하고 다시 r진수로 변환하는 방식으로 풀면 공식 따로 필요없이 모든 연산 가능

2-1-2 보수

  • 보수(complement): 보충해 주는 수
    - 주어진 숫자가 특정 기준 값에서 얼마나 떨어져 있는지를 나타내는 값
    - 10진수 7에 대한 10의 보수는 3 -> 10-7
    - 10진수 70에 대한 10의 보수는 30 -> 100-70
    - 기수가 r인 수 체계에서는 진보수인 r의 보수와 (r-1)의 보수가 존재함

  • r의 보수
    - N에 대한 r의 보수 정수 부분이 n자리라면
    - rnNr^n-N
    - 2진수 110111의 2의 보수는
    - 총 6자리 따라서 26보수=1000000110111=111112110111=0010012^6보수=1000000-110111=111112-110111=001001

  • r-1의 보수
    - N에 대한 (r-1)의 보수 정수 부분이 n자리라면
    - rn1Nr^n-1-N
    - 2진수 110111의 2의 보수는 6자리니까 그냥 111111에서 N을 빼주니 1->0, 0->1한 결과
    - 10진수 83의 9의 보수는 99-83=16
    - r-1의 보수가 유용한 점은 r의 보수를 구하기 쉬운 버전이라는 점이다. 자리올림 내림 고려할 필요없이 각 자리에서 올 수 있는 가장 큰수에서 해당 숫자를 빼면 되기 때문.

  • r의 보수와 r-1의 보수의 관계
    - r-1의 보수에서 +1을 한게 r의 보수이다. 즉 r의 보수를 구하기 쉬운 방법이다. 앞으로 항상 r-1의 보수에서 +1을 해서 구하도록 하자!

  • 보수의 쓰임새
    - 컴퓨터는 가산기만으로 모든 연산을 처리해야한다. 따라서 뺄셈을 보수로 바꾸어 더한뒤에 자리올림을 버리는 형태로 뺄셈을 구현한다.
    - 10진수 156-5
    - 항상 가장 자리수가 많은 수보다 한자리가 무조건 늘어나게 되므로 그냥 버려주면 된다. Why? 보수의 정의가 n자리수의 보수는 rnr^n이 되기 위한 보충하는 수이므로...
    - 실제 보수를 이용한 감산 연산 원리
    - 156-5 -> 156 - 005 -> 156 + 994 -> 1150 -> 1150+1 -> 1151 -> 151

2-2 디지털 코드

2-2-1 10진 코드

  • 10진수를 나타내는 2진 코드 (BCD 코드)
    - 목적: 해당 코드들은 10진수 하나 즉 0~9 까지의 숫자 개념을 컴퓨터에서 저장하고 표현하기 위한 방법이다. 4비트. 여러 표준들이 있고 그렇게 표현하는 뭐 의미가 있겠지만, 목적만 알고 넘어가자
    - 종류: BCD8421, BCD2421, BCD84-2-1, Excess-3, Gray

2-2-2 영 숫자 코드

문자 숫자 코드

  • ASCII 코드: 7비트(문자 총 128개 표현) + 1비트(패리티 비트)
  • EBCDIC: BCD에서 확장 되었다. 그정도만..
  • 유니코드: 영문뿐만 아니라 모든 문자를 다루기 위한 표준 코드(UTF-8, UTF-16) 등이 있고 가변임.
profile
난민

0개의 댓글