sequence of instructions and base the issue of each instruction on the number of instructions
already issued of each instruction class, as well as checking for data dependencies between
results and operands of instructions. In effect, the selection of which operations to issue in a
given cycle is performed at compile time in a VLIW machine, and at run time in a superscalar
machine. Thus the instruction decode logic for the VLIW machine should be much simpler than
the superscalar. However, when the amount of instruction-level parallelism is less than that
available in the VLIW machine, the code density of the superscalar machine will be better. A
superscalar machine could be object-code compatible with a large family of non-parallel
machines, but a VLIW machine would have to have a unique instruction set. In spite of these
differences, in terms of run time exploitation of instruction-level parallelism, the superscalar and
VL/W will have similar characteristics. Because of the close relationship between these two
machines, we will only discuss superscalar machines in general and not dwell further on
distinctions between VLIW and superscalar machines.
2.3.2. Class Conflicts
There are two ways to develop a superscalar machine of degree n from a base machine.
1. Duplicate all functional units n times, including register ports, bypasses, busses,
and instruction decode logic.
2. Duplicate only the register ports, bypasses, busses, and instruction decode logic.
Of course these two methods are extreme cases, and one could duplicate some units and not
others. But if all the functional units are not duplicated, then potential class conflicts will be
created. A class conflict occurs when some instruction is followed by another instruction for the
same functional unit. If the busy functional unit has not been duplicated, the superscalar
machine must stop issuing instructions and wait until the next cycle to issue the second
instruction. Thus class conflicts can substantially reduce the parallelism exploitable by a
superscalar machine. (We will not consider superscalar machines or any other machines that
issue instructions out of order. Techniques to reorder instructions at compile time instead of at
run time are almost as good [2, 3, 10], and are dramatically simpler than doing it in hardware.)
2.4. Superpipelined Machines
Superpipelined machines exploit instruction-level parallelism in another way. In a
superpipelined machine of degree m, the cycle time is 1/m the cycle time of the base machine.
Since a fixed-point add took a whole cycle in the base machine, given the same implementation
technology it must take m cycles in the superpipelined machine. In terms of the code fragment
in the introduction, the three instructions can issue in successive cycles, and by the time the third
has issued, there are three operations in progress at the same time.
ลำดับของคำสั่งและฐานของปัญหาแต่ละเรื่อง จำนวนของคำแนะนำ
แล้วออกของแต่ละคลาสสอน รวมทั้งตรวจสอบข้อมูลการอ้างอิงระหว่าง
ผลลัพธ์และเปอแรนด์ของคำสั่ง ผลการดําเนินการซึ่งจะออกใน
ให้รอบแสดงที่รวบรวมเวลาใน vliw เครื่องจักร และเวลาที่ใช้ในซูเปอร์สเกลาร์
เครื่องดังนั้นการถอดตรรกะสำหรับ vliw เครื่องน่าจะง่ายกว่า
ซูเปอร์สเกลาร์ . แต่เมื่อปริมาณความระดับการสอนน้อยกว่า
ที่มีอยู่ใน vliw เครื่องรหัสความหนาแน่นของซูเปอร์สเกลาร์เครื่องจะดีขึ้น เป็นเครื่องที่สามารถรหัสวัตถุ
ซูเปอร์สเกลาร์เข้ากันได้กับครอบครัวใหญ่ที่ไม่ขนาน
เครื่องจักรแต่ vliw เครื่องจะต้องมีชุดการสอนที่ไม่ซ้ำกัน ทั้งๆที่มีความแตกต่างเหล่านี้
, ในแง่ของการใช้ เวลาของความระดับการเรียนการสอน ซูเปอร์สเกลาร์และ
6 w / จะมีลักษณะคล้ายกัน เพราะความสัมพันธ์ที่ใกล้ชิดระหว่างทั้งสอง
เครื่อง เราจะหารือเกี่ยวกับซูเปอร์สเกลาร์เครื่องจักรทั่วไป และอาศัยเพิ่มเติมเกี่ยวกับ
ความแตกต่างระหว่าง vliw และเครื่องซูเปอร์สเกลาร์ .
2.3.2 . ความขัดแย้งในคลาส
มีสองวิธีที่จะพัฒนาเครื่องซูเปอร์สเกลาร์ระดับ N จากฐานเครื่อง .
1 ที่ซ้ำกันทุกหน่วยงาน n ครั้ง รวมทั้งลงทะเบียนพอร์ต , ข้าม , บัส , ถอดรหัสและตรรกะการ
.
2 ซ้ำเพียงลงทะเบียนพอร์ต , ข้าม , บัส , และการสอน
ถอดรหัสตรรกะแน่นอนทั้งสองวิธีนี้เป็นกรณีที่รุนแรง และอาจซ้ำบางหน่วย และไม่
คนอื่น แต่ถ้าทุกหน่วยงานจะไม่ซ้ำกัน แล้วศักยภาพระดับความขัดแย้งจะ
ตั้งขึ้น ระดับความขัดแย้งเกิดขึ้นเมื่อการเรียนการสอนบางอย่างจะตามมาอีกสอน
หน่วยการทำงานเดียวกัน หากหน่วยงานยุ่งยังไม่ได้ลอก , ซูเปอร์สเกลาร์
เครื่องต้องหยุดการออกคำสั่งและรอจนกว่ารอบต่อไปออกสอนสอง
ดังนั้นความขัดแย้งระดับอย่างมากสามารถลดความ exploitable โดย
ซูเปอร์สเกลาร์เครื่องจักร ( เราจะไม่พิจารณาเครื่องซูเปอร์สเกลาร์หรืออื่น ๆเครื่องที่
ออกคำสั่งออกจากการสั่งซื้อ เทคนิคที่จะสั่งซื้อคําแนะนําที่รวบรวมเวลาที่
แทนเวลาในการรันเกือบจะเป็นดี [ 2 , 3 , 10 , และมีมากง่ายกว่าทำในฮาร์ดแวร์ )
2.4 . superpipelined เครื่อง
superpipelined เครื่องใช้การสอนระดับขนาน ในอีกทางหนึ่ง ใน
superpipelined เครื่องระดับ M , รอบเวลา 1 / M รอบฐานเครื่อง
ตั้งแต่เรื่องเพิ่มเอาวงจรทั้งในฐานเครื่องให้
การใช้งานเดียวกันเทคโนโลยีมันต้องใช้ M รอบเครื่อง superpipelined . ในแง่ของรหัสชิ้นส่วน
ในเบื้องต้น ส่วนสามคำสั่งจะออกในรอบต่อเนื่อง และด้วยเวลา 3
ได้ออก , มีการดำเนินการคืบหน้าในเวลาเดียวกัน .
การแปล กรุณารอสักครู่..
