Subjects informatique temps réel

Systeme Taches

Step-by-step solutions with LaTeX - clean, fast, and student-friendly.

Search Solutions

Systeme Taches


1. **Énoncé du problème :** Nous avons un processeur à 100 MHz (100 millions de cycles par seconde). Chaque instruction prend 4 cycles. Les tâches arrivent toutes les 10 μs (microsecondes). Chaque tâche contient : - Sauvegarde du contexte : 30 instructions - Récupération du contexte : 30 instructions - Traitement du vecteur : 60 instructions 2. **Formules et règles importantes :** - Fréquence du processeur $f = 100 \times 10^6$ Hz - Durée d'un cycle $T_c = \frac{1}{f} = \frac{1}{100 \times 10^6} = 10^{-8}$ s - Durée d'une instruction $T_i = 4 \times T_c = 4 \times 10^{-8}$ s - Intervalle entre tâches $T_{intervalle} = 10 \mu s = 10 \times 10^{-6} = 10^{-5}$ s 3. **Calcul du nombre d'instructions par tâche :** Nombre total d'instructions par tâche = $30 + 30 + 60 = 120$ instructions 4. **Calcul du temps d'exécution de chaque tâche (WCET) :** $$ WCET = 120 \times T_i = 120 \times 4 \times 10^{-8} = 4.8 \times 10^{-6} \text{ s} = 4.8 \mu s $$ 5. **Nombre maximal d'instructions par tâche :** Le temps maximal disponible est l'intervalle entre tâches $10 \mu s$. Donc, nombre maximal d'instructions $N_{max}$ satisfait : $$ N_{max} \times T_i \leq 10 \times 10^{-6} $$ $$ N_{max} \leq \frac{10 \times 10^{-6}}{4 \times 10^{-8}} = 250 $$ 6. **Avec un programme d'arrière-plan prenant 50% du temps processeur :** Le temps disponible pour les tâches est réduit à 50% de $10 \mu s$, soit $5 \mu s$. Donc : $$ N_{max\\_50\%} \leq \frac{5 \times 10^{-6}}{4 \times 10^{-8}} = 125 $$ 7. **Pour les interruptions qui arrivent toutes les 10 μs, chaque instruction prend 4 cycles :** Nombre maximal d'instructions par interruption : $$ N_{int} \leq \frac{10 \times 10^{-6}}{4 \times 10^{-8}} = 250 $$ 8. **Si la routine d'interruption comprend 100 instructions :** Temps d'exécution interruption : $$ 100 \times 4 \times 10^{-8} = 4 \times 10^{-6} = 4 \mu s $$ Temps restant pour les tâches dans l'intervalle de 10 μs : $$ 10 \mu s - 4 \mu s = 6 \mu s $$ Nombre maximal d'instructions pour la tâche : $$ N_{tache} \leq \frac{6 \times 10^{-6}}{4 \times 10^{-8}} = 150 $$ **Conclusion :** - Nombre d'instructions par tâche : 120 - WCET par tâche : 4.8 μs - Nombre maximal d'instructions par tâche sans contrainte : 250 - Nombre maximal d'instructions par tâche avec 50% temps processeur utilisé par arrière-plan : 125 - Nombre maximal d'instructions par interruption : 250 - Avec routine interruption de 100 instructions, système peut traiter tâches et interruptions sans manquer aucune. - Nombre maximal d'instructions dans la fonction de traitement des tâches dans ce cas : 150