Essayer de comprendre une image des bus informatiques

10

Dans cette image de http://en.kioskea.net/contents/pc/bus.php3 qui explique les bus dans un ordinateur

entrez la description de l'image ici

  1. Je me demande si la ligne noire du CPU à South Bridge est aussi un bus? Il n'est pas nommé dans l'image, et quel est son nom?
  2. Ces courtes lignes noires provenant de LAN, SCSI, ISA, USB, IDE sont-elles également des bus, et quels sont leurs noms?

    Notez que ces lignes noires provenant du cache de niveau 2, de l'AGP et de la RAM sont nommées bus de processeur, bus AGP et bus de mémoire respectivement dans l'image.

  3. Est-ce que la ligne noire du CPU au South Bridge coupe à la fois le bus PCI et le bus processeur?
  4. À quoi ressemble le flux de données?

    Par exemple, ma compréhension suivante est-elle correcte?

    Du processeur au cache de niveau 2, la route est la ligne noire issue du bus du processeur et du processeur.

    Du CPU à l'AGP ou à la RAM, la route est la ligne noire issue du CPU, du North Bridge et du bus AGP ou du bus mémoire.

    Du CPU au LAN ou SCSI, la route est la ligne noire issue du CPU, du pont nord, du bus PCI et la ligne noire issue du LAN ou SCSI.

    Du CPU à n'importe quel ISA, USB et IDE, l'itinéraire est la ligne noire provenant du CPU, du pont nord, du pont sud et la ligne noire provenant de ISA, USB ou IDE.

    À quoi ressemblent les flux de données entre les composants non CPU?

Merci!

Tim
la source

Réponses:

12

Un bus est juste un moyen de communication avec les propriétés suivantes:

  • Plusieurs entités peuvent y être connectées
  • Si une entité envoie un message ou "fait quelque chose" au bus, toutes les autres entités peuvent le voir
  • De mauvaises choses se produiront si deux entités essaient de communiquer en même temps
  • Un protocole ou un ensemble de règles est nécessaire pour que tous les composants du bus disposent d'un système permettant de l'utiliser à tour de rôle. Habituellement, ce protocole est différent selon le but et la vitesse du bus
  • Une sorte de schéma d'adressage est utilisé où les appareils peuvent dire qui ils sont et à qui ils veulent parler
  • De mauvaises choses se produiront si plusieurs entités ont la même adresse
  • À tout le moins, les personnes désireuses de "parler" dans le bus doivent vérifier s'il y a une activité en cours avant d'essayer d'envoyer des données à travers celui-ci.
  • Les entités qui souhaitent «écouter» sur le bus doivent généralement écouter leur propre adresse et ne saisir que les données qui ont du sens pour elles.

Si vous avez des connaissances en réseau et que la plupart de ces informations vous semblent familières, leur concept est assez similaire.

Les lignes bleu clair représentent un bus. Les lignes bleu foncé représentent ce qui est connecté au bus.

Pour répondre à tes questions:

  1. Il me semble que le processeur doit passer par le bus du processeur, le northbridge et le bus PCI pour se rendre au southbridge.
  2. Je crois qu'ils représentent se connecte aux bus. Pour moi, il semble que les étiquettes identifient les lignes bleu clair plus épaisses. Le diagramme pourrait être un peu mieux à mon humble avis. Notez que AGP signifie "Accelerated Graphics Port " - techniquement ce n'est pas un bus car plusieurs composants n'y entrent pas en jeu (l'une des raisons pour lesquelles AGP a été inventé). Pour le logiciel, il apparaît cependant comme un autre bus PCI.
  3. Je le pense. Les pilotes de périphérique IIRC, afin d'accéder aux composants de Southbridge, doivent interagir avec le bus PCI par programmation.
  4. Voir mon paragraphe initial. Il est possible qu'un bus soit connecté à un autre bus et assume la responsabilité de transmettre les données à travers lui. Voici ce que sont les périphériques "pont PCI-PCI" si vous les avez déjà vus dans le Gestionnaire de périphériques Windows ou lspci.
LawrenceC
la source
16

voici une photo d' Ars Technica qui peut être plus claire

entrez la description de l'image ici

RedGrittyBrick
la source
2

Il n'y a que 3 "bus" dans n'importe quel ordinateur: données, adresse et contrôle. C'est tout. C'est un regard descendant très simpliste. Les bus de données et d'adresses sont assez évidents et relativement simples. Cependant, le bus de contrôle peut devenir très compliqué car il implique à peu près tout le reste, y compris (et probablement surtout) le timing.

Ce que je vois ici est un tableau des systèmes de base. Certaines choses dans le système sont responsables de certaines ressources / processus. Comme vous pouvez vous y attendre, le CPU est au sommet de la hiérarchie et en charge de pratiquement tout. Juste en dessous (dans la hiérarchie), il y a le pont nord qui contrôle directement la vidéo et la RAM. Le pont nord contrôle indirectement le pont sud via le «bus» PCI ainsi que les systèmes LAN et SCSI. Cependant, le pont sud contrôle directement les périphériques ISA, USB et IDE. Donc, si vous vouliez récupérer des données sur un lecteur IDE, votre CPU passerait par le pont nord qui le demanderait ensuite sur le bus PCI où le pont sud obtient à son tour la ressource IDE pour le fournir (ou plus précisément, le pont sud indique le périphérique IDE quand placer les informations sur le bus d'adresses / de données - que le CPU contrôle vraiment).

Vous rendez probablement cela plus difficile que nécessaire. Le CPU est toujours le cœur de chaque ordinateur. Par conséquent, votre diagramme est un horrible exemple de l'un des «bus» réels utilisés. En fait, l'ensemble du diagramme peut être considéré comme une description du bus de commande - et uniquement du bus de commande. C'est un excellent visuel sur ce que font certains sous-systèmes et même sur ce qui contrôle directement certaines ressources, mais il n'y a absolument aucune indication de ce qui est réellement câblé ou comment un ordinateur entier fonctionne vraiment au moins en termes de structure de bus.

Anono
la source
1
  1. Le northbridge relie le southbridge au CPU et il n'y a donc pas de bus direct entre le CPU et le SB.
  2. La plupart de ces "bus" ont leurs propres noms auto-descriptifs, comme bus ISA, bus PCI, etc. D'autres sont moins évidents comme le bus LPC qui connecte la plupart des périphériques à faible bande passante au SB et donc au CPU (par exemple contrôleur Super I / O, BIOS, etc.).
  3. Non, ce "bus" n'existe pas comme décrit. Mais dans le scénario d'une communication avec les appareils dans la moitié inférieure du diagramme, les données doivent passer par le "bus" du CPU vers le northbridge (je cite le bus car le NB peut être intégré sur le CPU), puis encore une fois sur ce qui est généralement un bus PCI pour le SB, et vice versa pour l'aller-retour.
  4. Il n'y a pas de moyen simple de répondre à cette question, car les processeurs deviennent de plus en plus complexes et adoptent ainsi différentes approches d'accès à la mémoire, au bus et au cache. La plupart des processeurs modernes ont des contrôleurs de mémoire intégrés, il n'est donc pas nécessaire de parler au northbridge pour DMA. Par exemple, les nouveaux processeurs d'Intel avec le bus QPI parlent à une puce qui est similaire à un northbridge traditionnel, sauf qu'il manque un contrôleur de mémoire et parle au CPU via le bus QPI qui remplace le bus frontal traditionnel [FSB].

Je pense que cette image de Wiki pourrait être un appareil mneonmic plus utile pour que vous puissiez en apprendre: http://upload.wikimedia.org/wikipedia/commons/b/bd/Motherboard_diagram.svg (ne peut pas incorporer de fichiers SVG).

Garrett
la source
Merci! (1) "La plupart des processeurs modernes ont des contrôleurs de mémoire intégrés, il n'est donc pas nécessaire de parler au northbridge pour le DMA". Par "DMA", vous voulez dire la mémoire d'accès au processeur? Je pense que cela signifie un appareil accédant directement à la mémoire sans CPU entre les deux. voir en.wikipedia.org/wiki/Direct_memory_access .
Tim
(2) "les données doivent passer par le" bus "du CPU vers le northbridge (je cite le bus parce que le NB peut être intégré sur le CPU), puis à nouveau sur ce qui est typiquement un bus PCI vers le SB". Mais dans l'image Wikipedia, la connexion entre NB et SB est appelée bus interne. Je me demande si la communication entre NB et SB ne se fait pas via PCI entre les deux?
Tim