Publication:
Crucial topics in computer architecture education and a survey of textbooks and papers

Loading...
Thumbnail Image

Research Projects

Journal Title

Journal ISSN

Volume Title

Type

Article

Access

info:eu-repo/semantics/openAccess

Publication Status

Published

Journal Issue

Abstract

We have been teaching undergraduate computer architecture since 2012 in an unconventional way. Most undergraduate computer architecture courses are based on microprocessors, and they quickly move into advanced topics such as instruction pipelining, forwarding, branch prediction, cache, and even memory management unit. We instead spend only the last one-third of our course on these topics. The first two thirds of the course is devoted to microcontrollers, i.e., simple-minded processors with no memory hierarchy, no branch prediction, sometimes even no pipelining. Our claim is that it is very hard to truly grasp the advanced topics without full grasp of the basics. Equipped with the above approach, this article comes up with an all-inclusive list of crucial topics for computer architecture education, and it surveys 25 computer architecture textbooks as well as 38 computer architecture education papers to see how much they cover these topics. In addition to that, the article contains a concise description of the perspective of our course. One of the pillars of our course is a working CPU on FPGA. We have so far had around 600 students design their own unique CPUs using Verilog given a complete instruction set, close to 70% of them with complete success.

Date

2020

Publisher

International Association of Engineers

Description

Keywords

Citation


Page Views

0

File Download

0