Preliminary Syllabus:
Fall 2020 CPE480
(AKA CPE480-001, CPE480-201, EE480-001,
EE480-201, CS480G-001, and CS480G-201)
Computer Architecture

Instructor: Professor Hank Dietz
Office: 203 Davis Marksbury Building -- but not expected to be there often
Email: [email protected] -- put "CPE480" in the subject line
Home URL: http://aggregate.org/hankd/ -- schedule and live office camera are posted there
Course URL: http://aggregate.org/CPE480 -- watch errata for changes
Course Meetings: MWF 3:00-3:50 online, optionally in room 323 Dickey Hall for *-001 sections when appropriate
Course Text: Computer Architecture, Sixth Edition: A Quantitative Approach, Hennessy & Patterson, Morgan Kaufmann publisher, 2019.
We will not be following this text very closely, nor assigning homework from it... but it is the standard reference for courses like this and can be of help: it is recommended, not required. Other texts/materials may be added to this syllabus during the semester.

Adjustments made to deal with COVID-19 are shown in RED.

Thanks to cross listing and pandemic concerns, there are 6 different course numbers: CPE480-001, CPE480-201, CS480G-001, CS48G-201, EE480-001, or EE480-201. Students in the *-201 sections will not attend any in-person class meetings. Every lecture will be available interactively online, and a recording also will be posted at this website shortly after each lecture. When it is sufficiently safe and desirable to do so, the lectures will be presented live in Dickey Hall Room 323, and students in the *-001 sections may decide to attend either in-person or online. The recordings are intended primarily as work-arounds for internet issues, but are also good reference materials and may be used to timeshift a class -- however, live online or in-person interaction is strongly prefered and timeshifting should never put a student more than one lecture behind.

All the software tools used in this course are available online, with most usable from any browser via a form interface. In-person meetings carry significant risk during the COVID-19 pandemic, so a variety of steps, discussed below, are being taken to minimize risk. The class videos are intended only for the personal use of students enrolled in the course; attending the class meetings live (in real time) is strongly preferred as long as available bandwidth, etc., permit. You also are encouraged to seriously consider the risks and benefits of meeting in-person with other students for team projects, study groups, etc. -- and if you do meet physically, be dilligent about taking appropriate precautions. Both Professor Dietz and the TA can be contacted via email to arrange "virtual office meetings" to discuss anything relevant to this course.

COVID-19 Class Meeting Issues

There are two sets of issues involving how class meetings will be handled during the pandemic. The following is copied, with only minor adjustment, from the University Senate Fall 2020 Academic Policies in Response to COVID-19, and the intent is that our course will generally be handled consistently with the latest guidelines posted there.

Face Covering / Distancing Policy

Class Recording Notification

The University of Kentucky Student Code of Conduct defines Invasion of Privacy as using electronic or other devices to make a photographic, audio, or video record of any person without their prior knowledge or consent when such a recording is likely to cause injury or distress.

Meetings of this course may be recorded. All sections of the course are intended to share interactive participation in the same class meetings, independent of whether they are physically in the classroom or conducted via online media, thus, all sections are to be considered collectively as a single course for these purposes. All video and audio recordings of lecturers and class meetings, provided by the instructors, are for educational use by students in this class only. They are available only through the Canvas shell for this course or the course website, and are not to be copied, shared, or redistributed.

As addressed in the Student Code of Conduct, students are expected to follow appropriate university policies and maintain the security of linkblue accounts used to access recorded class materials. Recordings may not be reproduced, shared with those not enrolled in the class, or uploaded to other online environments.

If the instructor or a University of Kentucky office plans any other uses for the recordings, beyond this class, students identifiable in the recordings will be notified to request consent prior to such use. In anticipation of such cases, students may be asked to complete an "authorization of use" form by a faculty member.

Video and audio recordings by students are not permitted during the class unless the student has received prior permission from the instructor. Any sharing, distribution, and or uploading of these recordings outside of the parameters of the class is prohibited. Students with specific recording accommodations approved by the Disability Resource Center should present their official documentation to the instructor.

All content for this course, including handouts, assignments, and lectures are the intellectual property of the instructors and cannot be reproduced or sold without prior permission from the instructors. A student may use the material for reasonable educational and professional purposes extending beyond this class, such as studying for a comprehensive or qualifying examination in a degree program, preparing for a professional or certification examination, or to assist in fulfilling responsibilities at a job or internship.

Overview

This course focuses on general-purpose and advanced programmable computer processor architectures; their design, engineering development and validation; and low-level system software. Topics include general-purpose programmable stack, accumulator, memory-register, memory-memory, high performance RISC type architectures, multiprocessor and special-purpose computer architectures. Peripheral devices such as disk arrays, NICs, video/audio and other devices may be covered. Topics also include interrupt processing, assembly language programming techniques, assemblers, linkers, and loaders. Design, development, engineering, and Hardware Description Language (HDL) simulation validation/verification of general-purpose and special-purpose programmable architectures via use of HDLs is addressed. Prereq: EE 280 and EE/CS 380 or consent of instructor. EE 281 would be a helpful prerequisite. Note that CPE 282 combines EE 280 and EE 281.

In many ways, the content of CPE480 is very similar to that of EE380, but with one huge difference: what EE380 overviews, you will work with in-depth here, even specifying hardware implementation details to the gate level. You've no doubt heard that CPE480 requires you to complete a relatively large-scale processor design project using Verilog -- yes, you will. In fact, you'll have to do several large projects. In general, you'll have to work a lot harder in here than you did in EE380, but it's worth the effort.

In Fall 2016, we made a variety of significant changes to this course. Many of the changes aimed to improve the success rate of students in the class, while other were steps toward adjusting CPE480 to better fit with the new curriculum structure that will be starting with the common first year for engineering. Upcoming changes affecting Computer Engineering include significant restructuring of the Sophomore year courses and making both EE380 and CPE480 be required only for Computer Engineering majors... so EE380 is changing too, allowing the EE380+CPE480 pair to be rebalanced to be more effective. In sum, expect this course to mutate and evolve a bit, but know that it's because we're trying to make it a better course, and your input on how the changes work isn't just welcome -- it's critically important to us.

Course Catalog Description

CPE 480G ADVANCED COMPUTER ARCHITECTURE. (3)

This course focuses on advanced computer architectures and low-level system software. Topics include RISC architectures, vector and multiprocessor architectures, multiprocessor memory architectures, and multiprocessor interconnection networks. Peripheral devices such as disk arrays, NICs, and video/audio devices are covered. Topics also include device drivers, interrupt processing, advanced assembly language programming techniques, assemblers, linkers, and loaders. Prereq: CPE/CS/EE 380. (Same as CS 480G and EE 480.)

Notes: The course is heavily weighted toward the practical details of computer architecture and system hardware design. As of Spring 2020, there is heavy coverage and use of Verilog for system hardware design and testing and very little discussion of peripheral devices.

Course Content

A very approximate overview of the lecture coverage is given in the following table. Reference materials will be noted via the course URL; you are expected to understand any material discussed in the lectures, cited from references, or presented via the course URL.

Topic Lectures (Minimum) Project Exam
Introduction 1
Using Verilog 3 Combinational Logic & Exhaustive Testing Midterm & Final
Simple Compiler 1 Midterm & Final
Assemblers 2 Assembler Midterm & Final
Instruction Set Design 3 Assembler, Simple Processor, & Testing Midterm & Final
Simple Processor Implementation 3 Midterm & Final
Testing Complex Designs 3 Midterm & Final
Verilog Compilation 2 Midterm & Final
Pipelining 6 Pipelined Simple Processor Final
Memory Hierarchy 5 Enhancement Of Pipelined Processor Final
Instruction-Level Parallelism 7 Final
Parallel Processing 3 Final

Note that the above table is a little short of the full number of class meetings. This is deliberate to allow some flexibility as there are many things new about the way this course is being taught this semester. The unlisted lectures will generally be spent on addition coverage of problem topics or review. For example, we expect to have at least one lecture period spent on review for each of the two exams.

Homework, Projects, Quizzes, & Exams

The current plan is to have a midterm (about 15% of your grade), a final (about 25%), and five or six homework assignments/projects (about 60%). However, I will apply the secondary rule that you cannot get more than one letter grade above the lower of your test and project averages.

The first two assignments are planned to be individual, but most of the assignments will be done in teams of approximately three students each. Teams will be pseudo-randomly assigned so that no two people will be on the same team for any two assignments. This mixing of teams is now a normal thing for this course; it works well. Note that none of the projects will be the same as in last semester -- or any previous semester. In fact, we will use parts of the old sample solutions to help introduce the projects this semester. Aside from the processor design being different, the enhancement made in the last project also will be different. In Fall 2019, we tried to make the last project result in a publishable paper for the class... not sure if we'll try that again.

Professor Dietz tries to minimize travel during the semester, and that's a lot easier this semester in that most conferences have gone virtual. However, he is expecting to participate in two conferences this Fall. If the conference schedule conflicts with normal class timing, the affected lecture(s) will be shifted to a different time and done online only. In general, there may be some adjustments to the regular class meeting schedule. Any schedule changes, including changes made due to weather, are announced on the course website.

The course material is segmented into 2 exams, a midterm and a final, covering the material suggested in the table above. The final will be comprehensive, but with emphasis placed on the material that was not tested on the midterm. Both exams will be given online, and with some flexibility in timing, with precise time windows to be announced at the course website. The final exam is nominally in the timeslot scheduled by the office of the registrar, which would appear to be the slot for "MW 3:00-4:15" classes, Friday, December 4, from 3:30PM-5:30PM. However, it really will be online for everyone in a flexible window which includes that time interval. There also will be some short online quizes to check students are keeping up with the presentations. Details will be posted at the course website.

The University of Kentucky gives very specific conditions that would justify taking an exam at other than the scheduled time and place, and we will honor all requests complying with university guidelines. Beyond that, we will try to accomodate any request to take an exam at other than the scheduled time provided that the request is made in writing or email before the scheduled exam time. In such cases, the course staff may elect to use a different format (e.g., an oral exam) for the specially-scheduled exam. Our accomodation options may be somewhat limited in this time -- for example, we cannot provide a less-distracting environment for taking a test if the student is physically constrained to a particular environment due to COVID-19, but it is even possible to give an oral exam via Zoom.

Grading

The grading in this course will generally follow the usual scale of "A" starting at 90%, "B" at 80%, "C" at 70%, and "D" at 65%; these grade thresholds will never be increased, but may be lowered slightly as the course staff find appropriate.

Mid-term grades are intended to help you know what grade your current trajectory is likely to result in for the complete course, and mid-term grades will be posted to myUK consistent with university guidelines. Mid-term grades will reflect performance on all work graded up to that point, which might or might not be directly predictive of final grades in that the relative weighting of exams and projects may be different (weighting the the first exam more heavily relative to the projects). Although the first exam will be returned and reviewed, project grades are not distributed nor posted except by individual request. In general, the TA will be responsible for maintaining assignment grades, and you can get your grades from the TA via an email request.

Homework/project solutions are posted to aid students in preparation for the upcoming assignments. You will generally have at least a week to do each homework. Two due dates will be stated for each assignment: a recommended due date (to keep you in-sync with the course lectures) and a date after which no submissions will be accepted (e.g., because the solution will be posted at that time). The first exam is generally graded and returned to the students, with answers reviewed either in class or in sessions scheduled specifically for that purpose. So that any possible grading errors can be consistently handled for all students, regrade requests (preferably in writing) must be made promptly and must be specific as to the reason a regrade is requested. At the option of the course staff, any work submitted for regrade may be re-evaluated in its entirety.

Policies and Ethics

Classroom attendance is expected: the course presentation makes heavy use of the lectures to convey the material, and quizes may be given at random in addition to the scheduled in-class exams. However, absences will be excused in accordance with Senate Rules 5.2.4.2 on excused absences. Additionally, at the discretion of the instructor, other absences often will be forgiven provided that the instructor or TA has been sent an email before the class period begins stating a reason for the absence. In the classroom, students should not take any actions that would disrupt the classroom environment (e.g., talking on a cell phone during class). In general, students are expected to behave in a respectful way towards their fellow students, the TA, and the instructor.

Students are expected to generally behave in an ethical manner, but violations will be treated as serious offenses. Altering graded exams and then submitting them for regrade is obviously unethical, but you do not need to be trying to enhance your grade in order for your behavior to be inappropriate. For example, attempts to break into computer accounts associated with this course or to falsely identify yourself are serious ethical violations even if there was no intent to "cheat" per se.

There are lots of study materials for this course, including old exams, widely available; using them as study aids is perfectly acceptable, but be warned that an apparent reuse of an old question usually has the question slightly reworded so that repeating the old answer will get no credit. Although students are encouraged to discuss course material with one another, everything you submit must be entirely your own original work. Similarly, for in-class exams that specify no textbooks, no calculators, etc., use of the banned resources is a serious offense.

University of Kentucky guidelines do not treat ethics violations as minor infractions. Violation of the policy can result in all involved students failing the course; more severe penalties also may be applied. Contact Professor Dietz beforehand if you have any doubts about how this policy might apply.

Generic Course Guidelines

The following standard UK course guidelines also apply to CPE380, except as noted above.

Midterm Grades for Undergraduate Students (Senate Rules 6.1.3.1)

Mid-term grades will be posted in myUK by the deadline established in the Academic Calendar.

Excused Absences (Senate Rules 5.2.4.2)

Senate Rules 5.2.4.2 defines the following as acceptable reasons for excused absences: (a) significant illness, (b) death of a family member, (c) trips for members of student organizations sponsored by an educational unit, trips for University classes, and trips for participation in intercollegiate athletic events, (d) major religious holidays, (e) interviews for graduate/professional school or full-time employment post-graduation, and (f) other circumstances found to fit "reasonable cause for nonattendance" by the instructor of record. Students should notify the professor of absences prior to class when possible.

If a course syllabus requires specific interactions (e.g., with the instructor or other students), in situations where a student's total EXCUSED absences exceed 1/5 (or 20%) of the required interactions for the course, the student shall have the right to request and receive a "W," or the Instructor of Record may award an "I" for the course if the student declines a "W." (Senate Rules 5.2.4.2.1)

(If an attendance/interaction policy is not stated in the course syllabus or the policy does not include a penalty to the student, the Instructor cannot penalize the student for any unexcused absences.)

Verification of Absences (Senate Rules 5.2.4.2.1 - 6)

Students may be asked to verify their absences in order for them to be considered excused. Senate Rule 5.2.4.2 states that faculty have the right to request appropriate verification when students claim an excused absence due to: significant illness; death in the household, trips for classes, trips sponsored by an educational unit and trips for participation related to intercollegiate athletic events; and interviews for full-time job opportunities after graduation and interviews for graduate and professional school. (Appropriate notification of absences due to University-related trips is required prior to the absence when feasible and in no case more than one week after the absence.)

Religious Observances (Senate Rules 5.2.4.2.4)

Students anticipating an absence for a major religious holiday are responsible for notifying the instructor in writing of anticipated absences due to their observance of such holidays. Please check the course syllabus for the notification requirement. If no requirement is specified, two weeks prior to the absence is reasonable and should not be given any later. Information regarding major religious holidays may be obtained through the Ombud's website or calling 859-257-3737.

Make-Up Work (Senate Rule 5.2.4.2)

Students missing any graded work due to an excused absence are responsible: for informing the Instructor of Record about their excused absence within one week following the period of the excused absence (except where prior notification is required); and for making up the missed work. The instructor must give the student an opportunity to make up the work and/or the exams missed due to the excused absence, and shall do so, if feasible, during the semester in which the absence occurred. The instructor shall provide the student with an opportunity to make up the graded work and may not simply calculate the student's grade on the basis of the other course requirements, unless the student agrees in writing.

Accommodations Due to Disability

If you have a documented disability that requires academic accommodations, please see me as soon as possible during scheduled office hours. In order to receive accommodations in this course, you must provide me with a Letter of Accommodation from the Disability Resource Center (DRC). The DRC coordinates campus disability services available to students with disabilities. Visit the DRC website, email the DRC, contact them by phone at (859) 257-2754, or visit their office on the corner of Rose Street and Huguelet Drive in the Multidisciplinary Science Building, Suite 407.

Non-Discrimination Statement and Title IX Information

UK is committed to providing a safe learning, living, and working environment for all members of the University community. The University maintains a comprehensive program which protects all members from discrimination, harassment, and sexual misconduct. For complete information about UK's prohibition on discrimination and harassment on aspects such as race, color, ethnic origin, national origin, creed, religion, political belief, sex, and sexual orientation, please see the electronic version of UK's Administrative Regulation 6:1 ("Policy on Discrimination and Harassment"). In accordance with Title IX of the Education Amendments of 1972, the University prohibits discrimination and harassment on the basis of sex in academics, employment, and all of its programs and activities. Sexual misconduct is a form of sexual harassment in which one act is severe enough to create a hostile environment based on sex and is prohibited between members of the University community and shall not be tolerated. For more details, please see the electronic version of Administrative Regulations 6:2 ("Policy and Procedures for Addressing and Resolving Allegations of Sexual Assault, Stalking, Dating Violence, Domestic Violence, and Sexual Exploitation"). Complaints regarding violations of University policies on discrimination, harassment, and sexual misconduct are handled by the Office of Institutional Equity and Equal Opportunity (IEEO), which is located in 13 Main Building and can be reached by phone at (859) 257-8927. You can also visit the IEEO's website.

Faculty members are obligated to forward any report made by a student related to IEEO matters to the Office of Institutional Equity and Equal Opportunity. Students can confidentially report alleged incidences through the Violence Intervention and Prevention Center, Counseling Center, or University Health Services.

Academic Integrity -- Prohibition on Plagiarism (Senate Rules 6.3.1)

Per University policy, students shall not plagiarize, cheat, or falsify or misuse academic records. Students are expected to adhere to University policy on cheating and plagiarism in all courses. The minimum penalty for a first offense is a zero on the assignment on which the offense occurred. If the offense is considered severe or the student has other academic offenses on their record, more serious penalties, up to suspension from the University may be imposed.

Plagiarism and cheating are serious breaches of academic conduct. Each student is advised to become familiar with the various forms of academic dishonesty as explained in the Code of Student Rights and Responsibilities. Complete information can be found on the Academic Ombud page. A plea of ignorance is not acceptable as a defense against the charge of academic dishonesty. It is important that you review this information as all ideas borrowed from others need to be properly credited.

Senate Rule 6.3.1 (see current Senate Rules) states that all academic work, written or otherwise, submitted by students to their instructors or other academic supervisors, is expected to be the result of their own thought, research, or self-expression. In cases where students feel unsure about a question of plagiarism involving their work, they are obliged to consult their instructors on the matter before submission.

When students submit work purporting to be their own, but which in any way borrows ideas, organization, wording, or content from another source without appropriate acknowledgment of the fact, the students are guilty of plagiarism.

Plagiarism includes reproducing someone else's work (including, but not limited to a published article, a book, a website, computer code, or a paper from a friend) without clear attribution. Plagiarism also includes the practice of employing or allowing another person to alter or revise the work which a student submits as his/her own, whoever that other person may be, except under specific circumstances (e.g. Writing Center review or peer review) allowed by the Instructor of Record or that person's designee. Plagiarism may also include double submission, self-plagiarism, or unauthorized resubmission of one's own work, as defined by the instructor.

Students may discuss assignments among themselves or with an instructor or tutor, except where prohibited by the Instructor of Record (e.g. individual take-home exams). However, the actual work must be done by the student, and the student alone, unless collaboration is allowed by the Instructor of Record (e.g. group projects).

When a student's assignment involves research in outside sources or information, the student must carefully acknowledge exactly what, where and how he/she has employed them. If the words of someone else are used, the student must put quotation marks around the passage in question and add an appropriate indication of its origin. Making simple changes while leaving the organization, content, and phraseology intact is plagiaristic. However, nothing in these Rules shall apply to those ideas, which are so generally and freely circulated as to be a part of the public domain.

Please note: Any assignment you turn in may be submitted to an electronic database to check for plagiarism.

Academic Integrity -- Prohibition on Cheating (Senate Rules 6.3.2)

Cheating is defined by its general usage. It includes, but is not limited to, the wrongfully giving, taking, or presenting any information or material by a student with the intent of aiding himself/herself or another on any academic work which is considered in any way in the determination of the final grade. The fact that a student could not have benefited from an action is not by itself proof that the action does not constitute cheating. Any question of definition shall be referred to the University Appeals Board.

Academic Integrity -- Prohibition on Falsification/Misuse of Academic Records (SR 6.3.3)

Maintaining the integrity, accuracy, and appropriate privacy of student academic records is an essential administrative function of the University and a basic protection of all students. Accordingly, the actual or attempted falsification, theft, misrepresentation or other alteration or misuse of any official academic record of the University, specifically including knowingly having unauthorized access to such records or the unauthorized disclosure of information contained in such records, is a serious academic offense. As used in this context, "academic record" includes all paper and electronic versions of the partial or complete permanent academic record, all official and unofficial academic transcripts, application documents and admission credentials, and all academic record transaction documents. The minimum sanction for falsification, including the omission of information, or attempted falsification or other misuse of academic records as described in this section is suspension for one semester.


CPE480 Advanced Computer Architecture.