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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

130 M. Kayaalp et al.<br />

INSTRUCTION 1<br />

D: R1<br />

S1: R2<br />

S2: R3<br />

C1<br />

C2<br />

C3<br />

=<br />

=<br />

=<br />

C6<br />

INSTRUCTION 2<br />

C4<br />

C5<br />

=<br />

D: R2<br />

S1: R1<br />

S2: R1<br />

=<br />

=<br />

INSTRUCTION 3<br />

Fig. 2. Error detection example for s<strong>in</strong>gle <strong>in</strong>struction renam<strong>in</strong>g<br />

<strong>in</strong>structions are stored [14], is employed. The <strong>in</strong>struction slots that hold the redundant<br />

<strong>in</strong>formation are marked as “bogus” <strong>in</strong> order to let the rename logic know that these<br />

tags do not belong to real <strong>in</strong>structions.<br />

After the s<strong>in</strong>gle <strong>in</strong>struction’s tags are replicated <strong>in</strong> the empty slots, outputs <strong>of</strong> the<br />

already wired comparators at the rename stage are checked to see if an error occurred<br />

by the time <strong>in</strong>struction arrived at the rename stage. As seen <strong>in</strong> Fig. 2, if the outputs <strong>of</strong><br />

the comparators C2 and C3 mismatch it can only be the result <strong>of</strong> an error on the dest<strong>in</strong>ation<br />

register identifier <strong>of</strong> the <strong>in</strong>struction. Similarly, the outputs <strong>of</strong> the comparators<br />

C8 and C9 are checked <strong>in</strong> order to detect an error on the first source tag <strong>of</strong> the <strong>in</strong>struction.<br />

As for the dest<strong>in</strong>ation tag, <strong>in</strong> fact even a mismatch signal <strong>in</strong> C2 or C3 <strong>in</strong>dicates<br />

that an error has occurred. Us<strong>in</strong>g the output <strong>of</strong> the both comparators actually gives a<br />

chance to correct the error if one assumes a s<strong>in</strong>gle event upset model.<br />

In order to cover both source tags and the dest<strong>in</strong>ation tag <strong>of</strong> the s<strong>in</strong>gle <strong>in</strong>struction<br />

the processor needs to be capable <strong>of</strong> renam<strong>in</strong>g at least 4 <strong>in</strong>structions each cycle. Although<br />

the Fig. 2 is shown for a 3-wide mach<strong>in</strong>e for simplicity, the second source tag<br />

<strong>of</strong> the first <strong>in</strong>struction is copied to the dest<strong>in</strong>ation field <strong>of</strong> the third <strong>in</strong>struction as it<br />

would be done <strong>in</strong> a 4-wide mach<strong>in</strong>e.<br />

3.1.1 S<strong>in</strong>gle Event Upset Model<br />

If we assume that the fault-rate is sufficiently low, then we can statistically ignore the<br />

probability <strong>of</strong> a multiple-bit flip. This is typically called the S<strong>in</strong>gle Event Upset<br />

model. Under this assumption, the bit flip can not only be detected but corrected as<br />

well. Consider Fig. 2, and assume that there was a bit flip affect<strong>in</strong>g R1. There are two<br />

possible cases:<br />

a) The bit flip could occur <strong>in</strong> the dest<strong>in</strong>ation field <strong>of</strong> <strong>in</strong>struction 1; then both C2 and<br />

C3 comparators would signal a mismatch, <strong>in</strong>dicat<strong>in</strong>g that there was a strike to the<br />

dest<strong>in</strong>ation field <strong>of</strong> <strong>in</strong>struction 1. The field is updated by copy<strong>in</strong>g the field <strong>of</strong> either<br />

S1 or S2 <strong>of</strong> <strong>in</strong>struction 2, which hold the copies <strong>of</strong> R1.<br />

C7<br />

C8<br />

C9<br />

=<br />

=<br />

=<br />

D: R3<br />

S1: R2<br />

S2: R2

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

Saved successfully!

Ooh no, something went wrong!