Information Technology Reference
In-Depth Information
Fig. 4. Slices activated at a time in DVM and TVM
4.1 Switching Between Modes
The V dd can be increased or decreased in the runtime, thus, Flexicache needs to
switch between modes. In a naıve approach, before mode switching, the whole
cache is flushed which presents a cache warm-up performance overhead imme-
diately after switch. In this section, we present a more ecient approach. We
organized the activated slices in each mode in order to ease the switching. In Fig-
ure 4, we present the activated slices at a time during the read/write operation
of DVM and TVM.
In order to switch TVM
SVM, it is adequate to flush the slices in the
last column of the old mode in the tables shown in Figure 4. In another word,
when Flexicache switches from DVM to SVM, slices 3, 4, 5 and 7 are flushed
from the cache. Similarly, when Flexicache switches from TVM to DVM, slices
6, 7 and Extra slice are flushed. Also, if Flexicache switches from TVM to SVM
(although many systems do not allow this fast voltage increase), combination
of both columns (i.e. slices 3, 4, 5, 6, 7, Ex) are flushed. Obviously, before this
flushing operation, the slices which are not flushed (i.e staying slices) should
be corrected with the old mode. One option can be stopping the execution of
the application right after the voltage increase, using the to-be-flushed lines
for correcting the staying lines by utilizing the old mode and continuing the
application execution after all staying lines are corrected. In the second option, in
order to avoid this stopping overhead, all staying lines are traced after changing
themode.Whenalineisreadforthefirsttimeafterthemodechange(ora
dirty line is evicted from the cache), this line is corrected by using the old mode.
The second or the third replica of the line can be flushed after this correction.
If a line is written without reading after changing the mode, the flushing can be
done without requiring any correction.
However switching SVM
DVM
TVM is not that trivial since the correct
data should be updated in the second or third replica before reducing the supply
voltage. Thus, for instance, when Flexicache switches from DVM to TVM, before
reducing the supply voltage, lines in the slices 6, 7 and Ex are first evicted from
the cache. Then, these lines are updated as the third copy. As an example, lines
in slice 6 should be updated by reading the lines in slices 0 and 3 and obtaining
the correct data via DVM circuit. It is only safe to reduce the supply voltage
after that. Although switching SVM
DVM
TVM present the performance
overhead of a runtime barrier for updating the second or third copies, it is not
a show-stopper since this switch operation is required when going towards low-
power mode from the high-performance mode meaning that the application can
trade off the performance for power.
DVM
 
Search WWH ::




Custom Search