0% found this document useful (0 votes)
118 views30 pages

COAS - Class 3A and 3B: Computer Organization and Assembly Language

This document provides information about the COAS - Class 3A and 3B Computer Organization and Assembly Language course. It outlines the contact information for the instructor, Jehanzeb Ahmad, as well as the grading policy, class timings, textbook, and online course format. It also discusses why an understanding of computer organization and assembly language is important for areas like developing compilers, drivers, operating systems, and microcontrollers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
118 views30 pages

COAS - Class 3A and 3B: Computer Organization and Assembly Language

This document provides information about the COAS - Class 3A and 3B Computer Organization and Assembly Language course. It outlines the contact information for the instructor, Jehanzeb Ahmad, as well as the grading policy, class timings, textbook, and online course format. It also discusses why an understanding of computer organization and assembly language is important for areas like developing compilers, drivers, operating systems, and microcontrollers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 30

COAS – Class 3A and 3B

Computer Organization and


Assembly Language

Instructor : Jehanzeb Ahmad


 Contact Information

[email protected]
 Whatsapp 0300-8544099
 Office : 4th floor
Grading policy
 Course will be online for now
 Class timings
 A section Mon 1230 to 1330, Wed 1130-1330

 B Section Mon 1130 to 1230, Fri 1130 to 1330

 Final = 50
 Mid = 20
 Assignments = 20
 Quiz = 10
Text Book
Online Format
 Recorded lectures of 10-15 minutes
duration
 Will be uploaded before class (2-3 days
in advance)
 Will have discussion after each lecture
to answer any questions
 Class will be held as per timetable
About the instructor
 With Bahria University since 2006
 Head of department at Islamabad Campus from
2006-2012, and cluster head from 2012 – 2020
 MS in EE from Purdue University, USA
 Worked as Chip designer at Intel, silicon valley, USA.
Worked on the Intel Pentium processors
 Worked as General Manager (Tech) in Nescom
 Worked as Site engineer in Alcatel Pakistan
 Hardware engineer at IBM
Why do we need COAL?
 If you are writing simple programs you
don’t need to understand the underlying
hardware
 However in professional life you will not
be writing simple programs
 What time it will take for your program
to run depends on the code, but also on
the underlying architecture
Why COAL
 Exploit parallel processing
 Reduce the run time
 Reduce the power consumed by your
application
 Enhance battery life
 Make it very reliable
 Use less memory
 Use less I/O or network bandwidth
Why COAL
 If you want to develop a compiler
 If you want to develop drivers (Display, I/O, mouse,
keyboard, sound, video)
 If you want to write operating systems
 If you want to migrate code from one architecture
(Intel) to Apple (ARM)
 If you want to program microcontrollers
 You can answer this question “Which computer /
mobile is faster ?”
What you will learn
 How your program written in C is translated into something that
hardware can understand
 What is an Instruction set Architecture (ISA)
 What are the common ISAs
 RISC versus CISC
 Assembly language
 SRAM, DRAM, Caches
 Hardware arithmetic units
 Pipelining (parallel processing)
 Control and data-path in the processor
COD Ch. 1
Computer Abstractions and
Technology
Introduction
 Rapidly changing field:
 vacuum tube -> transistor -> IC -> VLSI
 doubling every 1.5 years:
 memory capacity
 processor speed (due to advances in technology and hardware organization)
 cute example: if Boeing had kept up with IBM we could fly from
Bangkok to HCM City in 10 minutes for 5 baht (2000 dong) !!
 Things we’ll be learning:
 how computers work, what’s a good design, what’s not
 how to make them – yes, we will actually build working computers!!
 issues affecting modern processors (e.g., caches, pipelines)
Computers today
The Five Classic Components
of a Computer
 Input (mouse, keyboard, …)
 Output (display, printer, …)
Input
 Memory
 main (DRAM), cache (SRAM)
 secondary (disk,
CD, DVD, …) Output
 Datapath Processor Processor
 Control (CPU)
Control
Memory
1001010010110000
0010100101010001
1111011101100110
1001010010110000
Datapath 1001010010110000
1001010010110000
Our Primary Focus
 The processor (CPU)…
 datapath
 control
 …implemented using millions of transistors
 …impossible to understand by looking at individual transistors
 we need...
High-level swap(int v[], int k)
language {int temp;

Abstraction
program temp = v[k];
(in C) v[k] = v[k+1];
v[k+1] = temp;
}

 Delving into the depths reveals C compiler

more information, but…


Assembly swap:
 An abstraction omits “unneeded” language
program
muli $2, $5,4
add $2, $4,$2

detail, helps us cope with complexity (for MIPS) lw $15, 0($2)


lw $16, 4($2)
sw $16, 0($2)
sw $15, 4($2)
jr $31

 From the figure on the right, how


does abstraction help the programmer Assembler

and how does she avoid too much


Binary machine 00000000101000010000000000011000
detail? language 00000000100011100001100000100001
program 10001100011000100000000000000000
(for MIPS) 10001100111100100000000000000100
10101100111100100000000000000000
10101100011000100000000000000100
00000011111000000000000000001000
The Instruction Set:

a Critical Interface

software

instruction set

hardware
Instruction Set Architecture
 A very important abstraction:
 interface between hardware and low-level software
 standardizes instructions, machine language bit patterns, etc.
 advantage: allows different implementations of the same
architecture
 disadvantage: sometimes prevents adding new innovations

 Modern instruction set architectures:


 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP
What is Computer Architecture?
Easy Answer

Computer Architecture =
Instruction Set Architecture +
Machine Organization
What is Computer Architecture?
Better (More Detailed) Answer

Application
Operating
System
Compiler Firmware
Instruction Set
Architecture
Instars. Set Proc.I/O system
Datapath & Control

Digital Design
Circuit Design
Layout
Forces on Computer
Architecture
Technology Programming
Languages

Applications
Computer
Architecture

Operating
Systems
History
8 great ideas of CA
 Design for Moore’s Law
 Use Abstraction to simplify design
 Make the common case fast
 Pipelining
 Parallelism
 Prediction
 Redundancy
8 great ideas
 Memory Hierarchy
Apple IPAD
Apple A5 Processor
IC manufacturing
Intel Core i7 wafer, 280 chips,
20 X 10mm size

You might also like