General Information
This course is an intensive introduction to the fundamentals of computer organization. Relying heavily on the elementary principals taught in ECE 231 and ECE 232, we will discuss the basic design, or architecture, of computing hardware. Taking a largely bottom-up approach, we will focus on the microarchitecture level (the computing hardware itself) and the instruction set architecture level (the interface between software and the computing hardware). Topics include computer arithmetic, arithmetic unit, hardwired and microprogrammed control, memory, register-to-register, input-output operations. The course also provides an introduction to assembly language programming, using the MIPS processor. This course includes a demanding design component, in which you will design, implement, and simulate a simple processor (the MIPS) using VHDL, schematic capture, and the Xilinx Vivado design suite. The processor will be realized using the Digilent Basys3 board and programmed using assembly language.
Type | Day | Time | Location | |
---|---|---|---|---|
Lectures | Monday, Wednesday | 12:00 pm - | 1:15 pm | in Engineering Building Exploratory Hall 1101 |
Lab | Wednesday | 7:20 pm - | 9:10 pm | in ENGR 1505 |
Lab | Thursday | 7:20 pm - | 9:10 pm | in ENGR 1505 |
Lab | Friday | 9:30 am - | 11:20 am | in ENGR 1505 |
Documents
Instructor
Dr. Jens-Peter Kaps
Office: Engineering Building, Room 3222
Email: jkaps'at'gmu.edu
Office Hours
- Monday 3:00 pm to 4:00 pm
- Wednesday 10:00 am to 11:00 am
Additional office hours are by appointment only (see the Contact page for how to setup an appointment).
Teaching Assistant
Name | Task | Office | Office Hours | |
---|---|---|---|---|
Ahmed Jaber | Course Support | ajaber2@gmu.edu | TBA | TBA |
Ayomikun Akindahunsi | Labs | aakindah@gmu.edu | TBA | TBA |
Kowsyap Musumuri | Labs | kmusumur@gmu.edu | TBA | TBA |
Prerequisites
- ECE 231 or ECE 331 Digital System Design (grade C or better)
- ECE 232 or ECE 332 Digital Electronics and Logic Design Lab
- and one of
- ECE 240 C Programming for Engineers
- CS 262 Introduction to Low-Level Programming
- CS 222 Computer Programming for Engineers
Textbook
Computer Organization and Design, The Hardware / Software Interface by David A. Patterson and John L. Hennessy, Morgan Kaufmann; 5th edition, 2014, ISBN: 978-012-407726-3.
Recommended BooksFundamentals of Digital Logic with VHDL Design with CD-ROM by Stephen Brown, Zvonko Vranesic, McGraw-Hill Science/Engineering/Math; 3rd edition (April, 2009), ISBN: 978-0-07-722143-0. This is sometimes the textbook for ECE 331. The book you used for ECE 331 is also a good reference.
The C Programming Language by Kernighan and Ritchie, 2nd edition, Prentice Hall, 1988, ISBN: 978-0-13-110362-7