CMP 334 - Computer Organization

Course Information
Course Section Lecture Hours Location
CMP 334 - 01: Computer Organization Tu & Th 1:00 pm - 2:40 pm Gillet Hall Room 333 & Online via Zoom (Please refer to the weekly schedule below)
Contact Information
Instructor: Steven Fulakeza Email: steven.fulakeza(at)lehman.cuny.edu
Phone: NA Office Location: GI 232
Office Hours: Mondays & Wednesdays from 12:50 pm to 1:50 pm and 03:50 pm to 4:50 pm
Instructor Availability: I reply to students' emails regularly but please note that I do not typically check email or Slack messages during late hours on weekdays, and I do not check these at all on the weekends in order to devote time to family, rest, and religious observances. Messages received during these times will receive attention once I am back online.


CMP 334 Course Description: 4 hours, 4 credits

Introduction to digital logic-expressions, gates, flip-flops, adders. busses, multiplexers Introduction to assembly language and assembly level organization - data representation, instruction formats, addressing modes, interrupts. Memory systems - caches (mapping and management policies) and memory hierarchies, latency and bandwidth, virtual memory (pagetables, TLB). Input/Output- busses, channels and DMA. Performance considerations- pipelining, RISC architecture, branch prediction, introduction to instruction level parallelism.

Prerequisite:

  • CMP 167 (Programming Methods I), CMP 232 (Elementary Discrete Structures & Applications to Computer Science) or Departmental permission.

Course Objectives:

  1. Understand unsigned and signed fixed-width binary arithmetic including overflow conditions and comparisons.
  2. Understand the relationship among Boolean algebra, truth-tables, and combinational circuits
  3. Design a 4-input combinational circuit from an informal description of its function.
  4. Understand the function of basic hardware components such as: flip/flops, registers, buses, adders, clocks, and control logic.
  5. Understand how these components are built from digital logic gates.
  6. Understand how the data-path and control of a processor are built from these components.
  7. Understand how computer pipelining can improve processor performance, the hazards that can impede such improvements, and the hardware and software techniques used to minimize the negative impacts of these hazards.
  8. Use computer performance equations and Amdahl's law to predict the performance impact of changes to hardware configurations such as faster clocks, better floating–point units, processor pipelining, hazard mitigation, cache organization etc.
  9. Understand the implications of today's multi-core processor chips including synchronization and memory consistency.
  10. Create simple assembly language programs.
  11. Understand (in some detail) how computer hardware executes such programs.

Textbook:

  • ZyBooks Computer Organization and Design : The Hardware / Software Interface Hennessy and Patterson (6th edition)
    • Sign in or create an account at learn.zybooks.com
    • Enter zyBook code: CUNYCMP334FulakezaSpring2022
    • Subscribe
    A subscription is $72.

Recommended Textbooks:

  • Computer Organization and Architecture - Null and Lobur
  • Computer Organization and Architecture – Stalling

Resources:

  • Lecture Notes, Blackboard, and Course Website
  • Slides will be posted both on the course website.

Grades Policy:

Your grades will be computed based on the following:

Activity Percentages
ZyBooks Participation & Challenge Activities 10%
Homework Assignments & Blackboard Quizzes 30%
Midterm Exam 30%
Final Exam 30%

Makeup exam might be given only when a student's absence is unavoidable. In such a case, the student must file formal written request.

Homework Assignments

Several homework assignments will be given during lectures and some work will be posted on Blackboard and the course website. Students need to work on the homework to prepare for exams but may not need to submit the homework assignments to the instructor. Some selected homework problems will be assigned as formal assignments to be submitted for grading. Students must work on their own assignments unless stated otherwise. Students handing in similar work will both receive a 0 and face possible disciplinary actions. No late assignments will be accepted. Homework assignments must be submitted on Blackboard or via ZyBooks. No emailed work will be accepted.

Exam Schedule:

  • Midterm Exam: 04/05/2022
  • Final Exam date: Thursday, 05/19/2022 1:30 pm - 3:30 pm in Gillet Hall Room 333

Academic Integrity and Plagiarism Policy

Students are encouraged to study together. However, you must do your own work for all your homework assignments, projects and exams. You should never copy code or anywork from the internet or another student. You are responsible for knowing and following Lehman's academic integrity code (available from the Undergraduate Bulletin, Graduate Bulletin, or the Office of Academic Standards and Evaluations). All incidents of cheating will be reported to the Vice President of Student Affairs.

Statement may be found in student handbook. For more information, refer to https://www.lehman.edu/student-affairs/documents/Student-Handbook-Lehman-College-8-31-2020.pdf

Note: All incidents of cheating will be reported to the Vice President of Student Affairs.

Attendance:

Students are expected to attend lectures regularly and promptly. In the event of illness, or injury, students should notify me. Students who miss a class are responsible for learning materials presented in class and reading relevant textbook portions. If you need help, please do not hesitate to contact me.

Students receiving financial aid must be certified as attending classes regularly for continuing eligibility.

Accommodating Disabilities:

Lehman College is committed to providing access to all programs and curricula to all students. Students with disabilities who may need classroom accommodations are encouraged to register with the Office of Student Disability Services. For more info, please contact the Office of Student Disability Services, Shuster Hall, Room 238, phone number, 718-960-8441.

Technology, Blackboard and Email:

We will be using a Blackboard site for much of the class activities. It can be accessed through the Lehman website at www.lehman.cuny.edu. You will also need to have access to your Blackboard account. You can contact the IT Center if you have any problems accessing your account.

I will be communication with you regularly throughout the semester using your email address that is available on Blackboard. Make sure you have access to your email. If you have, any questions about your Lehman email address or your password, or if you have any problems accessing the site please call the computer helpdesk at 718-960-1111.


Tentative Schedule:

Week Day Date Topic Reading Materials Meeting Location
1102/01/2022Introduction, Syllabus, Computer Abstractions, Technology and OverviewSyllabus & Chapter 1.1 - 1.2 On campus & online
1202/03/2022Chapter 1 - Computer Abstractions, Technology and OverviewChapter 1.2 - 1.5On campus & online
2302/08/2022Classes follow a Friday Schedule
2402/10/2022Chapter 2 - Instructions: Language of the ComputerChapter 2.1 - 2.3On campus & online
3502/15/2022Chapter 2 - Instructions: Language of the Computer => Representation of integers base 2, 10, and 16, conversion between bases. Signed and Unsiged NumbersConversion between Bases
Chapter 2.4
On campus & online
3602/17/2022Chapter 2 - Instructions: Language of the Computer => MIPS instructions formats and representing instructions in computersChapter 2.5On campus & online
4702/22/2022Chapter 2 - Instructions: Language of the Computer => Logical operations and Instructions for making decisionsChapter 2.6 - 2.7On campus & online
4802/24/2022Appendix B - Boolean algebra, truth tables, gates, digital logic circuitsAppendix B: Section 8.1 - 8.2On campus & online
5903/01/2022Gates and Introduction to combinational circuit design process - AddersAppendix B:Section 8.3On campus & online
51003/03/2022Adders ContinuedAppendix B:Section 8.3On campus & online
61103/08/2022Combinational circuits: - ripple carry adders, decoders, multiplexors, constructing a basic arithmetic logic unitAppendix B:Section 8.5On campus & online
61203/10/2022Combinational circuits: - decoders, multiplexors, constructing a basic arithmetic logic unitAppendix B:Section 8.5On campus & online
71303/15/2022Combinational circuits: invertersAppendix B:Section 8.3 and SlidesOn campus & online
71403/17/2022Appendix B - Constructing a basic arithmetic logic unit :Combinational circuit design process, combinational circuits: inverters, decoders, multiplexorsAppendix BOn campus & online
81503/22/2022Appendix B - ClocksChapter 8.7On campus & online
81603/24/2022BufferOn campus & online
91703/29/2022Chapter 4 - Memory elements: Flip-flops, latches, and registersChapter 8.8 - 8.8On campus & online
91803/31/2022Exam ReviewOn campus & online
101904/05/2022Midterm examTBA
102004/07/2022Chapter 4 - The Processor - Introduction Chapter 4.1 - 4.7On campus & online
112104/12/2022Chapter 4 - The Processor - Pipelining, Data Hazard and Control HarzadsChapter 4.8 - 4.91On campus & online
112204/14/2022Chapter 4 - The Processor - Parallelism via instructionsChapter 4.11On campus & online
12X04/19/2022No classes scheduled - Spring RecessOn campus & online
12X04/21/2022No classes scheduled - Spring RecessOn campus & online
132304/26/2022Chapter 5 - Memory Hierarchy: Introduction and locality of reference (temporal and spatial). Multi–level caches, latency and bandwidth,Chapter 5.1 - 5.2On campus & online
132404/28/2022Chapter 5 - Memory Hierarchy: Memory technologies and Cache BasicsChapter 5.2 - 5.3On campus & online
142505/03/2022Chapter 5 - Memory Hierarchy: Cache Basics and Cache Performance Problems.Chapter 5.3 - 5.4On campus & online
142605/05/2022Chapter 5 - Memory Hierarchy: Virtual memoryChapter 5.7On campus & online
152705/10/2022Chapter 5 - Memory Hierarchy: Parallelism and memory hierarchies: Cache coherenceChapter 5.10On campus & online
152805/12/2022Chapter 5 - Memory Hierarchy: Parallelism and memory hierarchy: Redundant arrays of inexpensive disks(RAID)Chapter 5.11On campus & online
162905/17/2022Final Exam Review
Last day of instruction for Spring 22 Semester
Deadline to withdraw with a grade of W
On campus & online
163005/19/2022Final Exam 1:30 pm - 3:30 pmTBA

Homework Assigments:

Assignment Release Date Due Date
ZyBook Participation & Challenge Activity 1 02/01/2022 02/08/2022 by 11:59 pm
ZyBook Participation & Challenge Activity 2 02/09/2022 02/18/2022 by 11:59 pm
Homework Assignment 1 02/23/2022 03/02/2022 by 11:59 pm
Homework Assignment 2 03/16/2022 03/24/2022 by 11:59 pm
ZyBook Participation & Challenge Activity 3 03/24/2022 04/07/2022 by 11:59 pm
ZyBook Participation & Challenge Activity 4 04/07/2022 04/13/2022 by 11:59 pm
ZyBook Participation & Challenge Activity 5 04/26/2022 05/11/2022 by 11:59 pm

Software Used For the Course:

Classroom Policies & Responsibilities

  • Take responsibility for your education and grades – Students have a common myth that because they pay tuition they deserve to receive a passing credit. Students earn grades in accordance with course grading policies.
  • Attend every class and get to class on time.
  • Keep track of dates for homework and exams. Submit all your work on time as no late homework will be accepted.
  • When having any academic difficulties, always seek assistance from your instructor.
  • Follow all directions
  • Keep track of your grades. Your final letter grades will be computed based on the grading policy on this syllabus.
  • Accept responsibility for your grades and the consequences of your actions.