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
is an overall comprehensive note by Micky Haldya from Biyani Girls College
Jaipur and covers a basis of computer architecture. Starting from basic anatomy,
she explains the details about the interior components and their functions. The
note throws light on the major topics involved in computer science basic
architecture, which includes input and output devices and storage solutions. It
also gives a historical overview of how computers have evolved, putting the
technological advancements in perspective. It further discusses the principles
of logic gates and flip-flops; thus, basic building blocks of digital circuits
are covered. The conceptual address, instruction, and input/output subsystems
are elaborated in an all-covering manner concerning the computer processing and
handling of data. This is a useful guide to both the theoretical and practical
aspects of computer architecture.
Author(s): Micky
Haldya, Biyani Girls College Jaipur
Prepared
by Mohamed Sathak A J College of Engineering, this note gives comprehensive
exposure to computer organization and architecture. It gives an overview of the
computer organization with respect to the structure and functions of the
processor, memory, and input/output systems. Further, it covers arithmetic
operations and their implementation within computer systems. The note goes on to
explain more about advanced aspects of computer architecture with respect to
features in design that have, over time, been introduced through innovation and
enhancement. The document is structured in a way that explains how different
components interact to execute the most complicated tasks. It will be
interesting for those who intend to understand more deeply the technical bases
of computer systems and architecture, which is in continuous evolution from both
a theoretical and practical perspective.
Author(s): Mohamed Sathak A J College of
Engineering
Written
by Prabhas Chongstitvatana from Chulalongkorn University, this highly
informative PDF gives comprehensive detail about the principles of computer
architecture. It starts by introducing some core concepts and works up through
coverage of Instruction Set Architecture by elaborating on the very basic
workings of computer systems. It also addresses computer arithmetic, along with
the design of control units that is essential in explaining how the CPU manages
its operations. It covers processor design, from a simple model of a CPU to its
advances like pipelining and instruction-level parallelism; then it goes further
to touch on vector machines, memory system design, magnetic disk technology, and
finally concludes with considerations toward future architectures. This PDF is a
broad resource for foundational and advanced understandings of computer
architecture.
Author(s): Prabhas Chongstitvatana, Chulalongkorn
University
This
is a comprehensive 118-page detailed note on advanced topics in computer
architecture. This starts with the principles of processor performance and the
basics of RISC and CISC architecture classification. The document investigates
the basics of pipelining and its hazards, and some advanced architectures like
superscalar and super-pipelined systems. Very Long Instruction Word (VLIW)
architectures and basic multiprocessor designs are also emphasized. This note
explains Flynn's classification, array processors, vector processors,
associative processors, and systolic architectures. Hierarchical memory
technology is discussed followed by various computing models that work on these
computing devices, such as data flow computers and cloud computing. The two
sections in this resource will be useful to those who want to address current
developments and architectures in computer systems.
Class
notes by Virgil Bistriceanu give more of a general view of computer architecture
by focusing on the main ideas and principles of design. The concepts for
instruction set design and addressing modes will be treated in detail since this
forms the core of the understanding of the manner in which the processor
interprets the instructions. The notes also outline the different CPU
implementation strategies and the operation of interrupts. Perhaps more than
anything else, the memory hierarchy and virtual memory are subjects to which
much explanation is devoted, enlightening on how modern computers manage and
optimize memory use. This full suite of notes is definitely helpful when one
wants good grounding in the basic understanding of computer architecture.
These
lecture notes by Dr. R. M. Siegfried on computer architecture and organization
begin right from the very basics of number systems and arithmetic. The notes go
on to describe Boolean algebra in detail, Karnaugh mapping related to the
simplification of logic functions, and introduce the Quine-McCluskey method for
Boolean expression minimization. The sections on combinational circuits and
synchronous sequential logic are more detailed aspects for insight into the
design of digital circuits. It also discusses Registers and counters, Register
transfer and micro-operations, and Computer organization and design. The paper
then delves deeper into microprogrammed control, Floating-point data handling,
and more advanced topics like Pipelining and Vector processing. These notes in
hand will be very useful to learners in the realm of computer systems both
theoretically and practically.