Гиперпоточность, многопоточность, многопроцессорность и многозадачность — теория

Я запутался в разных терминах относительно их фактических различий. Что каждый из них и что они на самом деле означают? Мой учитель информационных технологий в школе дает нам одно определение в один день, а другое — в следующий, поэтому, пожалуйста, не могли бы вы пролить свет на меня.

Спасибо.


person user3241507    schedule 23.04.2014    source источник
comment
Вы читали соответствующие статьи в Википедии, например en.wikipedia.org/wiki/Thread_(вычисления), en.wikipedia.org/wiki/Multithreading_(архитектура_компьютера) ,en.wikipedia.org/wiki/Многопроцессорность и en.wikipedia.org/wiki/Computer_multitasking?   -  person nosid    schedule 23.04.2014
comment
да, но это длинные объяснения, я ищу простой, короткий ответ. Никто из нас не понимает   -  person user3241507    schedule 23.04.2014
comment
Итак, вы хотите, чтобы люди резюмировали их для вас, потому что это слишком много работы для вас?   -  person Leeor    schedule 23.04.2014
comment
Нет, потому что я не понимаю большинство определений в Интернете, где каждый из терминов используется для описания другого, а я все еще учусь в старшей школе и не понимаю.   -  person user3241507    schedule 23.04.2014


Ответы (1)


поток — это последовательность программных инструкций, выполняемых машиной.

Мы называем программу многопоточной, когда одно выполнение программы имеет более одного потока.

Многопоточность можно смоделировать на однопроцессорной машине: процессор переключает свое внимание между различными потоками в моменты времени, которые определяются политикой планирования системы и самой программой. Я говорю «симулируется», но с точки зрения программиста нет большой разницы между поведением правильно синхронизированной многопоточной программы, работающей в однопроцессорной системе, и той же программой, работающей в многопроцессорной системе.

многопроцессорная система имеет более одного ЦП (ЦП также называют "ядрами"). В любой момент каждый ЦП потенциально может выполнять разные потоки одной и той же программы. Или разные процессоры могут выполнять разные программы.

Гиперпоточность стирает различие между однопроцессорной системой и многопроцессорной системой. Процессоры с технологией Hyper-Threading подобны сиамским близнецам: у них есть некоторые атрибуты отдельных процессоров (например, у каждого есть свой полный набор регистров), но они имеют общие функциональные блоки. Гиперпоточность — это проблема проектирования аппаратного обеспечения, невидимая на уровне приложений. Думайте об этом как об уловке, позволяющей более эффективно использовать имеющийся кремний.

person Solomon Slow    schedule 23.04.2014