Hallo zusammen,
was funktioniert genau, wenn beispielsweise eine Taste gedrückt, oder Maus bewegt wird? Soweit ich es verstanden habe, wird der Befehl in Binärcode an den jeweiligen Hardware-Controller des Peripheriegeräts gesendet und gespeichert.
Von dort gibt es zwei Möglichkeiten, wie die Daten von der CPU "abgeholt" werden.
a) memory mapped I/O: Addresse wird auf RAM gemappt; Mikroprozessor kann wie bei jeder anderen Addresse des RAMs auch auf das Gerät zugreifen
b) isolatated I/O: Mikroprozessor muss extra Befehlssatz und holt die Daten nicht "über den RAM"
Ich bin mir allerdings bei zwei Sachen nicht ganz sicher:
1) Wird im Controlle wirklich alle Daten "zwischengespeichert", bis diese vom CPU ausgelesen werden? Wie sieht das bei Festplatten aus? Dort sind ja gewaltige Mengen zu bewegen. Wieviel Platz ist auf so einem Controller?
2) Bezüglich der Speicheraddressierung ist zwischen memory mapped und isolated I/O der einzige Unterschied, dass in einem z.b. 32bit-System der gesamte Speicherbereich im ersten Fall auf die Ram Speicherzellen zeigt und im zweiten Fall, ein Teil der 32bit auf die Speicherzellen im Ram und andere Teile den Speicher der verschiedenen Controller addressieren?
Ist als Laie nicht leicht zu beschreiben, ich hoffe ihr könnt meinen Gedankengang nachvollziehen.
- Pauly
was funktioniert genau, wenn beispielsweise eine Taste gedrückt, oder Maus bewegt wird? Soweit ich es verstanden habe, wird der Befehl in Binärcode an den jeweiligen Hardware-Controller des Peripheriegeräts gesendet und gespeichert.
Von dort gibt es zwei Möglichkeiten, wie die Daten von der CPU "abgeholt" werden.
a) memory mapped I/O: Addresse wird auf RAM gemappt; Mikroprozessor kann wie bei jeder anderen Addresse des RAMs auch auf das Gerät zugreifen
b) isolatated I/O: Mikroprozessor muss extra Befehlssatz und holt die Daten nicht "über den RAM"
Ich bin mir allerdings bei zwei Sachen nicht ganz sicher:
1) Wird im Controlle wirklich alle Daten "zwischengespeichert", bis diese vom CPU ausgelesen werden? Wie sieht das bei Festplatten aus? Dort sind ja gewaltige Mengen zu bewegen. Wieviel Platz ist auf so einem Controller?
2) Bezüglich der Speicheraddressierung ist zwischen memory mapped und isolated I/O der einzige Unterschied, dass in einem z.b. 32bit-System der gesamte Speicherbereich im ersten Fall auf die Ram Speicherzellen zeigt und im zweiten Fall, ein Teil der 32bit auf die Speicherzellen im Ram und andere Teile den Speicher der verschiedenen Controller addressieren?
Ist als Laie nicht leicht zu beschreiben, ich hoffe ihr könnt meinen Gedankengang nachvollziehen.
- Pauly