Wie zeichnet der Computer die 1 und 0 auf?
Ich bin mir nicht ganz sicher ob dies der richtige Titel für meine Frage ist.
Aber ich habe mich schon lange gefragt: Wie weis der Computer (wenn er Daten von einem anderen Computer empfängt) wie die Einsen und Nullen angeordnet sind? Mit dem meine ich: Wie weis der Computer das es z.B 100101 ist und nicht 10101, da es ja sein könnte das sich die einte 0 beim senden verzögert oder besser, warum sind dann geraden zwei Nullen hintereinander. Wie merkt der Computer das es 00 und nicht nur 0 ist? Da er ja (meines Wissens nach) nicht unterscheiden kann ob da jetzt eine neue Stelle kommt oder nicht.
Ich würde jetzt sagen das dies die Taktfrequenz regelt, aber wenn zwei Computer ja nicht die selbe Taktfrequenz haben, muss dies dann irgendwie korrigiert werden, wenn ja wie?
4 Antworten
Der Hauptmechanismus, mit dem Computer Daten senden und empfangen, heißt "Serielle Kommunikation". In dieser Art von Kommunikation werden Daten Bit für Bit über eine Verbindung gesendet. Bei den meisten Arten von serieller Kommunikation gibt es einen festgelegten Standard für die "Baudrate", die im Grunde genommen die Geschwindigkeit bestimmt, mit der die Daten gesendet werden.
Die Baudrate definiert die Anzahl der Bits, die pro Sekunde gesendet werden können. Wenn also ein Bit gesendet wird, dann weiß der empfangende Computer, dass er für eine bestimmte Dauer warten muss (abhängig von der Baudrate), bevor das nächste Bit ankommt. Dies ermöglicht es dem Computer, zwischen zwei aufeinanderfolgenden Bits zu unterscheiden, selbst wenn es sich um zwei Nullen handelt.
Darüber hinaus wird die serielle Kommunikation häufig mit einem Protokoll durchgeführt, das zusätzliche Informationen in den Datenstrom einfügt, um den Beginn und das Ende eines Datensatzes oder eines Datenpakets zu kennzeichnen. Das hilft dem empfangenden Computer zu wissen, wann ein neues Paket beginnt und wann es endet.
Die Taktfrequenz des Computers spielt hierbei eine Rolle, aber moderne Computer und Netzwerkgeräte sind in der Lage, ihre Kommunikationsraten unabhängig von der spezifischen Taktfrequenz des Computers zu verwalten. Dies wird durch spezielle Hardware und Software erreicht, die zur Verwaltung der Datenkommunikation entwickelt wurde.
Schließlich, bezüglich deiner Frage, wie zwei Computer mit unterschiedlichen Taktfrequenzen miteinander kommunizieren: In der Praxis verlassen sie sich auf das Kommunikationsprotokoll und den Kommunikationsstandard, den sie verwenden. Beispielsweise könnte ein USB-Protokoll spezifische Geschwindigkeiten für die Übertragung festlegen, unabhängig von der internen Taktfrequenz des Computers. Dies stellt sicher, dass die Kommunikation zwischen den beiden Geräten korrekt synchronisiert ist.
Regenerate response
Naja, bei Ethernet schick man z.B. bei jedem Frame eine Präambel mit, damit sich die Clock's synchronisieren können.
https://en.wikipedia.org/wiki/Ethernet_frame
Auch wird bei Protokollen wie TCP mit Prüfsummen gearbeitet um Datenverlust zu verhindern.
https://de.wikipedia.org/wiki/Transmission_Control_Protocol#TCP-Pr%C3%BCfsumme_und_TCP-Pseudo-Header
Die Zahl der Modulations- und Kodierverfahren ist immens, aber schaut Dir mal von den frühren Ethernet-Standards als Beispiel den Manchestercode an, der eine Taktrückgewinnung ermöglicht.
In einer anderen Antwort wurde ja auch schon NRZ(i) genannt.
Der Computer erkennt die Anordnung der Einsen und Nullen mithilfe von verschiedenen Kommunikationsprotokollen und Codierungsverfahren.
Google mal nach ,,Asynchronous Transfer Mode,, und ,,Non-Return-to-Zero,,
Durch solche Verfahren kann der Computer die Reinfolge Rekonstruieren wenn es Störungen in der Übertragung gab.