COMP-261
Computer Organization & Assembly Language
Dr Taimur Ahmed
Department of IT & CS, PAF-IAST
Course Administration
Instructor and Contact Information
Dr Taimur Ahmed
Office: C1-306
Email: Taimur.ahmed@fecid.paf-iast.edu.pk
Consultation hours: Monday – Tuesday 10:00 am – 1:00 pm
(check office entrance for updated consultation hours)
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 2
Course Administration
Text Book(s)
William Stallings, "Computer Organization and
Architecture", 10th edition, Pearson, 2016.
ISBN: 978-0134101613
David A. Patterson, John L. Hennesy, "Computer
Organization and Design: The Hardware/Software
Interface", 5th edition, Morgan Kaufmann, 2013.
ISBN: 978-0124077263
Kip Irvine, “Assembly Language for x86
Processors”, 7th edition, Pearson, 2014.
ISBN: 978-0133769401
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 3
Course Administration
Marks Distribution
Theory (100%) Laboratory (100%)
Percentage Percentage
Assessment Items Assessment Items
Weightages Weightages
Quizzes (4x) 8% Lab Reports 20%
Assignments (4x) 12% Lab Performance 40%
Project-I 10% Viva 10%
Mid-term 25% Project-II 30%
Final Exam 50%
80% Theory and Lab attendance is required to appear in the final examination.
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 4
Course Administration
Written Reports
Assignments must be submitted before the given deadline.
Laboratory reports must be submitted at the end of each lab.
A penalty for any late work is 20% OFF for the first date and an
additional 30% OFF for the second day.
No work will be accepted thereafter.
Projects
Lab and Project groups must be of max 4 students.
See course card for weekly lecture content
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 5
Week# 1
Introduction to Digital Systems and Typical
Architecture
Dr Taimur Ahmed
Department of IT & CS, PAF-IAST
Today’s Lecture Outline
Today’s Lecture Outline
1. About this Course
2. What is Computer Architecture and Computer Organization?
3. About Assembly Language
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 8
1. About this Course
About this Course
Course Objective:
To introduce the internal working and organization of various building
blocks of a digital computer as well as simple assembly language
programming techniques.
Upon completion of this course, you will develop basic understanding
of computer system architecture including CPU design, memory subsystem
design and performance enhancement techniques.
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 10
About this Course
Course Content:
Basic Structure & Components of a Computer System
Difference in Computer Organization & Computer Architecture
Computer Evolution
Microprocessor & Microcontrollers
Interconnection Structures
Memory Organization
Data Representation
Instruction Set
Processor Structure & Function
Processor Registers & FLAGS
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 11
2. Computer Architecture & Computer
Organization
What is Computer Architecture and Computer Organization?
Computer System
Computer Architecture
is a functional description of requirements and design
implementation for the various parts of a computer. It
deals with the functional behavior of computer systems.
Architecture describes what the computer does
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 13
What is Computer Architecture and Computer Organization?
Computer System
Computer Organization
is how operational attributes are linked together and
contribute to realizing the architectural specification.
Organization describes how it does it
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 14
What is Computer Architecture and Computer Organization?
Computer System
Difference between Computer Architecture
and Computer Organization
S.No Computer Architecture Computer Organization
Architecture describes what Organization describes how it does
a computer does. it
1.
What instructions a How does the computer hardware
computer understands! carry out instructions!
It deals with high-level It deals with low-level design
2.
design issues. issues.
Architecture indicates its Organization indicates its
3.
hardware. performance.
As a programmer, you can
view architecture as a The implementation of the
4. series of instructions, architecture is called
addressing modes, and organization.
registers.
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 15
What is Computer Architecture and Computer Organization?
Computer System
Difference between Computer Architecture
and Computer Organization
S.No Computer Architecture Computer Organization
For designing a computer, an
For designing a computer,
5. organization is decided after its
architecture is fixed first.
architecture.
Computer Architecture is Computer Organization is
6. also called Instruction Set frequently called
Architecture (ISA). microarchitecture.
Computer Architecture
comprises logical functions Computer Organization consists of
7. such as instruction sets, physical units like circuit
registers, data types, and designs, peripherals, and adders.
addressing modes.
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 16
What is Computer Architecture and Computer Organization?
Computer System
Difference between Computer Architecture
and Computer Organization
S.No Computer Architecture Computer Organization
The different architectural
categories found in our CPU organization is classified
computer systems are as into three categories based on
follows: the number of address fields:
1. Von-Neumann Architecture 1. Organization of a single
8.
2. Harvard Architecture Accumulator
3. Instruction Set 2. Organization of general
Architecture registers
4. Micro-architecture 3. Stack organization
5. System Design
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 17
What is Computer Architecture and Computer Organization?
Example:
IBM System/370 architecture
Was introduced in 1970
Included a number of models
A user could upgrade to a more expensive, faster model without having to abandon
original software
New models are introduced with improved technology, but retain the same
architecture so that the customer’s software investment is protected
Architecture has survived to this day as the architecture of IBM’s mainframe
product line
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 18
3. Assembly Language
About the Assembly Language
What will be covered in the course?
Why is it important to study Assembly language?
Syntax
Basic Instructions
Flow Control Instructions
High Level Language Structures
Logic, Shift and Rotate Instructions
The Stack
Multiplication & Division Instructions
Array & Addressing Modes
String Instructions
Procedures & Macros
Translation of high-level language into assembly language
Lecture# 1 - Introduction to Digital Systems and Typical Architecture | 20