George Mason University Electrical and Computer Engineering Department

Course Syllabus Fall 2012 George Mason University Electrical and Computer Engineering Department ECE 445: Computer Organization Course Description T...
Author: Ashlie Peters
0 downloads 2 Views 76KB Size
Course Syllabus

Fall 2012

George Mason University Electrical and Computer Engineering Department ECE 445: Computer Organization Course Description This course provides a general overview of the operation of a digital computer. Topics include computer arithmetic, arithmetic and logic unit, hardwired and microprogrammed control, memory, register-to-register data transfer, input-output operations, and behavioral modeling of computer organization using VHDL. The course is an intensive introduction to the fundamentals of computer architecture, and includes coverage of the basic design and implementation of an Instruction Set Architecture (ISA) – the interface between high-level programming languages and the computing hardware – and the Datapath and Control Unit that compose a processor. The course has a demanding design component, referred to below as the “projects”, in which you will design, implement, and simulate a simple processor using VHDL and the Xilinix ISE. Professor:

Class:

Craig A. Lorie Nguyen Engr. Bldg., Room 3221

Robinson Hall, room B203 Office hours:

(703) 993 – 9616 [email protected] TA's:

MW 9:00 – 10:15 am TBA other times by appointment

Email:

TBA

[email protected]

Prerequisites:

Grade of C or better in ECE 331 and ECE 332, and either CS 222 or CS 262.

Corequisites:

None.

Required Text:

Computer Systems: An Integrated Approach to Architecture and Operating Systems, by Ramachandran and Leahy. 1st Edition. ISBN-13: 978-0-321-48613-4

Course Websites:

Schedule:

Blackboard (can be accessed at http://mymason.gmu.edu) All course related materials, including the syllabus, schedule, homework assignments and solutions, and announcements will be posted on Blackboard. Please check the website regularly! http://ece.gmu.edu/~clorie/teaching/fall2012/ece445.html (under construction) A detailed schedule is provided in a separate document on the class website.

ECE 445 – Computer Organization

1

Dr. Craig Lorie

Course Syllabus

Fall 2012

Learning Objectives The student will be able to … • Explain how an Instruction Set Architecture (ISA) is designed. • Explain how the design of an ISA affects the design of a processor. • Write assembly language programs using instructions from a sample ISA. • Write assembly language programs using the instruction set of a sample processor. • Explain the tradeoffs associated with the design of a processor. • Differentiate and describe the datapath and control unit of a processor, and identify the components needed for each. • Design the datapath and control unit for a simple processor using an industry-standard schematic capture tool (eg. the Xilinx ISE). • Design the components required for the datapath of a simple processor using VHDL. • Design the Finite State Machine (FSM) for the control unit of a simple processor using VHDL. • Evaluate and compare the performance of different processors. • Explain the execution of instructions in a pipelined processor. • Explain the performance benefits gained from using a pipelined processor. • Explain the challenges faced and problems encountered when designing a pipelined processor. • Explain the concept of the memory hierarchy and cache. • Explain the differences between direct-mapped, set-associative, and fully-associative caches, and how each can affect and improve the performance of a processor. • Explain the need to reduce memory access time in order to improve the performance of a processor, and how cache facilitates this reduction. • Explain the concept of virtual memory.

Topics to be covered include: 1. The Instruction Set Architecture (ISA) 2. Assembly Language and Machine Language 3. Programming in Assembly Language 4. Processor Design – The Datapath and Control Unit 5. Components required for the Datapath and the Control Unit. 6. Processor Performance 7. Pipelining (to improve processor performance) 8. The memory hierarchy and memory systems 9. Cache (to improve processor performance) 10. Virtual Memory (to increase the “perceived” memory space of the processor)

ECE 445 – Computer Organization

2

Dr. Craig Lorie

Course Syllabus

Fall 2012

The 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 (in the textbook), as well as additional instructions specified by the TA and myself. A list of the projects is given below: 0. 1. 2. 3. 4. 5.

Introduction to the Xilinx ISE Design of the Arithmetic and Logic Unit (ALU) Design of the Register File Design of the LC-2200 datapath and control unit – R-type instructions only Design of the LC-2200 datapath and control unit – addition of I-type instructions Design of the LC-2200 datapath and control unit – addition of J-type instructions

Late submissions will NOT BE ACCEPTED!

Project Grading: The projects will be weighted as follows: P.1 P.2 P.3 P.4 P.5

15% 20% 30% 20% 15%

ECE 445 – Computer Organization

3

Dr. Craig Lorie

Course Syllabus

Fall 2012

Homework Homework is an essential part of the learning process. It provides the thought-provoking questions and practice problems [needed; necessary] to develop a [deeper and] more [complete; comprehensive] understanding of the material. You are expected to complete, to the best of your ability, all of the homework assignments. The effort you put into each assignment will determine how well or poorly you learn the material. Homework will be assigned on a weekly basis, and will consist of a reading assignment and a set of related problems. Each homework assignment will be posted on the class website (Blackboard) at the beginning of the week. The corresponding solution will be posted approximately three days later. The homework will NOT be collected and NOT be graded. Instead, you will have a quiz in recitation the following week on the homework assignment. The in-class quizzes are described below. When working on a homework assignment, you should always read the associated sections of the textbook before attempting the specified problems. You should work independently. If you run into problems with the assignment, you are encouraged to speak with me, or with a TA, or consult with one of your classmates. Working together can benefit everyone involved, however, it is important that each of you develop your own understanding of the material. Remember, you will be tested on your understanding of the material! You should expect to spend no less than 3 hours each week on the homework assignment.

Quizzes A quiz will be given each week at the beginning of class. The quiz will cover the material in the previous homework assignment. It will consist of 1 – 3 problems, based on the problem set and associated reading in the textbook, and will last approximately 20 minutes. There will be NO makeup quizzes. If you cannot make class, and will miss a quiz, you must discuss this with me in advance to arrange for an alternate time to take the quiz.

Exams There will be three exams in this course (see the schedule for specific dates): • • •

Midterm #1 (week 7) Midterm #2 (week 12) Final exam (finals week)

All exams are closed book. I will provide the necessary reference materials for the exams. There will be NO makeup exams. If you cannot make one of the scheduled exams, you must speak with me in advance to arrange for an alternate time to take the exam. ECE 445 – Computer Organization

4

Dr. Craig Lorie

Course Syllabus

Fall 2012

Attendance Attendance in class is expected, but will not be formally recorded. Failure to attend class does not excuse you from the material covered; you are responsible for all material covered in class. Should you miss class, you must consult with one of your classmates to obtain the notes and/or problem solutions presented that day.

Course Grade The final grade for the course is based on my best assessment of your understanding of the material and your participation in the class during the semester. The projects, exams, and quizzes will be used to determine your preliminary final grade according to the following weighting: Projects

30%

Quizzes

10%

Midterm #1

17.50%

Midterm #2

17.50%

Final Exam

25%

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. The GMU Honor Code website: http://academicintegrity.gmu.edu/honorcode/ You are encouraged to discuss homework problems with other students and/or obtain the assistance of the lecture or recitation instructor. Nevertheless, please write down your own solutions which represent your understanding of the material. Duplicating another student's homework solutions, hardware/software designs, diagrams, source code, prelab assignment 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.

ECE 445 – Computer Organization

5

Dr. Craig Lorie

Course Syllabus

Fall 2012

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.

Office of Disability Services If you are a student with a disability and require special accommodations, please contact me and the Office of Disability Services (ODS) as soon as possible. All special accommodations must be arranged through ODS. Office of Disability Services (ODS): (703) 993 – 2474; http://ods.gmu.edu

Other Useful Campus Resources • • • • •

Writing Center: A114 Robinson Hall; (703) 993 – 1200; http://writingcenter.gmu.edu University Libraries: “Ask a Librarian” http://library.gmu.edu/mudge/IM/IMRef.html Counseling and Psychological Services (CAPS): (703) 993 – 2380; http://caps.gmu.edu The University Catalog: http://catalog.gmu.edu University Policies: http://universitypolicy.gmu.edu

ECE 445 – Computer Organization

6

Dr. Craig Lorie

ECE 445 - Computer Organization Week #

Day

Date

Mon

08/27/11

Material to be Covered

Reading / HW / Quiz

Projects

1.1 – 1.7; 2.1 – 2.3 Course Introduction Homework #1

1 Wed

08/29/11

Mon

09/03/11

Designing an Instruction Set Architecture (ISA)

2.4 – 2.11 Labor Day (no classes) Homework #2 Quiz #1

2 Wed

09/05/11

Designing an Instruction Set Architecture (ISA)

Mon

09/10/11

The LC-2200 ISA

P.0 Intro to the Xilinx ISE P.1 The ALU due Friday, 9/21

online resources Homework #3 Quiz #2

3 Wed

09/12/11

Assembly Language and Machine Language

3.1 – 3.4 Mon

09/17/11

Writing Assembly Language Code for the LC-2200 Homework #4 Quiz #3

4 Wed

09/19/11

Designing a Datapath (and Control Unit)

Mon

09/24/11

The LC-2200 Datapath and Control Unit

P.2 The Register File due Friday, 10/12

3.5 – 3.6 Homework #5 Quiz #4

5 Wed

09/26/11

The LC-2200 Datapath and Control Unit

Mon

10/01/11

The LC-2200 Datapath and Control Unit

4.1 – 4.3

Dr. Craig Lorie

Page 1

Fall 2012

ECE 445 - Computer Organization Homework #6 Quiz #5

6 Wed

10/03/11

The LC-2200 Datapath and Control Unit

Tues

10/09/12

Interrupts, Traps, and Exceptions

Wed

10/10/12

Mon

10/15/12

Homework #7 NO Quiz

7 Exam #1 (covers through 10/3)

P.3 Basic Datapath and Control Unit due Friday, 11/02

Writing Assignment due Friday, 10/21 4.4 – 4.5; 5.1 – 5.2

Interrupts, Traps, and Exceptions Homework #8 Quiz #7

8 Wed

10/17/12

Processor Performance

Mon

10/22/12

Processor Performance

5.3 – 5.6; 5.7 Homework #9 Quiz #8

9 Wed

10/24/12

The Basics of Pipelining

Mon

10/29/12

Pipelined Processor Design

5.8 – 5.11 Homework #10 Quiz #9

10 Wed

10/31/12

Pipelined Implementation of the LC-2200

11/05/12

Pipelined Implementation of the LC-2200

P.4 More Complex Datapath and Control Unit due Friday, 11/16

5.12 Mon

Homework #11 Quiz #10

11 Wed

Dr. Craig Lorie

11/07/12

Pipeline Hazards

Page 2

Fall 2012

ECE 445 - Computer Organization 5.13 – 5.14 Mon

11/12/12

Pipeline Hazards Homework #12 NO Quiz

12 Wed

11/14/12

Mon

11/19/12

P.5 Final Datapath and Control Unit due Friday, 12/07

Exam #2 (covers material thru 11/5)

9.1 – 9.7 The Memory System No Homework NO Quiz

13 Wed

11/21/12

Mon

11/26/12

Thanksgiving Break (No classes)

9.8 – 9.20 Caches Homework #13 Quiz #12

14 Wed

11/28/12

Caches

Mon

12/03/12

Virtual Memory

7.4 – 7.6 Homework #14 Quiz #13

15

Dr. Craig Lorie

Wed

12/05/12

Mon

12/17/12

Virtual Memory

Final Exam (cumulative)

Page 3

7:30 – 10:15 AM

Fall 2012

Suggest Documents