TORONTO METROPOLITAN UNIVERSITY

Course Outline (W2024)

COE608: Computer Organization and Architecture

Instructor(s)Khalid Abdel Hafeez [Coordinator]
Office: Online
Phone: TBA
Email: kabdelha@torontomu.ca
Office Hours: Tuesday 10-11am
Calendar DescriptionThe main topics of the course include basic architecture of modern computers, interaction between computer hardware and software at various levels, and performance evaluation and metrics. Instruction set design, computer arithmetic is also discussed. Data path and control unit design for RISC Processors are covered in detail. The laboratory work includes the design and implementation of a 16-bit RISC CPU using an FPGA development system and VHDL.
PrerequisitesCEN 199 and COE 328 and COE 538
Antirequisites

None

Corerequisites

None

Compulsory Text(s):
  1. Computer Organization and Design MIPS Edition. The Hardware/ Software Interface, David Patterson and John Hennessy, 6th edition 2020, Morgan Kaufmann Publishers, Elsevier Inc., ISBN 9780128201091
  2. Laboratory Manuals and other Documents: Available through: D2L (primary source) and http://www.ee.ryerson.ca/~courses/coe608/ (older content)
  3. Lecture Slides available on D2L
Reference Text(s):
  1. Computer Organization and Embedded Systems, 6th Edition, Carl Hamacher, Zvonko Vranesic, Safwat Zaky, Naraig Manjikian, McGrawHill , 2011, ISBN: 0073380652
  2. Embedded Core Design with FPGAs, Z. Navabi, McGraw Hill 2007, ISBN 978-0- 07-147481- 8.
  3. Logic and Computer Design Fundamentals, Morris Mano & Charles R. Kime, 4th edition 2008 or latest edition, Prentice Hall.
Learning Objectives (Indicators)  

At the end of this course, the successful student will be able to:

  1. Interconnect engineering concepts related to instruction set architecture, register transfer, interconnects like buses, 3-state buffers and Muxes as well as control hardware to design various processors. Learn to employ specialized knowledge of subsystems like data-path, memory and control unit components to design a RISC processing element. (1c)
  2. Define processor specification and instruction set architecture. Solve various challenges of high performance RISC processor design in multiple stages by employing VHDL (CAD) based modeling and simulation methodologies to test and verify each stage of processor design and then integrate different stages into efficient processor architecture. (4b), (4c), (4a)
  3. Demonstrate the main features of all the labs and answer CPU design related questions during the demo/oral sessions. Write lab and CPU design reports by following a standard IEEE like format, where all the reports are evaluated based on their completeness, English, and relevant contents. (7a), (7b)

NOTE:Numbers in parentheses refer to the graduate attributes required by the Canadian Engineering Accreditation Board (CEAB).

Course Organization

3.0 hours of lecture per week for 13 weeks
2.0 hours of lab per week for 12 weeks
0.0 hours of tutorial per week for 12 weeks

Teaching AssistantsDaniel Segura(dsegura@torontomu.ca)
 Section 012, 032
 Mahdiyar Ali Akbar Alavi (mahdiyar.alavi@torontomu.ca)
 Section 022, 042, 062, 082
 Kevalkumar Shah (ttoor@torontomu.ca)
 Section 072, 092
 Yasaman Ahmadiadli (yahmadiadli@torontomu.ca)
 Section 102, 122
 Yasaman Ahmadiadli (ali.chitsazan@torontomu.ca)
 Section 052, 112
 
Course Evaluation
Theory
Midterm Exam 30 %
Final Exam 40 %
Laboratory
Labs with formal reports 30 %
TOTAL:100 %

Note: In order for a student to pass a course, a minimum overall course mark of 50% must be obtained. In addition, for courses that have both "Theory and Laboratory" components, the student must pass the Laboratory and Theory portions separately by achieving a minimum of 50% in the combined Laboratory components and 50% in the combined Theory components. Please refer to the "Course Evaluation" section above for details on the Theory and Laboratory components (if applicable).


ExaminationsMidterm exam will be in Week 7 or 8, 1.5 hours, closed book (Weeks 1-7 lectures and labs will be covered).
 Final exam will include all course materials.
Other Evaluation InformationNone
Teaching Methodslecture time Friday from 8-11am LIB072 Theater
Other InformationNone

Course Content

Week

Hours

Chapters /
Section

Topic, description

1

3

Introduction
 Computer Systems Technology: Computer Organization VHDL
 


2

3

Computer Performance: Performance metrics and evaluation
 


3

3

Instruction set Design:
    -Instruction representation,
    -Arithmetic and Logic Operations
 


4

3

Instruction set Design:
   -Addressing modes,
   -Branching
 


5

3

Input Output Systems
 


6

3

Software: Assembler, Compiler, Linker, and Loader
 


7

3

Datapath:
   -Register transfer,
   -ASM Chart and Control Unit Design
   -Single and Multi-cycle CPU Data-path Design
 


8

3

Pipelining:
   -Data Hazards,
   -Branch hazards,
   -Stalls and Forwarding
 


9

3

Memory Hierarchy
 


10

3

Memory and Cache System


11

3

Arithmetic for computers: Integer arithmetic operations
 


12

3

Arithmetic for computers: ALU Design and Implementation
 


13

3

Catching up and Review


Laboratory(L)/Tutorials(T)/Activity(A) Schedule

Week

L/T/A

Description

2

ENG408

Lab1: Quartus-II FPGA Development Environment and Introduction to VHDL

3

ENG408

Lab 2: Program counter and Register set design: VHDL code Design and Simulation.

4

ENG408

Lab 3a: 32-bit ALU: VHDL design and simulation.

5

ENG408

Lab 3b: ALU Implementation on Altera Cyclone-IV and Testing

6

ENG408

Lab 4a: Data Memory Module Design and Implementation

7

ENG408

Lab 4b: CPU Datapath Design

8

ENG408

Lab 4b: CPU Datapath Design and Simulation

9

ENG408

Lab 4b: CPU Datapath Simulation and Submission
 Lab 5: CPU Control Unit Design

10

ENG408

Lab 5: CPU Control Unit Design

11

ENG408

Lab 5: CPU Control Unit - Submission
 Lab 6: Overall CPU Project - Integration and simulation of CPU.

12

ENG408

Lab 6: Integration and simulation of CPU. Fine-tuning and submission.
 Overall CPU Project Demonstration and Oral

13

ENG408

Overall CPU Project Bonus Demonstration and Oral

University Policies & Important Information

Students are reminded that they are required to adhere to all relevant university policies found in their online course shell in D2L and/or on the Senate website

Refer to the Departmental FAQ page for furhter information on common questions.

Important Resources Available at Toronto Metropolitan University

Accessibility

Academic Accommodation Support

Academic Accommodation Support (AAS) is the university's disability services office. AAS works directly with incoming and returning students looking for help with their academic accommodations. AAS works with any student who requires academic accommodation regardless of program or course load.

Academic Accommodations (for students with disabilities) and Academic Consideration (for students faced with extenuating circumstances that can include short-term health issues) are governed by two different university policies. Learn more about Academic Accommodations versus Academic Consideration and how to access each.

Wellbeing Support

At Toronto Metropolitan University, we recognize that things can come up throughout the term that may interfere with a student’s ability to succeed in their coursework. These circumstances are outside of one’s control and can have a serious impact on physical and mental well-being. Seeking help can be a challenge, especially in those times of crisis.

If you are experiencing a mental health crisis, please call 911 and go to the nearest hospital emergency room. You can also access these outside resources at anytime:

If non-crisis support is needed, you can access these campus resources:

We encourage all Toronto Metropolitan University community members to access available resources to ensure support is reachable. You can find more resources available through the Toronto Metropolitan University Mental Health and Wellbeing website.