Big Chemical Encyclopedia

Chemical substances, components, reactions, process design ...

Articles Figures Tables About

Inverted Branches

The transition from the contact to distant electron transfer causes the inverted branch of the FEG curve to slope more gently than normal [32,110,111], This branch is extended to an even greater extent if the transfer is multichannel (see Fig. 3.2). In this case the inverted branch is composed from the tops of the partial FEG curves, where the transfer is activationless. Therefore, their sum is also temperature independent and smooth. But the best way of stretching the diffusional plateau is by taking into account the space dependence of X(r). Since maximum W/(r) moves away with increasing AG the effective X... [Pg.145]

Following the state-of-the-art review, the next step is to implement fault tolerance techniques. We will start by explaining in detail and implementing two known software-based techniques, called Variables and Inverted Branches (AZAMBUJA 2010b), which will later be used as a complement to hybrid fault tolerance techniques. These techniques have been proposed in the past years and achieved high fault detection rates at low performance degradation levels and therefore are useful not only as an introduction to software-based fault tolerance techniques, but also to be combined with hardware-based and hybrid techniques. Then, three novel hybrid techniques will be proposed and implemented, based on both software and hardware replication characteristics. The three hybrid techniques will be divided into their software and hardware sides and described in detail, concerning both operation description and implementation. [Pg.20]

In the following sections, we will present the HPCT tool to automatically transform program codes into hardened ones, two known software-based techniques, called Variables and Inverted Branches, and three novel hybrid techniques to detect transient faults in embedded processors, named PODER, OCFCM, and HETA, combined with the previous known software-based techniques. [Pg.44]

The Inverted Branches technique (AZAMBUJA 2010a) was proposed to detect faults affecting the decision of branch instructions. Such errors affect the transition between different BBs and are hard to be detected, since both paths (branch taken or not taken) are acceptable in the program flow graph. The simplest way to protect such instmctions is to replicate the whole branch instraction, just like the Variables technique does with variables. [Pg.49]

In order to evaluate the Inverted Branches technique, four applications algorithms were chosen as case-studies a 6 x 6 matrix multiplication, a bubble sort, a bit count, and a Dijkstra. The matrix multiplication and the Dijkstra algorithms require large data processing with only a few loops and therefore uses mostly the data path of the processor. The bubble sort and the bit count algorithms, on the other hand, use... [Pg.49]

A jump instruction is added before the rephcated inverted branch instruction, pointing to the instruction after the inverted branch. [Pg.50]

As mentioned before, the insertion of the replicated inverted branch instruction may affect other execution flows. For example, instruction 5 cannot be executed after the add instruction located in position 3 (add r2, r3,1), since it could modify the value stored in the r2 register and cause a false fault detection. In order to surround the replicated branch instruction in the original one s destination address, instruction 5, an unconditional branch, is inserted. By doing so, if another control path jumps to instruction 3, it will not execute instruction 5, but jirnip over it. [Pg.50]

Table 4.2 Characteristics for the Inverted Branches technique program transformation... Table 4.2 Characteristics for the Inverted Branches technique program transformation...
The PODER technique is the first novel hybrid technique presented in this book. It was initially based in the CCA technique and its two-element queue to keep track of the changes in the program s control flow, called BID and CFID. The technique aims at detecting a few types of control flow errors, such as (1) incorrect jumps to the beginning of a BB, (2) incorrect jumps inside the same BB, (3) incorrect jumps to unused memory addresses, and (4) control flow loops. It is important to mention that PODER cannot detect errors in branch instructions, where a path should have been taken, but was not taken, and vice versa. In order to do so, it must be combined with the Inverted Branches software-based technique, described previously in Sect. 4.3. [Pg.51]

Tables 4.3 and 4.4 show the original and modified program s execution time, code size, and data size for the matrix multiplication and bubble sort algorithms, respectively. They present results for the original unhardened program, as well as the version hardened with PODER and hardened with PODER combined with the Inverted Branches and Variables software-based techniques (Combined Techniques). Tables 4.3 and 4.4 show the original and modified program s execution time, code size, and data size for the matrix multiplication and bubble sort algorithms, respectively. They present results for the original unhardened program, as well as the version hardened with PODER and hardened with PODER combined with the Inverted Branches and Variables software-based techniques (Combined Techniques).
OCFCM itself is defined as a non-intrasive hardware module and therefore corrld be considered a pure hardware-based technique. Irrstead, OCFCM alone cannot achieve its main objective, which is detecting control flow errors. To do so, it has to be complemented by the Inverted Branches software-based technique (described in Sect. 4.3) and configured by the apphcation running in the processor. Because of these characteristics, it is considered as a hybrid farrlt tolerant technique, even if not as tightly coupled with the software-side as PODER. [Pg.61]

OCFCM is expected to detect control flow faults that either causing the PC to freeze at the same memory address (through the watchdog) and the ones that break the sequential evolution of the PC with an inconsistent destination address. Unfortunately, these two cases do not comprehend all types of control flow errors. An incorrect decision, whether to take or not the branch, cannot be detected by the module. Therefore, a software-based side is required, with the Inverted Branches technique. [Pg.63]

The software-based side on OCFCM is responsible for choosing which module will be active (when using a set of OCFCM) and performing the transformation on the software that implements the Inverted Branches software-based technique. It also has to guarantee that the program code does not use jumps with dynamic destina-... [Pg.63]

The first task is performed by predefining the memory address. Whenever an apphcation starts, it writes in a given memory address the identifier of the OCFCM modide to run. The active OCFCMs decode that store instmction and put themselves on hold (if the value does not match their value) or start operating (when the value matches). The Inverted Branches transformation is described in Sect. 4.3. [Pg.64]

It is important to note that HETA, like PODER and OCFCM, cannot detect incorrect but legal jumps (according to the program graph). In order to do that, the Inverted Branches software-based technique, described in Sect. 4.3 is required. Also, HETA may present aliasing, when the program code has many BBs. With big apphcations, some signatures may start to repeat themselves and an error may not be detected by the technique. [Pg.72]

Tables 5.1 and 5.2 present results for the fault injection in the miniMIPS ran-ning the matrix multiplication and the bnbble sort applications, respectively. Resnlts show that PODER does not have a high detection rate, when nsed alone (np to 80 %, when considering SETs with data effect on the bnbble sort). On the other hand, when combined with Variables and Inverted Branches techniqnes, the resnlt was 100 % fault detection for all cases. Tables 5.1 and 5.2 present results for the fault injection in the miniMIPS ran-ning the matrix multiplication and the bnbble sort applications, respectively. Resnlts show that PODER does not have a high detection rate, when nsed alone (np to 80 %, when considering SETs with data effect on the bnbble sort). On the other hand, when combined with Variables and Inverted Branches techniqnes, the resnlt was 100 % fault detection for all cases.
In order to perform the experiments presented in this Chapter, we implemented the miniMIPS hardened with the novel hybrid HETA technique and the software-based techniques Variables and Inverted Branches on both flash-based and SRAM-based FPGAs. We visited three facilities, used two types of energetio particles, and performed tests for SEE and TID. In the following, each radiation experiment and its results are diseussed in detail. [Pg.89]


See other pages where Inverted Branches is mentioned: [Pg.143]    [Pg.10]    [Pg.13]    [Pg.49]    [Pg.50]    [Pg.67]    [Pg.86]    [Pg.86]    [Pg.87]    [Pg.87]    [Pg.88]    [Pg.88]    [Pg.96]    [Pg.98]    [Pg.99]    [Pg.99]    [Pg.100]   
See also in sourсe #XX -- [ Pg.4 , Pg.29 , Pg.74 , Pg.75 ]




SEARCH



Inverted

Inverter

Invertibility

Invertible

Inverting

© 2024 chempedia.info