01 Introduction To The Course
01 Introduction To The Course
EE-321
Spring 2019
BESE-10 (A&B)
Engr Taufique-ur-Rehman
[email protected]
1
Topics for Today’s Lecture
■ Course Objectives, Learning Outcomes and
Description
■ Difference between Computer Architecture
and Organization
■ Computer Abstraction vs Hierarchy
■ ISA vs Microarchitecture
■ Why Study Computer Architecture?
■ Text and Reference Books
2
Computer Architecture and
Organization Course Objectives
A complete understanding of program execution
more efficiently
3
Computer Architecture and Organization
Course Learning Outcomes
computer systems
the processor
4
Computer Architecture and
Organization Course Description
This course will focus on the Principles, Current Practices,
and Issues in Computer Architecture and organization
Covering introduction of Computer Organization including:
• Roles of Processors, Main Memory, and Input/ Output
Devices
• Understanding simple data path and control designs for
processors
• Understanding Memory Organization, including Cache
Structures and Virtual Memory Schemes
• Understanding Parallel Processing and Multi-core
Computers
Get a deeper understanding of how computers work and
analyze their performance
How the programs are translated to hardware, which would5
help in writing optimized codes
160mm² die
carrying
1.40 billion
transistors
6
Difference between Computer
Architecture and Organization
Computer Architecture: Software Perspective
Refer to those attributes of the system visible to a
programmer or those attributes that have direct
impact on the logical execution of a program
■ Examples:
• Instruction Set
• Number of Bits used for different Data Types
• I/O Mechanisms
• Techniques of Memory Addressing
7
Difference between Computer
Architecture and Organization
Computer Organization: Hardware Perspective
Refer to operational units and their interconnections
that realize their architectural specifications, which
are transparent to programmers
■ Examples:
• Control Signals
• Interfaces between Computer and Peripherals
• Design of Cache
• Memory Technology
8
Another Definition
■ Computer Architecture: The science and art of designing,
selecting, and interconnecting hardware components and
designing the hardware/software interface to create a
computing system that meets functional, performance,
energy consumption, cost, and other specific goals.
9
Computer Architecture
Abstractions vs Hierarchy
Abstraction: hiding details
Hierarchy: division into sub systems
Problem
Peripherals Computer
Algorithm
Central Main
Program/Language Processing Memory
Unit
Runtime System
(VM, OS, MM) Computer Systems
Interconnection
ISA (Architecture)
Microarchitecture Input
Output
Logic
Communication
Circuits lines
Electrons
10
ISA vs Microarchitecture
■ ISA (Instruction Set Architecture)
❑ Agreed upon interface between software
Problem
and hardware
■ SW/ Compiler Assumes, HW Delivers Algorithm
❑ What the software writer needs to know to Program
write and debug system/ user programs ISA
Microarchitectur
■ Microarchitecture e
Circuits
❑ Specific implementation of an ISA
Logic Gates
❑ Not visible to the software
■ Microprocessor
❑ ISA, Microarchitecture/ Circuits
❑ “Architecture” = ISA + Microarchitecture
1
A Note on Hardware vs. Software
■ However, you will be much more capable if you master both
hardware and software (and the interface between them)
1
Why Study Computer Architecture?
■ Enable Better Systems: make computers faster, cheaper,
smaller, more reliable, …
❑ By exploiting advances and changes in underlying technology/ circuits
1
Computer Architecture Today
■ Today is a very exciting time to study computer architecture
■ Challenges:
❑ Power/ Energy Constraints
❑ Complexity of Design
❑ Difficulties in Technology Scaling
❑ Memory Hierarchy
❑ Reliability Issues
❑ Programmability Problems
❑ Huge hunger for Data and new Data-intensive Applications
1
Text and Reference Books
Text Books
Reference Books
1
THE END
16