2.1 A BRIEF HISTORY OF COMPUTERS (pg 17)
The First Generation: Vacuum Tubes
The ENIAC (Electronic Numerical Integrator and Computer), designed and constructed at the University of Pennsylvania, was the world’s first general-purpose electronic digital computer.The computer was built using vacuum tubes.
THE VON NEUMANN MACHINE: This was proposed by John von Neumann in 1945.The IAScomputer became the prototype of all subsequent general-purpose computers.Figure 1 illustrates the general structure of the IAS computer.
Figure 1: General structure of the IAS computer
COMMERCIAL COMPUTERS: The UNIVAC I was the first successful commercial computer to be built in 1950. It was built by the Eckert-Muchly Computer Corporation.IBM later released its first electronic stored-program computer, the 701, in 1953.
The Second Generation: Transistors
This era was characterized by the replacement of the vacuum tube with the transistorinvented at Bell Labs in 1947.
The IBM 7094: IBM’s product line shifted to transistor technology, resulting in increased performance, capacity, and/or lower cost.
The Third Generation: Integrated Circuits
This era is characterized by the invention of the integrated circuit in 1958, comprising semiconductors.
MICROELECTRONICS: Companies within this era managed to fabricate entire circuits in a tiny piece of silicon reducing the size of computer devices.
IBM SYSTEM/360: This IBM model was launched in 1964 as the world’s first planned family of computers, this allowed customers to make purchases based on their operational needs.
The characteristics of family computers are as follows:
• Similar or identical instruction set
• Similar or identical operating system
• Increasing speed
• An increasing number of I/O ports
• Increasing memory size
• Increasing cost
Later Generations
Later generations have been based on advances in integrated circuit technology, with the introduction of scale integration (LSI) having more than 1000 components per chip, Very-large-scale integration (VLSI) with more than 10,000 components per chip, and ultra-large-scale integration (ULSI) with more than one million components per chip.
SEMICONDUCTOR MEMORY: In 1970, Fairchild produced the first relatively capacious semiconductor memory chip that was about the size of a single core and could hold 256 bits of memory, and it was non-destructive and faster than the core.
MICROPROCESSORS: In 1971, Intel developed its 4004 chip which was the first chip to contain all of the components of a CPU on a single chip giving birth to the era of microprocessors.Towards the end of the 1970s, powerful general-purpose 16-bit microprocessors were introduced, and later in 1981, 32-bit, single-chip microprocessors were introduced.
2.2 DESIGNING FOR PERFORMANCE (pg 38)
Microprocessor Speed: In microprocessors, the addition of new circuits, and the speed boost associated with reduced distances between them, have improved performance four- or fivefold every three years. The following are some of the techniques for increasing processor speed:
1. Branch prediction: The processor groups of instructions, which are likely to be processed next, and buffers them so that the processor is kept busy.
2. Data flow analysis: The processor analyzes which instructions are dependent on each other’s results, or data, creating an optimized schedule of instructions.
3. Speculative execution: Some processors speculatively execute instructions before they actuallyappear in the program execution and hold the results in temporary locations.
Performance Balance: While processor speed has grown rapidly, the data transfer speed between the main memory and the processor has lagged badly.The following are some of the ways for solving the problem.
• Increase the number of bits retrieved at one time by making DRAMs “wider†and using wide bus data paths.
• Making DRAM’s interface more efficient by including a buffering techniques.
• Reducing frequency of memory access through the integration of efficient cache structures between the processor and main memory.
• Increase the interconnect bandwidth between processors and memory by using higher-speed buses and a hierarchy of buses to buffer and structure data flow.
• Use of caching and buffering schemes coupled with higher-speed interconnection buses to help satisfy I/O demands.
Improvements in Chip Organization and Architecture
There following are three techniques for increasing processor speed:
• Increasing the hardware speed of the processor by shrinking the size of the logic gates allowing packing of more logical gates togetherincreasing the clock rate.
• Increasing the size and speed of caches positioned between the processor and main memory.
• Make modification to the processor organization and architecture that increases the effective speed of instruction execution.
2.3 THE EVOLUTION OF THE INTEL x86 ARCHITECTURE (pg 44)
• 8080: The world’s first general-purpose microprocessor, it was an 8-bit machine with an 8-bit data path to memory.
• 8086: A 16-bit machine with a wider data path, larger registers and instruction cache, it was the first one in the x86 architecture.
• 80286: An extension of the 8086 capable of addressing a 16-MByte memory instead of just 1 Mbyte.
• 80386: Intel’s first 32-bit architecture machine was very powerfuland was the first Intel processor to support multitasking.
• 80486: it used more sophisticated and powerful cache technology and sophisticated instruction pipelining. Comprised a built-in math coprocessor for complex math operations.
• Pentium: introduced the use of superscalar techniques, which allowed parallel execution of multiple instructions.
• Pentium Pro: continued the move into the superscalar organization, comprised of aggressive use of register renaming, branch prediction, data flow analysis, and speculative execution.
• Pentium II: incorporated Intel MMX technology, specifically designed for efficient processing of video, audio, and graphics data.
• Pentium III: incorporated additional floating-point instructions to support 3D graphics software.
• Pentium 4: included additional floating-point among other improvements for multimedia.
• Core: the first Intel x86 microprocessor with a dual-core.
• Core 2: this extends the architecture to 64 bits.
2.4 EMBEDDED SYSTEMS AND THE ARM (pg 46)
The ARM architecture is a processor architecture thatevolved from a reduced instruction set computer (RISC) design principles and is used in embedded systems.
Embedded Systems
Refers to the integration of computer hardware and software, and perhaps additional mechanical parts, designed for performing a dedicated function.
Figure 2: Examples of Embedded Systems and Their Markets
Figure 3 illustrates a Possible Organization of an Embedded System.
Figure 3:Possible Organization of an Embedded System
ARM Evolution
ARM is a family of RISC-based microprocessors and microcontrollers designed by ARM Company. The processors are characterized by high-speed, small die size, and low power requirements.Figure 4 shows ARM Evolution.
Figure 4: ARM Evolution
Acorn, a British-based computer company, developed the first commercial RISC processor, the Acorn RISC Machine (ARM), for the British Broadcasting Corporation (BBC) literacy project. The first version, ARM1, was launched in 1985. In the same year, Acorn released the ARM2 with greater functionality and speed. Further improvements were achieved with the release of 1989 of the ARM3.
ARM Ltd was created with Acorn, VLSI, and Apple Computer as founding partners to furtheradvancements on the ARM processor; ARM6 was the first release. ARM processors are designed to meet the needs of three system categories:
• Embedded real-time systems
• Application platforms
• Secure applications
2.5 PERFORMANCE ASSESSMENT (pg 50)
Clock Speed and Instructions per Second
The system clock:this governs the operations performed by a processor, including fetching and decoding the instruction as well asperforming arithmetic operations, among others.Fundamentally, the speed of a processor is determined by the pulse frequency produced by the clock, measured in cycles per second, or Hertz (Hz); this is illustrated in figure 5.
Quartz crystal generates a constant signal wave when power is applied. The wave is converted into a digital voltage pulse stream provided in a constant flow to the processor circuitry. The clock rate or clock speed refers to the rate of the pulses. A clock cycle, or a clock tick, refers to a single increment or pulse of the clock. Cycle time refers to the time between pulses.
Figure 5: System Clock
Most instructions on most processors require multiple clock cycles to complete. Some instructions require only a few cycles, while others require several cycles.
INSTRUCTION EXECUTION RATE
A processor is driven by a clock with a constant frequency for, equivalently, a constant cycle timeT,whereT = 1/f. Define the instruction count, Ic, for a program as the number of machine instructions executed for that program until it runs to completion or for some defined time interval. An important parameter is the average cycles per instruction CPI for a program. The number of clock cycles required varies for different types of instructions. Let CPIi be the number of cycles required for instruction type i. and Ii be the number of executed instructions of type i for a given program. Then we can calculate an overall CPI as follows:
Table 1: Performance Factors and System Attributes
The processor time T needed to execute a given program can be expressed as:
Recognizing that during the execution of an instruction, part of the work is done by the processor, and part of the time, a word is being transferred to or from memory. Hence the time of transfer depends on the memory cycle time, which may be greater than the processor cycle time resulting in the equation:
Where p is the number of processor cycles needed to decode and execute the instruction, m is the number of memory references needed, and k is the ratio between memory cycle time and processor cycle time.The common performance measure for a processor is the rate at which instructions are executed, expressed as millions of instructions per second (MIPS), referred to as the MIPS rate, which can be expressed in terms of the clock rate and CPI as follows:
Another common performance measure deals only with floating-point instructions. These are common in many scientific and game applications. Floating-point performance is expressed as millions of floating-point operations per second (MFLOPS), defined as follows:
Benchmarks
Because of differences in instruction sets, the instruction execution rate is not a valid means of comparing the performance of different architectures. Hence measures such as MIPS and MFLOPS are inadequate for the performance evaluation of processors. Also, the processor’s performance in a given program may not be useful in determining the processor‘s performance on a very different type of application.
The following provides the desirable characteristics of a benchmark program:
• Written in a high-level language for portability.
• Representative of a particular kind of programming styles, such as systems programming, numerical programming, or commercial programming.
• It can be measured easily.
• Has wide distribution.
SPEC BENCHMARKS
System Performance Evaluation Corporation (SPEC) CPU2006 is the best known of the SPEC benchmark suites for processor-intensive applications.Other SPEC suites include the following:
• SPECjvm98:performance evaluation of the combined hardware and software aspects of the Java Virtual Machine (JVM) client platform.
• SPECjbb2000 (Java Business Benchmark):evaluation of server-side Java-based electronic commerce applications.
• SPECweb99: Evaluates the performance of World Wide Web (WWW) servers.
• SPECmail2001:evalauates system’s performance acting as a mail server.
AVERAGING RESULTS
For reliable comparison of the performance of various computers, it is preferable to run various benchmark programs on each machine and then average the results. For example, if m is a different benchmark program, then a simple arithmetic mean can be calculated as follows:
Where Ri is the high-level language instruction execution rate for the ith benchmark program, an alternative is to take the harmonic mean:
Amdahl’s Law
When considering system performance, computer system designers look for ways to improve performance by improvement in technology or change in design. Examples include the use of parallel processors, the use of a memory cache hierarchy, and speedup in memory access time and I/O transfer rate due to technology improvements.
Amdahl’s law was first proposed by Gene Amdahl and involved the potential speedup of a program using multiple processors compared to a single processor. Amdahl’s law illustrates the problems facing the industry in the development of multicore machines with an ever-growing number of cores. Amdahl’s law can be generalized to evaluate any design or technical improvement in a computer system; the speedup can be expressed as:
2.6 RECOMMENDED READING AND WEBSITES (57)
• Intel Developer’s Page
• ARM website
• Standard Performance Evaluation Corporation (SPEC
• Top500 Supercomputer Site
• Charles Babbage Institute
2.7 KEY TERMS, REVIEW QUESTIONS, AND PROBLEMS (59)
Essay Writing Service Features
Our Experience
No matter how complex your assignment is, we can find the right professional for your specific task. Global Assignment is an essay writing company that hires only the smartest minds to help you with your projects. Our expertise allows us to provide students with high-quality academic writing, editing & proofreading services.Free Features
Free revision policy
$10Free bibliography & reference
$8Free title page
$8Free formatting
$8How Our Essay Writing Service Works
First, you will need to complete an order form. It's not difficult but, in case there is anything you find not to be clear, you may always call us so that we can guide you through it. On the order form, you will need to include some basic information concerning your order: subject, topic, number of pages, etc. We also encourage our clients to upload any relevant information or sources that will help.
Complete the order formOnce we have all the information and instructions that we need, we select the most suitable writer for your assignment. While everything seems to be clear, the writer, who has complete knowledge of the subject, may need clarification from you. It is at that point that you would receive a call or email from us.
Writer’s assignmentAs soon as the writer has finished, it will be delivered both to the website and to your email address so that you will not miss it. If your deadline is close at hand, we will place a call to you to make sure that you receive the paper on time.
Completing the order and download