Sei sulla pagina 1di 14

Princes Nora Bint Abdul Rahman University

Dept. of Computer & Information Sciences

CS 321
Computer Organization & Assembly Language

Lecture 1
(Course Introduction)
Course Introduction
Instructor: Sarah AL-Hammad
Location: Room no. 2027 ( 2nd floor)
e-mail: smalhammad@pnu.edu.sa
Credit Hours: 3

Course web site:


http://cs321.yolasite.com

Course Introduction
Course Introduction

Text Book Part I:


Microprocessor Theory and Applications with 68000/68020 and
Pentium by M.RAFIQUZZAMAN,WILEY,2008

Text Book Part II:


IBM PC Assembly Language and Programming, by Peter
Abel,2001

Course Introduction
Course Assessment
Week Due Proportion of Final
Assessment Assessment Task Assessment

1 Quiz 1 Week 5 5%

2 Major exam Week 10 20%

3 Project Week 15 5%

4 Lab exercise Every Week 5%

5 Programming Homework Every 2 Weeks 10 %

6 Quiz 2 Week 12 5%

7 Final Lab End of Semester 10%

8 Final exam End of Semester 40%

Note: NO MAKEUP EXAM/QUIZ WILL BE TAKEN


ZERO WILL BE GIVEN TO STUDENTS WHO COPY ASSIGNMENTS

Course Introduction
Lecture Outline
Part I: Computer Organization
Part II: Assembly Language
Reading: Class Notes

Course Introduction
Part I: Computer Organization
Main hardware components and their relation to the software.

What the computer does when it executes an instruction.

Course Introduction - Part I: Computer Organization


Part I: Topics to be covered
Introduction to computer organization
Processors
Memory Organization
Memory hierarchies
Input/output
Buses
DMA
Interrupts
Reading and writing operations

Course Introduction - Part I: Computer Organization


= Machine that can solve problems

HOW? YOU tell it what to do~~ IN A PROGRAM!!!


A collection of instructions.
The instructions are a series of 1s and zeros that control
the internal circuitry of the processor.

0010100110101001001

1101011011110100101

1101101010000100110

1000001001001001101

The instructions are written in a language called:


Machine Language
Difficult and tedious for people to use because of simplicity
A large
gap between what is convenient for
People and what for computers
People want to do X but computers limitation is
only to Y
General Processor

Architecture Control unit Datapath

allows multiple Controller


ALU

programs to
Control
/Status

run Registers
Large, complex
components to
interact PC IR

Too tedious to
write all this in I/O

machine Memory

code!!!
Part II: Assembly Language
Computer languages

Machine Language Assembly Language High-Level Language


Collection of binary Symbolic form of machine Combines algebraic
numbers language (I.e. symbolic expressions & symbols taken
names are used to represent from English language
operations, registers & (ex. Pascal, COBOL
memory locations FORTRAN, etc)

Ex. Ex. Ex.


10100001 00000000 00000000 MOV AX,A A=A+ 4
00000101 00000100 00000000 ADD AX,4
10100011 00000000 00000000 MOV A,AX

Course Introduction - Part II: Assembly Language


Computer languages (Continue)

Machine Language Assembly Language High-Level Language


Directly understood by a Assembler Compiler (or interpreter)
computer converts to machine converts to machine
language language

1 assembly language 1 HLL instruction = many


instruction = 1 machine machine language
language instruction instructions

Not standard (I.e. different Not standard (I.e. different Standard (I.e. programs are
machine language for assembly language for independent of the machine
every type of machine every type of machine) on which they will be
executed)

Course Introduction - Part II: Assembly Language


Advantages of Assembly Language
Performance:
A well-written Assembly language program produces a faster,
shorter machine language program.
For Some applications speed and size is critical
Access to hardware:
Some operations, such as reading or writing to specific
memory locations & I/O ports can be done easily in Assembly
but may be impossible by a higher level language.

Studying ASM language gain a feeling of the way the computer


thinks and the way things happen inside the computer.

Course Introduction - Part II: Assembly Language

Potrebbero piacerti anche