Thursday, October 17, 2013

Почему не растет частота ?

Inline images 1

Многие, наверное, помнят, какими темпами увеличивалась тактовая частота микропроцессора в 90-х и начале 2000-х годов. Десятки мегагерц стремительно переросли в сотни, сотни мегагерц почти мгновенно сменились цельным гигагерцем, затем гигагерцем с долями, двумя гигагерцами и т.д.
Но последние несколько лет частота уже не растет так быстро. От десятка гигагерц мы сейчас почти так же далеки, как и 5 лет назад. Так куда же исчез прежний темп? Что препятствует, как и раньше, «задирать» частоту вверх?

Текст ниже ориентирован на людей, не знакомых или слабо знакомых с архитектурой микропроцессора. Для подкованных читателей рекомендуются соответствующие посты yurav


«Горячие» гигагерцы

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

Это мнение поддерживается множеством людей, имеющих какое-то отношение к компьютерной технике. К тому же подтверждается успехами оверклокеров, разгоняющих процессоры в два и более раз. Главное – поставить систему охлаждения помощнее.

Хотя упомянутый «рубильник» и связанная с ним проблема тепловыделения действительно существуют, — это только часть битвы за гигагерцы…

Главный тормоз

У различных микропроцессорных архитектур могут быть различные сложности с «разгоном». Для определенности, мы здесь будем говорить о суперскалярных архитектурах. К таковым относится, например, архитектура x86 – самая популярная среди разработок компании Интел.

Чтобы понять проблемы, связанные с подъемом тактовой частоты, необходимо сначала определить, во что упирается ее рост. На разных уровнях рассмотрения архитектуры можно выделить различные наборы параметров, ограничивающих частоту. Однако оказывается, что существует такой уровень, на котором есть только один такой параметр. То есть можно выделить всего один тормоз, который надо дополнительно приотпускать каждый раз, когда охота разогнаться.

Конвейер

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

Read more: Habrahabr.ru
QR: Inline images 2