[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1007/978-3-030-55583-2_8guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

An Instruction Filter for Time-Predictable Code Execution on Standard Processors

Published: 15 September 2020 Publication History

Abstract

Dependable cyber-physical systems usually have stringent requirements on their response time, since failure to react to changes in the system state in a timely manner might lead to catastrophic consequences. It is therefore necessary to determine reliable bounds on the execution time of tasks. However, timing analysis, whether done statically using a timing model or based on measurements, struggles with the large number of possible execution paths in typical applications. The single-path code generation paradigm makes timing analysis trivial by producing programs with a single execution path. Single-path code uses predicated execution, where individual instructions are enabled or disabled based on predicates, instead of conditional control-flow branches. Most processing architectures support a limited number of predicated instructions, such as for instance a conditional move, but single-path code benefits from fully predicated execution, where every instruction is predicated. However, few architectures support full predication, thus limiting the choice of processing platforms. We present a novel approach that adds support for fully predicated execution to existing processor cores which do not natively provide it. Single-path code is generated by restructuring regular machine code and replacing conditional control-flow branches with special instructions that control the predication of subsequent code. At runtime an instruction filter interprets these predicate-defining instructions, computes and saves predicates and filters regular instructions based on the predicate state, replacing inactive instructions with a substitute that has no effect (e.g. a NOP). We are implementing this single-path filter for the LEON3 and the IBEX processors.

References

[1]
Delvai, M., Huber, W., Puschner, P., Steininger, A.: Processor support for temporal predictability - the spear design example. In: 2003 Proceedings of the 15th Euromicro Conference on Real-Time Systems, pp. 169–176, July 2003
[2]
Geyer, C.B., Huber, B., Prokesch, D., Puschner, P.: Time-predictable code execution - instruction-set support for the single-path approach. In: 16th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing (ISORC 2013), pp. 1–8 (2013)
[3]
Law, S., Bate, I.: Achieving appropriate test coverage for reliable measurement-based timing analysis. In: 2016 28th Euromicro Conference on Real-Time Systems (ECRTS), pp. 189–199, July 2016.
[4]
Mahlke, S.A., Hank, R.E., McCormick, J.E., August, D.I., Hwu, W.M.W.: A comparison of full and partial predicated execution support for ILP processors. In: Proceedings of the 22nd Annual International Symposium on Computer Architecture, ISCA 1995, pp. 138–150. Association for Computing Machinery, New York (1995).
[5]
Prokesch, D., Hepp, S., Puschner, P.: A generator for time-predictable code. In: 2015 IEEE 18th International Symposium on Real-Time Distributed Computing, pp. 27–34, April 2015.
[6]
Puschner, P.: The single-path approach towards WCET-analysable software. In: IEEE International Conference on Industrial Technology, vol. 2, pp. 699–704 (2003).
[7]
Puschner, P.: Experiments with WCET-oriented programming and the single-path architecture. In: 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems, pp. 205–210 (2005)
[8]
Puschner, P.: Transforming Execution-Time Boundable Code into Temporally Predictable Code, pp. 163–172. Springer, Boston (2002).
[9]
Puschner P, Kirner R, Huber B, and Prokesch D Ortmeier F and Daniel P Compiling for time predictability Computer Safety, Reliability, and Security 2012 Heidelberg Springer 382-391
[10]
Santinelli, L., Guet, F., Morio, J.: Revising measurement-based probabilistic timing analysis. In: 2017 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pp. 199–208, April 2017
[11]
Schoeberl M et al. T-CREST: time-predictable multi-core architecture for embedded systems J. Syst. Archit. 2015 61 9 449-471
[12]
Schoeberl, M., Puschner, P., Kirner, R.: A single-path chip-multiprocessor system, vol. 5860, pp. 47–57 (2009).
[13]
Wenzel, I., Kirner, R., Rieder, B., Puschner, P.: Measurement-based timing analysis. Commun. Comput. Inf. Sci. 17, 430–444 (2008).
[14]
Wilhelm, R., et al.: The worst-case execution-time problem-overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst. 7(3) (2008).

Index Terms

  1. An Instruction Filter for Time-Predictable Code Execution on Standard Processors
        Index terms have been assigned to the content through auto-classification.

        Recommendations

        Comments

        Please enable JavaScript to view thecomments powered by Disqus.

        Information & Contributors

        Information

        Published In

        cover image Guide Proceedings
        Computer Safety, Reliability, and Security. SAFECOMP 2020 Workshops: DECSoS 2020, DepDevOps 2020, USDAI 2020, and WAISE 2020, Lisbon, Portugal, September 15, 2020, Proceedings
        Sep 2020
        426 pages
        ISBN:978-3-030-55582-5
        DOI:10.1007/978-3-030-55583-2

        Publisher

        Springer-Verlag

        Berlin, Heidelberg

        Publication History

        Published: 15 September 2020

        Author Tags

        1. Single-path
        2. Real-time
        3. Predictable timing

        Qualifiers

        • Article

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • 0
          Total Citations
        • 0
          Total Downloads
        • Downloads (Last 12 months)0
        • Downloads (Last 6 weeks)0
        Reflects downloads up to 01 Jan 2025

        Other Metrics

        Citations

        View Options

        View options

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media