Review by Kalpesh Krishna (kalpeshk2011@gmail.com)

Course Offered In Autumn 2016

Instructors Virendra Singh

Prerequisites EE 224: Digital Systems

Difficulty The concepts aren’t very difficult, but the whole journey will need consistent hard work and dedication. Make sure you start working on your assignment / projects early.

Course Content 8085 Architectures, 8051 Architecture & Programming, Device Interfacing, ISA and CISC Processor Design, RISC Processor Design, Pipelined Design, Memory System Design

Feedback on Lectures All computers and most electronic devices today are powered by special circuits called microprocessors. Microprocessors are responsible for executing computer code. Since all computer programs pass through a microprocessor, it’s design, research and efficiency is of utmost importance for speed and accuracy. This course builds up from our knowledge of Digital Systems and discusses some basic microprocessor designs.

The instructor left no stones unturned while teaching us the subject. He often conducted extra 2-hour doubt sessions, even while he was sick. Every lecture began with a 15 minute recap of the previous content. The instructor never used slides, and all concepts were taught very well on a blackboard. He often said, “If you are learning something new, why not learn it properly?” With that motivation and the instructor’s continuous effort, it soon became the favourite course for many of us. Feedback on Evaluations Quizzes were conducted every Thursday, which totally constituted 25% of the credit. The midsem exam was of 10%, endsem of 25%. A CISC processor design (handwritten design) assignment constituted 15% marks, and there were two course projects of 10% and 15+10 (bonus) % weightage.

All exams were open book, open time and generally quite hard. Every question needed a good understanding of the subject to get right, and the instructor made sure he discussed each question’s solution in extra lectures. While the quizzes were often scoring, the midsem was particularly difficult and the instructor organized a compensation exam for it. The endsem was a 10-12 hour effort for most of us, with roughly 20 moderate to difficult questions. We were given tea and dinner by the instructor too! The endsem will probably be one of the most memorable experiences of IIT Bombay.

The instructor gave a lot of importance to processor design and we built 3 processor designs in this course. The first processor (CISC architecture) had to be done on paper and was relatively straight-forward.

The projects had to be written using VHDL and tested on a Testbench / FPGA board. The first project was a multi-cycle RISC design of the IITB-RISC instruction set, and this was integrated with the lab sessions. While some instructions did give us a really hard time, most of the teams succeeded in this project and produced a working demo on the testbench / hardware.

The second project was to be done after the end-semester exams and was a pipelined implementation of IITB-RISC. Bonus marks were given to teams who implemented all hazards and successfully showed a working demo on the hardware. This was a difficult project, and required a lot of patient debugging. Only about 10 teams were able to make it to the very end.

The projects really helped us understand how important (and difficult) design is, and made the course really worthwhile. Study Material and References The instructor has written excellent slides. We also referred to,

  1. Ramesh Gaonkar – Microprocessor Architecture, Programming and Applications with the 8085
  2. Kenneth J. Ayala – The 8051 Microcontroller
  3. Nick Tredennick – Microprocessor Design

Follow-up Courses NA

Final Takeaways NA

Grading Statistics: It was on the generous side.