EC 271 – Computer Organization

Course lecturer :

Prof. Dr. Mohamed Rizk

Course assistant :

Eng. Rana M. Salem
Eng. Allaa Hussien

Course objectives :

1. Upon completing the course, student will learn
• Computer abstraction and techniques.
• Instruction language of computer.
• Arithmetic for computer.
• Assessing and understanding performance.
• The processor data path and control.
• Enhancing performance with pipelining.
• Large and fast memory hierarchy.
• Storage, network and other peripherals.
2. Student will be able to
• Understand principles of computer organization.
• Design of arithmetic unit.
• Design of control unit.
• Design serial processor.
• Design of memory hierarchy.
• Design ASICs using VHDL.
• Write a behavioral model of the circuit functionality, and then synthesize the VHDL description into hardware realization in CPLD or FPGA.
• Develop self-checking test benches.

Course description :

This course is concerned with the fundamentals of computer design, instruction set design, assessing and understanding performance, processor micro-architecture: data-path design, multi-cycle design, exceptions, microprogramming, and micro-architecture of a recent processor. The second goal is to learn pipelined design, memory hierarchy and design, I/O design, and buses and interfacing.

Course assessment :

Year Work 30%
Mid Term 20%
Final Exam 50%

Recommended text books :

David A. Patterson and Hennessy .John L, “Computer Organization and Design, Software Interface /Hardware”, 4th Edition 2011, Elsevier.

Recommended refrences :

John L. Hennessy, David A. Patterson, ” Computer Architecture A Quantitative Approach”, Fourth Edition, 2007, Elsevier, Morgan Kaufmann.