Computer Architecture
eBook - ePub

Computer Architecture

Gérard Blanchet, Bertrand Dupouy

Compartir libro
  1. English
  2. ePUB (apto para móviles)
  3. Disponible en iOS y Android
eBook - ePub

Computer Architecture

Gérard Blanchet, Bertrand Dupouy

Detalles del libro
Vista previa del libro
Índice
Citas

Información del 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.

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es Computer Architecture un PDF/ePUB en línea?
Sí, puedes acceder a Computer Architecture de Gérard Blanchet, Bertrand Dupouy en formato PDF o ePUB, así como a otros libros populares de Ciencia de la computación y Arquitectura de sistemas. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Editorial
Wiley-ISTE
Año
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...

Índice