The present invention relates to the hardware configurations of the Register Aliasing Table (RAT) which is suitable for use in structures such as modern microprocessor, microcontroller, CPU etc. that use pipe line technique, perform multi-command operations, prevents Write After Read (WAR), Write After Write (WAW), Read After Write (RAW) dependencies.
In the microprocessors used today, since a plurality of commands are tried to be processed simultaneously, write after read, write after write and read after write (RAW) risks are created. In order to eliminate these risks, Register Aliasing Table (RAT) is used. In case the result register of a command is used by another command, the basic logic of this use depends on registering the result to another space and rewriting the result to the register when the use of result register ends. In order to realize this, much more physical registers are installed in the processor than the registers defined in the microprocessor architecture. Matching the physical registers with the architectural registers is performed by the register aliasing tables.
The selected path as a result of estimations from the branches formed based on the conditional commands is followed until the actual result is determined in the microprocessors that use pipe line technique and performs speculative execution. The register aliasing table is required to be copied with the jump forecasting as soon as the conditional command is received in order to make the correct operations instead of the operations which were performed according to the estimated path until the actual result is obtained. Therefore, if the estimation is not correct, the operations can be continued by reaching the correct table again, where the values that it keeps are different.
There are applications used for this aim in the state of the art. Copying operations of the register aliasing tables in these applications which are known as SRAM memory and CAM memory register aliasing tables can be made by shifting. These applications have very complicated circuits, because they are shifted once backwardly, are shifted one minus from the number of registers forwardly and the space and power consumption of these circuits are very high. Register aliasing table is copied at each branching. If there is an incorrect estimation, then this copy is considered. This data motion leads to excessive energy consumption since copying and restoring the copy operations are made by shifting. Moreover, the size of the area where these copies will be stored increases the production cost of the used circuits. Some patent documents in the state of the art are given herein below.
In the register aliasing table disclosed in the British patent document numbered GB2503612A in the state of the art; reading is enabled by selecting the value in the conjugate table from the saved data. Operation that requires less time can be carried out since the processing condition of a determined data is used after it is received from the storage table. There are differences in terms of drawing the data with a horizontal architecture in the present application.
In the Chinese patent document numbered CN101582025A in the state of the art; a register aliasing table is disclosed. In said document, the process is carried out by reading the relations of write after write and write after read. Therefore, the acceleration of matching and selections is provided. It provides cost advantage by occupying 1% space compared to the existing one. The technical structure disclosed in the present invention and the architecture used is completely different.
The aim of this invention is to provide a circuit which consumes less energy, uses less space and has low latency compared to the applications in the state of the art.
Rename circuit realized for reaching the aim of this invention is illustrated in the accompanying figures, in which;
The parts in the figure are enumerated one by one and the parts correspond to these numbers are given in the following.
The inventive one direction-shift register aliasing table circuit suitable for use in microprocessors (1) mainly comprises the following elements;
In the inventive register aliasing table circuit (1), the first decoder (2) determines in which cell (51) group in the SRAM cell block (5), the reading and writing operations will be performed. The SRAM cell block (5) consists of cells (5) comprising transistors that store data in the circuit (1). In a preferred embodiment of the invention, 32 cells (5) with 7-bit and 5×32 decoders (2) with 7-bit are used. The decoder has 32 buses in this application. All of these buses are 7 bits.
The printer driver (3) is activated, when writing process will be carried out. The printer driver (3) is activated, when writing process will be carried out. In a preferred embodiment of the invention, 32 pieces of 7-bit printer driver (3) is used.
The pre-charge block (4) provides the voltage in the buses to be stable during the first half of each hour pulse of the microprocessor in the circuit (1) (namely when reading and writing process is not carried out). In a preferred embodiment of the invention, 32 pieces of 7-bit pre-charge blocks are used.
The sense amplifiers (7) provide to realize the reading process faster by detecting the voltage changes in the data paths in the circuit (1). In a preferred embodiment of the invention, 32 pieces of 7-bit sense amplifiers (7) are used.
The multiplexers (8) determined which groups of cells (51) will be chosen. When reading is performed, the information of the cell (51) chosen from the group in the row are printed. In a preferred embodiment of the invention, 32 pieces of 7-bit multiplexers are used.
The second decoder (6) enables the data to be transferred to the row below by the row which is in process at that time among the rows consisting of the cell (51) groups for copying the data when a jump command is received in order to perform an execution based on estimation when a conditional command according to the pipeline operation technique is received. Therefore, the data required to be copied remain on the previous row, and the reading and writing operations continue from the new row where the copy is received. In case it is required to return to the copied data, the second decoder (6) provides the performance of reading and writing operations over the data by returning back to the previous row. For example; If the second decoder (6) shows the row 0 and the copy command is received, then all data is copied to row 1 and from now on the operations will be made over row 1. If you require returning, row 0 is shown again. Therefore, only 1 bit shifting is performed in the copying process and only the row is changed in case it is required to return to the copy.
The first decoder (2) similar to determining in which cell (51) group in the SRAM cell block (5), the reading and writing operations will be performed, also determines which of the units arranged adjacently among the peripheral units (printer driver (3), pre-charge block (4), sense amplifier (7) will operate. Only the unit among the peripheral units in the relevant column operates depending on the cell groups where reading and writing processes will be performed. Therefore, power consumption can be reduced.
In the inventive circuit (1), the cells (51) comprise an operational amplifier which enables the data in the cell (51) to be transferred to the cell (51) below when a further jump command is received to a normal SRAM cell. The output (OUT) pin of each cell is connected to the (IN) pin of the cell that is below. The output of the cell on the bottom row is connected to the input pin of the cell which is on the top row. Therefore, all the cells (51) are connected to each other and form the rows and columns of the cell block (5). Therefore, hardware which allows for working in a circular structure in the inventive circuit (1) is formed. When the data in the bottom row is copied, the information copied from the upper rows can be added to anyone that is not required anymore.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/TR2020/050682 | 8/5/2020 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2021/025653 | 2/11/2021 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5758112 | Yeager et al. | May 1998 | A |
7406587 | Zhang et al. | Jul 2008 | B1 |
10489382 | Gschwind | Nov 2019 | B2 |
10877768 | Priyadarshi | Dec 2020 | B1 |
20020112148 | Wang | Aug 2002 | A1 |
20130179665 | Jackson | Jul 2013 | A1 |
Number | Date | Country |
---|---|---|
101582025 | Nov 2009 | CN |
101582025 | Nov 2009 | CN |
2503612 | Jan 2014 | GB |
Entry |
---|
International Search Report for corresponding PCT/TR2020/050682, dated Jan. 6, 2021. |
Written Opinion of the International Searching Authority for corresponding PCT/TR2020/050682, dated Jan. 6, 2021. |
Energy Efficient Register Renaming. Lecture Notes in Computer Science. 2799. 219-228. Kucuk, Gurhan & Ergin, Oguz & Ponomarev, Dmitry & Ghose, Kanad. (2003). DOI: 10.1007/978-3-540-39762-5_28. |
Number | Date | Country | |
---|---|---|---|
20220254423 A1 | Aug 2022 | US |