|  
      |  | 
    Lecture Announcements 
      1-June-2004 
		|  | 
			Your final exam is on Thursday, 3 
			June 2004, at 12:00.  |  |  | 
			You are responsible from all topics 
			covered in this course.  |  |  | 
			The exam has two parts. The first part 
			is the closed part, no notes and books. The second part is an open 
			book and notes exam.
 |  
      18-May-2004Midterm Exam II:
 
		|  | 
			You will have your second midterm exam 
			on next Monday: 24 May 2004, starts at 11:00. 
		 |  |  | 
			You are responsible from assembly 
			programming topics.  |  |  | 
			The midterm will be open book and notes exam. |  
	     Last Homework 
	Assignment 
		|  | 
			Here is your 5th and last 
			homework assignment: HW5.   |  |  | 
		It is due on 27 May 2004, Thursday, between 14:00 - 16:00 pm in 
			the LAB.
			No late assignment will be accepted.
 |  
      7-May-2004 
		|  | 
			Here is your 4th assignment and 
			it is due on 13 May 2004, Thursday, between 14:00 - 16:00 pm in 
			the LAB.
			No late assignment will be accepted. |  |  | 
			You should make a program demo to your 
			assistant Engin Tozal in the lab by running your program until the 
			due date and time.  |  |  | 
			If you don’t do this demo and answer 
			your TA’s questions in the lab, your homework will not be graded, 
			and you will get a 0 grade.  |  |  | Problem: Write an assembly program 
			that first prompts the following menu: 
 1-Find Average
 2-Find Maximum
 3-Find Minimum
 4-Exit
 
 User selects an option by entering its numeric value. If the number 
			entered is 4, the program simply terminates, otherwise the program 
			asks the user to enter 5 numbers and puts them into an array. The 
			program then performs the operation that user has requested and 
			prints the result out on the display. The program again prompts the 
			user menu.
 
 |  
      27-April-2004 
			|  | 
			This is your 3rd assignment and 
			it is due on 4 May 2004, Tuesday, between 14:00 - 16:00 pm.
			 |  |  | 
			You should make a program demo to your 
			assistant Engin Tozal in the lab by running your program until the 
			due date and time.  |  |  | 
			If you don’t do this demo and answer 
			your TA’s questions in the lab, your homework will not be graded, 
			and you will get a 0 grade.  |  |  | Story: Daphnodrome is an object which has existence in four-dimensional 
			space. It is said that black-holes consists of infinite number of 
			daphnodromes which has different dimensions. When a particle moves 
			into a black hole even light photons; they are absorbed and do not 
			turn back or pass the black holes. This is related to daphnodromes; 
			because those daphnodromes which may be quite small are able to 
			absorb photons or objects as huge as earth. When it absorbs an 
			object it changes its dimensions. Hyper-volume is a metric used to 
			give ideas about existence of daphnodrome in four dimensional 
			spaces. And the hyper-volume formula is:
 (dimension1 - dimension2) * 
			(dimension2 + dimension3 + 1) / dimension4  Note: Hyper-volumes may be negative 
			or positive values.  Problem:  Write an assembly program that 
			prompts the user for four dimensions of a daphnodrome and then 
			calculates and print-outs the hyper-volume of it.
 |  
      13-April-2004 
			|  | 
			You will take your first midterm on 
			next Monday, 19 April 2004, in class. |  |  | 
			The second hw assignment is due on 20 
			April 2004, Tuesday, 
			until 5 pm. You will also show your programs to your TA in the lab.
 |  
      10-March-2004 
			|  | 
	Here is your first homework assignment: HW1.
	 |  |  | 
			It is due on 19 March 2004, Friday, 
			until 5 pm.  |  |  | 
			This is definitely an individual 
			assignment. A team work will not be tolerated. If a similar 
			solution is found in assignments, those will get a 0 grade!
			
 |  
     
    23-February-2004 
			|  | 
    Welcome to CENG 252 
	Computer Organization! In this course you will 
	learn the ISA level computer architecture using the assembly language of Intel x86 microprocessor family. We will also look at 
    the components of microprocessor-based systems and the main hardware 
    features of Intel x86 microprocessor family. |  
    Course Materials   
    
    (Lecture Slides) 
    Lecture Slides 
		|  | 
    Purpose: To allow better concentration in lecture by reducing 
    note-taking pressure and to provide a study-aid before (unfortunately 
    not this year) and after lecture. |  |  | 
    Disclaimers: (a) I may not follow these
    slides exactly in class. (b) Students are responsible 
    for what I say in class. (c) Reading these slides is 
    not a substitute for attending lecture.
 
      
      
        | Date | Lecture | Topics Covered |  
        | 23/2 | Overview Lec 1
 | Course Overview, Views of Computer Systems, Processor Based System, 
		Processor, Memory, Input/Output, Interconnection: The Glue, Historical 
		Perspective, Technological Advances. |  
        | 2/3 | Lec 2
 | Introduction 
		to Memory Basics and Memory System Design: Introduction to Memory 
		Basics, Memory Design with D Flip Flops, Memory System Design for 
		Microprocessors, Designing Larger Memories. |  
        | 9/3 | 
		 Lec 3 | Introduction 
		to Microprocessor Architecture and Operation: Basic Microprocessor 
		System Concepts, Microprocessor Architecture and Operation, Intel 8085 
		Microprocessor, 8085 Microprocessor Based System, Isolated I/O Using IN 
		and OUT Instructions, Memory Mapped I/O, Programmable I/O and 8255. |  
        | 22/3 | 
		 Lec 4 | Introduction to Intel 80x86 
		Architecture: 
		External Architecture of 8088/8086, Internal Architecture, Memory 
		Architecture, I/O Operations |  
        | 29/3 | 
		 Lec 5 | 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. |  
        | 6/4 | 
		 Lec 6 | 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 |  
        | 13/4 | 
		 Lec 7 | Basic Instructions: 
		Data Transfer Instructions, Integer Addition and Subtraction, 
		Multiplication, Division, Addition and Subtraction of Larger Numbers |  
        | 3/5 | 
		 Lec 8 | Branching and Looping:
		Unconditional Jumps,
		Conditional Jumps, Compare Instructions and If Structures,
		Implementing Loop Structures, For Loops in 
		Assembly Language, Arrays |  
        | 11/5 | 
		 Lec 9 | Procedures: 
		The 80x86 Stack, Procedure Body, Call and Return, Parameters and Local 
		Variables, Call and Return, Parameters and Local Variables |    |  
    
    Homeworks, Exams and Solutions 
    References 
        
    History 
        
    X86 
        Logic Design   |