Computer Systems Architecture
eBook - ePub

Computer Systems Architecture

Aharon Yadin

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

Computer Systems Architecture

Aharon Yadin

Dettagli del libro
Anteprima del libro
Indice dei contenuti
Citazioni

Informazioni sul libro

Computer Systems Architecture provides IT professionals and students with the necessary understanding of computer hardware. It addresses the ongoing issues related to computer hardware and discusses the solutions supplied by the industry.

The book describes trends in computing solutions that led to the current available infrastructures, tracing the initial need for computers to recent concepts such as the Internet of Things. It covers computers' data representation, explains how computer architecture and its underlying meaning changed over the years, and examines the implementations and performance enhancements of the central processing unit (CPU). It then discusses the organization, hierarchy, and performance considerations of computer memory as applied by the operating system and illustrates how cache memory significantly improves performance.

The author proceeds to explore the bus system, algorithms for ensuring data integrity, input and output (I/O) components, methods for performing I/O, various aspects relevant to software engineering, and nonvolatile storage devices, such as hard drives and technologies for enhancing performance and reliability. He also describes virtualization and cloud computing and the emergence of software-based systems' architectures.

Accessible to software engineers and developers as well as students in IT disciplines, this book enhances readers' understanding of the hardware infrastructure used in software engineering projects. It enables readers to better optimize system usage by focusing on the principles used in hardware systems design and the methods for enhancing performance.

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 Systems Architecture è disponibile online in formato PDF/ePub?
Sì, puoi accedere a Computer Systems Architecture di Aharon Yadin in formato PDF e/o ePub, così come ad altri libri molto apprezzati nelle sezioni relative a Computer Science e Systems Architecture. Scopri oltre 1 milione di libri disponibili nel nostro catalogo.

Informazioni

Anno
2016
ISBN
9781315355924
Edizione
1
CHAPTER 1
Introduction and Historic Perspective
INTRODUCTION AND HISTORIC PERSPECTIVE
The need for computers or computing devices, which were originally intended just for counting, is as old as humankind. This need for a counting mechanism was developed as part of the verbal communication between humans in ancient times. Such a mechanism was needed in order to express ideas related to quantities such as the number of sheep in the herd, the time that had passed since a specific event, or the distance from some place. Only at a later stage did the counting mechanism develop into a system that started using symbols for representing quantities. These symbols led to another significant development, which supported simple arithmetic operations.
An interesting insight into the representation of quantities in ancient times can be found in Latin. It can be safely assumed that in the beginning, people used their fingers to represent quantities, since the origin of the word “digit,” the cornerstone to our numbering system, is the Latin word digitus, which means “finger.” Similarly, and based on the same logic, one can assume that the first calculations were performed using pebbles, since calculus in Latin means “pebble.” One of the oldest machines used for calculations was the abacus, invented in the ancient civilization of Mesopotamia about 5000 years ago. It was later spread to other civilizations, such as the Egyptian, Persian, Chinese, Greek, and so on. Some abacus variations are still being used in various remote locations around the globe. The device was intended to represent numbers (quantities) and to help in simple arithmetic such as additions and subtractions. Nevertheless, it is difficult to use it for more complex calculations. During the centuries that followed, many other various calculating devices were invented. One of these devices is the Napier Bones, a small and sophisticated device intended for complex calculations such as multiplications and divisions. It was invented in the early seventeenth century by John Napier, a Scottish mathematician who also discovered logarithms, among other things. The device was made of 10 ivory rods on which the multiplication table was engraved (Figure 1.1).
Image
FIGURE 1.1 The Napier Bones scheme.
Image
FIGURE 1.2 The Napier Bones example.
For performing a specific multiplication, only the relevant rods were used. The multiplication itself resembles the common multiplication process taught today in elementary schools, which starts from the least significant digit and continues to all higher-order digits. Let us assume we want to use the Napier Bones to multiply 3789 by 8. The rods to be selected and used will be 3, 7, 8, and 9 (Figure 1.2). We start the process of multiplication from right to left by writing down the numbers in row 8. The least significant digit (units) will be 2; the second (tens) will be 1 (4 + 7 = 11, which is larger than 9 so it produces a carryover and we write down only the units digit). The third digit (hundreds) will be 3 (adding the two diagonal digits and carry over 6 + 6 + 1 = 13, producing an additional carryover). The fourth digit (thousands) will be 0 (5 + 4 + 1 = 10) and the last digit (ten thousands) will be 3 (2 plus the carryover). The result obtained is 30312 (3789 * 8 = 30312).
The discovery of logarithms significantly contributed to lowering the complexity of calculations since it replaced multiplications and divisions by additions and subtractions. The slide rule, which was invented in the seventeenth century, was based on logarithms behavior. Described as a mechanical analog computer, the slide rule was used by scientists and engineers for over 300 years until it was gradually replaced by the electronic calculator. In its simplest form, the rule was based on two sliding logarithmic scales that could be aligned to produce the result of the multiplication or division.
There are several logarithms’ rules used for simplifying expressions. For example
log(xy)=log(x)+log(y) and log(xy)=log(x)log(y)
Multiplication is actually aligning the two slides, one after the other, by moving the upper scale to the right up to position x on the lower scale. The result is the number on the lower scale that scales with the y on the upper scale. For example, let us assume we have to multiply 2 by 4. We align the upper scale so that 1 is aligned with 2 on the lower scale, and then 4 on the upper scale is aligned with the result (Figure 1.3).
The race to invent a device for simplifying mathematical calculations continued with a device invented by Blaise Pascal, a French mathematician. This device was a mechanical calculator that used a set of interconnected wheels, a concept similar to the mechanisms in mechanical clocks.
However, many view Charles Babbage as the real “father of the computer.” He was an English mathematician who invented a device considered to be the first mechanical computer. Although it did not materialize, it paved the way for other newer ideas. Since additions and subtractions can be relatively easily implemented using a mechanical wheel, Babbage, like his predecessors, was looking for ways to replace complex mathematical computations such as polynomial functions by a set of simple operations using only additions and subtractions. The device was called the difference engine, since it overcame the need for multiplications and divisions by a method of finite differences.
Image
FIGURE 1.3 The slide rule example.
TABLE 1.1 Differences Table
X
The Function Value 9x2+ 3x + 12
First Difference
Second Difference
0
12
1
24
12
2
54
30
18
3
102
48
18
4
168
66
18
5
252
84
18
6
354
102
18
7
474
120
18
The main idea behind the method is to create a series of differences that replace the more complex calculations. The first set is calculated by the difference of each two consecutive values of the polynomial. The second set is calculated by the difference between any two consecutive values of the first set, and so on. The last set will consist of constants. The polynomial degree defines the number of sets to be calculated. For a polynomial degree of n, there will be n + 1 sets, where the first set is the polynomial values and the last set consists of a constant. The number of differences sets for such a polynomial is n.
For example, let us assume we want to calculate the differences for the function 9x2 + 3x + 12 (as described by Table 1.1).
From a mathematics point of view, it is quite simple to prove that for a second-degree polynomial, the second level of differences is constant.
The first level is calculated by
Diff 1n=9x2+3x+12(9*(x1)2+3*(x1)+12)=9x2+3x+129x2+15x+18=18x6
The second level is calculated by
Diff 2n=18x6(18*(x1)6)=18
After the initial values were calculated, the process can be reversed, which provides an easy way to calculate the values of the polynomial without the need for multiplications. To calculate the value of the polynomial for x = 8, we have to start with the last set of constants:
Set 3=18,18,18,18,18,18,18,18,18
Then we build the second set by starting with the first difference (f(2)−f(1)) and adding the constant to every object in the set:
Set 2=12,30,48,66,84,102,120,138
The last stage is building the first set, since this is a second-degree polynomial. This is done by starting with the value of f(0) and then adding this value to all objects:
Set 1=12,24,54,102,168,252,354,474,612
The required value (f(8)) is given at the ninth location (since the set starts with object 0).
Although Babbage planned the differences engine, he never built it. His son Henry continued the work and built a device using parts found in his father’s laboratory. However, it took an additional 150 years to fully complete the device by using better production technologies and better building materials. Several devices were built, all based on Babbage’s original drawings.
Babbage himself realized that the “real” solution for a computing device cannot be implemented using the differences engine, so he abandoned this idea and started working on an analytical engine.
Although the analytical engine idea did not proceed beyond the drawing board, the principles expressed (a processing unit, a control unit, memory, input and output devices) are the cornerstones of modern computers. The analytical engine as designed by Babbage had a 1000-cell memory, each cell capable of storing up to 50 digits. To allow better memory utilization, the analytical engine included a mechanism for writing out some of the cells for creating additional space for new numbers. This idea is widely used by most of the generalpurpose computers utilizing virtual memory and various storage devices. However, the most important aspect of the analytical engine was the understanding that the machine should be able to execute various programs and not just the one it was designed for. This understanding, which later led to the development of programming languages, is one of the unique characteristics of computers.
By separating the software or the executed programs from the hardware, computers and computer-based devices can be made to assume various different roles. Unlike all other machines or appliances that are designed to perform a specific task, computers can be made to change their behavior by loading different applications. After the computer (desktop, laptop, tablet, etc.) is started, it waits for the user’s instructions. When a word-processing application is launched, the computer “transforms” into a word-processing machine. If the user starts a browser, the computer “transforms” into a device that provides the means to surf the web. On the other hand, if the user prefers to launch a game, then the computer becomes a gaming console. It should be noted, however, that the computer hardware does not change, just the software loaded and executed. Computers’ many identity changes are possible due to the separation between software and hardware, which was initially designed by Babbage in his analytical engine.
Due to the vast spread of computers and their usage in various other devices, the multifunctionality or identity changes are not confined to computers only. Modern cellular phones, for example, utilize several processors and provide much more than the basic and original purpose of making phone calls. These small devices have emerged as mobile personal information centers providing web connectivity, a local database for various types of information (contact lists, photos, text, videos, music, etc.), and an entertainment center for playing music, video, and games; by loading other applications, the phone’s identity is transformed even further.
The First Computers
Herman Hollerith, who in the late nineteenth century invented a tabulation machine based on punched cards, is considered by many as the “father” of modern computers. This is mainly due to his practical contribution to advancing the subject. As has been the case many times in the past and present, technical developments were triggered by a need ...

Indice dei contenuti

  1. Cover
  2. Half Title
  3. Title Page
  4. Copyright Page
  5. Table of Contents
  6. Preface
  7. Author
  8. CHAPTER 1 ■ INTRODUCTION AND HISTORIC PERSPECTIVE
  9. CHAPTER 2 ■ DATA REPRESENTATION
  10. CHAPTER 3 ■ HARDWARE ARCHITECTURE
  11. CHAPTER 4 ■ CENTRAL PROCESSING UNIT
  12. CHAPTER 5 ■ MEMORY
  13. CHAPTER 6 ■ CACHE MEMORY
  14. CHAPTER 7 ■ BUS
  15. CHAPTER 8 ■ INPUT AND OUTPUT
  16. CHAPTER 9 ■ STORAGE
  17. CHAPTER 10 ■ ADDITIONAL ARCHITECTURES
  18. CHAPTER 11 ■ SOFTWARE ARCHITECTURES
  19. BIBLIOGRAPHY
  20. GLOSSARY
  21. INDEX
Stili delle citazioni per Computer Systems Architecture

APA 6 Citation

Yadin, A. (2016). Computer Systems Architecture (1st ed.). CRC Press. Retrieved from https://www.perlego.com/book/2038305/computer-systems-architecture-pdf (Original work published 2016)

Chicago Citation

Yadin, Aharon. (2016) 2016. Computer Systems Architecture. 1st ed. CRC Press. https://www.perlego.com/book/2038305/computer-systems-architecture-pdf.

Harvard Citation

Yadin, A. (2016) Computer Systems Architecture. 1st edn. CRC Press. Available at: https://www.perlego.com/book/2038305/computer-systems-architecture-pdf (Accessed: 15 October 2022).

MLA 7 Citation

Yadin, Aharon. Computer Systems Architecture. 1st ed. CRC Press, 2016. Web. 15 Oct. 2022.