COMP 228–System Hardware

Winter 2021

Course Outline


Important Note: Due to the COVID-19 pandemic, this course is offered remotely for all sections. You must have all equipment, tools, software, etc. that are needed for a remotely delivered course, in order to take this course. All lectures will take place live over Zoom during class time.

Background Knowledge The official pre-requisite for this course is COMP 248; MATH 203 or Cegep Mathematics 103 or NYA previously or concurrently; MATH 204 or Cegep Mathematics 105 or NYC previously or concurrently.

Note: This syllabus is subject to change and any changes will be posted in the Announcements section of your MyConcordia/Moodle portal.

Course Objective

The objective of this course is to introduce key concepts in computer architecture, computer organization, digital logic design and assembly language programming. Students are expected to learn about features that affect programmability and performance at the hardware layer. CPU internals and hardware details are discussed at a level appropriate for beginning students in computer science and software engineering.

At the end of the course you should be able to:

CO 1. Understand levels of system abstraction and Von Neumann model, Basics of digital logic design, Data representation and manipulation, Instruction set architecture, Processor internals, Assembly language programming, Memory subsystem and cache management, I/O subsystem and System software.

CO 2. Design, implement and validate assembly language programs for solving simple problems.

CO 3. Use tools, and techniques for developing assembly programs for low-level system programming and system interaction.

CO 4. Deliver results of individual and team works on various low-level programming tasks/assignments.

CO 5. Search and find online materials and learn from it for continuous self-improvement, self learning and problem solving in the area of computer architecture & low-level system programming.

CEAB Attribute Assessment


The Canadian Engineering Accreditation Board (CEAB) has put forth specific requirements for the accreditation of engineering programs in Canada. To satisfy these requirements, the faculty is evaluating its courses against specific attributes required for the accreditation. As such, the accreditation criteria for the Software Engineering and Computer Science programs dictate that graduate attributes are taught and evaluated as part of the courses. The following is the list of graduate attributes covered in this course, along with a description of how these attributes are incorporated in the course. The attribute evaluated in COMP 228 are:

● Knowledge-base: Levels of system abstraction and von Neumann model. Basics of digital logic design. Data representation and manipulation. Instruction set architecture. Processor internals. Assembly language programming. Memory subsystem and cache management. I/O subsystem. Introduction to system software.

● Design: Practical use of low-level computer design principles using assembly language.

● Use of engineering tools: Practical use of assembly language for low-level system programming and interaction.

● Individual and team work: Individual and team work on the use of assembly language for various low-level programming tasks.

● Life-long learning: Find online material and learn from it in order to write assignments and projects.

The evaluation of these attributes will be based on: 1) Assignments, 2) Project, 3) Midterm, and 4) Final exam questions. This evaluation is used to indicate your proficiency in all of the attributes as per accreditation requirements.

Required Text Book

The Essentials of Computer Organization and Architecture, 5th Edition, by: Linda Null and Julia Lobur. Published by Jones and Bartlett Publishers, 2019. ISBN- 978-1-284-12303-6.

Other References:

Computer Organization and Design RISC-V Edition, First Edition, David Patterson John Hennessy, published by Elsevier, 2017, ISBN: 978-0-128-12275-4. ·

Digital Logic Circuit Analysis and Design, by Victor P. Nelson, H. Troy Nagle, Bill D. Carroll, and J. David Irwin. 1995. Prentice-Hall, Inc., Upper Saddle River, NJ, USA.

Course Structure

Lectures

The lectures are a key component of the course, and you are advised to attend the lectures regularly and attentively. We will try to utilize the lecture time in doing things that you would not get by simply reading the book (explaining difficult concepts, giving you alternate perspectives, relating course material to other fields, giving you tools to solve problems, etc.) rather than merely repeating facts that you can simply read from the text book.

The lectures will take place live over Zoom (where coverage of the material will take place during class time).

It is strongly advised that you stay current in your reading of the textbook, and attend the lectures regularly. That will enhance your learning experience and prevent you from being lost in the lectures. You are also strongly advised to go and read the material thoroughly right after the lectures.

Tutorials

The tutorials are integral part of the course and will be used to discuss material relevant to the assignments and projects. The tutorials will also reinforce the material seen during the lectures with examples and exercises. The tutorials are designed in a way that would assist you to get deeper knowledge and experience of problem analysis and problem solving. Tutorials will also be used to discuss solutions of returned assignments (please note that written solutions will not be provided). It is hence strongly recommended that you attend all the tutorials. All problems related to the assignments should be addressed to the tutor. Tutorials begin on the second week of classes.

Exams

We strive hard to give exams where your success does not depend on memorization. You will probably find it difficult to answer many of the questions if you have memorized the concepts without understanding them. Moreover, many questions will not only test your understanding of concepts, but also your ability to apply them to solve problems. The assignments should help you preparing for the exams. There will be no substitution of any missing exam.

We will have a midterm and a final exam in this course. Both exams are online exams Additionally, you may be called for a follow-up oral exam afterwards. The exam may be proctored, either through Zoom invigilation (which is the most likely way that the exam will take place), or through auto-proctoring. Please read very carefully the Addendums below, which provide the full details of such exams. You must make sure that you read this information very carefully; as you need to drop the course if you are not able to accommodate the given rules.

Workload and Grading

1. Assignments: 20%

There will be about 4 to 5 assignments of equal weights each, that will cover both theory and implementation of computer system hardware and assembly language programming. All assignments must be submitted on the due date in electronic format (including reports, theoretical solutions, source codes, executables, inputs, outputs, results, conclusions) in a zip file (i.e. archive) through Moodle. All assignments should be submitted using Moodle System; late assignments will be rejected.

Submission format: All assignment-related submissions must be adequately archived in a ZIP file using your ID(s) and last name(s) as file name. The submission itself must also contain your name(s) and student ID(s). Use your “official” name only - no abbreviations or nick names; capitalize the usual “last” name.

Inappropriate submissions will be heavily penalized. Only electronic submissions will be accepted. Students will have to submit their assignments using the Moodle. Assignments must be submitted in the right DropBox/folder of the assignments. Assignments uploaded to an incorrect DropBox/folder will not be marked and result in a zero mark. No resubmissions will be allowed.

All students should become familiar with the University’s Code of Conduct located at: https://www.concordia.ca/students/academic-integrity/offences.html.

In cases where cheating or plagiarism is suspected, the case will be forwarded directly to the appropriate university office for consideration.

2. Group project: 10%

There will be a group project that will cover the design and implementation of a computer system using assembly language programming. Each group is composed of 2 to 3 students.

In your report you must include:

a. the design of the system including schematics, tables, logic circuits etc.

b. the CPU/Microcontroller architecture and the assembler used.

c. your assembly code to solve the problem.

d. sample Input/output

The details of the project deliverables, deadlines, report format and assessment criteria ( rubric) will be provided on Moodle.

2. Mid-Term Exam: 20%

There will be one mid-term exam. The date for the exam will be announced at the beginning of the term. The midterm will cover all material presented in the lectures, the textbook, and in the assignments and labs, up to and including the lecture preceding the exam.

3. Final Exam: 50%

The final exam will be scheduled by the University Exam's office. The exam will cover material from the whole semester, including lectures, textbook, and assignments.

Important:

Passing the final exam is necessary for passing the course.

There is no standard relationship between percentages and letter grades assigned.

Plagiarism

The most common offense under the Academic Code of Conduct is plagiarism which the Code defines as “the presentation of the work of another person as one’s own or without proper acknowledgement.”

This could be:

● material copied word for word from books, journals, internet sites, professors course notes, etc.
● material that is paraphrased but closely resembles the original source.
● the work of a fellow student, for example, an answer on a quiz, data for a lab report, a paper or assignment completed by another student.

● a solution or Java code purchased through one of the many available sources.

Plagiarism does not refer to words alone; it can also refer to copying images, graphs, tables, and ideas. Presentation is not limited to written work. It also includes oral presentations, computer assignments and artistic works. Finally, if you translate the work of another person into French or English and do not cite the source, this is also plagiarism.

In Simple Words:

Do not copy, paraphrase or translate anything from anywhere without saying where you obtained it!

In cases where cheating or plagiarism is suspected, the case will be forwarded directly to the appropriate university office for consideration.

Tentative Schedule

The list below provides a summary of the material that will be covered during the course as well as a very tentative schedule. Please check the course webpage and follow actual class coverage for any changes.

Week #
Chapters
Material
1
1/2
  Introduction/ Data Representation: The von Neumann Model, Decimal to
  Binary Conversions, Signed Integer Representation, Floating-Point
  Representation
2 2
  Data Representation: Character Codes, Codes for Data Recording and
  Transmission, Error Detection and Correction
3 3
  Boolean Algebra and Digital Logic: Boolean Algebra, Logic Gates
4 3
  Boolean Algebra and Digital Logic: Combinational and sequential circuit
  design
5 4
  Introduction to a Simple Computer: CPU organization, bus, clocks,
  input/output subsystems, memory organization and addressing, interrupts.
6 4
  Introduction to a Simple Computer: Instruction processing, assembly language
7 5
  Instruction Set Architecture (ISA): Instruction format, addressing, pipelining,
  real-world example of ISA’s
8 6
  Memory: memory hierarchy, cache memory, virtual memory, memory
  management
9 7
  Input/Output and Storage Systems: I/O architecture, magnetic disk, optical
  disk, RAID, Data compression.
10 8
  System software: Operating systems, virtual machines, assemblers, compilers,
  interpreters.
11-12 9
  Alternative Architectures: RISC architecture, parallel and multiprocessor
  architecture.
13 -
Review

  Please note: In the event of extraordinary circumstances beyond the University's control, the content and/or evaluation scheme in this course is subject to change.

Website and other Resources

Many resources for the course (slides, assignments, example programs, ...) will be available online through Moodle; (available through the MyConcordia portal www.myconcordia.ca).

Addendum 1 – Zoom invigilation

This course will be taught and all assessments will be completely online. A midterm and/or a final online exam will be provided through the Concordia Online Exams (COLE) platform with online live proctoring (also known as invigilation). More information about the COLE system may be found at the COLE website.

Please note the following with respect to online live proctored exams:

● That the exam will take place during the exam period at the designated date and time set by the professor (midterm) or the Exams office (final). All exam times will be set to Eastern Standard Time.

● That your image, voice and screen activity may be recorded throughout the duration of the exam.

● That you must show your Concordia University Identification card to validate your identity. Alternative government-issued photo identification will be accepted, though it is not recommended. Only identification in English or French will be accepted.

● That any recording made (if one is made) will only be viewed by authorized university personnel (no external entity has authorization to review the recording).

● That you will be responsible for ensuring appropriate, properly functioning technology (webcam, a microphone, appropriate browser and an ability to download any necessary software, as well as a reliable internet connection with a minimum of a 3G connection).

For your online examination(s), you will need to download the appropriate browser lockdown technology and use Zoom. Protocols for entering the examination will be provided by your professor.

● That you should enter the virtual test site and become familiar with the software that will be used for your exam before starting the exam.

● That you will need a quiet place within which to take the exam. Earplugs or noise-cancelling headphones that are not connected to a device may also be used to allow you to focus for the duration of the exam.

Students who are unable to write an exam because they are unable to meet the above conditions and requirements are advised that they will need to drop the course. More information can be provided on the next or alternative offering of this course by consulting the Department. Students are advised that the drop deadline (DNE) for this course is January 26, 2021.

Students who require additional accommodations for their exams due to a documented disability should contact the Access Centre for Students with Disabilities as soon as possible ([email protected]).

If you face issues during the exam, you should inform your professor of those issues immediately. Please note that there are in-exam supports you should spend time getting to know. Visit the COLE website for more information.

Addendum 2 – Auto-proctored timed assessments

This course will be taught and all assessments will be completely online. A midterm and/or a final online exam are planned to be provided with online live proctoring (see Addendum 1 above). Nonetheless; if this could take place for some reason, then the exams will be alternatively be provided through the Concordia Online Exams (COLE) platform with online proctoring (also known as auto-proctoring). More information about the COLE system may be found at the COLE website.

Please note the following with respect to online live proctored exams:

● That the exam will take place during the exam period at the designated date and time set by the professor (midterm) or the Exams office (final). All exam times will be set to Eastern Standard/Daylight Time.

● That your image, voice and screen activity will be recorded throughout the duration of the exam.

● That you must show your Concordia University Identification card to validate your identity. Alternative government-issued photo identification will be accepted, though it is not recommended. Only identification in English or French will be accepted.

● That any recording made will only be viewed by authorized university personnel (no external entity has authorization to review the recording).

● That you will be responsible for ensuring appropriate, properly functioning technology (webcam, a microphone, appropriate browser and an ability to download any necessary software, as well as a reliable internet connection with a minimum of a 3G connection).

● That you are very strongly recommended to enter the virtual test site found at the COLE website and become familiar with the software that will be used for your exam before starting the exam.

● That you will need a quiet place within which to take the exam. Earplugs or noise-cancelling headphones that are not connected to a device may also be used to allow you to focus for the duration of the exam.

Students who are unable to write an exam because they are unable to meet the above conditions and requirements are advised that they will need to drop the course. More information can be provided on the next or alternative offering of this course by consulting the Department. Students are advised that the drop deadline (DNE) for this course is January 26, 2021.

Students who require additional accommodations for their exams due to a documented disability should contact the Access Centre for Students with Disabilities as soon as possible ([email protected]).

If you face issues during the exam, you should inform your professor of those issues immediately. Please note that there are in-exam supports you should spend time getting to know. Visit the COLE website for more information.