- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What are the layouts of the rename buffers?
The layout of the rename buffers establishes the actual framework for renaming. There are three basic components are the type and the number of the rename buffers and the basic mechanism which is used for accessing rename buffers as displayed in the figure.
Type of rename buffers
The chosen type of rename buffers has the largest impact on renaming. It is definitive for the basic approach of the implementation and thus it determines where the intermediate results of the instruction are to be written into or read form. It can be designated as intermediate results which have already been generated but are not yet qualified to modify the actual program state by writing them into the architectural registers.
Number of rename buffers
The following table shows an overview of how many rename buffers are provided by recent processors. Each of the three sections of the table covers a different implementation type. In the first section, we list processors that use a merged register file for architectural and rename registers. In these processors, it can find quite a large number of additional registers which can be used for renaming. The number of rename buffers ranges from 8 in the Power1, up to 32 in the R10000, and even 38 in the 64-bit Sparc-processor PM1 (Sparc64).
Number of rename buffers provided
Implementation of renaming | Number of rename buffers | |
---|---|---|
Processor type | FX | FP |
Merged rename and arch. Register file | ||
Power1 (1990) | 8 (32 arch. + 8 rename) | |
Power2 (1993) | 22 (32 arch. + 22 rename) | |
ES/9000 (1992p) | 16 (16 arch. + 16 ren.) | 12 (4 arch. + 12 rename) |
PM1 (1995) | 38 (78 arch. + 38 ren.) | 24 (32 arch. + 24 rename) |
R10000 (1996) | 32 (32 arch. + 32 ren.) | 32 (32 arch. + 32 rename) |
Separate rename register file | ||
PowerPC 603 (1993) | n.a. | 4 |
PowerPC 604 (1995) | 12 | 8 |
PowerPC 620 (1996) | 8 | 8 |
Renaming within the ROB | ||
Am29000 sup (1995) | 10 | |
K5 (1995) | 16 | |
PentiumPro (1995) | 40 |
Basic mechanisms used for accessing rename buffers
Rename buffers need to be accessed for several purposes, such as to fetch operands, to update them, or to deallocate them. There are two entirely different access mechanisms available as an associative mechanism and an indexed access mechanism.
Associative access mechanism − Rename buffers with associative access hold typically three kinds of information such as the destination register number, their values, and necessary status information. In this scheme, when a register content is to be fetched, say that of r2, all entries are looked up associatively to find the particular entry whose destination register field matches r2.
Indexed access mechanism − The other fundamentally different access mechanism is the indexed access mechanism. In this case, a mapping table is used to obtain the actual index into the rename buffer file. The mapping table contains for register r2 the index ‘3’. Thus, the register value of ‘20’ will be accessed from the corresponding entry no.3 in the rename buffer.
- Related Articles
- What are the layouts of Shelving Buffers?
- What are different methods to implement rename buffers?
- What are the steps to rename a file in Git?
- HTML Layouts
- Android UI Layouts
- How to flushes file system buffers in the Linux operating system?
- Address/data buffers in 8085 Microprocessor
- Form Layouts in Bootstrap
- CSS3 Flexible Box Layouts
- Rename a table in MySQL using RENAME TABLE command
- How to rename the properties of JSON using Gson in Java?
- Creating Layouts with Box-Sizing using CSS3
- How to adjust the space between Matplotlib/Seaborn subplots for multi-plot layouts?
- Rename column name with an index number of the CSV file in Pandas
- rename() function in PHP
