Calculateurs Temps Réel

Cours Informatique Temps Réel
LotfiBoussaid@yahoo.fr

ENIM – Université de Monastir 2007 - 2008

Lotfi BOUSSAID

Cours Informatique Temps Réel

1

CalculateursPlan du cours Temps Réel

• • • • •

Généralités sur les systèmes temps réel (1s) La CAO des Systèmes Matériels (5s) Les Systèmes d’Exploitation (2s) La programmation parallèle (2s) Les STR embarqués : les SOC et les SOPC (2s)

Lotfi BOUSSAID

Cours Informatique Temps Réel

2

CalculateursPlan du cours Temps Réel

• • • • •

Généralités sur les systèmes temps réel La CAO des Systèmes Matériels Les Systèmes d’Exploitation La programmation parallèle Les STR embarqués : les SOC et les SOPC

Lotfi BOUSSAID

Cours Informatique Temps Réel

3

économiques. écologiques) : besoin de garanties • Temps réel souple/mou (soft real-time) : on peut tolérer le non respect occasionnel d’une contrainte de temps (garanties probabilistes) Lotfi BOUSSAID Cours Informatique Temps Réel 4 .Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Les systèmes temps réel : définitions Qu’est-ce qu’un Système temps réel ? Un système temps réel est un système qui contrôle ou pilote un Un système temps réel est un système qui contrôle ou pilote un procédé physique à une vitesse adaptée à l’évolution de ce procédé physique à une vitesse adaptée à l’évolution de ce procédé quelles que soient les conditions d’utilisation procédé quelles que soient les conditions d’utilisation • Temps réel strict/dur (hard real-time) : le non respect d’une contrainte de temps a des conséquences graves (humaines.

• Le "temps réel" n'est pas un problème de rapidité intrinsèque. Ce sont les systèmes de ce type qui posent des problèmes spécifiques tant d'analyse que de réalisation et de validation.Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Les systèmes temps réel : définitions (2) • Un système temps réel est un système réactif devant fournir des sorties logiquement correctes tout en respectant strictement des contraintes temporelles explicites • Tout système réactif est au minimum un système temps réel souple. Lotfi BOUSSAID Cours Informatique Temps Réel 5 . • Le terme "temps réel" est généralement assimilé à "temps réel dur". • La plupart des systèmes dits "temps réel" comportent à la fois des fonctions temps réel dures et des fonctions temps réel souples. Elle n'influence que le type de solution retenue qui sera spécifique ou standard et plus ou moins réutilisable. • La structure embarquée ou détachée du système n'en change pas les principes. Il suffit de respecter les contraintes de temps imposées par l'environnement.

il faut partir à point » Aller vite n’est pas l’objectif recherché Lotfi BOUSSAID Cours Informatique Temps Réel 6 .Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Mauvaises interprétations de la notion de temps réel « Real-time is not real-fast » ou « rien ne sert de courir.

Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Domaines d’application (1/2) • • • Télécommunications mobiles de 3ème génération Fonctions multimédia Grand public Satellite Faible portée Région Grande Portée Local Area Large région Grande mobilité Faible mobilité Lotfi BOUSSAID Cours Informatique Temps Réel 7 .

40% du coûts (2020) [source PSA] Logiciels dans un véhicule – 1ko (1980) et 2Mo (2000) – même tendance que l’aéronautique Source: numatec automotive Lotfi BOUSSAID Cours Informatique Temps Réel 8 .Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Domaines d’application (2/2) • • • Une Mercedes classe S : 65 processeurs Électronique embarquée : 27 à 30% du coût d’un véhicule.

TRAI. SystemC .. RISC • Scalaire. Software Langage Assembleur. HPUX . Linux. Fortran C.Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Système Informatique Hardware Évolution de l’architecture • Monoprocesseur. VxWorks Programmation parallèle V Fortran. Handel-C. LISP. µClinux. vectoriel • Van Neumann Harvard OS • DOS. XP • Unix.. ADA CAO de circuits intégrés Outils de description matériel VHDL. Multiprocesseurs • CISC. C++. Design Reuse : IP RTOS RTLinux. C Conception logicielle Matérielle CODESIGN Lotfi BOUSSAID Cours Informatique Temps Réel 9 . superscalaire. Windows 9x.

A à E. ⇒ BC. bus données 8 bits – 7 registres 8 bits. HL 16 bits – 64 k octets adressables – 6000 transistors – 2 MHz – ~ 0.H. DE.3/1/1974 – Mots de 8 bits – bus adresses 16 bits.le 8080 • Intel 8080 .02 mips ? Lotfi BOUSSAID Cours Informatique Temps Réel 10 .L.Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Microprocesseurs .

Le Pentium© Pro • Intel Pentium Pro 27/3/95 – bus interne 300 bits – bus externe 64 bit – mémoire : 4 Go – mémoire virtuelle : 64 To – processeur 5.5 M transistors – cache intégré – 166.Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Microprocesseurs . 180. 200 MHz Lotfi BOUSSAID Cours Informatique Temps Réel 11 .

cache. ATX Supporte : – processeur (ou carte fille Slot1) – mémoire (RAM. DIMM – – – – – “chipset” (gestion logique bus) bus ISA et/ou PCI peut inclure un contrôleur SCSI cartes d’extension connecteurs divers périphériques. alimentation Ex : carte Pentium Lotfi BOUSSAID Cours Informatique Temps Réel 12 . BIOS) • SIMM.Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Carte mère et Bus PC • • Format standard – Classique (AT).

Harvard CPU CPU IO IO IO IO IO IO ••••• • Harvard BUS SYSTÈME BUS INSTRUCTIONS MÉMOIRE MÉMOIRE DONNÉES DONNÉES MÉMOIRE MÉMOIRE PROGRAMME PROGRAMME CPU CPU IO IO IO IO IO IO ••••• BUS DONNÉES Lotfi BOUSSAID Cours Informatique Temps Réel 13 .Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel • Von Neumann MÉMOIRE MÉMOIRE Von Neumann vs.

peu performante Lotfi BOUSSAID Cours Informatique Temps Réel 14 .Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Les processeurs CISC (Complex Instructions Set Computer) Les avantages • Instructions plus proches d'un langage de haut niveau • Programmation plus compact • Écriture plus rapide et plus élégante des application • Moins d'occupation mémoire des programmes • Exécution nécessite moins d'octets mémoire Les inconvénients • beaucoup trop de codes d'instruction différents • taille des instructions élevée et variable (1 à 15 bytes – octets par instruction) • structure des instructions non standardisées: exécution complexe.

Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Les processeurs RISC (Reduced Instructions Set Computer) • Nette séparation entre les instructions d'accès mémoire et les autres • Instructions standardisées. superscalaire • Très nombreux registres à usage général • Un ou plusieurs cache (s) internes(s) ainsi que des tampons internes et un jeu d'instruction réduit aux instructions simples Lotfi BOUSSAID Cours Informatique Temps Réel 15 . non microcodée architecture pipeline. en taille et en durée d'exécution • Unité de décodage câblée.

• ER : Ecriture (Write instruction) de la valeur calculée dans les registres. • EX : Exécution de l'Instruction (EXECute instruction) • MEM : Accès mémoire (MEMory access). Objectif du pipeline : Être capable de réaliser chaque étape en parallèle avec les étapes amont et aval Lotfi BOUSSAID Cours Informatique Temps Réel 16 .Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Le pipeline (ou pipelining) • LI : Lecture de l'Instruction (en anglais FETCH instruction) depuis le cache . écriture ou chargement de la mémoire . • DI : Décodage de l'Instruction (DECODe instruction) et recherche des opérandes.

simulations numériques.Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Les calculateurs Parallèles Les ordinateurs séquentiels : Augmentation des performances 2 fois / 14 mois (Lois de Moore) Insuffisance pour certaines applications : météorologie. synthèse et reconstruction d'images. Développer des calculateurs parallèles Lotfi BOUSSAID Cours Informatique Temps Réel 17 . etc.

Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Les calculateurs Parallèles Applications Grand Challenge également appelées « Applications 3T ». Architecture et systèmes des calculateurs parallèles. • 1 Téra octet de mémoire centrale . Lotfi BOUSSAID Cours Informatique Temps Réel 18 . Octobre 2003. parce qu'elles nécessitent pour leur exécution [1]: • 1 Téra flops (floating operation per second) . ENSEIRB. Ces applications ne sont réalisables actuellement qu’en faisant recours à un parallélisme massif : Plus de 8000 processeurs GPP !! [1] François PELLEGRINI. • 1 Téra octet par seconde de bande passante pour produire les résultats.

Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Modèles de Calculateurs Parallèles Classification de Flynn [1] Architecture SISD « Single Instruction stream. Single Data stream » Architecture MISD « Multiple Instruction stream. Single Data stream » Lotfi BOUSSAID Cours Informatique Temps Réel 19 .

Multiple Data stream » Architecture MIMD « Multiple Instruction stream.Calculateurs Temps Réel Généralités sur les Systèmes Temps Réel Modèles de Calculateurs Parallèles Classification de Flynn [1] Architecture SIMD « Single Instruction stream. Mingle Data stream » Lotfi BOUSSAID Cours Informatique Temps Réel 20 .

CalculateursPlan du cours Temps Réel • • • • • Généralités sur les systèmes temps réel La CAO des Systèmes Matériels Les Systèmes d’Exploitation La programmation parallèle Les STR embarqués : les SOC et les SOPC Lotfi BOUSSAID Cours Informatique Temps Réel 21 .

Calculateurs Temps Réel La CAO des Systèmes Matériels Les circuits FPGA (Field Programmable Gate Array) PLD PLD Programmable Logic Device Programmable Logic Device SPLD SPLD Simple PLD Simple PLD (PAL & GAL) (PAL & GAL) CPLD CPLD Complex PLD Complex PLD FPGA FPGA Field Field Programmable Programmable Gate Array Gate Array ~ 1000 à 250 000 ~ 1000 à 250 000 Gates Gates SPGA SPGA System System Programmable Programmable Gate Array Gate Array ~ 500 000 ~ 500 000 Gates Gates ~ 0 à 500 ~ 0 à 500 Gates Gates ~ 500 à 30 000 ~ 500 à 30 000 Gates Gates Lotfi BOUSSAID Cours Informatique Temps Réel 22 .

Atmel. Vantis. Cypress. dans le circuit Non Volatile: Non Non Non Oui Non Technologie: Bipolaire UVCMOS EECMOS CMOS CMOS Les Fabricants XILINX. Lattice.. ALTERA. QuickLogic. dans le circuit Oui. ACTEL. Lotfi BOUSSAID Cours Informatique Temps Réel 23 . Lucent.Calculateurs Temps Réel La CAO des Systèmes Matériels Les différentes technologies des FPGAs Résumé des différentes technologies Nom: Fuse EPROM EEPROM SRAM Antifuse Reprogrammable: Non Oui. en dehors du circuit Oui. Philips .

Calculateurs Temps Réel La CAO des Systèmes Matériels Architecture interne des FPGAs Slice S3 Slice S2 Synchronous Dual-Port RAM • Fast & efficient logic • Highest flexibility BRAM Switch Matrix Slice S1 Slice S0 Powerful CLB >300 MHz Performance Programmable I/O • 840 Mbps LVDS Digital Clock Management • Precise frequency generation and phase control • Both on-chip & off-chip clock synchronization • 300 MHz • 420 DMIPS EmbeddedPowerPC Lotfi BOUSSAID Cours Informatique Temps Réel 24 .

Calculateurs Temps Réel La CAO des Systèmes Matériels Les ressources logiques de base des circuits FPGAs : • Les blocs logiques configurables CLBs • Les blocs entrée/sortie • Les cellules d’interconnections programmables Bloc I/O Bloc CLB Cellules d’interconnections PSM = Programmable Switch Matrix 10 interconnect points per matrix Lotfi BOUSSAID Cours Informatique Temps Réel 25 .

Calculateurs Temps Réel La CAO des Systèmes Matériels Les ressources logiques de base des circuits FPGAs : 1 CLB = 2 (4) Tranches (Slices) LUT à 4 Entrées (Look-Up-Table) Une table de transcodage combinatoire (LUT) pouvant implanter : – deux fonctions indépendantes à 4 variables – une fonction complète à 5 variables – une fonction incomplète à 6 variables • Deux cellules séquentielles (bascules D) • Des multiplexeurs de configuration Tranche (Slice) Lotfi BOUSSAID Cours Informatique Temps Réel 26 .

8V (0. 5 niveaux de métallisation) Le Virtex-E 1.8V Extended Memory Architecture des Virtex 2.5V et 1.8V [Xilinx00] Lotfi BOUSSAID Cours Informatique Temps Réel 27 . 6 niveaux de métallisation) Le Virtex-E 1.5V (0.22µm.Calculateurs Temps Réel La CAO des Systèmes Matériels Exemple de circuits FPGAs Xilinx La série Virtex de chez Xilinx compte trois modèles : Le Virtex 2.18µm.

Calculateurs Temps Réel La CAO des Systèmes Matériels Advantages des circuits FPGA • Délai de conception • Possibilité de reconfiguration • Prototypage rapide • Ré-utilisation de bibliothèque de composants (IPs) • Facilité de mise en œuvre et de test. de flexibilité et de performance Lotfi BOUSSAID Cours Informatique Temps Réel 28 . Meilleur compromis entre les critères de coût.

.Calculateurs Temps Réel La CAO des Systèmes Matériels Les progrès technologique des FPGAs • Composants toujours plus rapides • Capacité d’intégration plus élevée Domaines d’application des FPGAs: • Prototypage rapide • Traitement d’images • Traitement du signal • Cryptographie • Réseaux informatiques • etc.. Lotfi BOUSSAID Cours Informatique Temps Réel 29 .

Calculateurs Temps Réel La CAO des Systèmes Matériels Stratégie de Conception Spécification Spécification Fonctionnelle Fonctionnelle Raffinement & Réutilisation Synthèse et Synthèse et Validation Validation Niveau Niveau Comportemental Comportemental C.Controller Data Path Controller Synthèse RTL Synthèse RTL Niveau Logique Niveau Logique Nelist Nelist Synthèse Logique Synthèse Logique Prototypage Prototypage Niveau Physique Niveau Physique Lotfi BOUSSAID Cours Informatique Temps Réel 30 .. VHDL .. Synthèse de Haut niveau Synthèse de Haut niveau Niveau RTL Niveau RTL VHDL RTL VHDL RTL Data Path -. C. VHDL .

Calculateurs Temps Réel La CAO des Systèmes Matériels Développement d’un FPGA Entrée schématique VHDL Entrée syntaxique Langage: VHDL VHDL VHDL Diagrammes d’états Modelsim Vérification des erreurs de syntaxe VHDL Simulation fonctionnelle STIMULI Ou TESTBENCH Xilinx Integrated Software Environnement ISE Synthèse EDIF. XNF VHDL STIMULI Ou TESTBENCH Simulation Après synthèse Optimisation Placement / routage dans le circuit choisi JEDEC VHDL. SDF Simulation temporelle STIMULI Ou TESTBENCH La programmation du circuit se fait soit: • En utilisant un programmateur • En téléchargeant le code JEDEC sur l’objet technique (JTAG ou ISP) Lotfi BOUSSAID Cours Informatique Temps Réel 31 .

Calculateurs Temps Réel La CAO des Systèmes Matériels Carte d’évaluation SPARTAN-3 3 connecteurs d’extensions FPGA Spartan-3 216 Kbits de bloc RAM Horloge interne jusqu’à 500 Mhz Port VGA Mémoire SRAM (256 Kb x 32) Intégrée à la carte Port série Port PS2 9 Leds 8 interrupteurs et 4 boutons-poussoirs 4 afficheurs 7 segments à Leds Lotfi BOUSSAID Cours Informatique Temps Réel 32 .

Calculateurs Temps Réel La CAO des Systèmes Matériels Le VHDL VHSIC (Very High Speed Integrated Circuit) Hardware Description Language • • • • • • • • • Objets et opérateurs de base Logique concurrente VS synchrone Les « Entity » Les « Component » Les « Package » Les « Test benches » La Syntaxe Fonctions Combinatoires Fonctions Séquentielles Lotfi BOUSSAID Cours Informatique Temps Réel 33 .

end arch. EQ: out bit). end comparateur.Calculateurs Temps Réel La CAO des Systèmes Matériels Analogie avec circuits logiques réels Exemple: Comparateur 4 bits entity comparateur is port( A. B: in bit_vector(0 to 3). architecture arch of comparateur is begin EQ <= ‘1’ when (A = B) else ‘0’. Lotfi BOUSSAID Cours Informatique Temps Réel 34 .

. -1. 4 . 3. . Count <= Count + 2. – Constant : Valeur fixe. V1 = V2 / 5. -1. etc. • Possédant tous un type Data Type Bit Bit_vector Boolean Integer Real Time Character String ‘1’. 2. 0.0E5 1 ua.0. CharData <= ‘X’.Calculateurs Temps Réel La CAO des Systèmes Matériels Objets VHDL • Les différentes sortes d’objets – Signal : Fil conducteur.3 Q <= ‘1’ after 6 ns. EQ <= True. ‘0’ (array of bits) True. Msg <= "MEM: " & Addr Lotfi BOUSSAID Cours Informatique Temps Réel 35 . (Array of characters) Values Example Q <= ‘1’. 1. ‘2. ‘$’. False -2. 100 ps ‘a’. DataOut <= "00010101". ‘b’. – Variable : Valeur intermédiaire d’une opération complexe. 7 ns. 1.

Calculateurs Temps Réel La CAO des Systèmes Matériels Objets VHDL La bibliothèque IEEE 1164 a proposé un type de donnée standard ayant neuf valeurs comme indiqué ci-dessous : Value 'U' 'X' '0' '1' 'Z' 'W' 'L' 'H' '-' Description Uninitialized Unknown Logic 0 (driven) Logic 1 (driven) High impedance Weak 1 Logic 0 (read) Logic 1 (read) Don’t care Ex. Type : std_logic et std_logic_vector(n downto 0) Lotfi BOUSSAID Cours Informatique Temps Réel 36 .

* − Attributs : clock’event. or. pour détecter un front montant : – if Clock = '1' and Clock’event then … Lotfi BOUSSAID Cours Informatique Temps Réel 37 . − Arithmétiques: +. − Tests : =. >. /=. • Exemple. nand.Calculateurs Temps Réel La CAO des Systèmes Matériels Opérateurs • Vaste choix d’opérateurs − Logiques: and. /. <. -. clock’last_value. <=. xor. etc. etc. etc. nor.

End <Nom de l’entité> Architecture Structural <Nom de l’entité> is <Constantes> <Signaux internes> <Components> Begin <Code utile> End Structural • Déclaration des constantes. signaux internes et components • Corps de l’entité : code utile Règle : une seule entité par fichier Lotfi BOUSSAID Cours Informatique Temps Réel 38 .Calculateurs Temps Réel La CAO des Systèmes Matériels Les entités (entity) Qu’est-ce que c’est ? C’est un bloc de code indépendant avec ses entrées et sorties Analogie avec C/ C++ : Une fonction Une entité est divisée en trois (3) parties : • Déclaration de l’entité Entity <Nom de l’entité> is Port ( <Signaux in et out>).

C <= AplusB(7 downto 0). Carry <= AplusB(8) End End process End behavioral Lotfi BOUSSAID Cours Informatique Temps Réel 39 . B: in std_logic_vector(7 downto 0). Carry: out std_logic). C <= "00000000". Elsif (clk'event and clk = '1') then AplusB <= (A & '0') + (B & '0').Calculateurs Temps Réel La CAO des Systèmes Matériels Exemple d’entité : additionneur 8 bits Entity Adder8bits is Port ( clk: in std_logic. C: out std_logic_vector(7 downto 0). clk) Begin If (rst = '1') then Carry <= '0'. rst: in std_logic. End Adder8bits Architecture behavioral of Adder8bits is Signal AplusB: std_logic_vector(8 downto 0). Begin Additiop : Process (rst. AplusB <= (Others => '0'). A: in std_logic_vector(7 downto 0).

Calculateurs Temps Réel La CAO des Systèmes Matériels Les components But : Modularisation du code de façon hiérarchique (Analogie avec C/ C++ : Appel de fonction) • Méthode pour inclure d’autres entités dans une entité principale • Déclaration du component • Instanciation du component : « Port map » • Niveaux d’instanciations infinis ! Lotfi BOUSSAID Cours Informatique Temps Réel 40 .

E(7 downto 0). Component Adder8bits Port ( A: in std_logic_vector(7 downto 0). F(7 downto 0). Carry ).Calculateurs Temps Réel La CAO des Systèmes Matériels Exemple avec component : additionneur 16 bits Entity Adder16bits is Port ( D: in std_logic_vector(15 downto 0). E(15 downto 8). End Adder16bits. E: in std_logic_vector(15 downto 0). End structural Lotfi BOUSSAID Cours Informatique Temps Réel 41 . Architecture Structural of Adder16bits is Signal Carry: std_logic. B: in std_logic_vector(7 downto 0). Dplus <= D(15 downto 8) + ("0000000" & Carry). F: out std_logic_vector(15 downto 0)). End component. Begin Adder1 : Adder8bits Port map ( D(7 downto 0). C: out std_logic_vector(7 downto 0). Adder2 : Adder8bits Port map ( Dplus. Carry). Carry: out std_logic). F(15 downto 8). Signal Dplus: std_logic_vector(7 downto 0).

h”) • Les packages sont généralement déclarés au tous début des fichiers de code source VHDL (avant les entités) • Employés dans plusieurs cas.Calculateurs Temps Réel La CAO des Systèmes Matériels Les Packages • Les packages sont des librairies de code VHDL précompilées ou non (Analogie avec C/ C++: #include “package. par exemple : – Modularisation du code – Simulation de composantes numériques externes – Librairies nécessaires par les simulateurs employés Lotfi BOUSSAID Cours Informatique Temps Réel 42 .

Calculateurs Temps Réel La CAO des Systèmes Matériels Test bench et exemple • Test bench : Librairies et entité « vide » • Déclaration des components à simuler et signaux à manipuler • Opérateurs Wait et After Lotfi BOUSSAID Cours Informatique Temps Réel 43 .

Les Directions In entrée Out sortie qui ne peut pas être relue à l’intérieur de l’architecture Inout entrée-sortie pouvant être relue à l’intérieur de l’architecture Buffer sortie pouvant être relue à l’intérieur de l’architecture mais sur des signaux du type buffer 3. Constant permet une meilleure lisibilité du programme Lotfi BOUSSAID Cours Informatique Temps Réel 44 . Les Instructions Port et Generic Port permet de décrire les entrées sorties Generic permet de spécifier certains paramètres de l’entité pour avoir des descriptions très générales (ex: largeur d’un bus) 2.Calculateurs Temps Réel La CAO des Systèmes Matériels Syntaxe 1. Les Objets Signal connexion interne déclarée dans une architecture ou un paquetage Buffer Il est affecté généralement à une sortie après une utilisation interne Variable utilisée comme index dans la génération de boucle et ne peut être déclarée que dans un process.

Affectation conditionnelle : GRANDEUR <= Q1 when Condition1 else Q2 when Condition2 else . Q2 when valeur2.. . Qn when others. Generate for i in MIN to MAX generate INSTRUCTIONS.. end generate.Calculateurs Temps Réel La CAO des Systèmes Matériels Syntaxe 4. Qn Affectation sélective : GRANDEUR <= Q1 when valeur1.. Lotfi BOUSSAID Cours Informatique Temps Réel 45 . La description Les instructions concurrentes Affectation simple : GRANDEUR <= VALEUR_OU_AUTRE_GRANDEUR. - La boucle For .

. elsif CONDITION2 then INSTRUCTION2. Le test case . When .. End case. Then .. Syntaxe Le test if . . End case : case EXPRESSION is when ETAT1 => INSTRUCTION1. end if.. Elsif . when others => INSTRUCTIONn. End if : else INSTRUCTIONn.Calculateurs Temps Réel La CAO des Systèmes Matériels Les instructions séquentielles if CONDITION1 then INSTRUCTION1. Else ... Lotfi BOUSSAID Cours Informatique Temps Réel 46 ... . when ETAT2 => INSTRUCTION2.

Loop . La boucle while . End loop : while CONDITION loop INSTRUCTION.. End loop : for N in X to Y loop INSTRUCTION. end loop. end loop..Calculateurs Temps Réel La CAO des Systèmes Matériels Syntaxe Les instructions séquentielles La boucle for . INSTRUCTION. - Lotfi BOUSSAID Cours Informatique Temps Réel 47 .. Loop . To . L’attente " wait until" : wait until EVENEMENT.. In ...

library ieee . end COMPORTEMENT. when others => SORTIE <= "01100000" . when 9 => SORTIE <= "0000100" . En ) architecture COMPORTEMENT of BCD_2_7SEG is begin Exemple : Conversion BCD vers 7 Segments : case BIN is when 0 => SORTIE <= "0000001" . E0 En S0 Sp S 0 = FC ( E0 . ).std_logic_1164. .ALL.Calculateurs Temps Réel La CAO des Systèmes Matériels Fonctions Combinatoires Une fonction combinatoire peut être représentée par un système dont les sorties dépendent uniquement des entrées. BIN : in STD_LOGIC_VECTOR(3 downto 0) . port ( when 5 => SORTIE <= "0100100" . when 3 => SORTIE <= "0000110" . entity BCD_2_7SEG is when 4 => SORTIE <= "1001100" .. end BCD_2_7SEG. when 7 => SORTIE <= "0001111" .. when 2 => SORTIE <= "0010010" . Lotfi BOUSSAID Cours Informatique Temps Réel 48 . when 8 => SORTIE <= "0000000" . . SORTIE : out STD_LOGIC_VECTOR(6 downto 0) when 6 => SORTIE <= "0100000" . En ) FC S p = FC ( E0 . use ieee. end case . . when 1 => SORTIE <= "1001111" . .

[Nom_du_process :] process(Liste_de_sensibilité_nom_des_signaux) Begin -.instructions du process end process [Nom_du_process] . Le nom de ces signaux est défini dans la liste de sensibilité lors de la déclaration du process. Il permet d’effectuer des opérations sur les signaux en utilisant les instructions standard de la programmation structurée comme dans les systèmes à microprocesseurs. L’exécution d’un process est déclenchée par un ou des changements d’états de signaux logiques.Calculateurs Temps Réel La CAO des Systèmes Matériels Fonctions Séquentielles (1) Définition d’un PROCESS Un process est une partie de la description d’un circuit dans laquelle les instructions sont exécutées séquentiellement c’est à dire les unes à la suite des autres. Règles de fonctionnement d’un process : 1) L’exécution d’un process a lieu à chaque changement d’état d’un signal de la liste de sensibilité. 2) Les instructions du process s’exécutent séquentiellement. 3) Les changements d’état des signaux par les instructions du process sont pris en compte à la fin du process. Lotfi BOUSSAID Cours Informatique Temps Réel 49 .

when “010” | “011” => S1 <=’1’. L’assignation sélective case signal_de_slection is when valeur_de_sélection => instructions [when others => instructions] end case. when “001” => S1 <= ‘0’. Lotfi BOUSSAID Cours Informatique Temps Réel 50 . when others => S1 <= ‘0’. Exemple: case SEL is when “000” => S1 <= E1. end case.Calculateurs Temps Réel La CAO des Systèmes Matériels Fonctions Séquentielles (2) Les deux principales structures utilisées dans un PROCESS L’assignation conditionnelle if condition then instructions [elsif condition then instructions] [else instructions] end if . Exemple: if (RESET=’1’) then SORTIE <= ”0000”. end if .

end DESCRIPTION. end process PRO_BASCULED.all. end BASCULED.std_logic_unsigned. Use ieee.Calculateurs Temps Réel La CAO des Systèmes Matériels Fonctions Séquentielles (3) Exemples de process : Déclaration d’une bascule D Library ieee. Lotfi BOUSSAID Cours Informatique Temps Réel 51 .CLK : in std_logic.std_logic_1164.all. end if.numeric_std.all. architecture DESCRIPTION of BASCULED is begin PRO_BASCULED : process (CLK) begin if (CLK'event and CLK ='1') then S <= D. S : out std_logic). entity BASCULED is port ( D. Use ieee. Use ieee.

pourra avoir des effets différents suivant les valeurs des combinaisons précédentes de ces mêmes entrées.) est un système dynamique. dans une position parmi un nombre fini de positions possibles.Calculateurs Temps Réel La CAO des Systèmes Matériels Fonctions Séquentielles (4) Une fonction séquentielle a la capacité de « se souvenir » des événements antérieurs : Une même combinaison des entrées. à chaque instant. qui peut se trouver. Lotfi BOUSSAID Cours Informatique Temps Réel 52 . Une fonction séquentielle peut être réalisée grâce une structure du type machine à états finis (MEF) Une machine à états en anglais Finite State Machine (F.S. à un certain instant.M.

Calculateurs Temps Réel La CAO des Systèmes Matériels Les Machines d’États Finis (MEF) Deux types de machines existent : la machine de Moore et celle de MEALY Dans une machine de type MOORE. les sorties sont fonctions de l’état courant et des entrées. Il est constitué de n bascules synchrones. Le registre d’état constitue le cœur d’une machine à états. les sorties ne dépendent que de l’état interne. Le nombre d’états est : N=2n Lotfi BOUSSAID Cours Informatique Temps Réel 53 . Dans une machine de type MEALY.

Calculateurs Temps Réel La CAO des Systèmes Matériels Les Machines d’États Finis (MEF) Le Diagramme de Transition On associe à chaque valeur possible du registre d’état. Le système se trouve dans l’état «source » considéré 2. La condition de réalisation sur les entrées est vraie 3. Un front actif de l’horloge survient Exemple de diagramme d’état Lotfi BOUSSAID Cours Informatique Temps Réel 54 . Pour qu’une transition soit activée il faut que les trois conditions suivantes soient vérifiées : 1. L’évolution du système est représentée par des flèches représentant les transitions. une case.

CalculateursPlan du cours Temps Réel • • • • • Généralités sur les systèmes temps réel La CAO des Systèmes Matériels Les Systèmes d’Exploitation La programmation parallèle Les STR embarqués : les SOC et les SOPC Lotfi BOUSSAID Cours Informatique Temps Réel 55 .

Une base pour le développement et l’exécution de programmes d’application Problématique Pour assurer une exécution portable et efficace il faut pouvoir gérer : . disques.la complexité de chacune des composantes encombrantes source de bogues Lotfi BOUSSAID Cours Informatique Temps Réel 56 . mémoires. horloges. etc.Calculateurs Temps Réel Les Systèmes d’Exploitation Qu’est-ce qu’un système d’exploitation ? Un système d’exploitation permet de fournir : .Une gestion des ressources : (processeurs.La multiplicité des différentes ressources .) .

Contrôleur de lecteur de disquette (NEC PD765) : . des tests internes . Partage d’imprimante . le calibrage des têtes de lecture.Calculateurs Temps Réel Exemples de problèmes Les Systèmes d’Exploitation 1.Gérer les tampons d’impression . 2.Gérer l’accès concurrentiel à cette ressources Lotfi BOUSSAID Cours Informatique Temps Réel 57 .Pouvoir verrouiller l’accès à l’imprimante .Le formatage d’une piste .Le déplacement du bras d’un lecteur .Éviter les conflits entre les programmes et les usagers .Lecture ou écriture d’un secteur .L’initialisation du contrôleur..

Calculateurs Temps Réel Les Systèmes d’Exploitation Fonctionnalités d’un Système d’Exploitation Un système d’exploitation a pour but : . uniforme et cohérente de la machine et de ses ressources Un système d’exploitation est considéré selon deux points de vue : Vue descendante Machine virtuelle SE Vue ascendante Gestionnaire de ressources Lotfi BOUSSAID Cours Informatique Temps Réel 58 .Décharger le programmeur des tâches de programmation énorme et fastidieuse .Offrir une vue simple.Protéger le système et ses usagers des fausses manipulations .

Calculateurs Temps Réel Les Systèmes d’Exploitation Fonctionnalités d’un Système d’Exploitation (2) La machine virtuelle doit fournir à l’utilisateur : La Gestionnaire de ressources doit permettre : .Une vue uniforme des entrées/sorties .La gestion des erreurs .La gestion de fichiers et répertoires .Et l’empêchement des conflits Lotfi BOUSSAID Cours Informatique Temps Réel 59 .Une mémoire virtuelle et partageable .Le contrôle des accès aux ressources .la gestion de processus .L’interruption d’une utilisation de ressource .La gestion de communication interprocessus .Assurer le bon fonctionnement des ressources et le respect des délais .

Les instructions de modification de la table de segments mémoire ne sont permises qu’en mode noyau .Les appels systèmes sont réalisés au moyen d’instructions spécifiques «Traps » ou interruptions logicielles qui permettent le passage en mode privilégié appelé mode noyau ou kernel Mode noyau : .Les instructions de lecture et d’écriture sur les ports d’entrée/sortie ne sont permises qu’en mode noyau Application CALL TRAP Bibliothèque Mode utilisateur Mode noyau Système Matériel Lotfi BOUSSAID Cours Informatique Temps Réel Mécanisme des traps 60 .Calculateurs Temps Réel Les Systèmes d’Exploitation Principes des Systèmes d’Exploitation Appels Système : .Le code et les données utilisés par le SE ne sont accessibles qu’en mode noyau .Interface entre le système d’exploitation et les programmes d’application qui s’exécutent en mode non privilégié (mode utilisateur) .

Contrôle de processus Ces systèmes sont principalement utilisés en milieu industriel. ils permettent de réagir en temps garanti à des événements issus de capteurs pour maintenir la stabilité d’un processus industriel « Feedback » .Général Multi-utilisateurs et multi-tâches Besoin de Lotfi BOUSSAID Cours Informatique Temps Réel 61 .Serveurs de fichiers Ces systèmes contrôlent de gros ensembles d’informations interrogeables à distance de réponse court Besoin de temps .Mono-utilisateur N’accepte qu’un seul utilisateur à un moment donné .Transactionnel Ces systèmes contrôlent de grandes bases de données modifiées de façon très fréquente temps de réponse court .Calculateurs Temps Réel Les Systèmes d’Exploitation Types de Systèmes d’Exploitation .

La procédure interne est exécutée lors de chaque appel système . chacune visible de toutes les autres. Systèmes Monolithiques Le système est une collection de procédures.Calculateurs Temps Réel Les Systèmes d’Exploitation Structure Interne des SE Généraux 1. dont chacune s’appuie sur la couche immédiatement inférieure Lotfi BOUSSAID Cours Informatique Temps Réel 62 . et pouvant appeler toute autre procédure qui lui est utile. Systèmes en couche Structuration en plusieurs couches.Les procédures utilitaires assistent les procédures de service 2. Structure interne en trois niveaux : .Les procédures de services dédiés au traitement de chaque appel système .

Lotfi BOUSSAID Cours Informatique Temps Réel 63 . Systèmes client-serveur Les systèmes client-serveurs sont basés sur une approche horizontale plutôt que verticale. appelé machine virtuelle.Calculateurs Temps Réel Les Systèmes d’Exploitation Structure Interne des SE Généraux (2) 3. Ils sont constitué d’un micro-noyau minimum pour la communication. permettant aux processus clients d’effectuer des requêtes auprès des différents serveurs de ressources du SE. s’exécute juste au dessus du matériel et se charge de la multiprogrammation et fournissant à la couche supérieure plusieurs machines virtuelles Application CMS Application CMS VM Matériel Application CMS CMS: Conversation Monitor System VM: Virtual Machine 4. Machines virtuelles Le cœur du système.

redémarré..Suspendu. ses données.Les tâches légères ou « threads » qui peuvent exister au sein de chaque processus lourd Les tâches légères ou « threads » qui peuvent exister au sein de chaque processus lourd Lotfi BOUSSAID Cours Informatique Temps Réel 64 .Son code (texte). il est susceptible d’être -.Calculateurs Temps Réel Les Systèmes d’Exploitation Les Processus Définition Un processus est une instance d’un programme en cours d’exécution. Définition Un processus est crée par d’autres processus (sauf le premier). les valeurs courantes des registres du processeur. il est caractérisé par :: Un processus est une instance d’un programme en cours d’exécution. sa pile d’exécution. il est caractérisé par -. Son code (texte). il est susceptible d’être :: Un processus est crée par d’autres processus (sauf le premier). ses données.. sa pile d’exécution. les valeurs courantes des registres du processeur. et de recevoir des signaux traitables de façon asynchrones Suspendu. et de recevoir des signaux traitables de façon asynchrones Définition Il existe deux niveaux d’exécution :: Il existe deux niveaux d’exécution -. redémarré.Les processus classiques « lourds » possédant chacun leurs données propres Les processus classiques « lourds » possédant chacun leurs données propres -.

.. mais un seul s’exécutent à la fois Lotfi BOUSSAID Cours Informatique Temps Réel 65 .d’un jeu de registres . tous les processus progressent dans le temps.de mémoire virtuelle de mémoire virtuelle Les processeur physique commute entre les processus sous la direction d’un Ordonnanceur Les processeur physique commute entre les processus sous la direction d’un Ordonnanceur A B C D Temps Dans les SE à temps partagé. d’un jeu de registres -. d’un compteur ordinal -.d’un compteur ordinal .Calculateurs Temps Réel Les Systèmes d’Exploitation Les Processus (2) Notion de processus La notion de processus constitue un modèle simple et efficace pour représenter l’exécution concurrente de La notion de processus constitue un modèle simple et efficace pour représenter l’exécution concurrente de tâches au sein d’un SE multitâches tâches au sein d’un SE multitâches Un processus modélise l’exécution d’un programme sur un processeur disposant :: Un processus modélise l’exécution d’un programme sur un processeur disposant -.

.. . Il ne lui manque que la ressource processeur pour s’exécuter .Calculateurs Temps Réel Les Systèmes d’Exploitation Les Processus (3) État d’un processus Les processus passent par des états discrets différents : . bloc disque.Élu s’il est en cours d’exécution sur le processeur .son occupation mémoire .Bloqué s’il est en attente d’un évènement externe (frappe d’un clavier.) Gestion des processus Pour la mise en œuvre du modèle des processus. . sa priorité. .Prêt s’il est suspendu en faveur d’un autre.son numéro de processus. Lotfi BOUSSAID Cours Informatique Temps Réel 66 . son vecteur d’interruptions. son état. .Les valeurs de son compteur ordinal. Pour chaque processus on trouve : . et des autres registres du processeur .la liste des fichiers ouverts par lui. le système dispose d’une table appelé « Table des processus ».. son pointeur de pile.

Le processeur sauvegarde la valeur de son compteur ordinal dans la pile courante. dont l’adresse est stockée dans une table indexée appelée Vecteur d’Interruptions.Calculateurs Temps Réel Les Systèmes d’Exploitation Les Processus (4) Gestion des interruptions Le traitement des interruptions par le système s’effectue en appelant la routine de traitement associée à chaque type d’interruption. puis appelle la procédure principale de gestion de l’interruption.Sauvegarde des registres du processeur dans la pile.Au retour de la procédure de gestion. la routine de traitement restaure les registres du processeur puis exécute l’instruction de retour de procédure (RET ou IRET) Lotfi BOUSSAID Cours Informatique Temps Réel 67 . détermine le type d’interruption. écrite en langage C . Le traitement d’une interruption par le SE s’effectue de la façon suivante : . passe en mode noyau et charge la nouvelle valeur du compteur ordinal à partir de la valeur contenue dans le vecteur d’interruptions. .

l’algorithme de traitement est relativement simple du programme suivant de la file dés qu’un emplacement mémoire se libère du programme suivant de la file dés qu’un emplacement mémoire se libère Exécution Exécution Lotfi BOUSSAID Cours Informatique Temps Réel 68 . soit que les instructions peuvent provoquer des interblocages. soit à cause de la non partageabilité d’une ressource. il faut réaliser un choix pour il faut réaliser un choix pour Pour les systèmes de traitement par lots.se trouvent en compétition pour une ressource système.Calculateurs Temps Réel Les Systèmes d’Exploitation Les Processus (5) Communication inter-processus Certains processus : . Ordonnancement des processus Lorsque plusieurs processus doivent être exécutés simultanément Lorsque plusieurs processus doivent être exécutés simultanément ordonnancer dans le temps les processus prêts sur le processeur. l’algorithme de traitement est relativement simple Pour les systèmes de traitement par lots.Ont besoin de coopérer nécessité de moyen de communication et de synchronisation . ordonnancer dans le temps les processus prêts sur le processeur.

Temps d’exécution :: minimiser le temps d’exécution pris par chaque travail exécuté en traitement par lot Temps d’exécution minimiser le temps d’exécution pris par chaque travail exécuté en traitement par lot -. multi-processeur. multi-tâches. l’algorithme d’ordonnancement peut Pour les systèmes multi-utilisateurs.Temps de réponse :: minimiser le temps de réponse pour les utilisateurs interactifs Temps de réponse minimiser le temps de réponse pour les utilisateurs interactifs -. multi-tâches.Calculateurs Temps Réel Les Systèmes d’Exploitation Les Processus (6) Ordonnancement des processus Pour les systèmes multi-utilisateurs. l’algorithme d’ordonnancement peut devenir plus complexe devenir plus complexe Le choix de l’algorithme dépend l’application et notamment des critères suivants :: Le choix de l’algorithme dépend l’application et notamment des critères suivants -.Équité :: chaque processus doit pouvoir disposer de la ressource processeur Équité chaque processus doit pouvoir disposer de la ressource processeur -.Rendement :: le nombre de travaux exécuté par unité de temps doit être maximale Rendement le nombre de travaux exécuté par unité de temps doit être maximale Lotfi BOUSSAID Cours Informatique Temps Réel 69 .Efficacité :: l’utilisation du processeur doit être maximale Efficacité l’utilisation du processeur doit être maximale -. multi-processeur.

Ordonnancement de priorité : Mécanisme de priorité afin de favoriser certaines classes de processus par rapport à d’autres en fonction des besoins. Lotfi BOUSSAID Cours Informatique Temps Réel 70 .Un Ordonnanceur de bas niveau. d’échanger les processus entre la mémoire et le disque. s’occupe des processus présents en mémoire . de temps en temps. Ordonnancement dicté par une politique : Ce type d’ordonnancement permet de garantir à l’utilisateur une performance annoncé (peut être utilisé pour les systèmes temps réel) Ordonnancement à deux niveaux : . Il consiste à attribuer à chaque processus un quantum de temps pendant lequel il a le droit de s’exécuter.Calculateurs Temps Réel Les Systèmes d’Exploitation Les Processus (7) Les différents techniques d’ordonnancement Ordonnancement circulaire : (round robin ou tourniquet) mécanisme d’ordonnancement le plus simple. Ordonnancement du plus court d’abord : Ce type d’ordonnancement s’applique lorsqu’on dispose d’un ensemble de tâches dont on peut connaître la durée à l’avance (ex: transactions journalières bancaires).Un Ordonnanceur de haut niveau permet. semblable à ceux déjà vus.

Calculateurs Temps Réel Les Systèmes d’Exploitation Les Systèmes d’Exploitation Temps Réel Définition Les systèmes d’exploitation modernes sont basés sur des processeurs Partage du temps du processeur entre les différentes tâches. Lotfi BOUSSAID Cours Informatique Temps Réel 71 . le but de l'Ordonnanceur est de donner à l'utilisateur une impression de confort tout en s'assurant que toutes les tâches demandées sont finalement exécutées. Le passage d’une tâche à l’autre est assuré par un ensemble d’algorithmes appelé Ordonnanceur (Scheduler en anglais). Dans un système temps réel.

Le déterminisme logique :: les mêmes entrées appliquées au système doivent produire les mêmes 1. Cette contrainte est indépendante de la notion de temps réel mais la fiabilité du système sera d'autant plus contrainte est indépendante de la notion de temps réel mais la fiabilité du système sera d'autant plus mise à l'épreuve dans le cas de contraintes dures. Le déterminisme temporel :: une tâche donnée doit obligatoirement être exécutée dans les délais 2. Le déterminisme temporel une tâche donnée doit obligatoirement être exécutée dans les délais impartis. La fiabilité le système doit être disponible. on parle d‘échéance. Le déterminisme logique les mêmes entrées appliquées au système doivent produire les mêmes effets. mise à l'épreuve dans le cas de contraintes dures. impartis. effets. 3. Cette contrainte est très forte dans le cas d'un système embarqué car les interventions d'un opérateur sont très difficiles voire même impossibles.Calculateurs Temps Réel Les Systèmes d’Exploitation Les Systèmes d’Exploitation Temps Réel Contraintes Les systèmes à contraintes temps réel doivent répondre à trois critères fondamentaux : 1. on parle d‘échéance. La fiabilité :: le système doit être disponible. 2. Lotfi BOUSSAID Cours Informatique Temps Réel 72 . Cette embarqué car les interventions d'un opérateur sont très difficiles voire même impossibles. Cette contrainte est très forte dans le cas d'un système 3.

le noyau est dit préemptif si un thread peut être interrompu par Dans un système temps réel. Lotfi BOUSSAID Cours Informatique Temps Réel 73 . ou tick timer système. Dans le cas d'un noyau non préemptif (ex: le noyau LINUX) un thread sera interrompu uniquement Dans le cas d'un noyau non préemptif (ex: le noyau LINUX) un thread sera interrompu uniquement dans le cas d'un appel au noyau ou d'une une interruption externe. Ceci permet d'affecter les plus hauts niveaux de priorité à des tâches dites critiques par rapport à Ceci permet d'affecter les plus hauts niveaux de priorité à des tâches dites critiques par rapport à l'environnement réel contrôlé par le système. fonction de l'horloge logicielle interne du système. l'environnement réel contrôlé par le système.Calculateurs Temps Réel Les Systèmes d’Exploitation Les Systèmes d’Exploitation Temps Réel Préemption et changement de contexte Dans un système temps réel. haut niveau de priorité prêt à être exécuté. dans le cas d'un appel au noyau ou d'une une interruption externe. La vérification des contextes à commuter est réalisée de manière régulière par l'Ordonnanceur en La vérification des contextes à commuter est réalisée de manière régulière par l'Ordonnanceur en fonction de l'horloge logicielle interne du système. ou tick timer système. le noyau est dit préemptif si un thread peut être interrompu par l'Ordonnanceur en fonction du niveau de priorité afin de permettre l'exécution d'un thread de plus l'Ordonnanceur en fonction du niveau de priorité afin de permettre l'exécution d'un thread de plus haut niveau de priorité prêt à être exécuté.

1b-1993 : Interface de programmation (API) temps réel. .Calculateurs Temps Réel Les Systèmes d’Exploitation Les Systèmes d’Exploitation Temps Réel La norme POSIX (Portable Operating System Interface) Norme développée par l’IEEE (Institute of Electrical and Electronic Engineering) et standardisée par l'ANSI (American National Standard Institute) et l'ISO (International Standard Organisation).IEEE 1003. Lotfi BOUSSAID Cours Informatique Temps Réel 74 .IEEE 1003.1-1990 : POSIX Partie 1 : Interface de programmation (API) système. Le standard POSIX est divisé en plusieurs sous-standards dont les principaux sont les suivants : -IEEE 1003. On parle également de POSIX.1c-1995 : Interface de programmation (API) pour le multithreading. Le but de POSIX est d'obtenir la portabilité des logiciels au niveau de leur code source indépendamment du matériel et afin de pouvoir migrer d’un système à l’autre moyennant une compilation des sources du programme. Ajout du support de programmation temps réel au standard précédent.2-1992 : Interface applicative pour le shell et applications annexes pour les systèmes de type UNIX.4. -IEEE 1003. . Ce standard contient la définition de ces fonctions (Bindings) en langage C.

gestion de tâches. communications inter-tâches (un système plutôt limité mais performant). Exécutif temps réel Un exécutif temps réel possède un noyau temps réel complété de modules/bibliothèques pour faciliter la conception d'applications temps réel : gestion mémoire. gestion de timers. Système d'exploitation temps réel Un système d'exploitation temps réel est le cas particulier où l'on a confusion entre le système hôte et le système cible qui ne font plus qu'un. On a donc ici un environnement de développement natif. gestion de fichiers.Calculateurs Temps Réel Les Systèmes d’Exploitation Les Systèmes d’Exploitation Temps Réel Noyau Temps Réel Un noyau temps réel est le minimum logiciel pour pouvoir faire du temps réel : Ordonnanceur. Lotfi BOUSSAID Cours Informatique Temps Réel 75 . gestion des E/S. gestion d'accès réseau.

Lotfi BOUSSAID Cours Informatique Temps Réel 76 . 68k. Pentium.Calculateurs Temps Réel Les Systèmes d’Exploitation Les Systèmes d’Exploitation Temps Réel Tour d’horizon des principaux systèmes temps réel VxWorks . 8086. totalement configurable et supporte plusieurs processeurs (PowerPC. ARM. Il est disponible sur un grand nombre de processeurs et peut intégrer des protocoles standards comme TCP/IP (µC/IP) pour assurer une connectivité IP sur une liaison série par PPP.environnements de très petite taille construits autour de micro-contrôleurs. MCORE.Annoncé par Microsoft comme système d'exploitation embarqué pour les PDAs eCOS ..est aujourd'hui l'exécutif temps réel le plus utilisé dans l'industrie (Société Wind River). QNX .(Embeddable Configurable Operating System) fut initialement développé par la société Cygnus et adapté aux solutions à très faible empreinte mémoire et profondément enfouies. Windows CE . QNX est un système temps réel de type UNIX conforme à la norme POSIX µC/OS .Développé par la société canadienne QNX Software . ColdFire. portable. Fiable. .

Calculateurs Temps Réel Les Systèmes d’Exploitation Les Systèmes d’Exploitation Temps Réel Linux et le temps réel 1. Amélioration du noyau de linux par des patchs préemptifs à temps de latence réduit pour satisfaire les besoins d’applications temps réel mou. 2. Développement d’un noyau auxiliaire pour les traitements des tâches à temps réel dur Lotfi BOUSSAID Cours Informatique Temps Réel 77 .

– lsmod : liste de tous les modules contenus dans le noyau.Calculateurs Temps Réel Les Systèmes d’Exploitation Les Systèmes d’Exploitation Temps Réel Le mécanisme des modules Linux temps réel Gestion des modules : – insmod <nom du module> : insertion du module dans le noyau. – rtl_posixio. Les modules RTLinux : – rtl_sched.o : micro-noyau temps-réel. ● Les modules RTLinux doivent être insérés préalablement à l'insertion de tout module définissant des tâches temps-réel. – rtl_fifo. – rtl_time. Lotfi BOUSSAID Cours Informatique Temps Réel 78 . API POSIX.o : API de gestion des FIFOs temps-réel.o : API de gestion du temps (précision : nanoseconde) – rtl. – rmmod <nom du module> : retrait du module ● Vérification que le module n'est pas utilisé. ● Execution de cleanup_module.o : API d'opérations bas-niveau sur les devices. ● L'insertion du module rtl. ● Vérification de la compatibilité de version ● Edition de lien dynamique avec les fonctions du noyau.o lance le noyau temps-réel. ● Execution de init_module.o : scheduler temps-réel.

x originellement sur des processeurs ne possédant d'unité de gestion mémoire MMU (Memory Management Unit). ARM7TDMI et NIOS d'Altera. Lotfi BOUSSAID Cours Informatique Temps Réel 79 . µClinux basé sur le noyau Linux 2.4. RTAI (Real Time Application Interface) Département d'ingénierie aérospatiale (DIAPM) de l'Ecole polytechnique de Milan (Politecnico di Milano). Il supporte les processeurs (Motorola 683xx. Motorola ColdFire. i960 d'Intel.x est maintenant opérationnel. Le projet µClinux lancé en janvier 1998 est un portage de Linux version 2. Il intègre des améliorations et des corrections concernant en particulier les modes temps réel et la gestion des nombres flottants. 2.Calculateurs Temps Réel Les Systèmes d’Exploitation Les Systèmes d’Exploitation Temps Réel Systèmes Temps Réel basé sur linux 1.0. µClinux (prononcer « you see linux ») est l'acronyme de Microcontroller Linux.

CalculateursPlan du cours Temps Réel • • • • • Généralités sur les systèmes temps réel La CAO des Systèmes Matériels Les Systèmes d’Exploitation La programmation parallèle Les STR embarqués : les SOC et les SOPC Lotfi BOUSSAID Cours Informatique Temps Réel 80 .

Calculateurs Temps Réel La programmation Parallèle Un aperçu du parallélisme Sequencement du travail d'un maçon travaillant seul Sequencement du travail d'un maçon travaillant seul Lotfi BOUSSAID Cours Informatique Temps Réel 81 .

Calculateurs Temps Réel La programmation Parallèle Un aperçu du parallélisme (2) Sequencement du travail d'un maçon travaillant seul Sequencement du travail d'un maçon travaillant seul {{ Sequencement du travail de deux maçons travaillant sur deux portions de mur séparées. Sequencement du travail de deux maçons travaillant sur deux portions de mur séparées. Lotfi BOUSSAID Cours Informatique Temps Réel 82 .

Calculateurs Temps Réel La programmation Parallèle Le Calcul parallèle : qu'est ce que c'est? « Faire coopérer plusieurs processeurs pour réaliser un calcul » Avantages : • Rapidité : Pour N processeurs. • Taille mémoire : Pour N processeurs. (tâches non indépendantes) Lotfi BOUSSAID Cours Informatique Temps Réel 83 . • Il faut gérer l'échange d'information. on dispose de N fois plus de mémoire (en général) Difficultés : • Il faut gérer le partage des tâches. temps de calcul divisé par N. en théorie.

• Problème divisible en sous-problèmes indépendants: Exemple: Mouvement de N particules test dans un champ extérieur. Lotfi BOUSSAID Cours Informatique Temps Réel 84 . Quand les processeurs ne coopèrent pas : Calculs monoprocesseurs séquentiels Calculs multiprocesseurs : • Exécution pour une série de conditions initiales différentes. il faut l'utiliser à bon escient.Calculateurs Temps Réel La programmation Parallèle Qu'est ce qui n'est pas du calcul parallèle. Une architecture parallèle efficace coûte cher.

Calculateurs Temps Réel La programmation Parallèle Modèle de parallélisme Architecture matérielle: Modèle de programmation: Le plus utilisé Outils de parallélisation: OpenMP ordinateur à mémoire partagée MPI ordinateur à mémoire distribuée Lotfi BOUSSAID Cours Informatique Temps Réel 85 .

Calculateurs Temps Réel La programmation Parallèle

Mémoire partagée / distribuée

Mémoire partagée (SMP) Tous les processeurs ont accès à l'ensemble de la mémoire. ➔ Attention aux conflits. ➔ Très peu de surcoût de parallélisation. ➔ Le plus souvent nb proc < 32. ➔ Architecture coûteuse.
Lotfi BOUSSAID

Mémoire distribuée Chaque processeur possède sa propre mémoire. Il n'a pas accès à celle des autres. ➔ Il faut gérer l'échange de messages (surcoût) ➔ Architecture bon-marché. ➔ Il faut ajouter un réseau de com. performant. ➔ Nb de proc ~ illimité.

Cours Informatique Temps Réel

86

Calculateurs Temps Réel La programmation Parallèle

Revue d'effectif 1: dans le monde
Tous les ans, une liste des 500 plus gros ordinateur est publiée sur: http://www.top500.org Extrait de la liste du 8 Novembre 2004:

[1] Programmation parallèle pour le calcul scientifique, Benoit Semelin, 2005

Lotfi BOUSSAID

Cours Informatique Temps Réel

87

Calculateurs Temps Réel La programmation Parallèle

Outils de parallélisation
La parallélisation peut-être effectuées à divers niveaux: Langages : ➔ Compositional C++ (CC++) ➔ Fortran M ➔ High performance Fortran (HPF) ➔ etc... Bibliothèques : ➔ Message Passing Interface (MPI) ➔ Parallel Virtual Machine (PVM): ~ obsolète. Directives de compilation : ➔ OpenMP ➔ Instructions spécifiques constructeur. Compilateurs: efficacité très faible : ➔ Intel Fortran/C compiler: gratuit.
Lotfi BOUSSAID Cours Informatique Temps Réel

88

Calculateurs Temps Réel La programmation Parallèle

Modèle de programmation OpenMP
OpenMP est un ensemble de directives de compilation pour paralléliser un code sur une architecture SMP (interfaces Fortran, C et C++) Le compilateur interprète les directive OpenMP (si il en est capable!) Les standards d'OpenMP datent de 1997, ceux d'OpenMP-2 de 2000. Les développeurs de compilateurs les implémentent.

Modèles d'exécution OpenMP:

Lotfi BOUSSAID

Cours Informatique Temps Réel

89

f90 -o toto. en particulier le « speedup »: Temps exécution N procs / Temps exécution 1 proc Lotfi BOUSSAID Cours Informatique Temps Réel 90 .out Définir le nombre de CPU: export OMP_NUM_THREADS =4 Lancer normalement: . Évaluer les performances.out Débuguer../toto..Calculateurs Temps Réel La programmation Parallèle Comment « faire tourner » un code OpenMP ? Écrire le code séquentiel (tout ou partie) Débuguer Se placer sur une machine SMP multiprocesseur Insérer les directives OpenMP Compiler avec l'option appropriée: f90 -omp toto.

les unités de calculs doivent échanger des messages. Le coût dépend du réseau de communications et de l'implémentation MPI. Temps de transmission (10-100µs) Détails des contributions au coût de communication.Calculateurs Temps Réel La programmation Parallèle Parallélisation sur architectures à mémoire distribuée : Communications Temps de transmission d'un message Sur une architecture à mémoire distribuée. Il faut grouper les communication! Latence Taille des messages (1-10 Ko) 91 Lotfi BOUSSAID Cours Informatique Temps Réel . Débit (bandwidth) Préparation du message (Packing) Initialisation paramètres réseau Conséquences: Il vaut mieux envoyer 1 gros message que plein de petits. Ces communications ne sont pas instantanée. Voir graphique.

En mode asynchrone. quand le code lui dira de faire.Calculateurs Temps Réel La programmation Parallèle Modes de communications entre process Exemple de mécanisme de communication: (two-sided. Synchrone / Asynchrone: Le processeur qui envoi (1) attend / n'attend pas que le processeur qui reçoit (2) ait signalé qu'il était prêt. buffered. synchrone) Mode de commnications: définitions One-sided / Two-sided: Un seul processeur gère tout les éléments de la com / les deux processeurs interviennent. Lotfi BOUSSAID Cours Informatique Temps Réel 92 . le processeur (1) transmet les données qui sont écrites dans le buffer de réception du processeur (2). il gère chacun une partie des éléments de la com. Il viendra les lire plus tard.

Définition de type de variable .anl.Topologies MPI 2 (1997): extensions et support C++ et f90 . Lotfi BOUSSAID Cours Informatique Temps Réel 93 .lam-mpi.Communications ''one-sided'' .org MPI 1 et 2 (en partie) sur grille de PC ou architectures SMP. MPICH2: http://www-unix.Communications locales et globale .gov/mpi/mpich2/index.Communicateurs .Entrées-sorties parallèles (non traitées ici) Implémentations gratuites: LAM: http://www. C. C++).htm MPI 1 et 2 (en partie) sur grille de PC ou architectures SMP. Les standards MPI: MPI 1 (1994): Le coeur de la bibliothèque .mcs.Calculateurs Temps Réel La programmation Parallèle MPI : Introduction MPI est une bibliothèque de communication pour le parallélisme sur architectures à mémoire partagée (Fortran.

CalculateursPlan du cours Temps Réel • • • • • Généralités sur les systèmes temps réel La CAO des Systèmes Matériels Les Systèmes d’Exploitation La programmation parallèle Les STR embarqués : les SOC et les SOPC Lotfi BOUSSAID Cours Informatique Temps Réel 94 .

Visiophone GSM 3G TV HD Éducation VOD (Set Top Box) eTV GPS Lotfi BOUSSAID Cours Informatique Temps Réel 95 ..Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Évolution des Applications Multimédia (1) De plus en plus présent dans le quotidien .

Portabilité Objectifs Satisfaire les besoins de l’utilisateur Répondre aux exigences de ces nouvelles applications En 2003 : 1 Milliard de téléphones portables pour 200 Millions de PC Lotfi BOUSSAID Cours Informatique Temps Réel 96 .Consommation . .Puissance de calcul .Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Évolution des Applications Multimédia (2) Évolution de la demande de services en : -Télécommunication.Flexibilité . .Traitement du signal Systèmes sophistiqués : .Multimédia.

TV MPEG2 HD Lotfi BOUSSAID Cours Informatique Temps Réel 97 .USB 1.GSM GPRS EDGE UMTS .0 USB 2.Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Évolution de standards de communication .Bluetooth 11 Mbits/s Hiperlan2 à 54 Mbits/ .Etc.0 Firewire . Évolution des normes du multimédia Authe MP EG ntifica 21 tion Descript ion de Contenu AV MPEG 7 MPEG4 Codage objet et interactivité MP E G 1 CD Vidéo DVD.

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Exemple d’application Description de Contenu Audiovisuelles : Les Métadonnées A. Ghaieth Cut Désert Cut Cut Ciel « Arrissala » Lotfi BOUSSAID Cours Informatique Temps Réel 98 .

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Métadonnées = Données sur les Données !! Mouvement <Segment xsi:type="MovingRegionType"> <TextAnnotation> <FreeTextAnnotation xml:lang="en">Person</FreeTextAnnotation> </TextAnnotation> <MediaTime> <MediaTimePoint> 00:00:15 </MediaTimePoint> <MediaDuration> 00:00:30 </MediaDuration> </MediaTime> <ParametricObjectMotion model="Upward"> … </ParametricObjectMotion> </Segment> Lotfi BOUSSAID Cours Informatique Temps Réel 99 .

Réduire le «time to market» .Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Les contraintes de conception des SOC • Les produits ont une durée de plus en plus faible .Réutilisation pour concevoir d’autres produits rentabiliser Lotfi BOUSSAID Cours Informatique Temps Réel 100 .

Approche retenue pour limiter les coûts .Conception d’un SOC à partir de blocs prédéfinis IP : Intellectual Properties Lotfi BOUSSAID Cours Informatique Temps Réel 101 .Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Réutilisation .

IP) Lotfi BOUSSAID Cours Informatique Temps Réel 102 .Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Vers la réutilisation de bloc prédéfinis (Bibliothèques.

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Exploitation des ressources des nouveaux FPGA Switch Matrix Slice S1 Slice S0 Slice S3 Slice S2 Powerful CLB • >300 MHz Performance Synchronous Dual-Port RAM • Fast & efficient logic • Highest flexibility BRAM Programmable I/O • 840 Mbps LVDS Digital Clock Management • Precise frequency generation and phase control • Both on-chip & off-chip clock synchronization • 300 MHz • 420 DMIPS EmbeddedPowerPC Lotfi BOUSSAID Cours Informatique Temps Réel 103 .

Réduire les coûts du matériel augmente en proportion les coûts du logiciel – 80% du coût de développement d’un SOC est aujourd’hui dû au logiciel .Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Réduction des coûts Conséquences de la réduction des coûts de conception du matériel .Le coût du test croît de façon exponentielle – Equipes de vérification 2 fois plus nombreuses que celles de développement Lotfi BOUSSAID Cours Informatique Temps Réel 104 .

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les

La révolution
1400

-

Le nombre de SOC vendus croît de 30% par an

1200 1000 800 600 400 200 Nb Soc (M)

-

Prévision de répartition par secteur pour 2004 :
– Communication : 44% (croissance 24% par an) – Electronique grand public : 28 % (croissance 43% par an) – Le reste 28 %

-

Les outils de conception évoluent moins vite que la technologie

0 1995 2000 2005

Lotfi BOUSSAID

Cours Informatique Temps Réel

105

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les

Qu’est ce qu’un système embarqué sur une seule puce SOC ?
Composants sur carte

SoC

ROM

CISC Glue

Glue CAN UART CNA
Fonctions spécifiques ASIC Composants virtuels IP

RAM

ROM

RISC

ASIC ATM UART

CAN Cœur CAN
DSP

RAM1 RAM2 MPEG Analo

RAM

FPGA

Cœur
RISC

ROM E/S

Lotfi BOUSSAID

Cours Informatique Temps Réel

106

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les

Notion d’IP (Intellectual Property)
• Blocs fonctionnels complexes réutilisables
– Hard: déjà implanté, dépendant de la technologies, fortement optimisé – Soft: dans un langage de haut niveau (VHDL, Verilog, C++…), paramétrables – Firm: Constitué d’une combinaison de code RTL synthétisable, de références de bibliothèque de l’architecture cible et d’une Netlist au niveau portes

• • •

Normalisation des interfaces Environnement de développement (co-design, co-spec, co-verif) Performances moyennes (peu optimisé)

Lotfi BOUSSAID

Cours Informatique Temps Réel

107

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Utilisation d’IP • Bloc réutilisable (IP) – – – – – connaître les fonctionnalités estimer les performances dans un système être sûr du bon fonctionnement de l’IP intégrer cet IP dans le système valider le système Lotfi BOUSSAID Cours Informatique Temps Réel 108 .

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Commerce d ’IP « design & reuse » Lotfi BOUSSAID Cours Informatique Temps Réel 109 .

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Problématique • • • • • Modélisation des applications Construction de l’architecture Le problème du partitionnement Le problème des communications Le problème de la consommation Lotfi BOUSSAID Cours Informatique Temps Réel 110 .

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Flot de conception Logicielle/Matérielle : Le Codesign Spécification Partitionnement Co-synthèse Co-simulation Prototypage. Lotfi BOUSSAID Cours Informatique Temps Réel 111 .

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Les Bus utilisé dans les SOC Le Bus AMBA Le Bus AMBA Il comprend trois bus : 1. 2. AMBA AHB (Advanced High-performance Bus) Advanced System Bus (ASB) Advanced Peripheral Bus (APB) Lotfi BOUSSAID Cours Informatique Temps Réel 112 . 3.

L’arbitrage Slave-side détermine lequel des maître gagne l’accès à l’esclave à un évènement ou plusieurs maîtres tentent d’accéder au même temps à l’esclave.Les maîtres et esclaves du bus Avalon interagit ensemble avec une technique d’arbitrage appelé Slave-Side . Lotfi BOUSSAID Cours Informatique Temps Réel 113 .Le bus Avalon est un bus de chez Altera utilisé pour le processeur embarqué Nios .L’outil SOPC Builder system d’Altera génère automatiquement l’ensemble du bus .Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Les Bus utilisé dans les SOC Le Bus AVALON Le Bus AVALON .

2. PLB (Processor Local Bus) OPB (On-chip Peripheral Bus) DCR bus (Device Control Register bus) Lotfi BOUSSAID Cours Informatique Temps Réel 114 . 3.Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Les Bus utilisé dans les SOC Le Bus CoreConnect Le Bus CoreConnect Il comprend trois bus : 1.

Master Interface Slave Interface Crossbar switch interconnection Lotfi BOUSSAID Cours Informatique Temps Réel 115 .Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Les Bus utilisé dans les SOC Le Bus Wishbone Le Bus Wishbone Bus partagé Il comprend deux interfaces de bus : 1. 2.

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les SoC vs SoPC • SoC – Peu évolutif – Grandes productions – Fabrication et test long et coûteux • System on Programmable Chip – – – – – Prototypage rapide sur FPGA Composant reconfigurable à volonté Moins de portes logiques disponible Consommation plus élevée Performances moins bonnes Lotfi BOUSSAID Cours Informatique Temps Réel 116 .

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Qu’est-ce qu’un Système sur puce reconfigurable SOPC ? Multiplieurs MEM Processeur SW ou HW Resources Matérielles disponibles CPU MEM Process HW Process HW Resources Matérielles disponibles Process HW Transmetteurs Processeur Région HW reconfigurable Lotfi BOUSSAID Cours Informatique Temps Réel 117 .

IP Soft. IP HW Process HW Process Statique HLE RDP RDT 1 T IP T4 Resources programmable disponibles variables 4 T T 2 6 T 7 T 5 T 1 T 1 T 3 T 9 T 1 T HW Process Surface /Latence Partition( 1) Partition( n) Graphe de tâche 8 T T43 T41 T42 Lotfi BOUSSAID Cours Informatique Temps Réel 118 .Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Méthodologie de conception des SOPC ? * Temps de reconfiguration ** Contraintes Mémoires *** Contraintes surfaces 1 T 3 T 4 2 T T 9 T 5 6 T T T 1 8 T 1 7 T 1T T Une seule Partition Firm IP Hard.

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Vérification formelle des IP µP Codeur vidéo DSP Réseau ASIC Intégré SRAM DRAM .Simulation fonctionnelle traditionnelle insuffisante surtout pour éviter les erreurs d’incompatibilité dans les SoC Faire appel à des preuves de vérification formelle ou semi-formelle Lotfi BOUSSAID Cours Informatique Temps Réel 119 .Vérifier que le comportement des IP est conforme aux spécifications .

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Vérification formelle des IP Langage VHDL Verilog PSL PEC Outil : Solver SVE: Siemens ACL2: Texas Instrument HOL: Université de Cambridge ImPROVE-HDL : TNI-Valiosys Assertions Simples Génération d’une librairie (Assertion + Environnement) Lotfi BOUSSAID Cours Informatique Temps Réel Méthodologie (Property/Environment Constraints) 120 .

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Conception basée Plateforme Module CELOXICA RC203E Lotfi BOUSSAID Cours Informatique Temps Réel 121 .

Microblaze La Bibliothèque PAL (Platform Abstraction Layer) – Cores génériques (console. les canaux de communication. Multi Domaines Lotfi BOUSSAID Cours Informatique Temps Réel 122 . Les Filtres FIR. contrôleur PS/2) La Bibliothèque DSM (Data Stream Manager) – Assure la communication entre la partie matérielle et les parties exécutées par un processeur ex: Microblaze • Le langage Handel-C – Le parallélisme par { }.Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les L’Environnement PDK Design Suite • • • La Bibliothèque PSL (Platform Support Labrary) – Virgule fixe/flottante. Prise en charge des RAM.

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Modèle d’Architecture Générique pour les Applications Multimédia Étude de cas Réel Lotfi BOUSSAID Cours Informatique Temps Réel 123 .

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Application : Résumé Vidéo Effets de Transition Lotfi BOUSSAID Cours Informatique Temps Réel 124 .

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Prototype d’Analyse de Contenu AV Extraction d’Images Clés Flux Vidéo MPEG2 Détecteur de Cut Détecteur de Fondu Segmentation de la vidéo Images Clés (Keyframes) Lotfi BOUSSAID Cours Informatique Temps Réel 125 .

4) Partie Contrôle Partie Opérative Schéma synoptique du détecteur de cut Lotfi BOUSSAID Cours Informatique Temps Réel 126 .Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Implémentation du détecteur de Cut 16 x histogrammes (Dim.

y ) * S y g1( x.[1 + Z − N ]). y ) * S y g 2( x. y − 2)) − ( f ( x − 2.[1 + Z −1 ] − Z −2 N [1 + Z −1 ].[1 + Z − N ] − Z − 2 [1 + Z − N ].[1 + Z −1 ]).F ( Z ) Lotfi BOUSSAID Cours Informatique Temps Réel 127 . y − 2)) G1( Z ) = ([1 + Z −1 ]. y − 2) + 2 f ( x − 1. y ) = f ( x. y − 2)) g 2( x. y ) + 2 f ( x − 1. y ) = ( f ( x.Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Implantation Matérielle du détecteur de Fondu basé sur le Filtre de SOBEL Filtre de SOBEL -1 -2 -1 Sx= 0 0 0 1 2 1 g ( x. y )) − ( f ( x. y ) = f ( x. y − 1) + f ( x. y ) * S x + f ( x. y ) = f ( x . y − 2) + f ( x − 2. y ) + f ( x − 2. y ) * S x -1 0 1 Sy= -2 0 2 -1 0 1 g1( x.F ( Z ) G 2( Z ) = ([1 + Z − N ]. y − 1) + f ( x − 2. y ) + 2 f ( x. y ) + 2 f ( x − 2. y ) = ( f ( x.

Calculateurs Temps Les STR embarqués :Réel SOC et les SOPC les Implantation Matérielle du Détecteur de Fondu Solution 1 : Filtre de SOBEL Lotfi BOUSSAID Cours Informatique Temps Réel 128 .