디지털 논리회로와 데이터 표현
디지털 시스템
디지털 시스템
- 시스템의 정의
- 검은 상자형 시스템
- 입력과 출력을 갖는 검은 상자로 표현
- 시스템의 입력과 출력에만 관심을 갖고 시스템을 고려
- 구성요소 집합으로서 시스템
- 검은 상자 내부에 관해 규정
- 시스템에 부여된 목적을 달성하기 위해 상호작용하는 구성요소들의 집합
- 검은 상자형 시스템
아날로그와 디지털
데이터의 표현 방법
- 아날로그 방식
- 데이터를 연속적인 값으로 표현
- 디지털 방식
- 연속적인 값을 근사하여 이산적인 값으로 표현
- 아날로그 방식
아날로그 시스템과 디지털 시스템
- 아날로그 시스템: 입력과 출력이 아날로그 데이터인 시스템 (예: 기상 시스템과 같은 모든 자연 시스템)
- 디지털 시스템: 입력과 출력이 디지털 데이터인 시스템(예: 디지털 시계)
디지털 시스템의 장점
- 편리성: 데이터가 숫자로 입,출력
- 융통성: 실행순서의 조정이 가능
- 단순성: 시스템 설계가 단순
- 안정성: 0과 1로 유지되므로 높은 안정성
- 견고성: 잡음 등에 강함
- 정확성: 논리적인 처리로 정확한 결과 도출
디지털 시스템의 설계 및 논리회로
- 디지털 시스템의 설계
- 회로설계 단계: 능동소자와 수동소자를 연결시키는 단계
- 논리설계 단계: 논리회로를 만들기 위해 논리소자들을 연결시키는 단계
- 시스템 설계 단계: 논리회로들을 연결하여 프로세서, 입출력 제어장치 등을 설계하는 단계
- 실제적 설계 단계: 시스템 설계단계의 부품들을 PCB나 와이어 랩 기판에 배치시키는 단계
디지털 시스템의 설계 및 논리회로
디지털 논리회로의 개요
디지털 논리회로
- 2진 디지털 논리를 논리 게이트로 구현한 것
- 디지털 시스템을 구현하는 기본 요소
- 디지털 시스템의 논리설계 단계에서 설계됨
디지털 논리회로는 저장요소의 유무에 따라
- 조합논리회로: 저장 요소가 없음(예: 가산기, 디코더 등)
- 순서논리회로: 저장요소가 있음(예: 레지스터, 카운터 등)
컴퓨터의 구성
- 컴퓨터 하드웨어의 구성
- 입력장치: 외부로부터 데이터를 입력
- 기억장치: 데이터를 기억하고 저장
- 연산장치: 데이터에 대한 산술, 논리연산을 수행
- 제어장치: 데이터 처리를 위한 구성요소들을 제어
- 출력장치: 처리된 결과를 외부로 출력
집적회로
- 디지털회로는 집적회로로 구성
- 집적회로
- 디지털 게이트의 기능을 수행하는 전자소자를 포함한 작은 실리콘 반도체 크리스털
- 칩이라고 함
- 칩 내부에 있는 여러 가지 게이트들은 회로의 목적에 부합되도록 상호 연결
- 집적회로
집적회로
집적도: 단위 실리콘 칩에 집적할 수 있는 게이트의 수
- 소규모 집적
- 몇 개의 독립적 게이트를 내장
- 중규모 집적
- 대략 10 ~ 100여 개의 게이트를 내장(디코더, 레지스터)
- 대규모 집적
- 수백 ~ 수천 개의 게이트를 내장(프로세서, 기억장치 칩)
- 초대규모 집적
- 수천 개 이상의 게이트를 내장(마이크컴퓨터 칩)
- 소규모 집적
디지털 논리계열
- 디지털 논리회로는 집적회로로 구성
- 기본 회로설계를 공유하는 집적회로의 그룹: 논리 계열
- 각 논리계열의 기본적인 회로는 NAND 게이트 또는 NOR 게이트
- 디지털 논리회로는 집적회로로 구성
양논리와 음논리
- 게이트의 입력과 출력에 대한 2진신호는 두 값 중에 한 값을 갖는다.
- 두 논리값에 대한 두 신호값을 할당하는 방법
데이터 표현
수치 데이터
진법
- 수를 숫자로 나타내는 방법
- 숫자의 위치에 따라 가중치 부여
- 가중치는 기수의 승수를 이용
- 기수는 2 이상의 양의 정수
r진법
- 기수가 r(r >= 2)인 경우 r진법이라 함
- r개의 숫자(0,1,2, ..., r - 1)로 표현
- r진법으로 표현된 수를 r진수라 함
- r진수 오른쪽 아래에 기수 r을 표기
10진수의 r진수 변환(정수부분은 나눗셈, 소수점 아랫부분은 곱셈으로 구함)
2진수와 2^n 진수의 상호변환
- 2^n 진수의 각 자리의 수를 대응하는 n비트의 2진수로 바꾼다
- 이 경우는 n=3이므로 3비트 2진수로 바꾼다
기타 변환(r 진수를 s 진수로 변환)
- r진수를 10진수로 변환한 다음
- 10진수를 다시 s진수로 변환
산술 연산
- r 진법 두 수의 가산
- 먼저 두 숫자를 10진수로 바꾸어 10진수 덧셈
- 다음으로 그 결과를 다시 r진수의 합과 올림수로 변환
- r 진법 두 수의 가산
보수(r-보수, (r-1)-보수)
- r-보수 (정수 부분이 n 자리 일 때)
- N에 대한 r-보수 = r^n - N, N != 0 / 0, N = 0
(r-1)-보수(정수 부분이 n자리, 소수 부분이 m자리 일떄)
- N에 대한 (r-1)-보수 = r^n - r^-M - N
r-보수와 (r-1)-보수의 관계
- r-보수= (r-1)-보수 + 가장 낮은 자리의 1
보수를 이용한 감산
- ±A -(±B ) = ±A + (∓B )
영숫자 코드(영문자와 숫자를 2진 코드로 표현)
- ASCII 코드
- 하나의 영숫자 코드가 7비트로 구성, 전체 수는 128개
- 실제로 사용될 때는 1비트의 패리티 비트를 포함하여 전송
- EBCDIC 코드
- 하나의 영숫자 코드가 8비트로 구성
- 1비티의 패리티 비트를 포함하여 전송하면 9비트가 되어 비 효율적
- 유니코드
- ASCII 코드의 한계점을 극복하고자 전 세계 문자체계를 표현
- 인코딩 방식으로 UTF-8, UTF-16, UTF-32의 세가지가 있다.
- ASCII 코드