140 likes | 356 Views
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)
E N D
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 -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 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
What is a Computer? = Machine that can solve problems HOW? YOU tell it what to do~~ IN A PROGRAM!!!
What is a Program? • 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
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
Processor Control unit Datapath ALU Controller Control /Status Registers PC IR I/O Memory General Architecture • General Architecture allows multiple programs to run • Large, complex components to interact • Too tedious to write all this in machine 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 MOVAX,A A = A + 4 00000101 00000100 00000000 ADDAX,4 10100011 00000000 00000000 MOVA,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
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. 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