SlideShare una empresa de Scribd logo
1 de 42
3.3 Computer Architectures




3.3 Computer Architectures               1
3.3 Computer Architectures


 a) Describe the classic Von Neumann architecture, identifying the need
     for, and the uses of, special registers in the functioning of a processor



 b) Describe in simple terms the fetch/decode/execute cycle
    and the effects of stages of the cycle on specific registers



 c) Discuss co-processor, parallel processor and array processor
    systems, their uses, advantages and disadvantages



 d) Describe and distinguish between Reduced Instruction Set
    Computer (RISC) and Complex instruction Set Computer
    (CISC) architectures

3.3 Computer Architectures                                                       2
Von Nuemann



 a) Describe the classic Von Neumann architecture, identifying the
    need for, and the uses of, special registers in the functioning of a
    processor

 b) Describe in simple terms the fetch/decode/execute cycle and the
    effects of stages of the cycle on specific registers



 1.    Single processor architecture

 2.    Identify the special registers involved in the functioning of the
       processor

 3.    Describe the fetch – decode – execute cycle



3.3 Computer Architectures                                                 3
John Von Neumann

             In early computers data and programs were stored in separate
             memories. Von Neumann realised that there is no need for this as
             they are indistinguishable when it comes to storing – thus data and
             programs can be stored in the same memory.

 The Von Neumann architecture:

 •   Uses a single processor for program control
 •   that follows the fetch – decode – execute
 •   Execution is performed one instruction at a time in a linear sequence
 •   A single memory is used to store program instructions and the data for
     use with the instructions

  Suitable for use when certain steps in an algorithm have to be done in
    order

  As there is only one processor this is ‘time hungry’



3.3 Computer Architectures                                                         4
The registers

 A register is simply an area of the processor that stores specific data.
 There are several special registers that play a very specific role in
 regarding the fetch – decode – execute cycle

  Register                             Purpose
  PC – program counter                 Holds the address of the next instruction to be
                                       carried out

  CIR - current instruction register   Holds the instruction that is being executed as it is
                                       being carried out

  MAR – memory address register        Holds the address in memory that is currently
                                       being used

  MDR – memory data register           Holds the data or instructions that is being stored
                                       in the address accessed by the MAR

  Accumulator                          Holds results of processing


3.3 Computer Architectures                                                                     5
Central Processing Unit
  Main memory
00001
                                          Control Unit
00011                                                                               ALU
                                        PC
01010                                                                          Accumulator
00101
                                        CIR
00010

00011

00100   01100111                        MAR
00110    7
                                                                            MDR     00100110
00111    12

 Above is a recap from unit 1. The arrows represent the flow of data/instructions

 1. The ALU is where data is processed – particularly arithmetic and logic operations
 2. The control unit fetches instructions from memory and decodes them making use of other parts
    of the computer as well
 3. The accumulator is in the ALU and is where results of data processing is stored within the ALU

3.3 Computer Architectures                                                                           6
Von Neumann - Questions
    Q1 One feature of Von Neumann architecture is the use of the fetch-execute
    cycle. State TWO other features of Von Neumann architecture.
        1.     single control unit/processor manages program control
        2.     program stored with data… in the same format… in the same memory
        3.     Execution is performed one instruction at a time

    Q2 Explain what is meant by the Von Neumann Architecture
   1.         A single processor is used which follows a linear sequence of instructions
   2.         A single memory is used to store program instructions and the data for use with the instructions



    Q3The program counter is a special register in the processor of a computer.
    Describe the function of the program counter
         1.     The program counter stores the address
         2.     Of the next instruction to be carried out in the sequence of the program



    Q4 Give the names of THREE other registers used by the processor.
    (Do not use abbreviations)
         1.     Memory address register
         2.     Memory Data register
         3.     Current instruction register
         4.     Accumulator


3.3 Computer Architectures                                                                                       7
Fetch – Decode - Execute




 b) Describe in simple terms the fetch/decode/execute cycle and the
    effects of stages of the cycle on specific registers




 1.    Describe the fetch – decode – execute cycle including the
       use of registers




3.3 Computer Architectures                                            8
Fetch –Decode - Execute

 Processing within the Von Nuemann architecture is carried out
 using the fetch – decode – execute cycle.



 Fetch: The instruction is „fetched‟ ready for processing

 Decode: the instruction is divided up into the operation part and
 data part and interpreted

 Execute: The instruction is executed



        You need to understand how each step works in detail.


3.3 Computer Architectures                                           9
Fetch


 1.   The PC holds the address of the next instruction to be carried out


 2.   When the next instruction is needed it‟s address is copied from the PC
      and placed in the memory address register


 3.   The PC is incremented by the program loader so it points to the next
      instruction


 4.   The address is found in memory and the contents are placed in the
      memory data register


 5.   The contents of the MDR are then copied to the CIR ready for the next
      stage

3.3 Computer Architectures                                                     10
Fetch
                                                       Central Processing Unit
     Main memory
00001
                                                 Control Unit
00011
                                                                                              ALU
                                              PC     00101
                                                     00100
01010
                                                                                         Accumulator
00101       00100110
                                              CIR
00010

00011

00100       01100111                          MAR
00110       7

00111
                                                                                      MDR     00100110


1.    A program loader places the addresses of instructions to be processed into the PC (program counter)
2.    The PC stores and points to the address of the next instruction to be carried out
3.    When the next instruction is needed it’s address is copied from the PC and placed in the MAR
4.    The PC is incremented so it points to the next instruction
5.    The address in the MAR is found in memory and the contents are placed in the memory data register
6.    The contents of the MDR are then copied to the CIR ready for the next stage

3.3 Computer Architectures                                                                                  11
Decode



 • The instruction in the CIR is split into its individual parts e.g
   operation code (e.g add) and the address of the data
   involved

 • The address is placed in the MAR and the data goes in the
   MDR

 • The control unit „decodes‟ the operation code so the processor
   knows what to do




3.3 Computer Architectures                                             12
Decode

                                                        Central Processing Unit
  Main memory
00001                                             Control Unit
00011                                                                                             ALU
                                               PC       00100
01010                                                                                        Accumulator
00101                                                 001 00110
                                               CIR
00010

00011

00100     01100111                             MAR
00110      7
                                                                                          MDR     00100110
00111      12


 1.   The instruction in the CIR is split into its individual parts e.g operation code (e.g add) and the address of the
      data involved
 2.   The address is placed in the MAR and the data goes in the MDR
 3.   The control unit ‘decodes’ the operation code so the processor knows what to do



3.3 Computer Architectures                                                                                                13
Execute

 In this stage the instruction is executed which could mean it needs to:

      • Perform a logical/arithmetic based instruction – using the accumulator
      • Execute a JUMP instruction



 Arithmetic/Logic instructions:
 • These will be sent to the ALU to be processed. The results will be stored in the
     accumulator

 JUMP instructions:
 Sometimes an instruction will tell the computer to JUMP to another instruction
 rather than just progress to the next instruction in a program (Think about your
 different selection statements.) A jump instruction will tell the CPU the address of
 the new instruction so it can then go and fetch it.

 More about this on the next slide



3.3 Computer Architectures                                                              14
Jump instructions

 JUMP instructions:
 Imagine we had the instructions 1,2, 3, 4, 5, 6 etc. The computer would normally
 start at instruction 1 and then go to instruction 2 etc
 There could be a case where instruction 2 says to JUMP straight to instruction 5
 (thus missing out instructions 3 & 4) This is called a JUMP instruction


   What
   A JUMP instruction tells the CPU to jump to a specific instruction out of sequence



   How a JUMP instruction works
   It will tell the CPU the address of the new instruction is stored so it can then go and
   fetch it. To do this it:

   1. The address part of the instruction from the CIR is copied into the PC
   2. This means the address in the PC is the address of the new instruction



3.3 Computer Architectures                                                                   15
Jump Instruction



When       the     jump              Central Processing Unit
instruction is     being
executed:
                              Control Unit
The address part of the                                     ALU
                             PC    00100
instruction from the CIR                               Accumulator
is copied into the PC
                             CIR   001 00110

This means the address
in the PC is the address
of the new instruction
                             MAR

                                                      MDR   00100110




3.3 Computer Architectures                                             16
Fetch – Decode – Execute: Putting the stages together

 Fetch – decode – execute cycle:


 1.   Address of the next instruction is stored in the PC

 2.   Contents of the program counter are loaded into the MAR (memory address register)

 3.   The PC is incremented (to point to the next instruction)

 4.   Contents of addresses stored in MAR loaded into MDR (memory data register)

 5.   Contents of MDR loaded into CIR

 6.   The instruction in the CIR is divided into address of the data and the operation to be
      performed

 7.   If the instruction is a jump instruction, load the new instruction address into the PC and go
      back to step one

 8.   If it is a „normal‟ instruction the data is found using (the address in the MAR) and placed
      in the MDR and the instruction is executed and control returns to step 1



        Steps 1 – 5 = fetch           Step 6 = decode            Step 7 – 8 execute
3.3 Computer Architectures                                                                            17
Summary
 Von Neumann architecture:

 •   Uses a single processor for program control
 •   that follows the fetch – decode – execute
 •   Execution is performed one instruction at a time in a linear sequence
 •   A single memory is used to store program instructions and the data for use with the
     instructions




 Registers

 •   The PC (program counter) stores the address of the next instruction to be executed

 •   The MAR holds the address in memory that is currently be used

 •   The MDR holds the data or instructions that is stored in the address currently in the
     MAR

 •   Current instruction register holds the instruction currently being executed.



3.3 Computer Architectures                                                                   18
Summary

 Fetch decode execute:

 1.   PC holds address of next instruction
 2.   Copy contents of PC to MAR
 3.   Increment PC
 4.   Contents of the address stored in MAR loaded into MDR
 5.   Copy instruction from MDR to CIR
 6.   Decode instruction in CIR
 7.    Execute instruction
          this may involve;
          a jump in which case a new address is placed in the PC
          An arithmetic or logical expression in which case the ALU
          and accumulator are involved


3.3 Computer Architectures                                            19
Fetch – Decode – Execute Questions
 Q1 The program counter is a special register in the processor of a computer.

 Describe the initial state of the program counter before the running of the
 program [2]
  1.    The PC will contain the address of the first instruction in the sequence to be run
  2.    This will have been placed in the register by some external agent called the program loader



 Q2 Describe 2 ways in which the program counter can change during the normal
 execution of a program, explaining, in each case, how this change is initiated [4]
  1.    The PC is incremented .......
  2.    As part of the standard flow of the fetch – execute – cycle

  1.    When the current instruction says to JUMP to another instruction out of sequence.....
  2.    The ‘jump to’ address in the CIR is placed into the PC and the associated instruction is executed



 Q3 Describe how a jump instruction is executed. [2]
   1.   changes the contents of PC to address of the new instruction that is being jumped to
   2.   By copying the ‘jump to’ address part of instruction currently
   3.   in the CIR to PC



3.3 Computer Architectures                                                                                  20
Fetch – Decode – Execute Questions
 Q4 Describe the fetch-execute cycle. [4]
  1. PC holds address of next instruction
  2. copy contents of PC to MAR
  3. increment PC
  4. Contents of address stored in MAR loaded into MDR
  5. copy instruction from MDR to CIR
  6. decode instruction in CIR


 Q5 Describe the fetch – decode part of the fetch/decode/execute cycle,
 explaining the purpose of any special registers that you have mentioned [7]
  1.   Contents of the PC loaded into MAR
  2.   PC is incremented
  3.   Contents of address stored in MAR loaded into MDR
  4.   copy instruction from MDR to CIR
  5.   decode instruction in CIR
  6.   PC stores the address of the next instruction to be executed
  7.   MAR holds the address in memory that is currently being used
  8.   MDR holds the data or instruction that is being stored in the address accessed by the MAR
  9.   CIR holds the instruction which is currently being executed

3.3 Computer Architectures                                                                         21
Other computer Architectures


   c) Discuss co-processor, parallel processor and array processor systems, their uses,
   advantages and disadvantages

  Not all computers have one processor working in a linear fashion. It
  would make sense to try and deal with multiple instructions at the
  same time. The following architectures aim to do this:

  1.   Co-processor
  2.   Parallel processor
  3.   Array processor
  4.   Pipelining




3.3 Computer Architectures                                                                22
Co-processors

 What is a co-processor?

 This is an additional processor used for a specific task such as mathematical
 processes.

 They improve processing speed by executing concurrently (at the same time)
 with the main processor.

 •   eg maths co-processor


            Main processor        CO- PROCESSOR
                                       (maths)




            I can do all tasks      I just do maths


3.3 Computer Architectures                                                       23
Pipelining
 Using the fetch – decode – execute cycle it should be apparent that an
 instruction can be in any one of 3 phases.

 Pipelining: We can split the processor up into 3 parts each of which
 handles one of the 3 stages.
 This means more than one instruction can be dealt with simultaneously.
 This results in the situation shown in below which is referred to as
 ‘pipelining’.


        Fetch                Decode        Execute
   Instruction 1                                      A static representation

                                                      Pipelining works providing
   Instruction 2      Instruction 1
                                                      the next instruction in the
                                                      pipeline is the next one to
   Instruction 3      Instruction 2   Instruction 1   be executed. Lets see what
                                                      happens if there is a JUMP
   Instruction 4      Instruction 3   Instruction 2   instruction


3.3 Computer Architectures                                                      24
Pipelining and JUMP instructions
 Imagine instruction 2 is a jump to instruction 10. Then instruction 3, 4, and
 5 need to be removed from the pipeline and instruction 10 needs to be
 loaded into the fetch part of the pipe – The pipeline must be RESET.

                   Normal Flow                               Jump Instruction Flow
     Fetch            Decode           Execute           Fetch     Decode      Execute
   Instruction 1                                       Instruction 1

   Instruction 2    Instruction 1                      Instruction 2    Instruction 1

   Instruction 3    Instruction 2    Instruction 1     Instruction 3    Instruction 2    Instruction 1


   Instruction 4    Instruction 3    Instruction 2     Instruction 4    Instruction 3    Instruction 2


   Instruction 5    Instruction 4    Instruction 3     Instruction 10


  If instruction 2 says jump to instruction 10. Then   Instruction 11   Instruction 10
  the instructions in the pipeline are no longer
  the ones to be dealt with next thus the pipe
  must be reset and the new instruction placed         Instruction 12   Instruction 11   Instruction 10
  at the beginning


3.3 Computer Architectures                                                                                25
Parallel Processing
 Parallel processing architecture:

 1.   Uses multiple processors
 2.   Controlled by a complex OS
 3.   To work on different tasks within the same job at the same time
 4.   Each processor gets a DIFFERENT task
 5.   Which can greatly speed up processes e.g arithmetic ones

 Advantages
 Can deal with multiple inputs at the same time and process them all
 simultaneously eg weather stations.

 Disadvantages
 In order to get the full benefits of Parallel processing programs need to have been
 specifically written for them.

 If a program has been designed for a single processor architecture than some
 complex processing will be required to adapt the sequential algorithm As you
 may not be able to process instruction 20 unless instructions 1-19 have been
 processed first.


3.3 Computer Architectures                                                             26
Array Processing

 This involves one processor but MULTIPLE ALUs.

 An array processor is able to do the same calculation on multiple data
 locations(rather than starting at the beginning and processing them one
 by one.). This speeds up processing.

 SIMD – Same instruction multiple data

 This is useful for things like weather forecasting

                  1          2      3           4           5         6       7
                  45         66     87          34          23        5       66

                                    Eg. process = Index i * 17.5%


               ALU 1     ALU 2    ALU 3     ALU 4       ALU 5       ALU 6   ALU 7



3.3 Computer Architectures                                                          27
Architectures Summary
 Von Neumann
 •   Uses a single processor that follows a linear sequence of fetch – decode –
     execute
 •   Uses special registers to store different data
 •   Instructions and associated data are stored together in the same memory

   Effective when the result of an algorithm is dependent on the order in which
 the steps are taken. E.g a formula
  Is time hungry as only one instruction is executed at a time



 Co Processor
 An additional processor used for a specific task such as mathematical processes.

 They improve processing speed by executing concurrently (at the same time)
 with the main processor.

 Not quite as versatile as a parallel processor as the co - processor can only
 perform specific jobs

3.3 Computer Architectures                                                          28
Architectures Summary
 Pipelining
 •   Where the CPU is divided into 3 areas to handle the fetch, decode and
     execute stages of processing an instruction.

 •   Each part can hold a different instruction so more than one instruction can be
     dealt with simultaneously

 Disadvantage
 The pipeline will need to be reset if there was a JUMP instruction as there
 instructions backed up in the pipeline will no longer be the next ones to be
 executed.


 Array Processor

 This involves one processor but MULTIPLE ALUs.

 An array processor is able to do the same calculation on a range of memory
 locations simultaneously
 e.g performing the same processing on each item of data in an array

3.3 Computer Architectures                                                            29
Architectures Summary
 Parallel Processor
 Has multiple processors (compared to Von Neumann which has just 1)

 1.    Uses multiple processors
 2.    Controlled by a complex OS
 3.    To work on different tasks within the same job
 4.    at the same time
 5.    Each processor gets a different task

 Advantages
 •  Can deal with multiple inputs at the same time and process them all simultaneously eg
    weather stations thus speeds up processing
 •  Complex tasks can be dealt with efficiently

 Disadvantages
 •     In order to get the full benefits of Parallel processing programs need to have been
       specifically written for them.


 •     Not suitable for some programs designed to be executed in a linear fashion

     Computer architectures could potentially be a long question. Make sure you know
     about each different sort of architecture in detail.
3.3 Computer Architectures                                                                   30
Alternative Computer architectures - Questions
 Q1 In some computer systems, a co-processor may be used. State what is meant
 by a co-processor
   1.    an additional processor
   2.    used for a specific task
   3.    improves processing speed by executing concurrently
   4.    Eg maths co-processor/floating point accelerator



 Q2 Describe how pipelining normally speeds up the processing done by a
 computer [2]
  1. All instructions have 3 stages (fetch-decide-execute)
  2. We can split the processor up into 3 each of which handles one of the 3 stages.
  3. This means more than one instruction can be dealt with simultaneously.

 Q3 State one type of instruction that would cause the pipeline system to be reset,
 explaining why such a reset is necessary [3]

  1.    A jump instruction
  2.    The instructions in the pipeline are no longer the ones to be dealt with next
  3.    So the pipeline has to be reset


3.3 Computer Architectures                                                              31
Alternative Computer architectures - Questions
 Q4 Explain, with the aid of an example, the following statement “ A co-processor
 is a simple form of parallel processor” [2]
       • It is an additional processor alongside the central processor
       • improves speed by performing specific tasks concurrently with central processor a bit
         like how parallel processors can work at the same time
       • However the co-processor can only deal with certain types of jobs so it is not as flexible
         as the pp system e.g. maths co-processor/floating-point accelerator.


 Q5 Describe parallel processing [5]
  1.    More than one processor…
  2.     …controlled by a complex operating system
  3.    working simultaneously…
  4.    to perform a single job…
  5.    which is split into tasks…
  6.     each task may be performed by any processor.
 Q6 Describe one advantage and one disadvantage of a parallel processor
 compared with a single processor system [2]
   Increased processing speed as multiple instructions are being processed at once
       Complex tasks can be performed efficiently
       Not suitable for some programs designed to be executed in a linear fashion
       To maximise efficiency programs need to be specially designed with multiple processors in mind

3.3 Computer Architectures                                                                               32
Alternative Computer architectures - Questions

 Q7 Explain the use of an array processor
   An array processor is able to do the same calculation on a range of memory locations
   simultaneously
   As it is performing lots of calculations at the same time it is very fast




3.3 Computer Architectures                                                                33
RISC and CISC



   d) Describe and distinguish between Reduced Instruction Set Computer (RISC) and
   Complex instruction Set Computer (CISC) architectures




3.3 Computer Architectures                                                           34
RISC: restricted instruction set computers
 The number of instructions recognised by a computer is limited. The more
 operations a computer can recognise the more ‘bits’ are needed for it’s
 operation set. In our earlier example of machine code had the following
 operation table:


  000     Divide one number by the new number   Think about the instructions a calculator
                                                might understand compared to a full PC.
  001     Add two numbers together
  010     Subtract one number from another
  011     Input a number from the outside
  100     Output a value
  101     Store a number in a memory location
  110     Get a value from a memory location
  B




  There are two categories of processors that vary in their operation sets:

  CISC – Complex instruction set computers
  RISC – Restricted/reduced instruction set computers

3.3 Computer Architectures                                                             35
RISC / CISC

 Both use one or more register sets but have their own characteristics as
 well


 CISC: These have operation codes for all the operations they have to do
 e.g they could have 1000s of different opcodes

 They have MANY addressing modes


 RISC: The number of operations recognised by this computer is limited.

 Thus the number of bits needed to represent an instruction is reduced,
 hence saving space within the CPU.

 It doesn’t mean they cannot do as many operations it just means
 ‘missing’ instructions have to be made up from the ones that are
 available. Which makes slower processing than CISC



3.3 Computer Architectures                                                  36
Efficiency of RISC and CISC




 RISC only has a simple instruction set thus to
 perform a complex task it may take several
 „cycles‟ of basic instructions.

 CISC has more complex instructions available
 to it thus it may be able to perform the task in
 just one cycle (by using one of its complex
 operations available)



3.3 Computer Architectures                          37
Example of cycles


A RISC might have the operations:          A CISC might have the operations:
    •   ADD                                    •   ADD
    •   SUB                                    •   SUB
    •   DIV                                    •   DIV
    •   etc                                    •   AVR (average)
                                               •   etc


 If an instruction was sent to find the average of the numbers 5, 6, 7, 2, 3

 the CISC system could use it’s AVR operation

 whereas the RISC system would need to perform the same tasks but by
 using it‟s ADD and DIV instructions (which means more cycles of
 instructions)



3.3 Computer Architectures                                                     38
RISC


 Reduced Instruction Set Computer

 Limited number of instructions available

 Number of bits required to store the whole instruction set is
 small.

 Can perform more complex instructions by executing
 several cycles of simple instructions

 As a result might work slightly slower than a CISC system

 use one or more register sets



3.3 Computer Architectures                                       39
CISC


 Complex Instruction Set Computer

 Large number of instructions available to use

 Requires a larger number of bits than RISC to store the
 larger set of instructions

 They have many addressing modes

 use one or more register sets


3.3 Computer Architectures                                 40
WARNING



 NEVER say RISC systems cannot do as
 many operations as CISCs systems, as
 this is NOT true.

 They many just take several more cycles
 to perform the same complex task.


3.3 Computer Architectures                 41
RISC / CISC

 Q1 What does RISC stand for
 Restricted Instruction set computer


 Q2 What does CISC stand for
 Complex Instruction set computer


 Q3 Explain what is meant by a Reduced Instruction Set Computer architecture
 and how it differs from a Complex Instruction Set Computer

 1.   In order to reduce the number of bits needed to represent an instruction code
 2.   The number of operations recognised by a RISC computer is limited
 3.   Complex instructions can still be created by using the available operations in
      combination
 4.   This makes processing slower than in a CISC which has more standard operations




3.3 Computer Architectures                                                             42

Más contenido relacionado

La actualidad más candente

Computer architecture control unit
Computer architecture control unitComputer architecture control unit
Computer architecture control unitMazin Alwaaly
 
Unit 2 ca- control unit
Unit 2 ca- control unitUnit 2 ca- control unit
Unit 2 ca- control unitBBDITM LUCKNOW
 
computer System UNit Every thing
computer System UNit Every thingcomputer System UNit Every thing
computer System UNit Every thingAbdul Rehman
 
Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Designmekind
 
Microprogram Control
Microprogram Control Microprogram Control
Microprogram Control Anuj Modi
 
Msc chemistry previous
Msc chemistry previousMsc chemistry previous
Msc chemistry previousmshoaib15
 
assignment on control unit and control signal micro instruction
assignment on control unit and control signal micro instructionassignment on control unit and control signal micro instruction
assignment on control unit and control signal micro instructionChHusnainHassanI
 
Central Processing Unit User View
Central Processing Unit User ViewCentral Processing Unit User View
Central Processing Unit User ViewAnuj Modi
 
ICTCoreCh11
ICTCoreCh11ICTCoreCh11
ICTCoreCh11garcons0
 
Pipelining and vector processing
Pipelining and vector processingPipelining and vector processing
Pipelining and vector processingKamal Acharya
 
The central processing unit by group 5 2015
The central processing unit by group 5 2015The central processing unit by group 5 2015
The central processing unit by group 5 2015Tendai Karuma
 
Unit 3 basic processing unit
Unit 3   basic processing unitUnit 3   basic processing unit
Unit 3 basic processing unitchidabdu
 
Cad seminar (2)
Cad seminar (2)Cad seminar (2)
Cad seminar (2)elsonpaulv
 

La actualidad más candente (20)

Fp203 chp1.1
Fp203 chp1.1Fp203 chp1.1
Fp203 chp1.1
 
Computer architecture control unit
Computer architecture control unitComputer architecture control unit
Computer architecture control unit
 
Unit 2 ca- control unit
Unit 2 ca- control unitUnit 2 ca- control unit
Unit 2 ca- control unit
 
Thesis1 3-23
Thesis1 3-23Thesis1 3-23
Thesis1 3-23
 
Intro to cao &store program
Intro to cao &store programIntro to cao &store program
Intro to cao &store program
 
presentation on SCB,DEBUG,RESET of Arm Cortex processor
presentation on SCB,DEBUG,RESET of Arm Cortex processorpresentation on SCB,DEBUG,RESET of Arm Cortex processor
presentation on SCB,DEBUG,RESET of Arm Cortex processor
 
computer System UNit Every thing
computer System UNit Every thingcomputer System UNit Every thing
computer System UNit Every thing
 
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
 
Msc chemistry previous
Msc chemistry previousMsc chemistry previous
Msc chemistry previous
 
assignment on control unit and control signal micro instruction
assignment on control unit and control signal micro instructionassignment on control unit and control signal micro instruction
assignment on control unit and control signal micro instruction
 
Central Processing Unit User View
Central Processing Unit User ViewCentral Processing Unit User View
Central Processing Unit User View
 
ICTCoreCh11
ICTCoreCh11ICTCoreCh11
ICTCoreCh11
 
Pipelining and vector processing
Pipelining and vector processingPipelining and vector processing
Pipelining and vector processing
 
Ch2
Ch2Ch2
Ch2
 
CPU and memory
CPU and memoryCPU and memory
CPU and memory
 
Control unit
Control  unitControl  unit
Control unit
 
The central processing unit by group 5 2015
The central processing unit by group 5 2015The central processing unit by group 5 2015
The central processing unit by group 5 2015
 
Unit 3 basic processing unit
Unit 3   basic processing unitUnit 3   basic processing unit
Unit 3 basic processing unit
 
Cad seminar (2)
Cad seminar (2)Cad seminar (2)
Cad seminar (2)
 

Destacado

CISC vs RISC Processor Architecture
CISC vs RISC Processor ArchitectureCISC vs RISC Processor Architecture
CISC vs RISC Processor ArchitectureKaushik Patra
 
RISC Vs CISC, Harvard v/s Van Neumann
RISC Vs CISC, Harvard v/s Van NeumannRISC Vs CISC, Harvard v/s Van Neumann
RISC Vs CISC, Harvard v/s Van NeumannRavikumar Tiwari
 
3.3 all exam questions
3.3 all exam questions3.3 all exam questions
3.3 all exam questionsJoe Reddie
 
3.1 all exam questions
3.1 all exam questions3.1 all exam questions
3.1 all exam questionsJoe Reddie
 
Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overviewabhi1112
 
Risc cisc Difference
Risc cisc DifferenceRisc cisc Difference
Risc cisc DifferenceSehrish Asif
 
AVR Fundamentals
AVR FundamentalsAVR Fundamentals
AVR FundamentalsVinit Vyas
 
Steve Jobs Inspirational Quotes
Steve Jobs Inspirational QuotesSteve Jobs Inspirational Quotes
Steve Jobs Inspirational QuotesInsideView
 
Computer architecture
Computer architectureComputer architecture
Computer architectureRishabha Garg
 

Destacado (13)

Array Processor
Array ProcessorArray Processor
Array Processor
 
CISC vs RISC Processor Architecture
CISC vs RISC Processor ArchitectureCISC vs RISC Processor Architecture
CISC vs RISC Processor Architecture
 
RISC Vs CISC, Harvard v/s Van Neumann
RISC Vs CISC, Harvard v/s Van NeumannRISC Vs CISC, Harvard v/s Van Neumann
RISC Vs CISC, Harvard v/s Van Neumann
 
Machu picchu2
Machu picchu2Machu picchu2
Machu picchu2
 
3.3 all exam questions
3.3 all exam questions3.3 all exam questions
3.3 all exam questions
 
3.1 all exam questions
3.1 all exam questions3.1 all exam questions
3.1 all exam questions
 
Risc & cisk
Risc & ciskRisc & cisk
Risc & cisk
 
Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overview
 
CISC & RISC Architecture
CISC & RISC Architecture CISC & RISC Architecture
CISC & RISC Architecture
 
Risc cisc Difference
Risc cisc DifferenceRisc cisc Difference
Risc cisc Difference
 
AVR Fundamentals
AVR FundamentalsAVR Fundamentals
AVR Fundamentals
 
Steve Jobs Inspirational Quotes
Steve Jobs Inspirational QuotesSteve Jobs Inspirational Quotes
Steve Jobs Inspirational Quotes
 
Computer architecture
Computer architectureComputer architecture
Computer architecture
 

Similar a 3.3 computer architectures (kk) v2

conrol_Unit_part_of_computer_architecture.pptx
conrol_Unit_part_of_computer_architecture.pptxconrol_Unit_part_of_computer_architecture.pptx
conrol_Unit_part_of_computer_architecture.pptxjbri1395
 
comp. org Chapter 1
comp. org Chapter 1comp. org Chapter 1
comp. org Chapter 1Rajat Sharma
 
Processor Management
Processor ManagementProcessor Management
Processor ManagementSumit kumar
 
8051 microcontroller
8051 microcontroller8051 microcontroller
8051 microcontrollersnehapvs
 
Basic ops concept of comp
Basic ops  concept of compBasic ops  concept of comp
Basic ops concept of compgaurav jain
 
U proc ovw
U proc ovwU proc ovw
U proc ovwBrit4
 
Processor architecture
Processor architectureProcessor architecture
Processor architectureMuuluu
 
Compuer organizaion processing unit
Compuer organizaion processing unitCompuer organizaion processing unit
Compuer organizaion processing unitDeepak John
 
Control Units : Microprogrammed and Hardwired:control unit
Control Units : Microprogrammed and Hardwired:control unitControl Units : Microprogrammed and Hardwired:control unit
Control Units : Microprogrammed and Hardwired:control unitabdosaidgkv
 
MergeResult_2023_04_02_05_26_56.pptx
MergeResult_2023_04_02_05_26_56.pptxMergeResult_2023_04_02_05_26_56.pptx
MergeResult_2023_04_02_05_26_56.pptxbhaveshagrawal35
 
Hardware
HardwareHardware
HardwareMuuluu
 
Comp Evo and Interrupts.pptx
Comp Evo and Interrupts.pptxComp Evo and Interrupts.pptx
Comp Evo and Interrupts.pptxJuttG6
 
Computer Organization : CPU, Memory and I/O organization
Computer Organization : CPU, Memory and I/O organizationComputer Organization : CPU, Memory and I/O organization
Computer Organization : CPU, Memory and I/O organizationAmrutaMehata
 

Similar a 3.3 computer architectures (kk) v2 (20)

conrol_Unit_part_of_computer_architecture.pptx
conrol_Unit_part_of_computer_architecture.pptxconrol_Unit_part_of_computer_architecture.pptx
conrol_Unit_part_of_computer_architecture.pptx
 
Computer and cpu
Computer and cpuComputer and cpu
Computer and cpu
 
Chapter 8
Chapter 8Chapter 8
Chapter 8
 
comp. org Chapter 1
comp. org Chapter 1comp. org Chapter 1
comp. org Chapter 1
 
Processor Management
Processor ManagementProcessor Management
Processor Management
 
8051 microcontroller
8051 microcontroller8051 microcontroller
8051 microcontroller
 
Micro controller
Micro controllerMicro controller
Micro controller
 
CSA PPT UNIT 1.pptx
CSA PPT UNIT 1.pptxCSA PPT UNIT 1.pptx
CSA PPT UNIT 1.pptx
 
Matter new
Matter newMatter new
Matter new
 
Basic ops concept of comp
Basic ops  concept of compBasic ops  concept of comp
Basic ops concept of comp
 
U proc ovw
U proc ovwU proc ovw
U proc ovw
 
Chapter 02
Chapter 02Chapter 02
Chapter 02
 
Processor architecture
Processor architectureProcessor architecture
Processor architecture
 
Compuer organizaion processing unit
Compuer organizaion processing unitCompuer organizaion processing unit
Compuer organizaion processing unit
 
Control Units : Microprogrammed and Hardwired:control unit
Control Units : Microprogrammed and Hardwired:control unitControl Units : Microprogrammed and Hardwired:control unit
Control Units : Microprogrammed and Hardwired:control unit
 
Central processing unit i
Central processing unit iCentral processing unit i
Central processing unit i
 
MergeResult_2023_04_02_05_26_56.pptx
MergeResult_2023_04_02_05_26_56.pptxMergeResult_2023_04_02_05_26_56.pptx
MergeResult_2023_04_02_05_26_56.pptx
 
Hardware
HardwareHardware
Hardware
 
Comp Evo and Interrupts.pptx
Comp Evo and Interrupts.pptxComp Evo and Interrupts.pptx
Comp Evo and Interrupts.pptx
 
Computer Organization : CPU, Memory and I/O organization
Computer Organization : CPU, Memory and I/O organizationComputer Organization : CPU, Memory and I/O organization
Computer Organization : CPU, Memory and I/O organization
 

3.3 computer architectures (kk) v2

  • 1. 3.3 Computer Architectures 3.3 Computer Architectures 1
  • 2. 3.3 Computer Architectures a) Describe the classic Von Neumann architecture, identifying the need for, and the uses of, special registers in the functioning of a processor b) Describe in simple terms the fetch/decode/execute cycle and the effects of stages of the cycle on specific registers c) Discuss co-processor, parallel processor and array processor systems, their uses, advantages and disadvantages d) Describe and distinguish between Reduced Instruction Set Computer (RISC) and Complex instruction Set Computer (CISC) architectures 3.3 Computer Architectures 2
  • 3. Von Nuemann a) Describe the classic Von Neumann architecture, identifying the need for, and the uses of, special registers in the functioning of a processor b) Describe in simple terms the fetch/decode/execute cycle and the effects of stages of the cycle on specific registers 1. Single processor architecture 2. Identify the special registers involved in the functioning of the processor 3. Describe the fetch – decode – execute cycle 3.3 Computer Architectures 3
  • 4. John Von Neumann In early computers data and programs were stored in separate memories. Von Neumann realised that there is no need for this as they are indistinguishable when it comes to storing – thus data and programs can be stored in the same memory. The Von Neumann architecture: • Uses a single processor for program control • that follows the fetch – decode – execute • Execution is performed one instruction at a time in a linear sequence • A single memory is used to store program instructions and the data for use with the instructions  Suitable for use when certain steps in an algorithm have to be done in order  As there is only one processor this is ‘time hungry’ 3.3 Computer Architectures 4
  • 5. The registers A register is simply an area of the processor that stores specific data. There are several special registers that play a very specific role in regarding the fetch – decode – execute cycle Register Purpose PC – program counter Holds the address of the next instruction to be carried out CIR - current instruction register Holds the instruction that is being executed as it is being carried out MAR – memory address register Holds the address in memory that is currently being used MDR – memory data register Holds the data or instructions that is being stored in the address accessed by the MAR Accumulator Holds results of processing 3.3 Computer Architectures 5
  • 6. Central Processing Unit Main memory 00001 Control Unit 00011 ALU PC 01010 Accumulator 00101 CIR 00010 00011 00100 01100111 MAR 00110 7 MDR 00100110 00111 12 Above is a recap from unit 1. The arrows represent the flow of data/instructions 1. The ALU is where data is processed – particularly arithmetic and logic operations 2. The control unit fetches instructions from memory and decodes them making use of other parts of the computer as well 3. The accumulator is in the ALU and is where results of data processing is stored within the ALU 3.3 Computer Architectures 6
  • 7. Von Neumann - Questions Q1 One feature of Von Neumann architecture is the use of the fetch-execute cycle. State TWO other features of Von Neumann architecture. 1. single control unit/processor manages program control 2. program stored with data… in the same format… in the same memory 3. Execution is performed one instruction at a time Q2 Explain what is meant by the Von Neumann Architecture 1. A single processor is used which follows a linear sequence of instructions 2. A single memory is used to store program instructions and the data for use with the instructions Q3The program counter is a special register in the processor of a computer. Describe the function of the program counter 1. The program counter stores the address 2. Of the next instruction to be carried out in the sequence of the program Q4 Give the names of THREE other registers used by the processor. (Do not use abbreviations) 1. Memory address register 2. Memory Data register 3. Current instruction register 4. Accumulator 3.3 Computer Architectures 7
  • 8. Fetch – Decode - Execute b) Describe in simple terms the fetch/decode/execute cycle and the effects of stages of the cycle on specific registers 1. Describe the fetch – decode – execute cycle including the use of registers 3.3 Computer Architectures 8
  • 9. Fetch –Decode - Execute Processing within the Von Nuemann architecture is carried out using the fetch – decode – execute cycle. Fetch: The instruction is „fetched‟ ready for processing Decode: the instruction is divided up into the operation part and data part and interpreted Execute: The instruction is executed You need to understand how each step works in detail. 3.3 Computer Architectures 9
  • 10. Fetch 1. The PC holds the address of the next instruction to be carried out 2. When the next instruction is needed it‟s address is copied from the PC and placed in the memory address register 3. The PC is incremented by the program loader so it points to the next instruction 4. The address is found in memory and the contents are placed in the memory data register 5. The contents of the MDR are then copied to the CIR ready for the next stage 3.3 Computer Architectures 10
  • 11. Fetch Central Processing Unit Main memory 00001 Control Unit 00011 ALU PC 00101 00100 01010 Accumulator 00101 00100110 CIR 00010 00011 00100 01100111 MAR 00110 7 00111 MDR 00100110 1. A program loader places the addresses of instructions to be processed into the PC (program counter) 2. The PC stores and points to the address of the next instruction to be carried out 3. When the next instruction is needed it’s address is copied from the PC and placed in the MAR 4. The PC is incremented so it points to the next instruction 5. The address in the MAR is found in memory and the contents are placed in the memory data register 6. The contents of the MDR are then copied to the CIR ready for the next stage 3.3 Computer Architectures 11
  • 12. Decode • The instruction in the CIR is split into its individual parts e.g operation code (e.g add) and the address of the data involved • The address is placed in the MAR and the data goes in the MDR • The control unit „decodes‟ the operation code so the processor knows what to do 3.3 Computer Architectures 12
  • 13. Decode Central Processing Unit Main memory 00001 Control Unit 00011 ALU PC 00100 01010 Accumulator 00101 001 00110 CIR 00010 00011 00100 01100111 MAR 00110 7 MDR 00100110 00111 12 1. The instruction in the CIR is split into its individual parts e.g operation code (e.g add) and the address of the data involved 2. The address is placed in the MAR and the data goes in the MDR 3. The control unit ‘decodes’ the operation code so the processor knows what to do 3.3 Computer Architectures 13
  • 14. Execute In this stage the instruction is executed which could mean it needs to: • Perform a logical/arithmetic based instruction – using the accumulator • Execute a JUMP instruction Arithmetic/Logic instructions: • These will be sent to the ALU to be processed. The results will be stored in the accumulator JUMP instructions: Sometimes an instruction will tell the computer to JUMP to another instruction rather than just progress to the next instruction in a program (Think about your different selection statements.) A jump instruction will tell the CPU the address of the new instruction so it can then go and fetch it. More about this on the next slide 3.3 Computer Architectures 14
  • 15. Jump instructions JUMP instructions: Imagine we had the instructions 1,2, 3, 4, 5, 6 etc. The computer would normally start at instruction 1 and then go to instruction 2 etc There could be a case where instruction 2 says to JUMP straight to instruction 5 (thus missing out instructions 3 & 4) This is called a JUMP instruction What A JUMP instruction tells the CPU to jump to a specific instruction out of sequence How a JUMP instruction works It will tell the CPU the address of the new instruction is stored so it can then go and fetch it. To do this it: 1. The address part of the instruction from the CIR is copied into the PC 2. This means the address in the PC is the address of the new instruction 3.3 Computer Architectures 15
  • 16. Jump Instruction When the jump Central Processing Unit instruction is being executed: Control Unit The address part of the ALU PC 00100 instruction from the CIR Accumulator is copied into the PC CIR 001 00110 This means the address in the PC is the address of the new instruction MAR MDR 00100110 3.3 Computer Architectures 16
  • 17. Fetch – Decode – Execute: Putting the stages together Fetch – decode – execute cycle: 1. Address of the next instruction is stored in the PC 2. Contents of the program counter are loaded into the MAR (memory address register) 3. The PC is incremented (to point to the next instruction) 4. Contents of addresses stored in MAR loaded into MDR (memory data register) 5. Contents of MDR loaded into CIR 6. The instruction in the CIR is divided into address of the data and the operation to be performed 7. If the instruction is a jump instruction, load the new instruction address into the PC and go back to step one 8. If it is a „normal‟ instruction the data is found using (the address in the MAR) and placed in the MDR and the instruction is executed and control returns to step 1 Steps 1 – 5 = fetch Step 6 = decode Step 7 – 8 execute 3.3 Computer Architectures 17
  • 18. Summary Von Neumann architecture: • Uses a single processor for program control • that follows the fetch – decode – execute • Execution is performed one instruction at a time in a linear sequence • A single memory is used to store program instructions and the data for use with the instructions Registers • The PC (program counter) stores the address of the next instruction to be executed • The MAR holds the address in memory that is currently be used • The MDR holds the data or instructions that is stored in the address currently in the MAR • Current instruction register holds the instruction currently being executed. 3.3 Computer Architectures 18
  • 19. Summary Fetch decode execute: 1. PC holds address of next instruction 2. Copy contents of PC to MAR 3. Increment PC 4. Contents of the address stored in MAR loaded into MDR 5. Copy instruction from MDR to CIR 6. Decode instruction in CIR 7. Execute instruction this may involve; a jump in which case a new address is placed in the PC An arithmetic or logical expression in which case the ALU and accumulator are involved 3.3 Computer Architectures 19
  • 20. Fetch – Decode – Execute Questions Q1 The program counter is a special register in the processor of a computer. Describe the initial state of the program counter before the running of the program [2] 1. The PC will contain the address of the first instruction in the sequence to be run 2. This will have been placed in the register by some external agent called the program loader Q2 Describe 2 ways in which the program counter can change during the normal execution of a program, explaining, in each case, how this change is initiated [4] 1. The PC is incremented ....... 2. As part of the standard flow of the fetch – execute – cycle 1. When the current instruction says to JUMP to another instruction out of sequence..... 2. The ‘jump to’ address in the CIR is placed into the PC and the associated instruction is executed Q3 Describe how a jump instruction is executed. [2] 1. changes the contents of PC to address of the new instruction that is being jumped to 2. By copying the ‘jump to’ address part of instruction currently 3. in the CIR to PC 3.3 Computer Architectures 20
  • 21. Fetch – Decode – Execute Questions Q4 Describe the fetch-execute cycle. [4] 1. PC holds address of next instruction 2. copy contents of PC to MAR 3. increment PC 4. Contents of address stored in MAR loaded into MDR 5. copy instruction from MDR to CIR 6. decode instruction in CIR Q5 Describe the fetch – decode part of the fetch/decode/execute cycle, explaining the purpose of any special registers that you have mentioned [7] 1. Contents of the PC loaded into MAR 2. PC is incremented 3. Contents of address stored in MAR loaded into MDR 4. copy instruction from MDR to CIR 5. decode instruction in CIR 6. PC stores the address of the next instruction to be executed 7. MAR holds the address in memory that is currently being used 8. MDR holds the data or instruction that is being stored in the address accessed by the MAR 9. CIR holds the instruction which is currently being executed 3.3 Computer Architectures 21
  • 22. Other computer Architectures c) Discuss co-processor, parallel processor and array processor systems, their uses, advantages and disadvantages Not all computers have one processor working in a linear fashion. It would make sense to try and deal with multiple instructions at the same time. The following architectures aim to do this: 1. Co-processor 2. Parallel processor 3. Array processor 4. Pipelining 3.3 Computer Architectures 22
  • 23. Co-processors What is a co-processor? This is an additional processor used for a specific task such as mathematical processes. They improve processing speed by executing concurrently (at the same time) with the main processor. • eg maths co-processor Main processor CO- PROCESSOR (maths) I can do all tasks I just do maths 3.3 Computer Architectures 23
  • 24. Pipelining Using the fetch – decode – execute cycle it should be apparent that an instruction can be in any one of 3 phases. Pipelining: We can split the processor up into 3 parts each of which handles one of the 3 stages. This means more than one instruction can be dealt with simultaneously. This results in the situation shown in below which is referred to as ‘pipelining’. Fetch Decode Execute Instruction 1 A static representation Pipelining works providing Instruction 2 Instruction 1 the next instruction in the pipeline is the next one to Instruction 3 Instruction 2 Instruction 1 be executed. Lets see what happens if there is a JUMP Instruction 4 Instruction 3 Instruction 2 instruction 3.3 Computer Architectures 24
  • 25. Pipelining and JUMP instructions Imagine instruction 2 is a jump to instruction 10. Then instruction 3, 4, and 5 need to be removed from the pipeline and instruction 10 needs to be loaded into the fetch part of the pipe – The pipeline must be RESET. Normal Flow Jump Instruction Flow Fetch Decode Execute Fetch Decode Execute Instruction 1 Instruction 1 Instruction 2 Instruction 1 Instruction 2 Instruction 1 Instruction 3 Instruction 2 Instruction 1 Instruction 3 Instruction 2 Instruction 1 Instruction 4 Instruction 3 Instruction 2 Instruction 4 Instruction 3 Instruction 2 Instruction 5 Instruction 4 Instruction 3 Instruction 10 If instruction 2 says jump to instruction 10. Then Instruction 11 Instruction 10 the instructions in the pipeline are no longer the ones to be dealt with next thus the pipe must be reset and the new instruction placed Instruction 12 Instruction 11 Instruction 10 at the beginning 3.3 Computer Architectures 25
  • 26. Parallel Processing Parallel processing architecture: 1. Uses multiple processors 2. Controlled by a complex OS 3. To work on different tasks within the same job at the same time 4. Each processor gets a DIFFERENT task 5. Which can greatly speed up processes e.g arithmetic ones Advantages Can deal with multiple inputs at the same time and process them all simultaneously eg weather stations. Disadvantages In order to get the full benefits of Parallel processing programs need to have been specifically written for them. If a program has been designed for a single processor architecture than some complex processing will be required to adapt the sequential algorithm As you may not be able to process instruction 20 unless instructions 1-19 have been processed first. 3.3 Computer Architectures 26
  • 27. Array Processing This involves one processor but MULTIPLE ALUs. An array processor is able to do the same calculation on multiple data locations(rather than starting at the beginning and processing them one by one.). This speeds up processing. SIMD – Same instruction multiple data This is useful for things like weather forecasting 1 2 3 4 5 6 7 45 66 87 34 23 5 66 Eg. process = Index i * 17.5% ALU 1 ALU 2 ALU 3 ALU 4 ALU 5 ALU 6 ALU 7 3.3 Computer Architectures 27
  • 28. Architectures Summary Von Neumann • Uses a single processor that follows a linear sequence of fetch – decode – execute • Uses special registers to store different data • Instructions and associated data are stored together in the same memory  Effective when the result of an algorithm is dependent on the order in which the steps are taken. E.g a formula  Is time hungry as only one instruction is executed at a time Co Processor An additional processor used for a specific task such as mathematical processes. They improve processing speed by executing concurrently (at the same time) with the main processor. Not quite as versatile as a parallel processor as the co - processor can only perform specific jobs 3.3 Computer Architectures 28
  • 29. Architectures Summary Pipelining • Where the CPU is divided into 3 areas to handle the fetch, decode and execute stages of processing an instruction. • Each part can hold a different instruction so more than one instruction can be dealt with simultaneously Disadvantage The pipeline will need to be reset if there was a JUMP instruction as there instructions backed up in the pipeline will no longer be the next ones to be executed. Array Processor This involves one processor but MULTIPLE ALUs. An array processor is able to do the same calculation on a range of memory locations simultaneously e.g performing the same processing on each item of data in an array 3.3 Computer Architectures 29
  • 30. Architectures Summary Parallel Processor Has multiple processors (compared to Von Neumann which has just 1) 1. Uses multiple processors 2. Controlled by a complex OS 3. To work on different tasks within the same job 4. at the same time 5. Each processor gets a different task Advantages • Can deal with multiple inputs at the same time and process them all simultaneously eg weather stations thus speeds up processing • Complex tasks can be dealt with efficiently Disadvantages • In order to get the full benefits of Parallel processing programs need to have been specifically written for them. • Not suitable for some programs designed to be executed in a linear fashion Computer architectures could potentially be a long question. Make sure you know about each different sort of architecture in detail. 3.3 Computer Architectures 30
  • 31. Alternative Computer architectures - Questions Q1 In some computer systems, a co-processor may be used. State what is meant by a co-processor 1. an additional processor 2. used for a specific task 3. improves processing speed by executing concurrently 4. Eg maths co-processor/floating point accelerator Q2 Describe how pipelining normally speeds up the processing done by a computer [2] 1. All instructions have 3 stages (fetch-decide-execute) 2. We can split the processor up into 3 each of which handles one of the 3 stages. 3. This means more than one instruction can be dealt with simultaneously. Q3 State one type of instruction that would cause the pipeline system to be reset, explaining why such a reset is necessary [3] 1. A jump instruction 2. The instructions in the pipeline are no longer the ones to be dealt with next 3. So the pipeline has to be reset 3.3 Computer Architectures 31
  • 32. Alternative Computer architectures - Questions Q4 Explain, with the aid of an example, the following statement “ A co-processor is a simple form of parallel processor” [2] • It is an additional processor alongside the central processor • improves speed by performing specific tasks concurrently with central processor a bit like how parallel processors can work at the same time • However the co-processor can only deal with certain types of jobs so it is not as flexible as the pp system e.g. maths co-processor/floating-point accelerator. Q5 Describe parallel processing [5] 1. More than one processor… 2. …controlled by a complex operating system 3. working simultaneously… 4. to perform a single job… 5. which is split into tasks… 6. each task may be performed by any processor. Q6 Describe one advantage and one disadvantage of a parallel processor compared with a single processor system [2]  Increased processing speed as multiple instructions are being processed at once  Complex tasks can be performed efficiently  Not suitable for some programs designed to be executed in a linear fashion  To maximise efficiency programs need to be specially designed with multiple processors in mind 3.3 Computer Architectures 32
  • 33. Alternative Computer architectures - Questions Q7 Explain the use of an array processor An array processor is able to do the same calculation on a range of memory locations simultaneously As it is performing lots of calculations at the same time it is very fast 3.3 Computer Architectures 33
  • 34. RISC and CISC d) Describe and distinguish between Reduced Instruction Set Computer (RISC) and Complex instruction Set Computer (CISC) architectures 3.3 Computer Architectures 34
  • 35. RISC: restricted instruction set computers The number of instructions recognised by a computer is limited. The more operations a computer can recognise the more ‘bits’ are needed for it’s operation set. In our earlier example of machine code had the following operation table: 000 Divide one number by the new number Think about the instructions a calculator might understand compared to a full PC. 001 Add two numbers together 010 Subtract one number from another 011 Input a number from the outside 100 Output a value 101 Store a number in a memory location 110 Get a value from a memory location B There are two categories of processors that vary in their operation sets: CISC – Complex instruction set computers RISC – Restricted/reduced instruction set computers 3.3 Computer Architectures 35
  • 36. RISC / CISC Both use one or more register sets but have their own characteristics as well CISC: These have operation codes for all the operations they have to do e.g they could have 1000s of different opcodes They have MANY addressing modes RISC: The number of operations recognised by this computer is limited. Thus the number of bits needed to represent an instruction is reduced, hence saving space within the CPU. It doesn’t mean they cannot do as many operations it just means ‘missing’ instructions have to be made up from the ones that are available. Which makes slower processing than CISC 3.3 Computer Architectures 36
  • 37. Efficiency of RISC and CISC RISC only has a simple instruction set thus to perform a complex task it may take several „cycles‟ of basic instructions. CISC has more complex instructions available to it thus it may be able to perform the task in just one cycle (by using one of its complex operations available) 3.3 Computer Architectures 37
  • 38. Example of cycles A RISC might have the operations: A CISC might have the operations: • ADD • ADD • SUB • SUB • DIV • DIV • etc • AVR (average) • etc If an instruction was sent to find the average of the numbers 5, 6, 7, 2, 3 the CISC system could use it’s AVR operation whereas the RISC system would need to perform the same tasks but by using it‟s ADD and DIV instructions (which means more cycles of instructions) 3.3 Computer Architectures 38
  • 39. RISC Reduced Instruction Set Computer Limited number of instructions available Number of bits required to store the whole instruction set is small. Can perform more complex instructions by executing several cycles of simple instructions As a result might work slightly slower than a CISC system use one or more register sets 3.3 Computer Architectures 39
  • 40. CISC Complex Instruction Set Computer Large number of instructions available to use Requires a larger number of bits than RISC to store the larger set of instructions They have many addressing modes use one or more register sets 3.3 Computer Architectures 40
  • 41. WARNING NEVER say RISC systems cannot do as many operations as CISCs systems, as this is NOT true. They many just take several more cycles to perform the same complex task. 3.3 Computer Architectures 41
  • 42. RISC / CISC Q1 What does RISC stand for Restricted Instruction set computer Q2 What does CISC stand for Complex Instruction set computer Q3 Explain what is meant by a Reduced Instruction Set Computer architecture and how it differs from a Complex Instruction Set Computer 1. In order to reduce the number of bits needed to represent an instruction code 2. The number of operations recognised by a RISC computer is limited 3. Complex instructions can still be created by using the available operations in combination 4. This makes processing slower than in a CISC which has more standard operations 3.3 Computer Architectures 42