01.12.2012 Views

Architecture of Computing Systems (Lecture Notes in Computer ...

Architecture of Computing Systems (Lecture Notes in Computer ...

Architecture of Computing Systems (Lecture Notes in Computer ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

132 M. Kayaalp et al.<br />

time. Alternatively we can copy the dest<strong>in</strong>ation tag <strong>of</strong> one <strong>of</strong> the <strong>in</strong>structions to the<br />

source tag fields <strong>of</strong> <strong>in</strong>struction 3 and one source tag <strong>of</strong> the same <strong>in</strong>struction both to the<br />

dest<strong>in</strong>ation tag <strong>of</strong> the third <strong>in</strong>struction and the source tags <strong>of</strong> the fourth <strong>in</strong>struction<br />

slot. This way it is possible to protect the dest<strong>in</strong>ation tag and one <strong>of</strong> the source tags <strong>of</strong><br />

one <strong>of</strong> the <strong>in</strong>structions.<br />

3.3 Renam<strong>in</strong>g More Than 2 Instructions Simultaneously<br />

Our proposed technique can also provide partial s<strong>of</strong>t error detection coverage if three<br />

<strong>in</strong>structions are renamed simultaneously. In this case only an error on the dest<strong>in</strong>ation<br />

tag <strong>of</strong> one <strong>of</strong> the <strong>in</strong>structions can be detected by copy<strong>in</strong>g this tag to all <strong>of</strong> the fields<br />

(dest<strong>in</strong>ation + sources) <strong>of</strong> the fourth <strong>in</strong>struction slot. In a 4-wide processor, the proposed<br />

technique won’t be able to provide any s<strong>of</strong>t error detection coverage s<strong>in</strong>ce there<br />

won’t be any empty slots or idle comparators.<br />

3.4 Us<strong>in</strong>g the Bubbles <strong>in</strong> the Pipel<strong>in</strong>e to Improve S<strong>of</strong>t Error Coverage<br />

Our proposed scheme cannot <strong>of</strong>fer any s<strong>of</strong>t error detection coverage if the pipel<strong>in</strong>e is<br />

fully employed. Also when there are more than one <strong>in</strong>struction flow<strong>in</strong>g through the<br />

pipel<strong>in</strong>e there are not enough storage slots to cover all <strong>of</strong> the source and dest<strong>in</strong>ation<br />

tags. However the processor pipel<strong>in</strong>e is occasionally not fully employed which <strong>of</strong>fers<br />

a whole set <strong>of</strong> resources to check tags <strong>of</strong> one <strong>in</strong>struction. It is possible to copy the tag<br />

<strong>in</strong>formation <strong>of</strong> an <strong>in</strong>struction to a follow<strong>in</strong>g empty stage to achieve error coverage. In<br />

this case there are different options that a designer may choose:<br />

1. One <strong>of</strong> the <strong>in</strong>structions (the <strong>in</strong>struction that is the last <strong>in</strong> program order) falls beh<strong>in</strong>d<br />

to the previous stage where it can replicate all <strong>of</strong> its tags <strong>in</strong>to the storage space<br />

for full s<strong>of</strong>t error coverage. This solution may <strong>in</strong>troduce a delay penalty as the <strong>in</strong>struction<br />

that falls back is delayed <strong>in</strong>side the pipel<strong>in</strong>e, which will delay its entrance<br />

to the issue queue and may delay its issue to the function units. We evaluated this<br />

scheme but <strong>in</strong>terest<strong>in</strong>gly the s<strong>of</strong>t error vulnerability <strong>in</strong>creased while the performance<br />

dropped.<br />

2. Tags <strong>of</strong> one <strong>of</strong> the <strong>in</strong>structions are copied to the next cycle and when these bogus<br />

tags arrive at the rename stage, they are compared aga<strong>in</strong>st the orig<strong>in</strong>al tag by hold<strong>in</strong>g<br />

onto this tag <strong>in</strong> the rename stage. This solution does not result <strong>in</strong> performance<br />

degradation but requires some hardware support. In this work we used this scheme.<br />

3. All <strong>of</strong> the <strong>in</strong>structions copy their tags to the empty slot <strong>in</strong> the previous stage. However<br />

<strong>in</strong> this case there should be a hardware design that supports the check<strong>in</strong>g <strong>of</strong><br />

tags between stages. This may be accomplished by copy<strong>in</strong>g the entire stage and<br />

check<strong>in</strong>g the outcomes <strong>of</strong> all comparators by latch<strong>in</strong>g the comparison outcomes.<br />

This mandates the use <strong>of</strong> a s<strong>in</strong>gle-bit flip-flop (or a latch) for stor<strong>in</strong>g the outcomes<br />

<strong>of</strong> all comparators at the rename stage and an extra comparator should be employed<br />

to compare the contents <strong>of</strong> the latches with the outcomes <strong>of</strong> the comparators. In the<br />

examples depicted <strong>in</strong> Fig. 1 and Fig. 2 there are 9 comparators which means that<br />

there will be a 9 bit comparison outcome signature. If this outcome is latched and<br />

compared aga<strong>in</strong>st the 9 bit comparator outcome signature <strong>of</strong> the replicated bogus<br />

tags <strong>in</strong> the next cycle any mismatch would mean a s<strong>of</strong>t error. Therefore it is possible<br />

to protect the entire group <strong>of</strong> tags by us<strong>in</strong>g 9 latches and one 9 bit comparator.<br />

Note that this scheme shows an error if there is a mismatch <strong>in</strong> the signatures but a

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!