The overall goal of this course is to understand the logical structure of a modern computer, from its basic building blocks to its more complex components. This knowledge is intended to provide the basis for system design and performance analysis, both for hardware and software systems. The concepts learned in this course are also foundational elements for the design of compilers and operating systems.
Contents
Computer systems are a combination of their hardware and software. Whether you intend to design the next breed of microprocessor, the next Java compiler, or the greatest C++ application, a computer scientist is best served by understanding what is going on under the hood of the computer. Why? Simply put, knowing how a program is translated into the electronics allows it to be more efficiently written. This course will address issues such as digital logic, machine representation of data, basic CPU and instruction-set architecture, memory organization, I/O interfaces, and architecture alternatives.
Teaching Mode
This course consists of a theory and a laboratory component. Both components involve classroom sessions and significant amounts of homework. Students are expected to read the assigned readings before class. During theory sessions we discuss remaining questions and problems. The homework assignments of the laboratory component complement the theory and allow students to practice and deepen their skills by solving well-focused problems. During the weekly laboratory sessions we introduce and discuss upcoming homework assignments and we review past assignments to clarify possible misunderstandings. Students can benefit most from this course if they thoroughly prepare for and actively participate in each session.
References
Andrew S. Tanenbaum, Structured Computer Organization, 6th Edition (required), Prentice Hall, 2012, ISBN: 978-0132916523.
Editions
Class | Semester | Instructor | Teaching Assistant(s) |
---|---|---|---|
Computer Architecture 2019 | Fall | ||
Computer Architecture 2018 | Fall | ||
Computer Architecture 2017 | Fall | Pietro Bressana
▫
Enrique Fynn | |
Computer Architecture 2016 | Fall | ||
Computer Architecture 2015 | Fall | ||
Computer Architecture 2014 | Fall | ||
Computer Architecture 2013 | Fall | Leandro Pacheco
▫
Michele Papalini | |
Computer Architecture 2012 | Fall | Valentina Poletti
▫
Grigory Fedyukovich | |
Computer Architecture 2011 | Fall | ||
Computer Architecture 2010 | Fall | ||
Computer Architecture 2009 | Fall | Jochen Wuttke | |
Computer Architecture 2008 | Fall |
USI Search Directory: http://search.usi.ch/courses?q=computer+architecture