IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Lien(s) entre logiciel et matériel?


Sujet :

C

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 151
    Points : 133
    Points
    133
    Par défaut Lien(s) entre logiciel et matériel?
    Bonjour à tous,
    j'ai une question qui peut paraître simple, quels sont les liens entre le logiciel et le matériel? Où est la frontière? Comment passe-t-on du soft au hard?
    Je vous remercie d'avance pour vos lumières.
    __WIL__
    Tout vient à point qui sait programmer.

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par bibilolo2
    Bonjour à tous,
    j'ai une question qui peut paraître simple, quels sont les liens entre le logiciel et le matériel? Où est la frontière? Comment passe-t-on du soft au hard?
    Je vous remercie d'avance pour vos lumières.
    __WIL__
    Vu du C standard, par le I/O (Entrées/Sorties).
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut
    Egalement via la mémoire (gestion statique ou dynamique)
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  4. #4
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Bayard
    Egalement via la mémoire (gestion statique ou dynamique)
    Euh, non. Le C ne dit pas comment atteindre la mémoire physique. Il peut y avoir des extensions plus ou moins complexes. Rien de portable.
    Pas de Wi-Fi à la maison : CPL

  5. #5
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut
    OK, mais on peut réserver de la mémoire: c'est un lien.
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Bayard
    OK, mais on peut réserver de la mémoire: c'est un lien.
    De la mémoire physique ? Non, pas à ma connaissance. En tout cas, pas de manière portable.
    Pas de Wi-Fi à la maison : CPL

  7. #7
    Membre averti Avatar de pascal.barbier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2007
    Messages : 362
    Points : 442
    Points
    442
    Par défaut
    Citation Envoyé par bibilolo2
    Bonjour à tous,
    quels sont les liens entre le logiciel et le matériel? Où est la frontière? Comment passe-t-on du soft au hard?
    Pour moi la réponse est beaucoup plus complexe.
    Tout est relatif.
    Par exemple, en C les entrées et sorties vers un fichier sont du logiciel qui attaque le matériel. Si on descend dans la librairie, on trouve des appels système qui invoquent donc du logiciel. En allant plus bas, l'OS et ses drivers réalisent des IO sur le contrôleur de disques. Ce dernier contient du microcode (firmware) qui déclenche les opérations physiques sur le matériel.
    Pour en revenir à la troisième question, le logiciel invoque le matériel au travers de deux mécanismes fondamentaux :
    - Il lit ou écrit des zones mémoire qui sont utilisées par le matériel (on appelle cela souvent des registres)
    - Il communique avec le matériel (en lecture ou écriture) au travers de zones d'échange que l'on appelle des ports d'entrée/sortie
    Enfin, le matériel communique avec le logiciel en utilisant un troisième mécanisme : l'interruption matérielle. Il s'agit d'une impulsion envoyée par le matériel pour temporairement suspendre l'activité logicielle et lui demander de répondre à un événement.
    www.iristechnologies.eu
    Centre de formation à Paris et Toulouse

  8. #8
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par pascal.barbier
    Pour moi la réponse est beaucoup plus complexe.
    Tout est relatif.
    Bah, en C, non. C'est bien l'objet de ce forum ? Les choses sont claires, les relations avec l'extérieur (ce qui couvre le matériel) se font via les I/O (FILE*). Point.
    Par exemple, en C les entrées et sorties vers un fichier sont du logiciel qui attaque le matériel. Si on descend dans la librairie,
    On est plus dans le domaine du C mais dans le système. C'est hors sujet. Bien définir les domaines de compétences fait partie de ce métier...
    on trouve des appels système qui invoquent donc du logiciel.
    Oui.
    En allant plus bas, l'OS et ses drivers réalisent des IO sur le contrôleur de disques. Ce dernier contient du microcode (firmware) qui déclenche les opérations physiques sur le matériel.
    OK.
    Pour en revenir à la troisième question, le logiciel invoque le matériel au travers de deux mécanismes fondamentaux :
    - Il lit ou écrit des zones mémoire qui sont utilisées par le matériel (on appelle cela souvent des registres)
    Euh non. Les registres, ce sont des zones mémoires appartenant à des composants matériels. La façon de les atteindre (mémoire vs port E/S) dépend de l'architecture matérielle.
    - Il communique avec le matériel (en lecture ou écriture) au travers de zones d'échange que l'on appelle des ports d'entrée/sortie
    Sur certaines architectures, oui.
    Enfin, le matériel communique avec le logiciel en utilisant un troisième mécanisme : l'interruption matérielle. Il s'agit d'une impulsion envoyée par le matériel pour temporairement suspendre l'activité logicielle et lui demander de répondre à un événement.
    OK.
    Bien que ce soit hors-sujet, je profite de ce post pour rétablir quelques vérités...

    • Les composants matériels programmables disposent d'une interface logicielle matérialisée par un bus de données (8-bit,16-bit...), un bus d'adresse (0 à n-bit) et des signaux de commande (CS, R/W etc.)
      L'adressage permet d'accéder à des zones mémoires appelées registres. Le nombre de fils d'adresse détermine le nombre de registres adressables:
      0 : 1 : 0x00
      1 : 2 : 0x00-0x01
      2 : 4 : 0x00-0x03
      ...
      8 : 256 : 0x00-0xFF
      etc.

      selon la loi : nb-reg := 2 ^ nb-bit
    • L'interface des composants logiciels avec le processeur dépend de celui-ci. 2 exemples communs
      • Intel 80x86
        Bien que les bus soient multiplexés, les espaces mémoires et I/O sont physiquement séparés. Il sont accessibles via des instructions différentes :
        Memoire : MOV
        I/O : IN / OUT
        Le bus mémoire est très large et très rapide :
        • Données : 8/16/32/64-bit
        • Adresses : 20/24/32/64-bit
        • Vitesse : jusqu'à plusieurs centaines de MHz

        Le bus I/O est beaucoup plus rustique :
        • Données : 8/16-bit
        • Adresses : 16-bit
        • Vitesse : Limitée à 8 MHz

        Les composants matériels sont mappés en I/O.
      • Freescale 68k ou PowerPC (ex-Motorola)
        Il n'existe qu'une seule zone d'adressage accessible par l'instruction MOVE.
        • Données : 8/16/32-bit
        • Adresses : 24/32-bit
        • Vitesse : réglable par zone jusqu'à plusieurs dizaines de MHz (Wait State) ou en mode synchrone (DTACK)

        Les composants matériels sont mappés en mémoire avec le câblage qui va bien (synchrone / asynchrone) et les réglages conséquents du gestionnaire de mémoire (MMU).
    Pas de Wi-Fi à la maison : CPL

  9. #9
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 151
    Points : 133
    Points
    133
    Par défaut
    Excellent!! Mes questions sont fondamentalement résolues, c'est ce que je voulais.
    Je vous remercie à tous Emmanuel, Pascal, et Bayard, pour votre précision et votre amabilité.
    Bonne journée!
    Tout vient à point qui sait programmer.

  10. #10
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Acquérir des notions en Assembleur par rapport à ton architecture matérielle permet de mieux comprendre le comportement interne de certains composants comme le processeur par exemple, ce n'est jamais du temps de perdu
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  11. #11
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 151
    Points : 133
    Points
    133
    Par défaut
    Je ferai donc ça Franck.
    Merci.
    Tout vient à point qui sait programmer.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lien symbolique entre Apache et Tomcat sous Debian
    Par rohstev dans le forum Administration système
    Réponses: 17
    Dernier message: 13/05/2008, 10h33
  2. Réponses: 1
    Dernier message: 11/01/2007, 15h25
  3. lien relatif entre page d'un même site web
    Par lodan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 26/06/2006, 14h36
  4. lien vers un logiciel
    Par germanium dans le forum MFC
    Réponses: 1
    Dernier message: 04/06/2006, 12h14
  5. [ Tomcat ] Couper tout lien physique entre BD et la Servlet.
    Par spk4ever dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 18/01/2006, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo