theartofhpc.com/istc/sequential.html#ThevonNeumannarchitecture
In order to write efficient scientific codes, it is important to understand computer architecture. The difference in speed between two codes that compute the same result can range from a few percent to orders of magnitude, depending only on factors relating to how well the algorithms are coded for the processor architecture. Clearly, it is not enough to have an algorithm and `put it on the computer': some knowledge of computer architecture is advisable, sometimes crucial. Some problems can be solved on a single CPU , others need a parallel computer that comprises more than one processor. We will go into detail on parallel computers in the next chapter, but even for parallel processing, it is necessary to understand the individual CPUs . In this chapter, we will focus on what goes on inside a CPU and its memory system. We start with a brief general discussion of how instructions are handled, then we will look into the arithmetic processing in the processor core; last but not least, we
Single-processor Computing Experimental html version of downloadable textbook, see https://theartofhpc.com \[ % mathjax inclusion. \newcommand\bbP{\mathbb{P}} \newcommand\bbR{\mathbb{R}} \newcommand\becomes{\mathop{:=}} \newcommand\dtdxx{\frac{\alpha\Delta t}{\Delta x^2}} \newcommand\defined{ \mathrel{\lower 5pt \hbox{${\equiv\atop\mathrm{\scriptstyle D}}$}}} \newcommand\fp[2]{#1\cdot10^{#2}} \newcommand\inv{^{-1}}\newcommand\invt{^{-t}} \newcommand\macro[1]{$\langle$#1$\rangle$} \newcommand\nobreak{} \newcommand\Rn{{\cal R}^n} \newcommand\Rnxn{{\cal R}^{n\times x}} \newcommand\sublocal{_{\mat
related reading
- Modern Microprocessors - A 90-Minute Guide!lighterra.com
- What Every Programmer Should Know About Memorypeople.freebsd.org
- The "Basics" | Putting the "You" in CPUcpu.land
- What Every Programmer Should Know About Memoryakkadia.org
- Intro - Putting the "You" in CPUcpu.land
- A very concrete explanation of how a cache worksparksb.github.io
- Transformer Inference Arithmetic | kipply's blogkipp.ly
- All About Rooflines | How To Scale Your Modeljax-ml.github.io
- Demystifying GPU Compute Architectures - by Babbagethechipletter.substack.com
- On the GPU Memory Hierarchygytis.co
- AI Chip Architecturesjacobpeake.com
- How to Think About TPUs | How To Scale Your Modeljax-ml.github.io