Central Processing Unit            1                Lecture 28
Overview
                           Introduction
                           General Register Organization
                           Stack Organization
                           Instruction Formats
                           Addressing Modes
                           Data Transfer and Manipulation
                           Program Control
                           Program Interrupts
                           Reduced Instruction Set Computer
CSE 211, Computer Organization and Architecture          Harjeet Kaur, CSE/IT
Central Processing Unit            2                    Lecture 27
                              Program Interrupt
  Types of Interrupts
      External interrupts
        External Interrupts initiated from the outside of CPU and Memory
        - I/O Device → Data transfer request or Data transfer complete
        - Timing Device → Timeout
        - Power Failure
      Internal interrupts (traps)
         Internal Interrupts are caused by the currently running program
         - Register, Stack Overflow
         - Divide by zero
         - OP-code Violation
         - Protection Violation
      Software Interrupts
        Both External and Internal Interrupts are initiated by the computer HW.
        Software Interrupts are initiated by the executing an instruction.
        - Supervisor Call     1. Switching from a user mode to the supervisor mode
                              2. Allows to execute a certain class of operations
                                                                                 which are
          not allowed in the user mode
CSE 211, Computer Organization and Architecture              Harjeet Kaur, CSE/IT
Central Processing Unit               3                     Lecture 27
                              Interrupt Procedure
     Interrupt Procedure and Subroutine Call
   - The interrupt is usually initiated by an internal or an external signal rather than from
   the execution of an instruction (except for the software interrupt)
   - The address of the interrupt service program is determined by the hardware rather
   than from the address field of an instruction
   - An interrupt procedure usually stores all the information necessary to define the state
   of CPU rather than storing only the PC.
         The state of the CPU is determined from:
            Content of the PC
            Content of all processor registers
            Content of status bits
         Many ways of saving the CPU state
                 depending on the CPU architectures
CSE 211, Computer Organization and Architecture                   Harjeet Kaur, CSE/IT
Central Processing Unit                  4                         Lecture 28
                          RISC- Historical BackGround
      IBM System/360, 1964
      • The real beginning of modern computer architecture
      • Distinction between Architecture and Implementation
      • Architecture: The abstract structure of a computer                                      seen
         by an assembly-language programmer
                                                                               Hardware
                                                                 -program
                                       Compiler
                          High-Level              Instruction                  Hardware
                          Language                Set
                                                  Architecture
                                                                               Hardware
                                                                             Implementation
      • Continuing growth in semiconductor memory and microprogramming
             A much richer and complicated instruction sets
               CISC(Complex Instruction Set Computer)
CSE 211, Computer Organization and Architecture                          Harjeet Kaur, CSE/IT
Central Processing Unit              5                      Lecture 28
                                            CISC
    Arguments Advanced at that time
         • Richer instruction sets would simplify compilers
         • Richer instruction sets would alleviate the software crisis
              – move as much functions to the hardware as possible
         • Richer instruction sets would improve architecture quality
    CISC
    • These computers with many instructions and addressing modes came to
      be known as Complex Instruction Set Computers (CISC)
    • One goal for CISC machines was to have a machine language instruction
      to match each high-level language statement type
CSE 211, Computer Organization and Architecture                  Harjeet Kaur, CSE/IT
Central Processing Unit                 6                       Lecture 28
                 Complex Instruction Set Computers
   • Another characteristic of CISC computers is that they have instructions that
     act directly on memory addresses
        – For example,
                      ADD L1, L2, L3
          that takes the contents of M[L1] adds it to the contents of M[L2] and stores the result in
          location M[L3]
   • An instruction like this takes three memory access cycles to execute
   • That makes for a potentially very long instruction execution cycle
   • The problems with CISC computers are
        – The complexity of the design may slow down the processor,
        – The complexity of the design may result in costly errors in the processor design and
          implementation,
        – Many of the instructions and addressing modes are used rarely, if ever
CSE 211, Computer Organization and Architecture                       Harjeet Kaur, CSE/IT
Central Processing Unit             7                    Lecture 28
                          Summary : Criticism On CISC
        High Performance General Purpose Instructions
        - Complex Instruction
         → Format, Length, Addressing Modes
         → Complicated instruction cycle control due to the complex decoding HW and
  decoding process
        - Multiple memory cycle instructions
           → Operations on memory data
           → Multiple memory accesses/instruction
        - Microprogrammed control is necessity
           → Microprogram control storage takes substantial portion of CPU chip area
           → Semantic Gap is large between machine instruction and microinstruction
        - General purpose instruction set includes all the features required by
  individually different applications
           → When any one application is running, all the features required by the other
  applications are extra burden to the application
CSE 211, Computer Organization and Architecture                Harjeet Kaur, CSE/IT
Central Processing Unit              8                     Lecture 28
             RISC – Reduced Instruction Set Computers
    • In the late ‘70s and early ‘80s there was a reaction to the shortcomings
      of the CISC style of processors
    • Reduced Instruction Set Computers (RISC) were proposed as an
      alternative
    • The underlying idea behind RISC processors is to simplify the instruction
      set and reduce instruction execution time
    • RISC processors often feature:
         –   Few instructions
         –   Few addressing modes
         –   Only load and store instructions access memory
         –   All other operations are done using on-processor registers
         –   Fixed length instructions
         –   Single cycle execution of instructions
         –   The control unit is hardwired, not microprogrammed
CSE 211, Computer Organization and Architecture                 Harjeet Kaur, CSE/IT
Central Processing Unit            9                Lecture 28
           RISC – Reduced Instruction Set Computers
    • Since all but the load and store instructions use only registers for
      operands, only a few addressing modes are needed
    • By having all instructions the same length, reading them in is easy and fast
    • The fetch and decode stages are simple
    • The instruction and address formats are designed to be easy to decode
    • Unlike the variable length CISC instructions, the opcode and register fields
      of RISC instructions can be decoded simultaneously
    • The control logic of a RISC processor is designed to be simple and fast
    • The control logic is simple because of the small number of instructions and
      the simple addressing modes
    • The control logic is hardwired, rather than microprogrammed, because
      hardwired control is faster
CSE 211, Computer Organization and Architecture          Harjeet Kaur, CSE/IT