| Zeile 1: | Zeile 1: | ||
| − | Als [[I/O Ports]] werden die Schnittstellen zwischen [[CPU]] und Peripheriegeräten bezeichnet. Die Kommunikation erfolgt über spezielle Maschinenbefehle, wie zum Beispiel ''in'' und ''out''. Jedem Gerät wird dabei ein Bereich des I/O-[[Adressraum]]s zugeordnet, und Lese- bzw. Schreibzugriffe werden an das Gerät weitergeleitet. In diesem | + | Als [[I/O Ports]] werden die Schnittstellen zwischen [[CPU]] und Peripheriegeräten bezeichnet. Die Kommunikation erfolgt über spezielle Maschinenbefehle, wie zum Beispiel ''in'' und ''out''. Jedem Gerät wird dabei ein Bereich des I/O-[[Adressraum]]s zugeordnet, und Lese- bzw. Schreibzugriffe werden an das Gerät weitergeleitet. In diesem Wiki werden als C-Funktionen ''outb'', ''outw'' und entsprechende andere Varianten von in und out vorausgesetzt. Wie man diese Funktionen in C mit Hilfe von Inline-Assembler implementieren kann wird im Artikel [[Inline-Assembler mit GCC]] für den [[GCC]] teilweise erklärt. |
Ergänzend zur Port I/O existiert [[Memory Mapped I/O]], bei dem die Geräte in den Adressraum des physischen Speichers eingeblendet werden. Das Gerät kann somit über normale Befehle zum Speicherzugriff angesteuert werden. | Ergänzend zur Port I/O existiert [[Memory Mapped I/O]], bei dem die Geräte in den Adressraum des physischen Speichers eingeblendet werden. Das Gerät kann somit über normale Befehle zum Speicherzugriff angesteuert werden. | ||