CS 0447 –
Computer Organization & Assembly Language
Fall Term: 2141
|
Class |
Recitation |
Recitation |
Time: |
3:00 PM – 4:15 PM |
11:00 AM – 11:50 AM |
1:00 PM – 1:50 PM |
Days: |
MW |
F |
F |
Room: |
106 LAWRN |
5502 SENSQ |
5505 SENSQ |
Webpage: |
Instructor: Jonathan Misurda |
|
TA: Guy Gadola |
||
Office: |
6203 SENSQ |
|
Office: |
5501 SENSQ |
Email: |
|
Email: |
||
Office Hours: |
Mon, Tue, Wed: 1:00–3:00 |
|
Office Hours: |
Tue, Thur: 1:45–3:45 |
Computers as real, physical objects allow for the algorithms and programs we create to be utilized to solve problems. This course presents the concepts and implementation details necessary to explore how a computer is designed (its architecture) and works. We will discuss issues including representing data, building a useful set of primitive instructions (machine and assembly language) to build programs from, a real example of such an instruction set called MIPS, the design of electronic circuitry to do useful work, and putting together small circuits to build a working CPU.
Before enrolling in this course, you must have completed or be currently enrolled in CS 0445 – Data Structures. If you have any questions about the prerequisite material for the course, please ask at the beginning of the term.
The goals of this class are as follows:
David A. Patterson and John L. Hennessy. Computer Organization and Design, Revised Fourth Edition, Fourth Edition: The Hardware/Software Interface. Morgan Kaufmann, 2011.
ISBN-10: 0123747503
Exams: There will be two midterms and a final. The exams will be closed book/notes. The final exam will be Tuesday, December 10, 2013, from 4:00–5:50 PM in the normal classroom. Cheating on exams will not be tolerated. Anyone caught cheating will be given a zero for the test or for the course and reported to the department following University procedures.
Projects: There will be 3 out-of-class assignments given. These are to be completed in the given time (no extensions will be given without a valid excuse. LATE WORK IS NOT ACCEPTED. Contact me before the deadline for clarifications.) These are meant to be your own work; anyone found to be collaborating will be disciplined in accordance to University policy. Cheating means (but is not limited to): using code from previous terms, other universities, your friends, finding it on the Internet, getting help from unapproved forums, or outsourcing it.
We will be using a tool from Stanford called Moss to automatically detect occurrences of code copying.
Labs and Quizzes: Attending recitation is an important part of this course. In recitation you will be able to work in a structured setting while completing small tasks (Labs). Concepts from class will be expanded upon and tested with unannounced quizzes.
Participation: Attendance will not be taken, but in a small class, any absence will be noticed. Several unexcused missed classes will adversely affect your grade.
Your grade will be based upon 3 exams, 4 projects, labs and quizzes (the lowest one of which will be dropped), and participation:
First Midterm |
15% |
Second Midterm |
15% |
Final Exam |
15% |
3 Projects |
30% (10% each) |
Labs and Quizzes |
20% |
Participation |
5% |
Total |
100% |
The scale for the term will be:
Percentage |
100 |
95 |
90 |
89 |
85 |
80 |
79 |
75 |
70 |
69 |
65 |
60 |
< 60 |
Letter |
A+ |
A |
A- |
B+ |
B |
B- |
C+ |
C |
C- |
D+ |
D |
D- |
F |
If you have a disability for which you are requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services, 216 William Pitt Union, (412) 648-7890, as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.
Students are expected to comply with the University of Pittsburgh’s Policy on Academic Integrity. Any student suspected of violating this obligation for any reason during the semester will be required to participate in the procedural process as outlined in the University Guidelines on Academic Integrity. For further information see: http://www.pitt.edu/~provost/ai1.html
The daily topics are subject to change depending on our pace. They are there to assist you in the readings so you can focus on those concepts prior to class.
Week 1: 8/26/2013 - 8/28/2013 |
Readings for this week: Section 2.4
Topics: · Numbers and representations o Binary, Octal, Hexadecimal o Integers, Floating Point, text o Range and sign
|
Week 2: 9/2/2013 - 9/4/2013 |
Readings for this week: Sections 2.1–2.3
Monday, September 2: Labor Day (No Class) Friday, September 6: Add/Drop Ends
Topics: · General computer architecture o Five classic components o Machine code versus assembly language o Toolchain
|
Week 3: 9/9/2013 - 9/11/2013 |
Readings for this week: Section 2.6
Topics: · MIPS Assembly language o Registers o Memory o Representation
|
Week 4: 9/16/2013 - 9/18/2013 |
Readings for this week: Sections 2.7–2.10
Topics: · MIPS Assembly language continued o ALU Operations o Control transfers
|
Week 5: 9/23/2013 - 9/25/2013 |
Readings for this week: Review Chapter 2
Topics: · MIPS Assembly language continued o Memory operations o Functions |
Week 6: 9/30/2013 – 10/2/2013 |
Readings for this week: Review Chapter 2
Wednesday, October 2: First Midterm Exam
Topics: · Finish up MIPS · Review for the midterm exam
|
Week 7: 10/7/2013 - 10/9/2013 |
Readings for this week: Appendix C
Topics: · Basics of hardware design o Transistors o Logic gates o Circuits and Boolean equations o Flip-flops
|
Week 8: 10/14/2013 - 10/16/2013 |
Readings for this week: Appendix C (continued)
Monday, October 14: Fall Break – No class Tuesday, October 15: Follow your Monday Schedule
Topics: · Combinational Logic o Karnaugh Maps · Sequential Logic
|
Week 9: 10/21/2013 - 10/23/2013 |
Readings for this week: Chapter 3
Friday, October 25: Monitored Withdrawal Deadline
Topics: · Algorithms for hardware o Addition o Multiplication o Division
|
Week 10: 10/28/2013 - 10/30/2013 |
Readings for this week: Chapter 1
Wednesday, October 30: Second Midterm Exam
Topics: · Performance measures · Review for the midterm exam |
Week 11: 11/4/2013 - 11/6/2013 |
Readings for this week: Chapter 4.1–4.4
Topics: · Putting it all together o Single cycle CPU o Control signals
|
Week 12: 11/11/2013 - 11/13/2013 |
Readings for this week: Appendix D
Topics: · Single cycle CPU continued
|
Week 13: 11/18/2013 - 11/20/2013 |
Readings for this week: Chapter 4.6–4.8
Topics: · State machines · Multicycle CPU
|
Week 14: 11/25/2013 - 11/27/2013 |
Readings for this week: Chapter 5.1–5.3
Wednesday, November 27: Thanksgiving Break – No class
Topics:
|
Week 15: 12/2/2013 - 12/4/2013 |
Readings for this week: Prepare for the final exam
Topics:
|
Finals week |
Final Exam: Tuesday, December 10, 2013, from 4:00–5:50 PM in the normal classroom
|