Table of Contents

Advertisement

The second improvement is for backward jumps only. Backward jumps are usually for
loops which get executed multiple times. Because we're going back to a command we've
read before, we could store that byte in internal memory and jump to the byte after it in-
stead. This means that we can avoid reading two bytes from external Serial Ram when
executing an inner loop; an overall improvement of 50% [Fig 6.8].
Fig 6.8

6.3.4 Conclusions

Fignition's Serial RAM circuitry shares most of the same connections and shares the same
SPI protocol with the Flash chip. Serial RAM access is relatively slow for executing pro-
grams, but there are a number of ways we can speed it up.
Pipelining allows a limited form of parallelism. Although some early computer designs did
some limited pipelining, it only became a common technique in the mid-1980s with the in-
troduction of new computer designs called Reduced Instruction Set Computers (RISC);
whose radical simplicity and rigid regularity could exploit pipelining well. The ARM proces-
sor is the most common RISC processor around today.
Many forms of caching are used in modern computer designs. Not only are branches
cached, but the most common parts of a program currently being executed are cached as
well as the most common sections of data being accessed. There are trade-offs between
the sizes of memory devices and the speed they can be read; so in modern systems there
are multiple levels of cache where each smaller (and faster) type of memory cache is a
cache for the next larger (and slower) type of memory cache. This extends to main mem-
ory itself, which is used as a cache for disk storage. Even the smallest (fastest) cache in a
modern computer is larger than the whole of FIGnition's RAM.
Both pipelining and caching techniques are key components of computer architectures
since the 1980s and all rely upon an important principle called Locality.

Advertisement

Table of Contents
loading

Table of Contents