Latência de CPU vs Latência de I/O
Last updated
Last updated
Há uma diferença na ordem de grandeza entre diferentes dispositivos de hardware. Os ciclos de CPU tendem a ser os mais rápidos, enquanto que operações em I/O tendem a ser mais lentas. Claro que no final tudo depende do tipo de hardware e fabricante, mas no geral podemos aplicar a seguinte hierarquia nesta ordem de grandeza (apenas exemplo, não se apegue tanto aos números):
Numa escala relativa, o acesso à memória RAM é 300x mais lento que o ciclo da CPU, ao SSD é 300 mil vezes mais lento e ao HDD é 33 milhões de vezes mais lento. Então a pergunta que fica é: o que a CPU faz enquanto espera o I/O?
Ou melhor: o que o programa faz enquanto espera I/O?
É aqui que o I/O começa a ditar o ritmo da música. Dependendo de como o programa interage com I/O, ele pode:
a) bloquear esperando I/O responder, ou
b) ser super esperto e dizer pro sistema operacional "hey me avisa quando você tiver pronto o que te pedi no I/O, ok?"