Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

14
Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321 Computer Organization & Assembly Language Lecture 1 (Course Introduction)

description

Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321 Computer Organization & Assembly Language Lecture 1 (Course Introduction). Course Introduction I nstruct o r: Sarah AL-Hammad Location: Room no. 2027 ( 2 nd floor) - PowerPoint PPT Presentation

Transcript of Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

Page 1: 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)

Page 2: Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

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 

Page 3: Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

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

Page 4: Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

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%

Page 5: Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

Course Introduction

Lecture Outline

• Part I: Computer Organization• Part II: Assembly Language

• Reading: Class Notes

Page 6: Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

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

Page 7: Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

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

Page 8: Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

= Machine that can solve problems

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

Page 9: Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

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

Page 10: Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

• 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

Page 11: Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

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

Page 12: Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

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

Page 13: Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

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

Page 14: Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321

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.