Computer Architecture
eBook - ePub

Computer Architecture

Gérard Blanchet, Bertrand Dupouy

Condividi libro
  1. English
  2. ePUB (disponibile sull'app)
  3. Disponibile su iOS e Android
eBook - ePub

Computer Architecture

Gérard Blanchet, Bertrand Dupouy

Dettagli del libro
Anteprima del libro
Indice dei contenuti
Citazioni

Informazioni sul libro

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.

Domande frequenti

Come faccio ad annullare l'abbonamento?
È semplicissimo: basta accedere alla sezione Account nelle Impostazioni e cliccare su "Annulla abbonamento". Dopo la cancellazione, l'abbonamento rimarrà attivo per il periodo rimanente già pagato. Per maggiori informazioni, clicca qui
È possibile scaricare libri? Se sì, come?
Al momento è possibile scaricare tramite l'app tutti i nostri libri ePub mobile-friendly. Anche la maggior parte dei nostri PDF è scaricabile e stiamo lavorando per rendere disponibile quanto prima il download di tutti gli altri file. Per maggiori informazioni, clicca qui
Che differenza c'è tra i piani?
Entrambi i piani ti danno accesso illimitato alla libreria e a tutte le funzionalità di Perlego. Le uniche differenze sono il prezzo e il periodo di abbonamento: con il piano annuale risparmierai circa il 30% rispetto a 12 rate con quello mensile.
Cos'è Perlego?
Perlego è un servizio di abbonamento a testi accademici, che ti permette di accedere a un'intera libreria online a un prezzo inferiore rispetto a quello che pagheresti per acquistare un singolo libro al mese. Con oltre 1 milione di testi suddivisi in più di 1.000 categorie, troverai sicuramente ciò che fa per te! Per maggiori informazioni, clicca qui.
Perlego supporta la sintesi vocale?
Cerca l'icona Sintesi vocale nel prossimo libro che leggerai per verificare se è possibile riprodurre l'audio. Questo strumento permette di leggere il testo a voce alta, evidenziandolo man mano che la lettura procede. Puoi aumentare o diminuire la velocità della sintesi vocale, oppure sospendere la riproduzione. Per maggiori informazioni, clicca qui.
Computer Architecture è disponibile online in formato PDF/ePub?
Sì, puoi accedere a Computer Architecture di Gérard Blanchet, Bertrand Dupouy in formato PDF e/o ePub, così come ad altri libri molto apprezzati nelle sezioni relative a Ciencia de la computación e Arquitectura de sistemas. Scopri oltre 1 milione di libri disponibili nel nostro catalogo.

Informazioni

Editore
Wiley-ISTE
Anno
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...

Indice dei contenuti