 |
CHAPTER 3: Instruction-Level Parallelism and Its Dynamic Exploitation
3.1 Instruction-Level Parallelism: Concepts and Challenges
1.1.1 What is Instruction-Level Parallelism?
1.1.2 Dependence and Hazards
1.1.3 Control Dependences
3.2 Overcoming Data Hazards with Dynamic Scheduling
3.2.1 Dynamic Scheduling: The Idea
3.2.2 Economies of Scale
3.2.3 Network Externalities
3.2.4 Service Integration
1.3 Future Network Developments
1.3.1 The Internet
1.3.2 Pure ATM Network
1.3.3 Cable TV
1.3.4 Wireless
3.1 Instruction-Level Parallelism: Concepts and Challenges
Key innovations:
1.1.1 Telephone Networks
circuit switching
digitization
separation of call control from voice transfer
optical links (SONET)
service integration (voice and data signals)
CCS (Common Channel Signaling)
Data communication network that the switches use to exchange control information.
Separate the functions from the transfer of voice
SONET (Synchronous Optical Network)
Use optical cable because of low bit error and higher bit rate
Less attenuation
ISDN (Integrated Services Digital Network)
1.1.2 Computer Networks
organization of data in packets
packet switching
the Internet Protocol hierarchy
multiple access control (token rings, Ethernet,...)
service integration (voice and data signals)
RS-232C
standard for the serial port of computer devices
SDLC (Synchronous Data Link Control)
format of a packet
store-and-forward packet switching method
statistical multiplexing
Ethernet
FDDI (Fiber Distributed Data Interface)
ATM (Asynchrounous Transfer Mode)
higher throughput
fixed length cell, 53 bytes
header contains a virtual circuit address or VCI, instead of source and destination address.
1.1.3 Cable Television Networks
digitization and compression using signal processing techniques
fiber-to-the-curb network
two-way links
service integration (movie programs, Internet,...)
CATV (Community Antenna Television)
3.2 Overcoming Data Hazards with Dynamic Scheduling
Problem: If there was a data dependence between an instruction already in the pipeline and
the fetched instruction that cannot be hidden with bypassing or forwarding. Dynamic scheduling, in
which the hardware rearranges the instruction execution to reduce the stalls while maintaining data flow
and exception behavior.
3.2.1 Dynamic Scheduling : The Idea
Instructions are issued in program order, and if an instruction is stalled in the pipeline, no later instructions can proceed. Thus, if there is a dependence between two closely spced instructions in the pipeline, this will lead to a hazard and a stall will result.
If there are multiple functional units, these units could lie idle. If
instruction j depends on a long-running instruction i, currently in execution in
the pipeline, then all instructions after j must be stalled until i is finished
and j can execute. For example, consider this code:
DIV.D F0, F2, F4
ADD.D F10, F0, F8
SUB.D F12, F8, F14
The SUB.D instruction cannot execute because the dependence of ADD.D on DIV.D
causes the pipeline to stall; yet SUB.D is not data dependent on anything in the
pipeline. This hazard creates a performance limitation that can be
eliminated by not requiring instructions to execute in program order.
Solution: To allow us to begin executing the SUB.D in the above example,
we must separate the issue process into two parts: checking for any
structural hazards and waiting for the absence of a data hazard. We want
an instruction to begin execution as soon as its data operand is available.
Thus, this pipeline does out-of-order execution, which implies out-of-order
completion.
DIV.D F0, F2, F4
ADD.D F6, F0, F8
SUB.D F8, F10, F14
MUL.D F6, F10, F8
WAR: There is an antidependence between the ADD.D and the SUB.D and
if the pipeline executes the SUB.D before the ADD.D (which is waiting for the
DIV.D), it will violate the antidependence, yielding a WAR hazard.
WAW: Likewise, to avoid violating output dependences, such as the
write of F6 by MUL.D, WAW hazards must be handled.
To resolve the two
hazards, register renaming is used.
- The digitization hardward decomposes thee range of possible sample values into a finite set of intervals, called quantization intervals, and associates a different binary number with each interval.
- The hardware then represents a given sammple by the binary number associated with the quantization interval of the sample.
Example: if there are 2^n quantization intervals, each interval is represented by an n-bit word.
Nyquist's Theorem: (the theoretical basis for sampling)
No information is lost by sampling provided that sampling rate is at least twice the maximum frequency, or bandwidth, of the analog signal.
Quantization introduces errors (known as noise added to the analog signal, called quantization noise):
the power of the signal
--------------------------------- = siggnal-to-noise ratio, measured in decibels (dB)
quantization noise
If the ratio is equal to R, then its value expressed in decibels is 10logR, where log designates the logarithm in base 10.
For example, 3 dB means a signal power that is twice as large as the noise power since 10log2 = 3.
The signal-to-noise ratio due to quantization is approximately equal to 6N dB, where N is the number of bits used to represent each sample.
There are 2^N intervals if there are N bits used to number the quantization intervals.
Magnitude error is prportional to 2^(-N).
Power of quantization noise is proprtional to 2(-2N).
Signal to Noise ratio is 1/ [2^(-2N) ]. In decibels, 10 log2^(2N) = 2N x 10log2 ~ 6N dB.
If the digitization hardware uses N bits per sample and samples the signal fs times per second, then it produces a bit stream with rate N x fs bps.
Example 1:
The telephone network transmits frequencies in the voice signal up to 4 kHz
And achieves a signal-to-noise ratio approximately equal to 48 db (16 x 10log2 = 10 log2^(16) = 48)
Sampling rate must be 2 x 4 kHz = 8 kHz
Number of bits per sample = 8 bits (6N = 48)
Therefore, the digitized voice has a rate of 8kHz x 8 = 64 Kbps
Example 2:
For CD, the maximum frequency = 20 kHz
Singal-to-noise ratio = 96 dB
Sampling rate = 2 x 20 kHz = 40 kHz
Number of bits per sample = 96 / 6 = 16 bits
CD has a rate of 40 kHz x 16 = 640 Kbps ~ 1.3 Mbps
70-minute CD must store: 70 (min) x 60 (s/min) x 1.3 x 10^6 (bps) / 8 (b/B) = 682.5 MB
Example 3:
For NTSC TV, maximum frequency = 4.5 MHz
Signal-to-noise = 48 dB
Sampling rate = 2 x 4.5 MHz = 9 MHz
Number of bits per sample = 48 / 6 = 8 bits
NTSC TV has a rate of 9000 KHz x 8 = 72000 Kbps = 72 Mbps
1.2.2 Economies of Scale
the cost of tranmission links grows slower than the cost of increasing bandwidth.
Hence more users occupy the same link.
Examples: users = n, link transmission rate = nB bps, average cost = C(nB)
each user continues to generate bit stream at rate B, but the per-user-cost C(nB)/n will decline as n grows.
fixed costs of operation, maintenance, and admisnistration that are not sensitive to network size
sharing tranmission facilities
1.2.3 Network Externalities
a network service is said to have positive externalities if its value to a user increases with the number of users.
1.2.4 Service Integration
a network that currently provides one set of services may be expanded to provide new services at an additional cost that is less than the cost of a new network set up to provide those new services.
1.3 Future Network Developments
1.3.1 The Internet
more users
more delay-insensitive applications for which the Internet has an overwhelming cost advantage
supporting real-time, high bit rate, delay-sensitive applications such as interactive voice and video applications
1.3.2 Pure ATM Networks
satisfactorily serve the continuing advances of IP infrastructure that will meet at least some quality of service needs
1.3.3 Cable TV
wide area multimedia network to be implemented to support the connection of CATV to the telephone and other wide area networks
1.3.4 Wireless
improve mobility
more notebooks and palm-sized devices
|
|
|