0% found this document useful (0 votes)
750 views

Computer Organization & Assembly Language: 1 - An Introduction

This document provides an overview of a course on computer organization and assembly language. The course objectives are to understand the internal architecture and components of a computer system and learn assembly language. The course will cover topics like basic computer structure, memory organization, instruction sets, assembly language syntax and instructions. It defines the differences between computer organization, which refers to how a system is implemented physically, and computer architecture, which defines the logical aspects visible to a programmer. Assembly language serves as a low-level language that has a one-to-one correspondence with machine language instructions.

Uploaded by

Ahmad Naeem
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
750 views

Computer Organization & Assembly Language: 1 - An Introduction

This document provides an overview of a course on computer organization and assembly language. The course objectives are to understand the internal architecture and components of a computer system and learn assembly language. The course will cover topics like basic computer structure, memory organization, instruction sets, assembly language syntax and instructions. It defines the differences between computer organization, which refers to how a system is implemented physically, and computer architecture, which defines the logical aspects visible to a programmer. Assembly language serves as a low-level language that has a one-to-one correspondence with machine language instructions.

Uploaded by

Ahmad Naeem
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 35

Computer Organization &

Assembly Language

1 – An Introduction

Ahmad Naeem
Outline
 About this Course
 Basic Structure of Computer
 What is Computer Organization?
 About Assembly Language

2
What is this course about?
Course Objectives
 To understand organization of a computer system
 To gain an insight knowledge about the internal architecture and
working of microprocessors.
 To understand working of memory devices, interrupt controllers and
I/O devices.
 To learn Assembly Language
 To understand how low level logic is employed for problem solving
by using assembly language as a tool.

4
Course Contents
 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
 Interrupts
 Processor Registers & FLAGS

5
Course Contents Contd..
 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.

6
Basic Structure & Function –
Computer System
Structure

 Structure is the way in which components relate to each


other

8
Difference in Peripherals & Communication
Lines

 When data is received from or delivered by a device that is


directly connected to the computer, process is called Input-
Output (I/O).
 When data are moved over longer distance, to or from a
remote device, the process is known as Data
Communication.

9
Structure - Top Level

Peripherals Computer

Central Main
Processing Memory
Unit

Computer
Systems
Interconnection

Input
Output
Communication
lines

10
Structure – Top Level Contd..

 Four main structural components:

 CPU: controls the operation of the computer and performs its


data processing functions; often referred as processor.
 Main Memory: stores data
 I/O: moves data between the computer and its external
environment.
 System Interconnections: Mechanism for communication
among CPU, memory, and I/O.

11
Structure - The CPU

CPU

Computer Arithmetic
Registers and
I/O Login Unit
System CPU
Bus
Internal CPU
Memory Interconnection

Control
Unit

12
Structure – The CPU
 Control Unit: controls the operation of CPU and hence the
computer.
 Arithmetic and logic unit: performs the computer’s data
processing functions.
 Registers: provides storage internal to CPU.
 CPU interconnection: Mechanism that provides for
communication among the control unit,ALU, and registers.

13
Structure - The Control Unit

Control Unit

CPU
Sequencing
ALU Logic
Control
Internal
Unit
Bus
Control Unit
Registers Registers and
Decoders

Control
Memory

14
Function
 Function is the operation of individual components as part
of the structure.
 Main functions performed by a computer system are:
 Process Data
 Store Data
 Move Data
 Control the above three functions

15
Functional View of Computer

16
Possible Operations
Data movement device Data storage device (read/write)

17
Possible Operations Contd..
Processing on data stored in storage or in external environment

18
What is Computer Organization?
Computer Architecture
 Computer Architecture refers to those attributes of a system
visible to a programmer
 Those attributes that have direct impact on logical execution of a
program.
 Architectural attributes include:
 the instruction set,
 no. of bits used to represent various data types (numbers, characters
etc),
 I/O mechanisms and technology for addressing memory.

 Example: Architectural design issue whether a computer will


have multiply instruction or not.

20
What is Computer Organization?
 Organization is how features are implemented.
How does a Computer Work?
 For Example: Is there a special hardware multiply unit for
multiplication operation or is it done by repeated addition?
 Computer Organization refers to the operational units and their
interconnections that realize the architectural specifications.
 Organizational attributes:
 hardware details transparent to the programmer such as control
signals,
 interfaces between peripherals and the computer,
 the memory technology used.

21
Computer Organization vs. Architecture
 Architecture:
 Logical aspects of computer hardware that are visible to the
programmer
 What instruction a computer understands!
 Organization:
 Physical aspects of computer hardware that are invisible to the
programmer
 How does the computer hardware carries out instructions!

22
Computer Organization vs. Architecture
Contd..
 Computer Organization must be designed to implement a
particular architectural specifications.

 It is possible to have same architecture but different


organizations.
 All computers in the Intel Pentium series have the same architecture.
 Each version of the Pentium has a different organization or
implementation.

23
Computer Organization vs. Architecture
Contd..
 Architectural Issues:
 Reduced Instruction Set Computing (RISC)
 Complex Instruction Set Computing (CISC)
 Pipeline etc

 Organizational Issues:
 I/O, control unit, memory etc

24
Why Study Computer Organization?
 Understand how computer works!
 Computer functional components, their characteristics, their
performance, and their interactions.
 How to select a system?
 Understand tradeoff among various components, such as memory
size, CPU clock speed etc.

25
Assembly Language
Computer Level Hierarchy

Figure Reference:
27 http://users.dickinson.edu/~braught/courses/cs251f09/topics/slides/intro.pdf
Programming Languages

 High-Level Languages (HLL)


 Assembly Language
 Machine Language

28
High-Level Language
 Allow programmers to write programs that look more like
natural language.
 Examples: C++, Java, C#.NET etc
 A program called Compiler is needed to translate a high-level
language program into machine code.
 Each statement usually translates into multiple machine
language instructions.

29
Machine Language
 The "native" language of the computer
 Numeric instructions and operands that can be stored in
memory and are directly executed by computer system.
 Each ML instruction contains an op code (operation
code) and zero or more operands.
 Examples:

Opcode Operand Meaning


-------------------------------------------------
40 increment the AX register
05 0005 add 0005 to AX

30
Assembly Language
 Use instruction mnemonics that have one-to-one
correspondence with machine language.
 An instruction is a symbolic representation of a single
machine instruction
 Consists of:
 label always optional
 mnemonic always required
 operand(s) required by some instructions
 comment always optional

31
Sample Program

1. mov ax, 5 ax 05 Memory


011C
2. add ax, 10 ax 15 011E
35 0120
3. add ax, 20 ax 35 0122
0124
4. mov [0120], ax ax 35 0126

5. int 20

32
Figure: Machine Language Generation by ASM
and HLL programs.

ASM ML

ML

ML
HLL
ML

ML

33
Essential Tools
 Assembler is a program that converts source-code programs
into a machine language (object file).
 Linker joins together two or more object files and produces a
single executable file.
 Debugger loads an executable program, displays the source
code, and lets the programmer step through the program one
instruction at a time, and display and modify memory.
 Emulator allows you to load and run assembly language
programs, examine and change contents of registers. Example:
EMU8086

34
Why Learn Assembly Language?
 Learn how a processor works
 Explore the internal representation of data and instructions
 How to structure a program so it runs more efficiently.

 Compilers/Device Drivers/ OS codes


 Games/Embedded System

35

You might also like