2011-08-30 15:24:34 +0000 2011-08-30 15:24:34 +0000
27
27

Что такое нити, и что они делают в процессоре?

Я просматривал статистику для Intel Pentium e5700 CPU.

Имеет два ядра и два потока. Что эти потоки делают для процессора? Существует ли какая-либо связь между количеством ядер и количеством потоков? Каково назначение потоков для системы в целом?

Ответы (3)

21
21
21
2011-08-30 15:34:16 +0000

Количество ядер - это физическое количество ядер на самой матрице процессора, в то время как количество потоков - это количество отдельных потоков приложения, которые могут одновременно выполняться на самом процессоре. Без дополнительного или специального аппаратного обеспечения это количество равно количеству ядер. Однако некоторые процессоры будут иметь больше потоков, чем ядер. Некоторые процессоры Intel имеют функцию под названием hyperthreading , которая позволяет операционной системе видеть удвоенное количество логических ядер на физическое ядро. Это позволяет операционной системе планировать и запускать вдвое больше потоков одновременно, поэтому в случае с ЦП, на который я ссылался выше, есть четыре физических ядра, но восемь логических (так что вы можете запускать восемь потоков одновременно).

Каждое отдельное приложение, запущенное в операционной системе, является однопоточным или многопоточным (думайте о каждом потоке как о “субприложении”). Однопоточным приложениям требуется только один поток для работы на процессоре, в то время как многопоточным приложениям приходится запускать много подпотоков одновременно. Дополнительные ядра, или гиперпоточность, позволяют одновременно работать большему количеству потоков приложений.

Это позволяет многопоточным (not однопоточным) приложениям работать гораздо быстрее, поскольку на центральном процессоре может одновременно работать несколько потоков.


В заключение отметим, что hyperthreading улучшает производительность многопоточных приложений some, специально оптимизированных для этого (так как количество физических ядер все еще составляет лишь половину, так как они логичны). В некоторых случаях приложения могут работать быстрее при hyperthreading disabled (хотя многие приложения do выигрывают от этого). Независимо от hyperthreading, увеличение количества физических ядер всегда пойдет на пользу многопоточным приложениям.

9
9
9
2011-08-30 15:45:22 +0000

Ядро" представляет собой фактическое физическое подмножество процессора, которое само по себе может обрабатывать обработку, в то время как “поток” - это количество фактических процессов, которые процессор может обрабатывать одновременно. Корпорация Intel разработала технологию, которую они называют “hyper-threading” (гиперпоточность). Эта технология позволяет одному физическому ядру (которое обычно может обрабатывать только один поток за раз) теперь обрабатывать два потока одновременно. Поток

A - это задача, которую процессор должен обрабатывать, для простоты объяснения можно предположить, что каждое открытое вами приложение (такое как краска, блокнот, медиаплеер) имеет свой собственный поток… теперь это не означает, что вы можете открывать только два приложения одновременно, просто потому, что процессор и операционная система работают так быстро при “переключении потоков”, чтобы обрабатывать потребности каждого открытого вами приложения. Вы просто будете испытывать лучшую производительность с большим количеством ядер, потому что теперь вы можете распределить всю работу на большее количество процессоров ядра.

Например, в моем рабочем компьютере есть i7. i7 имеет 4 физических ядра, но каждое ядро может выполнять “гиперпотоковую” работу, что позволяет этому процессору обрабатывать 8 потоков одновременно. Поэтому если я открою диспетчер задач, я увижу 8 ящиков для шкалы производительности процессора.

Общее правило заключается в том, что больше физических ядер лучше, чем больше потоков. Так что если бы вы сравнивали процессоры, которые имеют 4 ядра и 4 потока, было бы лучше, чем 2 ядра 4 потока. Но чем больше потоков может обрабатывать ваш процессор, тем лучше он будет работать, в то время как многозадачность и для некоторых очень интенсивных приложений (редактирование видео, CAD, CAM, сжатие, шифрование и т.д.) сами по себе будут использовать более одного ядра за раз.

-1
-1
-1
2019-07-18 22:54:39 +0000

нажимая на ссылки в статье в IE или chrome, каждый раз, когда вы нажимаете на ссылку, вы создаете поток. чем больше вы нажимаете на ссылки, тем больше потоков. 4-ядерный процессор у вас есть до 8 потоков, вы можете открыть 8 ссылок, прежде чем у вас начнутся проблемы. пренебрегая вашим интернет-соединением. поэтому каждое ядро покрывает две из тех ссылок (потоков), которые у вас открыты. это идея IMO. если это имеет какой-то смысл для кого-то.

Похожие вопросы

15
19
9
6
4