Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 206D Computer Organization Course Introduction Lecturer: Yasmeen Albarrak Office: 2.505.21 e-mail: [email protected] Credit Hours: 3 Course web site: https://pnucs206.wordpress.com/lectures-slides/ “ Computer Architecture: A Quantitative Approach”, 4th Edition John Hennessy, David Patterson. Assembly Language for x86 Processors , 6th edition, by Kip R. Irvine, Prentice Hall, 2012 Assembly Language Programming and Organization of the IBM PC, Ytha Yu and Charles Marut Assessment method Quiz MID1 MID2 Lab attendance &participation + assessments Final Lab Final Assessment Week Grade Percentage from overall grade 6 5 5% 7 10 10% 12 15 15% After the end of each chapter 15 15% 15 15% 40 40% Part I : Computer organization Part II: Assembly Language Application (Netscape) Software Hardware Operating System Compiler (Unix; Assembler Windows 9x) Processor Memory I/O system Instruction Set Architecture Datapath & Control Digital Design Circuit Design transistors, IC layout CS 206 D Explains how computers are designed and how does it work. The components of a microcomputer system (Memory types, CPU, Buses, I/O Ports). Instruction Execution Cycle. Microcomputer architecture. Processor architecture – instruction types, register sets, addressing modes and basic Instructions. Introduction to the IBM PC assembly language (syntax, Variables..etc) The Processor Status and the FLAGS Registers. Flow Control Instructions. Logic Shift and Rotate Instructions. Multiplication and Division instructions. Array and addressing Modes. Machine Language Language Assembly Language High-Level Collection of binary numbers encoded Data and instructions Symbolic form of machine language (i.e. symbolic names are used to represent operations, registers & memory locations) Combines algebraic expressions & symbols taken from English language (ex. Pascal, COBOL FORTRAN, …etc) Ex. Ex. Ex. 10100001 00000000 00000000 MOV AX,A 00000101 00000100 00000000 ADD AX,4 10100011 00000000 00000000 MOV A,AX A=A+ 4 Machine Language Assembly Language High-Level Language Directly understood by a computer Assembler converts to machine language Compiler (or interpreter) converts to machine language 1 assembly language instruction = 1 machine language instruction 1 HLL instruction = many machine language instructions Not standard (i.e. different assembly language for every type of machine) Standard (i.e. programs are independent of the machine on which they will be executed) Not standard (i.e. different machine language for every ISA for Computer family) 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 ways that things are happen inside the computer.