Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321
description
Transcript of Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321
Princes Nora Bint Abdul Rahman UniversityDept. of Computer & Information Sciences
CS 321Computer Organization & Assembly Language
Lecture 1(Course Introduction)
Course Introduction
Course Introduction
• Instructor: Sarah AL-Hammad• Location: Room no. 2027 ( 2nd floor)• e-mail: [email protected]• 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-Assembly language step by step, by Jeff Duntemann,1992
Alternative: Assembly Language Programming and Organization of the IBM PC, Ytha Yu and Charles Marut
Course Introduction
Course Assessment
Note: NO MAKEUP EXAM/QUIZ WILL BE TAKEN
ZERO WILL BE GIVEN TO STUDENTS WHO COPY ASSIGNMENTS
Assessment Assessment TaskWeek Due Proportion of Final
Assessment
1 Major exam 1 Week 7 10%
2 Major exam 2 Week 12 15 %
3 Project Week 11 5%
4 Lab exercise and Quizzes Every Week 5 %
5 Programming Homework Every 2 Weeks 5 %
6 Final Lab End of Semester 20%
7 Final exam End of Semester 40%
Course Introduction
Lecture Outline
• Part I: Computer Organization• Part II: Assembly Language
• Reading: Class Notes
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!!!
0010100110101001001
1101011011110100101
1101101010000100110
1000001001001001101
•A collection of instructions.•The instructions are a series of 1’s and zero’s that control the internal circuitry of the processor.
•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 Architecture allows multiple programs to run
Large, complex components to interact
Too tedious to write all this in machine code!!!
Processor
Control unit Datapath
ALU
Registers
IRPC
Controller
Memory
I/O
Control/Status
Course Introduction - Part II: Assembly Language
Machine Language Assembly Language High-Level Language
Ex. Ex. Ex.10100001 00000000 00000000 MOV AX,A A = A + 400000101 00000100 00000000 ADD AX,410100011 00000000 00000000 MOV A,AX
Collection of binary Symbolic form of machine Combines algebraic numbers language (I.e. symbolic expressions & symbols taken
names are used to represent from English languageoperations, registers & (ex. Pascal, COBOLmemory locations FORTRAN, …etc)
Part II: Assembly Language
Computer languages
Course Introduction - Part II: Assembly Language
Computer languages (Continue)
Not standard (I.e. different Not standard (I.e. different Standard (I.e. programs are machine language for assembly language for independent of the machineevery type of machine every type of machine) on which they will be
executed)
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 = manyinstruction = 1 machine machine languagelanguage instruction instructions
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
Course Introduction - Part II: Assembly Language
• 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.