Systèmes Temps Réels Embarqués

Introduction 
Nous pouvons constater si on observe ce qui nous entoure qu’une variété de systèmes embarqués temps réel à partir des téléphones portables et jusqu’aux systèmes de contrôle des voitures ou des avions. Ces systèmes existent dans la vie quotidienne, mais on les trouve également très répandus dans l’industrie. 

Objectif de ce cours 
A la fin de cour l'étudiant est capable de :
    -   Comprendre ce qu’est un système temps réel embarqué (STRE)
    -   Appréhender les architectures à base des microprocesseurs
    -   Appliquer les algorithmes d’ordonnancement temps réel
    -   Mettre en œuvre un système temps réel dans une plateforme hard
 

Chapitres :





    Cycle de vie d'exécution d'une instruction :
       


Travaux Dirigés :

Exercice 1:
 
  Un processeur à 40 MHz exécute un programme qui utilise un mélange de 4 types d’instruction :

Type instruction

Nbr d'instructions

Nbr de cycles par instruction

Calcul arithmétique

45000

1

Transfert de données

32000

2

Calcul en VF

15000

2

Contrôle

8000

2

1.      Déterminez le nombre de cycle moyen par instruction du programme

2.      Calculez le nombre moyen d'instruction par seconde

3.      Calculez le temps d'exécution du programme.

       Exercice 2 (Extrait du devoir de novembre 2023)

       Pour un programme donné, la machine-A a un temps de cycle d'horloge de 10 ns et un CPI= 2, et la machine B un temps de cycle d'horloge de 20 ns et un CPI=1,2 pour le même programme. Quelle est la machine plus rapide pour ce programme ?

     Correction

      Le temps d’exécution d’une instruction est donné par

                 Texe.int = CPI/f=CPI*T_cyc 

                 Texe.int (machine A) = 2*10ns = 20ns

                 Texe.int (machine B) = 1,2*20ns = 24ns 

               ==> Le temps Texe.int (machine A) est inférieur à Texe.int (machine B). Donc la machine A est plus rapide.

      

     *   Chapitre III : Les exécutifs Temps Réels

               Travaux dirigés


       Algorithme EDF

 

       Algorithme LLF

        



   *   Chapitre IV : PICOS18

11 commentaires:

  1. 1-CPI=nbr de cycle total/nbr d'instruction
    AN: =(155000/100000)=1.55 MIPS
    2-nbr instruction =(1s /Temp d'execution du instruction)
    temp d'execution instruction =(CPU/f)
    AN =(1.55/ 40 *10^6)=0.038 µs
    nbr instruction par seconde = (10^6/0.038) = 26.31 10^6
    3- temp d'execution du programe=temp d'execution du instruction * nombre instruction
    AN: = 0.038* 100000 =3800µs

    RépondreSupprimer
  2. 1-CPI=nbr de cycle total/nbr d'instruction
    AN: =(147000/100000)=1.47 MIPS
    2-nbr instruction =(1s /Temp d'execution du instruction)
    temp d'execution instruction =(CPU/f)
    AN =(1.47/ 40 *10^6)=0.036 µs
    nbr instruction par seconde = (10^6/0.036) = 27.78 10^6
    3- temp d'execution du programe=temp d'execution du instruction * nombre instruction
    AN: = 0.038* 100000 =3800µs

    RépondreSupprimer
  3. 1/le nombre de cycle moyen par instruction:
    CPI=nbr de cycle total/nbr d'instruction
    CPI=(155000/100000)=1.55 MIPS
    2/temps d'exécution d'instruction
    Tex=CPU/F
    Tex=(1.55/ 40 *10^6)=0.038 us
    nombre d'instruction par seconde
    Tins=(1s /Temp d'exécution du instruction)
    Tins= (10^6/0.038) = 26.31 10^6
    3/temps d'exécution du programme
    Texp=temps d'exécution du instruction * nombre instruction
    Texp= 0.038* 100000 =3800us

    RépondreSupprimer
  4. 1)Cycle par instruction CPI=(nombre de cycles total/nombre d'instruction)
    CPI=(155000/100000)=1,55 MIPS
    2)temps d'exécution instruction =(CPU/f)
    temps d'exécution instruction=(1.55/ 40 *10^6)=0.038 us
    nombre instruction par seconde = (10^6/0.038) = 26.31 10^6
    3) temps d'exécution du programme=temps d'exécution du instruction*nombre instruction
    temps d'exécution du programme= 0.038*100000 =3800 us

    RépondreSupprimer
  5. Ce commentaire a été supprimé par l'auteur.

    RépondreSupprimer
  6. 1: le nombre de cycle moyen par instruction:
    CPI=nbr de cycle total/nbr d'instruction
    AN: =(155000/100000)=1.55 MIPS
    2: le nombre d'instruction par seconde:
    nbr instruction =(1s /Temp d'execution du instruction)
    temp d'execution instruction =(CPU/f)
    AN =(1.55/ 40 *10^6)=0.038 µs
    3: le temps d'exécution du programme:
    temp d'execution du programe=temp d'execution du instruction * nombre instruction
    AN: = 0.038* 100000 =3800µs

    RépondreSupprimer
  7. 1/ le nombre de cycle moyen par instruction=(155000/100000)=1.55 MIPS
    2/Temp d'execution du instruction=(1.55/ 40 *10^6)=3.875*10^-8s
    nombre d'instruction par seconde=1/3.875*10^-8=25.80*10^6s
    3/temp d'execution du programe=3.875*10^-8s*100000=3.875*10^-3 s

    RépondreSupprimer
  8. Ce commentaire a été supprimé par l'auteur.

    RépondreSupprimer
  9. 1-CPI=nbr de cycle total/nbr d'instruction
    AN: =(155000/100000)=1.55 MIPS
    2-nbr instruction =(1s /Temp d'execution du instruction)
    temp d'execution instruction =(CPU/f)
    AN =(1.55/ 40 *10^6)=0.038 µs
    nbr instruction par seconde = (10^6/0.038) = 26.31 10^6
    3- temp d'execution du programe=temp d'execution du instruction * nombre instruction
    AN: = 0.038* 100000 =3800µs

    RépondreSupprimer
  10. 1: le nombre de cycle moyen par instruction:
    CPI=nbr de cycle total/nbr d'instruction
    AN: =(155000/100000)=1.55 MIPS
    2: le nombre d'instruction par seconde:
    nbr instruction =(1s /Temp d'execution du instruction)
    temp d'execution instruction =(CPU/f)
    AN =(1.55/ 40 *10^6)=0.038 µs
    3: le temps d'exécution du programme:
    temp d'execution du programe=temp d'execution du instruction * nombre instruction
    AN: = 0.038* 100000 =3800µs

    RépondreSupprimer
  11. 1/ CPI =(4500*1+32000*2+1500*2+8000*2)/100000=15500/100000=1.55
    2/ MIPS=(frequence/CPI)*1/1Million=400000/1.55*1000000=40/1.55=25.806MIPS
    3/T=CPI*nbr instruction /400=0,003875sec=3.875ms

    RépondreSupprimer