Hello to everybody in the forum.
Here is a question I have and I cannot answer it. It is a theoritical and not a practical question, but it still bothers me :
Why is it possible for ( any ) SATA and for USB 3.0 to function? I think that these protocols …should just not be able to work!
Let me explain myself :
Let's take a really fast CPU, one that is clocked in 3,6GHz. The CPU needs from 1 up to 4 clock cycles to form a command in machine language, right? So, in the worst case scenario, this CPU can execute 3,6 / 4 = 0,85 billion commands per second or, if you prefer, 850 millions commands per second.
So far, so good. But let's see now the USB 3.0 protocol. This new protocol can transfer 5Gbits per second. Since one CPU command is needed for every bit transfer, we need 5 billion commands per second to be handled by the CPU, in order to make USB 3.0 to work. This is just not possible. In fact, nothing that needs more than 850 million commands per second should work.
I understand that PCI express protocol is another story, because there the bus is handled by hundreds of small processors inside the graphics card and these processors work in parallel, handling the PCI express lines all together.
But what about SATA and USB 3.0? Why on earth are they able to work?? …..I must have a mistake in my calculations, but I do not know where…. J
Can anybody help?
Here is a question I have and I cannot answer it. It is a theoritical and not a practical question, but it still bothers me :
Why is it possible for ( any ) SATA and for USB 3.0 to function? I think that these protocols …should just not be able to work!
Let me explain myself :
Let's take a really fast CPU, one that is clocked in 3,6GHz. The CPU needs from 1 up to 4 clock cycles to form a command in machine language, right? So, in the worst case scenario, this CPU can execute 3,6 / 4 = 0,85 billion commands per second or, if you prefer, 850 millions commands per second.
So far, so good. But let's see now the USB 3.0 protocol. This new protocol can transfer 5Gbits per second. Since one CPU command is needed for every bit transfer, we need 5 billion commands per second to be handled by the CPU, in order to make USB 3.0 to work. This is just not possible. In fact, nothing that needs more than 850 million commands per second should work.
I understand that PCI express protocol is another story, because there the bus is handled by hundreds of small processors inside the graphics card and these processors work in parallel, handling the PCI express lines all together.
But what about SATA and USB 3.0? Why on earth are they able to work?? …..I must have a mistake in my calculations, but I do not know where…. J
Can anybody help?