ScholarGate
Assistent

E/A-Architektur und Busse

Die E/A-Architektur definiert, wie ein Prozessor und der Speicher über Busse, Controller, Interrupts und Adressierungsschemata mit Peripheriegeräten kommunizieren, und steuert den Fluss von Befehlen und Daten zur und von der Außenwelt.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

E/A-Architektur und Busse sind die Organisation und die Verbindungen, über die der Prozessor und der Speicher eines Computers Steuersignale und Daten mit Peripheriegeräten austauschen, einschließlich der Adressierung von Geräteregistern und der Mechanismen, mit denen Geräte Dienste anfordern.

Scope

Dieses Thema behandelt die Struktur der Eingabe/Ausgabe: Busse und Punkt-zu-Punkt-Verbindungen, Geräte-Controller und Register, speicherabgebildete versus portabgebildete E/A, Polling und interruptgesteuerte E/A sowie Busprotokolle und -arbitrierung. Es befasst sich damit, wie Geräte verbunden und gesteuert werden. Ausgenommen sind der DMA-Mechanismus für Massenübertragungen und Virtualisierung (E/A-Virtualisierung und DMA) sowie die Speichermedien selbst (sekundäre Speichergeräte).

Core questions

  • Wie werden Peripheriegeräte vom Prozessor adressiert und gesteuert?
  • Worin unterscheiden sich speicherabgebildete und portabgebildete E/A?
  • Wie vergleichen sich Polling und interruptgesteuerte E/A in Bezug auf die Effizienz?
  • Wie arbitrieren und übertragen Busse und Punkt-zu-Punkt-Verbindungen Daten?

Key concepts

  • Geräte-Controller und Register
  • speicherabgebildete E/A
  • portabgebildete E/A
  • Polling
  • Interrupts und Interrupt-Handler
  • Busse und Verbindungen
  • Bus-Arbitrierung
  • E/A-Adressierung

Key theories

Interruptgesteuerte E/A
Anstatt ein Gerät kontinuierlich abzufragen, fährt der Prozessor mit anderen Aufgaben fort und wird durch einen Interrupt benachrichtigt, wenn das Gerät Aufmerksamkeit benötigt, was die Effizienz für langsame oder intermittierend arbeitende Geräte erheblich verbessert.

Mechanisms

Jedes Gerät wird von einem Controller verwaltet, der Register bereitstellt, die der Prozessor entweder über speicherabgebildete Adressen oder spezielle E/A-Ports liest und schreibt. Der Prozessor kann diese Register abfragen oder, effizienter, Interrupts aktivieren, damit das Gerät signalisiert, wenn es bereit ist. Busse verbinden Komponenten und arbitrieren den Zugriff zwischen mehreren Mastern, während moderne Systeme zunehmend Hochgeschwindigkeits-Punkt-zu-Punkt-Serienverbindungen anstelle von gemeinsam genutzten Parallelbussen verwenden.

Clinical relevance

Die E/A-Architektur bestimmt, wie effizient ein System mit Speicher, Netzwerk und anderen Geräten kommuniziert. Interruptgesteuerte E/A entlastet den Prozessor für nützliche Aufgaben, und die Entwicklung von gemeinsam genutzten Bussen zu schnellen seriellen Verbindungen wie PCI Express bildet die Grundlage für die Bandbreite, die von moderner Speicher-, Netzwerk- und Beschleunigerhardware benötigt wird.

History

Frühe Systeme verwendeten programmierte E/A und gemeinsam genutzte Parallelbusse mit zentraler Arbitrierung. Interrupt-Mechanismen und standardisierte Busse wie ISA und PCI verbesserten Flexibilität und Leistung. Der Übergang zu Hochgeschwindigkeits-Punkt-zu-Punkt-Serienverbindungen, wie sie PCI Express verkörpert, begegnete den Bandbreiten- und Signalisierungsbeschränkungen gemeinsam genutzter Parallelbusse.

Key figures

  • John L. Hennessy
  • David A. Patterson
  • Abraham Silberschatz

Related topics

Seminal works

  • hennessy2019
  • silberschatz2018

Frequently asked questions

Was ist der Unterschied zwischen speicherabgebildeter und portabgebildeter E/A?
Speicherabgebildete E/A weist Geräteregistern Adressen innerhalb des regulären Speicheradressraums zu, sodass gewöhnliche Lade- und Speicherbefehle auf sie zugreifen. Portabgebildete E/A verwendet einen separaten Adressraum und spezielle Anweisungen für den Gerätezugriff. Speicherabgebildete E/A ist in modernen Architekturen häufiger anzutreffen.
Warum sind Interrupts für die meisten Geräte besser als Polling?
Polling verschwendet Prozessorzyklen, indem es wiederholt prüft, ob ein Gerät bereit ist. Interrupts ermöglichen es dem Prozessor, andere Aufgaben zu erledigen und nur dann benachrichtigt zu werden, wenn das Gerät tatsächlich einen Dienst benötigt, was für langsame oder unvorhersehbar reagierende Geräte weitaus effizienter ist.

Methods for this concept

Related concepts