This course covers the design of complex computer systems making heavy use of the components and techniques discussed in CMSC 313 or CMPE 212 and CMPE 310. All parts of the computer system - CPU, memory and input/output - are discussed in detail. Topics include information representation, floating-point arithmetic, instruction set design issues (RISC vs. CISC), microprogrammed control, hardwired control, pipelining, memory caches, bus control and timing, input/output mechanisms and issues in the construction of parallel processors
- In-depth understanding of the inner-workings of modern computers, their evolution, and trade-offs present at the hardware/software boundary
- Broad knowledge of the state of the art in computer architectures
- Familiarity with performance metrics and benchmarks
- General knowledge of advances in microelectronics and their implication on computer design
- Experience the design process in the context of a reasonable size hardware
- Exposure to design tools and validation setup
C or better in CMSC 313
David Patterson and John Hennessy, Computer Organization and Design, The Hardware/Software Interface, 5th Edition. Morgan Kaufmann, ISBN 978-0124077263
Atharva Muley <email@example.com>
ITE 340; Office Hours MW 10:00-11:30
There is a Piazza site for this class. Everyone enrolled in the class will be added to this site. Class announcements will be made there, so you should either check this site periodically, or make sure it is set to send you messages by email. You should also use it for public communication with your classmates, and the instructor. Questions on concepts and algorithms, especially relating to the assignments, should be asked on Piazza.
Please only post messages appropriate for the entire class to see. Be sure to send messages about grades or other private matters directly to the instructor or TA.
Grades will be based on homework (25%), project (25%), midterm exam (25%) and final exam (25%).
Homework is due by the begining of class on the date due unless otherwise noted. Late homework will not be accepted, and will receive a grade of 0.
Topic dates may shift due to changes in class pace. This schedule will be updated if they do. Text listings show which chapter in the 5th edition of the text covers the concepts from that class. Chapters that are listed across multiple weeks will take us several weeks to cover. Homeworks and components of the project are due at the beginning of class on the dates indicated.
|Jan 27/29||Introduction, Instruction Representation||Ch. 1|
|Feb 3/5||Addressing, Number Representation||Ch. 2|
|Feb 10/12||Arithmetic, Multiplication, Division, Floating Point||Ch. 3||HW1 (2/10)|
|Feb 17/19||Datapath||Ch. 4|
|Feb 24/26||Hard-wired Control, Microprograms||Ch. 4||HW2 (2/24)|
|Mar 2/4||Performance||Ch. 1|
|Mar 9/11||Review, Midterm Exam||HW3 (3/9)|
|Mar 16/18||Spring Break||Ch. 4|
|Mar 23/25||Midterm discussion, Pipelining||Ch. 4|
|Mar 30/Apr 1||More Pipelining||Ch. 5|
|Apr 6/8||Memory & Cache||Ch. 5|
|Apr 13/15||More Cache, Virtual Memory||Ch. 5||HW4 (4/13)|
|Apr 20/22||More Virtual Memory, I/O||Ch. 5|
|Apr 27/29||Bus & I/O Interfaces||Ch. 6||HW5 (4/27)|
|May 4/6||HDL, GPUs||App. B.4, App. C|
|May 11||Project, Review|
|May 15||Final Exam 1:00-3:00|
By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong.
For the individual assignments, you are allowed to discuss concepts, assignments and algorithms, but the actual programming is expected to be your own work. Submit a readme with each assignment describing the assignment and also any and all help you received.
Sexual Misconduct and Abuse
Any student who has experienced sexual harassment or assault, relationship violence, and or staking is encouraged to seek support and resources. There are a number of resources available to you.
With that said, as an instructor, I am considered a Responsible Employee, per UMBC’s Policy on Prohibited Sexual Misconduct, Interpersonal Violence, and Other Related Misconduct. This means that while I am here to listen and support you, I am required to report disclosures of sexual assault, domestic violence, relationship violence, stalking, and/or gender-based harassment to the University's Title IX Coordinator. The purpose of these requirements is for the University to inform you of options, support, and resources.
You can utilize support and resources even if you do not want to take any further action.
You will not be forced to to file a police report, but please be aware, depending on the nature of the offence, the University may take action.
If you need to speak with someone in confidence about an incident, UMBC has the following Confidential Resources available to support you:
- The Counseling Center: 410-255-2742 (M-F 8:30-5)
- University Health Services: 410-455-2542 (M-F 8:30-5)
- For after-hours emergency consultation, cal the police at 410-455-5555
Other on-campus supports and resources:
- The Women's Center (available to students of all genders): 410-455-2714 (M-Th 9:30-6, F 9:30-4)
- Title IX Coordinator: 410-455-1606 (9-5)
Child Abuse and Neglect Please note that Maryland law requires that I report all closure or suspicions of child abuse or neglect to the Department of Social Service and/or the police.
Additional confidential resources are listed on the UMBC Title IX page.