<http://www.seas.upenn.edu/~ese680s2/>
Quick Links: [Motivation] [Grading] [Syllabus] [Collaboration Policy] [Reading] [Previous Offerings]
Catalog Level Description: Organization and design of physical computational systems, basic building blocks for computations, understanding and exploiting structure in computational problems, design space, costs, and tradeoffs in computer organization, common machine abstractions, and implementation/optimization techniques. The course will develop the fundamental issues and tradeoffs which define computer organizational and architectural styles including RISC, VLIW, Super Scalar, EPIC, SIMD, Vector, MIMD, reconfigurable, FPGA, PIM, and SoC. Basic topics in the design of computational units, instruction organization, memory systems, control and data flow, and interconnect will also be covered.
In our lifetimes, we've seen unprecedented expansion of computational capabilities fueled both by advanced processing and architectural innovations to exploit that processing capability. As a result of these capabilities automatic computation is having a huge impact on the way we live, work, communicate, and especially how we do science and engineering. If anything, our biggest limitation today is not the raw capacity and capabilities available to us, but fully exploiting that capacity. The design space for computing devices is large and fascinating with efficiencies that vary by orders of magnitude. Further, the limitations of our underlying building blocks are changing, so the "right answers" of the past will almost certainly become stale and outdated. A good engineer must know the fundamental tradeoffs to re-evaluate solutions as the underlying technology changes.
Who: This course is a must for anyone who is interested in the design of computers, System-on-a-chip ICs, or modern embedded systems (including multimedia, communications, signal processing, and control). It is also of great value to anyone who will be designing ``systems'' which use these components (e.g. telecom, robotics and autonomous vehicles, instrumentation, control, electronic appliances). A deep understanding of computer organization is also of great value to anyone who hopes to develop high-performance software, understanding the capabilities of any machine and how to get the most out of it.
Running Themes:
Writeups must be done in electronic form. Use CAD or drawing tools where appropriate. Electronic submission will be preferred (and may be required for some assignments). Handwritten assignments and hand-drawn figures are not acceptable.
Hennessy and Patterson's Computer Architecture A Quantitative Approach is a classic text which some may find useful as a reference. This course will take a much broader look at computer architecture than H+P. Consequently, what we cover will have little overlap with H+P (and hence CIS501). Patterson and Hennessy's Computer Organization and Design provides a more elementary treatment and might be particularly useful for a review of logic design, computer arithmetic, and elementary RISC processor design for those who feel they need a deeper reference in these areas.