Computer Architecture: Fundamentals and Principles of Computer Design, Second Edition by Joseph D. Dumas II
Author:Joseph D. Dumas II [Dumas, Joseph D. II]
Language: eng
Format: epub, azw3, mobi
Publisher: CRC Press
Published: 2016-11-24T23:00:00+00:00
Table 4.3 Scoreboard example: functional unit status table
Table 4.4 Scoreboard example: instruction status table
Table 4.5 Scoreboard example: destination register status table
Another important control strategy was first used in the IBM 360/91, a high-performance scientific computer introduced in 1967. Its multiple pipelined execution units were capable of simultaneously processing up to three floating-point additions or subtractions and two floating-point multiplications or divisions in addition to six loads and three stores. The operation of the floating-point registers and execution units (the heart of the machine’s processing capability) was controlled by a hardware scheduling mechanism designed by Robert Tomasulo.
Tomasulo’s method is essentially a refinement of the scoreboard method with some additional features and capabilities designed to enhance concurrency of operations. One major difference is that in Tomasulo’s method, detection of hazards and scheduling of functional units are distributed, not centralized in a single scoreboard. Each data register has a busy bit and a tag field associated with it. The busy bit is set when an instruction specifies that register as a destination and cleared when the result of that operation is written to the register. The tag field is used to identify which unit will compute the result for that register. This information is analogous to that kept in the destination status register table of a scoreboard.
Another principal feature of Tomasulo’s method that differs from the scoreboard method is the use of reservation stations to hold operands (and their tags and busy bits, plus an operation code) for the functional units. Each reservation station is essentially a set of input registers that are used to buffer operations and operands for a functional unit. The details of functional unit construction are not important to the control strategy. For example, if the machine has three reservation stations for addition/subtraction (as the 360/91 did), it does not matter whether it has three non-pipelined adders or one three-stage pipelined adder (as was actually the case). Each reservation station has its own unit number and appears to the rest of the machine as a distinct “virtual” adder. Likewise, if there are two reservation stations for multiplication, the machine appears to have two virtual multipliers regardless of the actual hardware used.
The tags associated with each operand in Tomasulo’s method are very important because they specify the origin of each operand independently of the working register set. Although program instructions are written with physical register numbers, by the time an instruction is dispatched to a reservation station, its operands are no longer identified by their original register designations. Instead, they are identified by their tags, which indicate the number of the functional unit (actually the number of a virtual functional unit—one of the reservation stations) that will produce that operand. Operands being loaded from memory are tagged with the number of their load buffer (in a modern machine they might be tagged by cache location, but the 360/91 had no cache). Once an operand has been produced (or loaded from memory) and is available in the reservation station, its tag and busy bit are changed to 0 to indicate that the data value is present and ready for use.
Download
Computer Architecture: Fundamentals and Principles of Computer Design, Second Edition by Joseph D. Dumas II.azw3
Computer Architecture: Fundamentals and Principles of Computer Design, Second Edition by Joseph D. Dumas II.mobi
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Automotive | Engineering |
Transportation |
Whiskies Galore by Ian Buxton(41503)
Introduction to Aircraft Design (Cambridge Aerospace Series) by John P. Fielding(32871)
Small Unmanned Fixed-wing Aircraft Design by Andrew J. Keane Andras Sobester James P. Scanlan & András Sóbester & James P. Scanlan(32545)
Craft Beer for the Homebrewer by Michael Agnew(17911)
Turbulence by E. J. Noyes(7672)
The Complete Stick Figure Physics Tutorials by Allen Sarah(7109)
Kaplan MCAT General Chemistry Review by Kaplan(6558)
The Thirst by Nesbo Jo(6417)
Bad Blood by John Carreyrou(6251)
Modelling of Convective Heat and Mass Transfer in Rotating Flows by Igor V. Shevchuk(6213)
Learning SQL by Alan Beaulieu(6004)
Weapons of Math Destruction by Cathy O'Neil(5797)
Man-made Catastrophes and Risk Information Concealment by Dmitry Chernov & Didier Sornette(5610)
Digital Minimalism by Cal Newport;(5342)
Life 3.0: Being Human in the Age of Artificial Intelligence by Tegmark Max(5158)
iGen by Jean M. Twenge(5134)
Secrets of Antigravity Propulsion: Tesla, UFOs, and Classified Aerospace Technology by Ph.D. Paul A. Laviolette(4883)
Design of Trajectory Optimization Approach for Space Maneuver Vehicle Skip Entry Problems by Runqi Chai & Al Savvaris & Antonios Tsourdos & Senchun Chai(4820)
Electronic Devices & Circuits by Jacob Millman & Christos C. Halkias(4711)
