Refer to Discussion Forum, in the Faculty Notes
CS 440 - Computer Organization and Architecture
CS 440 - COMPUTER ORGANIZATION AND ARCHITECTURE (3). Introduces Machine Architecture with coverage of digital logic, machine level data and instruction representation, ALU design, and organization of the processor datapath and control. Examines performance analysis, memory system hierarchy, pipelining, and communication.
CS390 Principles of Programming Languages
AND
CS324 Algorithms & Complexity
(or CS370 Assembly Language -- only for degree plans prior to Fall 2015)
Please note that CS210/CS310 are pre-requisites to CS390 and CS324 (and CS361/CS362 are pre-requisites to CS370), so knowledge of the subjects covered in those courses will also be assumed. You need to have a working knowledge of the following topics within each course:
The computer lies at the heart of computing. All students of computing should acquire some understanding and appreciation of a computer system's functional components, their characteristics, their performance, and their interactions.
It is important to understand Computer Architecture in order to structure a program so that it runs efficiently on a real machine. And when selecting a system to use, it is important to understand the tradeoff among various components, so you can accurately compare competing systems, and understand technical literature on new computer systems.
This course will cover the basic concepts of Computer Architecture that are important for you to understand, including the CPU control and datapath, memory systems including caching and virtual memory, and input/output subsystems.
WARNING to students:
Many students find this course to be one of the more difficult of the courses in the Regis Computer Science curriculum. So please be sure you will have adequate time to devote to this course before taking it.
Upon completion of this course, students should be able to:
1. Explain digital logic and its use in digital systems.
a. Describe the progression of computer architecture from vacuum tubes to VLSI.
b. Detail the basic building blocks and their role in the historical development of computer architecture.
c. Use mathematical expressions to describe the functions of simple combinational and sequential circuits.
d. Design a simple circuit using the fundamental building blocks.
2. Understand machine level representation of data.
a. Explain the reasons for using different formats to represent numerical data.
b. Explain how negative integers are stored in sign-magnitude and twos-complement representation.
c. Explain how floating point numbers are stored in IEEE formats.
d. Convert numerical data from one format to another.
e. Discuss how fixed-length number representations affect accuracy and precision.
f. Perform simple mathematical and logical operations upon numerical data.
g. Describe the internal representation of nonnumeric data.
3. Understand assembly level machine organization.
a. Explain the organization and functional units of the classical von Neumann machine, and explain how instructions are executed on it.
b. Summarize how instructions are represented, at both the machine and assembly levels, for a specific instruction set design.
c. Explain how instruction formats vary, such as addresses per instruction and variable length vs. fixed length formats.
d. Write simple assembly language program segments.
e. Demonstrate how fundamental high-level programming constructs are implemented at the machine-language level.
4. Describe the functional organization of a processor datapath and performance enhancements.
a. Explain a single cycle datapath implementation.
b. Compare alternative implementations of datapaths (e.g. multicycle).
c. Discuss the concept of control points and the generation of control signals.
d. Explain basic instruction level parallelism using pipelining and the major hazards that may occur.
e. Describe the implementation of hazard detection and use of register-forwarding for data hazard reduction
f. Explain the concept of branch prediction and how it is used.
g. Characterize the costs and benefits of prefetching.
h. Explain speculative execution and identify the conditions that justify it.
5. Describe memory system organization and architecture.
a. Identify the main types of memory technology.
b. Explain the effect of memory latency on running time and how the memory hierarchy reduces the effective memory latency.
c. Describe the principles of memory management.
d. Describe the role of cache and compare and contrast direct, fully-associative and set-associative cache organizations.
e. Explain the workings of a system with virtual memory management.
6. Describe interfacing and communication.
a. Explain how interrupts are used to implement I/O control and data transfers.
b. Identify various types of buses in a computer system.
c. Describe data access from a magnetic disk drive and flash drive.
7. Understand technical literature on computer systems.
8. Analyze a computer system's expected performance.
a. Analyze how each component of a computer system affects performance.
b. Measure performance using benchmarks and performance metrics.
Patterson, David A., Hennessy, John L., (2014), Computer Organization and Design: the Hardware /Software Interface, (5th Edition). Morgan Kaufmann Publishers, ISBN-13: 978-0124077263, ISBN-10: 0124077269.
A PowerPoint Viewer
Some of the course content is presented via PowerPoint slide shows. If needed, you can download the free PowerPoint viewer via this link:
http://www.microsoft.com/en-us/download/details.aspx?id=13
NOTE: The entire Microsoft Office suite is available free to all Regis students, so you may want to download that instead.
If you are repeating this course (due to a previous withdraw or low grade), you are responsible for immediately notifying the instructor. Course assignments/exams that you submitted when you last took the course cannot be repeated -- you will be required to complete alternate assignments and/or exams.
If you added this course during the drop/add period, after class began on Monday, you are responsible for immediately notifying the instructor by email that you joined the course late. Be aware that none of the course due dates will be extended for you. Even if a due date already passed when you added the course, late points will still be deducted.
Working together on CS440 assignments is NOT permitted. All assignments submitted in CS440 must be completed on your own.
Additionally, all CS440 programming assignment requirements are copyrighted. It is therefore illegal to upload or post any of the assignment requirements to any non-Regis website.
Therefore, it is also violation of the Regis Academic Integrity Policy to do either of the following, either during the time you are taking the course or after course completion.
Plagiarism is submitting someone’s ideas as your own. Plagiarism includes submitting code or other work that was obtained from another person, a publication, or an internet web source.
In cases of suspected collusion, plagiarism, or any other form of cheating in CS440, the faculty member will discuss the matter with the student(s) involved. The faculty member reserves the right to question any student orally or in writing about any assignment, and to use the evaluation of the student's understanding of the assignment and of the submitted solution as evidence of cheating.
All cheating incidents will be reported to the Computer Science department and the Academic Integrity Board for possible further action.
Complete the following tasks:
Students will read the first week's assigned reading in the textbook (listed in the Course Assignments grid below) and complete the participation activities before the day of class. Be prepared to ask questions on unclear areas and to respond to questions about information in the assigned reading.
Online Format: Sign on to WorldClass (D2L) and become familiar with the course navigation.
Week | WorldClass Online Course Topics | Textbook Readings* | Activities/Assignments and Percentages** |
---|---|---|---|
1 |
|
Ch. 1: Sec 1.1 – 1.5 |
Participation in Discussions |
2 |
|
Ch. 2: Sec 2.5 – 2.7, 2.10 – 2.12, and 2.19 – 2.20 Optional: Sec 2.16 – 2.18 |
Participation in Discussions Exam #1 16% |
3 |
|
Appendix B Sec B.5 pages B-26 – B-35, Sec B.7 all, and Sec B.8, pages B-50 – B-56 |
Participation in Discussions Project Overview |
4 |
|
Appendix B Sec B.5 pages B-26 – B-35, Sec B.7 all, and Sec B.8, pages B-50 – B-56 |
Participation in Discussions Exam #2 16% |
5 |
|
Ch 4: Sec 4.5 – 4.8, 4.13 – 4.14 Optional: Sec 4.11 |
Participation in Discussions Project Draft |
6 |
|
Appendix B: Sec B.9 |
Participation in Discussions Exam #3 16% |
7 |
|
Ch 5: Sec 5.11 |
Participation in Discussions Final Project 24% |
8 |
None |
Participation in Discussions Final Exam 16% |
|
Maximum Possible: 100% |
*Previous Edition Reading Assignments: Alternate reading assignments for the previous edition of the textbook (4th edition) will be available in your instructor's syllabus.
**Note to Classroom sections only: Your instructor's syllabus, handed out the first night of class, will indicate any changes to this grid. Classroom requirements for the Final Project and Presentations will be handed out in class.
There will be four exams. The first 3 exams will be online, timed exams, and the last exam will be an essay exam. Exam questions will be cumulative, taken from reading assignments and course content.
Each student will submit a final project, covering the details of one specific architecture.
Participation is important because we can all learn from each other. Your participation points will make a difference in the final grade. Participation means:
1. a. Present in class every session (classroom)
b. Present in the forum every week (online)
2. a. Effectively responds to questions from the facilitator (classroom)
b. Regularly checks forum and submits all required items by the deadlines (online)
3. Interacts/replies to other students in classroom/forum discussions
Assignments | Weighted Percentage |
---|---|
Participation Activities |
12% |
Exams |
64 % |
Final Project |
24 % |
TOTAL |
100 % |
See your instructor’s faculty syllabus in WorldClass for the online Discussion points distribution.
Each term, students are expected to review the CC&IS Policies and Procedures Syllabus Addendum on the Regis website.