Besoin d'aide sur le fonctionnement d'un ordinateur basique
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Besoin d'aide sur le fonctionnement d'un ordinateur basique



  1. #1
    Papipone

    Besoin d'aide sur le fonctionnement d'un ordinateur basique


    ------

    Bonjour,

    Étant plus orienté software que hardware j'aimerais que quelqu'un m'éclaire sur le fonctionnement du bidule sur lequel je tape du code tous les jours : mon PC.

    Par souci de simplicité je vais prendre l'exemple d'un "ordinateur" basique.

    Admettons que l'on ait un 6502 (8bit), de la RAM (peu), et une ROM pour lancer un truc bidon.

    Lorsque je démarre le système qui fait quoi en premier (le proço reçoit les infos contenus dans la ROM, ou la ROM reçoit "un message" du proço lui demandant de déballer son sac, ou autre chose) ?

    Corrigez moi si je me trompe :

    - Je sais simplement que toutes les données sont acheminées via les bus de données et d’adresses.
    - Les 2 type de Bus sont respectivement connectés aux différents composants.
    - Le Bus d'adresses est unidirectionnel et ne véhicule que des adresses. Unidirectionnel dans le sens où les adresses sont envoyé de la ROM vers le proço (??).
    - Le Bus de données est quant à lui bidirectionnel mais c'est tout ce que je sais.

    - Quant à la RAM, elle dispose d'une quantité de blocs mémoires dépendant de sa capacité. Mais elles stock quoi : simplement des données, mais qui viennent d'où ?

    - Le processeur ne peut interagir qu'avec un seul composant à la fois.


    Désolé c'est un peu fouillis.

    L'électronique dès qu'il commence à y avoir des bits c'est un peu galère.

    Merci.

    -----

  2. #2
    ftorama

    Re : Besoin d'aide sur le fonctionnement d'un ordinateur basique

    Citation Envoyé par Papipone Voir le message
    Bonjour,

    Étant plus orienté software que hardware j'aimerais que quelqu'un m'éclaire sur le fonctionnement du bidule sur lequel je tape du code tous les jours : mon PC.

    Par souci de simplicité je vais prendre l'exemple d'un "ordinateur" basique.
    On va essayer de faire simple.

    [/quote]Admettons que l'on ait un 6502 (8bit), de la RAM (peu), et une ROM pour lancer un truc bidon.[/quote]

    C'est surtout de l'ancestral. Tu auras peut-être des infos plus à jour dans mes explications

    Lorsque je démarre le système qui fait quoi en premier (le proço reçoit les infos contenus dans la ROM, ou la ROM reçoit "un message" du proço lui demandant de déballer son sac, ou autre chose) ?
    C'est forcément le proco qui fait quelquechose. Concrètement, la mémoire est organisée en zones (le mapping) et certaines adresses sont spécifiques notamment la première ou le processeur va aller chercher son code. Dans le câblage des périphériques, on fait en sorte de mapper une mémoire morte à cet endroit. sur les vieux PC, c'était une EPROM à fenêtres (le fameux BIOS). Celui-ci a pour rôle d'initialiser le processeur, de fournir une interface (relativement) standardisée avec le matériel et une fois fini d'indiquer à l'ordinateur ou aller chercher la suite du programme, généralement le point d'entrée dans le système d'exploitation.

    Corrigez moi si je me trompe :

    - Je sais simplement que toutes les données sont acheminées via les bus de données et d’adresses.
    Sur les vieilles bécanes oui, sur les micros modernes, il y a différents bus (AHB et ALB sur un Cortex-M par exemple, l'un optimisé pour la vitesse, l'autre pour des utilisations plus lentes).

    - Les 2 type de Bus sont respectivement connectés aux différents composants.
    Plus ou moins. Sur Linux par exemple, on passe par un système d'adressage virtuel qui fait croire que tous les périphériques sont alignés sur un même bus mémoire alors que les données affluent de différents périphériques. L'utilisateur n'a en théorie jamais accès direct au périphérique.

    - Le Bus d'adresses est unidirectionnel et ne véhicule que des adresses. Unidirectionnel dans le sens où les adresses sont envoyé de la ROM vers le proço (??).
    Non, c'est le proco qui fait la loi et dit là ou il veut lire ou écrire des données. Donc unidirectionnel du proco vers les périphériques.....en théorie

    En pratique, le contrôleur DMA (Direct Memory Access) est capable de prendre la main sur le bus et de faire des transferts mémoire-mémoire ou périphériques-mémoire quand le bus n'est pas utilisé par le processeur.

    - Le Bus de données est quant à lui bidirectionnel mais c'est tout ce que je sais.
    Effectivement.

    - Quant à la RAM, elle dispose d'une quantité de blocs mémoires dépendant de sa capacité. Mais elles stock quoi : simplement des données, mais qui viennent d'où ?
    De partout...du BIOS, de l'OS, des applications. Dès que les micros deviennent complexes, ceux-ci sont équipés d'une MMU (Memory Management Unit) qui empêche une application d'aller écrire dans des adresses ou elle ne devrait pas avoir accès. Si on veut aller trifouiller dans des adresses systèmes ou partager de la mémoire entre deux processus différents, il faut soit passer par des fonctions dédiées (on retrouve entre autres ici les fonctions BIOS) ou déclarer explicitement les zones communes.

    - Le processeur ne peut interagir qu'avec un seul composant à la fois.
    Sur un même bus, à l'instant t, forcément. Dans la pratique, les transactions peuvent être multiplexées mais c'est fait de manière transparente par l'OS.

    Désolé c'est un peu fouillis.

    L'électronique dès qu'il commence à y avoir des bits c'est un peu galère.
    Il faut parfois savoir faire abstraction du matériel et faire confiance à l'OS
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  3. #3
    zibuth27

    Re : Besoin d'aide sur le fonctionnement d'un ordinateur basique

    hello,


    en démarrant le proc démarre généralement par servir l'interruption "reset"
    pour ce faire il place sur le bus adresse l'adresse de ce vecteur d'interruption (en tout début ou en toute fin de l'espace adressable) et place les commandes appropriées sur le bus de controle ( comme le bus de données est bidirectionnel, il y a une commande de direction émise par le proc : "R/W" accompagnée souvent par une commande d'échantillonnage (strobe, enable, ..)
    la donnée présente est alors comprise comme une instruction (proc simple) ou comme un vecteur secondaire pour trouver le début de la routine de reset ( bootstrap système)
    le vecteur d'interruption de reset se trouve en ROM (ROM de boot). Une fois démarré, rien n'interdit de substituer la ROM par de la RAM préchargée (chargée par la ROM de boot ou par un programme). La ROM de boot, une fois qu'elle a démarré le système peut parfaitement être mise hors circuit.

    bien entendu le bus d'adresse (unidirectionnel) peut être désactivé, et un organe quelconque peut générer l'adresse du bus adresse (techniques d'accès direct à la mémoire : DMA)

    des décodages spécifiques d'adresse peuvent faire prendre la main ou l'accès à un périphérique à une adresse unique ou à une plage d'adresses

    le bus d'adresse peut être présent en une fois sur le bus, ou présent en plusieurs morceaux qu'il faut réassembler dans un registre pour avoir l'adresse totale (technique de segmentation Intel, longtemps utilisée car fortement protégée par des brevets)

    amendements de tes assertions
    "toutes les données sont acheminées via les bus de données et d’adresses."
    toutes les données passent par le bus de données soit vers les adresses du bus adresse soit depuis ces adresses (signal R/W) sur commande du proc (ou des périphériques si un DMA leur est accordé). Je dirais plutôt: toutes les données sont acheminées via les bus de données vers ou depuis les adresses présentes sur le bus d'adresse
    "Les 2 type de Bus sont respectivement connectés aux différents composants."
    oui
    "les adresses sont envoyée de la ROM vers le proço"
    NON, la ROM recoit les adresses, un décodeur d'adresses lui fait reconnaître qu'elle est appelée, elle place ses données sur le bus données, et un strobe ou le timing valide ces données pour le proc (ou vers un autre périphérique en cas de DMA)

    Mais elles stock quoi : simplement des données, mais qui viennent d'où

    le processeur sait si la donnée en RAM est une donnée ou un octet de programme par exemple par la séparation des bus de données et des bus programme ou par son séquencement. La RAM peut être chargée par une ROM ou par un organe de stockge : disque dur, carte mémoire, clavier, .........

    Le processeur ne peut interagir qu'avec un seul composant à la fois.

    normalement oui, si le décodage d'adresse de chaque organe ne détecte qu'une adresse. S'il détecte une plage d'adresses (décodage incomplet qui ne prend pas en compte TOUS les bits d'adresse), il faut alors qu'il n'y ait qu'un seul organe qui réponde dans cette plage

    saluts

  4. #4
    Papipone

    Re : Besoin d'aide sur le fonctionnement d'un ordinateur basique

    Merci pour vos explications.

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Besoin d'aide en ce qui concerne l'Acido-basique.
    Par JDPDC dans le forum Chimie
    Réponses: 4
    Dernier message: 13/06/2013, 13h21
  2. besoin d'aide urgent; acide ou basique??
    Par nanou123 dans le forum Chimie
    Réponses: 12
    Dernier message: 26/05/2011, 09h19
  3. Besoin d'aide, reaction-acido basique
    Par invitea28f4576 dans le forum Chimie
    Réponses: 1
    Dernier message: 02/01/2009, 13h21
  4. Ordinateur infecté, besoin d'aide
    Par invite9e667fbf dans le forum Internet - Réseau - Sécurité générale
    Réponses: 5
    Dernier message: 01/04/2007, 17h07
  5. Réponses: 0
    Dernier message: 15/02/2007, 09h03
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...