A Modeling of A Dynamically Reconfigurable Processor Using SystemC
A Modeling of A Dynamically Reconfigurable Processor Using SystemC
92
been proposed. The method proposed in [12] has some con- and forwards the result to the ID stage or the EX stage.
straints on the modeling, such that all modules must be on The processor has an integer ALU in the EX stage as the
same level of hierarchy and instantiated in th same compo- static operational unit, and executes the Load/Store instruc-
nent. The target modeling class in [13] and [14] is more tions, Addition/Subtraction/logical instructions, and Multi-
limited type of DRAs than our proposed method. plication/Division instructions at 5, 4 and about 35 clocks.
The instructions on the dynamic reconfiguration are the
3 Proposed Processor Architecture Dynamically Generation (DG) instructions of the DROU
and the OPerational (OP) instructions using the DROU. The
DROUs are generated in the EFU, execute the operation for
We describe a proposed DRP architecture. The pro-
the data received from the ID stage, and send the results to
posed processor has some operational units, which are
the WB stage.
generated and eliminated dynamically. It consists of a
A PRISC[16] is developed with the DRP closely con-
processor core and an Extended Functional Unit(EFU),
nected with the RF, as in our proposed processor.
which contains some Dynamically Reconfigurable Opera-
tional Units(DROUs). The overview of the proposed pro- 3.2 EFU and its Interface to the Processor
cessor is shown in Figure 2. In this paper, we deal with the Core
modeling independently of a specific DRA. In the model-
ing, we use SystemC and the DML. The EFU has two input and one output ports and con-
tains several DROUs. The EFU contains the values of the
Configuration Address (CA) and Block Address (BA) in the
table in order to manage the status of the reconfiguration.
The DG and OP instructions are also 32-bit width. The
DG instructions contain a 6-bit CA field and a 3-bit BA
field. The value of the CA field denotes the type of DROUs,
and the value of the BA field denotes the location of the
dynamic reconfiguration blocks in the EFU.
We can describe more abstract specification of the con-
struction of instructions and the type of operations using the
parameters and abstract data types. In the proposed model,
for the simplicity, we adopted the fixed construction of in-
structions and the fixed types of operations.
We assume that the number of clocks for the generation,
elimination of the dynamic reconfiguration blocks and the
execution of the operation is defined according to the types
of DROUs and can be given as the parameter. The ID stage
Figure 2. Block Diagram of the Proposed Pro- is stalled during the cycles specified by these parameters.
cessor The OP instructions consist of 2 or 3 operands. A 3-bit
address field, which is one of the operands, specifies the lo-
3.1 Processor Core cation of dynamic reconfiguration blocks. The operational
results are sent to the WB stage.
The proposed processor is a 32-bit pipelined processor The execution of these instructions is shown in Figure
that executes the subset of instructions of MIPS[15] in the 3. In the case of the DG instructions, the ID stage sends a
5-stage pipeline. The instruction set consists of about 50 signal Config en, which indicates the start of dynamic re-
instructions, such as integer/logical operations, Load/Store, configuration, and a signal Config adr, which indicates the
and Jump/Branch, and each instruction is executed in order. type of operational units to be dynamically reconfigured,
The processor has an integer- and a floating-point register to the EFU. The EFU spends the time Creating time when
files, and has the data transfer instructions between each the through DROU must be reconfigured dynamically. If
other. the DROU has been configured and this DROU has to be
In the execution of instructions, the proposed proces- eliminated for new unit, the EFU spends the necessary time
sor executes the Instruction Fetch(IF), the Instruction De- Deleting time and then issues the signal Genend to the ID
code(ID), the EXecution(EX), the Memory Access(MA) stage.
and the Write Back(WB) stages in order. In some instruc- In the case of the OP instructions, the ID stage sends
tions, the processor skips some stages. For example, in the source operands FP data or INT data, i.e., floating point
case of integer arithmetic instructions, it skips the MA stage data or integer data, respectively, a signal Drou op, which is
93
the type of operations, and and a signal Drou adr, which is the running process outputs the result sign1 tmp, exp5 tmp,
the location of dynamic reconfiguration blocks at the EFU. and man5 tmp through the port fout and waits for the next
The execution time at the DROU is specified as the param- operation . The description of the multiplication process is
eter Running time. The EFU sends the execution results to omitted in Figure 4.
the WB stage and sends a signal Exend to the ID stage. By
receiving the signal Exend, the ID stage restarts the issue of
instructions.
94
ing time. (7)To reconfigure a new DROU, it transits the
Creating state.
Creating time and Deleting time are the parameters,
which are defined according to the scale of module, adopted
DRA, and etc.
The transitions in (6) and (7) are the behavior in the case
that the DROU has been configured and this operational unit
should be eliminated for the new unit.
㪩㪼㫊㪼㫋㩿㪈㪀 㪠㪻㫃㪼
㪪㫋㪸㫋㪼
㪚㫆㫅㪽㫀㪾㪶㪼㫅㩿㪉㪀
㪚㫆㫅㪽㫀㪾㪶㪼㫅㩿㪍㪀 㪮㪸㫀㫋㩿㪚㫉㪼㪸㫋㫀㫅㪾㪶㫋㫀㫄㪼㪀
㩿㪊㪀
㪞㪼㫅㪼㫅㪻
㪩㫌㫅㫅㫀㫅㪾
㪮㪸㫀㫋㩿㪩㫌㫅㫅㫀㫅㪾㪶㫋㫀㫄㪼㪀 㪪㫋㪸㫋㪼
㩿㪋㪀
㪜㫏㪼㫅㪻
㪮㪸㫀㫋㩿㪥㪼㫎㪦㫇㪀㩷㩿㪌㪀
95
and the connection and dispatch of ports and channels. 2,” Proc, of IEEE VLSI-TSA Int. Sympo. on VLSI
In the “D Modules,” the description of the Mux model is Design, Automation & TEST, pp.321-322, Apr.2005.
slightly longer, and, in the “Control,” that of the proposed [3] J.E.Carrillo and P.Chow, “The Effect of Reconfig-
model is longer. The difference in the total descriptions is urable Units in Superscalar Processors,” Proc. of the
slight. 2001 ACM/SIGDA 9th Int. Sympo. on Field Pro-
In the simulation, the times of 1,000 executions of DG grammable Gate Arrays, pp.141-150, Feb.2001.
and OP instructions are measured. As a result, the time of [4] R. Bergamaschi and W. Lee, “Designing Systems-on-
the Mul model is 6.13 sec., that of the proposed method Chip Using Cores,” Proc. of the 37th Conf. on Design
without the acceleration method is 6.90 sec., and that of Automation, pp.425-430, Jun.2000.
the proposed method with acceleration methods is 6.72 [5] Open SystemC Initiative, “SystemC 2.1 Language
sec. The Mux model is the fastest, although the difference Reference Manual,” http://www.systemc.org.
among them is slight. In the case of a low frequency of re-
[6] SpecC Technology Open Consortium, http://www.
configuration, faster simulation of the proposed method is
specc.org.
possible[8].
[7] Accellera Organization, Inc., http://www. systemver-
The memory usage of the DML depends on the number
ilog.org.
of dynamic module types, and is fixed during the simula-
tion. In the experiment, it is dominated mainly by the user [8] K. Asano, J. Kitamichi, and K. Kuroda, “Proposal
processes of the static modules, especially in the ID stage. of Dynamic Module Library for System Level Mod-
eling and Simulation of Dynamically Reconfigurable
Systems,”Proc. of 20th Int. Conf. on VLSI DE-
5 Conclusion SIGN(VLSI DESIGN 2007),pp. 373-378, 2007.
[9] M. Gokhale and P. S. Graham,“ Reconfigurable
We described a DRP model which can dynamically gen- computing : Accelerating computation with field-
erate and eliminate the operational units using the DML. We programmable gate arrays,” SPRINGER,2005.
can easily and naturally model the generation and elimina- [10] Xilinx,“Vertex-4 Configuration Guide,”http://direct.
tion of the DROUs in the proposed processor. xilinx.com/bvdocs/userguides/j_ug071.pdf, UG071
The proposed model can be described as having a simi- (v1.3), 2005.
lar size as that of the Mux model, which uses multiplexers [11] T. Shiozawa, N. Imlig, K. Nagami, K. Oguri, A.
and de-multiplexers for switching the function, and similar Nagoya, and H. Nakada, “An Implementation of
speed simulation is possible. We showed the variability of Longest Prefix Matching for IP Router on Plastic
DML for the modeling of general-purpose DRPs. Cell Architecture,” Proc. of FPL 2000, LNCS 1896,
In the proposed model, the processor core is modeled pp.805-809, 2000.
using SystemC at the near-RT level, and, on the contrary,
[12] A. Pelkonen, K. Masselos, and M Cupák, “System-
the parts of the dynamic reconfiguration are modeled at the
Level Modeling of Dynamically Reconfigurable
abstracted level. We will refine the description level of the
Hardware with SystemC,”Proc. of Int. Paralles
total system from the system level to the RT level and apply
and Distributed Processing Symp.(IPDPS’03),pp.174-
our method for other DRP types. We research the system
181,2003.
partitioning from system model into static devices and dy-
[13] A. V. de Brito, E. U. K. Melcher, and W. Rosas, “An
namically reconfigurable devices and the technology map-
open-source tool for simulation of partially reconfig-
ping of dynamic modules and channels to a concrete DRA.
urable systems using SystemC,”Proc. of 2006 Emerg-
Acknowledgment ing VLSI Technologies and Archtectures(ISVLSI’06),
pp.434-435,2006.
This research has been supported by the Kayamori Foun- [14] P. A. Hartmann, A. Schallenberg, F. Oppenhaimer,
dation of Information Science Advancement. and W. Nebel, “OSSR+R:Simulation and Synthesis of
Self-adaptive Systems,”Proc. of Field Programmable
References Logic and Applications(FPL2006),pp.177-182, 2006.
[15] G. Kane, “MIPS RISC Architecture-R2000/R3000-,”
[1] H. Nakano, T. Shindo, T. Kazami, and M. Prentice-Hall, 1988.
Motomura, “Development of Dynamically Re-
[16] R.Razdan and M.Smith, “A High-Performance Mi-
configurable Processor Lsi,” NEC Technical
croarchitecture with Hardware-Programmable Func-
Journal,Vol.56,No.4,pp.99-102, 2003.
tional Units,” Proc. of 27th the Annual Int. Sympo.
[2] T.Toyo, H.Watanabe, and K.Shiba. “Implementation on Microarchitecture,pp.172-180, Nov.1994.
of Dynamically Reconfigurable Processor DAP/DNA-
96