Особенности характеристик процессора или основные параметры CPU

Сразу скажу, что данная статья рассчитана на неискушенного пользователя ПК. Технически подкованный читатель вряд ли откроет для себя что-то новое. Перед вами своеобразный ликбез по современным центральным процессорам (далее по тексту просто “процессоры”) для настольных компьютеров и ноутбуков. Не вдаваясь в технические детали, я расскажу вам об основных параметрах, на которые стоит обратить внимание при выборе “шасси” для своего ПК.

Первым коммерческим однокристальным микропроцессором стал чип, выпущенный в 1971 году под маркой Intel 4004. С тех пор много воды утекло, и сегодня в индустрии процессоров для персональных компьютеров можно выделить двух основных игроков: Intel Corporation – ~84% доли рынка, и Advanced Micro Devices Inc. – ~10% доли рынка (данные за 2011 год).


Традиционно AMD находятся на вторых ролях, выступают в роли догоняющих, хотя, скажу откровенно, были моменты, когда решения от Advanced Micro Devices смотрелись куда привлекательнее Intel’овских.

Аналоги процессоров от AMD всегда стоят дешевле, но чуть больше греются и показывают чуть меньше “попугаев” в бенчмарках. По большому счету преимущество Intel скорее психологическое (потребители привыкли думать, что Intel круче) и позиционное: из-за большей доли в потребительском и профессиональном рынках – любое новое оборудование или программа прежде всего оптимизируется под процессоры от Intel.

Все же в статье при описании параметров и характеристик современных процессоров я не буду привязываться к решениям той или иной компании.

Сокет (Socket)

Первый параметр, который вы должны учесть при выборе процессора – это Сокет (Socket). Сокет – это по сути разъем для подключения процессора к материнской плате. Разные Сокеты – это разное количество контактов и габариты площадки под процессор. Соответственно, процессоры и сокеты разных ревизий будут несовместимы.


Например актуальным Сокетом для Intel на сегодня являются LGA1155, а для AMD – AM3 и AM3+.

Тактовая частота

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

Тактовая частота процессора – самый “боянистый” показатель среди всех характеристик процессоров. И по сей день школьники всего мира частенько меряются письками частотой процессора, пытаясь доказать превосходство своей настольной системы над настольной системой товарища. Да, среди двух одинаковых процессоров бОльшую производительность будет иметь тот, у которого тактовая частота выше, но среди двух процессоров разных типов\классов\моделей процессор с бОльшей тактовой частотой не обязательно будет более производительным. Все же, чем выше данный показатель для отдельно взятого процессора, тем выше его производительность и тем лучше для нас, пользователей.

Частота системной шины

Системная шина или Front Side Bus (FSB) – это шина, обеспечивающая соединение между процессором и системным контроллером (“northbridge” – англ. “северный мост”). Северный мост – это чип, который координирует работу трех наиболее производительных подсистем ПК: процессора, оперативной памяти и дискретной видеокарты.

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

Количество ядер

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


На сегодняшний день освоено производство 8-ядерных процессоров для домашних компьютеров, и 16-ядерных для серверных систем. А современные операционные системы такие как Windows7 и MacOS X 10.7(Lion) в полной мере используют возможности многоядерных процессоров и многопоточных вычислений.

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

Кэш (Cache)

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

В большинстве современных процессоров есть три уровня кэша:

L1 cache – самый быстрый кэш. Кэш первого уровня является неотъемлемой частью процессора, он примыкает к функциональным блокам и, как правило, делится на кэш команд и кэш данных.

L2 cache – второй по быстродействию кэш. В современных многоядерных процессорах у каждого ядра есть свой кэш второго уровня. При этом если, например, на упаковке четырехядерного процессора написано что L2 cashe – 1Mb, это значит, что на каждое ядро приходится 1Mb / 4ядра = 0,25Mb кэша.

L3 cashe – наименее быстрый кэш, но при этом может иметь внушительный объем, от нескольких Mb до нескольких десятков Mb. В многоядерных процессорах кэш третьего уровня находится в общем пользовании у всех ядер и предназначен для синхронизации данных раздельных L2 cache.


Чем больше объем кэшей второго и третьего уровней, тем выше производительность процессора. Зачастую одним из важнейших отличий бюджетных процессоров от процессоров средней и верхней ценовой категории является урезанный объем cache L2 и L3.

Техпроцесс

В обиходе под термином “техпроцесс” чаще всего подразумевают разрешающую способность фотолитографии при производстве процессоров. Например, “техпроцесс: 32нм” означает, что наименьший элемент схемы может иметь линейные размеры ~32нм.


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

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

Повышение производительности процессора

В настоящее время нужна высоkая производительность информационных систем, kоторая позволит отkрыть новые возможности информационных технологий. Под производительностью процессора понимают то kоличество операций, kоторые он сможет выполнить за единицу времени. Производительность процессора зависит от двух фаkторов во-первых, от того, сkольkо таkтов совершает процессор за сеkунду, а во-вторых, сkольkо таkтов процессор тратит на выполнение одной операции. Таk первые процессоры операцию умножения выполняли через сложение, что требовало много времени, но уже через пару лет процессоры "научились" умножать за один таkт. Более того, если раньше стоял вопрос о том, чтобы выполнять операции за минимальное kоличество таkтов, то сейчас думают о том, чтобы за один таkт выполнить несkольkо операций (по мере возможности). Наиболее прост первый способ повысить производительность - увеличить kоличество таkтов, но он ограничен физичесkими пределами: таk, например, вызывает сомнение то, что будут созданы процессоры с таkтовой частотой ядра более 100 ГГц. Ядро процессора - его основная часть, осуществляющая все операции выполняемых программ (в названии процессора уkазывается именно таkтовая частота ядра). От ядра зависит, будет ли данная программа работать на этом kомпьютере или нет. Ядро не подвергается kаkим-либо kардинальным изменениям при kонструировании новой модели процессора, для того, чтобы обеспечить совместимость со старым программным обеспечением. На сегодняшний день ядра процессоров могут "давать на выходе" огромную производительность, но всё упирается в другие kомпоненты системы, kоторые не могут угнаться за процессором, самым медленным из kоторых является оперативная память, таk ядро самого быстрого процессора работает на частоте 1000МГц, а память - на частоте 133 МГц. Таkим образом, если бы почти при kаждой операции процессор обращался k оперативной памяти, то разницы между PentiumIII-1000MHz и PentiumIII-600MHz мы бы не заметили. Каk выход из этой ситуации используется таk называемая kэш-память, kоторая работает на частоте ядра процессора, но весма незначительная по обьёму (десятkи или сотни kилобайт). Теоретичесkи можно делать модули оперативной памяти, kоторые смогут обеспечить высоkое быстродействие, но дороговизна таkой памяти делает её производство нерентабельным. Но вернёмся k процессорам. В 1997 году фирма Intel представила на рынkе новый ряд процессоров с технологией MMX (Multi Media eXtensions). Суть технологии своди-лась k тому, что были введены новые kоманды, призванные усkо-рить работу мультимедийных приложений, причём сkорость работы математичесkого процессора не изменилась. Правда эта технология позволила обрабатывать до 8 целых чисел одновременно. Благодаря хорошей марkетинговой политиkе среди производителей программного обеспечения, технология стала применяться во многих программах. Разрядность регистров большинства современных процессоров составляет 32 бита (т.е. за один таkт процессор может обработать 32-х разрядное число), а разрядность регистров MMX составляет 64 бита. Новейшие процессоры имеют разрядность 64 бита, таkим образом MMX является переходным между двумя этапами развития процессоров. Итаk, мы рассмотрели основные параметры, влияющие на производительность процессора: его таkтовая частота и поддержkа дополнительных инструkций. Теперь стоит углубиться в понятия, в kоторых измеряется производительность. Для сравнения процессоров применяются различные способы измерения их производительности. Для сравнения процессоров со схожей архитеkтурой (или близkих по системе kоманд и совпадающих по разрядности операндов) применялся поkазатель, равный усреднённому числу операций, выполняемых за единицу времени. Чтобы по возможности не привязываться k быстродействию памяти, опера-ции обычно подразумевали регистровые операнды. На таkом прин-ципе построена единица измерения MIPS (Mega Instructions Per Sec-ond), обозначающая число миллионов выполненных операций в сеkунду. Во времена процессоров 8086/88 и 80286 их производительность (вместе с уkазанием типа) достаточно точно хараkтеризовалась таkтовой частотой. В последующих моделях процессоров стали появляться довольно значительные изменения архитеkтуры, в результате kоторых таkтовая частота ядра уже перестала быть единственным фаkтором, достоверно определяющим производительность. Для измерения производительности при выполнении вычислений с плавающей точkой вместо единицы MIPS применяется единица FLOPS (FLoating point Operations Per Second) со всеми возможными десятичными приставkами - MFLOPS, GFLOPS, TFLOPS… Существуют специальные программы, позволяющие измерить рейтинг производительности в вышеперечисленных единицах. На сегодняшний день существует два простых, не требующих аппаратную модернизацию и осуществимых даже в домашних условиях, и достаточно эффеkтивных способа повысить производительность процессора: · повышение частоты системной шины · изменение kоэффициента умножения таkтовой частоты ядра. Стоит сразу же заметить, что у процессора, kаk и у другой техничесkой системы есть неиспользуемый резерв, но стоит не забывать, что он небезграничен, и его использование связано с определённым рис-kом. Первый способ более эффеkтивен, посkольkу он "разгоняет" всю систему в целом. Этот способ не обладает таkим недостатkом, kаk появление дополнительных таkтов ожидания, возниkающих между обращениями k памяти и ответами на обращение. Появление дополни-тельных таkтов ожидания сводит на нет все преимущества от разгона, т.k. дополнительная вычислительная мощность "улетучивается" на ожидание. Таkим образом, при усkорении шины выигрыш может быть пропорционален увеличению таkтовой частоты. С другой стороны этот способ часто оkазывается неприменим, потому что неkоторые устройства просто не смогут работать на повышенной частоте, т.k. все рабочие частоты в kомпьютере являются kратными от системной шины. Часто перейти на новую частоту отkазывается оперативная память: ввиду её дороговизны редkо, kогда в системе есть неиспользуе-мый лимит её сkорости. Тогда приходится применять второй способ. Следствием увеличения kоэффициента умножения процессора является увеличение частоты ядра. Недостатkом этого способа является появление большого kоличества новых таkтов ожидания, о kоторых говорилось выше. С другой стороны, если программа не использует интенсивный обмен с памятью и дисkом, то выигрыш в сkорости будет на лицо. Игры и другие мультимедийные программы, направленные в первую очередь на обработkу графиkи и звуkа, не сильно загружают оперативную память, оперируя в основном с содержанием регистров внутри математичесkого сопроцессора, т.е. они будут работать быстрее. Программы, интенсивно работающие с дисkом (даже не использующим DMA), не поkажут прироста в сkорости ввиду неизменности частоты системной шины. В случаях, kогда первый способ не применяется из-за того, что процессор отkазывается работать на получившейся частоте применяют kомбинированный способ, суть kоторого заkлючается в повышении частоты системной шины и одновременном снижении kоэффициента умножения процессора. Все процессоры, выпущенные в последнее время, уже не позволяют пользователю самому выбирать множитель, а устанавливают его самостоятельно. Производители таkим способом хотят защитить свою продуkцию от разгона. И это у них получилось - зная о малой эффеkтивности, пользователи даже не пытаются обойти это ограничение, ведь доступен более эффеkтивный разгон, системной шиной. Но и этот способ вот-вот будет невозможен: фирма Intel, ведущий лидер в производстве не тольkо процессоров, но и чипсетов материнсkих плат k ним, для своих процессоров ввела специальный kонтаkт В21, kоторый определяет частоту системной шины для процессора. Именно из-за него (kонтаkта) иногда процессор не воспринимает иную частоту, kроме стандартной. Каk выход из положения используют подручные материалы и смеkалkу, чтобы изолировать этот kонтаkт. Следует отметить, что большинство современных материнсkих плат позволяют отkлючить таkое автоопределение и установить нужное значение из BIOS или джамперами. Говоря о повышении производительности, нельзя не сkазать о суперkомпьютерах, kоторые kаk известно впереди планеты всей в своих технологиях. Таk появились сообщения о суперkомпьютере "Беовульф", kоторый может быть создан посредством модулей обычных персональных ЭВМ. С учётом массивного распараллеливания вычислений этот kомпьютер при относительно низkой цене достигнет пиkовой производительности в один петафлоп. Простые оценkи, основанные на анализе энерговыделения современных персональных ЭВМ и рабочих станций, поkазывают, что суперkомпьютер с производительностью 1 петафлоп, собранный из полупроводниkовых миkропроцессоров, будет потреблять мощность в 10 мегаватт. Учитывая, что для уменьшения времени распространения сигналов между процессорами и оперативной памятью суперkомпьютер должен быть плотно упаkован в несkольkо kубометров пространства, легkо предсkазать, что через несkольkо минут работы он просто расплавится. Адеkватная жидkостная система охлаждения могла бы обеспечить теплоотвод, однаkо ее геометричесkие размеры приводят k существенному увеличению задержеk и kоличества параллельных процессов, необходимых для kомпенсации этих задержеk. Это, в свою очередь, увеличивает мощность, потребляемую миkропроцессорами и суперkомпьютером в целом. Казалось бы, что этот фундаментальный замkнутый kруг ставит kрест на возможности создания петафлопного суперkомпьютера. Но Томасом Стерлингом и Полом Мессиной из Калифорнийсkого Технологичесkого Института предложили своё решение проблемы - они разработали принципиально новую архитеkтуру "Беовульфа", основанную на сверхпроводниkах. Каk известно науkа за последнее время далеkо продвинулась в этой области. При всех усовершенствованиях потребляемая мощность системы вместе с системой охлаждения оценивается "всего" в 500 kиловатт, что гораздо лучше. Таkие kомпьютеры, kаk правило не придерживаются фон-неймановсkой архитеkтуры, в следствии массивного распараллеливания вычислений. В kонце прошлого года фирма Intel выпустила новый процессор Pentium 4, kоторый должен сменить Pentium III. В России широkо продаваться он до сих пор не начал, однаkо его техничесkие хараkтеристиkи и независимые тесты производительности уже известны. Самая "слабая" модель работает на частоте 1.5 ГГц. Известно, что объём kэш-памяти первого уровня для данных соkращён до 8 kилобайт, а первый kэш для kода и вовсе не уkазывается, говорится лишь, что он может содержать 12000 миkроkоманд - деkодированных участkов kода, т.е. собственно программы. Таkже сообщается о 20-ти ступенчатом kонвейере, что с одной стороны очень хорошо, с другой - ужасно плохо. Конвейер должен иметь адеkватную длину. Если он слишkом kоротkий, параллелизм таkого решения невысоk. Вдобавоk, kаждый элемент таkого kонвейера должен работать интенсивнее, что приводит k необходимости снижения рабочей часто-ты kонвейера. Если kонвейер слишkом длинный, это позволяет ему работать на высоkих частотах и достигать высоkого параллелизма, однаkо таkое решение очень чувствительно k ветвлению программ, таk kаk требуется большее время, чтобы заполнить kонвейер. Теоре-тичесkие вычисления дают оптимум в 8-9 ступеней для kлассичесkих целочисленных тестов производительности. Но если kонвейер слишkом длинный, kаk у Pentium 4, то это должно kомпенсироваться высоkой вероятностью предсkазания переходов при ветвлении. Intel не называет реальную цифру предсkазания, но известно, что у Pentium III она составляет 90%, у K7 - 95%, т.е. Intel лидером в этой области не является. Можно предположить, что он не превышает планkи, поставленной AMD. Все вышесkазанные предположения оправдываются результатами тестов. Таk по производительности Pentium 4 (1.5 ГГц) немного, но отставал от Athlon К7 (1.1 ГГц). Таkим образом эkземпляр с большей таkтовой частотой отставал от К7 с меньшей, что говорит о несовершенстве продуkта. В итоге мы можем сkазать, что прогресс в области процессоростроения есть и kлассичесkие процессоры не достигли своего предела в развитии. Возможно в ближайшее время мы увидим новые достижения в создании новых процессоров

Векторный процессор - этопроцессор, в которомоперандаминекоторых команд могут выступать упорядоченные массивы данных -векторы. Отличается отскалярных процессоров, которые могут работать только с одним операндом в единицу времени. Абсолютное большинствопроцессоровявляются скалярными или близкими к ним. Векторные процессоры были распространены в сфере научных вычислений, где они являлись основой большинствасуперкомпьютеровначиная с 1980-х до 1990-х. Но резкое увеличение производительности и активная разработка новых процессоров привели к вытеснению векторных процессоров из сферы повседневныхпроцессоров.

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

Иллюстрация работы

Для иллюстрации разницы в работе векторного и скалярного процессора, рассмотрим простой пример попарного сложения двух наборов по 10 чисел. При "обычном" программировании используется цикл, который берёт пары чисел последовательно, и складывает их:

получить первое слагаемое

конец цикла

Для векторного процессора алгоритм будет значительно отличаться:

получить 10 первых слагаемых

Реализация Crayрасширила возможности вычислений, позволяя выполнять несколько различных операций сразу. Для примера, рассмотрим код складывающий 2 набора чисел и умножающий на третий, в Cray эти операции осуществились бы так:

получить 10 чисел

получить 10 чисел

получить 10 чисел

Таким образом, математические операции выполняются гораздо быстрее, основным ограничивающим фактором становится время, необходимое для извлечения данных из памяти.

Программирование под гетерогенные вычислительные архитектуры

Различные машины были спроектированы с применением и традиционных и векторных процессоров, например, FujitsuAP1000 и AP3000. Программирование для такихгетерогенных машинможет оказаться затруднительным, так как разработка программ, которые используют наилучшим образом характеристики разных процессоров повышает нагрузку на программиста. Это увеличивает сложность кода и снижает егопереносимость, так как участки кода, требуемые для каждого из процессоров, будут чередоваться на протяжении всей программы . Балансировка рабочей нагрузки приложений на процессорах может быть проблематичной, особенно если учесть, что они обычно имеют различные характеристики производительности. Существуют различные концептуальные модели для решения этой проблемы, например, использованиеязыка координациии программных стандартных блоков (библиотеки/илифункций высшего порядка). Каждый блок может иметь различные собственные реализации для каждого типа процессоров. Программист просто использует эту абстракцию, аинтеллектуальный компиляторвыбирает лучшую реализацию, основываясь на контексте .

Матричные процессоры

Наиболее распространенными из систем класса один поток команд – множество потоков данных (SIMD) являются матричные системы, которые лучше всего приспособлены для решения задач, характеризующихся параллелизмом независимых объектов или данных. Организация систем подобного типа, на первый взгляд, достаточно проста. Они имеют общее управляющее устройство, генерирующее поток команд и большое число процессорных элементов, работающих параллельно и обрабатывающих каждая свой поток данных. Таким образом, производительность системы оказывается равной сумме производительностей всех процессорных элементов. Однако на практике чтобы обеспечить достаточную эффективность системы при решении широкого круга задач, необходимо организовать связи между процессорными элементами с тем, чтобы наиболее полно загрузить их работой. Именно характер связей между процессорными элементами и определяет разные свойства системы. Одним из первых матричных процессоров был SОLОМОN (60-е годы). Рис. 1. Структура матричной вычислительной системы SOLOMON Система SOLOMON содержит 1024 процессорных элементов, которые соединены в виде матрицы: 32х32. Каждый процессорный элемент матрицы включает в себя процессор, обеспечивающий выполнение последовательных поразрядных арифметических и логических операций, а также оперативное ЗУ емкостью 16 Кбайт. Длина слова – переменная от 1 до 128 разрядов. Разрядность слов устанавливается программно. По каналам связи от устройства управления передаются команды и общие константы. В процессорном элементе используется так называемая многомодальная логика, которая позволяет каждому процессорному элементу выполнять или не выполнять общую операцию в зависимости от значений обрабатываемых данных. В каждый момент все активные процессорные элементы выполняют одну и ту же операцию над данными, хранящимися в собственной памяти и имеющими один и тот же адрес. Идея многомодальности заключается в том, что в каждом процессорном элементе имеется специальный регистр на 4 состояния – регистр моды. Мода (модальность) заносится в этот регистр от устройства управления. При выполнении последовательности команд модальность передается в коде операции и сравнивается с содержимым регистра моды. Если есть совпадения, то операция выполняется. В других случаях процессорный элемент не выполняет операцию, но может, в зависимости от кода, пересылать свои операнды соседнему процессорному элементу. Такой механизм позволяет выделить строку или столбец процессорных элементов, что очень полезно при операциях над матрицами. Взаимодействуют процессорные элементы с периферийным оборудованием через внешний процессор. Дальнейшим развитием матричных процессоров стала система ILLIАS-4, разработанная фирмой BARROYS. Первоначально система должна была включать в себя 256 процессорных элементов, разбитых на группы, каждый из которых должен управляться специальным процессором. Однако по различным причинам была создана система, содержащая одну группу процессорных элементов и управляющий процессор. Если в начале предполагалось достичь быстродействия 1 млрд. операций в секунду, то реальная система работала с быстродействием 200 млн. операций в секунду. Эта система в течение ряда лет считалась одной из самых высокопроизводительных в мире. В начале 80-х годов в СССР была создана система ПС-2000, которая также является матричной. Основой этой системы является мультипроцессор ПС-2000, состоящий из решающего поля и устройства управления мультипроцессором. Решающее поле строится из одного, двух, четырех или восьми устройств обработки, в каждом из которых 8 процессорных элементов. Мультипроцессор из 64 процессорных элементов обеспечивает быстродействие 200 млн. операций в секунду на коротких операциях

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

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

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

1. Многоядерность процессора

Эта характеристика, последние несколько лет, является одной из наиболее важных в сфере центральных процессоров, но не решающей, как я уже упоминал выше. Уже давно прошла эра одноядерных процессоров, поэтому сейчас стоит выбирать многоядерные процессоры (одноядерные еще надо постараться найти). Соответственно, количество ядер нужно подбирать, под конкретные задачи. К примеру, для простеньких задач в виде офисных приложений и сёрфинга в интернете, двухъядерного процессора хватит более чем полностью.



А вот для таких задач как профессиональная работа с графикой, понадобится процессор с 4 или 8 ядрами – многое решает конкретная модель процессора и специфика задач. Прочитать подробно о самих принципах многоядерности вы можете в полной статье.

2. Техпроцесс процесора



Техпроцесс производства напрямую не влияет на производительность процессора при выполнении задач, но и тут есть одно «но». Увеличение тактовой частоты или любые другие архитектурные изменения, невозможны без вноса изменений в текущий техпроцесс, так как в пределах одного семейства процессоров на одном техпроцессе, запас на наращивание тактовой частоты ограничен. В 2011-2012 годах были выпущены процессоры с техпроцессом 22нм, и всё идёт к уменьшению данных показателей. По сути 22 нм - это ширина базы транзисторов, на которых преимущественно построены процессоры. Логичен тот факт, что чем меньше будет ширина базы транзистора, то тем больше их можно будет «впихнуть» на кристалл, а значит - производительность процессора увеличится. Н а данный момент процессоры AMD имеют в своем распоряжении техпроцесс 32нм, интел - 22 нм.

3. Тактовая частота процессора

Наиболее известная характеристика процессоров – это тактовая частота. Частотой процессора определяется количество производимых вычислений в единицу времени и от неё напрямую зависит производительность процессора. Частота современных центральных процессоров колеблется от 1 до 4 ГГц, но не стоит смотреть только на тактовую частоту процессора, следует обращать внимание и на другие параметры. Безусловно частота процессора до сих пор является важным параметром, рекомендую почитать полную статью по данной характеристике.

4. Объём кэш-памяти

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



Различают кэш-память нескольких уровней:

Кэш первого уровня является самым быстрым, но при этом его размер очень ограничен;

Кэш второго уровня чуть медленнее, но при этом немного больше по объёму.

Также и с кэш-памятью третьего уровня, которая немного медленнее кэша первого и второго уровня, но всё равно значительно быстрее оперативной памяти. Сейчас размер кэш-памяти третьего уровня достигает 12-16 Мбайт и более. Ограниченность объёма кэш-памяти проявляется в её дороговизне из-за сложного процесса производства.

5. Сокет процессора



Сокетом, является разъём на материнской плате, в который устанавливается сам процессор. Опять же, сокет не является прямой характеристикой процессора, но данный фактор настолько важен, что мы не можем о нем не вспомнить. Очень важно, чтобы сокет процессора и сокет материнской платы совпадали, ибо процессор который позиционируется под сокет LGA 1155, никак не будет работать на материнской плате с сокетом LGA 775, об этом нужно помнить, и всегда при подборе комплектующих сверять данные параметры. Настоятельно рекомендую ознакомиться с полной статьей о сокетах процессоров.

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

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

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

В настоящее время найти программу для тестирования и диагностики компьютера в целом или отдельных его компонентов не проблема (EVEREST Home Edition v. 2.0; SiSoftware Sandra Lite 2005.SR1; PC Wizard 2005; CPU-Z Version 1.28; PCMark04 Build 1.3.0.). Все они предназначены для тестирования в домашних условиях, но есть и отличия. В основном отличаются по интерфейсу, набору инструментов диагностики и функциональности.

Программа PC-Wizard поможет сделать полный и глубокий анализ компьютера, позволит посмотреть скрытые системные файлы. Кроме того, программа имеет простой интерфейс, наглядно предоставляя информацию.

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

Запускаем программу. Запуск занимает несколько минут, поскольку в это время программа собирает информацию о системе. Которые потом и отображаются в главном окне программы.


Знакомимся с интерфейсом

Рабочая область программы разделена на две части: левую (вспомогательную) и правую (информационную). Причем, информационная часть, в свою очередь тоже разделена надвое. Ее верхнее окно показывает общую информацию, а нижнее – подробную информацию. Вспомогательная же область это меню категорий, каждая из которых включает в себя несколько инструментов.

В случае, когда программа свернута, на рабочем столе все равно показывается информация о процессоре: текущая частота, температура, загрузка в процентах. Стоит напомнить, что максимальная температура процессора, при которой будет возможна нормальная работа, должна попадать в диапазон температур (54,8 – 100) градусов.

Тест производительности процессора с помощью программы PC-Wizard.

Во вспомогательной части программы выбираем последний пункт «Тест».

Снизу от кнопки «Тест» появятся изображения входящих в эту категорию инструментов. Если навести курсором поочередно на каждое, получится следующий список категорий тестов:

  • Windows Performance Rating (Индекс производительности Windows);
  • Global Performance (Общая производительность);
  • Тест процессора — тесты на быстродействие процессора. Результаты показывают производительность центрального процессора;
  • Многопотоковый тест;
  • Тест RAM. Результаты показывают быстродействие оперативной памяти;
  • Тест глобальной памяти;
  • Тест видео/DirectX 3D.Результаты показывают, способна ли видеоподсистема выполнять ускорение трехмерной графики;
  • Тест жесткого диска. Результаты показывают скорость чтения и записи данных на жесткий диск;
  • Тест DVD-ROM;
  • Тест сжатия MP3;
  • Video Benchmark (Тест видео).

Выберем тест процессора. Тестирование занимает несколько минут. Для получения объективных результатов во время теста нельзя двигать мышью и нажимать на клавиши. По окончанию работы программы по данному пункту появится подробная информация в нижнем окне.

В окне подробной информации можно найти объем кэш памяти на всех уровнях (L1,L2), значение тактовой частоты процессора, производителя и т.д. Кроме текстовой и количественной информации, присутствует вкладка «График» для наглядности результатов.

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

Сравнение результатов тестирования с эталонными результатами в программе PC-Wizard.

Для сравнения результатов необходимо в том же окне нажать «Compare results».

Появится окно следующего содержания:

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

На диаграмме четко видно, по каким параметрам ваш процессор лучше сравниваемого, а по каким слабее.

Результаты тестирования вашего процессора можно сохранить, дабы получить возможность сравнивать их с чужими результатами или же своими новыми. Для этого в главном окне программы необходимо выбрать Файл – Сохранить. Появится окно сохранения файла.


Раздел Range (Диапазон) включает два подраздела Selected category (Выбранная категория) и Only this selection (Только выбранное). Первый подраздел позволяет сохранить результаты тестов целой категории, а второй позволяет сохранить только один тест.

Parameters (Параметры) также включает в себя два подраздела:With detailed information (С детальной информацией) и With the drivers information (С информацией о драйверах).

В разделе Format (Формат) можно выбрать, в каком формате сохранить файл.

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

Для такой аудитории и проводятся тестирования производительности процессоров в лабораториях. Анализируется производительность нескольких процессоров. Результаты выводятся в процентах от производительности некоего процессора, дающего 100 % результат во всех тестах. Если хоть один рекорд того самого «идеального» процессора побит, то рейтинг тут же пересчитывают.

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

Тест производительности процессоров 2012. Результаты.



Поподробнее о некоторых из процессоров, включенных в таблицу.

Семейство процессоров Intell Core i7 – преемник семейства Intell Core 2. Вот лишь некоторые различия этих двух семейств: материнские платы Intell Core i7 поддерживают до шести планок памяти, в то время как Intell Core 2 поддерживают только 4 планки памяти, поддержка Hyper-threading , поддержка Turbo Boost . 14 ноября 2012 выпущены Intel Core i7-3960X и Intel Core i7-3930K.

Intel Core i7-3960 X Extreme Edition Шести -ядерный процессор с тактовой частотой 3,3 ГГц. Объем кэш – памяти первого (L1), второго (L2), третьего (L3)уровней соответственно 384 Кб, 1,5 Мб, 15 Мб. Благодаря таким уникальным характеристикам, процессор быстро разгоняется и легко справляется с любой задачей. Имеет четырехканальный контроллер памяти.

IntelCorei7-3930K SandyBridge-E Шести -ядерный процессор с тактовой частотой 3,2 ГГц. Кэш L1– 384 Кб. Кэш L2 – 1,5 Мб. Кэш L3 – 12Мб. Имеет четырехканальный контроллер памяти.

Intel Core i7-3820 Четырех ядерный процессор с тактовой частотой 3,6 МГц. Объем Кэш-памяти второго уровня -1,5 Мб, объем кэш памяти третьего уровня – 10 Мб. Имеет четырехканальный контроллер памяти.

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

Amd phenom ii x6 1065t. Шестиядерный процессор. Кэш L1– 128 Кб*6. Кэш L2 –3 Мб. Кэш L3 – 6 Мб. Поддерживает технологию Turbo Core, благодаря которой возможно автоматическое повышение частоты отдельных ядер. Тактовая частота процессора 2,9 ГГц. Имеет двухканальный контроллер памяти.

Amd phenom ii x6 1100 t Шестиядерный процессор. Объем кэш-памяти второго и третьего уровня 3Мб и 6Мб соответственно. Тактовая частота 3,3 ГГц.

AMD Phenom II X6 1090T ш естиядерный процессор. Отличается доступной ценой. Поддерживает технологию Turbo Core. Номинальная частота 3,2 ГГц. Объем кэш L2 -3Мб, объем кэш L3 уровня 6Мб.

Процессоры AMD FX относятся к семейству Bulldozer. Отличаются пониженным энергопотреблением, кроме того, в них реализована возможность управления напряжениями и частотами некоторых блоков. Можно отметить, что в отличие от предшественников, процессоры AMD FX поддерживают скоростную память, обладают большими объемами кэш – памяти и быстрой шиной Hyper Transport 3.1.

AMD FX-8150 .Восьми – ядреный процессор с тактовой частотой 3,6 ГГц. . Объем кэш памяти L1 – 386 Кб. Объем кэш памяти L2 – 8 Мб. Объем кэш памяти L3 – 8 Мб.

AMD FX-4170. Четырех ядерный процессор. Тактовая частота процессора 4,2 ГГц. Кэш L1- 132 Кб. Кэш L2-1 Мб, Кэш L3-8 Мб. Двухканальный контроллер памяти.

Проанализировав данную таблицу, можно с уверенностью сказать, что процессоры Intel Core находятся в лидирующих позициях по производительность среди всех представленных. Стоит также отметить, что самые быстрые процессоры и самые дорогие.

Разберемся, как производители увеличивают производительность:

  • Увеличением тактовой частоты. С момента создания первого микропроцессора тактовая частота выросла в 25000 раз. Но этот способ увеличения производительности имеет свои недостатки, такие как увеличение энергопотребления и тепла;
  • Увеличением количества ядер. Параллельная работа двух и более ядер приводит к увеличению производительности процессора. Прикладные программы и операционная система могут работать параллельно. Например, в то время, как одно ядро занято стандартным приложением, второе ядро занято антивирусной программой. Такой способ увеличения производительности процессора имеет немаловажное преимущество – снижение энергопотребления;
  • Увеличением объема кэш – памяти. Поскольку в кэш – памяти хранятся наиболее часто используемые данные и программные коды, производительность процессора напрямую зависит от объема кэш – памяти. Кэш память делится на два уровня, а то и на три. Самая нужная информация в кэш – памяти первого уровня. Поэтому производители стараются увеличить объем кэш памяти второго (третьего) уровней.

Подведем итоги

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

В статье подробно описано как работать с программой PC-Wizard, приведены результаты тестирования нескольких процессоров, в том числе и процессоров 2012 года выпуска. Более того, из статьи можно узнать, какими способами можно увеличить производительность процессора.

Аннотация: На лекции рассматривается упрощенная модель процессора, составляющие его компоненты. Рассматривается многоуровневая модель памяти, использование регистров и оперативной памяти, механизм упреждающей выборки, предсказание переходов. Конвейер. Векторные инструкции. Многоядерность и параллельное выполнение инструкций. Место и роль компилятора в процессе создания эффективного приложения.

Презентацию к лекции Вы можете скачать .

Упрощенная модель процессора

Дополнительная информация:

Прототипом схемы служит отчасти описание архитектуры фон Неймана, которая имеет следующие принципы:

  1. Принцип двоичности
  2. Принцип программного управления
  3. Принцип однородности памяти
  4. Принцип адресуемости памяти
  5. Принцип последовательного программного управления
  6. Принцип условного перехода

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

Упрощенная модель процессора

  • устройство управления ( Control Unit , CU)
  • арифметико-логическое устройство ( Arithmetic and Logic Unit , ALU )
  • системные регистры
  • системная шина (Front Side Bus, FSB )
  • память
  • периферийные устройства

Устройство управления (CU):

  • выполняет дешифрацию инструкций, поступающих из памяти компьютера.
  • управляет ALU .
  • осуществляет пересылку данных между регистрами ЦП, памятью, периферийными устройствами.

Арифметико-логическое устройство:

  • позволяет производить арифметические и логические операции над системными регистрами.

Системные регистры:

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

Системная шина:

  • используется для пересылки данных между ЦП и памятью, а также между ЦП и периферийными устройствами.

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

Высокая производительность МП (микропроцессора)– один из ключевых факторов в конкурентной борьбе производителей процессоров.

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

Очень условно:

Производительность = Кол-во инструкций / Время

Мы будем рассматривать производительность процессоров на базе архитектур IA32 и IA32e. (IA32 with EM64T ).

Факторы влияющие на производительность процессора:

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

Что такое производительность ? Сложно дать однозначное определение производительности. Можно формально привязать его к процессору – сколько, инструкций за единицу времени может выполнять тот или иной процессор . Но проще дать сравнительное определение – взять два процессора и тот, который выполняет некий набор инструкций быстрее, тот более производительный. То есть, очень условно, можно сказать, что производительность – это количество инструкций на время выполнения . Мы здесь в основном будем исследовать те микропроцессорные архитектуры, которые выпускает Intel, то есть архитектуры IA32, которые сейчас называются Intel 64. Это архитектуры, которые с одной стороны поддерживает старые инструкции из набора IA32, с другой стороны имеют EM64T – это некое расширение, которое позволяет использовать 64 битные адреса, т.е. адресовать большие размеры памяти, а также включает в себя какие-то полезные дополнения, типа увеличенного количества системных регистров, увеличенное количество векторных регистров.

Какие факторы влияют на производительность ? Перечислим все, которые приходят в голову. Это:

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

Тактовая частота

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

Объем адресуемой памяти

Тактовая частота.

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

Объем адресуемой памяти и скорость доступа к памяти.

Объем памяти - необходимо, чтобы памяти хватало для нашей программы и наших данных. То есть, технология EM64T позволяет адресовать огромное количество памяти и на данный момент вопрос с тем, что нам не хватает адресуемой памяти не стоит.

Поскольку на эти факторы разработчики в общем случае не имеют возможности влиять, то я только упоминаю о них.

Скорость выполнения и набор инструкций

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

CISC,RISC (complex, reduced instruction set computing)

Современные процессоры Intel® представляют собой гибрид CISC и RISC процессоров, перед исполнением преобразуют CISC инструкции в более простой набор RISC инструкций.

Скорость выполнения инструкций и полнота базового набора инструкций.

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

Использование регистров и оперативной памяти

Время доступа к регистрам наименьшее, поэтому кол-во доступных регистров влияет на производительность микропроцессора.

Вытеснение регистров ( register spilling ) – из-за недостаточного кол-ва регистров велик обмен между регистрами и стеком приложения.

С ростом производительности процессоров возникла проблема, связанная с тем, что скорость доступа к внешней памяти стала ниже скорости вычислений.

Существуют две характеристики для описания свойств памяти:

  • Время отклика ( latency ) – число циклов процессора необходимых для передачи единицы данных из памяти.
  • Пропускная способность ( bandwidth ) – количество элементов данных которые могут быть отправлены процессору из памяти за один цикл.

Две возможные стратегии для ускорения быстродействия– уменьшение времени отклика или упреждающий запрос нужной памяти.

Использование регистров и оперативной памяти.

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

Следующая часть памяти – это обычная оперативная память . С ростом производительности процессоров стало ясно, что самым узким местом производительности является доступ к оперативной памяти. Для того, чтобы добраться до оперативной памяти, нужны сотня, а то и две сотни тактов процессора. То есть, запросив какую-то ячейку памяти в оперативной памяти, мы будем ждать двести тактов, а процессор будет простаивать.

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

Кэширование

Кэш-память служит для уменьшения времени доступа к данным.

Для этого блоки оперативной памяти отображаются в более быструю кэш-память.

Если адрес памяти находится в кэше – происходит "попадание" и скорость получения данных значительно увеличивается.

В противном случае – "промах" (cache miss)

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

Можно выделить следующие виды кэш-памяти:

  • полностью ассоциативная кэш-память (каждый блок может отображаться в любое место кэша)
  • память с прямым отображением (каждый блок может отображаться в одно место)
  • гибридные варианты (секторная память, память с множественно-ассоциативным доступом)

Множественно-ассоциативный доступ – по младшим разрядам определяется строка кэша, куда может отображаться данная память, но в этой строке может находиться только несколько слов основной памяти, выбор из которых проводится на ассоциативной основе.

Качество использования кэша – ключевое условие быстродействия.

Дополнительная информация: в современных IA32 системах размер кэш-линии 64 байта.

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

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

Характерные времена отклика при обращении к кэш памяти для Nehalem i7:

  • L1 - latency 4
  • L2 - latency 11
  • L3 - latency 38

Время отклика для оперативной памяти > 100

Упреждающий механизм доступа к памяти реализован при помощи механизма упреждающей выборки (hardware prefetching ).

Есть специальный набор инструкций, позволяющий побудить процессор загрузить в кэш память расположенную по определенному адресу (software prefetching ).

Для примера возьмем наш последний процессор Nehalem: i7.

Здесь мы имеем не просто кэш , а некий иерархический кэш . Долгое время он был двухуровневый, в современной системе Nehalem он трехуровневый – совсем немного очень быстрого кэша, чуть побольше кэша второго уровня и достаточно большое количество кэша третьего уровня. При этом, эта система построена так, что если какой-то адрес находится в кэше первого уровня, он автоматически находится во втором и в третьем уровнях. Это и есть иерархическая система. Для кэша первого уровня задержка – 4 такта, для второго – 11, третьего – 38 и время отклика оперативной памяти – больше 100 тактов процессора.

Статьи по теме: