Register file and operating system thereof

The present invention relates to a register file in a microprocessor and operating system thereof for performing a data transfer between register cells within a register file. The register file has a plurality of register cells and an internal common bus that can directly transfer data between register cells by binding together control units for feedback transmission in each register cell to perform a direct data transfer between register cells. Each of the registers cell includes a repeater cell, a data input control unit, a data transfer control unit and a feedback transmission control unit.

BACKGROUND OF THE INVENTION 
1. Field of the Invention 
The present invention relates to a register file and operating system 
thereof in a microprocessor, and in particular, to a register file and 
operating system thereof in a microprocessor for performing a data 
transfer between repeater cells within a register file. 
2. Background of the Related Art 
As shown in FIG. 1, the operating system for a related art register file 
consists of a register file block 20, execution block 30 and control block 
10. 
The process for storing data in the related art register file block 20 will 
now be explained. According to control signals C-A, C-B and C-C from the 
control block 10, data are transferred from the execution block 30 to the 
register file block 20 by a third bus C-BUS. Data stored in the register 
file block 20 are emitted by first and second buses A-BUS, B-BUS. The 
execution block 30 carries out a particular function, e.g. an arithmetic 
operation with data from the register file block 20 carried on A-BUS and 
B-BUS after receiving a control signal C-exe from the control block 10. 
Then, the execution block 30 emits the result into the register file block 
20 using the C-BUS. The control block 10 receives a clock signal CLOCK of 
a synchronous signal and data transfer order from an external device (not 
shown) and generates the first, second and third control signals C-A, C-B, 
C-C for controlling operation of the register file block 20 and the 
control signal C-exe for controlling operation of the execution block 30. 
Thus, the related art register file block 20 acts only as a memory device. 
As shown in FIG. 2, a register cell making up a register file block 20 
includes a first MOS transistor NM1 operating ON or OFF based on signals 
entered through its drain and gate. The drain is coupled to the C-BUS 
carrying data from the execution block 30 and the gate receives the third 
control signal C-C. Second and third MOS transistors NM2, NM3 also operate 
ON or OFF based on signals entered through their drains and gates. At this 
time, their drains are coupled to the output of a repeater cell 21 and the 
gates receive the control signals C-A and C-B from the control block 10, 
respectively. 
The repeater cell 21 includes an inverter INV and two MOS transistors N1, 
P1, which operate to keep the input voltage state of the inverter INV by 
reverting the output signal from the inverter INV to maintain an output 
voltage state of the repeater cell 21. Further, the repeater cell may be 
composed of a positive or negative logic circuit for selecting its output 
signal. 
A plurality of register cells forms a register file block such as the 
register block 20. As shown in FIG. 3, data from a source register cell 
enter the execution block 30 on the data path and the execution block 30 
emits data into a destination register cell using the output bus C-BUS. 
In a microprocessor with the related art register files, a data transfer 
between register cells requires an execution unit. Accordingly, the 
control block 10 receives the clock signal and the data transfer order to 
generate the appropriate control signals C-A, C-B, C-C. Thus, the overall 
efficiency of the microprocessor is reduced. 
Each waveform of the control signals, input and output signals is 
illustrated in FIG. 4. Reference numbers 1 and 2 show a sequence of 
available signals during each signal output. First, when the third control 
signal C-C is high level when the third bus C-BUS is carrying a signal, 
the first MOS transistor NM1 operates, and the signal carried on the third 
bus C-BUS enters the repeater cell 21. Thus, the register file with a 
plurality of repeater cells stores data according to the signal carried on 
the C-BUS. At this time, when the first control signal C-1 or the second 
control signal C-B is high level, the data stored in the repeater cell 21 
are respectively emitted by the A-BUS or the B-BUS. 
In the related art register file, most registers can be designated a source 
or destination register. However, because some registers for logical 
multiply or any other particular purpose are exclusive, an additional 
transfer cycle between registers is needed for a data transfer from 
specific predetermined registers to another register. That is, an 
additional clock cycle and data transfer order are required. 
As a result, the overall efficiency of a microprocessor is decreased. In 
other words, when the result from a logic operation within one register 
file is transferred to another register, the transfer time consumption 
reduces the efficiency of the microprocessor. 
SUMMARY OF THE INVENTION 
An object of the present invention is to overcome at least the above 
described problems and disadvantages of the related art. 
Another object of the present invention is to provide a register file with 
additional transistors and operating system thereof, which enables a 
parallel data transfer order between registers without an additional unit 
as well as a general order. 
It is yet another object of the present invention to provide a register 
file and operating system that transfers data between registers in a 
microprocessor where the execution block is not used. 
It is still yet another object of the present invention to provide a 
register file and operating system that reduces time consumption of and 
thereby increases the utilization rate of register files. 
To achieve at least the above objects in whole or in part, a register cell 
of the present invention includes a repeater cell that keeps the state of 
an input signal and continues to emit the maintained input signal unless 
the input signal is changed. A data input control unit that transfers data 
carried on an input bus to the repeater cell based on a first control 
signal. A data transfer control unit that emits data from the repeater 
cell to an external data transfer bus based on a second control signal, 
and a feedback transmission control unit that forms a feedback 
transmission line to return data from the repeater cell to the repeater 
cell abased on a third control signal. 
To achieve the objects of the present invention in whole or in part, a 
register file operating system includes a register file block, an 
execution block and a control block. The register file block stores data 
entered by a third bus and emits the stored data using a first or a second 
bus according to a control signal. The execution block executes a 
particular function with the data emitted from the register file block by 
the first or second bus and then transfers the result into the register 
block using the third bus. The control block receives the clock signal of 
synchronous signal and a data transfer order from an external device to 
generate additional control signals for the register file block and the 
execution block. The register file block includes a plurality of register 
cells and a coupling between a sending transistor of a predetermined 
register cell and a receiving transistor of a next register cell or the 
receiving transistor of the predetermined register cell and the sending 
transistor of the next register cell to perform a direct data transfer 
from the predetermined register cell to the next register cell without 
passing through the execution block based on fourth and fifth control 
signals from the control block. 
To achieve the above objects of the present invention in whole or in part, 
a register file including a plurality of register cells and including an 
internal common bus directly transfers data between register cells by 
binding together feedback transmission control units provided in each 
register cell. The register cell includes a repeater cell keeping the 
state of input signal and continuing to emit the maintained input signal 
unless the input signal is changed. A data input control unit that 
transfers data carried on the input bus to the repeater cell according to 
a first control signal. A data transfer control unit that emits data from 
the repeater cell to an external data transfer bus according to a second 
control signal, and a feedback transmission control unit that forms a 
feedback transmission line to return data from the repeater cell to the 
repeater cell according to a third control signal. 
Additional advantages, objects, and features of the invention will be set 
forth in part in the description which follows and in part will become 
apparent to those having ordinary skill in the art upon examination of the 
following or may be learned from practice of the invention. The objects 
and advantages of the invention may be realized and attained as 
particularly pointed out in the appended claims.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
FIG. 5 shows a first preferred embodiment of a register cell according to 
the present invention in which five MOS transistors NM11-NM15 are coupled 
to one repeater cell 21. 
The register cell of FIG. 5 is coupled to a register file block, an 
execution block and a control block. The register file block is storing 
data entered by a third bus and emitting the stored data using a first bus 
or the second bus according to a first control signal. 
The execution block performs a particular function according to an 
execution control signal with the stored data, which are emitted from the 
register file block by the first or second bus. The execution block then 
transfers the result into the register block using the third bus. The 
control block receives a clock signal and data transfer order from an 
external device or the like (not shown) to generate control signals for 
the register file block and the execution control signal for the execution 
block. In addition, as shown in FIG. 8, a portion where the drain of the 
fourth MOS transistor NM14 and the source of the fifth MOS transistor NM15 
meet is a fourth bus I-BUS. 
Operation of the register cell of FIG. 5 will now be described. As shown in 
FIG. 6, operation of the first, second and third control signals C-A, C-B, 
C-C is similar to the related art when both fourth and fifth control 
signals C-D, C-E are high level. 
When performing a direct data transfer method according to the present 
invention, the fourth control signal C-D preferably has an opposite level 
relative to the fifth control signal C-E. 
FIG. 7 shows data flow of the direct data transfer between register cells 
within a register file block, which has a plurality of register cells 
according to the first preferred embodiment. As shown in FIG. 7, when the 
fifth NMOS transistor NM15a is ON and the fourth NMOS transistor NM14a 
coupled to the input terminal of the first repeater cell 21A is OFF, data 
enter the drain of the fourth NMOS transistor NM14b, which is coupled to 
the input of the second repeater cell 21B. At this time, if the fourth 
NMOS transistor NM14b remains ON, data from the first repeater cell 21A is 
stored in the second repeater cell 21B without passing through the 
execution block. 
FIG. 8 shows a first preferred embodiment of an operating system according 
to the present invention for direct data transfer between register cells 
using an exemplary register file. The operating system includes a control 
block 100, a register file block 200 and an execution block 300. The 
register file block 200 stores data entered via a third bus C-BUS and 
emits the stored data using a first bus A-BUS or a second B-BUS according 
to corresponding control signals C-A and C-B. 
The execution block 300 carries out a particular function according to a 
control signal C-exe with the stored data, which are emitted from the 
register file block 200 by the first bus A-BUS or the second B-BUS. The 
execution block then transfers the result into the register file block 200 
using the third bus C-BUS. 
The control block 100 receives a clock signal CLOCK, which is preferably a 
synchronous signal and a data transfer order preferably from an external 
device (not shown) to generate the control signals C-A, C-B, C-C, C-D, C-E 
for the register file block 200 and the control signal C-exe for the 
execution block 300. 
FIG. 9 shows waveforms of signals during operations of the register file 
block 200. All signals in FIG. 9 are operated based on the clock signal 
CLK. The legends A to E within the waveforms represent the first to third 
control signals C-A, C-B, C-C that enter the register file block according 
to a general order, input data to register file (data carried on the third 
bus C-BUS) and output data from register file (data carried on the first 
and second buses A-BUS, B-BUS). 
Also, reference numbers 11 to 14 within the waveforms represent the fourth 
and fifth control signals C-D, C-E that enter the register file block 
pursuant to the preferred embodiments based on a data transfer order and 
output data from the register file (data carried on the fourth bus I-BUS). 
Further, the first and second control signals C-A, C-B of a source cell 
represent signals entering the register cell RES-PA selected as a source 
cell within a register file block 200 during the general order 
performance. In the meantime, the third control signal C-Cb of the 
destination cell represents a signal entering the register cell REG-PB 
selected as a destination cell within the register file block 200 during 
the general order performance. 
Thereby, during general order performance within the register file block 
200, data stored in the source cell REG-PA are carried on the first and 
second buses A-BUS, B-BUS for the first clock cycle. Depending upon the 
order, the data are carried on either the first bus A-BUS or the second 
B-BUS. At this time, data respectively carried on the A-BUS and the B-BUS 
are received from different register cells, respectively. 
That is, the A-BUS and the B-BUS have different register cells relative to 
each other and each register cell emits data into the assigned bus. 
Preferably, a signal comes from the control block 100 to assign a register 
cell to be used according to a corresponding order. For the second clock 
cycle, the execution block 300 reads data from the first and second buses 
A-BUS, B-BUS and performs the order, and emits the results of the executed 
operation on the stored data to the third bus C-BUS for the second-second 
clock cycle. The results carried on the C-BUS are stored in the second 
repeater cell 21B by the third control signal C-Cb of the destination 
register cell REG-PB. 
A data transfer from the source cell REG-PA to the destination cell REG-PB 
can be directly performed at the same time during the general order 
performance as described above. For the first clock cycle, the source cell 
REG-PA transfers data stored in the first repeater cell 21A to the fourth 
bus I-BUS depending on the entered fifth control signal CEa. 
Simultaneously, the fourth control signal C-Db of the destination cell 
REG-PB is stored in the second repeater cell 21B. 
Thereby, data from the source cell REG-PA are stored in the destination 
cell REG-PB during the first clock cycle, and data transfer order is 
completed. Between other registers, data can be transferred during the 
following clock cycle. Thus, in every clock cycle, data is transferred 
between register cells. Reference numbers 11 to 14 within the waveforms 
shown in FIG. 9, show cycles of data transfer in every clock cycle. 
Therefore, a general order and a data transfer order between registers can 
be performed in parallel at the same time. 
As described above, when the register file according to the present 
invention and operating system thereof are provided, a data transfer 
between registers does not use the execution block, which lowers of the 
utilization rate of register file. Accordingly, the register file has 
additional time to perform other operations. Further, the computational 
time is reduced. Thus, overall capability of a microprocessor can be 
improved. 
The foregoing embodiments are merely exemplary and are not to be construed 
as limiting the present invention. The present teaching can be readily 
applied to other types of apparatuses. The description of the present 
invention is intended to be illustrative, and not to limit the scope of 
the claims. Many alternatives, modifications, and variations will be 
apparent to those skilled in the art.