Многоядерные процессоры: технология будущего сегодня
Здравствуйте!
Почему современные процессоры имеют два или даже четыре ядра? Действительно ли так необходима многоядерность для высокой производительности? В чем с пользовательской точки зрения польза от многоядерности? Как сегодня обстоят дела с полнотой использования этой технологии? Сегодня мы говорим о многоядерных процессорах и постараемся ответить на вопросы пользователей об этой технологии. Базой для нашего разговора станет двухъядерный процессор, но большинство утверждений можно будет распространить и на четырехъядерный.
Что такое двухъядерный процессор?
Берем два процессора и запихиваем их в один корпус - вуаля, готов на Core2Duo. Двухъядерный процессор - это два процессора на одном кристалле кремния. Да, они будут поменьше частотой (засчет того, что им приходится тесниться на небольшой площади), но за счет уменьшения размеров вычислительных элементов можно добиться достаточно высоких частот даже в таком случае.
Для тех, кто ничего не понял, приведу "бытовое" сравнение: представим стиральную машину. В неё можно засунуть одну корзину взрослой одежды. Но если немного облегчить корзину (т.е. понижение частот за счет уменьшения количества вычислительных элементов) и использовать детскую одежду (т.е. более строгий тех. процесс - более маленькие вычислительные элементы), то вполне можно запихнуть две корзины корзины одежды.
На таком принципе строится теория существования многоядерных систем.
В чем польза многоядерности?
Многоядерные CPU выигрывают перед одноядерными потому, что часто нам приходится делать несколько различных операций одновременно. Например, мы просматривает видео. Мы можем заставить наш процессор раскодировать сильно пожатое видео и накладывать спецэффекты, однако процессор вообще эффективнее работает с однотипной работой, поэтому возможно снижение скорости видео. Если у нас многоядерный процессор, то мы можем первое ядро задействовать только на раскодировку, а второй - только на наложение видеофильтров. В таком случае процессоры будут заняты однообразной работой, которую они выполняют быстрее. Другой пример: у нас система с большим количеством запущенных программ (антивирус, плеер и т.п.) и нам понадобилось открыть большой документ или архив. На одноядерной системе возможны прерывания проигрывания музыки и вообще небольшая производительность открытия архива. Многоядерная же система предоставляет возможность полностью нагрузить одно ядро определенной задачей (открытие, а что более вероятно - распаковка), а другое ядро использовать для системы и запущенных программ.
В общем, многоядерные процессоры намного эффективнее одноядерных, особенно тогда, когда необходим запуск нескольких задач параллельно.
Что нужно для работы многоядерной системы оптимальным образом?
Прежде всего, многоядерный процессор и поддерживающая его материнская плата. Однако, пользователю приходится сталкиваться с тем, что его операционная система может не поддерживать многоядерность или работать неэффективно. На сегодняшний день единственной оптимизированной под многоядерные процессоры операционной системой остается Windows Vista. Да, ХР тоже может работать с ними, НО - она должна работать только с одно- и двуъядерными (согласно лицензионному соглашению) процессорами. Core2Quad совместно с этой системой использовать нельзя. Windows Vista же изначально оптимизировалась под многоядерные процессоры, поэтому только она способна работать с ними эффективно.
Ну и нужны программы для работы с ними. Профессиональные "тяжелые" программы сегодня уже умеют работать с многоядерными процессорами, а мелкими программами Vista управляет так, чтобы они использовали наименее нагруженные ядра. Игровая индустрия не отстает - новая версия движка Source (а на нем сделана добрая сотня игр) полностью поддерживает многоядерность и позволяет работать с такими процессорами самым эффективным образом.
Будущее за многоядерностью.
Сегодня только самые дешевые процессоры остаются одноядерными. Будущее однозначно за многоядерностью. Даже процессоры средней ценовой категории могут ровняться с топовыми моделями прошлого года, а цены на такие процессоры назвать высокими никак нельзя. Поэтому, выбирая процессор, лучше взять многоядерный, чем одноядерный, даже если частоты первого будут уступать частоте второго.