Escolar Documentos
Profissional Documentos
Cultura Documentos
Coprocessor
Indrajeet Kalyankar
Department of Electrical and Computer Engineering
Old Dominion University, Norfolk, Virginia 23529
Email: ikaly001@odu.edu
IS INSTRUCTION A
FUNCTIONAL BLOCK? 1
YES
0.5
0
1
IS BLOCK PRESENT IN
RECONFIGURABLE CO- NO 0.8 1
PROCESSOR? 0.6 0.8
0.4 0.6
0.4
0.2
FETCH FUNCTIONAL 0.2
BLOCK AND PROGRAM 0 0
Function Block Call time
NO Reconfiguration Time
INTO THE CO-
YES PROCESSOR
2.5
0.5
0
Fig. 2. Timeline when executing in software 1
0.8 1
12/2005 - 12/19/2005
3/12/2006 - 4/13/2006 3/5/2006 - 4/21/2006
2/26/2006 - 3/22/2006
3/12/2006 - 4/13/2006 0.6 0.8
3/12/2006 - 4/13/2006
0.4 0.6
BASIC, tn tc BASIC, tn tp tc BASIC, tn
0.4
0.2
0.2
0 0
Function Block Call time
Reconfiguration Time
parameters varying. Observing the plots, one can see that for a
high function block time and a low block reconfiguration time,
2 the hit rate does not matter. Figure 8 reveals the break even line
for the two systems. Higher hit rates and lower reconfiguration
TOTAL EXECUTION TIME
0
The application is characterized by a main iterative loop in
1
which a core operation is to be defined in a functional block.
0.8 1
0.6 0.8 The basic structure of the algorithm is:
0.4 0.6
0.4
0.2
0.2 initialization
0 0
EX. TIME BETWEEN FUNC. BLOCKS
NORMAL BLOCK EXECUTION TIME
for i=1 to N
Fig. 4. Total Time for a Normal Processor
Speedup = T imenormal
T imereconf ig
tinit +tbasic ∗N +tb ∗N +tclean up
Speedup = tinit +tbasic ∗N +tc ∗N +tp +tclean up
3
V. C ONCLUSIONS
2.5
Performance of a reconfigurable system is only visible if the
Total Execution Time
2
hit rates are favorable, else the reconfiguration times should be
1.5 low. Factors such as intelligent pre-fetching of function blocks
1
and replacement policies have not been considered which
would play a key role in performance and could liven up the
0.5
analysis. Parallelizing the working of the reconfigurable co-
0 processor could pay rich dividends. Reconfigurable Systems
1
0.8 1
can only fare better than their ASIC counterparts in applica-
0.6 0.8 tions where function blocks run sufficiently slowly in software
0.4 0.6
0.4 and the task being worked on needs a multitude of function
0.2
0.2
Function Block Call time
0 0
blocks. In other words, ”reconfigurable” worthy applications
Reconfiguration Time
have to be discovered to warranty the use of reconfigurable
Fig. 7. Total Time for a Reconfigurable System, Ph = 0.1, tn = systems.
0.0, 0.5, 1.0 units
R EFERENCES
[1] JR Hauser, J Wawrzynek, Garp: A MIPS Processor with a Reconfigurable
Coprocessor Workshop on FPGAs for Custom Computing Machines,
pp. 24–33, 1997.
[2] Toshiaki Miyazaki, Reconfigurable Systems: A Survey NTT Optical
2
NORMAL PROCESSOR
Network Systems Laboratories A1-329S, 3-1 Morinosato Wakamiya,
RECONFIGURABLE SYSTEM Atsugi, 243-01 JAPAN.
TOTAL EXECUTION TIME
1.5 [3] Sanchez, E. et. al., Static and Dynamic Configurable Systems IEEE
Trans. on Computers, 48, 6, June 1999, 556-563.
1
[4] Scott Hauck, Thomas W. Fry, Matthew M. Hosler, and Jeffrey P. Kao,
The Chimaera Reconfigurable Functional Unit IEEE Symposium on
FPGAs for Custom Computing Machines, 1997.
0.5
[5] Michael J. Wirthlin, Brad L. Hutchlings, DISC: The dynamic instruction
set computer IEEE Symposium on FPGAs for Custom Computing
0 Machines, 1995.
1
[6] K Compton, S Hauck , Reconfigurable computing: a survey of systems
0.8 1 and software ACM Computing Surveys, 2002.
0.6 0.8
0.4 0.6
0.4
0.2
0.2
FUNCTION BLOCK CALL TIME 0 0
NORMAL BLOCK EXECUTION TIME
AND NORMAL EX. TIME
AND
BETWEEN FUNC. BLOCKS
RECONFIGURATION TIME
Basic Computation
cleanup
1) Expected execution time for normal processor: Since
a normal processor would run the function block in
software, that leads us to conclude
T imenormal = tinit + tbasic ∗ N + tb ∗ N + tclean up
2) Expected execution time for reconfigurable system: The
system suffers a penalty of t p units for a cache miss
only during the first loop. As such, the remaining turns
of the loop will be executed in the co-processor without
a hitch. Hence,
T imereconf ig = tinit +tbasic ∗N +tc ∗N +tp +tclean up
3) Speedup: