Computer Architecture
Yousef Awwad Daraghmi
These slides are based on the book:
Computer Architecture and Organization Designing for Performance, William Stallings, 8 th edition
The slides may include materials (questions, examples, case studies) from other resources
What is computer?
• Which machines are computers?
• Processing
• Storing
• Controlling
Computer main components
What will you learn?
Topics Covered
Introduction about computer evolution
Computer performance
Computer function and interconnection
Internal memory design
Cache memory design
Cache memory performance
Cache memory access methods
Memory replacement algorithm
External memory
Input/output devices
Computer arithmetic
Instruction Set
Pipelining basics
Pipelining hazards
Pipeline improvement and performance
Parallel computing
Is computer a system?
• What is system?
Interrelated functioning components
• Each component can be decomposed into subcomponents, e.g.
computer system Processor, memory, I/O
Processor control unit, registers, ALU, instruction execution unit
Why study computer architecture?
• Professionalism of computer
• A computer engineer needs to understand computer components,
characteristics and functions
• A computer engineer needs to understand tradeoff among components e.g.
memory size vs CPU speed
• A computer engineer needs to structure a program/OS that runs efficiently on
a real machine
• A computer engineer needs to know how to select the best computer
Challenges of studying computer architecture
• Variety of computing machines
• Variety in cost
• Variety in performance
• Variety in applications
• Computer technology changes very fast, e.g.
• Integrated circuits
• Multiple core processing
• Parallel computing
• Despite all developments, computers share certain fundamental
concepts fundamental architecture
What is computer architecture?
• Refers to the attributes of a system visible to a programmer or the
attributes that have a direct impact on the logical execution of a program
• Attributes include:
• Instruction set,
• number of bits used for data representation,
• I/O mechanisms,
• addressing techniques.
• Does program contains multiply instruction, e.g.
• Examples: IBM architecture System/370
intel architecture x86
What is computer organization?
• Refers to the operational units and their interconnections
• Control signals, interfaces, memory technology.
• e.g. Is there a hardware multiply unit or is it done by repeated addition?
• In computers, one architecture can have different organizations (different
models)
• Same architecture but different memory size or different CPU speed
• Think of C++ or java program ?????
• In microcomputers, organization changes cause architecture change
• Can you tell why?
Computer is a hierarchical system
• A complex system consisting of multiple levels (subsystems)
• Each level contains a set of components
• The behavior of each level depends on the lower level
• Computer designers care about the structure and the function of each level
Structural components of
Structure computer
• The way in which
components are
interrelated
Structural
components of
Structural processor
components of
control unit
Function
•The operation of each component
Operations (1) Data movement
Operations (2) Storage
Operation (3) Processing from/to storage
Operation (4) Processing storage to I/O
Challenges in computer
• Clock speed has reached the top multi core systems
• DRAM is slow SRAM is faster than DRAM,,, but more heat
• Mass storage is slow flash storage
Performance of a program
• Insertion sort is O(n2)
• How it is executed on data of 1000000 element
• Simple flow of instruction and data
H.D. RAM cache Reg CPU Reg Cache RAM I/O OR H.D