Computer Organization and Architecture
Simply, a computer is a set of components (Processor, Memory and Storage, Input/Output Devices) interconnected (by Bus) in such a way as to enable the execution of a program (set of instructions) stored in memory.
This course introduces students to the basic concepts of computers, their design and how they work. It encompasses the definition of the machine's instruction set architecture, its use in creating a program, and its implementation in hardware. The course addresses the bridge between gate logic and executable software, and includes programming both in assembly language (representing software) and HDL (representing hardware).
We will study modern computer principles using a typical processor and emphasize system-level issues, understanding process performance, and the use of abstraction as a tool to manage complexity. We then learn how e‑cient memory systems are designed to work closely with the processor. Next, we study input/output (I/O) systems which bring the processor and memory together with a wide range of devices. Finally, we introduce systems with many processors.
The objectives of this course are
to develop basic understanding of computer organization: roles of processors, main memory, and input/output devices.
to evaluate/measure the performance of a computing system for comparing with other similar systems
to familiar with architectural design concepts related to different building blocks of a processor.
to employ specialized knowledge of subsystems like data-path, memory and control unit components to design a RISC processing element
to define processor specification and instruction set architecture.
to understand memory organization, including cache structures and virtual memory schemes.
Design of a simple processor, control logic design: random logic and microprogramming; machine-level programming, instruction sets, data representations; subroutines; input/output hardware and software; pipelining; relation to high-level languages.
Pre-requisites CSE 231 Corequisites CSE 332L
Course Learning Outcomes (COs):
Course Outcomes (COs):
Upon Successful completion of this course, students will be able to:
Mapping of CO-PO
Computer Organization and Design By David A. Patterson, John L. Hennessy, 5th ed (Not ARM edition)
No make-up testes for the missed Term Examinations and Quizzes.
*Digital Laboratory ------------------------------------- 20 %
Attendance ---------------------- 5 %
Assignment ---------------------- 10 %
Quizzes ------------------------------------------------- 10 %
Term Examination -------------------------------- 15 %
Final Examination --------------------- ---------------------- 20 %
Project ----------------------------------- ---------------------- 20 %
*Must obtain 60% marks in CSE231L
1. Lectures : Attendance and participation of all of them is strongly encouraged.
2. Laboratory : You must pass in your lab to attain a passable grade in theory. 20% marks from your lab will be directly added to your theory
3. Projects : You will have to submit a hardware design project at the end of the semester. You will work on the project as a group.
4. Exams: There will be one midterm, one final exam and no make-ups .
One of the course objective is to be able to design a complete CPU system. It starts with learning about ISA, advanced ALU, data path and control, pipelining in theory. In order to make this learning more effective a step by design of the complete CPU system is carried out through pen and paper, simulation tools, hardware etc. Students work in a group and try to develop small pieces and finally connect them together to get their cpu. Further details are explained in Project Outline.
1. Previous semesters course outline
2. Previous semesters class lectures
3. Previous semesters Quizes, Midterms and Finals