-Embedded computer systems are characterized by the presence of a processor running application specific software. A large number of these systems must satisfy real-time constraints. This paper examines the problem of determining the bound on the running time of a given program on a given processor. An important aspect of this problem is determining the extreme case program paths. The state of the art solution here relies on an explicit enumeration of program paths. This runs out of steam rather quickly since the number of feasible program paths is typically exponential in the size of the program. We present a solution for this problem, which considers all paths implicitly by using integer linear programming. This solution is implemented in the program cinderella 1 which currently targets a popular embedded processor -the Intel i960. The preliminary results of using this tool are presented here. I INTRODUCTION A MotivationEmbedded computer systems are characterized by the presence of a processor running application specific dedicated software. Recent years have seen a large growth of such systems. This paper examines the problem of determining the extreme (best and worst) case bounds on the running time of a given program on a given processor. It has several applications in the design of embedded systems. In hard-real time systems the response time of the system must be strictly bounded to ensure that it meets its deadlines. These bounds are also required by schedulers in real-time operating systems. Finally, the selection of the partition between hardware and software, as well as the selection of the hardware components is strongly driven by the timing analysis of software. B Problem StatementA more precise statement of the problem addressed in this paper is as follows. We need to bound (lower and upper) the running 1 In recognition of her hard real-time constraint -she had to be back home at the stroke of midnight! time of a given program on a given processor assuming uninterrupted execution. The term "program" here refers to any sequence of code, and does not have to include a logical beginning and an end. The term "processor" here includes the complete processor and the memory system.The running time of a program may vary according to different input data and initial machine state. Suppose that, of all the possible running times, T min and T max are the minimum and maximum of these times respectively. We define the actual bound of the program as the time interval [T min ; T max ]. Our objective is to find out a correct estimate of this without introducing undue pessimism. Thus, the estimated time interval [t min ; t max ], defined as the estimated bound, must enclose the actual bound. This is illustrated in Fig. 1.There are two components to the prediction of extreme case performance:1. program path analysis, which determines what sequence of instructions will execute in the extreme case, and 2. micro-architectural modeling, which models the host processor system and computes how much time it will t...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.