George Mason University Electrical and Computer Engineering Department ECE 445: Computer Organization Summer 2011 (session B) Instructor: Dr. Craig Lorie Office: Nguyen Engineering Building, room 3221 Phone: (703) 993 9616 Email: clorie@gmu.edu Teaching Assistant: Panasayya Yalla Office: Nguyen Engineering Building, room 3224 Phone: (703) 993-1561 Email: pyalla@gmu.edu Lecture Lecture M / W 4:30 7:10 pm Robinson Hall, Room B205 Office Hours Dr. Craig Lorie Monday 2:00 4:00 pm Engineering Bldg., Rm. 3221 Wednesday 10:00 am 12:00 pm Engineering Bldg., Rm. 3221 Panasayya Yalla Wednesday 7:30 9:30 pm Engineering Bdlg., Rm. 3208 Students that cannot make the scheduled office hours may contact the TA or myself to schedule an alternate meeting time. Course Website: All course related materials, including the syllabus, schedule, assignments and solutions, and announcements will be posted on Blackboard. Please check this website regularly! Textbook Title: Computer Systems: An Integrated Approach to Architecture and Operating Systems Authors: Umakishore Ramachandran and William D. Leahy, Jr. Publishers: Pearson (Addison-Wesley) ISBN-13: 978-0-321-48613-4 ECE 445 Computer Organization 1 Summer 2011
Course Description: (from GMU Catalog) General overview of operating a digital computer. Topics include computer arithmetic, arithmetic unit, hardwired and microprogrammed control, memory, register-to-register, input-output operations, and behavioral modeling of computer organization using VHDL. Course Objectives This course is an intensive introduction to the fundamentals of computer architecture. Building upon the elementary principals taught in ECE 331 (Digital Systems Design) and ECE 332 (DSD Lab), we will discuss the basic design and implementation of the Instruction Set Architecture (the interface between high-level programming languages and the computing hardware) and the Datapath and Control Unit (the computing hardware itself). This course has a demanding design component (referred to below as the projects ); you will implement the design of a simple microprocessor (ie. the datapath and control unit) using real hardware design tools. Learning Objectives: To understand the concept of an Instruction Set Architecture (ISA). To understand how the ISA is designed. To understand how to write assembly language programs using instructions from the ISA. To understand how the design of the ISA affects the design of the computing hardware. To understand the concept of the Datapath and the Control Unit. To be able to identify what components are required in the design of the datapath, and understand how these components are interconnected. To be able to identify what steps are required in the design of the control unit, and understand how these steps are used to define the behavior of a Finite State Machine (FSM). To understand how the datapath and control unit are integrated in the design of the computing hardware. To apply your knowledge of digital systems to the design and implementation of a basic Arithmetic and Logic Unit (ALU), specifically using behavioral VHDL. To apply your knowledge of digital systems to the design and realization of a Register File, specifically using structural VHDL. To apply your understanding of computing hardware (ie. datapath and control unit) to the design and implementation of a simple processor. To apply your understanding of assembly language programming (ie. using the ISA) to test the simple processor. To understand how to compare, using different metrics, the different implementations of the same computer architecture (ie. design). To understand how pipelining can improve the performance of a computer architecture. To understand how caching can improve the performance of a computer architecture. ECE 445 Computer Organization 2 Summer 2011
Schedule A detailed schedule is provided in a separate document. See the Blackboard website. Recommended background for ECE 445: ECE 331 Digital System Design ECE 332 Digital System Design Lab Homework Homework is assigned on a weekly basis, covering the material discussed in class that week. It is due at the beginning of class on the date specified on the assignment. No late submissions will be accepted unless a request for an extension is made in advance with proper justification. Homework is essential to the learning process. You will not learn the material in this class if you do not do the homework. You should make an honest and conscientious effort on all of the assignments. Each homework assignment will be graded as follows: 1. Two problems, selected at random by the TA or myself, will be graded in detail. 2. The remaining problems will be graded for completeness, implying that you must show all of the necessary steps, as well as a solution, in order to receive full credit. All homework assignments should be formatted as follows: 1. Your name should appear at the top-left on all pages of the assignment. 2. The class number (ie. ECE 445) and the assignment number should appear below your name. 3. All pages should be numbered at the top-right. 4. All pages should be stapled together. 5. All solutions should be written neatly and clearly if we cannot read it we will not grade it! 6. Each problem should be started on a new page. Failure to follow the above guidelines will result in a zero (0) on the assignment! You are encouraged to work together on the homework assignments. However, you must submit your own solutions ie. you cannot simply copy another student's solutions; copying another student's solutions is considered cheating and will result in a zero (0) on the assignment. Furthermore, copying solutions found online or via any other resource is considered cheating and will also result in a zero (0) on the assignment. ECE 445 Computer Organization 3 Summer 2011
Exams There will be one midterm exam and a final exam. Both exams are closed book. I will provide all of the necessary reference materials for each exam. There will be NO make-up exams. (See me, in advance, for an exception). Midterm Exam: Final Exam: TBD TBD Projects This course includes five projects to provide practical experience in the design, implementation, and testing of a simple microprocessor. These projects will involve intense programming in VHDL, will make use of the Xilinx ISE design tool, and will require significant time in the lab. Students will have access to the computer lab in the Nguyen Engineering Building (room 3208), and may also use their personal computers (assuming the proper software is installed). The simple processor to be implemented in these projects is the LC-2200 processor. This processor is covered in detail in the textbook associated with this class. The completed design and implementation will include all instructions specified as part of the LC-2200 ISA, as well as additional instructions specified by the TA or myself. The details of each project will be included in their respective documents. A list of the projects is given below: P.0 Introduction to the Xilinx ISE P.1 Design and Implementation of the Arithmetic and Logic Unit (ALU) P.2 Design and Implementation of the Register File P.3 Design and Implementation of a simple Datapath and Control Unit. P.4 Design and Implementation of a more complex Datapath and Control Unit. P.5 Design and Implementation of the final Datapath and Control Unit. Late submissions will be subjected to a 10% grade reduction per day including weekends. No credit will be given to any submissions that are more than 7 days past the due date. ECE 445 Computer Organization 4 Summer 2011
Grading Your final grade will be the weighted average of the homework, two semester exams, and the final exam, as calculate from the formula below: Homework 10% Midterm Exam 30% Final Exam 30% Labs 30% Letter grades will be assigned according to the following scale: 98 100 A+ 93 97 A 90 92 A- 87 89 B+ 83 86 B 80 82 B- 77 79 C+ 73 76 C 70 72 C- 60 69 D < 60 F Please note that the final grades will be scaled such that the class average is a 78 (C+) prior to assigning letter grades. Attendance Attendance in lecture is highly recommended (and expected). The material covered in the lectures will supplement the material covered in the text, provide additional examples to aid in the learning process, and offer you the opportunity to ask questions to clarify any concepts that are not understood. Thus, it is to your benefit to attend class. However, should you (mistakenly) choose not to attend lecture, you will be responsible for all of the material covered. Should class attendance fall below an acceptable level, I reserve the right to conduct pop quizzes. ECE 445 Computer Organization 5 Summer 2011
Email communication: The subject line of all emails sent to me MUST be formatted as follows: ECE445 - <last name> - <subject of email> Failure to do so will delay or prevent a response. Honor Code All rules of the GMU Honor Code system will be enforced in both the lecture and the lab. You must review the rules of the GMU Honor Code and be familiar with them. Duplicating another student's hardware/software designs, diagrams, source code, machine project solutions, project reports, and exam notes is considered cheating. If you use material from other sources such as but not limited to the web, books, journals, data sheets, etc. you must reference the source. Honor code violations will be pursued and prosecuted to the fullest extent. Classroom Etiquette Cellphones are to be turned off during class; minimally they must be silenced. Emergency calls may be taken, but must be taken outside of the classroom. Texting, using your laptop for something other than lecture-related work, etc. is considered a distraction to me and to the other students trying to learn in the class, and will not be tolerated. Students with Disabilities If special assistance is required or special accommodations need to be made, please contact me as soon as possible so that the proper arrangements can be made. ECE 445 Computer Organization 6 Summer 2011