Determining the error models that affect program execution, Computer Engineering

Assignment Help:

In critical computer applications the correctness of a delivered output and the continuity of the required service beside the speed of the used CPU are the most important measures for computer performance. Invalid output or interruption of the service in such applications may lead to loss of life or money or the synchronization of a real-time control system. A CPU completes two phases to deliver the output: the first phase is instruction fetching of the executed program from the main memory into its instruction register and then decoding that instruction to determine what operation should be performed. The second phase is instruction execution by fetching any required data and performing the intended operation on that data to produce the output. This sequence for instruction fetching and instruction executing has to be repeated for all instructions in the program being executed until its end.

The output from the described sequence is acceptable if it is correct and delivered at the required time. This is true if and only if the proper instruction is fetched and the proper data is processed. The sequence of those two phases is guaranteed by the timing sequence of the Instruction fetching and decoding unit. But this is not always the case! Some times the CPU violates this sequence due to some internal or external errors. This violation may lead to fetching an incorrect instruction or data. The result is then either incorrect output or incorrect program execution. In both cases the performance of the CPU is degraded even though its speed is high enough.

In this thesis a solution is introduced for detecting instruction fetching and executing errors and stopping the execution whenever an invalid instruction or data is being fetched in order to prevent the CPU from producing incorrect results and preventing program crash. This solution is based on adding a bit the instruction format in the CPU architecture. This bit distinguishes between an instruction byte from an operand byte.
An instruction fetching and decoding circuit has to be developed to test the added bit. If that bit indicates an instruction code and the fetching phase is an instruction fetch cycle then that instruction is decoded otherwise an error is assumed and the instruction is stopped. By this way the error is detected earlier and preventing the CPU from executing an invalid instruction or processing invalid data.
Most of the errors that affect the CPU performance are of transient type. Thus by giving some time to such an error it will disappear. Therefore by refetching the same instruction after that time period, the CPU can continue the execution of the program without any loss of data or program control flow.
The solution will be implemented by providing an Instruction Format for a CPU architecture that uses this technique. The required circuit will be fully described by its architecture and organization, timing diagram and operational flowchart. To evaluate the capabilities of this solution, the introduced circuit is then simulated. The behaviour of the circuit is monitored and recorded. The ratio between the number of injected and detected errors gives a measure of error detection coverage and the time between the moment of an error injection and detection gives a measure for error detection latency. Then the results will be collected, tabulated and discussed to show the capability of the proposed solution and its drawback.

Thesis Objectives: The following objectives are aimed to be accomplished during the work on this thesis:
1. Determining the error models that affect program execution.    
2. Introducing an error detection technique for instructions fetching and decoding stages. 
3. Introducing an architecture for an instruction format that prevents program crash.
4. By the introduced technique correctness and continuity of the output will be achieved.

Activities and Time Scale: The following activities have to be carried on in order to meet the objectives of this thesis and to complete this work. At each stage a report is required that forms a part of the final document of the thesis:
Activity 1: Literature Survey and Previous Work:   
               - CPU architecture and instructions execution phases
               - Error models effecting internal CPU behaviour.
               - Error detection and correction used in CPU.

            - common used mechanism for error detection in CPU.              
Activities 2:  Introducing the proposed circuit              
                 - Developing the structure and format for the proposed solution
                 - Introducing a conceptual CPU architecture that uses the proposed solution
                - Developing the operational flowchart describing the functions and sequences.

Activity 3: Evaluation and Results:             
           - Developing a simulator for the proposed solution (using any available Package).
           - Experimenting the simulator by test programs.
           - Injecting errors in different paths that are followed by an instruction and recording
             the behaviour of the system.
          - Tabulating and reporting the results.


Related Discussions:- Determining the error models that affect program execution

Illustrate about fat structure, Q. Illustrate about FAT structure? DOS ...

Q. Illustrate about FAT structure? DOS file system maintains a table of pointers known as FAT (File allocation table) that comprises an array of 16-bit values. There is one ent

Which of the memories stores the most number of bits, Which of the memories...

Which of the memories stores the most number of bits ? Ans. most number of bits stores in 32M x 8 As 2 5 x 2 20   = 2 25 Therefore 1M = 2 20 = 1K x 1K = 2 10 x 2 10

Explain high level data link control, Explain High Level Data Link Control....

Explain High Level Data Link Control. HDLC - it is High Level Data Link Control: Protocol Overall explanation: Layer 2 of the OSI model is the data link layer. One of the

What is pci bus, What is PCI bus? The Peripheral component interconnect...

What is PCI bus? The Peripheral component interconnect(PCI) bus is a standard that handles the functions found on a processor bus but in a standardized format that is independe

Explain about parity bit, Q. Explain about Parity bit? Parity bit is an...

Q. Explain about Parity bit? Parity bit is an error detection bit added to binary data such that it creates total number of 1's in the data either odd or even. For illustration

Explain the significance ipv6 over ipv4, Explain the significance IPV6 over...

Explain the significance IPV6 over IPV4. The maximum size of an Ipv6 datagram is 65575 bytes, with the 0 bytes Ipv6 header. Ipv6 also describe a minimum reassembly buffer size:

What is the disadvantage of strobe method, What is the  disadvantage of st...

What is the  disadvantage of strobe  method. The drawbacks of strobe method are that the source unit that show the transfer has no way of knowing whether the destination unit h

Explain lexical substitution during macro expansion, Explain Lexical substi...

Explain Lexical substitution during macro expansion ? Lexical substitution is used to produce an assembly statement from a model statement. Model statements have 3 kinds of str

How is network examined by intranets, How is network examined by intranets,...

How is network examined by intranets, extranets and Internet? When more and more businesses seek to build their mission critical business solutions onto IP networks, networking

Program testing and debugging, Program testing and debugging: Program ...

Program testing and debugging: Program testing is the method of checking program, to verify that it satisfies its needs and to detect errors. These errors can be of any type-

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd