Многоядерность процессоров

Автор работы: Пользователь скрыл имя, 21 Января 2014 в 22:39, реферат

Описание работы


Центральный процессор – электронный блок либо микросхема — исполнитель машинных инструкций (кода программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда его называют микропроцессором или просто процессором.

Содержание работы


Введение……………………………………………………………………………...3
Новый путь развития………………………………………………………………..3
Закон Гордона Мура…………………………………………………………...……6
Сравнение центрального процессора с графическим……………………………..8
Многоядерность на практике……………………………………………………….9
Заключение…………………………………………………………………………11
Список использованных источников……………………………………………..12

Файлы: 1 файл

реферат по информатике.doc

— 81.50 Кб (Скачать файл)

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

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

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

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

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

Если ядро у вас  только одно, а потоков, которые необходимо исполнять, много, ОС создает иллюзию того, что эти потоки выполняются одновременно. Делается это самым банальным образом — какой-то небольшой промежуток времени (обычно порядка 50-100 мс) выполняется один поток, потом на точно такой же промежуток времени управление передается другому потоку и так далее. Если ядер у нас N, то наблюдается аналогичная картина — потоки по очереди выполняются на всех доступных ядрах. При этом надо помнить, что процесс переключения с потока на поток отнюдь не «бесплатен», и сам факт такого переключения снижает общий КПД потоков.

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

Заключение

Итак, рост частоты интегральных микросхем ограничен не только и  не столько потребляемой мощностью  — эту проблему производители  научились решать применением более «тонких» технологических процессов. К сожалению, есть еще одна загвоздка: современный процессор представляет собой крайне сложное устройство, некоторые модели содержат больше миллиарда транзисторов. Физические процессы, которые происходят при работе такого количества транзисторов на высоких частотах, неизбежно приводят к некоторым помехам (наводкам) внутри схемы, а как следствие — проблемам со стабильностью в целом. Очевидно, что простого и эффективного решения этих проблем на данный момент не существует.

Что же делать? К счастью, на помощь приходит как раз пресловутая  возможность совершенствовать техпроцесс. Это значит, что при той же тактовой частоте и потребляемой мощности можно делать процессоры с большим  количеством транзисторов. Возникает  резонный вопрос — как лучше использовать эти «лишние» транзисторы? Хорошая новость заключается в том, что значительное количество «бесплатных» транзисторов попадают в те блоки процессора, которые не связаны напрямую с «многоядерностью», как например блоки SSE/AVX, а также в кеш-память различных уровней. Это дает возможность повышать производительность процессора на десятки процентов от модели к модели при том же количестве основных вычислительных ядер.

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

 

 

Список использованных источников:

  1. http://ru.wikipedia.org/
  2. Гук. М. Процессоры intel от 8086 до Pentium; С-Петербург - “Питер Паблишинг” – 1997.
  3. Новейшая энциклопедия персонального компьютера 2003. – М.: ОЛМА-ПРЕСС, 2003. Микляев А. Учебник пользователя IBM PC.
  4. «Информатика базовый курс для студентов технических ВУЗов» - 2-ое издание под ред. / Симонович С. В., СПб «издательский дом» 2005г.
  5. Вычислительные машины, системы и сети. Учебник под редакцией  
    А.П. Пятибратов. Москва-Издательство «Наука» 2008г.



Информация о работе Многоядерность процессоров