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

Computer assembly language

The document provides an introduction to computer organization and assembly language, detailing the basic structure and functions of a computer system, including its main components like the CPU, memory, and I/O systems. It distinguishes between computer architecture and organization, explaining how architectural specifications are implemented through physical hardware. Additionally, it covers the significance of assembly language and the tools necessary for programming, emphasizing the importance of understanding how computers operate at a fundamental level.

Uploaded by

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

Computer assembly language

The document provides an introduction to computer organization and assembly language, detailing the basic structure and functions of a computer system, including its main components like the CPU, memory, and I/O systems. It distinguishes between computer architecture and organization, explaining how architectural specifications are implemented through physical hardware. Additionally, it covers the significance of assembly language and the tools necessary for programming, emphasizing the importance of understanding how computers operate at a fundamental level.

Uploaded by

ahmadkareem748
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

Computer Organization &

Assembly Language

1 – An Introduction
Outline
 About this Course
 Basic Structure of Computer
 What is Computer Organization?
 About Assembly Language

 Ref: Chapter-1 of Recommended Book

2
Basic Structure & Function –
Computer System
Structure

 Structure is the way in which components relate to


each other

4
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.

5
Structure - Top Level

Peripherals Computer

Central Main
Processing Memory
Unit

Computer
Systems
Interconnection

Input
Output
Communication
lines

6
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.

7
Structure - The CPU

CPU

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

Control
Unit

8
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.

9
Structure - The Control Unit

Control Unit

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

Control
Memory

10
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

11
Functional View of Computer

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

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

14
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.

16
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.

17
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!

18
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.

19
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

20
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.

21
Assembly Language
Computer Level Hierarchy

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

 High-Level Languages (HLL)


 Assembly Language
 Machine Language

24
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.

25
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

26
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

27
Sample Program

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

29
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

30
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

31

You might also like