METU
Middle East Technical University
Ankara, Turkey
CENG331
Computer Organization
Section II
Fall 2007-2008
CENG
Department of Computer Engineering
Information
Lectures
Policies

Information

Announcements
  • Slides for week 2 and 3 are now available.
  • Quizz on October 9th. Check the newsgroup for announcements.
  • Corrected syllabus is now available.
  • Lectures for Section 1 and 3 are merged. They will be held  at BMB4.
  • Section 3 lectures will be held at BMB4 on both Tuesdays and Thursdays.

Lectures


Introduction


Sep 20



  • Topics
    • Course Objectives
    • Five great realities of computer systems
    • Course organization
A Tour of Computer Systems

Sep 25, 27

The image “http://www.circuitcity.com/IMAGE/product/detail/cpq/EC.CPQ.M2010US.CN.JPG” cannot be displayed, because it contains errors.
  • Topics
    • Compilation and execution of hello.c
    • Typical organization of a computer system
    • Data representation
    • Little and big endian representations

Representing and Manipulating Information 

Oct 2

The image “http://www.studiolo.org/Mona/images/ASCII-Mona_small.gif” cannot be displayed, because it contains errors.
  • Topics
    •  Representation of integers
      • int (two's complement)
      • unsigned
      • number ranges
      • overflows
      • implicit and explicit casting surprises
    • Representation of real numbers
      • float and double
      • IEEE format
      • representable number ranges
      • overflows
      • surprises
Quizz - 1

Oct 9

The image “http://www.vpul.upenn.edu/ohe/library/fitness/stress.jpg” cannot be displayed, because it contains errors.


  • Topics
    • Quizz-1 on Oct 9. 
Machine-level Representation of Programs - 1



Oct 16

The image “http://www.joe-ks.com/archives_aug2004/RealProgrammers.jpg” cannot be displayed, because it contains errors.
  • Topics
    • Evolution of processors
    • Assembly programmer's view of the computer
    • C->Assembly->Object code->Executable
    • IA32 processor
      • Registers
      • Stack
      • Memory
    • IA32 instructions
      • Operand types
      • Addressing modes
  • Slides
    • ceng331-2005-w05.pdf
    • ceng331-2005-w05.ppt
Machine-level Representation of Programs - 2

Oct 23

The image “http://www.joe-ks.com/archives_aug2004/RealProgrammers.jpg” cannot be displayed, because it contains errors.

  • Topics
    • Condition codes
    • jump instructions
    • implementing conditionals in assembly
      • if-then-else
      • do-while
      • while
      • for(;;)
    • procedures
      • stack discipline
      • call, return, leave
      • stack frame
      • argument passing
      • register saving
        • caller save
        • callee save
  • Announcements

  • Slides
    • ceng331-2005-w05.pdf
    • ceng331-2005-w05.ppt

Machine-level Representation of Programs - 3

Oct 30
The image “http://www.joe-ks.com/archives_aug2004/RealProgrammers.jpg” cannot be displayed, because it contains errors.
  • Topics
    • Arrays
    • Pointers
    • Optimizing loops for arrays
    • nested arrays
    • fixed and dynamically allocated arrays
    • structures
    • unions
    • alignment
  • Announcements

  • Slides
    • ceng331-2005-w06.pdf
    • ceng331-2005-w06.ppt
Processor Architecture
ISAs and Y86

Nov 6

The image “http://www.atariarchives.org/deli/80186.jpg” cannot be displayed, because it contains errors.


  • Topics
    • Linux/IA32 memory layout
    • Buffer overflow
    • Instruction Set Architecture
    • Y86 architecture and instruction set
  • Announcements:

  • Slides
    • ceng331-2005-w08.pdf
    • ceng331-2005-w08.ppt
Processor Architecture - 2


Nov 13

The image “http://www.atariarchives.org/deli/80186.jpg” cannot be displayed, because it contains errors.
  • Topics
    • Hardware Control Language
    • SEQ: Sequential implementation of Y86 ISA
    • Introduction to pipelining
  • Announcements:
    • MIDTERM on Nov 15
  • Slides
    • ceng331-2005-w09.pdf
    • ceng331-2005-w09.ppt

No Class

Nov 15


  • Topics

  • Announcements:
  • Slides
    • None


Processor Architecture - 3

Nov 22

The image “http://www.atariarchives.org/deli/80186.jpg” cannot be displayed, because it contains errors.
  • Topics
    • SEQ+
    • Basic concepts of pipelining
    • PIPE-
      • Data Hazard
      • Control Hazards
    • PIPE
      • Stalling, bubbles
      • Data forwarding
      • Branch prediction
      • Handling conditional jumps,  ret
    • Pipelined architecture performance
      • CPI
  • Announcements:
    • None.
  • Slides
    • ceng331-2005-w10.pdf
    • ceng331-2005-w10.ppt
The Memory Hierarchy

Dec 6
The image “http://www.bitsavers.org/pdf/generalPrecision/LGP30pics/Memory%20drum.jpg” cannot be displayed, because it contains errors.
  • Topics
    • Modern CPU Design
    • RAM
      • SRAM
      • DRAM
    • Memory elemets in computer organization
    • Memory Hierarchy
    • Locality principle
      • Spatial
      • Temporal
    • Cache memories
      • fundamental concepts of caching
      • Direct-mapped caches
      • Set-associative caches
      • Multi-level caches
      • Cache performance

  • Announcements:

  • Slides
    • ceng331-2005-w12.pdf
    • ceng331-2005-w12.ppt

Virtual Memory

Dec 13
The image “http://news.spirithit.com/images/uploads/book_reviews_ext_194x215/08.13.04_memory_194.jpg” cannot be displayed, because it contains errors.
  • Topics
    • Reasons for using virtual memory
      • caching of disk
      • access controls
      • uniform memory layout
    • Page tables
      • page fault
    • Virtual address-> Physical address mapping
    • TLB [translation lookaside buffer]
    • Multi-level page tables
    • Overall picture
  • Announcements:

  • Slides
    • ceng331-2005-w13.pdf
    • ceng331-2005-w13.ppt
Overview

Dec 20

The image “http://www.cave.rdg.ac.uk/vr_demos/marslander/yippee.jpg” cannot be displayed, because it contains errors.
  • Topics
    • Overview of Virtual memory
    • Overview of Caching
    • Overview of other topics
    • Yippee!!
  • Announcements:
    • None yet.
  • Slides

Policies

  • Objective: The course will cover the following topics: Introduction to computer organization, data and information representation and processing, machine-level representation of programs, instruction set architecture, pipelining, optimizing program performance, memory hierarchy, cache memories, virtual memory.
  • Prerequisites: CENG 232.
  • Grading:
    • Midterm I (25%)
    • Two quizzes (20%)
    • Homeworks (20%)
    • Final (35%)
  • Communication:
    • Announcements about the course will be made at the CENG331 newsgroup and on the CENG331 web page.
    • Slides to be used in Section 3 will be put online at: http://kovan.ceng.metu.edu.tr/~erol/Courses/CENG331/.
    • Announcements about the course will be made at the CENG331 newsgroup for discussions among yourselves: news://metu.ceng.course.331.
    • Questions that are general should be posted to the CENG331 newsgroup. If your question is specific for a section, please put Section 1 or Section 3 on the subject line
      of your posting.
    • If you have a specific question you can send an e-mail to the instructors or to your teaching assistants. However make sure that the subject line starts with CENG331 [capital letters, and no spaces] to get faster reply.
  • Late assignments

    • Late submission policy will be announced for each assignment.
  • Academic dishonesty: All works submitted should be fully your own. We have  a zero tolerance policy on cheating and plagiarism. Your work will be regularly checked for such misconduct 
    • We would like to remind you that, if found guilty, the legal code of the university proposes a minimum of six month expelsion from the university.