CENG 222 Computer Organization
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)
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.
- 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 Processors, Global Edition, 7/E, Kip R. Irvine, 2015 , Pearson
- 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 Approach, Miles Murdocca and Vincent Heuring, John Wiley & Sons Inc., 2007
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.
Lab Work (%30)