CMP 334 - Computer Organization

Course Information
Course Section Lecture Hours Location
CMP 334: Computer Organization Mondays, Tuesdays, Wednesdays, and Thursdays, 10:00 am - 1:25 pm Online using Zoom
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:

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
Homework Assignments & Blackboard Quizzes 30%
Midterm Exam 35%
Final Exam 35%

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. No emailed work will be accepted.

Exam Schedule:

  • Midterm Exam due date: 07/27/2020 by 10:00 am
  • Final Exam due date: 08/06/2020 by 11:59 pm

The exams will consist of two parts:

  • A multiple-choice part that will be completed on Blackboard
  • A written part, which will be posted on Blackboard and the course website. The exam must be submitted on Blackboard. No emailed work will be accepted.

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 http://www.lehman.cuny.edu/student-affairs/documents/Final-Student-Handbook-Lehman-College-9-19-18.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 Course Schedule:

Day Date Topic and Slides
Day 1 07/13/2020 Introduction, and Syllabus. Computer Abstractions, Technology and Overview
Day 2 07/14/2020 Introduction to assembly language programming
Day 3 07/15/2020 Representation of integers base 2, 10, and 16, conversion between bases.
Day 4 07/16/2020 MIPS instructions formats and representing instructions in computers
Day 5 07/20/2020 Boolean algebra, truth tables, gates, digital logic circuits
Day 6 07/21/2020 Combinational circuit design process, combinational circuits: adders
Day 7 07/22/2020 More Combinational circuit design process, combinational circuits: more inverters, decoders, multiplexors
Day 8 07/23/2020 Exam Review
Day 9 07/27/2020 Processors
Day 10 07/28/2020 Processors continued: Processor performance problems, parallelism, pipeline processors, pipeline hazards (structural, data, control), branch prediction, Pipeline performance problems.
Day 11 07/29/2020 Memory hierarchy: cache, main memory, magnetic disks. Locality of reference (temporal and spatial). Multi–level caches, latency and bandwidth,
Day 12 07/30/2020 Memory hierarchy: Cache and cache performance problems.
Day 13 08/03/2020 Virtual memory, TLB (Translation Look-aside Buffer), MMU (Memory Management Unit), program execution Working Set, page replacement algorithms. RAID architecture
Day 14 08/04/2020 Virtual memory Continued, TLB (Translation Look-aside Buffer), MMU (Memory Management Unit), program execution Working Set, page replacement algorithms. RAID architecture
Day 15 08/05/2020 Final Exam
Day 16 08/06/2020 Final Exam due by 11:59 pm

Homework Assigments:

Assignment Release Date Due Date
Blackboard Multiple Choice Quiz 1 07/15/2020 07/17/2020 by 11:59 pm
Homework Assignment 1 07/14/2020 07/18/2020 by 11:59 pm
Blackboard Multiple Choice Quiz 1 07/21/2020 07/23/2020 by 10:00 am

Written Exam:

Exam Release Date Due Date
Blackboard Multiple Choice Midterm Exam 07/23/2020 07/27/2020 by 10:00 am
Written Portion of the Midterm Exam 07/23/2020 07/27/2020 by 10:00 am

Software Used For the Course:

Classroom Policies

  • 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.
  • Submit all your work on time.
  • When having any academic difficulties, always seek assistance from your instructor.