В компьютерах вовсе не "те же потоки, что и в автомагистрали". Там совсем другие потоки, и действуют совсем другие правила. Но всё ж примерную аналогию провести можно.
Как вообще ускоряют компьютеры? Для этого есть разные способы. Уже сделанный процессор - ну типа вот какой есть, тот и ускоряйте, - тупо разгоняют, заставляя его работать на частотах, превышающих штатную. Это как раз наиболее близкая к транспорту аналогия: ускорение транспортного потока банальным повышением скорости. Ясное дело, что (как и в случае с процессорами) это сопряжено с определёнными рисками и имеет свои ограничения. Например, максимальную скорость автомобиля, а самое главное - что эта максимальная скорость разная для разных автомобилей. Что, кстати, имеет место и в процессорах: максимальные частоты работы разных блоков процессора тоже сильно отличаются.
Всё остальное в процессорах - это уже на уровне проектирования, а не условий работы. Это, например, распараллеливание потоков обработки (многоядерные чипы, что наиболее наглядно проявляется в графических процессорах). И тут ест полная аналогия: многополосные шоссе. Правда, если с процессорах увеличение числа ядер приводит к почти пропорциональному росту производительности (отмазка: сильно зависит от того, умеет ли исполняемая программа этим пользоваться или нет), то с увеличением числа полос пропускная способность автострад, по мнению экспертов, "насыщается". То есть двухполосное шоссе, да, пропускает действительно вдвое больше машин, чем однополосное, но вот шесть полос дадут вовсе не шестикратный выигрыш, а меньший.
Ещё один способ повышения производительности процессоров - конвейерная обработка информации. Когда сложная операция разбивается на последовательность простых. Это уже на уровне микорархитектуры - те команды, которые реально исполняются на уровне логических схем процессора RISC-архитектуры (почти все современные процессоры - именно с такой архитектурой), никак не связаны с ассемблерными командами, которые унаследованы ещё от 8086, и даже со всеми последующими расширениями. Ассемблерные команды в самом процессоре для начала преобразуются в набор микроинструкций, и вот эти микроинструкции уже и выполняются в кремнии, реализуя одну ассемблерную инструкцию. Выполнение простых команд можно вести на более высокой "скорости", чем сложных, а разные микроинструкции исполнять на разных блоках конвейера. Тем самым темп исполнения команд остаётся равным максимально возможному, просто возникает некоторая задержка (латентность) между подачей команды и получением результата ё выполнения.
Этому подходу трудно подобрать прямую автомобильную аналогию, но, возможно, до некоторой степени таковой можно считать снижение интервала между машинами. На скоростных шоссе пропускная способность ограничивается ещё и временем реакции водителей: чем выше скорость - тем больший интервал нужно держать из соображений безопасности движения. Тут, кстати, сильно могут помочь системы автопилота, время реакции у которых на порядок меньше человеческого.
Ну и ещё один аспект, которому, наоборот, трудно найти процессорную аналогию: выделенные полосы для скоростных автомобилей. В программировании (не в железе!) это чем-то напоминает механизм прерываний, когда исполнение текущей программы приостанавливается, если поступает запрос на выполнение задачи с более высоким приоритетом, хотя это, согласитесь, довольно отдалённая аналогия...