|     |  | 
      
        
          | 
          Fatih University, Computer Engineering 
          Department Fall Semester
          2003
 Monday 
          13:00 - 17:00, E303
 |  
          |  |  
          | Instructor: Halûk 
          Gümüşkaya | Teaching Assistant:
           
          Engin Tozal |  
          | Office: 
          EA301 | Office: 
          ..... |  
          | Office Hours: | Office Hours: 
          ... |  
          | Office Phone: 
          0.212.889 0810-1036 | Office Phone: 
          1027 |  
          | E-mail: haluk@fatih.edu.tr | E-mail: 
          
          engintozal@fatih.edu.tr |  
          |  |  |  
          | Mostly 
          Static Information: | Mostly 
          Dynamic Information: |  
          |  |  |  
          |  |  |  
          |  |  |  
          |  |  |  
          |  | 
				|  | Grades |  |  
          |  |  |  
          |  |  |  
    Course Description This course is an 
    introduction to computer organization using assembly and machine language. 
    The 
    hardware and software components of
    computers, number representation, 
    computer arithmetic, instruction sets, I/O interrupts, and programming 
    interrupts are presented. The course involves detailed study and use of a 
    specific computer hardware and software system. 
	This course 
	mainly teaches ISA (Instruction Set Architecture) level. 
    
    In this semester 
	the Intel 
    x86 microprocessor family hardware and software 
    architecture will be 
    introduced. The 
    emphasis of the course
	 will be on x86 assembly language programming 
    and x86 hardware architecture. 
    Prerequisites 
    EE 273 Fundamentals of Logic 
    Design, CENG 101 Computer Programming I or CENG 102 
    Computer Programming II. 
    Lecture Schedule 
      
        | Week | Topics
        Covered |  
        | 1 | Course Overview,
		Overview of Computer Organization |  
        | 2 | Introduction 
		to Memory Basics and Memory System Design |  
        | 3 | Introduction to Microprocessor Architecture 
        and Operation |  
        | 4 | Introduction to Microprocessor Architecture 
        and Operation (Continued) |  
        | 5 | Introduction 
        to Intel 80x86  Architecture: External Architecture of 
        8088/8086, Internal Architecture, Memory Architecture, I/O Operations |  
        | 6 | Elements of Assembly 
        Language Programming: Assembly Language Statements, How to Assembly, 
        Link, and Run a Program, Where are the Operands?: An Introduction to 
        Addressing Modes |  
        | 7 | Addressing Modes: 32-Bit and 16-Bit 
        Addressing, Simple Addressing Modes, Direct Addressing Mode, Register 
        Indirect Addressing Mode, Based and Indexed Addressing Modes, 
        Based-Indexed Addressing Mode |  
        | 8 | Basic 
        Instructions: Data Transfer Instructions, Integer Addition and 
        Subtraction, Multiplication, Division, Addition and Subtraction of 
        Larger Numbers |  
        | 9 | Midterm 
        Exam 1 |  
        | 10 | Branching and Looping: 
        Unconditional Jumps, Conditional Jumps, Compare 
        Instructions and If Structures, Implementing Loop 
        Structures, For Loops in Assembly Language,
        Arrays |  
        | 11 | Procedures 
        (1): The 80x86 Stack, Procedure Body, Call and Return, 
        Parameters and Local Variables, Call and Return, Parameters and Local Variables |  
        | 12 | Midterm 
        Exam 2 |  
      
        |  | Topics
        Scheduled but not Covered |  
        |  | String Operations and 
		Bit Manipulation |  
        |  | High Level Language 
		Interface: Why program in Mixed Mode, Calling Assembly Procedures 
		from C, Calling C Functions from Assembly, Inlince Assembly Code. |  
        |  | System Buses: Bus 
		Design Issues, Synchronous and Asynchronous Buses, Bus Arbitration, 
		Example Buses: ISA, PCI, AGP |  
        |  | Input/Output 
		Organization: Accessing I/O Devices, DMA, Serial and Parallel 
		Interface, USB, IEEE 1394. |  
        |  | Interrupts: Hardware 
		and Software Interrupts, Pentium Interrupt Processing: Interrupt 
		processing in Protected and Real Modes |  
    Textbooks 
    Required 
    Recommended Books 
		|  | 
      	
      	Introduction to 80x86 
      Assembly Language and Computer Architecture, Richard 
      C. Detmer, Jones & Bartlett Pub, 512 pages, 2001. |  |  | 
      Mikroişlemciler ve 
      Bilgisayarlar, 3. Basım, H. Gümüşkaya, ALFA, 2002. |  |  | 
		Structured Computer Organization, Andrew S. 
      Tannenbaum, Prentice Hall, 1998. |  |  | 
		Computer Organization and Design: The Hardware/Software Interface, John L. Hennessy & David A. Patterson,
      Morgan Kaufmann Publishers, Inc., 1998.  |  |  | 
		Computer Organization 
      & Architecture: Designing for Performance,
      William Stallings, Prentice Hall, 2003.  |  |  | Computer Organization, Carl Hamacher, Zvonko Vranesic, and Safwat Zaky,
      5th Edition, Mc Graw Hill, 2002. |  |  | 
		Computer Systems: A Programmer's 
      Perspective, R. E. 
      Bryant and D. R. O'Hallaron,
      Prentice Hall, 2003. |  |  | 
		Logic and 
      Computer Design Fundementals, 2nd Edition, M. Morris Mano, C. R. 
      Kime, Prentice Hall, 2001. |  |  | Computer System 
      Architecture, M. Morris Mano, Prentice Hall, 1992. |  
    Grading
    (tentative)20 
    % : Homework Assignments
 25 % : Midterm 
    1
 25 % : Midterm 
    2
 30 % : Final Exam (a 
    comprehensive exam which covers all lectures at the end of the course)
 Homework:
    There will be homework in every 2 or 3 weeks. 
    The purpose of the homework is to give you a chance to exercise the 
    knowledge gained from the recent class material. Some exam questions will 
    closely resemble homework problems. Most homework problems will come from 
    the main text book. Attendance: Attendance 
    is important in order to learn the topics in a timely manner. Attendance 
    will be forced by taking attendance and 
    by making quizzes at random times. Quizzes: There will be 
	short quizzes at random times. We may not inform you about the quizzes. A 
    quiz may be done at any time during a lecture period.  Midterm Exam: There will 
    be one midterm exam that will be given around the mid of the semester.
     Final Exam: There will 
    be one final exam that will be given during final exams period of the 
    semester.  Makeup Exam: 
    Depending on the need (for officially reported or extraordinary cases) I may 
    make a makeup exam. But I should warn you that makeup exam will be much more 
    difficult than the other exams in order to provide fairness for students who 
    work on time and take the exam on time, and discourage students from unnecessarily omitting the 
    exams. 
    Academic Integrity We will be very careful in 
    grading the projects, homeworks, 
    exams so that everybody 
    gets the grade that he/she deserves. Copying will not be tolerated and will be checked and punished rigorously.  The Fatih University has a very strict policy on 
    academic dishonesty. All work on homeworks and 
    examinations must be strictly individual.  Violations of this policy will 
    result in an F grade for the class and may result in suspension/expulsion 
    from the university.   |