Computer Systems Architecture
Computer Architecture is exciting
Being a computer architect has never been more exciting than now - not since the 1970's. Architecture played a major role in the quest for improving single-thread performance, mainly through the exploitation of instruction level parallelism. However, CMOS technology improvement was behind the larger part of performance improvement, from the introduction of the 32-bit microprocessor some 35 years ago, until it became technologically infeasible to continue improving single-thread performance. Multi-core microprocessors were introduced in the 1990's, and rely mostly on other forms parallelism: data-level, thread-level and request-level parallelism. The architectural challenges are fundamentally different and all the more exciting also in the software domain which has to change in an equally fundamental fashion.
This course is about these exciting times!
The following textbook is required reading:
Computer Architecture: A quantitative approach, 5th edition by John Hennessy and David Patterson. Morgan Kaufmann, 2012. ISBN: 978-0-12-383872-8. Other editions are available electronically from the KTH library.
Additional texts will be used, see the course web site (this site).
Bonus Assignments, Lab Instructions, and other material for 2019 is available in Canvas: https://kth.instructure.com/courses/7701