пятница, 20 июля 2012 г.

Прогресс или застой в ИТ индустрии? Часть I – Процессоры.


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

Домультимедийная эпоха
Наверное у каждого на слуху такие слова, как Pentium, Athlon, Phenom, Core – это названия современных процессоров, но они появились не сразу. Вначале 80-х Intel создала довольно успешный процессор 80286, ни о каких пентиумах тогда ещё не знали, он был 16 битным т.е. о 64 битах тоже никто не мечтал.

 Потом появились 80386 и 80486, прогресс шел семимильными шагами. За эти несколько поколений процессор: увеличил разрядность в два раза - до 32 бит, стал поддерживать многозадачность, кэш первого уровня и FPU (мат. сопроцессор) перебрались в кристалл процессора (да-да! когда-то они были на материнской плате, а не в процессоре!). Практически за одно десятилетие частота процессора выросла в 20 раз, количество транзисторов выросло с 134000 до 1,6млн, тех процесс уменьшился с 1500нм до 600нм. Это очень впечатляющий прогресс, практически во всех направления произведены улучшения, производительность в несколько десятков раз выросла. Несмотря на это процессоры не могли дать плавное видео высокой четкости или игры с качественной 3D графикой.

Эпоха гигагерц
Производители процессоров понимали, что компьютер должен стать центром развлечений, и основную роль в этом отводили процессорам. Тогда началась раскрутка процессоров, Intel, чтобы не пугать покупателей страшными цифрами вроде 80486DX4, придумала название следующему процессору Pentium. С помощью этого процессора Intel хотела предложить небывалую до этого производительность.
Pentium 233 MMX
Но уже в развитии процессоров начинают появляться первые проблемы – Intel пришлось придумывать множители, чтобы частота процессора росла независимо от частоты системной шины, т.к. её не получалось увеличивать такими же темпами.
На этом этапе развития был бурный рост частоты процессора от каких-то 60МГц до 3800МГц, это больше чем в 60 раз. Выпустив в 2004году Pentium 4 570 с базовой частотой в 3,8ГГц, Intel надолго поставила рекорд по частоте, и только спустя 8 лет AMD смогла его побить со своими процессорами FX, базовая частота у которых была выше 4ГГц.  Конечно, гонка гигагерц началась не сразу, и не все в ней участвовали до конца.
Pentium 4
В начале Intel наращивала не только частоту – в первом пентиуме появились мультимедийные расширения команд MMX, позволяющие повышать производительность системы. Также в первых пентиумах началась миграция кэша второго уровня на кристалл процессора. В дальнейшем кэш второго уровня совершенствовался: снижал задержки и научился работать на частоте процессора. Расширения команд тоже множились, появились SSE, SSE2, SSE3, 3DNow и прочее. Они способствовали улучшению производительности, но для этого необходимо было переписывать старые программы. Поэтому основном упор делался на частоту процессора, т.к. она влияла на скорость выполнения любых программ.
Но есть ещё один фактор влияющий на скорость выполнения - это количество выполняемых команд за такт. На частоте 1 ГГц появились проблемы дальнейшего наращивания частоты, и надо было решать, что делать дальше  – Intel избрала путь увеличения частот, а AMD пошла другим путем. Так на свет появились Pentium 4 и Athlon XP

AMD Athlon XP 2200+
Пентиумы способны были работать на частотах выше 3ГГц, при этом в 2005 году Intel готова была выпустить процессоры на новом ядре Tejas, который был способен работать на частотах до 9-10ГГц. Но что-то пошло не так, выпуск процессоров постоянно откладывался, а потом был и вовсе отменен. AMD, наоборот, сделала ставку на количество выполняемых команд за такт, и не прогадала: сначала Athlon XP с меньшей частотой опережал Pentium 4, потом эстафету взял на себя Athlon 64. Что характерно, AMD первой увеличила разрядность своих процессоров, теперь они стали 64 разрядными и могли адресовать больше 4 гигабайт памяти, также она первой смогла встроить в процессор контроллер памяти и разработать очень эффективную системную шину Hyper Transport. К счастью Intel поняла свои ошибки и не стала дальше гнаться за гигагерцами, а начала тоже улучшать по всем направлениям свой процессор.

Многопоточная эпоха
Intel осознала, что с одной только частотой конкурента не победить, и придумала Hyper Threading. Эта технология позволяла из одного ядра процессора делать два виртуальных, с этого времени гонка гигагерц перешла в гонку потоков и ядер. Потом обе компании стали на одной подложке делать два реальных процессора. А спустя ещё время случилось чудо: Intel отказалась от Pentium и разработала “новую” архитектуру на остатках прошлых наработок и теперь новые процессоры стали называться Core.
Intel Core 2 DUO 6600 – очень популярный процессор для своего времени
К сожалению AMD на то время ничем не смогла отреагировать полноценно и выпустила Phenom, который в основном отличался только наличием кэша третьего уровня. За это время Intel успела догнать и перегнать конкурента по всем направлениям: появился кэш третьего уровня, эффективный встроенный контроллер памяти, быстрая системная шина QPI и поддержка 12 потоков. В серверном сегменте существуют процессоры с ещё большим количеством ядер и потоков. Многопточность это хорошо, но она не может ускорить выполнение старой программы если она выполняется в одном потоке.

Настоящее время
Вот мы добрались и до нынешнего времени, просмотрев всю историю, кажется, что прогресс невозможно остановить, но так ли это? Не в тупике ли мы оказались? Если взять современные процессоры и посмотреть, как они развиваются, то становится страшно.
Что мы получили за последний год или даже два? Ivy Bridge? Он не принес ничего нового по сравнению с предыдущим поколением: частоты остались прежними, разгонный потенциал даже похуже чем у предшественника, нагрев такой же, производительность на такт такая же.
Может AMD что-то сделала? Bulldozer? Единственное, что он дал это высокий частотный потенциал,  есть серийные процессоры со штатной частотой 4,2ГГц. 

Тот самый FX-4170 с частотой 4,2ГГц
Но при этом архитектура оказалась слабее своего предшественника в лице Phenom II, который его обгонял и в однопоточных задачах и в многопоточных (если сравнивать FX-8xxx и Phenom II x6).

А что вообще изменилось за последние годы?
  • Увеличение разрядности? В 80-х она выросла с 16 до 32, в 2000-х она выросла уже до 64. Может сейчас процессоры 128 разрядные? Нет, они всё также 64 битные, да и не нужно им быть 128 битными: до предела 64 разрядной адресации долго, для расчетов выше 64 бит есть команды расширений SSE и AVX, которые не только со 128 битными значениями работают, но даже и с 256 битными. Получается процессоры по разрядности оказались в тупике.
  • Рост частоты процессора? В 80-х частота выросла в 15 раз, в 90-х начале 2000-х в 60 раз, с середины 2000-х в 0 раз. Получается, что около 10 лет, роста по частоте практически нет. Возможно это физический предел используемых материалов и дальше частота уже не вырастет? AMD обещала, что новые процессоры будут работать на частотах выше 4ГГц, может быть хотя бы в следующем году мы увидим небывалый рост частоты.
  • Рост производительности на такт? И тут отсутствует прогресс. Архитектура от AMD, называемая Bulldozer, оказалась даже хуже предшественника, и дала отрицательный рост. Архитектура от Intel Sandy Bridge дала очень мизерный прирост, а Ivy Bridge вообще не показала прироста. Неужели все способы увеличения производительности на такт исчерпаны?
  • Рост количества ядер? В не серверном секторе шести-ядерные процессоры появились более двух лет назад, и в ближайшее время не ожидается роста ядер (псевдо-ядра Bulldozer от AMD не в счет). Да и рост количества ядер влияет на производительность только хорошо распараллеливаемых задач, т.е. опять получается тупик.
  • Снижение энергопотребления и тепловыделения? Техпроцесс уменьшается, может процессоры стали холоднее и меньше потреблять энергии? Если раньше у Pentium 200 максимальная рассеиваемая энергия (тепловыделение) составляло 15,5вт, то теперь какой-нибудь Phenom II x4 без проблем имеет тепловыделение 125вт!

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

Процессор Pentium для socket 7 и его кулер
Охлаждение для Pentium 3 и Athlon
Охлаждение для socket 775
Современное жаропонижающее средство - кулер Noctua
Сейчас если на процессоре стоит большой кусок металла весом в килограмм, то это уже никого не удивит, а раньше только маленький радиатор и никаких громадных 120мм вентиляторов. Но несмотря на такие монстры, кто-то пытается изобрести новые типы радиаторов, такой вот ёжик был показан на Computex, сверху на него устанавливается вентилятор.
Уменьшение техпроцесса, должно дать уменьшение нагрева и увеличение частоты, но толку от этого всё меньше и меньше. Не забывайте, что кристалл процессора становится всё меньше и одно и тоже тепло нужно отводить от меньшей площади, а это гораздо сложнее, чем отвести, например 125вт тепла от метровой площади.
В итоге получается, что по всем направлениям процессорная индустрия испытывает большие проблемы. Остается только одна надежда, что новые материалы и технологии позволят увеличить частоты или уменьшить тепловыделение. Один из таких материалов - это графен с помощью которого IBM в этом году показывала микросхему работающую на 10ГГц, а также отдельные транзисторы работающие на частоте выше 100ГГц.
Конечно есть проблемы и в видеокартах и в памяти и в жестких дисках и т.д., но об этом я расскажу позднее. Также не стоит забывать, что процессоры бывают в мобильных устройствах, а там дела обстоят получше, но и об этом я расскажу в следующих статьях.

Комментариев нет:

Отправить комментарий