Syllabus EECE3324 Fall2021

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

EECE 3324: Computer Architecture Fall 2021

Schedule: Tuesday and Friday 9:50-11:30am


Room 125, Snell Library

Prof. Devesh Tiwari


Office: 308 Dana Research Center
Email: tiwari@northeastern.edu

Course Staff:
Instructor: Professor Devesh Tiwari
Goodwill Computing Lab: https://goodwillcomputinglab.github.io/
Email: tiwari@northeastern.edu
Office Hours: Dana 308
Tuesday 11:30-12:30pm
Friday 11:30-12:30pm

Schedule additional appointments by email (tiwari@northeastern.edu)

Teaching Assistant: Shubhang Shah (“Shooo—bhaan---ga”)


Email: shah.shu@northeastern.edu
TA Hours: Location to be determined.
Monday 11:30-12:30pm
Wednesday 11:30-12:30pm
Thursday 11:30-12:30pm

(Optional) Textbook:
“Computer Architecture: A Quantitative Approach”
By John L. Hennessy and David A. Patterson, 5th Edition, 2012.
Elsevier, ISBN: 978-0-12-383872-8.

While I do not make the textbook “required”, I encourage you to obtain a copy
of this textbook. The textbook may help you understand certain concepts
ahead of time – I may put chapter/section numbers from the textbook in the
lecture slides as suggested background readings. There is no replacement of
reading and learning from a textbook, even in today’s digitized online world.
It’s more rewarding and enjoyable experience than ever.

Course Objectives:

o Fundamentals of computer architecture design principles and technology trends.


o Computer system performance evaluation metrics and best practices.
o Hardware-software interface: instruction set architecture basics and design trade-offs.
o Computer microprocessor innovations I: instruction level parallelism and pipelining.
o Computer microprocessor resource and control conflicts.
o Computer microprocessor innovations II: control-flow prediction (branch prediction).
o Computer microprocessor innovations III: caches basics, design principles and trade-offs,
performance analysis and optimizations.
o Computer microprocessor innovations IV: virtual memory basics, design principles and trade-
offs, performance analysis and optimizations.
o Computer microprocessor innovations V: multi-processor systems.
o Advanced computer architecture topics: post-Moore’s architectures (e.g., quantum computer
architecture).

This course is not intended to help you exercise Verilog, VHDL, or assembly level programming.
Understanding assembly instructions will be helpful, but not required. Course assignments will primarily
require you to code in C and Python language on a Unix system. Refer to the learning pointers to brush
up your knowledge in C, Python and Unix system.

Please refresh your knowledge about unix systems and programming.


Unix systems:
https://static.lib.virginia.edu/statlab/materials/workshops/Intro2UnixSpring2017.pdf
http://www.docs.is.ed.ac.uk/skills/documents/3523/3523.pdf
https://www.thegeekstuff.com/2010/11/50-linux-commands/?utm_source=feedburner

C Tutorial:
http://www.kciti.edu/wp-content/uploads/2017/07/cprogramming_tutorial.pdf

Python Tutorial:
http://tdc-www.harvard.edu/Python.pdf

Class ground rules

o Please ask questions (no question is stupid, only answers are!).


Your friends might have the same question or doubt, but are too afraid to ask. Do them a favor. I
cannot always read your mind in terms what is well understood and what is not. Do me a favor. Ask
questions!

o No talking, or whispering during the class.


If you have a joke, share it with me too and not just with your best friend.

o Take credit only for your work. Academic honesty!

o Be inclusive and promote inclusive learning culture.


Everyone should be respectful of everyone else in the class. Please create an environment for
inclusive learning. Do not make comments or suggestions that have racial, gender or other kinds of
biases.
Mid-term and final exams

There will be one mid-term exam worth 10% of the grade and one final exam worth 10% of the
grade.

Quizzes

There will be multiple pop (surprise) quizzes. The schedule of these quizzes will not be announced,
but you can expect them to be periodic. These quizzes will cover material from prior classes and
papers assigned for reading. The best way to prepare for the quizzes is to review your notes from
the previous classes.

Idea behind these quizzes is to ensure that (1) continuous learning happens throughout the
semester instead of in bursts near a scheduled exam; (2) you do not lag too much behind the
schedule; (3) you remain attentive in the class and be engaged by asking doubts / questions.

Quizzes will be worth 15% of the grade and make-up quizzes may not be provided for missed
quizzes unless requested in advance (e.g., notify the instructor in advance for missing a class due
to health reasons). The quiz with the lowest score will be dropped from your record when
calculating your final grade – this policy should keep your blood pressure points under control when
you miss or perform terribly on a quiz under circumstances beyond your normal control.

Homework assignments

There will be five to six homework assignments. These homework problems will be worth 55% of
the grade. Many of the problems will be open-ended questions that will challenge you and improve
your technical, analysis, and technical communication skills. Some of the problems will be taken
from the problem sets in appearing in the course textbook. Some problems will focus on
“experimental learning” aspect of the course by requiring you to learn and experiment with tools and
open-source software. Please note that each homework assignment may not have equal weight.

Homework Assignment Submission System

Please use the online electronic system for assignment submission. If you are not able to access it,
please email your submission to the Instructor and the TA before the deadline. Not being able to
access the submission system near the deadline cannot be used as an excuse for late submission.
Special Note on Homework Assignment Submission

It is your responsibility to ensure that your assignment was successfully uploaded, we will not
entertain any request for late submission once the deadline has passed. Make sure you have
successfully uploaded your files before leaving or closing the submission portal. Accidental failures
to upload the assignment cannot be reason for late submission. Late submissions will not be
accepted even if the work was done before the deadline.

Late Homework Submission Policy

Late homework submissions are not allowed. With written justification and documentation, we
will allow up to one late submissions per student with 25% penalty, only when the students
requests within 24 hours after the deadline has passed. You will need to submit within 72
hours since the original passed deadline.

Request for regrading exams / quizzes / homework assignments

You can submit a request to regrade an exam / quiz / homework assignment by emailing an
explanation to the instructor within a week of receiving the grade. Regrades will be discussed only
after submitting the regrade request in this manner.

Grading Scheme

Quizzes (15%)
Homework assignments (55%)
Class participation (10%)
Mid-term exam (10%)
Final exam (10%)

Final Letter Grade

A >90 %
A- 86 – 90.0 %
B+ 81 – 85.9 %
B 76 – 80.9 %
B- 71 – 75.9 %
C+ 66 – 70.9 %
C 63 – 65.9 %
C- 60 – 62.9 %
F < 60%

Note: No ‘D’ letter grades will be assigned. There is no point in passing a course with “poor
achievement” (‘D’ letter grade corresponds to “poor achievement” as per University guidelines:
https://registrar.northeastern.edu/article/university-grading-system/)
The instructor reserves the right to relax these boundaries depending on different factors. You
should not rely on curved grading. You should believe and demonstrate that you are a good learner
and technically competent that you do not need to rely curved grading to achieve a desirable grade
in this class.

Academic Honesty Policy

Homework assignments can be discussed in groups, but submitted work must be performed
independently. When you discuss an assignment with your friend, do not take those notes with
you when you return to your desk to solve the assignment problem. Do not share any hand-written
or electronic notes with your friends. Try to take a break of one hour before returning to solve the
problem you were discussing.

Any instances of misrepresentation of individual work will be dealt with by referring the matter to
the NU Office of Student Conduct and Conflict Resolution (OSCCR). We will be running a computer
software that detects cheating in submitted academic assignments. Any instance of
cheating in quizzes / homework assignments / exam will result in zero grade for that
assignment and possibly a F grade in the course.

Computing Resources

All homework assignments that involve a computer should be done on the College of Engineering
Sun/Solaris and Linux systems. All Northeastern COE students have an account on this system. It
is your responsibility to obtain this account and use it to complete homework assignments.
Familiarity with Unix/Linux system is expected as part of your undergraduate curriculum. But, if you
are not familiar with Unix/Linux, please educate yourself using online resources.

https://help.coe.neu.edu/coehelp/index.php/Main_Page
Course Schedule (subject to change):

Week Day Date Topic

Week 1 Friday 10-Sep Introduction: What to expect and how to have fun?

Week 2 Tuesday 14-Sep Fundamentals of Computer System Design Evaluation and


Analysis (Technology trends, measuring and reporting
performance, analysis of performance, cost, and dependability)
Chapter 1 from H&P
Friday 17-Sep Continued

Week 3 Tuesday 21-Sep Hardware software interface: Instruction Set Architecture (ISA)
Appendix A from H&P
Friday 24-Sep Computer microprocessor innovations I: Instruction Level
Parallelism (ILP) and Pipelining.
Computer microprocessor resource and control conflicts.
Appendix C from H&P

Week 4 Tuesday 28-Sep Continued

Friday 1-Oct Overflow

Week 5 Tuesday 5-Oct Computer microprocessor innovations II: control-flow prediction


(branch prediction).

Friday 8-Oct Continued

Week 6 Tuesday 12-Oct Continued

Friday 15-Oct Computer microprocessor innovations III: caches basics, design


principles and trade-offs
Appendix B and Chapter 2 from H&P

Week 7 Tuesday 19-Oct Mid-term Exam


Friday 22-Oct Performance analysis of cache organizations and optimization
techniques
Appendix B and Chapter 2 from H&P

Week 8 Tuesday 26-Oct Continued

Friday 29-Oct Overflow

Week 9 Tuesday 2-Nov Computer microprocessor innovations IV: virtual memory basics

Friday 5-Nov Continued

Week 10 Tuesday 9-Nov Virtual memory: Page Table and Translation Look-aside Buffers

Friday 12-Nov Continued

Week 11 Tuesday 16-Nov Multi-processor Systems: Basic concepts and design trade-offs

Friday 19-Nov Supercomputing conference (No Class)

Week 12 Tuesday 23-Nov Continued

Friday 26-Nov Thanksgiving holiday (No Class)

Week 13 Tuesday 30-Nov Advanced topics: quantum computer architecture

Friday 3-Dec Continued

Week 14 Tuesday 7-Dec Victory lap!

Final Exam: TBD

You might also like