This note will describe
the basics of modern processor operation. Topics covered includes: computer
system performance, instruction set architectures, pipelining, branch
prediction, memory-hierarchy design, and a brief introduction to multiprocessor
Computer architecture is the science and art of selecting and
interconnecting hardware components to create a computer that meets functional,
performance and cost goals. In this note, students will learn how to completely
design a correct single processor computer, including processor datapath,
processor control, memory systems, and I/O. Topics covered includes:
Performance, Instructions, Arithmetic, Datapath, Control, Exceptions,
Pipelining, Caches, Memory and VM, Arithmetic, Multiprocessors.
Author(s): David A. Wood and T. A.
This note will
give an introduction to designing and programming high performance processors.
Topics covered includes: Branch Prediction, renaming, precise interrupts,
Register Renaming, Wakeup, Bypass, Broadcast, Load-Store Queue, Commit, Recovery
from speculation: RRF and RRAT, SRAM vs CAM based checkpoint, ROB based OOO
processor design Little's Law, Non-Selective and Deferred Selective Replay, SRAM
and DRAM Cells, CAM Cells, Pentium Trace Cache, Date Prefetching, Cache Design
with Cacti, NUCA Caches, Routing and Flow Control, Hardware Security, Flow
Control, Coherence and Consistency, Coherence Protocols, Directory Coherence and
Atomic Primitives, Memory Consistency Models.
This note covers the following topics: Basics of computer
architecture, Introduction to Digital Electronics, Binary Numbers, Boolean
Algebra, Combinational Logic Circuits, Sequential Logic Circuits, Von Neumann
Architecture, Optimizing Hardware Performance, Low-level programming,
Programming in C, Character encodings, Assembly programming.
Author(s): Philipp Hafliger, Dag Langmyhr
and Omid Mirmotahari
This note will review
fundamental structures in modern microprocessor and computer system architecture
design. Topics covered includes: computer organization, instruction set design,
memory system design, pipelining, and other techniques to exploit parallelism.
It will also cover system level topics such as storage subsystems and basics of
This course note provides an introduction to Computer
Organization And Architecture and the content of this web course covers majority
of the topics taught at the undergraduate level in the computer science and
engineering disciplines of Engineering Colleges and Universities in India.