Course Information: CS/CMPE 4760 Advanced Computer Architecture Fall Quarter 1998 · Instructor : Dr. Ann Chervenak (pronounced Shur-vu-nak) 218 College of Computing, Phone: 404-894-8591 annc@cc.gatech.edu Office Hours: M and W immediately following class or by appointment · Teaching Assistant: Ramkumar Krishnan ramkumar@cc.gatech.edu Office Hours: Tu and Th 11am to 12N in Student Commons Area (1st floor of CCB) · The required textbook is: Hennessy and Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufmann Publishers, Inc., 1995 (Second Edition) We will supplement the text with a few papers on historical and current architectures. · Prerequisites: You should be familiar with machine instruction sets, logic design, basic pipelining and caches. If you took CS 3760 or CMPE 3510, you should have adequate preparation. · Course description: This courses focuses on high-performance uniprocessor computer systems as well as multiprocessors. We will devote approximately one third of the course to processor pipelining and superscalar features, one third to memory hierarchies and input/output systems, and one-third to multiprocessors. · Projects: The course will include two programming projects (in C) and one research project. 1. Project 1 is intended to review basic pipelining. You will modify a pipeline simula- tor to implement forwarding logic. 2. Project 2 will give you practice with advanced pipeline techniques. You will imple- ment features such as hardware speculation and dynamic execution of instructions. 3. Project 3 is a small group project that requires you to research a high-performance processor or multiprocessor or to investigate a research project at a university. Your team will gather information, construct a web page with relevant links, write a one- page fact sheet for your classmates, write an 8 to 10 page report, and make a 15-minute class presentation in a mini-conference during the last week of class. · Homework: There will be 3 to 4 homework assignments that cover material that is not covered in the project assignments. These will be graded using a (check, check+, check-) system. A check is assigned a point value of 90, a check+ has value 100, a check- has value 75. · Class Web Page: http://www.cc.gatech.edu/classes/cs4760_98_fall · Class Notes Class notes will be posted on the web page AFTER the material is presented in class. Students are strongly encouraged to take notes in class, since this is an essential part of the way almost all students learn. Posted notes are not a substitute for attending class or for taking good notes. · Exams: There is one midterm on Fri., Oct. 23rd. The final exam is Wed., Dec. 9 from 8am to 10:50am. Graduating students will take a written final during the last week of class. · Approximate Course Schedule: TABLE 1. APPROXIMATE COURSE SCHEDULE Dates Topic Chapter Week 1,2 Intro, review of basic pipelines Ch. 3 Week 3 Dynamic Scheduling, Branch Prediction Ch.4 Wed. Oct. 14 Project 1 due (6 pm) Week 4,5 Superscalar, Compiler and Hardware Speculation Ch. 4 Fri. Oct. 23 Midterm Ch.3,4 Week 6,7 Caches, Memory Hierarchies Ch. 5 Week 7,8 I/O Ch. 6 Fri. Nov. 6 Project 2 due (6 pm) Week 8 Interconnection Networks Ch. 7 Week 9,10 Multiprocessors Ch. 8 Wed. Nov. 25 Project 3 reports due (in class) Week 10,11 Mini-conference (Student Presentations) Wed. Dec. 9 Final Exam, 8am-10:50am Ch. 3-8 · Evaluation TABLE 2. Evaluation Homework 10% Projects (Project 1: 5%, Project 2: 10% and Project 3: 15%) 30% Midterms (lower grade 15%, higher 20%) 25% Final 35% · Academic Integrity Projects 1 and 2 must be done individually! Sharing ideas is acceptable but sharing code is not. We will compare projects carefully to detect any sharing of code among students. Any academic dishonesty will be treated very seriously. On homework assignments, you may collaborate with others, but the work you turn in must be your own. Obviously, we demand the highest standard of integrity for examinations. · Late Policy Late homework will not be accepted. For the first two projects, you have a total of two late days that you can use throughout the course. (Weekend days count as late days.) Use late days sparingly. When they are used up, late projects will not be accepted.