• How components fit together to create working computer system • Includes physical aspects of computer systems. • Concerned with how computer hardware works[r]
(1)Computer Organization and Assembly Language
(2)About Me
Dr Safdar Hussain Bouk
Assistant Professor
Department of Electrical Engineering COMSATS Institute of Information
Technology Islamabad.
(3)Course Outline Computer Organization
• Data Representation
• Integer Arithmetic
• Binary Representation
• Floating Point Representation
• Machine Instruction Characteristics
• Instruction Cycles, types of Operands
• Pentium and Power PC Data Types
• Microporessor Bus Structure
• Address, Data, Control Buses and Registers
• Memory Organization and Structure
(4)Course Outline (Continued )
Assembly Language
• Objectives and Perspectives
• Introduction to Assembler and Debugger
• Introduction to Registers and Flags
• Data Movement
• Arithmetic and Logic operations
• Program Control
• Subroutines
• Stack and its Operations
• Interrupts and Interrupt Handling
(5)Course is About:
• What Computers consist of?
• How Computers work?
• How to represent information?
• How they are organized internally?
• How design affects programming and applications?
(6)Course Objectives
After successfully completing the course, you will be able to:
• Describe the basic components of a Computer System,
its instruction set architecture and its basic fetch-execute cycle operation
• Describe how data is represented and recognized in a
Computer
• Understand the basics of Assembly Language
programming including addressing modes, subroutines, interrupts, stacks, etc
• Analyze, design, implement, and test assembly language
(7)Computing Machines
Ubiquitous ( = everywhere)
• General purpose: servers, desktops, laptops,
PDAs, etc
• Special purpose: cash registers, ATMs, games,
Mobile Phones, etc
• Embedded: cars, door locks, printers, digital
players, industrial machinery, medical equipment, etc
Distinguishing Characteristics
• Speed
• Cost
• Ease of use, software support & interface
(8)Computer
Hardware
Electronics circuit boards that provide
functionality of the system
Software
(9)Inside the Computer
• Application software
• Written in high-level language
• System software
• Compiler: translates HLL code to machine code • Operating System: service code
• Handling input/output
• Managing memory and storage
• Scheduling tasks & sharing resources
• Hardware
(10)Functions of a Computer
Functions of all Computers are:
• Data processing
• Data storage
• Data movement
(11)A Programmer’s View of a Computer
Application Programs High-Level Languages
Assembly Language Machine Language
Microprogram Control Hardware
High-Level Languages Low-Level Language Machine-independent
(12)Levels of Program Code
• High-level language
• Level of abstraction closer to
problem domain
• Provides productivity and
portability
• Assembly language
• Textual representation of
instructions
• Hardware representation
• Binary digits (bits)
(13)Computer Organization and Architecture
COMPUTER ORGANIZATION
• How components fit together to create working computer system • Includes physical aspects of computer systems
• Concerned with how computer hardware works
COMPUTER ARCHITECTURE
• Structure and behavior of computer system
• Logical aspects of system implementation as seen by programmer • Concerned with how computer is designed
• Combination of hardware components with Instruction Set
(14)Moore’s Law
• In 1965, Intel founder Gordon Moore stated:
“The density of transistors in an integrated circuit
will double every year”
• Current version of Moore’s Law predicts doubling of
density of silicon chips every 18 months
• Moore originally thought this postulate would hold for
(15)Principle of Equivalence of Hardware and Software
• Anything that can be done with software can also be done with
hardware, and anything that can be done with hardware can also be done with software
• Modern computers are implementations of algorithms that execute
other algorithms
Semantic Gap
• Open space between the physical components of a computer system
and the high-level instructions of an application
(16)Abstraction
Complete definition of abstraction includes the following:
• Suppression of detail • Outline structure
• Division of responsibility
(17)Abstraction and Computer Systems
• Can look at a computer as being a machine composed of
a hierarchy of levels
• Each level has specific function
• Each level exists as a distinct hypothetical machine (or virtual
machine)
• Each level’s virtual machine executes its own particular
(18)Abstraction and Computer Systems
“I really don’t think that you can write a book for serious
computer programmers unless you are able to discuss low-level details.”
Donald E Knuth The Art of Computer Programming
(19)Abstraction and Computer Systems
• Text uses the following labels to describe
levels of abstraction in a computer system:
App7 HOL6 Asmb5 OS4 ISA3 Mc2 LG1
• Each level has its own language to describe
tasks performed by Computer
(20)Abstraction and Computer Systems
Level : APP7
• The application level is composed of those
programs designed to specific kinds of tasks for end users
• An application may have some sort of
programming language associated with it (macros or shortcuts, e.g.)
• Ideally, end users need not be concerned