CENG 222 Computer Organization

Weekly Timetable:

Instructor: Engin DEMÄ°R
Office Hours: TUE 14:20-16:10, WED 11:20-12:10

 

Sections 1,2,3: TUE 11:20-13:10 (LB05)
Sections 4,5,6: WED 9:20-11:10 (RB04)

Lab Sessions:

TA: Uğur SOPAOĞLU

Sections 1,2: THU 15:20-17:10 (H314)
Sections 3,6: FRI 11:20-13:10 (H312)
Sections 4,5: FRI 9:20-11:10 ( H312)

Description: Organization of a simple stored-program computer: CPU, busses and memory. Instruction sets, machine code, and assembly language. Conventions for assembly language generated by compilers. Floating-point number representation. Hardware organization of simple processors. Address translation and virtual memory. Introductory examples of input/output devices, interrupt handling and multi-tasking systems.

Objectives:

  • Understand principles of operation of computer.
  • Understand operation of input/output devices and processor.
  • Analyze interface and bus (control, data, address) organization of modern computers.
  • Create simple assembly language programs.
  • Analyze organization of memory system and interaction of its components.

 

Text Book: Structured Computer Organization, 6-th edition, Andrew S. Tannenbaum,  Prentice Hall, 2006

Assembly Language for x86 ProcessorsGlobal Edition, 7/E, Kip R. Irvine, 2015 , Pearson

References:

- Computer Organization and Embedded Systems, 7-th edition, Carl Hamacher, Zvonko Vranesich, Safwat Zaky, McGraw Hill, 2012.
- Computer Organization and Architecture Designing for Performance, 7-th edition, William Stallings, Prentice Hall, 2006.
- Computer Organization and Architecture An Integrated ApproachMiles Murdocca and Vincent Heuring, John Wiley & Sons Inc., 2007

Outline:

WEEK 1: The history of computers. Computer generations. Computer families and developments.
WEEK 2: Numbers, arithmetic operations and characters. Addition and subtraction of integer signed numbers. Overflow in integer arithmetic. 
WEEK 3: Memory locations and addresses. Byte accessibility and alignment. 
WEEK 4: Instructions and instruction sequencing. Instructions execution. Input-output organization. Introduction into interfaces. 
WEEK 5: Interrupts. Interrupt hardware. Enabling and disabling interrupts. Priorities. Stack and Queues. Handling multiple device. Vectored interrupts. Interrupt nesting. Simultaneous requests. 
WEEK 6: Direct memory access. Controllers. Bus arbitration. Centralized and distributed arbitration. Synchronous and asynchronous buses.
WEEK 7:  Interface circuits. Parallel interface. Serial port. Standard input/output interfaces. 
WEEK 8: The memory system. Static and dynamic random access memories (RAM, DRAM). Synchronous and asynchronous DRAMs. Latency and bandwidth. 
WEEK 9: Structure of the larger memories. Read only memories (ROM). Flash Memory. Cache Memories. Secondary memories (HDD, CD, DVD, Blu-Ray).
WEEK 10: Arithmetic. Addition/subtraction logic. Designing of adders. . Carry look ahead addition. Multiplication of integer positive numbers. Integer division. Binary fractions. Floating-point format.
WEEK 11: Central processing unit (CPU). Princeton and Harvard architecture. Analysis of CPU elements and their interaction.
WEEK 12: Hardwired control. Microprogrammed control.
WEEK 13: Pipelining. Pipeline performance. Data, control and structural hazards.
WEEK 14: Superscalar operations. Large computer Systems. Multiprocessor systems.

Grading:
Quiz (%10)
Lab Work (%30)
Midterm (%30)
Final (%30)