Unit 1 Number Systems and Conversion (수의 체계와 변환)
강의 개요 논리 회로의 개요 논리회로의 기본 Digital이란? 회로란? 설계란? 논리 설계란? 수 체계와 변환 2진 산술 연산 음수의 표현 2진 코드
Analog란? Analog 아날로그(analog)의 신호와 자료는 연속적인 물리량으로 나타낸 것이다.. Text Voice Video Image Encoder Analog 아날로그(analog)의 신호와 자료는 연속적인 물리량으로 나타낸 것이다.. 우리가 거시적인 자연에서 얻는 신호는 대개 아날로그이다. 이를테면, 빛의 밝기, 소리의 높낮이나 크기, 바람의 세기 등이 있다. 그러나 미시적인 자연 현상은 디지털의 개념에 가깝다. 인간을 포함한 동물의 신경은 신경 다발이 몇 개 자극되는가로 신호의 세기를 느낀다. 더 근본적인 단계에서 양자 역학에서 에너지가 양자화 되어 있다. 다시 말해, 빛의 세기도 알고 보면 광자가 몇 개 들어오는가로 빛의 양을 알 수 있다.
Digital 란? Text Voice Video Image Encoder Digital 디지털(Digital)은 아날로그의 반대되는 개념으로 자료를 연속적인 실수가 아닌, 특정한 최소 단위를 갖는 이산적인 수치를 이용하여 처리하는 방법을 말한다. 디지털이란 데이터를 0 과, 1 의 두 가지 상태로만 생성하고, 저장하고, 처리하는 전자기술을 말한다.
디지털의 장점 밝기 25의 전구 4개 각 전구는 On/Off 스위치에 연결 되어져 있다. 밝기 100의 전구 1개 밝기 : 25 On/Off 스위치 밝기 : 100 다이얼 스위치 밝기 25의 전구 4개 각 전구는 On/Off 스위치에 연결 되어져 있다. 밝기 100의 전구 1개 전구는 다이얼 스위치에 연결 되어져 있다.
디지털의 장점 행사 중에는 방안의 밝기를 100으로 유지한 후. 행사 후에는 밝기를 25로 유지 하세요. 밝기 : 25 On/Off 스위치 밝기 : 100 다이얼 스위치 행사 중에는 방안의 밝기를 100으로 유지한 후. 행사 후에는 밝기를 25로 유지 하세요. 밝기 25의 전구 4개 각 전구는 On/Off 스위치에 연결 되어져 있다. 밝기 100의 전구 1개 전구는 다이얼 스위치에 연결 되어져 있다. 디지털의 장점을 설명. 이 부분에서. 전구의 숫자가 늘어나면.. 더욱 정밀하게 제어가 가능하다. 하지만. 시스템이 더욱 커진다. 또.. 다음날 혹은 1년이 지나도 정확하게 25로 유지가 가능하다. 사람이 바뀌어도 25로 가능하다. (전구는 LED이고. 전구의 밝기 변화는 없다고 가정하자. 켜지면 25이고. 안 켜지면 0 으로 간주) 하지만. 아날로그 다이얼은 사람마다. 기준이 틀릴 수도 있다.. 눈금을 정확하게 맞추기 어렵다.
디지털과 아날로그 아날로그 디지탈 모뎀을 이용한 두 컴퓨터 사이의 화일 전송 모든 연속적인 값을 갖는다 예: 음성, 음악, CRT모니터 디지탈 0과 1 (이진수) 컴퓨터가 처리하는 데이타 전화선 디지털과 아날로그의 예 Computer A Modem Modem Computer B Digital Analog Digital 모뎀을 이용한 두 컴퓨터 사이의 화일 전송
컴퓨터(디지털)의 논리 이진 논리: 0 (false)과 1 (true) 조합 논리와 순차 논리 논리 연산 Memory가 있나 없나… 논리 연산 .. 이고 (AND) .. 이거나 (OR) .. 가 아닌 (NOT) 모든 것이 명확히 정의됨 애매모호한 면이 없음
조합과 순차 조합 회로 (combinational circuit) 순차 회로 (sequential circuit) Memory가 없다. 입력한 값에 따른 출력 출력 = f (입력) 순차 회로 (sequential circuit) Memory가 있다. Memory에는 회로의 현 상태가 저장 출력은 입력과 현 상태에 의해 결정 (출력,다음 상태) = f (입력, 상태)
논리회로 설계란? 기능이 주어질 때, 그 기능을 논리 소자 (하드웨어)로 구현하는 것 기능의 표현 (뭘하는 회로인가?) 문장, 말, pseudo code, program 진리표 카르노 맵 minterm의 합, maxterm의 곱 FSM BDD, 등등등… 구현 방법 논리 회로 설계에서는 논리 게이트를 서로 연결하여 회로망을 형성하여 구현 하나의 기능을 구현하는 논리 회로는 많이 있다. 그 중 최적을 구하는 것이 중요
설계의 단계 시스템 단계(board-level) 칩 단계 (chip-level) 모듈 단계 (module-level) 게이트 단계 (gate-level) 회로 단계 (circuit-level) 트랜지스터 단계 (transistor-level) Computer Architecture Microprocessor Logic Design 전자회로 VLSI/CAD SoC 설계
[Jan Rabaey’s Digital Circuit Design 중에서] 그림: 설계의 단계 [Jan Rabaey’s Digital Circuit Design 중에서]
1.2 수의 체계와 변환 위치 표기법(positional notation)에 위한 10진수의 표현. 각 자리수는 위치에 따라 적절한 10의 지수(power ) 값이 곱해진다. 마찬가지로, 2진수(기저 2, radix or base 2)에 대해서도 다음과 같이 표현된다. 양의 정수 R( R >1)도 수 체계(Number System)의 기저(Radix or Base)로 사용 가능. 기저가 R 인 수에서는 모두 R개(0, 1, 2, …,R-1)의 수가 사용된다. R = 8인 경우 필요한 기호 숫자는 0,1,2,3…6, 7이다.
1.2 수의 체계와 변환 따라서 위치 표기법으로 사용된 수는 R의 지수 급수적으로 전개될 수 있다. 여기서 는 의 계수이고, 의 범위를 갖는다. 기저가 8인 8진수의 표기법
1.2 수의 체계와 변환 기저가 16인 16진수 시스템에 대한 기호표현. 기저가 16인 16진수와 기저가 2인 2진수의 변환
1.2 수의 체계와 변환 10진 정수(Integer)의 R 진수 변환 R = 2 인 경우 R = 8 인 경우
1.2 수의 체계와 변환 10진 소수(fraction)의 R 진수 변환 R을 곱하면, 여기서 은 결과값의 소수부분을 나타내며, 은 정수부이다. 에 R을 다시 곱하면 에 R을 다시 곱하면
1.2 수의 체계와 변환 10진 소수(Fraction)의 R 진수 변환 R = 2 인 경우 0.4는 앞에서 얻어진 수이며, 여기서부터 과정이 반복된다.
1.2 수의 체계와 변환 10진 수가 아닌 두 기저 사이의 변환 일반적으로는 우선 10진수로 변환한 다음, 이 변환된 10진수를 새로운 기저로 변환하는 것이 용이하다. 을 7진수로 변환하라.
1.3 2진 산술연산 산술연산: 디지털 시스템의 산술 연산은 2진 연산으로 수행 2진 산술연산 : 0과 1로만 이루어진
1.3 2진 산술연산 2진수에 대한 덧셈표 다음 열로 자리 올림(carry) 1
1.3 2진 산술연산 예제) 2진수를 이용하여 과 을 더하라. carry
1.3 2진 산술연산 2진수의 뺄셈 2진수에 대한 뺄셈표 앞 열에서 자리 내림(borrow) 1
1.3 2진 산술연산 borrow borrow borrow 예제 a) 예제 b) 예제 c) 2진 뺄셈에 대한 다른 방법으로는 1.4절에서 논의할 2의 보수를 이용한 산술연산이 있다.
1.3 2진 산술연산 2진수에 대한 곱셈표
피승수(곱하여지는 수,Multiplicand) 1.3 2진 산술연산 예제) 2진수를 이용하여 과 을 곱하라. 피승수(곱하여지는 수,Multiplicand) 승수(곱하는 수,Multiplier) 1011 1011 1011 1011 =
1.3 2진 산술연산 예제) 2진수를 이용하여 과 의 나눗셈을 하여라. 피제수(나누어지는 수, dividend) 예제) 2진수를 이용하여 과 의 나눗셈을 하여라. 피제수(나누어지는 수, dividend) 제수(나누는 수, divisor)
1.4 음수의 표현 지금까지 사용한 2진수는 양수만 취급되었다.( unsigned ) 방법으로 표현된다. Signed Magnitude(부호와 크기 표현 방법) 1’s Complement(1의 보수 표현 방법) 2’s Complement(2의 보수 표현 방법)
1.4 음수의 표현
1.4 음수의 표현 (Unsigned Magnitude Number) n 비트로 구성된 word의 경우 모두 2n 의 수를 표현할 수 있다. n 비트로 구성된 word를 unsigned magnitude 표현으로 사용하는 경우, 0에서 2n-1까지의 양수를 표현할 수 있다. 예) 3 비트로 구성된 word를 unsigned magnitude 표현을 사용하는 경우 (양수의 표현)
1.4 음수의 표현 (Signed Magnitude Number) n 비트로 구성된 word를 signed magnitude 표현으로 사용하는 경우, +0과 -0 그리고 2n-1-1개의 양수와 2n-1-1 개의 음수를 표현할 수 있다. 예) 3 비트로 구성된 word를 signed magnitude 표현을 사용하는 경우 (양수와 음수의 표현)
1.4 음수의 표현 (2’s Complement Number) 2’s Complement 의 표현 방법에서 0과 양수 N 은 signed magnitude 표현과 같이 0 뒤에 크기를 붙여 사용한다. 2’s Complement 표현방법에서 양수의 표현 방법은 Signed magnitude 표현방법에서의 양수와 동일하게 표현됨
1.4 음수의 표현 (2’s Complement Number) 2’s Complement 의 표현 방법에서 음수 -N 의 표현은 2의 보수 N*으로 표시된다. n 비트 word에서 양의 정수 N에 대한 2의 보수 N * 은 다음과 같이 정의된다.
1.4 음수의 표현 (2’s Complement Number) 2’s Complement 와 Signed magnitude 표현의 비교
1.4 음수의 표현 (1’s Complement Number) 1’s Complement 의 표현 방법에서 0과 양수 N 은 signed magnitude 표현과 같이 0 뒤에 크기를 붙여 사용한다. 1’s Complement 표현방법에서 양수의 표현 방법은 Signed magnitude 표현방법에서의 양수와 동일하게 표현됨
1.4 음수의 표현 (1’s Complement Number) 1’s Complement 의 표현 방법에서 음수 -N 의 표현은 1의 보수 으로 표시된다. n 비트 word에서 양의 정수 N에 대한 2의 보수 은 다음과 같이 정의된다. 1111은 -0을 나타내고 -8은 4비트 워드의 경우에서는 나타낼 수 없다.
1.4 음수의 표현 (1’s Complement Number) 1’s Complement 와 Signed magnitude 표현의 비교
1.4 음수의 표현 (1’s Complement Number) 1’s Complement 수를 만드는 또 다른 방법은 단순히 N을 비트 별로(bit by bit) 0은 1로 1은 0으로 대체하여 보수를 취하는 것이다. 예를 들어 n = 6이고, N=010101(21)인 경우 2’s Complement 수를 만드는 또 다른 방법은 1’s Complement 를 취한 후 1을 더해 구할 수 있다. 예를 들어 N=0101100인 경우
1.4 음수의 표현 (1’s Complement Number) 음수의 크기표현 방법 1’s Complement로 표현되는 음수 (-N)의 크기를 구하는 방법은 다음 식과 같이 음수에 대한 1의 보수를 취하여 구할 수 있다. 2’s Complement로 표현되는 음수 (-N)의 크기를 구하는 방법은 다음 식과 같이 음수에 대한 2의 보수를 취하여 구할 수 있다. 보수로 표현되는 음수 –N 이 주어지면, 이 음수에 대한 보수를 다시 취하면 그 음수에 대한 크기를 구할 수 있다.
1.4 음수의 표현 (2의 보수의 덧셈) n 비트의 signed binary number에 대한 덧셈은 2의 보수체계를 이용해 구할 수 있다. 모든 수를 양수라고 하여 덧셈을 하고, 부호 비트에서 발생하는 자리올림은 무시하면 된다. 이것은 overflow가 발생하는 경우를 제외하고는 항상 옮은 결과가 된다. 워드길이가 n 비트일 때, 합을 옳게 표현하기 위해서 n 비트 이상이 필요하면 overflow가 발생되었다고 한다.
1.4 음수의 표현 (2의 보수의 덧셈) 1. 두 양수의 덧셈, 합 2. 두 양수의 덧셈, 합 옳은 답 Overflow로 인해 틀린 답(+11은 부호를 포함하여 5비트로 표현가능)
1.4 음수의 표현 (2의 보수의 덧셈) 3. 양수와 음수의 덧셈(음수의 크기가 더 큰 경우) 옳은 답 4. 양수와 음수의 덧셈(양수의 크기가 더 큰 경우) 부호 비트에서 발생한 자리올림은 무시하면 옳은 답(이것은 overflow가 아님)
1.4 음수의 표현 (2의 보수의 덧셈) 5. 두 음수의 덧셈 |합| 6. 두 음수의 덧셈 |합| 부호 비트에서 발생한 자리올림은 무시하면 옳은 답(이것은 overflow가 아님) 6. 두 음수의 덧셈 |합| Overflow로 인해 틀린 답(-11은 부호를 포함하여 5비트로 표현가능)
1.4 음수의 표현 (2의 보수의 덧셈) 경우 2에서 두 양수의 덧셈 결과가 음수가 되고, 경우 6에서 두 음수의 덧셈 결과가 양수가 되는 것은 용이하게 overflow 상태를 검출할 수 있다. 경우 4와 경우 5에 대해서, 부호비트에서 발생하는 자리올림을 무시하면 항상 옳은 답을 준다는 사실은 다음과 같이 증명할 수 있다. 경우 4. -A+B(여기서 B > A) 경우 5. –A – B(여기서 A+B )
1.4 음수의 표현 (1의 보수의 덧셈) 1의 보수 덧셈은 2의 보수 덧셈과 유사하나, 다만 마지막 자리올림은 버리지 않고 n 비트의 합에 최 우측 자리로 하여 더한다. 이것을 끝단 돌림(end-round) 자리올림이라 한다. 양수의 덧셈에 대해서는 2의 보수 덧셈에서의 경우 1과 경우 2와 같다.
1.4 음수의 표현 (1의 보수의 덧셈) 3. 양수와 음수의 덧셈(음수의 크기가 더 큰 경우) 옳은 답 4. 양수와 음수의 덧셈(양수의 크기가 더 큰 경우) 부호 비트에서 발생한 자리올림을 끝단 돌림 하면 옮은 답 (이것은 overflow가 아님)
1.4 음수의 표현 (1의 보수의 덧셈) 5. 두 음수의 덧셈, |합| 6. 두 음수의 덧셈, |합| 끝단 돌림 자리올림 옳은 답(이것은 overflow가 아님) 6. 두 음수의 덧셈, |합| 끝단 돌림 자리올림 Overflow로 인해 틀린 답
1.4 음수의 표현 (1의 보수의 덧셈) 경우 4와 경우 5에 대해서, 끝단돌림 자리올림방법이 옳은 결과를 준다는 것은 다음과 같이 증명할 수 있다.. 경우 4. -A+B(여기서 B > A) 경우 5. –A – B(여기서 A+B ) 위의 식에서 끝단 돌림 자리올림으로 2n 이 사라지면서 1이 더해지는 것과 같으므로, 결과는 다음과 같다.
1.5 2진 코드 대부분의 디지털 시스템은 2진수로 동작 입출력 장치는10 진수로 동작. 10진수를 2진수로 표현하는 방법이 필요하다. 이와 같이 10진수를 2진수로 표현하는 것을 부호화 (coding)이라고 한다. 가장 간단한 2진 부호화의 방법은 다음과 같이 각 10진 숫자를 동등한 2진수로 대체시키는 것이다. BCD( Binary Coded Decimal ) 이 결과는 전체를 2진으로 변환하는 경우와 매우 다르다는 점을 주목. 오직 10개의 10진 수가 있기 때문에 1011에서 1111까지는 존재 하지 않는다.
1.5 2진 코드 유효한 2진 코드가 되기 위한 요구조건은 각 10 개의 10진 수에 대해 서로 다른 2진 숫자들의 조합으로 표현되기만 하면 되는 것이기 때문에, 많은 수의 2진 코드가 존재한다. 2진 코드의 예 8-4-2-1 BCD Code 6-3-1-1 Code Excess-3 Code 2-out-of-5 Code Gray Code
1.5 2진 코드 가중화 코드 예 8-4-2-1 BCD Code 6-3-1-1 Code 4bit 가중화 코드의 가중치가 일때, 코드 는 N을 나타낸다 예로 6-3-1-1 코드 가중치는 일 때, 2진 코드 1011은 8이 된다.
1.5 2진 코드 오류 검출 가능 코드 2-out-of-5 Code 모든 코드 조합에 대해서 2비트만 1을 갖는다. Gray Code 연속된 10진 숫자에 대한 코드 구성이 1비트씩만 차이가 난다.
1.5 2진 코드
1.5 2진 코드
요약 논리설계 기본 수 체계의 변환 및 2진 코드 Analog 와 Digital의 차이 Digital 시스템의 장점 설계 방법(흐름) 수 체계의 변환 및 2진 코드 수 체계의 변환 방법 2진 부호 다양한 표현 방법 (음수) 2진 산술연산 2진 코드의 종류