Computer Architecture
eBook - ePub

Computer Architecture

Gérard Blanchet, Bertrand Dupouy

Share book
  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Computer Architecture

Gérard Blanchet, Bertrand Dupouy

Book details
Book preview
Table of contents
Citations

About This Book

This book lays out the concepts necessary to understand how a computer works.
For reasons of clarity, the authors have deliberately chosen examples that apply to machines from all eras, without having to water down the contents of the book. This choice helps to show how techniques, concepts and performances have evolved since the first computers.
The book is divided into five parts. The first four, which are of increasing difficulty, are the core of the book: "Elements of a Basic Architecture", "Programming Model and Operation", "Memory Hierarchy", "Parallelism and Performance Enhancement". The final part provides hints and solutions to the exercises in the book as well as appendices. The reader may approach each part independently based on their prior knowledge and goals.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Computer Architecture an online PDF/ePUB?
Yes, you can access Computer Architecture by Gérard Blanchet, Bertrand Dupouy in PDF and/or ePUB format, as well as other popular books in Informatica & Architettura di sistemi. We have over one million books available in our catalogue for you to explore.

Information

Publisher
Wiley-ISTE
Year
2013
ISBN
9781118577783

PART 1

Elements of a Basic Architecture

Chapter 1

Introduction

After providing some historical background, we will highlight the major components of a Computer machine [MOR 81, ROS 69, LAV 75]. This will lead us to describe a category of calculators that we will refer to as classic architecture machines, or classic architecture uniprocessors. We will examine the functions performed by each of their modules, and then describe them in greater detail in the following chapters.

1.1. Historical background

1.1.1. Automations and mechanical calculators

The first known mechanical calculators [SCI 96] were designed by Wilhelm Schickard (1592–1635) (≈1623), Blaise Pascal (≈1642) and Gottfried Wilhelm Leibniz (1646–1716) (≈1673): they operate in base 10 through a gear mechanism.
Figure 1.1. Blaise Pascal’s Pascaline
Ch01_image001.webp
It is up to the user to put together series of operations. The need for a sequence of processes that is automated is what will eventually lead to the design of computers.
The sequencing of simple tasks had already been implemented in the design of music boxes, barrel organs, self-playing pianos, in which cylinders with pins, cam systems and perforated paper tapes determined the melody. The loom, designed by Joseph-Marie Jacquard (1752–1834), is another example of an automaton. A series of perforated cards indicates the sequence of elementary operations to perform: each hole allows a needle to go through, and the tetrahedron that supports the cards rotates at the same pace as the shuttle which carries the thread that is woven. Introduced in the years 1804–1805, Jacquard’s invention was formally recognized by France as being of a public benefit in 1806. In 1812, there were 11,000 such looms in France [ENC 08]. Some can still be found in operation in workshops around Lyon.
Figure 1.2. An example of Jacquard’s loom, courtesy of “La Maison des Canuts”, Lyon, France
Ch01_image001.webp
This system provides a first glance at what will later become devices based on programmable automatons, or calculators, dedicated to controlling industrial processes.
Charles Babbage (1792–1871) was the first to undertake the design of a machine combining an automaton and a mechanical calculator. Having already designed a calculator, the Difference Engine, which can be seen at the Science Museum in London, he presented a project for a more universal machine, at a seminar held in Turin in 1841. His collaboration with Ada Lovelace (the daughter of Lord Byron) allowed him to describe a more detailed and ambitious machine, which foreshadows our modern computers. This machine, known as the analytical engine [MEN 42], autonomously performs sequences of arithmetic operations. As with Jacquard’s loom, it is controlled by perforated tape. The user describes on this “program-tape” the sequence of operations that needs to be performed by the machine. The tape is fed into the machine upon each new execution. This is because Babbage’s machine, despite its ability to memorize intermediate results, had no means for memorizing programs, which were always on some external support. This is known as an external program machine. This machine introduces the concept of memory (referred to by Babbage as the store) and of a processor (the mill). Another innovation, and contrary to what was done before, is that the needles, which engaged based on the presence or the absence of holes in the perforated tape, do not directly engage the output devices. In a barrel organ, a note is associated with each hole in the tape; this is formally described by saying that the output is logically equal to the input. In the analytical engine, however, we can already say that a program and data are coded.
Figure 1.3. Babbage’s analytical engine
Ch01_image001.webp
This machine is divided into three distinct components, with different functions: the automaton–calculator part, the data and the program.
While each row of the perforated tape contains data that are “logical” in nature – the presence or the absence of a hole – the same cannot be said for both the automaton, which is purely mechanical, and the calculation unit, which operates on base 10 representations.

1.1.1.1. Data storage

The idea that it was necessary to automatically process data took hold during the 1890 census in the United States, a census that covered 62 million people. It was the subject of a call for bids, with the contract going to Herman Hollerith (1860–1929). Hollerith suggested using a system of perforated cards already used by certain railway companies. The cards were 7.375 by 3.25 inches which, as the legend goes, correspond to the size of the $1 bill at the time. The Tabulating Machine Company, started by Herman Hollerith, would eventually become International Business Machines (IBM), in 1924.
Figure 1.4. A perforated card: each character is coded according to the “Hollerith” code
Ch01_image002.webp
In 1937, Howard Aiken, of Harvard University, gave IBM the suggestion of building a giant calculator from the mechanical and electromechanical devices used for punch card machines. Completed in 1943, the machine weighed 10,000 pounds, was equipped with accumulators capable of memorizing 72 numbers, and could multiply two 23-digit numbers in 6 s. It was controlled through instructions coded onto perforated paper tape.
Figure 1.5. Perforated tape
Ch01_image003.webp
Despite the knowledge acquired from Babbage, this machine lacked the ability to process conditional instructions. It did, however, have two additional features compared to Babbage’s analytical engine: a clock for controlling sequences of operations and registers, a type of temporary memory used for recording data.
Another precursor was the Robinson, designed in England during World War II and used for decoding encrypted messages created by the German forces on Enigma machines.

1.1.2. From external program to stored program

In the 1940s, research into automated calculators was a booming field, spurred in large part by A. Turing in England; H. Aiken, P. Eckert and J. Mauchly [MAU 79] in the United States; and based in part on the works of J.V.Atanasoff (1995) (Automatic Electronic Digital Computer (AEDQ) between 1937 and 1942).
The first machines that were built were electromechanical, and later relied on vacuum tube technology. They were designed for specific processes and had to be rewired every time a change was required in the sequence of operations. These were still externally programmed machines. J. von Neumann [VON 45, GOL 63] built the foundations for the architecture used by modern calculators, the von Neumann architecture.
The first two principles that define this architecture are the following:
– The universal applicability of the machines.
– Just as intermediate results produced from the execution of operations are stored into memory, the operations themselves will be stored in memory. This is called stored-program computing.
The elementary operations will be specified by instructions, the instructions are listed in programs and the programs are stored in memory. The machine can now go through the steps in a program with no outside intervention, and without having to reload the program every time it has to be executed.
The third principle that makes this calculator an “intelligent” machine, as opposed to its ancestors, is the sequence break. The machine has decision capabilities that are independent from any human intervention: as the program proceeds through its different steps, the automaton decides the sequence of instructions to be executed, based on the results of tests performed on the data being processed. Subsequent machines rely on this basic organization.
Computer designers then focused their efforts in two directions:
Technology: using components that are more compact, perform better, with more complex functions, and consume lower energy.
Architecture: parallelization of the processor’s activities and organization of the memory according to a hierarchy. Machines designed with a Harvard architecture, in which access to instructions and to data is performed independently, meet this condition in part.
Figure 1.6 presents the major dates and concepts in the evolution that led to what is now called a computer. Note that without the methodological foundation provided by Boolean algebra, the first computer would prob...

Table of contents