Компьютерное железо

Какую функцию выполняют потоки в процессоре?

Почти - ядра. Отличия: представьте конвейер из нескольких десятков действий. Целый полный конвейер - это ядро. Но отдельные узлы конвейера имеют разную скорость выполнения операции, т. е. из-за кое-каких узлов весь конвейер может простаивать. Если продублировать некоторые участки конвейера (предположительно - самые "тормозные"), можно, не увеличивая число конвейеров (что дорого), увеличить производительность. Продублированные участки - потоки. Их еще называют логическими ядрами.
Ну, а сам "конвейер" - полноценный - то бишь ядро - это полноценная (ну, почти - из-за общих с другими ядрами кэшей 2-го и 3-го уровня) "боевая единица" - полная цепочка действий для некоторого "элементарного" действия. Что есть "элементарное" действие - определяется процессором, его набором команд и т. п.
Т*
Толя *
47 413
Лучший ответ
одного потока не хватает что-бы использовать ядро на 100%, пока инфа передается ядро может простаивать на короткие промежутки времени, много раз, для этого сделали второй поток.
На сколько знаю работают потоки попеременно, но прирост производительности в основном в программах все таки есть.
Zheka Kraskovskiy
Zheka Kraskovskiy
47 795
ключевую!!!
потоки-тоже самое что и ядра, только их бывает обычно больше. например в семействе проц-ов Intel core i3 2 ядра и 4 виртуальных потока, i5 4 ядра и 4 виртуальных потока
Виктор Дремух НЕТ! Потоки это далеко не полноценные ядра. Читайте мой ответ
SMT и HT? Пока ядро занимается расчётом каких-либо вычислений свободный поток подготавливает информацию для следующих вычислений, чтобы по окончанию предыдущих вычислений процессор не бегал по кешу и памяти в поисках нужной информации, а сразу рассчитывал новый поток данных.
- ту же, что и весь процессор - обработка потока данных и команд.
Если много ядер/потоков, то происходит параллельная обработка потоков данных и команд.
Понятно, что чем больше операций выполняется параллельно, тем быстрее будет выполнена вся поставленная вычислительная задача.