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

dc.contributor.authorYıldız, A.
dc.contributor.authorGören, S.
dc.contributor.authorUğurdağ, Hasan Fatih
dc.contributor.authorAktemur, B.
dc.contributor.authorAkdoğan, Taylan
dc.contributor.departmentNatural and Mathematical Sciences
dc.contributor.departmentElectrical & Electronics Engineering
dc.contributor.ozuauthorUĞURDAĞ, Hasan Fatih
dc.contributor.ozuauthorAKDOĞAN, Taylan
dc.date.accessioned2021-10-07T08:13:32Z
dc.date.available2021-10-07T08:13:32Z
dc.date.issued2020
dc.description.abstractWe 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.sponsorshipTüBİTAK
dc.description.versionPublisher versionen_US
dc.identifier.endpage419en_US
dc.identifier.issn1819-656Xen_US
dc.identifier.issue3en_US
dc.identifier.scopus2-s2.0-85089808285
dc.identifier.startpage404en_US
dc.identifier.urihttp://hdl.handle.net/10679/7619
dc.identifier.volume47en_US
dc.language.isoengen_US
dc.peerreviewedyesen_US
dc.publicationstatusPublisheden_US
dc.publisherInternational Association of Engineersen_US
dc.relationinfo:turkey/grantAgreement/TUBITAK/117E090
dc.relation.ispartofIAENG International Journal of Computer Science
dc.relation.publicationcategoryInternational Refereed Journal
dc.rightsinfo:eu-repo/semantics/openAccess
dc.subject.keywordsAssembly languageen_US
dc.subject.keywordsComputer architecture educationen_US
dc.subject.keywordsComputer organization educationen_US
dc.subject.keywordsCPU customizationen_US
dc.subject.keywordsFPGAen_US
dc.subject.keywordsInstruction pipeliningen_US
dc.subject.keywordsInstruction set completenessen_US
dc.subject.keywordsInstruction set designen_US
dc.subject.keywordsMemory banksen_US
dc.subject.keywordsMemory hierarchyen_US
dc.subject.keywordsMemory-mapped I/Oen_US
dc.subject.keywordsMicrocontroller versus microprocessoren_US
dc.subject.keywordsOne-instruction CPUen_US
dc.subject.keywordsSelf-modifying codeen_US
dc.titleCrucial topics in computer architecture education and a survey of textbooks and papersen_US
dc.typeArticleen_US
dspace.entity.typePublication
relation.isOrgUnitOfPublication7a8a2b87-4f48-440a-a491-3c0b2888cbca
relation.isOrgUnitOfPublication7b58c5c4-dccc-40a3-aaf2-9b209113b763
relation.isOrgUnitOfPublication.latestForDiscovery7a8a2b87-4f48-440a-a491-3c0b2888cbca

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Crucial topics in computer architecture education and a survey of textbooks and papers.pdf
Size:
1.23 MB
Format:
Adobe Portable Document Format
Description:

License bundle

Now showing 1 - 1 of 1
Placeholder
Name:
license.txt
Size:
1.45 KB
Format:
Item-specific license agreed upon to submission
Description: