
Microprocessor 1
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
modern and integrated form of the central processing unit, has
continuously broken records in terms of its integrated functions,
computing power, low costs and energy saving status. Today, it is
present in almost all electronic devices. Sound knowledge of its
internal mechanisms and programming is essential for
electronics and computer engineers to understand and master
computer operations and advanced programming concepts.
This book in five volumes focuses more particularly on the first
two generations of microprocessors, those that handle 4- and 8-
bit integers. Microprocessor 1 the first of five volumes
presents the computation function, recalls the memory function
and clarifies the concepts of computational models and
architecture. A comprehensive approach is used, with examples
drawn from current and past technologies that illustrate
theoretical concepts, making them accessible.
More details
Other editions
Additional editions

Person
Content
Preface ix
Introduction xiii
Chapter 1. The Function of Computation 1
1.1. Beginnings 2
1.2. Classes of computers 10
1.3. Analog approach 36
1.4. Hardware-software relationship 37
1.5. Integration and its limits 43
1.6. Conclusion 47
Chapter 2. The Function of Memory 49
2.1. Definition 50
2.2. Related concepts 56
2.2.1. A story of endianness 56
2.2.2. Alignment 56
2.3. Modeling 57
2.4. Classification 59
2.5. Conclusion 61
Chapter 3. Computation Model and Architecture: Illustration with the von Neumann Approach 63
3.1. Basic concepts 64
3.1.1. The idea of a program 64
3.1.2. Control and data flows and mechanisms 65
3.1.3. Models of computation 67
3.1.4. Architectures 72
3.1.5. The semantic gap 80
3.2. The original von Neumann machine 81
3.2.1. von Neumann's computation model 81
3.2.2. von Neumann's (machine) architecture 82
3.2.3. Control 89
3.3. Modern von Neumann machines 90
3.3.1. Abstraction level 91
3.3.2. Base execution outline 97
3.3.3. Possible transfers 100
3.3.4. Summary: advantages and disadvantages of this model 102
3.4. Variations on a theme 104
3.4.1. Classification by bus 104
3.4.2. Harvard architectures 111
3.4.3. Parallelism 113
3.5. Instruction set architecture 117
3.5.1. Storage components 118
3.5.2. Data format and type 126
3.5.3. Instruction set 126
3.5.4. Memory model 127
3.5.5. Execution modes 128
3.5.6. Miscellaneous 128
3.6. Basic definitions for this book 128
3.7. Conclusion 129
Conclusion of Volume 1 131
Exercises 133
Acronyms 135
References 153
Index 173
1
The Function of Computation
As in music theory, we cannot discuss the microprocessor without positioning it in the context of the history of the computer, since this component is the integrated version of the central unit. Its internal mechanisms are the same as those of supercomputers, mainframe computers and minicomputers. Thanks to advances in microelectronics, additional functionality has been integrated with each generation in order to speed up internal operations. A computer1 is a hardware and software system responsible for the automatic processing of information, managed by a stored program. To accomplish this task, the computer's essential function is the transformation of data using computation, but two other functions are also essential. Namely, these are storing and transferring information (i.e. communication). In some industrial fields, control is a fourth function. This chapter focuses on the requirements that led to the invention of tools and calculating machines to arrive at the modern version of the computer that we know today. The technological aspect is then addressed. Some chronological references are given. Then several classification criteria are proposed. The analog computer, which is then described, was an alternative to the digital version. Finally, the relationship between hardware and software and the evolution of integration and its limits are addressed.
NOTE.- This chapter does not attempt to replace a historical study. It gives only a few key dates and technical benchmarks to understand the technological evolution of the field.
1.1. Beginnings
Humans have needed to count since our earliest days (Ifrah 1994; Goldstein 1999). Fingers were undoubtedly used as the first natural counting tool, which later led to the use of the decimal number base. During archeological excavations, we have also found notched counting sticks, bones and pieces of wood. The incised bones of Ishango, dated between 23,000 and 25,000 years BC, provide an example (Figure 1.1).
Figure 1.1. Ishango's incised bones. For a color version of this figure, see www.iste.co.uk/darche/microprocessor1.zip
(source: unknown)
Counting sticks were used during antiquity, as well as pebbles, hence the word calculus, from the Latin calculus which means "small pebble". Knotted ropes were also used for counting, an example being the Incan quipu (Figure 1.2). This Incan technique (dating ~ 1200-1570) used a positional numbering system (cf. § 1.2 of Darche (2000)) in base-10 (Ascher 1983).
Figure 1.2. A quipu. For a color version of this figure, see www.iste.co.uk/darche/microprocessor1.zip
(source: unknown)
The need for fast and precise computation necessitated the use of computing instruments. Two exemplars are the abacus and the slide rule. The abacus is a planar calculating instrument, with examples including the Roman (Figure 1.3(a)) and the Chinese (Figure 1.3(b)) abacus. The latter makes it possible to calculate the four basic arithmetic operations by the movements of beads (or balls) strung on rods, which represent numbers.
Figure 1.3. Roman abacus (a) between the 2nd and 5th Centuries (© Inria/AMISA/Photo J.-M. Ramès); Chinese abacus (b). For a color version of this figure, see www.iste.co.uk/darche/microprocessor1.zip
The 17th Century saw the introduction of mechanical computing machines, and the beginning of the history of computers is generally dated from their appearance. They met the need to systematically calculate tables of numbers reliably and quickly. These machines naturally used the decimal base. The most famous is undoubtedly the adding machine called the Pascaline (1642), named after its inventor, the philosopher and scientist Blaise Pascal (1623-1662). Numbers were entered using numbered wheels (Figure 1.4). The result was visible through the upper slits. Complementation made it possible to carry out subtraction (cf. exercise E1.1). But the first description of a four-operation machine was Wilhelm Chickard's machine (1592-1635), which appeared in a letter from the inventor to Johannes Kepler in 1623 (Aspray 1990). The end of the 17th Century and the following one were fruitful in terms of adding machines. Consider, for example, machines by Morland (1666), Perrault (1675), Grillet (1678), Poleni (1709), de Lépine (1725), Leupold (1727), Pereire (1750), Hahn (1770), Mahon (1777) and Müller (1784). A logical continuation of this trend was the multiplying machine by Gottfried Wilhelm Leibniz (1646-1716), which was designed in 1673 but whose implementation was delayed because of the lack of mechanical manufacturing precision in the 17th Century. For more information on this technology, we can cite the richly illustrated book by Marguin (1994) introducing the first mechanical calculating machines.
Figure 1.4. An example of a Pascaline at the Musée des Arts et Métiers. For a color version of this figure, see www.iste.co.uk/darche/microprocessor1.zip
(source: David Monniaux/Wikipedia2)
The mathematician Charles Babbage (1791-1871) marked the 19th Century a posteriori with two machines: the Difference Engine and the Analytical Engine.
The first machine was intended for the automatic computation of polynomial functions with printed results in order to build trigonometric and logarithm tables for the preparation of astronomical tables useful for navigation. At the time, logarithm tables were expensive, cumbersome and often out of print (Campbell-Kelly 1987, 1988, Swade 2001). They were calculated by hand, a tedious method that was the source of many errors. We can cite as an example those of De Prony (1825) for assessment, which was studied among others by Grattan-Guinness (1990), of which Babbage was aware. This machine reportedly allowed the successive values of a polynomial function to be calculated by Newton's finite difference method (see, for example, Bromley (1987) and Swade (1993)). Figure 1.5 presents a prototype, with all the details of this construction given in Swade (2005). It was never produced during his lifetime because of the enormous cost of manufacturing the mechanics. It was not until May 1991 that the second model, called the "difference machine no. 2", was implemented at the London Science Museum where it was also exhibited (Swade 1993).
Figure 1.5. Replica of the first Babbage difference machine3. For a color version of this figure, see www.iste.co.uk/darche/microprocessor1.zip
The second machine (Figure 1.6) could compute the four basic arithmetic operations.
Figure 1.6. Babbage's analytical machine (© Science Museum/Science & Society Picture Library). For a color version of this figure, see www.iste.co.uk/darche/microprocessor1.zip
It introduces the basic architecture of a computer and its programming (Hartree 1948). Indeed, as illustrated in Figure 1.7, it was composed of a mill, which played the role of the modern Central Processing Unit (CPU), and a store, which played the role of main storage. It also implemented the notion of registers (major axes) and data buses (transfer paths). Integers were internally represented in base-10 using Sign-Magnitude or Sign and Magnitude Representation (SMR, cf. § 5.2 in Darche (2000)) in base 10. Extensive details of its operation are given in Bromley (1982). For the same technological and financial reasons previously mentioned, its construction has never been completed.
Figure 1.7. One of the plans for Babbage's analytical machine (© Science Museum/Science & Society Picture Library). For a color version of this figure, see www.iste.co.uk/darche/microprocessor1.zip
To program the machine, Babbage proposed the punched card. The latter had been invented by Basile Bouchon in 1725 for the weaving industry in the form of a strip of perforated paper. Jean-Baptiste Falcon improved it by transforming this strip into a string of punched cards linked together by cords. These cards made it possible to store a weaving pattern (Figure 1.8). This principle was further improved and made truly usable by Joseph Marie Jacquard with his famous loom (cf. Cass (2005) for a notice by J. M. Jacquard from 1809). Essinger (2004) tells the history of this machine. The latter was not the only programmable machine of the time. The music box with pegged cylinder was another form. In Babbage's machine, program instructions and data were entered separately using two decks of cards. Babbage had a collaborator, Ada Lovelace, who is considered the first programmer in history to have written a Bernoulli number algorithm for this machine (reproduced in Kim and Toole (1999)). However, we should not conclude that Charles Babbage is the source of the modern computer because of the influence of his ideas on the design of modern computers (Metropolis and Worlton 1980).
Figure 1.8. Falcon's loom. For a color version of this figure, see...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.