Execution Time Control : A hardware accelerated Ada implementation with novel support for interrupt handling
Execution time control is a technique that allows execution time budgets to be set and overruns to be handled dynamically to prevent deadline misses. This removes the need for the worst-case execution time (WCET) of tasks to be found by offline timing analysis – a problem that can be very hard to so...
Main Author: | |
---|---|
Format: | Doctoral Thesis |
Language: | English |
Published: |
Norges teknisk-naturvitenskapelige universitet, Institutt for teknisk kybernetikk
2012
|
Subjects: | |
Online Access: | http://urn.kb.se/resolve?urn=urn:nbn:no:ntnu:diva-16201 http://nbn-resolving.de/urn:isbn:978-82-471-3430-6 |
id |
ndltd-UPSALLA1-oai-DiVA.org-ntnu-16201 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UPSALLA1-oai-DiVA.org-ntnu-162012013-01-08T13:09:32ZExecution Time Control : A hardware accelerated Ada implementation with novel support for interrupt handlingengGregertsen, Kristoffer NyborgNorges teknisk-naturvitenskapelige universitet, Institutt for teknisk kybernetikkTrondheim : NTNU2012Real-time systemsexecution time controlAdaExecution time control is a technique that allows execution time budgets to be set and overruns to be handled dynamically to prevent deadline misses. This removes the need for the worst-case execution time (WCET) of tasks to be found by offline timing analysis – a problem that can be very hard to solve for modern computer architectures. Execution time control can also increase the processor utilization, as the WCET will often be much higher than the average execution time. This thesis describes how the GNU Ada Compiler and a bare-board Ravenscar run-time environment were ported to the Atmel AVR32 UC3 microcontroller series making the Ada programming language available on this architecture for the first time, and an implementation of Ada execution time control for this system that supports full execution time control for interrupt handling. Usage patterns for this brand new feature are demonstrated in Ada by extending the object-oriented real-time framework with execution time servers for interrupt handling, allowing the system to be protected against unexpected bursts of interrupts that could otherwise result in deadline misses. Separate execution time measurement for interrupt handling also improves the accuracy of measurement for tasks. As a direct result of the work presented in this thesis separate execution time measurement for interrupts will be included in the forthcoming ISO-standard for Ada 2012. While the implementation of execution time control is for the Ada programming language and the UC3 microcontroller series, the design and implementation should be portable to other architectures, and the principles of execution time control for interrupt handling applicable to other programming languages. Low run-time overhead is important for execution time control to be useful for real-time systems. Therefore a hardware Time Management Unit (TMU) was designed to reduce the overhead of execution time control. This design has been implemented for the UC3 and performance tests with the developed run-time environment shows that it gives a significant reduction of overhead. The memory-mapped design of the TMU also allows it to be implemented on other architectures. Doctoral thesis, comprehensive summaryinfo:eu-repo/semantics/doctoralThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:no:ntnu:diva-16201urn:isbn:978-82-471-3430-6Doktoravhandlinger ved NTNU, 1503-8181 ; 2012:78application/pdfinfo:eu-repo/semantics/openAccess |
collection |
NDLTD |
language |
English |
format |
Doctoral Thesis |
sources |
NDLTD |
topic |
Real-time systems execution time control Ada |
spellingShingle |
Real-time systems execution time control Ada Gregertsen, Kristoffer Nyborg Execution Time Control : A hardware accelerated Ada implementation with novel support for interrupt handling |
description |
Execution time control is a technique that allows execution time budgets to be set and overruns to be handled dynamically to prevent deadline misses. This removes the need for the worst-case execution time (WCET) of tasks to be found by offline timing analysis – a problem that can be very hard to solve for modern computer architectures. Execution time control can also increase the processor utilization, as the WCET will often be much higher than the average execution time. This thesis describes how the GNU Ada Compiler and a bare-board Ravenscar run-time environment were ported to the Atmel AVR32 UC3 microcontroller series making the Ada programming language available on this architecture for the first time, and an implementation of Ada execution time control for this system that supports full execution time control for interrupt handling. Usage patterns for this brand new feature are demonstrated in Ada by extending the object-oriented real-time framework with execution time servers for interrupt handling, allowing the system to be protected against unexpected bursts of interrupts that could otherwise result in deadline misses. Separate execution time measurement for interrupt handling also improves the accuracy of measurement for tasks. As a direct result of the work presented in this thesis separate execution time measurement for interrupts will be included in the forthcoming ISO-standard for Ada 2012. While the implementation of execution time control is for the Ada programming language and the UC3 microcontroller series, the design and implementation should be portable to other architectures, and the principles of execution time control for interrupt handling applicable to other programming languages. Low run-time overhead is important for execution time control to be useful for real-time systems. Therefore a hardware Time Management Unit (TMU) was designed to reduce the overhead of execution time control. This design has been implemented for the UC3 and performance tests with the developed run-time environment shows that it gives a significant reduction of overhead. The memory-mapped design of the TMU also allows it to be implemented on other architectures. |
author |
Gregertsen, Kristoffer Nyborg |
author_facet |
Gregertsen, Kristoffer Nyborg |
author_sort |
Gregertsen, Kristoffer Nyborg |
title |
Execution Time Control : A hardware accelerated Ada implementation with novel support for interrupt handling |
title_short |
Execution Time Control : A hardware accelerated Ada implementation with novel support for interrupt handling |
title_full |
Execution Time Control : A hardware accelerated Ada implementation with novel support for interrupt handling |
title_fullStr |
Execution Time Control : A hardware accelerated Ada implementation with novel support for interrupt handling |
title_full_unstemmed |
Execution Time Control : A hardware accelerated Ada implementation with novel support for interrupt handling |
title_sort |
execution time control : a hardware accelerated ada implementation with novel support for interrupt handling |
publisher |
Norges teknisk-naturvitenskapelige universitet, Institutt for teknisk kybernetikk |
publishDate |
2012 |
url |
http://urn.kb.se/resolve?urn=urn:nbn:no:ntnu:diva-16201 http://nbn-resolving.de/urn:isbn:978-82-471-3430-6 |
work_keys_str_mv |
AT gregertsenkristoffernyborg executiontimecontrolahardwareacceleratedadaimplementationwithnovelsupportforinterrupthandling |
_version_ |
1716510280747319296 |