Review by

Suraj Sarvesha Samaga, 2023(BTech.)

Course Offered In

Spring 2022

Instructors

Prof. Virendra Singh

Prerequisites

No hard pre-requisites, a basic understanding of digital electronics is enough. A background of EE 309 - Microprocessors will be beneficial.

Difficulty

4/5

Course Content

  • History and evolution of computers
  • Basic architecture of a microprocessor, including registers and buses
  • Steps for a single instruction, FSMs for every instruction
  • Creation of level 1 and level 2 flow charts
  • Memory systems in a microprocessor
  • Virtual memory, storage method in memory caches, process scheduling
  • Pipelining and parallelism
  • VLIW architecture
  • Cache misses
  • Branch predictors and branch misprediction
  • Superscalar architecture (Executing individual instruction in not specifically the same order as the program to save resources and time)
  • Multithreading

The course content gives one an insight into the workings of a microprocessor, and the various subsystems inside it. There were two course projects: one on Pipelined Processor Design and the other on Superscalar Processor Design.

Feedback on Lectures

First half of the course was online, so the prof annotated on his slides. Post-midsem, the course followed black-board teaching. Open conversation to and fro with the prof is always encouraged. Since the content and scope of this course is very large, extra classes were organized on Saturdays, sometimes on Sundays as well. It is recommended to attend as many lectures as possible for maximal understanding of the course, as there is no back-up.

Feedback on Evaluations

Evaluations are through class quizzes, midsems, endsems and projects. Midsems and endsems, are open book exams, and subjective. One would need to be well versed with the course content to answer questions properly. The end semester exam consisted of 2 sections, 1 was timed, while the second one had unlimited time.

Projects are considerably complex and time-consuming, and to be done in teams of 4. A viva was conducted at the end in which each group had to explain their work.

Study Material and References

Research papers mentioned in class, previous years’ slides and recordings.

Follow-up Courses

EE 748 - Advanced Topics in Computer Architecture

Final Takeaways

This course is very important for anyone who want to pursue a career in digital electronics and processor design. Attending lectures and submitting projects in time should lead to a decent grade.

Grading Statistics:

Grades