A study of register renaming in x86 superscalar processor

碩士 === 國立交通大學 === 資訊工程研究所 === 83 === Superscalar processors exploit the concurrent use of multiple functional units by issuing multiple instructions to these functional units. However, they still suffer from two impediments: branch hazards...

Full description

Bibliographic Details
Main Authors: Chang-Chung Liu, 劉昌忠
Other Authors: Chung-Ping Chung
Format: Others
Language:en_US
Published: 1995
Online Access:http://ndltd.ncl.edu.tw/handle/22937792556387942271
Description
Summary:碩士 === 國立交通大學 === 資訊工程研究所 === 83 === Superscalar processors exploit the concurrent use of multiple functional units by issuing multiple instructions to these functional units. However, they still suffer from two impediments: branch hazards and data dependencies. The penalties caused by them in the processor can be minimized by rearranging the instruction sequence with a hardware or software approach. And register renaming is a very effective technique in providing the freedom for moving instructions around in the original instruction sequence. Register renaming mechanism removes the anti- and output dependencies between instructions to allow more independent instructions to execute in parallel in superscalar processing. In x86 processors, there are fewer general-purpose registers than those in a typical RISC processor, and reusing of the registers in a program is expected to be more frequent. Therefore, renaming the registers to uncover the instruction parallelism is needed. However, a 32-bit extended register can be further divided into 16- or 8-bit independent registers in these processors, which makes renaming very difficult. In this thesis, we propose two renaming hardware schemes in an x86 superscalar processor, and evaluate them on an aggressive superscalar processor machine model with reservation stations and a reorder buffer. The first of the two renaming schemes is an intuitive design, whose hardware cost may make it less desirable; and the second is to aim at reducing the hardware cost, with possibly deteriorated performance. Simulation results show that the second scheme can reduce the hardware cost while retaining about 99 percent of the performance from the register renaming by the first scheme.