Crucial topics in computer architecture education and a survey of textbooks and papers
dc.contributor.author | Yıldız, A. | |
dc.contributor.author | Gören, S. | |
dc.contributor.author | Uğurdağ, Hasan Fatih | |
dc.contributor.author | Aktemur, B. | |
dc.contributor.author | Akdoğan, Taylan | |
dc.date.accessioned | 2021-10-07T08:13:32Z | |
dc.date.available | 2021-10-07T08:13:32Z | |
dc.date.issued | 2020 | |
dc.identifier.issn | 1819-656X | en_US |
dc.identifier.uri | http://hdl.handle.net/10679/7619 | |
dc.identifier.uri | http://www.iaeng.org/IJCS/issues_v47/issue_3/IJCS_47_3_08.pdf | |
dc.description.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. | en_US |
dc.description.sponsorship | TüBİTAK | |
dc.language.iso | eng | en_US |
dc.publisher | International Association of Engineers | en_US |
dc.relation | info:turkey/grantAgreement/TUBITAK/117E090 | |
dc.relation.ispartof | IAENG International Journal of Computer Science | |
dc.rights | openAccess | |
dc.title | Crucial topics in computer architecture education and a survey of textbooks and papers | en_US |
dc.type | Article | en_US |
dc.description.version | Publisher version | en_US |
dc.peerreviewed | yes | en_US |
dc.publicationstatus | Published | en_US |
dc.contributor.department | Özyeğin University | |
dc.contributor.authorID | (ORCID 0000-0002-6256-0850 & YÖK ID 118293) Uğurdağ, Fatih | |
dc.contributor.authorID | (ORCID 0000-0002-0646-4637 & YÖK ID 144754) Akdoğan, Taylan | |
dc.contributor.ozuauthor | Uğurdağ, Hasan Fatih | |
dc.contributor.ozuauthor | Akdoğan, Taylan | |
dc.identifier.volume | 47 | en_US |
dc.identifier.issue | 3 | en_US |
dc.identifier.startpage | 404 | en_US |
dc.identifier.endpage | 419 | en_US |
dc.subject.keywords | Assembly language | en_US |
dc.subject.keywords | Computer architecture education | en_US |
dc.subject.keywords | Computer organization education | en_US |
dc.subject.keywords | CPU customization | en_US |
dc.subject.keywords | FPGA | en_US |
dc.subject.keywords | Instruction pipelining | en_US |
dc.subject.keywords | Instruction set completeness | en_US |
dc.subject.keywords | Instruction set design | en_US |
dc.subject.keywords | Memory banks | en_US |
dc.subject.keywords | Memory hierarchy | en_US |
dc.subject.keywords | Memory-mapped I/O | en_US |
dc.subject.keywords | Microcontroller versus microprocessor | en_US |
dc.subject.keywords | One-instruction CPU | en_US |
dc.subject.keywords | Self-modifying code | en_US |
dc.identifier.scopus | SCOPUS:2-s2.0-85089808285 | |
dc.contributor.authorMale | 2 | |
dc.relation.publicationcategory | Article - International Refereed Journal - Institutional Academic Staff |
Files in this item
This item appears in the following Collection(s)
Share this page