SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
8-1. Introduction                                                                                 1 / 22                                   8-2. General Register Organization                                                               3 / 22


n       8-1 Introduction                                                                                                                                             u Binary selector input : 예제 R1 ← R 2 + R 3
          u 3 major parts of CPU : Fig. 8-1                                                                                                                             l 1) MUX A selector (SELA) : to place the content of R2 into BUS A

              l 1) Register Set                                                                                                                                         l 2) MUX B selector (SELB) : to place the content of R3 into BUS B

              l 2) ALU                                                                                                                                                  l 3) ALU operation selector (OPR) : to provide the arithmetic addition R2 + R3

              l 3) Control                                                                                                                                              l 4) Decoder selector (SELD) : to transfer the content of the output bus into R1

          u Design Examples of simple CPU                                                                                                                            u Control Word
             l Hardwired Control : Chap. 5                                                                                                                              l 14 bit control word (4 fields) : Fig. 8-2(b)
                                                                                                                                                                                      »   SELA (3 bits) : select a source register for the A input of the ALU
             l Microprogrammed Control : Chap. 7
                                                                                                                                                                                      »   SELB (3 bits) : select a source register for the B input of the ALU                   Tab. 8-1
          u In this chapter : Chap. 8          Computer Architecture as seen by the programmer
                                                                                                                                                                                      »   SELD (3 bits) : select a destination register using the 3 X 8 decoder
              l Describe the organization and architecture of the CPU with an emphasis on the                                                                                         »   OPR (5 bits) : select one of the operations in the ALU                                Tab. 8-2
                 user’ view of the computer
                     s                                                                                                                                                        l   Encoding of Register Selection Fields : Tab. 8-1
              l User who programs the computer in machine/assembly language must be aware                                                                                   » SELA or SELB = 000 (Input) : MUX selects the external input data
                 of                                                                                                                                                         » SELD = 000 (None) : no destination register is selected but the contents of the output
                           » 1) Instruction Formats                                                                                                                           bus are available in the external output
                                                                          Chap. 8 의 주요 내용                                                                                                                                       Control Word를 Control Memory에
                           » 2) Addressing Modes                                                                                                                        l Encoding of ALU Operation (OPR) : Tab. 8-2               저장하여 Microprogrammed
                           » 3) Register Sets                                                                                                                                                                                     Control 방식으로 제어 가능함
                                                                                                                                                                     u Examples of Microoperations : Tab. 8-3
                   l   The last section presents the concept of Reduced Instruction Set Computer
                                                                                                                                                                              l   TSFA (Transfer A) : R 7 ← R1, External Output ← R 2, External Output ← External Input
                       (RISC)
                                                                                                                                                                              l   XOR : R5 ← 0 ( XOR R5 ⊕ R 5)

    Computer System Architecture                      Chap. 8 Central Processing Unit                                                                          Computer System Architecture                           Chap. 8 Central Processing Unit




                               8-2. General Register Organization                                                                                2 / 22                                                 8-3. Stack Organization                                                            4 / 22


n      8-2 General Register Organization                                                                                                                       n   8-3 Stack Organization
                                                                                                                           External Input
         u Register의 필요성                                                                                                                                             u Stack or LIFO(Last-In, First-Out)
                                                                                               Clock                                            Input
            l Memory locations are needed for storing
                                                                                                                                                                        l A storage device that stores information
              pointers, counters, return address, temporary                               R1
                                                                                                                                                                                      » The item stored last is the first item retrieved = a stack of tray
              results, and partial products during multiplication                         R2
                                                                                          R3
              (in the programming examples of Chap. 6)                                    R4
                                                                                                                                                                              l   Stack Pointer (SP)
            l Memory access is the most time-consuming
                                                                                          R5                                                                                          » The register that holds the address for the stack
                                                                                          R6
              operation in a computer                                                     R7                                                                                          » SP always points at the top item in the stack
            l More convenient and efficient way is to store                          Load
                                                                                                                                                                              l   Two Operations of a stack : Insertion and Deletion of Items
              intermediate values in processor registers                           (7 lines)
                                                                                                SELA          MUX                      MUX              SELB                          » PUSH : Push-Down = Insertion                                                                          Address

         u Bus organization for 7 CPU registers : Fig. 8-2                                                                                                                            » POP : Pop-Up = Deletion                                                                                 64
            l 2 MUX : select one of 7 register or external data
                                                                                       3×8                      A bus                       B bus
                                                                                     decoder                                                                                  l   Stack의 종류
                       input by SELA and SELB                                                                                                                                         » 1) Register Stack (Stack Depth가 제한)                                  FULL        EMTY
            l BUS A and BUS B : form the inputs to a                                    SELD                        Arithmetic logic unit                                                     n   a finite number of memory words or register(stand alone)
                                                                                                       OPR                (ALU)
                       common ALU                                                                                                                                                     » 2) Memory Stack (Stack Depth가 유동적)
            l ALU : OPR determine the arithmetic or logic                                                                                                                                     n   a portion of a large memory                                                                       4
                                                                                                                                       External Output
                       microoperation                                                                                                                                u Register Stack : Fig. 8-3
                                                                                                                                                                                                                                                                    SP              C               3
                                                                                                                           Output                                                                                                                                                   B               2
                         » The result of the microoperation is available for                                   (a) Block diagram
                                                                                                                                                                        l PUSH : SP ← SP + 1
                                                                                                                                                                                                                                                                                    A               1
                           external data output and also goes into the inputs                            3      3            3              5                                                                                    : Increment SP              Last Item                              0
                           of all the registers                                                        SELA   SELB       SELD          OPR                         * 초기 상태                    M [ SP ] ← DR                  : Write to the stack
                                                                                                                                                                   SP = 0,
                 l     3 X 8 Decoder : select the register (by SELD)                                           (b) Control word

                                                                                                                                                                   EMTY = 1,                  If ( SP = 0 ) then ( FULL ← 1) : Check if stack is full
                              that receives the information from ALU                                                                                                                                                                                                                DR
                                                                                                                                                                   FULL = 0                   EMTY ← 0                           : Mark not empty
    Computer System Architecture                      Chap. 8 Central Processing Unit                                                                          Computer System Architecture                           Chap. 8 Central Processing Unit
8-3. Stack Organization                                                           5 / 22                                          8-4. Instruction Formats                                           7 / 22


                    » The first item is stored at address 1, and the last item is stored at address 0                                           u 3 types of CPU organizations                       X = Operand Address
            l   POP : DR ← M [ SP ]                                 : Read item from the top of stack   * Memory Stack
                                                                                                                                                    l 1) Single AC Org. : ADD X    AC ← AC + M [ X ]
                                                                                                        PUSH = Address 감소
                               SP ← SP − 1                    : Decrement Stack Pointer                                                                                                              R1 ← R 2 + R 3
                                                                                                        * Register Stack                            l 2) General Register Org. : ADD R1, R2, R3
                               If ( SP = 0 ) then ( EMTY ← 1) : Check if stack is empty                 PUSH = Address 증가
                                                                                                                                                    l 3) Stack Org. : PUSH X TOS ← M [ X ]
                               FULL ← 0                       : Mark not full                                                   Address
                                                                                                              Memory unit
                                                                                                                                                u The influence of the number of addresses on computer instruction
     u Memory Stack : Fig. 8-4                                                             PC
                                                                                                                                 1000
                                                                                                                                                        [예제] X = (A + B)*(C + D)
        l PUSH : SP ← SP − 1                                                                                    Program
                                                                                                             (instructions)                                - 4 arithmetic operations : ADD, SUB, MUL, DIV
                                   M [ SP ] ← DR
    * 초기 상태
                                                                                                                                 2000                      - 1 transfer operation to and from memory and general register : MOV
    SP = 4001       » The first item is stored at address 4000                             AR
                                                                                                                 Data                                      - 2 transfer operation to and from memory and AC register : STORE, LOAD
            l   POP : DR ← M [ SP ]                                                                           (operands)
                                                                                                                                                           - Operand memory addresses : A, B, C, D
                               SP ← SP + 1              * Error Condition
                                                                                                                                 3000
                                                       PUSH when FULL = 1                                                                                  - Result memory address : X
                                                                                                                 Stack
     u Stack Limits                                    POP when EMTY = 1
                                                                                                                                                        l 1) Three-Address Instruction
        l Check for stack overflow(full)/underflow(empty)                                                                        3997                             ADD        R1, A, B      R1 ← M [ A] + M [ B ]
                                                                                           SP                                    3998
                    » Checked by using two register
                                                                                                                                 3999
                                                                                                                                                                  ADD        R2, C, D      R 2 ← M [C ] + M [ D ]
                               n    Upper Limit and Lower Limit Register
                                                                                                                                 4000                             MUL        X, R1, R2     M [ X ] ← R1 ∗ R 2
                    » After PUSH Operation                                                                                       4001
                                                                                        Start Here                                                               » Each address fields specify either a processor register or a memory operand
                               n    SP compared with the upper limit register
                    » After POP Operation                                                                                                                        » : Short program
                                                                                                                                                                 »    Require too many bit to specify 3 address




                                                                                                                                                                    y
                               n    SP compared with the lower limit register                                     DR



Computer System Architecture                              Chap. 8 Central Processing Unit                                                 Computer System Architecture                      Chap. 8 Central Processing Unit




                                            8-4. Instruction Formats                                                          6 / 22                                          8-4. Instruction Formats                                           8 / 22


       u RPN (Reverse Polish Notation)              Stack을 이용한 Arithmetic                                                                                l   2) Two-Address Instruction
          l The common mathematical method of writing arithmetic expressions imposes                                                                              MOV        R1, A        R1 ← M [ A ]
            difficulties when evaluated by a computer                                                                                                             ADD        R1, B        R1 ← R1 + M [ B ]
          l A stack organization is very effective for evaluating arithmetic expressions                                                                          MOV        R2, C        R 2 ← M [C ]
          l 예제) A * B + C * D → AB * CD * + : Fig. 8-5                                                                                                            ADD        R2, D        R2 ← R2 + M [D]
                       » ( 3 * 4 ) + ( 5 * 6 ) → 34 * 56 * +                                                                                                      MUL        R1, R2       R1 ← R1 ∗ R 2
                                                                                                                                                                  MOV        X, R1        M [ X ] ← R1
                                                                                                                                                                 » The most common in commercial computers
                                                                                    6
                                                                                                                                                                 » Each address fields specify either a processor register or a memory operand
                                              4                         5           5           30
                                                                                                                                                         l   3) One-Address Instruction
                               3              3           12           12          12           12      42                                                        LOAD       A           AC ← M [ A]
                               3              4            *            5           6           *        +                                                        ADD        B           AC ← A[C ] + M [ B ]
                                                                                                                                                                  STORE      T           M [T ] ← AC
n     8-4 Instruction Formats                                                                                                                                     LOAD       C           AC ← M [C ]
       u Fields in Instruction Formats                                                                                                                            ADD        D           AC ← AC + M [ D ]
           l 1) Operation Code Field : specify the operation to be performed                                                                                      MUL        T           AC ← AC ∗ M [T ]
           l 2) Address Field : designate a memory address or a processor register                                                                                STORE      X           M [ X ] ← AC
           l 3) Mode Field : specify the operand or the effective address (Addressing Mode)
                                                                                                                                                                 » All operations are done between the AC register and memory operand


Computer System Architecture                              Chap. 8 Central Processing Unit                                                 Computer System Architecture                      Chap. 8 Central Processing Unit
8-4. Instruction Formats                                             9 / 22                                              8-5. Addressing Modes                                    11 / 22


               l   4) Zero-Address Instruction                                                                           u Program Counter (PC)
                        PUSH       A       TOS ← A
                                                                                                                            l PC keeps track of the instructions in the program stored in memory
                        PUSH       B       TOS ← B
                                                                                                                            l PC holds the address of the instruction to be executed next
                        ADD                TOS ← ( A + B )
                                                                                                                            l PC is incremented each time an instruction is fetched from memory
                        PUSH       C       TOS ← C
                                                                                                                         u Addressing Mode of the Instruction
                        PUSH       D       TOS ← D
                                                                                                                            l 1) Distinct Binary Code
                        ADD                TOS ← (C + D )
                                                                                                                                          » Instruction Format 에 Opcode 와 같이 별도에 Addressing Mode Field를 갖고 있음
                        MUL                TOS ← (C + D ) ∗ ( A + B )
                                                                                                                                  l   2) Single Binary Code
                        POP        X       M [ X ] ← TOS
                                                                                                                                          » Instruction Format에 Opcode 와 Addressing Mode Field가 섞여 있음
                       » Stack-organized computer does not use an address field for the instructions ADD, and
                                                                                                                         u Instruction Format with mode field : Fig. 8-6
                         MUL
                       » PUSH, and POP instructions need an address field to specify the operand                                          Opcode               Mode                         Address
                       » Zero-Address : absence of address ( ADD, MUL )
      u RISC Instruction                                                                                                 u Implied Mode
         l Only use LOAD and STORE instruction when communicating between memory                                             l Operands are specified implicitly in definition of the instruction
           and CPU                                                                                                           l Examples
         l All other instructions are executed within the registers of the CPU without                                                    » COM : Complement Accumulator
           referring to memory                                                                                                                    n   Operand in AC is implied in the definition of the instruction
         l RISC architecture will be explained in Sec. 8-8                                                                                » PUSH : Stack push
                                                                                                                                                  n   Operand is implied to be on top of the stack

Computer System Architecture                     Chap. 8 Central Processing Unit                                   Computer System Architecture                            Chap. 8 Central Processing Unit




                                       8-5. Addressing Modes                                             10 / 22                                             8-5. Addressing Modes                                    12 / 22


               l   Program to evaluate X = ( A + B ) * ( C + D )                                                         u Immediate Mode
                        LOAD       R1, A                R1 ← M [ A]                                                          l Operand field contains the actual operand
                        LOAD       R2, B                R2 ← M [B]                                                           l Useful for initializing registers to a constant value
                        LOAD       R3, C                R 3 ← M [C ]                                                         l Example : LD #NBR
                        LOAD       R4, D                R4 ← M [D ]
                                                                                                                         u Register Mode
                        ADD        R1, R1, R2           R1 ← R1 + R 2
                                                                                                                            l Operands are in registers
                        ADD        R3, R3, R4           R3 ← R3 + R4
                                                                                                                            l Register is selected from a register field in the instruction
                        MUL        R1, R1, R3           R1 ← R1 ∗ R 3
                                                                                                                                          » k-bit register field can specify any one of 2k registers
                        STORE      X, R1                M [ X ] ← R1
                                                                                                                                  l   Example : LD R1                AC ← R1               Implied Mode

n   8-5 Addressing Modes                                                                                                 u Register Indirect Mode
                                                                                                                            l Selected register contains the address of the operand rather than the operand
      u Addressing Mode의 필요성
                                                                                                                              itself
         l 1) To give programming versatility to the user
                                                                                                                            l : Address field of the instruction uses fewer bits to select a memory address
                       » pointers to memory, counters for loop control, indexing of data, … .
                                                                                                                                          » Register 를 select 하는 것이 bit 수가 적게 소요됨
               l   2) To reduce the number of bits in the addressing field of the instruction
                                                                                                                                  l   Example : LD (R1)                AC ← M [R1]
      u Instruction Cycle
                                                                                                                         u Autoincrement or Autodecrement Mode
          l 1) Fetch the instruction from memory and PC + 1
                                                                                                                            l Similar to the register indirect mode except that
          l 2) Decode the instruction
                                                                                                                                          » the register is incremented after its value is used to access memory
          l 3) Execute the instruction                                                                                                    » the register is decrement before its value is used to access memory
Computer System Architecture                     Chap. 8 Central Processing Unit                                   Computer System Architecture                            Chap. 8 Central Processing Unit
8-5. Addressing Modes                                                                    13 / 22                           8-6. Data Transfer and Manipulation                                              15 / 22


               l   Example (Autoincrement) : LD (R1)+                           AC ← M [ R1], R1 ← R1 + 1
                                                                                                                                            n   8-6 Data Transfer and Manipulation
      u Direct Addressing Mode
                                                                                                                                                  u Most computer instructions can be classified into three categories:
         l Effective address is equal to the address field of the instruction (Operand)
                                                                                                                                                     l 1) Data transfer, 2) Data manipulation, 3) Program control instructions
         l Address field specifies the actual branch address in a branch-type instruction
                                                                                                                                                  u Data Transfer Instruction
         l Example : LD ADR           AC ← M [ ADR ]
                                                                                    ADR = Address part of Instruction                                l Typical Data Transfer Instruction : Tab. 8-5
      u Indirect Addressing Mode
                                                                                                                                                                   »   Load : transfer from memory to a processor register, usually an AC (memory read)
          l Address field of instruction gives the address where the effective address is                                                                          »   Store : transfer from a processor register into memory (memory write)
            stored in memory                                                                                                                                       »   Move : transfer from one register to another register
          l Example : LD @ADR           AC ← M [ M [ ADR ]]                                                                                                        »   Exchange : swap information between two registers or a register and a memory word
      u Relative Addressing Mode                                                                                                                                   »   Input/Output : transfer data among processor registers and input/output device
         l PC is added to the address part of the instruction to obtain the effective address
                                                                                                                                                                   »   Push/Pop : transfer data between processor registers and a memory stack

         l Example : LD $ADR         AC ← M [ PC + ADR ]                                                                                                   l   8 Addressing Mode for the LOAD Instruction : Tab. 8-6
                                                                                                                                                                   »   @ : Indirect Address
      u Indexed Addressing Mode
                                                                                                                                                                   »   $ : Address relative to PC
          l XR (Index register) is added to the address part of the instruction to obtain the                                                                      »   # : Immediate Mode
            effective address                                                                                                                                      »   ( ) : Index Mode, Register Indirect, Autoincrement 에서 register 지정
          l Example : LD ADR(XR) AC ← M [ ADR + XR ]
                                                                                                                                                  u Data Manipulation Instruction
      u Base Register Addressing Mode            Not Here                                                                                            l 1) Arithmetic, 2) Logical and bit manipulation, 3) Shift Instruction
         l the content of a base register is added to the address part of the instruction to
           obtain the effective address
Computer System Architecture                              Chap. 8 Central Processing Unit                                                   Computer System Architecture                     Chap. 8 Central Processing Unit




                                         8-5. Addressing Modes                                                                    14 / 22                                           8-7. Program Control                                             16 / 22


          l    Similar to the indexed addressing mode except that the register is now called a                                                             l   Arithmetic Instructions : Tab. 8-7
               base register instead of an index register
                                                                                                                                                           l   Logical and Bit Manipulation Instructions : Tab. 8-8
                   » index register (XR) : LD ADR(XR)                AC ← M [ ADR + XR ]                      ADR 기준
                           n   index register hold an index number that is relative to the address part of the instruction                                 l   Shift Instructions : Tab. 8-9
                   » base register (BR) : LD ADR(BR)                       AC ← M [ BR + ADR ]                   BR 기준                      n   8-7 Program Control
                           n   base register hold a base address
                           n   the address field of the instruction gives a displacement relative to this base address                            u Program Control Instruction : Tab. 8-10
                                                                                                       Address           Memory                      l Branch and Jump instructions are used interchangeably to mean the same thing
  u Numerical Example
                                                                                     PC = 200              200     Load to AC      Mode
         Addressing Mode              Effective Address    Content of AC                                                                          u Status Bit Conditions : Fig. 8-8
                                                                                                           201      Address = 500
  Immediate Address Mode                     201               500
                                                                                                                                                     l Condition Code Bit or Flag Bit
  Direct Address Mode                        500               800                   R1 = 400              202     Next instruction
  Indirect Address Mode                      800               300                                                                                                 » The bits are set or cleared as a result of an operation performed in the ALU
  Register Mode                                                400                                                                                u 4-bit status register
                                                                                     XR = 100
  Register Indirect Mode                    400                700
  Relative Address Mode                     702                325                                         399           450                          l Bit C (carry) : set to 1 if the end carry C8 is 1
  Indexed Address Mode                      600                900                      AC                 400           700                          l Bit S (sign) : set to 1 if F7 is 1
  Autoincrement Mode                        400                700
  u
  Autodecrement Mode                        399                450                                         500           800                          l Bit Z (zero) : set to 1 if the output of the ALU contains all 0’
                                                                                                                                                                                                                       s
                                                               R1 = 400                                                                               l Bit V (overflow) : set to 1 if the exclusive-OR of the last two carries (C8 and C7) is
                                                                                                           600           900                                                equal to 1
                                                            500 + 202 (PC)
          R1 = 400 (after)                                                                                                                            l Flag Example : A - B = A + ( 2’ Comp. Of B ) : A =11110000, B = 00010100
                                                                                                                                                                                           s
                                                                                                           702           325
                                                           500 + 100 (XR)                                                                                        11110000
         R1 = 400 -1 (prior)
                                                                                                                                                               + 11101100 (2’ comp. of B)
                                                                                                                                                                            s                         C = 1, S = 1, V = 0, Z = 0
                                                                                                           800           300
                                                                                                                                                               1 11011100
Computer System Architecture                              Chap. 8 Central Processing Unit                                                   Computer System Architecture                     Chap. 8 Central Processing Unit
8-7. Program Control                                                               17 / 22              8-8. Reduced Instruction Set Computer (RISC)                                                                                           19 / 22


      u Conditional Branch : Tab. 8-11                                                                                                   n    8-8 Reduced Instruction Set Computer (RISC)
      u Subroutine Call and Return                                                                                                             u Complex Instruction Set Computer (CISC)
         l CALL : SP ← SP − 1                                   : Decrement stack point                                                           l Major characteristics of a CISC architecture
                                M [ SP ] ← PC          : Push content of PC onto the stack                                                                      »   1) A large number of instructions - typically from 100 to 250 instruction
                                PC ← Effective Address : Transfer control to the subroutine                                                                     »   2) Some instructions that perform specialized tasks and are used infrequently
               l   RETURN : PC ← M [ SP ] : Pop stack and transfer to PC                                                                                        »   3) A large variety of addressing modes - typically from 5 to 20 different modes
                                                                                                                                                                »   4) Variable-length instruction formats
                                     SP ← SP + 1        : Increment stack pointer
                                                                                                                                                                »   5) Instructions that manipulate operands in memory (RISC 에서는 in register)
      u Program Interrupt
                                                                                                                                               u Reduced Instruction Set Computer (RISC)
         l Program Interrupt
                                                                                                                                                  l Major characteristics of a RISC architecture
                       » Transfer program control from a currently running program to another service program
                         as a result of an external or internal generated request                                                                               »   1) Relatively few instructions
                       » Control returns to the original program after the service program is executed                                                          »   2) Relatively few addressing modes
                                                                                                                                                                »   3) Memory access limited to load and store instruction
               l   Interrupt Service Program 과 Subroutine Call 의 차이점
                                                                                                                                                                »   4) All operations done within the registers of the CPU
                       » 1) An interrupt is initiated by an internal or external signal (except for software interrupt)
                                                                                                                                                                »   5) Fixed-length, easily decoded instruction format
                               n   A subroutine call is initiated from the execution of an instruction (CALL)
                       » 2) The address of the interrupt service program is determined by the hardware                                                          »   6) Single-cycle instruction execution
                               n   The address of the subroutine call is determined from the address field of an instruction                                    »   7) Hardwired rather than microprogrammed control
                       » 3) An interrupt procedure stores all the information necessary to define the state of the
                            CPU
                               n   A subroutine call stores only the program counter (Return address)

Computer System Architecture                            Chap. 8 Central Processing Unit                                                  Computer System Architecture                      Chap. 8 Central Processing Unit




                                            8-7. Program Control                                                               18 / 22              8-8. Reduced Instruction Set Computer (RISC)                                                                                           20 / 22


          l    Program Status Word (PSW)                                                                                                           l    Other characteristics of a RISC architecture
                                                                                                 External Int.
                   » The collection of all status bit conditions in the CPU                                           Interrupt                             »   1) A relatively large number of registers in the processor unit
                                                                                                 Internal Int.
                                                                                                                       Detect                               »   2) Use of overlapped register windows to speed-up procedure call and return
          l    Two CPU Operating Modes                                                           Software Int.
                   » Supervisor (System) Mode : Privileged Instruction 실행                                                                                   »   3) Efficient instruction pipeline
                           n   When the CPU is executing a program that is part of                                 Determine the                            »   4) Compiler support for efficient translation of high-level language programs into
                               the operating system                                                                address of ISR                               machine language programs                                      R15


                   » User Mode : User program 실행                   PC, CPU Register, Status Condition                                                                                                                                     Common to D and A
                                                                                                                                                                                                                                                                               Circular Window
                                                                                                                                             u Overlapped Register Windows                                                     R10
                           n   When the CPU is executing an user program                                          Store Information
                                                                                                                                                                                                                               R73

                CPU operating mode is determined from special bits in the PSW                                                                   l Time consuming operations during procedure call                                          Local to D

                                                                                                                                                                                                                               R64
                                                                                                                                                            » Saving and restoring registers                                             R63
                                                                                                                                                                                                                                                           Common to C and D

  u Types of Interrupts                                                                                           Main body of ISR                          » Passing of parameters and results                                          R58
                                                                                                                                                                                                                                                R57
                                                                                                                                                                                                                             Proc D

     l 1) External Interrupts                                                                         ISR                                          l    Overlapped Register Windows                                                                        Local to C



                   » come from I/O device, from a timing device, from a circuit                                                                             » Provide the passing of parameters and avoid the need                              R48
                                                                                                                                                                                                                                                         R47


                     monitoring the power supply, or from any other external source
                                                                                                                 Restore Information                          for saving and restoring register values by hardware                                                       Common to B and C

                                                                                                                                                                                                                                                         R42

          l    2) Internal Interrupts or TRAP                                                                                                u Concept of overlapped register windows : Fig. 8-9                                               Proc C           R41
                                                                                                                                                                                                                                                                         Local to B
                                                                                                                      Interrupt
                   » caused by register overflow, attempt to divide by zero,                                            Return                  l Total 74 registers : R0 - R73                                                                                 R32
                                                                                                                                                                                                                                                                        R31
                                                                                                                                                                                                                                                                                       Common to A and B
                     an invalid operation code, stack overflow, and protection violation                                                                    » R0 - R9 : Global registers
                                                                                                                                                                                                                                                                        R26
          l    3) Software Interrupts                                                                                                                       » R10 - R63 : 4 windows                                                                            Proc B          R25
                                                                                                                                                                                                                                                                                       Local to A

                   » initiated by executing an instruction (INT or RST)                                                                                             n   Window A
                                                                                                                                                                                         10 Local registers
                                                                                                                                                                                                                                                                               R16
                                                                                                                                                                                                                                R9                                             R15
                   » used by the programmer to initiate an interrupt procedure at any desired point in the                                                          n   Window B
                                                                                                                                                                                                  +
                                                                                                                                                                                                                                          C o m m o n to all                           Common to A and D
                                                                                                                                                                                                                                          Procedures
                                                                                                                                                                    n   Window C
                     program                                                                                                                                                            2 sets of 6 registers                   R0
                                                                                                                                                                                                                              Global
                                                                                                                                                                                                                                                                               R10
                                                                                                                                                                                                                                                                              Proc A
                                                                                                                                                                    n   Window D    (common to adjacent windows)             registers



Computer System Architecture                            Chap. 8 Central Processing Unit                                                  Computer System Architecture                      Chap. 8 Central Processing Unit
8-8. Reduced Instruction Set Computer (RISC)                                                                           21 / 22


               l   Example) Procedure A calls procedure B
                       » R26 - R31
                               n   Store parameters for procedure B
                               n   Store results of procedure B
                       » R16 - R25 : Local to procedure A
                       » R32 - R41 : Local to procedure B
               l   Window Size = L + 2C + G = 10 + ( 2 X 6 ) + 10 = 32 registers
               l   Register File (total register) = (L + C) X W + G = (10 + 6 ) X 4 + 10 = 74 registers
                       » 여기서, G : Global registers = 10
                              L : Local registers = 10
                              C : Common registers = 6
                              W : Number of windows = 4
      u Berkeley RISC I
         l RISC Architecture 의 기원 : 1980 년대 초
                       » Berkeley RISC project : first project = Berkeley RISC I
                       » Stanford MIPS project
               l   Berkeley RISC I
                       » 32 bit CPU, 32 bit instruction format, 31 instruction
                       » 3 addressing modes : register, immediate, relative to PC



Computer System Architecture                          Chap. 8 Central Processing Unit




           8-8. Reduced Instruction Set Computer (RISC)                                                                           22 / 22

  l   Instruction Set : Tab. 8-12
  l   Instruction Format : Fig. 8-10                                  31    24 23    19 18    14 13 12          5 4                    0
  l   Register Mode : bit 13 = 0                                       Opcode     Rd       Rs    0     Not used                   S2
          » S2 = register                                                  8           5            5       1            8        5

          » Example) ADD R22, R21, R23                                         (a) Register mode : (S2 specifies a register)
                   n   ADD Rs, S2, Rd : Rd = Rs + S2
  l   Register Immediate Mode : bit 13 = 1                            31       24 23        19 18        14 13 12                      0
                                                                       Opcode          Rd           Rs      1                S2
          » S2 = sign extended 13 bit constant
                                                                           8           5            5       1                13
          » Example) LDL (R22)#150, R5
                   n   LDL (Rs)S2, Rd : Rd = M[R22] + 150                  (b) Register-immediate mode : (S2 specifies an operand)
  l   PC Relative Mode
                                                                      31    24 23    19 18                                             0
          » Y = 19 bit relative address                                Opcode    COND                               Y
          » Example) JMPR COND, Y                                          8           5                            19
                   n   Jump to PC = PC + Y
          » CWP (Current Window Pointer)                                                    (c) PC relative mode :
                   n   CALL, RET시 stack pointer 같이 사용됨
  l   RISC Architecture Originator
           Architecture                Originator                       Licensees
           Alpha               DEC                       Mitsubishi, Samsung
           MIPS                MIPS Technologies         NEC, Toshiba
           PA-RISC             Hewlett Packard           Hitachi, Samsung
           PowerPC             Apple, IBM, Motorola      Bul                                                                                r   p
           Sparc               Sun                       Fujitsu, Hyundai
           i960                Intel                     Intel only (Embedded Controller)


Computer System Architecture                          Chap. 8 Central Processing Unit

Weitere ähnliche Inhalte

Was ist angesagt?

Programming the basic computer
Programming the basic computerProgramming the basic computer
Programming the basic computerKamal Acharya
 
Code optimization in compiler design
Code optimization in compiler designCode optimization in compiler design
Code optimization in compiler designKuppusamy P
 
Microprogram Control
Microprogram Control Microprogram Control
Microprogram Control Anuj Modi
 
Input Output Organization
Input Output OrganizationInput Output Organization
Input Output OrganizationKamal Acharya
 
Assembly Language Programming Of 8085
Assembly Language Programming Of 8085Assembly Language Programming Of 8085
Assembly Language Programming Of 8085techbed
 
Control Unit Design
Control Unit DesignControl Unit Design
Control Unit DesignVinit Raut
 
Allocation of Frames & Thrashing
Allocation of Frames & ThrashingAllocation of Frames & Thrashing
Allocation of Frames & Thrashingarifmollick8578
 
Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Designmekind
 
Special of 80386 registers
Special of 80386 registersSpecial of 80386 registers
Special of 80386 registersTanmoy Mazumder
 
BASIC COMPUTER ORGANIZATION AND DESIGN
BASIC  COMPUTER  ORGANIZATION  AND  DESIGNBASIC  COMPUTER  ORGANIZATION  AND  DESIGN
BASIC COMPUTER ORGANIZATION AND DESIGNDr. Ajay Kumar Singh
 
Computer organization memory
Computer organization memoryComputer organization memory
Computer organization memoryDeepak John
 
Assemblers: Ch03
Assemblers: Ch03Assemblers: Ch03
Assemblers: Ch03desta_gebre
 

Was ist angesagt? (20)

Programming the basic computer
Programming the basic computerProgramming the basic computer
Programming the basic computer
 
Interrupt
InterruptInterrupt
Interrupt
 
Code optimization in compiler design
Code optimization in compiler designCode optimization in compiler design
Code optimization in compiler design
 
Basic Computer Organization and Design
Basic  Computer  Organization  and  DesignBasic  Computer  Organization  and  Design
Basic Computer Organization and Design
 
Microprogram Control
Microprogram Control Microprogram Control
Microprogram Control
 
Input Output Organization
Input Output OrganizationInput Output Organization
Input Output Organization
 
Assembly Language Programming Of 8085
Assembly Language Programming Of 8085Assembly Language Programming Of 8085
Assembly Language Programming Of 8085
 
Control Unit Design
Control Unit DesignControl Unit Design
Control Unit Design
 
Allocation of Frames & Thrashing
Allocation of Frames & ThrashingAllocation of Frames & Thrashing
Allocation of Frames & Thrashing
 
Addressing modes
Addressing modesAddressing modes
Addressing modes
 
Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Design
 
Micro program example
Micro program exampleMicro program example
Micro program example
 
Special of 80386 registers
Special of 80386 registersSpecial of 80386 registers
Special of 80386 registers
 
Addressing modes
Addressing modesAddressing modes
Addressing modes
 
Input & Output
Input & OutputInput & Output
Input & Output
 
BASIC COMPUTER ORGANIZATION AND DESIGN
BASIC  COMPUTER  ORGANIZATION  AND  DESIGNBASIC  COMPUTER  ORGANIZATION  AND  DESIGN
BASIC COMPUTER ORGANIZATION AND DESIGN
 
Interrupts and types of interrupts
Interrupts and types of interruptsInterrupts and types of interrupts
Interrupts and types of interrupts
 
Computer organization memory
Computer organization memoryComputer organization memory
Computer organization memory
 
Assemblers: Ch03
Assemblers: Ch03Assemblers: Ch03
Assemblers: Ch03
 
Data transferschemes
Data transferschemesData transferschemes
Data transferschemes
 

Ähnlich wie Ch8 (1) morris mano

Central Processing Unit User View
Central Processing Unit User ViewCentral Processing Unit User View
Central Processing Unit User ViewAnuj Modi
 
Bca 2nd sem-u-3-basic computer programming and micro programmed control
Bca 2nd sem-u-3-basic computer programming and micro programmed controlBca 2nd sem-u-3-basic computer programming and micro programmed control
Bca 2nd sem-u-3-basic computer programming and micro programmed controlRai University
 
B.sc cs-ii-u-3-basic computer programming and micro programmed control
B.sc cs-ii-u-3-basic computer programming and micro programmed controlB.sc cs-ii-u-3-basic computer programming and micro programmed control
B.sc cs-ii-u-3-basic computer programming and micro programmed controlRai University
 
basic computer programming and micro programmed control
basic computer programming and micro programmed controlbasic computer programming and micro programmed control
basic computer programming and micro programmed controlRai University
 
LEC 2-register transfer and register transfer language.ppt
LEC 2-register transfer and register transfer language.pptLEC 2-register transfer and register transfer language.ppt
LEC 2-register transfer and register transfer language.pptmailmynew202
 
Berkeley Packet Filters
Berkeley Packet FiltersBerkeley Packet Filters
Berkeley Packet FiltersKernel TLV
 
Intel x86 Architecture
Intel x86 ArchitectureIntel x86 Architecture
Intel x86 ArchitectureChangWoo Min
 
Verification of uart ip core using uvm
Verification of uart ip core using uvmVerification of uart ip core using uvm
Verification of uart ip core using uvmeSAT Publishing House
 
Chapter 1 microprocessor introduction
Chapter 1 microprocessor introductionChapter 1 microprocessor introduction
Chapter 1 microprocessor introductionShubham Singh
 
microprocessor8085pptcomplete-170518063501.pdf
microprocessor8085pptcomplete-170518063501.pdfmicroprocessor8085pptcomplete-170518063501.pdf
microprocessor8085pptcomplete-170518063501.pdfBasantRai15
 
Microprocessor 8085 complete
Microprocessor 8085 completeMicroprocessor 8085 complete
Microprocessor 8085 completeShubham Singh
 
unit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptxunit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptxKandavelEee
 
Computer Organization and 8085 microprocessor notes
Computer Organization and 8085 microprocessor notesComputer Organization and 8085 microprocessor notes
Computer Organization and 8085 microprocessor notesLakshmi Sarvani Videla
 

Ähnlich wie Ch8 (1) morris mano (20)

Central Processing Unit User View
Central Processing Unit User ViewCentral Processing Unit User View
Central Processing Unit User View
 
Bca 2nd sem-u-3-basic computer programming and micro programmed control
Bca 2nd sem-u-3-basic computer programming and micro programmed controlBca 2nd sem-u-3-basic computer programming and micro programmed control
Bca 2nd sem-u-3-basic computer programming and micro programmed control
 
Unit iii mca 1st year
Unit iii mca 1st yearUnit iii mca 1st year
Unit iii mca 1st year
 
B.sc cs-ii-u-3-basic computer programming and micro programmed control
B.sc cs-ii-u-3-basic computer programming and micro programmed controlB.sc cs-ii-u-3-basic computer programming and micro programmed control
B.sc cs-ii-u-3-basic computer programming and micro programmed control
 
basic computer programming and micro programmed control
basic computer programming and micro programmed controlbasic computer programming and micro programmed control
basic computer programming and micro programmed control
 
Lect11 organization
Lect11 organizationLect11 organization
Lect11 organization
 
MicroProcessors
MicroProcessors MicroProcessors
MicroProcessors
 
Assembler (2)
Assembler (2)Assembler (2)
Assembler (2)
 
Introduction of CPU.pptx
Introduction of CPU.pptxIntroduction of CPU.pptx
Introduction of CPU.pptx
 
assignment 1-MC.pdf
assignment 1-MC.pdfassignment 1-MC.pdf
assignment 1-MC.pdf
 
LEC 2-register transfer and register transfer language.ppt
LEC 2-register transfer and register transfer language.pptLEC 2-register transfer and register transfer language.ppt
LEC 2-register transfer and register transfer language.ppt
 
Berkeley Packet Filters
Berkeley Packet FiltersBerkeley Packet Filters
Berkeley Packet Filters
 
Intel x86 Architecture
Intel x86 ArchitectureIntel x86 Architecture
Intel x86 Architecture
 
Verification of uart ip core using uvm
Verification of uart ip core using uvmVerification of uart ip core using uvm
Verification of uart ip core using uvm
 
Chapter 1 microprocessor introduction
Chapter 1 microprocessor introductionChapter 1 microprocessor introduction
Chapter 1 microprocessor introduction
 
microprocessor8085pptcomplete-170518063501.pdf
microprocessor8085pptcomplete-170518063501.pdfmicroprocessor8085pptcomplete-170518063501.pdf
microprocessor8085pptcomplete-170518063501.pdf
 
Microprocessor 8085 complete
Microprocessor 8085 completeMicroprocessor 8085 complete
Microprocessor 8085 complete
 
unit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptxunit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptx
 
8085 lab
8085 lab8085 lab
8085 lab
 
Computer Organization and 8085 microprocessor notes
Computer Organization and 8085 microprocessor notesComputer Organization and 8085 microprocessor notes
Computer Organization and 8085 microprocessor notes
 

Kürzlich hochgeladen

Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationRosabel UA
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxJanEmmanBrigoli
 

Kürzlich hochgeladen (20)

Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translation
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptx
 

Ch8 (1) morris mano

  • 1. 8-1. Introduction 1 / 22 8-2. General Register Organization 3 / 22 n 8-1 Introduction u Binary selector input : 예제 R1 ← R 2 + R 3 u 3 major parts of CPU : Fig. 8-1 l 1) MUX A selector (SELA) : to place the content of R2 into BUS A l 1) Register Set l 2) MUX B selector (SELB) : to place the content of R3 into BUS B l 2) ALU l 3) ALU operation selector (OPR) : to provide the arithmetic addition R2 + R3 l 3) Control l 4) Decoder selector (SELD) : to transfer the content of the output bus into R1 u Design Examples of simple CPU u Control Word l Hardwired Control : Chap. 5 l 14 bit control word (4 fields) : Fig. 8-2(b) » SELA (3 bits) : select a source register for the A input of the ALU l Microprogrammed Control : Chap. 7 » SELB (3 bits) : select a source register for the B input of the ALU Tab. 8-1 u In this chapter : Chap. 8 Computer Architecture as seen by the programmer » SELD (3 bits) : select a destination register using the 3 X 8 decoder l Describe the organization and architecture of the CPU with an emphasis on the » OPR (5 bits) : select one of the operations in the ALU Tab. 8-2 user’ view of the computer s l Encoding of Register Selection Fields : Tab. 8-1 l User who programs the computer in machine/assembly language must be aware » SELA or SELB = 000 (Input) : MUX selects the external input data of » SELD = 000 (None) : no destination register is selected but the contents of the output » 1) Instruction Formats bus are available in the external output Chap. 8 의 주요 내용 Control Word를 Control Memory에 » 2) Addressing Modes l Encoding of ALU Operation (OPR) : Tab. 8-2 저장하여 Microprogrammed » 3) Register Sets Control 방식으로 제어 가능함 u Examples of Microoperations : Tab. 8-3 l The last section presents the concept of Reduced Instruction Set Computer l TSFA (Transfer A) : R 7 ← R1, External Output ← R 2, External Output ← External Input (RISC) l XOR : R5 ← 0 ( XOR R5 ⊕ R 5) Computer System Architecture Chap. 8 Central Processing Unit Computer System Architecture Chap. 8 Central Processing Unit 8-2. General Register Organization 2 / 22 8-3. Stack Organization 4 / 22 n 8-2 General Register Organization n 8-3 Stack Organization External Input u Register의 필요성 u Stack or LIFO(Last-In, First-Out) Clock Input l Memory locations are needed for storing l A storage device that stores information pointers, counters, return address, temporary R1 » The item stored last is the first item retrieved = a stack of tray results, and partial products during multiplication R2 R3 (in the programming examples of Chap. 6) R4 l Stack Pointer (SP) l Memory access is the most time-consuming R5 » The register that holds the address for the stack R6 operation in a computer R7 » SP always points at the top item in the stack l More convenient and efficient way is to store Load l Two Operations of a stack : Insertion and Deletion of Items intermediate values in processor registers (7 lines) SELA MUX MUX SELB » PUSH : Push-Down = Insertion Address u Bus organization for 7 CPU registers : Fig. 8-2 » POP : Pop-Up = Deletion 64 l 2 MUX : select one of 7 register or external data 3×8 A bus B bus decoder l Stack의 종류 input by SELA and SELB » 1) Register Stack (Stack Depth가 제한) FULL EMTY l BUS A and BUS B : form the inputs to a SELD Arithmetic logic unit n a finite number of memory words or register(stand alone) OPR (ALU) common ALU » 2) Memory Stack (Stack Depth가 유동적) l ALU : OPR determine the arithmetic or logic n a portion of a large memory 4 External Output microoperation u Register Stack : Fig. 8-3 SP C 3 Output B 2 » The result of the microoperation is available for (a) Block diagram l PUSH : SP ← SP + 1 A 1 external data output and also goes into the inputs 3 3 3 5 : Increment SP Last Item 0 of all the registers SELA SELB SELD OPR * 초기 상태 M [ SP ] ← DR : Write to the stack SP = 0, l 3 X 8 Decoder : select the register (by SELD) (b) Control word EMTY = 1, If ( SP = 0 ) then ( FULL ← 1) : Check if stack is full that receives the information from ALU DR FULL = 0 EMTY ← 0 : Mark not empty Computer System Architecture Chap. 8 Central Processing Unit Computer System Architecture Chap. 8 Central Processing Unit
  • 2. 8-3. Stack Organization 5 / 22 8-4. Instruction Formats 7 / 22 » The first item is stored at address 1, and the last item is stored at address 0 u 3 types of CPU organizations X = Operand Address l POP : DR ← M [ SP ] : Read item from the top of stack * Memory Stack l 1) Single AC Org. : ADD X AC ← AC + M [ X ] PUSH = Address 감소 SP ← SP − 1 : Decrement Stack Pointer R1 ← R 2 + R 3 * Register Stack l 2) General Register Org. : ADD R1, R2, R3 If ( SP = 0 ) then ( EMTY ← 1) : Check if stack is empty PUSH = Address 증가 l 3) Stack Org. : PUSH X TOS ← M [ X ] FULL ← 0 : Mark not full Address Memory unit u The influence of the number of addresses on computer instruction u Memory Stack : Fig. 8-4 PC 1000 [예제] X = (A + B)*(C + D) l PUSH : SP ← SP − 1 Program (instructions) - 4 arithmetic operations : ADD, SUB, MUL, DIV M [ SP ] ← DR * 초기 상태 2000 - 1 transfer operation to and from memory and general register : MOV SP = 4001 » The first item is stored at address 4000 AR Data - 2 transfer operation to and from memory and AC register : STORE, LOAD l POP : DR ← M [ SP ] (operands) - Operand memory addresses : A, B, C, D SP ← SP + 1 * Error Condition 3000 PUSH when FULL = 1 - Result memory address : X Stack u Stack Limits POP when EMTY = 1 l 1) Three-Address Instruction l Check for stack overflow(full)/underflow(empty) 3997 ADD R1, A, B R1 ← M [ A] + M [ B ] SP 3998 » Checked by using two register 3999 ADD R2, C, D R 2 ← M [C ] + M [ D ] n Upper Limit and Lower Limit Register 4000 MUL X, R1, R2 M [ X ] ← R1 ∗ R 2 » After PUSH Operation 4001 Start Here » Each address fields specify either a processor register or a memory operand n SP compared with the upper limit register » After POP Operation » : Short program » Require too many bit to specify 3 address y n SP compared with the lower limit register DR Computer System Architecture Chap. 8 Central Processing Unit Computer System Architecture Chap. 8 Central Processing Unit 8-4. Instruction Formats 6 / 22 8-4. Instruction Formats 8 / 22 u RPN (Reverse Polish Notation) Stack을 이용한 Arithmetic l 2) Two-Address Instruction l The common mathematical method of writing arithmetic expressions imposes MOV R1, A R1 ← M [ A ] difficulties when evaluated by a computer ADD R1, B R1 ← R1 + M [ B ] l A stack organization is very effective for evaluating arithmetic expressions MOV R2, C R 2 ← M [C ] l 예제) A * B + C * D → AB * CD * + : Fig. 8-5 ADD R2, D R2 ← R2 + M [D] » ( 3 * 4 ) + ( 5 * 6 ) → 34 * 56 * + MUL R1, R2 R1 ← R1 ∗ R 2 MOV X, R1 M [ X ] ← R1 » The most common in commercial computers 6 » Each address fields specify either a processor register or a memory operand 4 5 5 30 l 3) One-Address Instruction 3 3 12 12 12 12 42 LOAD A AC ← M [ A] 3 4 * 5 6 * + ADD B AC ← A[C ] + M [ B ] STORE T M [T ] ← AC n 8-4 Instruction Formats LOAD C AC ← M [C ] u Fields in Instruction Formats ADD D AC ← AC + M [ D ] l 1) Operation Code Field : specify the operation to be performed MUL T AC ← AC ∗ M [T ] l 2) Address Field : designate a memory address or a processor register STORE X M [ X ] ← AC l 3) Mode Field : specify the operand or the effective address (Addressing Mode) » All operations are done between the AC register and memory operand Computer System Architecture Chap. 8 Central Processing Unit Computer System Architecture Chap. 8 Central Processing Unit
  • 3. 8-4. Instruction Formats 9 / 22 8-5. Addressing Modes 11 / 22 l 4) Zero-Address Instruction u Program Counter (PC) PUSH A TOS ← A l PC keeps track of the instructions in the program stored in memory PUSH B TOS ← B l PC holds the address of the instruction to be executed next ADD TOS ← ( A + B ) l PC is incremented each time an instruction is fetched from memory PUSH C TOS ← C u Addressing Mode of the Instruction PUSH D TOS ← D l 1) Distinct Binary Code ADD TOS ← (C + D ) » Instruction Format 에 Opcode 와 같이 별도에 Addressing Mode Field를 갖고 있음 MUL TOS ← (C + D ) ∗ ( A + B ) l 2) Single Binary Code POP X M [ X ] ← TOS » Instruction Format에 Opcode 와 Addressing Mode Field가 섞여 있음 » Stack-organized computer does not use an address field for the instructions ADD, and u Instruction Format with mode field : Fig. 8-6 MUL » PUSH, and POP instructions need an address field to specify the operand Opcode Mode Address » Zero-Address : absence of address ( ADD, MUL ) u RISC Instruction u Implied Mode l Only use LOAD and STORE instruction when communicating between memory l Operands are specified implicitly in definition of the instruction and CPU l Examples l All other instructions are executed within the registers of the CPU without » COM : Complement Accumulator referring to memory n Operand in AC is implied in the definition of the instruction l RISC architecture will be explained in Sec. 8-8 » PUSH : Stack push n Operand is implied to be on top of the stack Computer System Architecture Chap. 8 Central Processing Unit Computer System Architecture Chap. 8 Central Processing Unit 8-5. Addressing Modes 10 / 22 8-5. Addressing Modes 12 / 22 l Program to evaluate X = ( A + B ) * ( C + D ) u Immediate Mode LOAD R1, A R1 ← M [ A] l Operand field contains the actual operand LOAD R2, B R2 ← M [B] l Useful for initializing registers to a constant value LOAD R3, C R 3 ← M [C ] l Example : LD #NBR LOAD R4, D R4 ← M [D ] u Register Mode ADD R1, R1, R2 R1 ← R1 + R 2 l Operands are in registers ADD R3, R3, R4 R3 ← R3 + R4 l Register is selected from a register field in the instruction MUL R1, R1, R3 R1 ← R1 ∗ R 3 » k-bit register field can specify any one of 2k registers STORE X, R1 M [ X ] ← R1 l Example : LD R1 AC ← R1 Implied Mode n 8-5 Addressing Modes u Register Indirect Mode l Selected register contains the address of the operand rather than the operand u Addressing Mode의 필요성 itself l 1) To give programming versatility to the user l : Address field of the instruction uses fewer bits to select a memory address » pointers to memory, counters for loop control, indexing of data, … . » Register 를 select 하는 것이 bit 수가 적게 소요됨 l 2) To reduce the number of bits in the addressing field of the instruction l Example : LD (R1) AC ← M [R1] u Instruction Cycle u Autoincrement or Autodecrement Mode l 1) Fetch the instruction from memory and PC + 1 l Similar to the register indirect mode except that l 2) Decode the instruction » the register is incremented after its value is used to access memory l 3) Execute the instruction » the register is decrement before its value is used to access memory Computer System Architecture Chap. 8 Central Processing Unit Computer System Architecture Chap. 8 Central Processing Unit
  • 4. 8-5. Addressing Modes 13 / 22 8-6. Data Transfer and Manipulation 15 / 22 l Example (Autoincrement) : LD (R1)+ AC ← M [ R1], R1 ← R1 + 1 n 8-6 Data Transfer and Manipulation u Direct Addressing Mode u Most computer instructions can be classified into three categories: l Effective address is equal to the address field of the instruction (Operand) l 1) Data transfer, 2) Data manipulation, 3) Program control instructions l Address field specifies the actual branch address in a branch-type instruction u Data Transfer Instruction l Example : LD ADR AC ← M [ ADR ] ADR = Address part of Instruction l Typical Data Transfer Instruction : Tab. 8-5 u Indirect Addressing Mode » Load : transfer from memory to a processor register, usually an AC (memory read) l Address field of instruction gives the address where the effective address is » Store : transfer from a processor register into memory (memory write) stored in memory » Move : transfer from one register to another register l Example : LD @ADR AC ← M [ M [ ADR ]] » Exchange : swap information between two registers or a register and a memory word u Relative Addressing Mode » Input/Output : transfer data among processor registers and input/output device l PC is added to the address part of the instruction to obtain the effective address » Push/Pop : transfer data between processor registers and a memory stack l Example : LD $ADR AC ← M [ PC + ADR ] l 8 Addressing Mode for the LOAD Instruction : Tab. 8-6 » @ : Indirect Address u Indexed Addressing Mode » $ : Address relative to PC l XR (Index register) is added to the address part of the instruction to obtain the » # : Immediate Mode effective address » ( ) : Index Mode, Register Indirect, Autoincrement 에서 register 지정 l Example : LD ADR(XR) AC ← M [ ADR + XR ] u Data Manipulation Instruction u Base Register Addressing Mode Not Here l 1) Arithmetic, 2) Logical and bit manipulation, 3) Shift Instruction l the content of a base register is added to the address part of the instruction to obtain the effective address Computer System Architecture Chap. 8 Central Processing Unit Computer System Architecture Chap. 8 Central Processing Unit 8-5. Addressing Modes 14 / 22 8-7. Program Control 16 / 22 l Similar to the indexed addressing mode except that the register is now called a l Arithmetic Instructions : Tab. 8-7 base register instead of an index register l Logical and Bit Manipulation Instructions : Tab. 8-8 » index register (XR) : LD ADR(XR) AC ← M [ ADR + XR ] ADR 기준 n index register hold an index number that is relative to the address part of the instruction l Shift Instructions : Tab. 8-9 » base register (BR) : LD ADR(BR) AC ← M [ BR + ADR ] BR 기준 n 8-7 Program Control n base register hold a base address n the address field of the instruction gives a displacement relative to this base address u Program Control Instruction : Tab. 8-10 Address Memory l Branch and Jump instructions are used interchangeably to mean the same thing u Numerical Example PC = 200 200 Load to AC Mode Addressing Mode Effective Address Content of AC u Status Bit Conditions : Fig. 8-8 201 Address = 500 Immediate Address Mode 201 500 l Condition Code Bit or Flag Bit Direct Address Mode 500 800 R1 = 400 202 Next instruction Indirect Address Mode 800 300 » The bits are set or cleared as a result of an operation performed in the ALU Register Mode 400 u 4-bit status register XR = 100 Register Indirect Mode 400 700 Relative Address Mode 702 325 399 450 l Bit C (carry) : set to 1 if the end carry C8 is 1 Indexed Address Mode 600 900 AC 400 700 l Bit S (sign) : set to 1 if F7 is 1 Autoincrement Mode 400 700 u Autodecrement Mode 399 450 500 800 l Bit Z (zero) : set to 1 if the output of the ALU contains all 0’ s R1 = 400 l Bit V (overflow) : set to 1 if the exclusive-OR of the last two carries (C8 and C7) is 600 900 equal to 1 500 + 202 (PC) R1 = 400 (after) l Flag Example : A - B = A + ( 2’ Comp. Of B ) : A =11110000, B = 00010100 s 702 325 500 + 100 (XR) 11110000 R1 = 400 -1 (prior) + 11101100 (2’ comp. of B) s C = 1, S = 1, V = 0, Z = 0 800 300 1 11011100 Computer System Architecture Chap. 8 Central Processing Unit Computer System Architecture Chap. 8 Central Processing Unit
  • 5. 8-7. Program Control 17 / 22 8-8. Reduced Instruction Set Computer (RISC) 19 / 22 u Conditional Branch : Tab. 8-11 n 8-8 Reduced Instruction Set Computer (RISC) u Subroutine Call and Return u Complex Instruction Set Computer (CISC) l CALL : SP ← SP − 1 : Decrement stack point l Major characteristics of a CISC architecture M [ SP ] ← PC : Push content of PC onto the stack » 1) A large number of instructions - typically from 100 to 250 instruction PC ← Effective Address : Transfer control to the subroutine » 2) Some instructions that perform specialized tasks and are used infrequently l RETURN : PC ← M [ SP ] : Pop stack and transfer to PC » 3) A large variety of addressing modes - typically from 5 to 20 different modes » 4) Variable-length instruction formats SP ← SP + 1 : Increment stack pointer » 5) Instructions that manipulate operands in memory (RISC 에서는 in register) u Program Interrupt u Reduced Instruction Set Computer (RISC) l Program Interrupt l Major characteristics of a RISC architecture » Transfer program control from a currently running program to another service program as a result of an external or internal generated request » 1) Relatively few instructions » Control returns to the original program after the service program is executed » 2) Relatively few addressing modes » 3) Memory access limited to load and store instruction l Interrupt Service Program 과 Subroutine Call 의 차이점 » 4) All operations done within the registers of the CPU » 1) An interrupt is initiated by an internal or external signal (except for software interrupt) » 5) Fixed-length, easily decoded instruction format n A subroutine call is initiated from the execution of an instruction (CALL) » 2) The address of the interrupt service program is determined by the hardware » 6) Single-cycle instruction execution n The address of the subroutine call is determined from the address field of an instruction » 7) Hardwired rather than microprogrammed control » 3) An interrupt procedure stores all the information necessary to define the state of the CPU n A subroutine call stores only the program counter (Return address) Computer System Architecture Chap. 8 Central Processing Unit Computer System Architecture Chap. 8 Central Processing Unit 8-7. Program Control 18 / 22 8-8. Reduced Instruction Set Computer (RISC) 20 / 22 l Program Status Word (PSW) l Other characteristics of a RISC architecture External Int. » The collection of all status bit conditions in the CPU Interrupt » 1) A relatively large number of registers in the processor unit Internal Int. Detect » 2) Use of overlapped register windows to speed-up procedure call and return l Two CPU Operating Modes Software Int. » Supervisor (System) Mode : Privileged Instruction 실행 » 3) Efficient instruction pipeline n When the CPU is executing a program that is part of Determine the » 4) Compiler support for efficient translation of high-level language programs into the operating system address of ISR machine language programs R15 » User Mode : User program 실행 PC, CPU Register, Status Condition Common to D and A Circular Window u Overlapped Register Windows R10 n When the CPU is executing an user program Store Information R73 CPU operating mode is determined from special bits in the PSW l Time consuming operations during procedure call Local to D R64 » Saving and restoring registers R63 Common to C and D u Types of Interrupts Main body of ISR » Passing of parameters and results R58 R57 Proc D l 1) External Interrupts ISR l Overlapped Register Windows Local to C » come from I/O device, from a timing device, from a circuit » Provide the passing of parameters and avoid the need R48 R47 monitoring the power supply, or from any other external source Restore Information for saving and restoring register values by hardware Common to B and C R42 l 2) Internal Interrupts or TRAP u Concept of overlapped register windows : Fig. 8-9 Proc C R41 Local to B Interrupt » caused by register overflow, attempt to divide by zero, Return l Total 74 registers : R0 - R73 R32 R31 Common to A and B an invalid operation code, stack overflow, and protection violation » R0 - R9 : Global registers R26 l 3) Software Interrupts » R10 - R63 : 4 windows Proc B R25 Local to A » initiated by executing an instruction (INT or RST) n Window A 10 Local registers R16 R9 R15 » used by the programmer to initiate an interrupt procedure at any desired point in the n Window B + C o m m o n to all Common to A and D Procedures n Window C program 2 sets of 6 registers R0 Global R10 Proc A n Window D (common to adjacent windows) registers Computer System Architecture Chap. 8 Central Processing Unit Computer System Architecture Chap. 8 Central Processing Unit
  • 6. 8-8. Reduced Instruction Set Computer (RISC) 21 / 22 l Example) Procedure A calls procedure B » R26 - R31 n Store parameters for procedure B n Store results of procedure B » R16 - R25 : Local to procedure A » R32 - R41 : Local to procedure B l Window Size = L + 2C + G = 10 + ( 2 X 6 ) + 10 = 32 registers l Register File (total register) = (L + C) X W + G = (10 + 6 ) X 4 + 10 = 74 registers » 여기서, G : Global registers = 10 L : Local registers = 10 C : Common registers = 6 W : Number of windows = 4 u Berkeley RISC I l RISC Architecture 의 기원 : 1980 년대 초 » Berkeley RISC project : first project = Berkeley RISC I » Stanford MIPS project l Berkeley RISC I » 32 bit CPU, 32 bit instruction format, 31 instruction » 3 addressing modes : register, immediate, relative to PC Computer System Architecture Chap. 8 Central Processing Unit 8-8. Reduced Instruction Set Computer (RISC) 22 / 22 l Instruction Set : Tab. 8-12 l Instruction Format : Fig. 8-10 31 24 23 19 18 14 13 12 5 4 0 l Register Mode : bit 13 = 0 Opcode Rd Rs 0 Not used S2 » S2 = register 8 5 5 1 8 5 » Example) ADD R22, R21, R23 (a) Register mode : (S2 specifies a register) n ADD Rs, S2, Rd : Rd = Rs + S2 l Register Immediate Mode : bit 13 = 1 31 24 23 19 18 14 13 12 0 Opcode Rd Rs 1 S2 » S2 = sign extended 13 bit constant 8 5 5 1 13 » Example) LDL (R22)#150, R5 n LDL (Rs)S2, Rd : Rd = M[R22] + 150 (b) Register-immediate mode : (S2 specifies an operand) l PC Relative Mode 31 24 23 19 18 0 » Y = 19 bit relative address Opcode COND Y » Example) JMPR COND, Y 8 5 19 n Jump to PC = PC + Y » CWP (Current Window Pointer) (c) PC relative mode : n CALL, RET시 stack pointer 같이 사용됨 l RISC Architecture Originator Architecture Originator Licensees Alpha DEC Mitsubishi, Samsung MIPS MIPS Technologies NEC, Toshiba PA-RISC Hewlett Packard Hitachi, Samsung PowerPC Apple, IBM, Motorola Bul r p Sparc Sun Fujitsu, Hyundai i960 Intel Intel only (Embedded Controller) Computer System Architecture Chap. 8 Central Processing Unit