Purdue CNIT 176 Final Exam with
verified detailed answers
The Memory Hierarchy from More Costly to Less Costly (CPU) - Correct answer ✔System,
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
Online (Secondary), Tertiary, Off-Line |||||| |||||| ||||||
The Memory Hierarchy from Smaller to Larger (CPU) - Correct answer ✔Registers, Level 1
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
Cache, Level 2 Cache, Main Memory, Solid-State Disk, Fixed Rigid Disk, Optical Disks
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
(Jukeboxes), Magnetic Tapes (Robotic libraries), USB Flash Drives, Removable Hard Drives
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
Current CPU Architecture Designs (CPU) - Correct answer ✔• Traditional modern architectures
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Complex Instruction Set Computers (CISC)
|||||| |||||| |||||| |||||| ||||||
• Reduced Instruction Set Computers (RISC)
|||||| |||||| |||||| |||||| ||||||
Current CPU Architecture (CPU) - Correct answer ✔• IBM Mainframe series
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Intel x86 family
|||||| |||||| ||||||
• IBM POWER/PowerPC family
|||||| |||||| ||||||
• ARM architecture
|||||| ||||||
• Oracle SPARC family
|||||| |||||| ||||||
• AMD||||||
CISC (CPU) - Correct answer ✔- Equals a complex instruction set computers.
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
- Larger vocabulary and uses less steps to complete a task compared to RISC.
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
RISC (CPU) - Correct answer ✔- Equals a reduced instruction set computers
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
- Smaller vocabulary and uses fewer unique instructions to carry out tasks compared to CISC.
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
,Stored Program Computer (CPU) - Correct answer ✔• Modern day computers that store their
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
programs in ||||||
electronic memory ||||||
• In contrast with historic computers that used wires or
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
other means of entering program data |||||| |||||| |||||| |||||| ||||||
• Two architectures support the stored program concept:
|||||| |||||| |||||| |||||| |||||| |||||| ||||||
The Von Neumann and the Harvard Architectures
|||||| |||||| |||||| |||||| |||||| ||||||
• A Plugboard is not a stored program computer.
|||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
Von Neumann Architecture (CPU) - Correct answer ✔• It is named after the mathematician
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
and early computer scientist John Von Neumann.
|||||| |||||| |||||| |||||| |||||| ||||||
• The computer has single storage system(memory) for storing data as well as program to be
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
executed.
• A single set of address/data buses between CPU and memory.
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
Von Neumann Bottleneck (CPU) - Correct answer ✔• Processor can process an instruction
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
faster than ||||||
it can be transferred in from memory
|||||| |||||| |||||| |||||| |||||| ||||||
• So there is time while processor is waiting for
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
transfer and is sitting idle |||||| |||||| |||||| ||||||
• This is the Von Neumann Bottleneck
|||||| |||||| |||||| |||||| |||||| ||||||
Harvard Architecture (CPU) - Correct answer ✔• The name is originated from "Harvard Mark I"
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
a relay
|||||| ||||||
based <old> computer, which stored instruction on |||||| |||||| |||||| |||||| |||||| ||||||
punched tape(24 bits wide) and data in electo-mechanical |||||| |||||| |||||| |||||| |||||| |||||| ||||||
counters.
• The computer has two separate memories for storing data
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
,and program. ||||||
• Two sets of buses - one for data, one for instructions
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
between CPU and memory. |||||| |||||| ||||||
Problems with early CPU Architectures and solutions: (CPU) - Correct answer ✔• Large
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
number of specialized instructions were rarely used but |||||| |||||| |||||| |||||| |||||| |||||| ||||||
added hardware complexity and slowed down other
|||||| |||||| |||||| |||||| |||||| ||||||
instructions
• Slow data memory accesses could be reduced by increasing
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
the number of general purpose registers
|||||| |||||| |||||| |||||| ||||||
• Using general registers to hold addresses could reduce the
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
number of addressing modes and simplify architecture design |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Fixed-length, fixed-format instruction words would allow
|||||| |||||| |||||| |||||| |||||| ||||||
instructions to be fetched and decoded independently and in |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
parallel
Fetch-Execute Cycle Timing Issues (CPU) - Correct answer ✔• Computer clock is used for |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
timing purposes for each step |||||| |||||| |||||| ||||||
of the instruction cycle
|||||| |||||| ||||||
• GHz (gigahertz) - billion steps per second
|||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Instructions can (and often) take more than one step
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Data word width can require multiple steps
|||||| |||||| |||||| |||||| |||||| |||||| ||||||
CPU Features and Enhancements
|||||| |||||| ||||||
(overview) (CPU) - Correct answer ✔• Separate Fetch/Execute Units |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Pipelining
||||||
• Multiple, Parallel Execution Units
|||||| |||||| |||||| ||||||
• Scalar Processing
|||||| ||||||
, • Superscalar Processing
|||||| ||||||
• Branch Instruction Processing
|||||| |||||| ||||||
Fetch Unit (CPU) - Correct answer ✔• Instruction fetch unit
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Instruction decode unit
|||||| |||||| ||||||
- Determine opcode
|||||| ||||||
- Identify type of instruction and operands
|||||| |||||| |||||| |||||| |||||| ||||||
• Several instructions are fetched in parallel and held in
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
a buffer until decoded and executed
|||||| |||||| |||||| |||||| ||||||
• Instruction Pointer (IP) register holds instruction
|||||| |||||| |||||| |||||| |||||| ||||||
location of current instruction being processed
|||||| |||||| |||||| |||||| ||||||
Execution Unit (CPU) - Correct answer ✔• Receives instructions from the decoder unit
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Appropriate execution unit services the instruction
|||||| |||||| |||||| |||||| |||||| ||||||
Sequential Processing (CPU) - Correct answer ✔• One result per m cycles
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
Pipelining Processing (CPU) - Correct answer ✔• One result per m cycles
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Non-scalar, Scalar, or Superscalar
|||||| |||||| |||||| ||||||
Instruction Pipelining (CPU) - Correct answer ✔• Assembly line technique to allow overlapping
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
between fetch-execute cycles of sequences of
|||||| |||||| |||||| |||||| ||||||
instructions
Multiple, Parallel Execution Units (CPU) - Correct answer ✔• Different instructions have
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
different numbers of |||||| ||||||
steps in their cycle
|||||| |||||| ||||||
verified detailed answers
The Memory Hierarchy from More Costly to Less Costly (CPU) - Correct answer ✔System,
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
Online (Secondary), Tertiary, Off-Line |||||| |||||| ||||||
The Memory Hierarchy from Smaller to Larger (CPU) - Correct answer ✔Registers, Level 1
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
Cache, Level 2 Cache, Main Memory, Solid-State Disk, Fixed Rigid Disk, Optical Disks
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
(Jukeboxes), Magnetic Tapes (Robotic libraries), USB Flash Drives, Removable Hard Drives
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
Current CPU Architecture Designs (CPU) - Correct answer ✔• Traditional modern architectures
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Complex Instruction Set Computers (CISC)
|||||| |||||| |||||| |||||| ||||||
• Reduced Instruction Set Computers (RISC)
|||||| |||||| |||||| |||||| ||||||
Current CPU Architecture (CPU) - Correct answer ✔• IBM Mainframe series
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Intel x86 family
|||||| |||||| ||||||
• IBM POWER/PowerPC family
|||||| |||||| ||||||
• ARM architecture
|||||| ||||||
• Oracle SPARC family
|||||| |||||| ||||||
• AMD||||||
CISC (CPU) - Correct answer ✔- Equals a complex instruction set computers.
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
- Larger vocabulary and uses less steps to complete a task compared to RISC.
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
RISC (CPU) - Correct answer ✔- Equals a reduced instruction set computers
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
- Smaller vocabulary and uses fewer unique instructions to carry out tasks compared to CISC.
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
,Stored Program Computer (CPU) - Correct answer ✔• Modern day computers that store their
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
programs in ||||||
electronic memory ||||||
• In contrast with historic computers that used wires or
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
other means of entering program data |||||| |||||| |||||| |||||| ||||||
• Two architectures support the stored program concept:
|||||| |||||| |||||| |||||| |||||| |||||| ||||||
The Von Neumann and the Harvard Architectures
|||||| |||||| |||||| |||||| |||||| ||||||
• A Plugboard is not a stored program computer.
|||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
Von Neumann Architecture (CPU) - Correct answer ✔• It is named after the mathematician
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
and early computer scientist John Von Neumann.
|||||| |||||| |||||| |||||| |||||| ||||||
• The computer has single storage system(memory) for storing data as well as program to be
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
executed.
• A single set of address/data buses between CPU and memory.
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
Von Neumann Bottleneck (CPU) - Correct answer ✔• Processor can process an instruction
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
faster than ||||||
it can be transferred in from memory
|||||| |||||| |||||| |||||| |||||| ||||||
• So there is time while processor is waiting for
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
transfer and is sitting idle |||||| |||||| |||||| ||||||
• This is the Von Neumann Bottleneck
|||||| |||||| |||||| |||||| |||||| ||||||
Harvard Architecture (CPU) - Correct answer ✔• The name is originated from "Harvard Mark I"
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
a relay
|||||| ||||||
based <old> computer, which stored instruction on |||||| |||||| |||||| |||||| |||||| ||||||
punched tape(24 bits wide) and data in electo-mechanical |||||| |||||| |||||| |||||| |||||| |||||| ||||||
counters.
• The computer has two separate memories for storing data
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
,and program. ||||||
• Two sets of buses - one for data, one for instructions
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
between CPU and memory. |||||| |||||| ||||||
Problems with early CPU Architectures and solutions: (CPU) - Correct answer ✔• Large
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
number of specialized instructions were rarely used but |||||| |||||| |||||| |||||| |||||| |||||| ||||||
added hardware complexity and slowed down other
|||||| |||||| |||||| |||||| |||||| ||||||
instructions
• Slow data memory accesses could be reduced by increasing
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
the number of general purpose registers
|||||| |||||| |||||| |||||| ||||||
• Using general registers to hold addresses could reduce the
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
number of addressing modes and simplify architecture design |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Fixed-length, fixed-format instruction words would allow
|||||| |||||| |||||| |||||| |||||| ||||||
instructions to be fetched and decoded independently and in |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
parallel
Fetch-Execute Cycle Timing Issues (CPU) - Correct answer ✔• Computer clock is used for |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
timing purposes for each step |||||| |||||| |||||| ||||||
of the instruction cycle
|||||| |||||| ||||||
• GHz (gigahertz) - billion steps per second
|||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Instructions can (and often) take more than one step
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Data word width can require multiple steps
|||||| |||||| |||||| |||||| |||||| |||||| ||||||
CPU Features and Enhancements
|||||| |||||| ||||||
(overview) (CPU) - Correct answer ✔• Separate Fetch/Execute Units |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Pipelining
||||||
• Multiple, Parallel Execution Units
|||||| |||||| |||||| ||||||
• Scalar Processing
|||||| ||||||
, • Superscalar Processing
|||||| ||||||
• Branch Instruction Processing
|||||| |||||| ||||||
Fetch Unit (CPU) - Correct answer ✔• Instruction fetch unit
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Instruction decode unit
|||||| |||||| ||||||
- Determine opcode
|||||| ||||||
- Identify type of instruction and operands
|||||| |||||| |||||| |||||| |||||| ||||||
• Several instructions are fetched in parallel and held in
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
a buffer until decoded and executed
|||||| |||||| |||||| |||||| ||||||
• Instruction Pointer (IP) register holds instruction
|||||| |||||| |||||| |||||| |||||| ||||||
location of current instruction being processed
|||||| |||||| |||||| |||||| ||||||
Execution Unit (CPU) - Correct answer ✔• Receives instructions from the decoder unit
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Appropriate execution unit services the instruction
|||||| |||||| |||||| |||||| |||||| ||||||
Sequential Processing (CPU) - Correct answer ✔• One result per m cycles
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
Pipelining Processing (CPU) - Correct answer ✔• One result per m cycles
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
• Non-scalar, Scalar, or Superscalar
|||||| |||||| |||||| ||||||
Instruction Pipelining (CPU) - Correct answer ✔• Assembly line technique to allow overlapping
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
between fetch-execute cycles of sequences of
|||||| |||||| |||||| |||||| ||||||
instructions
Multiple, Parallel Execution Units (CPU) - Correct answer ✔• Different instructions have
|||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| |||||| ||||||
different numbers of |||||| ||||||
steps in their cycle
|||||| |||||| ||||||