

In the meantime, other peripherals can also read from/write to RAM without the CPU being involved (that’s called DMA). about 4.2GHz maxĤ.2 GHz is the system clock, which (in a very, very simplistic way) is comparable to the number of instructions per second, per core (it’s really a lot more complex than that, as not all instructions take the same time to execute, there are wait times, etc.).īut on each cycle, the CPU will process data (to/from registers, caches, RAM and possibly I/O, from fastest to slowest).

The other answers have focused more on the Thunderbolt side of things, but let’s look back at the statement USB-C and its kin have a lot more data pins than one RX and one TX for example.īandwidth is an aggregate property involving the net effect of all kinds of techniques like these, because many can be used together even. Think of the old parallel ports on PCs, in a single clock you transfer a whole bunch of bits, each bit on its own dedicated wire. Look up Phase-Locked Loops (aka PLLs), as FPGAs and ASICs can use these to derive faster clocks from a basis clock to do this sort of thing.Īnother way is simply having lots of parallel channels to transmit the data on. You can't sustain the throughput that these are capable of without a source or sink capable of keeping up, but you can reduce the latency of the transfer of blocks of information between computing nodes using something like that.

That's how the old NTSC video encodes data for example.Īnother way of getting that kind of bandwidth is using buffering and then delegating the transport to specialized transmitters and receivers, sometimes called SERDES (for serializer / deserializer) blocks. In effect that would be 10 bits of information per symbol, and you would get 10x the "clock speed" in bandwidth. It's really too big of a topic to cover in an answer to this question in any depth, but imagine you weren't constrained to binary values and instead could send one of 1024 voltages as a symbol. A symbol is abstract idea as the atom of transfer in a communication system. There are lots of ways a communication scheme can essentially encode more than one bit per symbol. I guess the confusion is you assume you can only send one bit per clock cycle.
