что означает 2 ядра 4 потока в процессоре?

78515
user734861

Я хотел знать, что означает 2 ядра 4 темы о процессоре? Я говорю об этом процессоре, который у меня есть

http://ark.intel.com/products/47341/Intel-Core-i5-520M-Processor-3M-Cache-2_40-GHz

Сначала я думал, что у i5 4 ядра, но я ошибаюсь. Мое понимание потока - это кусок кода, который может выполняться одновременно (одновременно) с другими потоками. Итак, что означает 4 темы в этом листе спецификаций? Отличается ли это от программных тем. Отличается ли количество потоков в нем от потока программы, который мы создаем. Если у него всего 2 ядра, то правильно ли, что вы можете запускать только 2 параллельные программы, даже если у него 4 потока?

20
После того, как вы выполните некоторые предварительные исследования по http://en.wikipedia.org/wiki/Hyper-threading, это должно стать для вас более понятным. У вашего процессора действительно есть возможность выполнять 4 инструкции за раз. Вы должны понимать, что даже одноядерный процессор способен запускать несколько программ. Он просто НЕ имеет возможности делать 2 инструкции одновременно. Вам не ясно, как на самом деле работает программа. Ramhound 10 лет назад 2
@Ramhound Вы предположительно имели в виду 4 инструкции * потоки *. Поскольку i5 является суперскалярным, он может выполнять несколько команд параллельно даже из одного потока команд. Одновременная многопоточность позволяет преобразовать параллелизм на уровне потоков в параллелизм на уровне команд, увеличивая использование ресурсов выполнения. Paul A. Clayton 9 лет назад 0
Я свел к минимуму свое утверждение, что количество инструкций за такт - это разница между Pentium D и 4-м Core i5 минус размер кристалла и требования к питанию, разумеется (опять-таки упрощенно) Ramhound 9 лет назад 0
Возможная копия [Hyper-Threading и Dual-Core, в чем разница?] (Http://superuser.com/questions/133082/hyper-threading-and-dual-core-whats-the-difference) Ciro Santilli 新疆改造中心 六四事件 法轮功 8 лет назад 1
Этот ответ может обеспечить назидание: https://superuser.com/questions/1198459/threads-versus-cores-and-rated-cpu-clock-speed-what-is-the-effect/1235784#1235784 Jamie Hanrahan 6 лет назад 0

4 ответа на вопрос

13

Your i5 has two cores, each core can run two threads because of intel's hyperthreading, making 4 threads, beyond that it switches at high speeds between processes. Here's a nice explation of multithreading if you want to know more, but in essence your CPU can run 4 processes simultaniously, and switch at high speed between processes.

> «Помимо этого он переключается на высоких скоростях между процессами». Что делает переключение ч / б процесс быстрее? Talespin_Kit 7 лет назад 0
@Talespin_Kit Я думаю, что @ Slowki имел в виду способ использования CPU для работы с несколькими процессами, поэтому он не ограничен четырьмя вещами. Это 4 темы о многих вещах. Matt Sephton 6 лет назад 0
3
Rev

Я не уверен в вашем уровне знаний в области компьютерной архитектуры, однако упомянутый здесь Core i5 реализует форму многопоточности, известную как одновременная многопоточность (SMT). Торговая марка Intel для реализации SMT - это гиперпоточность.

Помимо SMT существуют и другие формы многопоточности, временная многопоточность - одна. Например, мелкозернистая временная многопоточность, когда процессор может переключаться между различными потоками каждый цикл и, таким образом, обеспечивать псевдопараллельное выполнение нескольких программ. Точно так же может быть грубая временная многопоточность, когда процессор может переключаться между потоками, когда он сталкивается с операцией с высокой задержкой, такой как доступ к основной памяти в текущем потоке. Точные точки переключения могут варьироваться в зависимости от реализации и требований, таких как честность или сроки в реальном времени.

SMT отличается от философии переключения контекста для многопоточности тем, что на самом деле два или более потоков выполняются одновременно на одном процессоре. В то время как реализация может варьироваться, основная цель состоит в том, чтобы использовать функциональные блоки в процессоре, которые работают вхолостую, если выполнялся только один поток, а также использовать суперскалярную природу процессора. Вы можете представить себе временную многопоточность как временное разделение ресурсов процессоров, а SMT - как пространственное разделение ресурсов.

Подробный анализ можно найти в статье Туллсена за 1995 год:

http://dl.acm.org/citation.cfm?id=224449

0
tizoc

"If it has just 2 cores then is it correct that you can only run 2 parallel programs even though it has 4 threads?" If it has 2 cores the calculation is divide by 2 = parallelism However if you system has hyper threading it can do the 2 calculation in the same core, why, the same core shows to the OS up as 2 cores...logical cores.

0
khoreyrs

Take the number of threads and divide it by the number of cores and that will give you the number of threads can be run simultaneously per processor core.

In earlier times [on earlier Intel models] hyperthreading was limited to 1 core running 2 threads simultaneously OR multiple cores running 1 instruction set (aka, thread) per core (pretty inefficient if you ask me). But with better computation power and later developments such as your i5 processor, you have what I like to call, a multi-core hyperthreaded processor, which has multiple cores running multiple instruction sets (aka, threads) per core.

In your case, 1 core gets 2 threads, so when you do the math you have a total of = 4 instruction sets (threads).

Another example: # of Cores = 4, # of threads = 8 | 8/4 = 2, so each core processes 2 threads simultaneously (not sure which processor model does this but I'm almost certain that one exists).

Hope this helps my friend! Happy computing!

Source: PEARSON IT Certification CompTIA A+ Examp Cram Cert. Manual

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