Fireplace

Synchrone/asynchrone Systeme

Vido2411

Newbie
Registriert
Juni 2026
Beiträge
3
Hallo Community,

ich bin Student und beschäftige mich gerade mit dem Mainboard am PC. Ich habe mir die Architekturen (Bridge, Hub, PCH) angesehen und bei einer Frage bin ich mittlerweile schon so verwirrt, dass ich mich vorne und hinten nicht mehr auskenne. Vielleicht kann mir der eine oder andere Profi helfen:

War die Bridge-Architektur ein synchrones oder ein asynchrones System? Mit System spreche ich nur vom Hauptfluss (CPU-Northbridge-RAM-Grafikkarte-Southbridge), die Peripherie (z. B. USB) spreche ich nicht an.

Ich frage weil ich diverse Definitionen gelesen habe, z. B.:
1. Ein System ist synchron, wenn alle Teilnehmer nach denselben Takt (z. B. 100 MHz) arbeiten.
2. Ein System ist synchron, wenn es eine zentrale PLL gibt, von der alle Basistakte erzeugt bzw. abgewandelt sind. Das bedeutet nicht, dass alle Teilnehmer im System mit denselben Takt arbeiten, aber die Take stehen in einem festen Verhältnis zueinander - bspw. 100 MHz, 66 MHz, 33 MHz.
3. Ein System ist synchron, wenn jeder Baustein eine physische Taktleitung zum Taktgenerator hat. Zur Bridge-Ära (Northbridge, Southbridge) waren die CPU, die Northbridge, der RAM, die Grafikkarte und die Southbridge alle über eine separate, physische Taktleitung mit dem Taktgenerator verbunden.
4. Ein System ist dann synchron, wenn sich die Taktflanken der Bausteine in periodischen, wiederkehrenden Punkten überlappen. Das bedeutet, dass die Taktfrequenzen zwar verschieden sein können, aber die Taktflanken des schnelleren Takts müssen immer mit der Taktflanke der langsameren Takte überlappen (bspw. beträgt die schnelle Taktfrequenz 100 MHz und die langsame 50 MHz - dann überlappen beide Taktflanken bei 10ns). Es kann auch zu einem Phasenversatz zwischen den Taktflanken der Bausteine kommen, solange aber dieser Phasenverzug konstant ist, ist das System synchron, weil dadurch das System deterministisch und vorhersehbar ist.

Was stimmt nun?
Ich tue mir mittlerweise sehr schwer zu verstehen was genau synchron/asynchron ist und vor allem auf was sich das bezieht: auf zwei kommunizierende Bausteine (bspw. CPU-RAM), auf den Bus zwischen zwei Bausteinen oder auf beides?

Ich bin für jede Hilfe herzlichst dankbar. Und ich hoffe mit diesem Beitrag bringe ich endlich Licht ins Dunkle!
:)

Mit freundlichen Grüßen, Vido
 
Ich würde sagen, die Punkte sind alle hinreichende, aber nicht notwendige Bedingungen für ein synchrones System (heißt jeder Punkt für sich beschreibt ein synchrones System, muss aber generell nicht unbedingt erfüllt sein um ein synchrones System zu erhalten).

Ich sollte dazu sagen, dass ich bei PC-Hardware nicht auf dem Level drin bin. Meine Aussage beruht auf logischem Verständnis und genereller Systembeschreibung. Falls es für PC-Hardware spezifische Definitionen von synchron/asynchron gibt, bitte meine Aussage einfach ignorieren.
 
Eigentlich sind deine 4 Definitionen äquivalent. Du hast ja auch schon die Knackpunkte aufgeführt, hast du einen Taktteiler, hast du üblicherweise (abseits von 2er Potenzen Teilern) einen gewissen Fehler, Jitter usw.
Deine physische Taktleitung ist ja schon die nächste Fehlerquelle usw.
Je nach wie tief du in die Elektronik gehst um asynchroner wird jede deiner Definitionen.

Bei deiner "tiefsten" Definition, also Punkt 4. gibts dann die nächste Stufe und das ist dann Lockstep ;)
https://de.wikipedia.org/wiki/Lockstep_(Computertechnik)
 
Vido2411 schrieb:
War die Bridge-Architektur ein synchrones oder ein asynchrones System?
Es gab bzw. gibt nicht ein System, es gab über die letzten Dekaden div. Implementierung. Erst wenn du die spezifische Implementierung betrachtest, können konkrete Aussagen getroffen werden.

Ansonsten klingt das Ding wie eine Hausaufgabe, wollte man das so abstrakt beantworten, könnte man schlicht https://en.wikipedia.org/wiki/Northbridge_(computing) aufrufen, die Blockdiagramme lesen und hätte da eine gut begründbare Antwort quasi vorgegeben.
 
Ich werf noch den FSB mit rein.

Aus meinem leienhaften Verständnis würde ich erstmal sagen alle deine Aussagen stimmen.
Damit System A mit System B kommunizieren kann muss es synchron arbeiten. Wenn man sich z.B. den FSB anschaut ist dieser über Teiler und Multiplikatoren mit allen Bus-Teilnehmern synchron.
 
Danke schon mal für die vielen Antworten. Ich bleib mal bei einem konkreten Beispiel: wenn man sich die Bridge-Architektur ansieht, dann waren dort 100 MHz, 66 MHz und 33 MHz in der Hauptkette (CPU-Northbridge - RAM - Southbridge - Grafikkarte) vertreten. Aus 100 MHz kann man nicht exakt 66 MHz erhalten, indem man durch 2/3 teilt (es sind ja 66,666 MHz) - es sei denn, man verwendet eine weiter, separate PLL -> das ist dann aber laut Definition nicht mehr synchron, weil es keinen festen Bezug mehr gibt. Weiters weiß ich nicht: wenn man die Northbridge betrachtet: war diese synchron oder asynchron? Weil wie bereits erwähnt, man geht von 100 MHz auch 66 MHz und die Takte sind dann aber nicht mehr phasengleich!

Vielleicht ist das für die Praxis nicht relevant aber ich möchte wirklich den Unterschied verstehen (!), nicht nur lernen. Ich mache das für keine Prüfung oder ähnliches, sondern nur für mich.

Danke für eure Geduld :-))
 
Vido2411 schrieb:
Aus 100 MHz kann man nicht exakt 66 MHz erhalten
Die Systeme liefen auch nie exakt auf 100 oder 66 Mhz, die Taktraten waren schon teilbar.

Es ist immer die Frage was du als "System" ansiehst. Wenn ein System verschiedene asynchrone Teile hat, nach außen aber synchron arbeitet, ist es dann ein asynchrones oder synchrones System?

Auf Gatterebene arbeiten diese z.B. asynchron. Um den Datenfluss zu synchronisieren werden die Logikeinheiten durch Flipflops von der nächsten Stufe abgetrennt. (Pipeline)
Die Flipflops selbst sind getaktet, dort ist das Signal also wieder synchronisiert.

Prinzipiell macht Einteilung synchrones oder asynchrones System nur Sinn wenn man ausschließlich die Schnittstellen des Systems anschaut, da es im Inneren immer asynchrone Teile gibt.

Auf Logikebene wäre meine Definition eines asynchronen Systems, dass sich (unter Annahme dass es keine Zeitverzögerung der Logikelemente gibt) bei einer Änderung des Eingangs sich der Ausgang sofort ändert.
Bei einem synchronen System auf Logikebene würde sich der Ausgang erst im nächsten Zeitschritt ändern.
 
Zuletzt bearbeitet:
KingLz schrieb:
Die Systeme liefen auch nie exakt auf 100 oder 66 Mhz, die Taktraten waren schon teilbar.
Was meinst du damit genau? Dass die Taktraten auch damals nicht genau z. B. 66 MHz, sondern 66,666 MHz waren?

Als System betrachte ich immer die wichtigsten Bausteine bzw. die Verbindung derer untereinander, dazu zählen: CPU-Northbridge-RAM-Grafikkarte-Southbridge.

Damals (zur Bridge-Ära) war der Hauptfluss (CPU-Northbridge-RAM) synchron, weil ja alles über den FSB lief und dieser war mit 100 MHz getaktet (man brauchte also keine Puffer). Aber die Southbridge hingegen lief mit 66 MHz und ich lese oft, dass die Bridge-Architektur synchron war. Nun weiß ich nicht: wenn man von „synchron“ spricht, bezieht sich das nur auf den Hauptfluss (CPU-Northbridge-RAM) oder bezieht sich das auf das Hauptsystem (CPU-Northbridge-RAM-Grafikkarte-Southbridge)? Ich kann das nicht genau trennen, weil wie bereits im 1. Eintrag geschrieben: manche sagen „synchron“ ist es nur, wenn alles (im Hauptfluss oder im Hauptsystem?) mit demselben Takt (bspw. 100 MHz) läuft. Andere sagen die Taktfrequenzen dürfen unterschiedlich sein, aber sie müssen einen festen Bezug zueinander haben (z. B. 1:3). Andere wiederum sagen, die Bausteine müssen nur periodisch sein, sie müssen nicht mal von einer Quelle stammen und sie dürfen einen Phasenversatz haben, der Phasenversatz MUSS aber konstant sein, weil dann ein deterministisches System vorliegt und das ist synchron. Was stimmt jetzt?

Weiters: warum ist es so ein wichtiger Punkt, dass für synchrone Systeme nur eine einzige PLL verwendet wird? Bei der Skalierung von 100 MHz auf 66,66 MHz kommen auch nicht exakt 66,666 MHz heraus. Wenn man nun eine zweite PLL verwendet und diese am Ausgang 66,666 MHz liefert, dann sagt das Internet und die KI (Google, ChatGPT), dass dies nicht mehr synchron ist, weil die Systeme nun „entkoppelt“ sind??! Demnach würde das bedeuten: kleine Takt-Schwankungen bei EINER einzigen PLL sind OK (System ist synchron), aber bei zwei separaten PLLs sind kleine Takt-Schwankungen plötzlich nicht mehr OK (System ist nicht synchron)??? Warum?
 
Sapphire Forum
Zurück
Oben