Computer System Architecture: (Third Edition)
Computer System Architecture: (Third Edition)
M. Morris Mano
                               PRENTICE HALL
Computer System Architecture     Chap. 1 Digital Logic Circuits   Ref: bazi.pe.kr
                               최초의 컴퓨터 ?                         2
 ENIAC (1946)
 https://www.youtube.com/watch?v=CBeDsJie6qk
 https://www.youtube.com/watch?v=FDPg7fv24UQ
          Contents
              Basic Computer Hardware Architecture
              CPU, Memory, I/O System Design
              Advanced Topics: Pipeline, Multiprocessor
          Related Subject
              Digital Logic ( 논리설계 ), Discrete Mathematics ( 이산수학 )
          Chapter Outline
                Ch. 1 ~ Ch. 4: Digital Computer Hardware Architecture
                Ch. 5 ~ Ch. 7: Basic Computer Design
                Ch. 8 ~ Ch. 10: CPU Architecture and Pipeline Processing
                Ch. 11 ~ Ch. 12: I/O and Memory Architecture
                Ch. 13: Multiprocessor
          Homework
              Solve the selected number of problems
              Report of Survey for given theme
          Reference
              Morris Mano, Computer Systems Architecture, Prentice-Hall, 3rd Ed.
              John Hennessy, David Patterson, Computer Architecture: a Quantitative approach, Morgan
                 Kaufmann. 3rd Ed.
      Computer Hardware
          CPU
          Memory
              Program Memory(ROM)
                                                                                     Memory
                                                                                      Memory
              Data Memory(RAM)
          I/O Device
                    Input Device: Keyboard, Mouse,
                     Scanner
                    Output Device: Printer, Plotter,                                   CPU
                                                                                         CPU
                     Display
                    Storage Device(I/O): FDD, HDD,
                     MOD
                                                                 Input                                        Output
                                                                   Input
                                                                Device
                                                                                    Interface
                                                                                     Interface
                                                                                                               Output
                                                                                                              Device
                                                                  Device                                       Device
Program code
                                                                                                           : Set of instructions
                 UI/UX
Data
Ref) http://www.eatsamazing.co.uk/recipes-tutorials/cooking-with-small-child-homemade-burgers
           “ISA”?
              Instructions
              Addressing modes
              Instruction and data formats
              Register
           “Machine Organization”?
              CPU(Control, Data path), Memory, Input, Output
            George Boole
                Born: 2 Nov 1815 in Lincoln,
                  Lincolnshire, England
                Died: 8 Dec 1864 in Ballintemple,
                       County Cork, Ireland
            What is it?
                Input, Output 이 이진변수 (binary variable) 로 구성된 논리
                    회로
            우주회 ( 雨酒會 )
                비가 오면  술 먹는다
                비가 안 오면  술 안 먹는다                                    A
                비가 온다 : A = 1, 비가 안 온다 : A = 0
                술 먹는다 : X = 1, 술 안 먹는다 : X = 0
http://nogwon.blogspot.kr/2013/10/blog-post_2036.html
                  A
                                                                     X
                  B
                  A
                  B                                                  X
                  C
Computer System Architecture        Chap. 1 Digital Logic Circuits
                               1-2 Logic Gates                   17
                Boolean Algebra
                    Deals with binary variable(A, B, x, y: T/F or 1/0) + logic
                        operation(AND, OR, NOT…)
                Boolean Function: variable + operation
                    F(x, y, z) = x + y’z
                               x y z       F
                               0   0   0   0
                               0   0   1   1                x
                               0   1   0   0                y
  2n Combination                                                                                 F
                               0   1   1   0
  Variable n = 3               1   0   0   1                z
                               1   0   1   1
                               1   1   0   1
                               1   1   1   1
            [ 예제 ]                                         [ 예제 ]                               Fig. 1-6(a)
                F= AB’ + C’D + AB’ + C’D
                                                                F= ABC + ABC’ + A’C
                        = x + x (let x= AB’ + C’D)
                                                                    = AB(C + C’) + A’C Fig. 1-6(b)
                        =x
                                                                    = AB + A’C
                        = AB’ + C’D
                                                               1 inverter, 1 AND gate 감소
            Fig. 1-4 2 graphic symbols for NOR gate
                    x                                               x
                    y                 (x+y+z)’                      y                x’ y’z’
                    z                                               z
            Karnaugh Map(K-Map)
                Map method for simplifying Boolean expressions
            Minterm / Maxterm
                Minterm : n variables product ( x=1, x’=0)
                Maxterm : n variables sum (x=0, x’=1)
            2 variables example
                         x     y              Minterm                     Maxterm
                         0     0             x'y'   m0                   x +y   M0
                         0     1             x'y      m1                 x + y'      M1
                         1     0             x y'     m2                 x'+ y       M2
                         1     1             x y      m3                 x'+ y'      M3
            F = x’y + xy               m0 + m1 + m2 + m 3          M0  M1  M2  M3
                      m1       m3
                  (1,3)           ( m1 +   m3 )
  (0,2) (Complement = M0  M2 )
            Map
                2 variables
                                                            3 variables                                 4 variables
                                                                                                                        C
                               B                                                B
                       0       1                                                                        0   1       3       2
                                                               0    1       3       2
               A       2       3                       A       4    5       7       6                   4   5       7       6
                                                                                                                                B
                                                                                                        12 13 15 14
                                                                        C                           A
               5 variables                                    C
                                                                                                        8   9       11 10
                                                                                                                D
                      0        1       3   2       6       7        5       4
                      8        9       11 10 14 15 13 12
                                                                                        B
              A
                     24 25 27 26 30 31 29 28
                     16 17 19 18 22 23 21 20
                                   E           D               F
Fig 1-7 Maps for two-, three-, four-, and five-variable functions
 [ 예제 ] F= x + y’z
              1      0     0   1       m4
                                                                             z
              1      0     1   1       m5
              1      1     0   1       m6
              1      1     1   1       m7                               F= x + y’z
            Adjacent Square
                Number of square = 2n (2, 4, 8, ….)
                The squares at the extreme ends of the                       0       1       3           2
                    considered adjacent
                                                                              0       1       3           2
8 9 11 10
                    be considered to be adjacent                          0       1       3           2
                                                                                                                  4    5     7   6
                                                                          4       5       7           6
                                                                                                                  12   13   15   14
            [ 예제 ]                                                                                  B
                               F ( A, B, C )  (3,4,6,7)
                F=AC’ + BC                                                        0    1        3        2
                                                                             A     4    5        7        6
                                                                                            C        B
            [ 예제 ] F ( A, B, C )  (0,2,4,5,6)
                                                                                   0    1        3        2
                F=C’ + AB’                                                  A     4    5        7        6
                                                                                            C         C
            [ 예제 ] F ( A, B, C , D )  (0,1,2,6,8,9,10)
                                                                                   0    1        3        2
                F=B’C’ + B’D’ + A’CD’
                                                                                   4    5        7        6    B
                                                                             A
                                                                                   12   13       15       14
            Product-of-Sums Simplification                                        8    9        11       10
              F ( A, B, C , D )  (0,1,2,5,8,9,10)                                          D        C
            NAND Implementation
                  Sum of Product : F=B’D’ + B’C’ + A’C’D
            B’
            D’
C’
            A’
            D
            NOR Implementation
                  Product of Sum : F=(A’ + B’)(C’ + D’)(B’ + D)
             A’
             B’
             C’
             D’
             D’                                                                                   B
            Don’t care conditions                                                0       1       3       2
            Combinational Circuits
                A connected arrangement of logic gates with a set of inputs and outputs
                Fig. 1-15 Block diagram of a combinational circuit
                                i0                                          f0
                                i1          Combinational                   f1
...
                                                                    ...
                                               Circuits
                                            (Logic Gates)
                                in                                          fm
            Analysis
                Logic circuits diagram                 Boolean function or Truth table
            Design(Analysis 의 반대 )
                                                  Experience
                1. The Problem is stated
                2. I/O variables are assigned
                3. Truth table(I/O relation)
                4. Simplified Boolean Function(Map 과 Boolean 대수 이용 )
                5. Logic circuit diagram
                                                     C= xy                     S= x’y + xy’
                                                                                =x  y
                5. Logic circuit diagram                   6. Block diagram
                                                                 X                   S
                                                                         H.A
y C
                                X
                                                 F. A                     S
                                Y
                                                                          C
                                    CP
                                                         R   C LR
                                                                    Q                           R   C LR
                                                                                                           Q
                               Q    R
R
                                             SET                                                    SET
                     J                   S          Q                              T            J          Q
                     CP
                                         R   C LR
                                                    Q                                           K   C LR
                                                                                                           Q
                                                                                   E
Computer System Architecture                             Chap. 1 Digital Logic Circuits
                                               1-6 Flip-Flops                                                   35
              Setup time(20ns)                                                        ts     th
                       minimum time that D input must remain at constant value before the transition.
              Hold time(5ns)
                 minimum time that D input must not change after the positive transition.
        D          D                  D                 Q
                        Master            Slave
C C
a. 논리도 b. 파형도
            Race 현상
                조건 - Setup time > Propagation delay
                증상 - 0 과 1 을 반복하다가 Unstable 한 상태가 된다
                해결책 - Edge triggered F/F 또는 Master/Slave F/F 사용
                예제
                   7470 : J-K Edge triggered F/F
                   7471 : J-K Master/Slave F/F
            Excitation Table
                Required input combinations for a given change of state
                Present State 와 Next State 로 표현
                                1 : Set to 1                        1 : Clear to 0
           Don’t Care           0 : Complement                      0 : No change
Clock
                                                                   x                                   D          Q        A
                Input Equation 예제
                    DA = Ax + Bx, DB = A’x                                                                C LR
                                                                                                                  Q        A’
                Output Equation
                    y = Ax’ + Bx’
                                                                                                DB         SET
                                                                                                       D          Q        B
                Fig. 1-25 Example of a sequential
                                                                                            Clock
                                     circuit                                                               C LR
                                                                                                                  Q        B’
                                                          KA                                        x                         J         Q        A
      JA         0       1           3           2                  0       1       3           2
                                 1                             X        X       X           X
                 4       5           7           6                  4       5       7           6                             K         Q
   A         X       X           X           X        A                         1                                                 CLR
                             x                                              x
            JA=Bx                                              KA=Bx
                                         B                                              B
                                                                                                                                  SET
      JB         0       1           3           2    KB            0       1       3           2
                                                                                                                              J         Q        B
                     1           X           X                  X       X       1
                 4       5           7           6                  4       5       7           6
  A                  1           X           X        A         X       X       1                                             K   CLR
                                                                                                                                        Q
                         x                                                  x
                                                                                                                   C lo c k
            JB=x                                               KA=x
          Sequential Circuit Design Procedure                                                                1. The Problem is stated
                                                                                                              2. I/O variables are assigned
            1-5 절 참고 (Combinational Circuit Design)                                                          3. Truth table(I/O relation)
            Sequential Circuit 은 절차 3 에서 State                                                               4. Simplified Boolean Function
                                                                                                              5. Logic circuit diagram
             diagram 및 State table 이용
            F/F 수 : 2m+n (m - State 수 , n - Input 수 )