Учебники

Какие потоки у процессора? различия с ядрами

Оглавление:

Anonim

В этой статье мы собираемся потратить некоторое время, чтобы объяснить, что такое потоки процессора или так называемые потоки в английском языке или потоки программирования, чтобы выявить фундаментальные различия между ними и ядрами процессора. Среди менее опытных и даже более продвинутых пользователей по-прежнему существует некоторая путаница в этой теме. Вот почему мы решили уточнить эти условия в максимально возможной степени.

Эту концепцию обработки потоков не обязательно знать при покупке процессора для обычного пользователя. В большинстве случаев лучше больше, чем меньше, это почти всегда так. Нам нужно знать, что это за потоки, это работа по разработке программы. В зависимости от того, как приложение запрограммировано и скомпилировано, оно будет иметь более оптимизированное выполнение для процессоров с большим количеством потоков, чем ядер. И это то, что мы попытаемся получить в нашем объяснении.

Указатель содержания

Каковы ядра процессора

Мы начнем с объяснения того, каковы ядра нашего процессора, поэтому у нас будут эти предварительные знания, чтобы не запутаться.

Мы знаем, что процессор отвечает за выполнение и выполнение инструкций программ, которые загружены в оперативную память нашего компьютера. Практически все инструкции, которые необходимы для выполнения типичных задач на нашем ПК, навигации, записи, просмотра фотографий и т. Д., Проходят через него. В физическом разделе процессор представляет собой интегральную схему, состоящую из миллионов транзисторов, которые образуют логические элементы, чтобы передавать или не передавать биты данных в форме энергии без каких-либо дополнительных действий.

Ну, этот маленький чип содержит различные модули, которые мы можем назвать ядрами, в дополнение к другим элементам, которые нам сейчас не интересны. Несколько лет назад процессоры имели только одно из этих ядер и могли обрабатывать одну инструкцию за цикл. Эти циклы измеряются в мегагерцах (МГц), чем больше МГц, тем больше инструкций мы можем выполнять каждую секунду.

Теперь у нас есть не только одно ядро, но и несколько. Каждое ядро ​​представляет подпроцессор, то есть каждый из этих подпроцессоров будет выполнять одну из этих инструкций, таким образом, имея возможность выполнять несколько из них в каждом такте с многоядерным процессором. Если у нас 4-ядерный процессор, мы можем выполнять 4 инструкции одновременно вместо одной. Таким образом, улучшение производительности в четыре раза. Если у нас 6, то 6 инструкций одновременно. Вот как современные процессоры намного мощнее старых.

И помните, эти ядра физически присутствуют в нашем процессоре, это не что-то виртуальное или созданное кодом.

Что такое обработка потоков?

Потоки, потоки или потоки не являются физической частью процессора, по крайней мере, когда речь идет о большем количестве ядер или что-то в этом роде.

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

Другими словами, каждый поток обработки содержит часть задачи, которую нужно выполнить, что-то более простое для выполнения, чем если бы мы вводили полную задачу в физическое ядро. Таким образом, центральный процессор может обрабатывать несколько задач одновременно и одновременно, фактически он может выполнять столько же задач, сколько у него потоков, и обычно на одно ядро ​​приходится одна или две задачи. В процессорах, которые имеют, например, 6 ядер и 12 потоков, они смогут разделить процессы на 12 различных задач вместо всего лишь 6.

Такой способ работы позволяет управлять ресурсами системы более справедливо и эффективно. Вы знаете… он делится, и вы выиграете всю жизнь. Эти процессоры называются многопоточными. На данный момент мы должны четко понимать, что процессор с 12 потоками не будет иметь 12 ядер, ядра имеют физическое происхождение, а потоки имеют логическое происхождение.

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

Программы, процессы и темы

Мы все знаем, что такое программа, это код, который хранится на нашем компьютере и предназначен для выполнения конкретной задачи. Приложение - это программа, драйвер - это тоже программа, и даже операционная система - это программа, способная выполнять внутри нее другие программы. Все они хранятся в двоичном виде, так как процессор понимает только единицы и нули, текущие / не текущие.

Процессы программы

Для запуска программы она загружается в память, ОЗУ. Эта программа загружается процессами, которые переносят связанный с ней двоичный код и ресурсы, необходимые для работы, которые будут «интеллектуально» назначаться операционной системой.

Основными ресурсами, которые нужны процессу, являются счетчик программ и стек записей.

  • Программный счетчик (CP): он называется указателем инструкций и отслеживает последовательность обрабатываемых инструкций. Регистры: это хранилище, расположенное в процессоре, где может храниться инструкция, адрес хранения или любые другие данные. Стек: это структура данных, в которой хранится информация, относящаяся к экземплярам, ​​активным в программе на компьютере.

Затем каждая программа делится на процессы и сохраняется в определенном месте в памяти. Кроме того, каждый процесс выполняется независимо, и это очень важно понимать, потому что именно так процессор и система способны выполнять несколько задач одновременно, что мы называем многозадачной системой. Эта система обработки является виновником того, что мы можем продолжать работать на нашем ПК, даже если программа была заблокирована.

Нити процесса

Именно здесь появляются потоки обработки, называемые потоками в операционных системах. Поток - это единица выполнения процесса. Мы можем разделить процесс на потоки, и каждый из них будет потоком выполнения.

Если программа не является многопоточной, процессы внутри нее будут иметь только один поток, поэтому они могут быть обработаны только за один раз. Напротив, если у нас есть многопоточные процессы, их можно разделить на несколько частей, и каждый из этих потоков совместно использует ресурсы, назначенные процессу. Итак, мы сказали, что многопоточность более эффективна.

Кроме того, каждый поток имеет свой собственный стек записей, так что две или более из них могут обрабатываться одновременно, в отличие от одного процесса, который должен выполняться одновременно. Потоки - это более простые задачи, которые позволяют запускать процесс в режиме разделения. И это в основном конечная функция потоков обработки. Чем больше потоков, тем больше разделение процессов и тем больше объем одновременных вычислений и, следовательно, тем выше эффективность.

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

Можем ли мы увидеть эти темы или темы в системе?

Не слишком детально, но да, мы видим их как на Windows, так и на Mac.

В случае с Windows нам останется только открыть диспетчер задач и перейти к « Производительность ». Затем мы перейдем по ссылке « Монитор ресурсов » ниже. В этом новом окне каждый процесс будет разделен на потребление процессора и потоки, это будут потоки.

В мониторе активности Mac у нас будут непосредственно перечислены темы на главном экране.

На этом мы завершаем нашу статью о том, что такое процессорные потоки. Это, безусловно, довольно сложная тема для объяснения и довольно абстрактная, особенно для пользователей, которые не до конца понимают, как работает процессор. Но в этом случае у нас есть хорошие новости, потому что у нас также есть довольно хорошая статья, рассказывающая о том, как работает процессор и как выполняется весь цикл инструкций.

Посетите наши статьи на:

Мы надеемся, что все было более или менее ясно, и мы ценим, что вы выбрали нас, чтобы узнать больше об этой теме.

Учебники

Выбор редактора

Back to top button