Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
70 views

Computer Architecture - Notes2

1. The document provides an overview of computer architecture, discussing 8 great ideas in computer design including designing for Moore's Law, using abstraction, making the common case fast, performance via parallelism and pipelining, performance via prediction, the hierarchy of memories, and dependability via redundancy. 2. It describes the 5 classic components of a computer system - input, output, memory, datapath, and control. It provides details on liquid crystal displays, touchscreens, integrated circuits, caches, volatile and non-volatile memory, and computer networks. 3. The document uses examples like the iPad 2 tablet to illustrate components like the integrated circuits, processors, and memory hierarchy in real systems.

Uploaded by

Sheela Saj
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views

Computer Architecture - Notes2

1. The document provides an overview of computer architecture, discussing 8 great ideas in computer design including designing for Moore's Law, using abstraction, making the common case fast, performance via parallelism and pipelining, performance via prediction, the hierarchy of memories, and dependability via redundancy. 2. It describes the 5 classic components of a computer system - input, output, memory, datapath, and control. It provides details on liquid crystal displays, touchscreens, integrated circuits, caches, volatile and non-volatile memory, and computer networks. 3. The document uses examples like the iPad 2 tablet to illustrate components like the integrated circuits, processors, and memory hierarchy in real systems.

Uploaded by

Sheela Saj
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 101

www.BrainKart.

com

CS6303 – COMPUTER ARCHITECTURE


LESSION NOTES
UNIT I OVERVIEW & INSTRUCTIONS
8 GREAT IDEAS
1. Design for Moore's Law

The one constant for computer designers is rapid change, which is


driven largely by Moore's Law. It states that integrated circuit resources double every
18–24 months. Moore's Law resulted from a 1965 prediction of such growth in IC
capacity made by Gordon Moore, one of the founders of Intel. As computer designs
can take years, the resources available per chip can easily double or quadruple
between the start and finish of the project. Like a skeet shooter, computer architects
must anticipate where the technology will be when the design finishes rather than
design for where it starts. We use an "up and to the right" Moore's Law graph to
represent designing for rapid change.

2. Use Abstraction to Simplify Design

Both computer architects and programmers had to invent techniques


to make themselves more productive, for otherwise design time would lengthen as
dramatically as resources grew by Moore's Law. A major productivity technique for
hardware and soft ware is to use abstractions to represent the design at different
levels of representation; lower-level details are hidden to off er a simpler model at
higher levels. We'll use the abstract painting icon to represent this second great idea.
www.BrainKart.com

3. Make the common case fast

Making the common case fast will tend to enhance performance


better than optimizing the rare case. Ironically, the common case is oft en simpler
than the rare case and hence is oft en easier to enhance. This common sense advice
implies that you know what the common case is, which is only possible with careful
experimentation and measurement. We use a sports car as the icon for making the
common case fast, as the most common trip has one or two passengers, and it's
surely easier to make a fast sports car than a fast minivan.

4. Performance via parallelism

Since the dawn of computing, computer architects have offered


designs that get more performance by performing operations in parallel. We'll see
many examples of parallelism in this book. We use multiple jet engines of a plane as
our icon for parallel performance.

5. Performance via pipelining

A particular pattern of parallelism is so prevalent in computer


architecture that it merits its own name: pipelining. For example, before fire engines,
a "bucket brigade" would respond to a fire, which many cowboy movies show in
response to a dastardly act by the villain. Th e townsfolk form a human chain to carry
a water source to fi re, as they could much more quickly move buckets up the chain
instead of individuals running back and forth. Our pipeline icon is a sequence of pipes,
with each section representing one stage of the pipeline.

6. Performance via prediction

Following the saying that it can be better to ask for forgiveness than to ask for
permission, the next great idea is prediction. In some cases it can be faster on
average to guess and start working rather than wait until you know for sure,
assuming that the mechanism to recover from a misprediction is not too
www.BrainKart.com

expensive and your prediction is relatively accurate. We use the fortune-teller's


crystal ball as our prediction icon.

7. Hierarchy of memories

Programmers want memory to be fast, large, and cheap, as memory


speed often shapes performance, capacity limits the size of problems that can be
solved, and the cost of memory today is often the majority of computer cost.
Architects have found that they can address these conflicting demands with a
hierarchy of memories, with the fastest, smallest, and most expensive memory per bit
at the top of the hierarchy and the slowest, largest, and cheapest per bit at the
bottom. Caches give the programmer the illusion that main memory is nearly as fast
as the top of the hierarchy and nearly as big and cheap as the bottom of the
hierarchy. We use a layered triangle icon to represent the memory hierarchy. The
shape indicates speed, cost, and size: the closer to the top, the faster and more
expensive per bit the memory; the wider the base of the layer, the bigger the
memory.

8. Dependability via redundancy

Computers not only need to be fast; they need to be dependable.


Since any physical device can fail, we make systems dependable by including
redundant components that can take over when a failure occurs and to help detect
failures. We use the tractor-trailer as our icon, since the dual tires on each side of its
rear axels allow the truck to continue driving even when one tire fails. (Presumably,
the truck driver heads immediately to a repair facility so the fl at tire can be fixed,
thereby restoring redundancy!)

COMPONENTS OF COMPUTER SYSTEM

Th e fi ve classic components of a computer are input, output, memory, datapath, and


control, with the last two sometimes combined and called the processor. Figure 1.5
shows the standard rganization of a computer. Th is organization is independent of
hardware technology: you can place every piece of every computer, past and present,
into one of these fi ve categories.
www.BrainKart.com

Through the Looking Glass


The most fascinating I/O device is probably the graphics display. Most personal
mobile devices use liquid crystal displays (LCDs) to get a thin, low-power display. Th e
LCD is not the source of light; instead, it controls the transmission of light. A typical
LCD includes rod-shaped molecules in a liquid that form a twisting helix that bends
light entering the display, from either a light source behind the display or less oft en
from refl ected light. Th e rods straighten out when a current is applied and no longer
bend the light. Since the liquid crystal material is between two screens polarized at 90
degrees, the light cannot pass through unless it is bent.
Today, most LCD displays use an active matrix that has a tiny transistor switch
at each pixel to precisely control current and make sharper images. A red-green-blue
mask associated with each dot on the display determines the intensity of the
threecolor components in the fi nal image; in a color active matrix LCD, there are
three transistor switches at each point.
Th e image is composed of a matrix of picture elements, or pixels, which can
be represented as a matrix of bits, called a bit map. Depending on the size of the
screen and the resolution, the display matrix in a typical tablet ranges in size from
1024 _ 768 to 2048 _ 1536. A color display might use 8 bits for each of the three
colors (red, blue, and green), for 24 bits per pixel, permitting millions of diff erent
colors to be displayed.

Touchscreen
While PCs also use LCD displays, the tablets and smartphones of the PostPC
era have replaced the keyboard and mouse with touch sensitive displays, which has
the wonderful user interface advantage of users pointing directly what they are
interested in rather than indirectly with a mouse. While there are a variety of ways to
implement a touch screen, many tablets today use capacitive sensing. Since people
are electrical conductors, if an insulator like glass is covered with a transparent
conductor, touching distorts the electrostatic fi eld of the screen, which results in a
change in capacitance. Th is technology can allow multiple touches simultaneously,
which allows gestures that can lead to attractive user interfaces.

Opening the Box


Figure 1.7 shows the contents of the Apple iPad 2 tablet computer.
Unsurprisingly, of the fi ve classic components of the computer, I/O dominates this
reading device. Th e list of I/O devices includes a capacitive multitouch LCD display,
front facing camera, rear facing camera, microphone, headphone jack, speakers,
accelerometer, gyroscope, Wi-Fi network, and Bluetooth network. Th e datapath,
ontrol, and memory are a tiny portion of the components. Th e small rectangles in
Figure 1.8 contain the devices that drive our advancing technology, called integrated
circuits and nicknamed chips. Th e A5 package seen in the middle of in Figure 1.8
contains two ARM processors that operate with a clock rate
www.BrainKart.com

of 1 GHz. Th e processor is the active part of the computer, following the instructions
of a program to the letter. It adds numbers, tests numbers, signals I/O devices to
activate, and so on. Occasionally, people call the processor the CPU, for the more
bureaucratic-sounding central processor unit.

Cache memory
Itconsists of a small, fast memory that acts as a buff er for the DRAM memory. (Th e
nontechnical defi nition of cache is a safe place for hiding things.) Cache is built using
a diff erent memory technology, static random access memory (SRAM). SRAM is faster
but less dense, and hence more expensive, than DRAM (see Chapter 5). SRAM and
DRAM are two layers of the memory hierarchy.

A Safe Place for Data


Th us far, we have seen how to input data, compute using the data, and display data.
If we were to lose power to the computer, however, everything would be lost because
the memory inside the computer is volatile—that is, when it loses power, it forgets. In
contrast, a DVD disk doesn’t forget the movie when you turn off the power to the DVD
player, and is thus a nonvolatile memory technology.

Communicating with Other Computers


We’ve explained how we can input, compute, display, and save data, but there is still
one missing item found in today’s computers: computer networks. Just as the
processor shown in Figure 1.5 is connected to memory and I/O devices, networks
interconnect whole computers, allowing computer users to extend the power of
computing by including communication. Networks have become so popular that they
are the backbone of current computer systems; a new personal mobile device or
server without a network interface would be ridiculed. Networked computers have
several major advantages:

Communication: Information is exchanged between computers at high speeds.


Resource sharing: Rather than each computer having its own I/O devices,
computers on the network can share I/O devices.
Nonlocal access: By connecting computers over long distances, users need not be
near the computer they are using.

Networks vary in length and performance, with the cost of communication


increasing according to both the speed of communication and the distance that
information travels. Perhaps the most popular type of network is Ethernet. It can be
up to a kilometer long and transfer at up to 40 gigabits per second.

Technologies for Building Processors


and Memory
Processors and memory have improved at an incredible rate, because
computer designers have long embraced the latest in electronic technology to try to
win the race to design a better computer. been used over time, with an estimate of
the relative performance per unit cost for each technology. Since this technology
shapes what computers will be able to do and how quickly they will evolve, we
believe all computer professionals should be familiar with the basics of integrated
circuits.
www.BrainKart.com

A transistor is simply an on/off switch controlled by electricity. Th e integrated


circuit (IC) combined dozens to hundreds of transistors into a single chip. When
Gordon Moore predicted the continuous doubling of resources, he was predicting the
growth rate of the number of transistors per chip. To describe the tremendous
increase in the number of transistors from hundreds to millions, the adjective very
large scale is added to the term, creating the abbreviation VLSI, for very large-scale
integrated circuit.

Th is rate of increasing integration has been remarkably stable. Figure 1.11


shows the growth in DRAM capacity since 1977. For decades, the industry has
consistently quadrupled capacity every 3 years, resulting in an increase in excess of
16,000 times! To understand how manufacture integrated circuits, we start at the
beginning. The manufacture of a chip begins with silicon, a substance found in sand.
Because silicon does not conduct electricity well, it is called a semiconductor. With a
special chemical process, it is possible to add materials to silicon that allow tiny areas
to transform into one of three devices: Excellent conductors of electricity (using either
microscopic copper or aluminum wire) been used over time, with an estimate of the
relative performance per unit cost for each technology. Since this technology shapes
what computers will be able to do and how quickly they will evolve, we believe all
computer professionals should be familiar with the basics of integrated circuits.

A transistor is simply an on/off switch controlled by electricity. Th e integrated


circuit (IC) combined dozens to hundreds of transistors into a single chip. When
Gordon Moore predicted the continuous doubling of resources, he was predicting the
growth rate of the number of transistors per chip. To describe the tremendous
increase in the number of transistors from hundreds to millions, the adjective very
large scale is added to the term, creating the abbreviation VLSI, for very large-scale
integrated circuit. Th is rate of increasing integration has been remarkably stable.
Figure 1.11 shows the growth in DRAM capacity since 1977. For decades, the industry
has consistently quadrupled capacity every 3 years, resulting in an increase in excess
of 16,000 times! To understand how manufacture integrated circuits, we start at the
beginning. Th e manufacture of a chip begins with silicon, a substance found in sand.
Because silicon does not conduct electricity well, it is called a semiconductor. With a
special chemical process, it is possible to add materials to silicon that allow tiny areas
to transform into one of three devices:

Excellent conductors of electricity (using either


microscopic copper or Excellent insulators from
electricity (like plastic sheathing or glass)
Areas that can conduct or insulate under special conditions (as a switch)

Transistors fall in the last category. A VLSI circuit, then, is just billions of
combinations of conductors, insulators, and switches manufactured in a single
small package.aluminum wire)
www.BrainKart.com

Performance
www.BrainKart.com
www.BrainKart.com

Throughput and Response Time


Do the following changes to a computer system increase
throughput, decrease response time, or both?
1.Replacing the processor in a computer with a faster version
2.Adding additional processors to a system that uses multiple processors for
separate tasks—for example, searching the web Decreasing response time almost
always improves throughput. Hence, in case
1, both response time and throughput are improved. In case 2, no one task gets
work done faster, so only throughput increases. If, however, the demand for
processing in the second case was almost as large as the throughput, the system
might force requests to queue up. In this case, increasing the throughput could also
improve response time, since it would reduce the waiting time in the queue. Th us,
in many real computer systems, changing either execution time or throughput oft
en aff ects the other. In discussing the performance of computers, we will be
primarily concerned with response time for the fi rst few chapters. To maximize
performance, we want to minimize response time or execution time for some task.
Th us, we can relate performance and execution time for a computer X:

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

Th e dominant technology for integrated circuits is called CMOS


(complementary metal oxide semiconductor). For CMOS, the primary source of energy
consumption is so-called dynamic energy— that is, energy that is consumed when
transistors switch states from 0 to 1 and vice versa. Th e dynamic energy depends on
the capacitive loading of each transistor and the voltage applied:

Frequency switched is a function of the clock rate. Th e capacitive load per


transistor is a function of both the number of transistors connected to an output
(called the fanout) and the technology, which determines the capacitance of both
wires and transistors.

www.BrainKart.com
www.BrainKart.com

The Sea Change: The Switch from Uniprocessors to Multiprocessors

The power limit has forced a dramatic change in the design of microprocessors.
Figure 1.17 shows the improvement in response time of programs for desktop
microprocessors over time. Since 2002, the rate has slowed from a factor of 1.5 per
year to a factor of 1.2 per year.
Rather than continuing to decrease the response time of a single program
running on the single processor, as of 2006 all desktop and server companies are
shipping microprocessors with multiple processors per chip, where the benefit is oft
en more on throughput than on response time. To reduce confusion between the
words processor and microprocessor, companies refer to processors as “cores,” and
such microprocessors are generically called multicore microprocessors.
Hence, a “quadcore” microprocessor is a chip that contains four processors or
four cores. In the past, programmers could rely on innovations in hardware,
architecture, and compilers to double performance of their programs every 18 months
without having to change a line of code. Today, for programmers to get significant
improvement in response time, they need to rewrite their programs to take advantage
of multiple processors. Moreover, to get the historic benefit of running faster on new
microprocessors, programmers will have to continue to improve performance of their
code as the number of cores increases.
To reinforce how the soft ware and hardware systems work hand in hand, we
use a special section, Hardware/Soft ware Interface, throughout the book, with the
first one appearing below. These elements summarize important insights at this
critical interface.
www.BrainKart.com
www.BrainKart.com

Operations of the Computer Hardware


Every computer must be able to perform arithmetic. Th e MIPS assembly
language notation add a, b, c instructs a computer to add the two variables b and c
and to put their sum in a.

This notation is rigid in that each MIPS arithmetic instruction performs only one
operation and must always have exactly three variables. For example, suppose we
want to place the sum of four variables b, c, d, and e into variable a. (In this section
we are being deliberately vague about what a “variable” is; in the next section we’ll
explain in detail.)

The following sequence of instructions adds the four


variables: add a, b, c # The sum of b
and c is placed in a add a, a, d # The
sum of b, c, and d is now in a add a, a,
e # The sum of b, c, d, and e is now in
a
Thus, it takes three instructions to sum the four variables. The words to the
right of the sharp symbol (#) on each line above are comments for the human reader,
so the computer ignores them.

MIPS ASSEMBLY LANGUAGE CODE


www.BrainKart.com
www.BrainKart.com

Operands of the Computer Hardware


One major difference between the variables of a programming language and
registers is the limited number of registers, typically 32 on current computers, like
MIPS. (See Section 2.21 for the history of the number of registers.) Thus, continuing
in our top-down, stepwise evolution of the symbolic representation of the MIPS
language, in this section we have added the restriction that the three operands of
MIPS arithmetic instructions must each be chosen from one of the 32 32-bit registers.
The reason for the limit of 32 registers may be found in the second of our three
underlying design principles of hardware technology:

Design Principle 2: Smaller is faster.

A very large number of registers may increase the clock cycle time simply
because it takes electronic signals longer when they must travel farther. Guidelines
such as “smaller is faster” are not absolutes; 31 registers may not be faster than 32.
Yet, the truth behind such observations causes computer designers to take them
seriously. In this case, the designer must balance the craving of programs for more
registers with the designer’s desire to keep the clock cycle fast. Another reason for
not using more than 32 is the number of bits it would take in the instruction format,
as Section 2.5 demonstrates.

www.BrainKart.com
www.BrainKart.com

Logical Operations
Although the first computers operated on full words, it soon became clear that
it was useful to operate on fields of bits within a word or even on individual bits.
Examining characters within a word, each of which is stored as 8 bits, is one example
of such an operation (see Section 2.9). It follows that operations were added to
programming languages and instruction set architectures to simplify, among other
things, the packing and unpacking of bits into words. Th ese instructions are called
logical operations. Figure 2.8 shows logical operations in C, Java, and MIPS.

www.BrainKart.com
www.BrainKart.com

The first class of such operations is called shift s. They move all the bits in a word to
the left or right, filling the emptied bits with 0s. For example, if register $s0 contained

0000 0000 0000 0000 0000 0000 0000 1001two = 9ten

and the instruction to shift left by 4 was executed, the new value would be:

0000 0000 0000 0000 0000 0000 1001 0000two = 144ten

Instructions for Making Decisions

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

MIPS Addressing for 32-bit Immediates and Addresses

Although keeping all MIPS instructions 32 bits long simplifi es the hardware,
there are times where it would be convenient to have a 32-bit constant or 32-bit
address. Th is section starts with the general solution for large constants, and then
shows the optimizations for instruction addresses used in branches and jumps.

32-Bit Immediate Operands


Although constants are frequently short and fi t into the 16-bit fi eld,
sometimes they are bigger. Th e MIPS instruction set includes the instruction load
upper immediate (lui) specifi cally to set the upper 16 bits of a constant in a register,
allowing a subsequent instruction to specify the lower 16 bits of the constant. Figure
2.17 shows the operation of lui.

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

MIPS Addressing Mode Summary


Multiple forms of addressing are generically called addressing modes. Figure 2.18
shows how operands are identifi ed for each addressing mode. Th e MIPS addressing
modes are the following:
1.Immediate addressing, where the operand is a constant within the instruction itself
2.Register addressing, where the operand is a register
3.Base or displacement addressing, where the operand is at the memory location
whose address is the sum of a register and a constant in the instruction
4. PC-relative addressing, where the branch address is the sum of the PC and a
constant in the instruction

5. Pseudodirect addressing, where the jump address is the 26 bits of the instruction
concatenated with the upper bits of the PC

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

UNIT II ARITHMETIC OPERATIONS

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

Parallelism and Computer Arithmetic: Subword Parallelism

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

UNIT III PROCESSOR AND CONTROL UNIT

Basic MIPS implementation

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

Building a Datapath

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

A Simple Implementation Scheme

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

An Overview of Pipelining

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

Pipelined Datapath and Control

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

Data Hazards: Forwarding versus Stalling

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

Control Hazards

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

Exceptions

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

UNIT IV PARALLELISM

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

UNIT V MEMORY AND I/O SYSTEMS

Memory hierarchy

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

Memory technologies

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

The Basics of Caches

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

Measuring and Improving Cache Performance

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

Virtual Memory

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com
www.BrainKart.com

www.BrainKart.com

You might also like