Misschien wel erg low-level, maar het is allemaal tot een crystal op de mobo die op 14.3MHz trilt terug te voeren. De output van die crystal wordt in de PLL (phase locked loop) chip gevoerd. Deze chip zet dat door bepaalde delen van de sinus te pakken (complex verhaal) om in de snelheden die je op de mobo gaat krijgen (in beginsel alle snelheden muv de interne CPU speed, dus ISA, PCI, FSB en evt nog aparte mem bus of hub interconnect clocks). Precies hoe deze clocks van elkaar afhangen wordt door de PLL bepaald (daarom dat soms de PCI afhankelijk is van de FSB, maar bij anderen het op 33MHz vast kan draaien)
Goed, dus de PLL regelt de clocks, maar hoe zit het met de data
Dat gaat via buffers in de controller chips. Voorbeeld: er moet van het geheugen via DMA naar de harddisk geschreven worden op een P3-700 systeem met i815 chipset. Hier draait het geheugen synchroon met de FSB (dus er wordt geen aparte clock voor gegenereerd) en hangt de southbridge gewoon aan de PCI bus. Wat gebeurt er?
De data moet dus zo gaan:
Geheugen<-800MB/s, 100MHz->Northbridge<-266MB/s, 133MHz->Southbridge<-66MB/s, ?MHz->HDD
Hoe werkt dat

Nou, er wordt een blok data uit het geheugen gelezen op 800MB/s, zeg voor het gemak van 1600B (dat duurt dus 1 50-miljoenste seconde (latencies buiten beschouwing gelaten))- het blok wordt in een buffer in de northbridge geladen. Vervolgens wordt het op 266MB/s zo snel mogelijk richting de southbridge verstuurd. Pas als het laatse beetje eruit is, wordt de volgende blok uit het geheugen geladen. In de southbridge gaat het weer net zo- die blok van 800MB/s komt over 3 50-miljoenste van een seconde gespreid aan en gaat weer in een buffer zitten. Die wordt zo snel als de ATA-66 controller het kan weer leeggepompt richting HDD. Pas als de buffer leeg is wordt de volgende blok vanuit de northbridge gehaald. Het duurt hier weer 12 50-miljoenste seconden voordat dat blok weg is in dit voorbeeld.
In realiteit gaat het natuurlijk niet in blokken van 1600B, de buffergrootte is zelfs van chip tot chip verre van standaard, maar dat daargelaten gaat het algemene principe op
Zo zie je hoe voorkomen wordt dat een veel bredere verbinding maar door blijft pompen, maar ook hoe de zwakste schakel, je bottleneck, de boel ophoudt. In de tijd die de ATA-66 interface nodig had om 1600B door te pompen had de geheugeninterface er 19200B af kunnen leveren.
Dus dat is hoe data ondanks de dividers nog steeds vloeiend kan stromen zonder overflows...