Docstoc

디지털 시스템

Document Sample
디지털 시스템 Powered By Docstoc
					            디지털 시스템
                 2010년 1학기


•   교수: 송상훈

•   연구실: 율곡관 603-B

•   Office Hour: 화, 목 14:00 ~ 15:00




                                      1
• 성적 평가:
       •중간 시험 : 30%
       •기말 시험 : 30%
       • 프로젝트 및 숙제 : 30%
       •출석 10%

•교재:
  “디지털 논리설계” 최종필 외 6인 역(Alan B. Marcovitz)
  [한국맥그로힐]




                                             2
                      강의내용
• 수 체계
   – 2진수, 8진수, 16진수
   – Signed number, 2’s complement
   – BCD
• 스위칭대수와 논리회로
   – Boolean expression, gate, truth table
• 간소화 기법(karnaugh map)
   – Minimizing logic circuits
   – SOP, POS
• 대형 조합회로
   – Adder, decoder, encoder, multiplexer
   – ROM, PLA, PAL
• 순차회로 해석 및 설계
   – Latch, Flop Flop
   – Design and analysis of synchronous sequential system
   – Shift register, counter                                3
Chapter 1 Introduction

1) 수 체계

2) 2진수, 8진수, 16진수

3) Signed number, 2’s complement

4) BCD 및 다른 코드




                                   4
                      Digital Vs. Analog

    V                          V
        0 1 0 1 0 1

1




0                          t                       t




Digital: discrete values       Analog: continuous values


                                                           5
                   논리회로 설계

• 두가지 신호 값: 0, 1
• 입력: (A, B, …)
      클럭(clock) - 규칙적으로 0과 1값을 반복적으로 발생
• 출력 : (W, X, …)




                                          6
2 진 값의 물리적 표현


 두 가지의 전압( 0V, 5V)

 스위치의 위와 아래 방향

 전등의 on과 off

 자계의 두 방향




                      7
디지털 시스템 동작 표현 방법


   • 진리표 형태

   • 대수식 형태

   • 회로도




                   8
         진리표에 의한 시스템 동작 표현

예제 1.1
  세 개의 입력 A, B, C와 한 개의 출력 Z를 갖는 시스템은 두개의
  입력이 1일 때만 Z=1이다.

                        진리표

                A B     C     Z
                0   0   0     0
                0   0   1     0
                0   1   0     0
                0   1   1     1
                1   0   0     0
                1   0   1     1
                1   1   0     1
                1   1   1     1
                                            9
               조합회로와 순서회로


• 조합회로(combinational circuit)
   –   출력이 입력의 현재 값에만 의존한다

   – 예제 1.1에서 A, B, C의 현재 값을 안다면, Z가 지금 어떤 값을
       갖는 지를 결정할 수 있다.


• 순서회로(sequential circuit)
   – 출력이 현재 입력만이 아니고 과거의 입력에도 영향을 받는다.

   – 즉, 과거의 입력 상태들을 알아야 하기 때문에 메모리(memory)가
       필요하게 된다.


                                                10
               순서회로의 예


• 예제 1.3
  – 하나의 입력 A와 클럭, 그리고 하나의 출력 Z로 구성된 시스템에서
    마지막 3개의 연속된 클럭에서 입력이 1일 때만 출력이 1이 된다.




                                            11
                        실습


• Bread Board 를 이용한 하드웨어 방법
• Bread Board 시뮬레이터: WinBreadBoard
• MaxPlus II 시뮬레이터




                                     12
WinBreadBoard




                13
MaxPlusII




            14
              수 체계(number system)


• 정수 표현(Integers using positional number systems)

  N=an-1rn-1 + an-2rn-2 +…+ a2r2 + a1r + a0

  n: number of digits,
  r: radix(base)
  ai: coefficients 0 ai < r

  bits =binary+digits

                                               15
   Positional Number System
764210= 7103+6  102+4  10+2
1011112 = 125 + 0 24 + 123 + 122 + 12 + 1
        =32 + 8 + 4 + 2 + 1 = 4710




     2의 지수승 값이 자주 사용된다.
                                                 16
    Binary number system




Note:
    N bit 양의 정수의 범위: 0 .. 2n-1
    2n – 1 = 111….1
                                  17
                10진수에서 2진수로 변환


예제 1.6: 2의 지수 승 값을 이용
         29 = 512, 28 = 256, 27 = 128, 26 = 64, ..
74610 = 512 + 128 + 64 + 32 + 8 + 2
74610 = 129 + 0 28 + 127 + 126 + 125 + 024 +123 + 022 +12+0
      = 10111010102


예제 1.7: 2 로 계속 나누면서 나머지를 취함
     105/2=52     rem 1                    1
     52/2=26    rem 0                     01
     26/2=13    rem 0                   001
     13=1101 이기 때문에                 1101 001

                                                                  18
         16진수 (Hexadecimal)

16진수: 9보다 큰 숫자는 첫 영문자 6개를 사용
            10      A
            11      B
            12      C
            13      D
            14      E
            15      F

예제 1.9: 2 진수에서 16진수로 변환

       10111010102 = 0010 1110 10102
                   = 2EA16



                                       19
      16진수 변환 (Hexadecimal)


예제 1.10: 16진수에서 10진수로 변환


   2EA16 = 2162 + 1416 + 10
         = 512 + 224 + 10 = 74610


예제 1.11: 10진수에서 16진수로 변환

   746/16=46    나머지 10              A

   46/16=2      나머지 14             EA

   2/16=0       나머지     2          2EA16


                                            20
          2 진 덧셈 (Binary Addition)

예제 1.12
                     11
                     0110       6
                     0111       7

                     1101      13


한 비트씩 덧셈: 합 비트(sum bit) 와 캐리 비트 발생


오버플로우(Overflow): 연산결과가 숫자범위를 벗어날때
예) 두개의 n 비트 정수를 더할때, (n+1) 비트 결과 값이 될
    때.



                                        21
           1bit 가산기 진리표




     cin
     a
     b
cout s




                          22
               4비트 가산기




 C0 는 0 이다.

                         23
                   부호화 수 (signed number)

•   무부호화 수(unsigned numbers) : 양의 정수 ( positive integers)
•   부호화 수 (signed numbers) : 양수 와 음수 (positive and negative
    numbers)


•   부호화 수를 나타내는 방법
    –   Signed magnitude
    –   Two’s complement
    –   One’s complement




                                                              24
                Signed Magnitude(부호화 크기)

•   첫번째 비트는 부호를 나타낸다. ( 양수=0, 음수=1)


    +5  0101    -5  1101   -3  1011




                                           25
               2의 보수 (2’s complement)


•    부호화 수의 대부분은 2의 보수 형태를 사용한다.

•    음수에 대한 2의 보수 형태를 구하는 3단계

    1.   크기에 해당하는 2 진수 값을 찾는다.
    2.   각 비트에 대한 보수를 취한다.
    3.   1을 더한다.

예제 1.15
1.   5: 0101     1: 0001   0:   0000
2.      1010        1110        1111
3.        +1          +1          +1
   -5: 1011     -1: 1111        0000



                                        26
4 비트의 부호화 수와 무부호화 수




                      27
          오버플로우


예제 1.16: overflow
+5        0101
+4        0100
      (0) 1001      (looks like –7)


예제 1.17: overflow
-5        1011
-4        1100
      (1) 0111      (looks like +7)




                                      28
                2진수 뺄셈

•     뺄셈: 2의 보수를 취하여 더한다.
             a-b = a+(-b)


예제 1.18 : 7 - 5

5:     0101          7:       0111
      1010          -5:       +1011
+         1          2      (1) 0010
-5:    1011




                                       29
            오버플로우

예제 1.21:
(a) 무부호화 수의 오버플로우
(b) 부호화 수의 오버플로우


     5-7            7-(-5)
        1                  1
    0101            0111
    1000            0100
 (0) 1110           1100
      (a)            (b)


                               30
      BCD: Binary Coded Decimal




*가중치 (weighted) 코드: 8421, 5421, 2421 코드
                                          31
ASCII 코드




           32
Gray 코드




          33

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:4
posted:11/22/2012
language:Korean
pages:33
pptfiles pptfiles
About