Как сделать двухъядерный процессор
Сообщества › eBay DRIVE2.RU › Блог › Обновление компьютера или как из 1 ядра сделать 2
Всем привет. Хотел с вами поделиться рассказом о том как я оживил свой старый компьютер. Надеюсь рассказ мой вам понравится.
История моего компьютера
Сгорела у меня материнская плата, и я был вынужден покупать что то на замену. Пришел в магазин и решил взять недорогой бу комплект материнки + процессора на 939 разъеме AMD Athlon 64, 2000 MHz 3200+
Конечно для 2006 года это был обычный компьютер и его работа меня вполне устраивала. Шло время, в игры я не играл и пользовался им для интернета да и кино посмотреть. Но время шло и все развивалось. Фильмы 1,46 Гигабайт уже уходили в прошлое и наступала эра HD и Full HD качества. Мой компьютер начал не справляться с воспроизведением этих фильмов и меня это не устраивало. Видео шло рывками, звук опаздывал. Я пытался мириться с этим и не смотреть тяжелые фильмы через компьютер и смотрел их через телевизор. Через пол года компьютер вообще перестал включатся и я его оставил в покое на пол года и пользовался ноутбуком. Решив в один зимний вечер разобраться с компьютером, я его включил снова. И он заработал. НО ужасно тупил. Решил разобрать и посмотреть в чем дело. И каково было мое удивление когда я заметил ржавчину на системном блоке. Я понял причину сразу, мой друг пометил его
Достал материнку, взял спирт и начал протерать материнскую плату. После все собрал и проверил, все работало как часики, тормоза прошли. Решил дать второй шанс своему старому ПК и обновить процессор.
Заказал, подождал, забрал с почты и поставил. Переустановка или какая то настройка не требуется, просто произвести замену как в конструкторе Lego.
Конечно сразу понять сложно что к чему, вроде работает. Скорость работа такая же. Надо тестировать. Взял программу aida и пробежался по тестам. И вот что у меня получилось
Вот таблица сравнение результатов теста между старым процессором и новым. По тестам памяти результат почему то ниже, не столь важно. А вот по тестам процессора результат выше и достигает 100 процентов. Средний прирост % получился 61% Это неплохой результат за малые деньги. Так же на ebay можно приобрести планки памяти на 4 Гб старого образца за 1000 рублей.
О чем этот пост?
Если у вас дома есть старая техника, ненужная но вот выкидывать жалко, а продать за 200 рублей не охота на ebay можно купить то что даст вашей технике вторую жизнь. Вот так я сделал 2 ядра.
Многоядерные процессоры: принципы работы
Содержание статьи
Многоядерные процессоры представляют собой центральные процессоры, в которых содержится более двух вычислительных ядер. Такие ядра могут находиться как в одном корпусе, так и на одном процессорном кристалле.
Что такое многоядерный процессор?
Чаще всего под многоядерными процессорами понимают центральные процессоры, в которых несколько вычислительных ядер интегрированы в одну микросхему (то есть они расположены на одном кристалле кремния).
Hyper-threading
Ядра в многоядерных процессорах могут поддерживать технологию SMT, позволяющую исполнять несколько потоков вычислений и создавать на основе каждого ядра несколько логических процессоров. На процессорах, которые выпускает компания Intel, такая технология называется «Hyper-threading». Благодаря ей можно удваивать число логических процессоров по сравнению с числом физических чипов. В микропроцессорах, поддерживающих эту технологию, каждый физический процессор способен сохранять состояние двух потоков одновременно. Для операционной системы это будет выглядеть, как наличие двух логических процессоров. Если в работе одного из них возникает пауза (например, он ждет получения данных из памяти), другой логический процессор приступает к выполнению собственного потока.
Виды многоядерных процессоров
Многоядерные процессоры подразделяются на несколько видов. Они могут поддерживать использование общей кэш-памяти, а могут не поддерживать. Связь между ядрами реализуется на принципах использования разделяемой шины, сети на каналах точка-точка, сети с коммутатором или использования общего кэша.
Принцип работы
Большинство современных многоядерных процессоров работает по следующей схеме. Если запущенное приложение поддерживает многопоточность, оно может заставлять процессор выполнять несколько заданий одновременно. Например, если в компьютере используется 4-ядерный процессор с тактовой частотой 1.8 ГГц, программа может «загрузить» работой сразу все четыре ядра, при этом суммарная частота процессора будет составлять 7.2 ГГц. Если запущено сразу несколько программ, каждая из них может использовать часть ядер процессора, что тоже приводит к росту производительности компьютера.
Многие операционные системы поддерживают многопоточность, поэтому использование многоядерных процессоров позволяет ускорить работу компьютера даже в случае приложений, которые многопоточность не поддерживают. Если рассматривать работу только одного приложения, то использование многоядерных процессоров будет оправданным лишь в том случае, если это приложение оптимизировано под многопоточность. В противном случае, скорость работы многоядерного процессора не будет отличаться от скорости работы обычного процессора, а иногда он будет работать даже медленнее.
Двухъядерные процессоры Intel: выбираем лучший. Часть первая
Способы увеличения производительности процессора
Гонка тактовых частот, продолжавшаяся на протяжении многих лет, похоже, окончательно ушла в прошлое. За эти годы в умах пользователей укоренилось мнение, что именно тактовая частота процессора является показателем его производительности, однако планы компании Intel по наращиванию тактовых частот так и остались планами, и, скорее всего, увидеть процессор с тактовой частотой 10 ГГц нам предстоит весьма не скоро. По всей видимости, масштабирование процессоров по тактовой частоте оказалось не столь простой задачей, как предполагалось, и потому при сегодняшних технологических нормах производства процессоров и малоэффективных воздушных системах охлаждения добиться линейного масштабирования тактовой частоты процессоров не удаётся. Осознав, что увеличение прежними темпами тактовых частот процессоров не представляется невозможным, нужно было искать принципиально иные технологии увеличения производительности процессоров. Одновременно с этим необходимо было (по маркетинговым соображениям) убедить пользователей в том, что производительность процессора определяется не только и не столько его тактовой частотой. И первым шагом на пути к такому «перевоспитанию» пользователей стал отказ компании Intel от указания в названии процессора его тактовой частоты — на смену процессорам Intel Pentium 4 3,0 ГГц пришли загадочные обозначения вроде Intel Pentium 4 560 и т.п.
Давайте разберемся, от чего же в действительности зависит производительность процессора. Общепринято отождествлять производительность процессора со скоростью выполнения им инструкций программного кода. Производительность (Performance) — это отношение общего числа выполненных инструкций программного кода ко времени их выполнения:
В этом смысле производительность процессора отождествляется с количеством инструкций, выполняемых за секунду (Instructions rate). А поскольку одной из важных характеристик процессора является его тактовая частота, то желательно именно с ней связать производительность процессора. Это можно сделать, если количество инструкций, выполняемых за единицу времени, рассматривать как произведение количества инструкций, выполняемых за один такт процессора (Instruction Per Clock, IPC), на количество тактов процессора в единицу времени (тактовая частота процессора):
Количество тактов процессора в единицу времени – это и есть его тактовая частота (Frequency). Таким образом, производительность процессора зависит в равной степени и от его тактовой частоты, и от количества инструкций, выполняемых за такт (IPC):
Последняя формула, по сути, определяет два разных подхода к увеличению производительности процессора, первый из которых связан с увеличением тактовой частоты процессора, а второй – с увеличением количества инструкций программного кода, выполняемых за один такт процессора. Вполне очевидно, что увеличение тактовой частоты не может быть бесконечным и определяется технологией изготовления процессора. При этом рост производительности не является прямо пропорциональным росту тактовой частоты, то есть наблюдается тенденция насыщаемости, когда дальнейшее увеличение тактовой частоты становится нерентабельным. Количество инструкций, выполняемых за время одного такта, зависит от микроархитектуры процессора: от количества исполняемых блоков, от длины конвейера и эффективности его заполнения, от блока предвыборки и т.д., а кроме того, естественно, от оптимизации программного кода к данной микроархитектуре процессора. Итак, в общих чертах мы выяснили, почему вполне корректным является сравнение производительности процессоров на основании их тактовой частоты в пределах одной и той же микроархитектуры (при одинаковом значении IPC процессоров) и почему некорректно сравнение производительности процессоров с различной микроархитектурой исключительно на основе тактовой частоты. К примеру, основываясь на тактовой частоте, некорректно сравнивать производительность процессоров с разным размером L2-кэша или производительность процессоров, поддерживающих и не поддерживающих технологию Hyper-Threading.
Другим подходом к увеличению производительности процессорной подсистемы, типичным для серверных решений, является использование многопроцессорных SMP-конфигураций. В этом случае достигается параллельное (Thread Level Parallelism, TLP) и в какой-то мере независимое решение нескольких разных задач или нескольких потоков одной задачи на нескольких процессорах, что, естественно, сопровождается приростом общей производительности вычислительной подсистемы сервера. Впрочем, ожидать адекватного количеству процессоров роста производительности и в данном случае не приходится — многое зависит от типа решаемых задач, от реализации в серверной операционной системе поддержки SMP. Всегда можно найти такое приложение, которое в двухпроцессорной конфигурации будет показывать результаты ниже, чем в однопроцессорной, и потому любой «талантливый» программист вполне сможет свести на нет все преимущества многопроцессорной архитектуры.
Между тем, кроме перечисленных способов увеличения общей производительности процессорной подсистемы, существуют технологии, позволяющие реализовать параллельное выполнение нескольких задач на одном процессоре. Такая многозадачность реализована в том или ином виде во всех современных процессорах. Отход от последовательного исполнения команд и использование нескольких исполняющих блоков в одном процессоре позволяют одновременно обрабатывать несколько процессорных микрокоманд, то есть организовывать параллелизм на уровне инструкций (Instruction Level Parallelism, ILP), что, разумеется, увеличивает общую производительность.
Технология Hyper-Threading – первый шаг к многоядерности
Анонсированная в 2002 году компанией Intel технология Hyper-Threading – пример многопоточной обработки команд. Данная технология является чем-то средним между многопоточной обработкой, реализованной в мультипроцессорных системах, и параллелизмом на уровне инструкций, реализованном в однопроцессорных системах. Фактически технология Hyper-Threading позволяет организовать два логических процессора в одном физическом. Таким образом, с точки зрения операционной системы и запущенного приложения в системе существует два процессора, что даёт возможность распределять загрузку задач между ними точно так же, как при SMP-мультипроцессорной конфигурации.
Посредством реализованного в технологии Hyper-Threading принципа параллельности можно обрабатывать инструкции в параллельном (а не в последовательном) режиме, то есть для обработки все инструкции разделяются на два параллельных потока. Это позволяет одновременно обрабатывать два различных приложения или два различных потока одного приложения и тем самым увеличить IPC процессора, что сказывается на росте его производительности.
В конструктивном плане процессор с поддержкой технологии Hyper-Threading состоит из двух логических процессоров, каждый из которых имеет свои регистры и контроллер прерываний (Architecture State, AS), а значит, две параллельно исполняемые задачи работают со своими собственными независимыми регистрами и прерываниями, но при этом используют одни и те же ресурсы процессора для выполнения своих задач. После активации каждый из логических процессоров может самостоятельно и независимо от другого процессора выполнять свою задачу, обрабатывать прерывания либо блокироваться. Таким образом, от реальной двухпроцессорной конфигурации новая технология отличается только тем, что оба логических процессора используют одни и те же исполняющие ресурсы, одну и ту же разделяемую между двумя потоками кэш-память и одну и ту же системную шину. Использование двух логических процессоров позволяет усилить процесс параллелизма на уровне потока, реализованный в современных операционных системах и высокоэффективных приложениях. Команды от обоих исполняемых параллельно потоков одновременно посылаются для обработки ядру процессора. Используя технологию out-of-order (исполнение командных инструкций не в порядке их поступления), ядро процессора тоже способно параллельно обрабатывать оба потока за счёт использования нескольких исполнительных модулей.
Идея технологии Hyper-Threading тесно связана с микроархитектурой NetBurst процессора Pentium 4 и является в каком-то смысле её логическим продолжением. Микроархитектура Intel NetBurst позволяет получить максимальный выигрыш в производительности при выполнении одиночного потока инструкций, то есть при выполнении одной задачи. Однако даже в случае специальной оптимизации программы не все исполнительные модули процессора оказываются задействованными на протяжении каждого тактового цикла. В среднем при выполнении кода, типичного для набора команд IA-32, реально используется только 35% исполнительных ресурсов процессора, а 65% исполнительных ресурсов процессора простаивают, что означает неэффективное использование возможностей процессора. Было бы вполне логично реализовать работу процессора таким образом, чтобы в каждом тактовом цикле максимально использовать его возможности. Именно эту идею и реализует технология Hyper-Threading, подключая незадействованные ресурсы процессора к выполнению параллельной задачи.
Поясним всё вышесказанное на примере. Представьте себе гипотетический процессор, в котором имеется четыре исполнительных блока: два блока для работы с целыми числами (арифметико-логическое устройство, ALU), блок для работы с числами с плавающей точкой (FPU) и блок для записи и чтения данных из памяти (Store/Load, S/L). Пусть, кроме того, каждая операция осуществляется за один такт процессора. Далее предположим, что выполняется программа, состоящая из трёх инструкций: первые две — арифметические действия с целыми числами, а последняя — сохранение результата. В этом случае вся программа будет выполнена за два такта процессора: в первом такте задействуются два блока ALU процессора (красный квадрат на рис. 1), во втором — блок записи и чтения данных из памяти S/L.
Как сделать двухъядерный процессор
Когда вы покупаете новый ноутбук или строите компьютер, процессор является самым важным решением. Но там есть много жаргона, особенно что касается ядер. Какой процессор выбрать: двухъядерный, четырехъядерный, шестиядерный или восьмиядерный. Прочитайте статью чтобы понять, что это на самом деле означает.
Двухъядерный или четырехъядерный, как можно проще
Давайте сделаем все просто. Вот все, что вам нужно знать:
Скорость
Теперь простая логика диктует, что больше ядер сделает ваш процессор быстрее в целом. Но это не всегда так. Это немного сложнее.
Больше ядер дают большую скорость только если программа может разделить свои задачи между ядрами. Не все программы предназначены для разделения задач между ядрами. Подробнее об этом позже.
Тактовая частота каждого ядра также является решающим фактором скорости, как и архитектура. Более новый двухъядерный процессор с более высокой тактовой частотой часто превосходит старый четырехъядерный процессор с более низкой тактовой частотой.
Потребляемая мощность
Больше ядер также приводит к более высокому потреблению энергии процессором. Когда процессор включен, он подает питание на все ядра, а не только на задействованные.
Производители чипов стараются снизить энергопотребление и сделать процессоры более энергоэффективными. Но, общее правило гласит что, четырехъядерный процессор будет потреблять больше энергии с вашего ноутбука нежели двухъядерный (и, следовательно, быстрее разряжается аккумулятор).
Выделение тепла
Каждое ядро, влияет на тепло, генерируемое процессором. И опять же, общее правило, больше ядер приводит к более высокой температуре.
Из-за этого дополнительного тепла, производители должны добавить лучшие радиаторы или другие решения для охлаждения.
Цена
Больше ядер не всегда выше цены. Как мы уже говорили ранее, в игру вступают тактовая частота, архитектурные версии и другие соображения.
Но если все остальные факторы одинаковы, тогда больше ядер будет получать более высокую цену.
Все о программном обеспечении
Вот маленький секрет, который производители процессоров не хотят, чтобы вы знали. Речь идет не о том, сколько ядер вы используете, а о том, какое программное обеспечение вы используете на них.
Программы должны быть специально разработаны, чтобы использовать преимущества нескольких процессоров. Такое «многопоточное программное обеспечение» не так распространено, как вы думаете.
Важно отметить, что даже если это многопоточная программа, также важно то, для чего она используется. Например, веб-браузер Google Chrome поддерживает несколько процессов, а также программное обеспечение для редактирования видео Adobe Premier Pro.
Adobe Premier Pro предлагает различные ядра для работы над различными аспектами вашего редактирования. Учитывая многие слои, связанные с редактированием видео, это имеет смысл, так как каждое ядро может работать над отдельной задачей.
Аналогично, Google Chrome предлагает разным ядрам работать на разных вкладках. Но в этом и заключается проблема. После того как вы откроете веб-страницу на вкладке, она обычно статична после этого. Нет необходимости в дальнейшей обработке; остальная часть работы заключается в сохранении страницы в ОЗУ. Это означает, что даже если ядро можно использовать для закладки фона, в этом нет никакой необходимости.
Этот пример Google Chrome представляет собой иллюстрацию того, как даже многопоточное программное обеспечение может не дать вам большой реальный прирост производительности.
Два ядра не удваивают скорость
Итак, допустим, у вас есть правильное программное обеспечение, и все ваше другое оборудование одинаково. Будет ли четырехъядерный процессор в два раза быстрее, чем двухъядерный процессор? Нет.
В действительности задачи разбиваются последовательно (что делает большинство многопоточных программ) или случайным образом. Например, скажем, вам нужно выполнить три задачи, чтобы закончить действие, и у вас есть пять таких действий. Программное обеспечение сообщает ядру 1 решить задачу 1, в то время как ядро 2 решает вторую, ядро 3 третью; между тем, ядро 4 простаивает.
Если третья задача самая сложная и длинная, тогда было бы разумно, чтобы программное обеспечение разделило третью задачу между ядрами 3 и 4. Но это не то, что она делает. Вместо этого, хотя ядро 1 и 2 выполнят задачу быстрее, действие должно будет дождаться завершения ядра 3, а затем вычислить результаты ядер 1, 2 и 3 вместе.
Все это окольный способ сказать, что программное обеспечение, как и сегодня, не оптимизировано, чтобы в полной мере использовать преимущества нескольких ядер. И удвоение ядер не равно удвоению скорости.
Где больше ядер реально помогут?
Теперь, когда вы знаете, что делают ядра и их ограничения в повышении производительности, вы должны спросить себя: «Нужно ли мне больше ядер?» Ну, это зависит от того, что вы планируете с ними делать.
Игровой компьютер
Если вы часто играете в компьютерные игры, то больше ядер на вашем ПК несомненно вам пригодятся. Подавляющее большинство новых популярных игр от крупных студий поддерживают многопоточную архитектуру. Видеоигры по-прежнему в значительной степени зависят от того, какая видеокарта у вас стоит, но многоядерный процессор тоже помогает.
Редактирование видео или аудио
Для любого профессионала, который работает с видео или аудиопрограммами, больше ядер будет полезно. Большинство популярных аудио- и видеомонтажных инструментов используют многопоточную обработку.
Фотошоп и дизайн
Если вы дизайнер, то более высокая тактовая частота и больше кэш-памяти процессора будут увеличиваться скорость лучше, чем больше ядер. Даже самое популярное программное обеспечение для проектирования, Adobe Photoshop, в значительной степени поддерживает однопоточные или слегка поточные процессы. Множество ядер не будет значительным стимулом для этого.
Более быстрый веб-просмотр
Как мы уже говорили, наличие большего количества ядер не означает более быстрый просмотр веб-страниц. В то время как все современные браузеры поддерживают архитектуру многопроцессорных процессов, ядра помогут только в том случае, если ваши фоновые вкладки являются сайтами, для которых требуется большая вычислительная мощность.
Офисные задачи
Все основные приложения Office однопоточные, поэтому четырехъядерный процессор не будет увеличивать скорость.
Нужно ли вам больше ядер?
В целом, четырехъядерный процессор будет работать быстрее, чем двухъядерный процессор для общих вычислений. Каждая программа, которую вы открываете, будет работать на своем собственном ядре, поэтому, если задачи будут разделены, скорости будут лучше. Если вы используете много программ одновременно, часто переключайтесь между ними и назначаете им свои собственные задачи, выбирайте процессор с большим количеством ядер.