Teaching Architecture, Concurrency, and Energy in Computation (Fall 2018)

Architecture, Concurrency, and Energy in Computation (Fall 2018)

ECE 3056

Fall 2018

Course Overview

This course introduces the basic organizational principles of the major components of a processor – the core, memory hierarchy, and the I/O subsystem. Students gain an understanding of the sources of performance and energy dissipation in modern processors and learn the multiple forms and levels of parallelism that have been employed to sustain performance improvements in the industry. Basic principles of the operating system, focusing on threads and networks, are also introduced. Assignments using architecture‐level simulators enable the students to explore the operation and tradeoffs in performance and energy and reinforce the concepts learned in the classroom.


ECE 2020, ECE 2035

Course Staff

 Instructor   Professor Tushar Krishna
 Email   tushar@ece.gatech.edu
 Office   KACB 2318
 Office Hours           Tue & Thu: 4:15 – 5:00 pm [Klaus 1456 after class]
  By Appointment


 Teaching Assistants    Eric Qin    Matthew Denton  Soham Gadgil  Cece McMahon
 Email   ecqin@gatech.edu matthewdenton@gatech.edu   sgadgil6@gatech.edu   cmcmahon226@gatech.edu

TA Office Hours (see office hours sheet): https://tinyurl.com/ece3056-fall2018

Course Information

  Hours     Tue & Thu 3:00 – 4:15 pm
  Room     Klaus 1456


  Hours     Monday 6-7 PM
  Room     CoC 52 (Sept 10), VL C340 (Sept 17 to Dec 3)


Course Material

Syllabus: Syllabus

Study Guide: Study Guide

Lecture Schedule and Readings: Schedule Fall 2018

Lecture Slides: Via Canvas


Patterson and Hennessey, Computer Organization & Design: The Hardware/Software Interface (5th), Morgan Kaufmann, 2014, ISBN 978-0-12-407726-3

Supplementary Material from Publisher.

Instead of the hard copy, you also have the option of purchasing an e-version of the same textbook which comes with additional exercises:

  • Sign in or create an account at learn.zybooks.com
  • Enter zyBook code:GATECHECE3056KrishnaFall2018
  • Subscribe

Selected readings from the textbook will be listed for each module in the course schedule.

Lab Resources

  • SPIM MIPS Emulator
    • Directions for obtaining a copy and a brief overview of SPIM can be found here
    • A great guide to SPIM written by past ECE 3056 student and his helpful You-Tube video
    • A simple starter program that prints various items to the screen
    • Some additional simple programs for various specific operations can be found here.
    • The chapter on SPIM programming to refresh basics
    • The chapter on memory systemsto help quickly refresh how data directives work.

    • A link to the ASCII table

    • You might find the following MIPS Assembly Editor useful.

  • VHDL
    • Tutorial Slides on VHDL can be found here
    • A set of slides providing an overview of the VHDL language can be found here
    • Many VHDL resources can be found at the following site


We will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TAs, and myself.

Rather than emailing questions to the teaching staff, I strongly encourage you to post your questions on Piazza.

Piazza is directly accessible via Canvas. Or, you can find our class page at: http://piazza.com/gatech/fall2018/ece3056a/home


  Lab Assignments    30%
  Quizzes   45%
  Final   25%
  Total    100%




Students are responsible for all material covered in class, including changes in exam schedules announced in class. There will be no make-up exams. In case you have to miss an exam, please inform the instructor of the absence prior to the exam date.

Honor Code:

Students are expected to abide by the Georgia Tech Academic Honor Code. Honest and ethical behavior is expected at all times. All incidents of suspected dishonesty will be reported to and handled by the office of student affairs. You will have to do all assignments individually unless explicitly told otherwise. You may discuss with classmates but you may not copy any solution (or any part of a solution).