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

А начнем с того, что уберем процессор из системного блока. В итоге компьютер не будет работать. Теперь понимаете, какую роль он играет? Но давайте более детально изучим вопрос и узнаем что такое процессор компьютера.

Что такое процессор компьютера

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

Более техническое определение можно найти в Википеди:

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

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

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

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

Как работает процессор

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

Деятельность ЦП можно представить последовательностью следующих событий:

  • Из ОЗУ, куда загрузилась определенная программа (допустим текстовый редактор), управляющий блок процессора извлекает необходимые сведения, а также набор команд, которые обязательно нужно выполнить. Все это отправляется в буферную память (кэш) ЦП;
  • Выходящая из кэш-памяти информация разделяется на два вида: инструкции и значения , которые отправляются в регистры (это такие ячейки памяти в процессоре). Первые идут в регистры команд, а вторые в регистры данных;
  • Информацию из регистров обрабатывает арифметико-логическое устройство (часть ЦПУ, которая выполняет арифметические и логические преобразования поступающих данных), которое из них считывает информацию, а за тем исполняет необходимые команды над получившимися в итоге числами;
  • Получившиеся результаты, разделяющиеся на законченные и незаконченные , идут в регистры, откуда первая группа отправляется в кэш-память ЦП;
  • Этот пункт начнем с того, что есть два основных уровня кэша: верхний и нижний . Последние полученные команды и данные, нужные для выполнения расчетов, поступают в кэш верхнего уровня, а неиспользуемые отправляются в кэш нижнего уровня. Этот процесс идёт следующим образом — вся информация идёт с третьего уровня кэша на второй, а потом попадает на первый, с не нужными на текущий момент данными и их отправкой на нижний уровень все обстоит наоборот;
  • По окончанию вычислительного цикла, конечный итог будет записан в оперативной памяти системы, для освобождения места кэш-памяти ЦП для новых операций. Но может произойти так, что буферная память будет переполнена, тогда неэксплуатируемые данные пойдут в оперативную память, или на нижний уровень кэша.

Поэтапные шаги вышеприведенных действий являются операционным потоком процессора и ответом на вопрос – как работает процессор.

Виды процессоров и основные их производители

Существует множество видов процессоров от слабых одноядерных, до мощных многоядерных. От игровых и рабочих до средних по всем параметрам. Но, есть два основных лагеря ЦП – AMD и знаменитые Intel. Это две компании, производящие самые востребованные и популярные микропроцессоры на рынке. Основное различие между продукцией AMD и Intel – не количество ядер, а архитектура – внутреннее строение. Каждый из конкурентов предлагает свое строение «внутренностей», свой вид процессора, кардинально отличающуюся от конкурента.

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

Плюсы процессоров Intel :

  • Обладает более низким потреблением энергии;
  • Разработчики больше ориентируются на Интел, чем на АМД;
  • Лучше производительность в играх;
  • Связь процессоров Интел с ОЗУ реализована лучше, нежели у АМД;
  • Операции, осуществляемые в рамках только одной программы (на пример разархивирование) идут лучше, АМД в этом плане поигрывает.

Минусы процессоров Intel :

  • Самый большой минус – цена. ЦП от данного производителя зачастую на порядок выше чем у их главного конкурента;
  • Производительность снижается при использовании двух и более «тяжелых» программ;
  • Интегрированные графические ядра уступают АМД;

Плюсы процессоров AMD :

  • Самый большой плюс — самый большой минус Intel – цена. Вы можете купить хороший середнячок от AMD, который будет на твердую 4, а может даже и 5 тянуть современные игры, при этом стоить он будет намного ниже чем аналогичный по производительности процессор от конкурента;
  • Адекватное соотношение качества и цены;
  • Обеспечивают качественную работу системы;
  • Возможность разгона процессора, повышая тем самым его мощность на 10-20%;
  • Интегрированные графические ядра превосходят Интел.

Минусы процессоров AMD :

  • Процессоры от АМД хуже взаимодействуют с ОЗУ;
  • Энергопотребление больше, чем у Интел;
  • Работа буферной памяти на втором и третьем уровне идёт на более низкой частоте;
  • Производительность в играх отстает от показателей конкурента;

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

Основные характеристики процессоров

Мы рассмотрели, что такое процессор компьютера, как он работает. Ознакомились с тем, что из себя представляют два основных их вида, время обратить внимание на их характеристики.

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

  • Бренд – кто производит процессор: AMD, или Intel. От данного выбора зависит не только цена приобретения, и производительность, как можно было бы предположить из предыдущего раздела, но также и выбор остальных комплектующих ПК, в частности, материнской платы. Поскольку процессоры от АМД и Интел имеют различную конструкцию и архитектуру, то в сокет (гнездо для установки процессора на материнской плате) предназначенный под один тип процессора, нельзя будет установить второй;
  • Серия – оба конкурента делят свою продукцию на множество видов и подвидов. (AMD — Ryzen, FX,. Intel- i5, i7);
  • Архитектура процессора – фактически внутренние органы ЦП, каждый вид процессоров имеет индивидуальную архитектуру. В свою очередь один вид можно разделить на несколько подвидов;
  • Поддержка определенного сокета - очень важная характеристика процессора, поскольку сам сокет является «гнездом» на материнской плате для подсоединения процессора, а каждый вид процессоров требует соответствующий ему разъем. Собственно об этом было сказано выше. Вам либо нужно точно знать какой сокет расположен на вашей материнской плате и под нее подбирать процессор, либо наоборот (что более правильно);
  • Тактовая частота – один из значимых показателей производительности ЦП. Давайте ответим на вопрос что такое тактовая частота процессора. Ответ будет простым для этого грозного термина — объем операций выполняющихся в единицу времени, измеряющийся в мегагерцах (МГц);
  • Кэш - установленная прямо в процессор память, её ещё называют буферной памятью, имеет два уровня — верхний и нижний. Первый получает активную информацию, второй – неиспользуемую на данный момент. Процесс получения информации идет с третьего уровня во второй, а потом в первый, ненужная информация проделывает обратный путь;
  • Количество ядер - в ЦП их может быть от одного до нескольких. В зависимости от количества процессор будет называться двухъядерных, четырех ядерным и т.д. Соответственно от их числа будет зависеть мощность;
  • Энергопотребление и тепловыделение. Тут все просто – чем выше процессор «съедает» энергии, тем больше тепла он выделит, обращайте внимание на этот пункт, чтобы выбрать соответствующий кулер охлаждения и блок питания.
  • Интегрированная графика – у AMD первые такие разработки появились в 2006, у Intel с 2010. Первые показывают больший результат, чем конкуренты. Но все равно, до флагманских видеокарт пока ни один из них не смог дотянуть.

Выводы

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

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

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

Да, это так… В состав процессора входят такие вещества, как, например, кремний – тот же самый материал, из которого состоит песок и гранитные скалы.

Процессор Хоффа

Первый микропроцессор для персонального компьютера был изобретён почти пол века назад – в 1970 году Маршианом Эдвардом Хоффом и его командой инженеров из Intel.

Первый процессор Хоффа работал на частоте всего-навсего 750 кГц.

Основные характеристики процессора компьютера сегодня, конечно, не сравнимы с вышеуказанной цифрой, нынешние «камни» в несколько тысяч раз мощнее своего предка и перед тем, лучше немного ознакомиться с задачами, которые он решает.

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

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

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

Устройство микропроцессора

Как устроен процессор компьютера? В любом микропроцессоре можно выделить 3 составляющих:

  1. Ядро процессора (именно здесь происходит разделение нулей и единиц);
  2. Кэш-память – небольшой накопитель информации прямо внутри процессора;
  3. Сопроцессор – особый мозговой центр любого процессора, в котором происходят самые сложные операции. Здесь же идёт работа с мультимедийными файлами.

Схема процессора компьютера в упрощенном варианте выглядит следующим образом:

Один из основных показателей микропроцессора – тактовая частота. Она показывает, сколько тактов «камень» совершает в секунду. Мощность процессора компьютера зависит от совокупности показателей, приведенных выше.

Следует отметить, что когда-то запусками ракет и работой спутников руководили микропроцессоры с тактовой частотой в тысячи раз меньшей, чем та, которой обладают «собратья» нынешние. А размер одного транзистора составляет 22нм, прослойка транзисторов – всего 1 нм. Для справки, 1 нм – толщина 5 атомов!

Вот теперь вы знаете, как устроен процессор компьютера и каких успехов добились учёные, работающие на фирмах по производству персональных компьютеров.

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

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

Почему мы подняли тему процессоров? Все просто. За последние десять лет произошла настоящая революция в мире мобильных устройств.

Между этими устройствами всего 10 лет разницы. Но Nokia N95 тогда нам казалась космическим девайсом, а на ARKit сегодня мы смотрим с определенным недоверием

А ведь все могло бы сложиться иначе и потрепанный Pentium IV так бы и остался пределом мечтаний рядового покупателя.

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

1. С чего все началось

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

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

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

2. Появление транзисторов

Первые полевые транзисторы появились еще в 1928 году. Но мир изменился лишь после появления так называемых биполярных транзисторов , открытых в 1947-м.

В конце 40-х физик-экспериментатор Уолтер Браттейн и теоретик Джон Бардин разработали первый точечный транзистор. В 1950 его заменил первый плоскостной транзистор, а в 1954 году небезызвестный производитель Texas Instruments анонсировал уже кремниевый транзистор.

Но настоящая революция наступила в 1959 году, когда ученый Жан Энри разработал первый кремниевый планарный (плоский) транзистор, который стал основой для монолитных интегральных схем.

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

3. Как работает транзистор

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

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

Из школьного курса информатики вы, наверняка, помните, что компьютер «понимает» человеческий язык за счет комбинаций всего двух состояний: «включено» и «выключено». В понимании машины это состояние "0" или "1".

Задача компьютера заключается в том, чтобы представить электрический ток в виде чисел.

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

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

Но сначала разберемся с диодом

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

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

Задача транзистора заключается в усилении слабого сигнала за счет дополнительного источника питания.

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

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

Так стали использовать 5-валентную примесь фосфора, за счет чего получили транзисторы n-типа . Наличие дополнительного электрона позволило ускорить их движение, повысив пропуск тока.

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

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

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

Если к диоду подключить источник питания таким образом, чтобы "–" касался p-стороны пластины, а "+" – n-стороны, протекание тока будет невозможно из-за того, что дырки притянутся в минусовому контакту источника питания, а электроны – к плюсовому, и связь между электронами p и n стороны будет утеряна за счет расширения объединенного слоя.

Но если подключить питание с достаточным напряжением наоборот, т.е. "+" от источника к p-стороне, а "–" – к n-стороне, размещенные на n-стороне электроны будут отталкиваться отрицательным полюсом и выталкиваться на p-сторону, занимая дырки в p-области.

Но теперь электроны притягивает к положительному полюсу источника питания и они продолжаются перемещаться по p-дыркам. Это явление назвали прямым смещением диода .

Диод + диод = транзистор

Сам по себе транзистор можно представить как два, состыкованных друг к другу диода. При этом p-область (та, где размещены дырки) у них становится общей и именуется «базой».

У N-P-N транзистора две n-области с дополнительными электронами – они же «эмиттер» и «коллектор» и одна, слабая область с дырками – p-область, именуемая «базой».

Если подключить источник питания (назовем его V1) к n-областям транзистора (независимо от полюса), один диод получит обратное смещение и транзистор будет находиться в закрытом состоянии .

Но, как только мы подключим еще один источник питания (назовем его V2), установив "+" контакт на «центральную» p-область (базу), а "–" контакт на n-область (эмиттер), часть электронов потечет по вновь образованной цепи (V2), а часть будет притягиваться положительной n-областью. В результате, электроны потекут в область коллектора, а слабый электрический ток будет усилен.

Выдыхаем!

4. Так как все-таки работает компьютер?

А теперь самое главное .

В зависимости от подаваемого напряжения, транзистор может быть либо открыт , либо закрыт . Если напряжение недостаточное для преодоления потенциального барьера (того самого на стыке p и n пластин) – транзистор будет находится в закрытом состоянии – в состоянии «выключен» или, говоря языком двоичной системы – "0".

При достаточно напряжении транзистор открывается, а мы получаем значение «включен» или "1" в двоичной системе.

Такое состояние, 0 или 1, в компьютерной индустрии назвали «битом».

Т.е. мы получаем главное свойство того самого переключателя, который открыл человечеству путь к компьютерам!

В первом электронном цифровом вычислителе ЭНИАК, а проще говоря – первом компьютере, использовалось около 18 тысяч ламп-триодов. Размер компьютера был сопоставим с теннисным кортом, а его вес составлял 30 тонн.

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

Момент 1 . Итак, мы определились с тем, что такое бит . Но с его помощью мы можем лишь получить две характеристики чего-либо: или «да» или «нет». Для того, чтобы компьютер научился понимать нас лучше, придумали комбинацию из 8 битов (0 или 1), которую прозвали байтом .

Используя байт можно закодировать число от нуля до 255. Используя эти 255 чисел – комбинаций нулей и единиц, можно закодировать все что угодно.

Момент 2. Наличие чисел и букв без какой-либо логики нам бы ничего не дало. Именно поэтому появилось понятие логических операторов .

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

Стараниями программистов значения нулей и единиц, двоичной системы, стали переводить в десятичную для того, чтобы мы могли понять, что именно «говорит» компьютер. А для ввода команд привычные нами действия, вроде ввода букв с клавиатуры, представлять в виде двоичной цепи команд.

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

Это довольно примитивное объяснение принципа работы процессора и компьютера, но именно понимание этого позволяет нам двигаться дальше.

5. И началась транзисторная гонка

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

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

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

  • 1964 год IBM System/360. Компьютер, совместимый с универсальным программным кодом. Набор инструкций для одной модели процессора мог использоваться и для другой.
  • 70-e годы. Появление первых микропроцессоров. Однокристальный процессор от Intel. Intel 4004 – 10 мкм ТП, 2 300 транзисторов, 740 КГц.
  • 1973 год Intel 4040 и Intel 8008. 3 000 транзисторов, 740 КГц у Intel 4040 и 3 500 транзисторов при 500 кГц у Intel 8008.
  • 1974 год Intel 8080. 6 мкм ТП и 6000 транзисторов. Тактовая частота около 5 000 кГц. Именно этот процессор использовался в компьютере Altair-8800. Отечетсвенная копия Intel 8080 – процессор КР580ВМ80А, разработанный Киевским НИИ микроприборов. 8 бит.
  • 1976 год Intel 8080 . 3 мкм ТП и 6500 транзисторов. Тактовая частота 6 МГц. 8 бит.
  • 1976 год Zilog Z80. 3 мкм ТП и 8500 транзисторов. Тактовая частота до 8 МГц. 8 бит.
  • 1978 год Intel 8086 . 3 мкм ТП и 29 000 транзисторов. Тактовая частота около 25 МГц. Система команд x86, которая используется и сегодня. 16 бит.
  • 1980 год Intel 80186 . 3 мкм ТП и 134 000 транзисторов. Тактовая частота – до 25 МГц. 16 бит.
  • 1982 год Intel 80286. 1,5 мкм ТП и 134 000 транзисторов. Частота – до 12,5 МГц. 16 бит.
  • 1982 год Motorola 68000 . 3 мкм и 84 000 транзисторов. Этот процессор использовался в компьютере Apple Lisa.
  • 1985 год Intel 80386 . 1,5 мкм тп и 275 000 транзисторов.Частота – до 33 МГц в версии 386SX.

Казалось бы, продолжать список можно было бы до бесконечности, но тут инженеры Intel столкнулись с серьезной проблемой.

6. Закон Мура или как чипмейкерам жить дальше

На дворе конец 80-х. Еще в начале 60-х один из основателей компании Intel Гордон Мур формулировал так называемый «Закон Мура». Звучит он так:

Каждые 24 месяца количество транзисторов, размещенных на кристалле интегральной схемы, удваивается.

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

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

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

  • кэш-памяти;
  • конвейера;
  • встроенного сопроцессора;
  • множителя.

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

Процессор Intel i486 состоял уже из 1,2 млн транзисторов, а максимальная частота его работы достигла 50 МГц.

В 1995 году к разработке присоединяется компания AMD и выпускает самый быстрый на тот момент i486-совместимый процессор Am5x86 на 32-битной архитектуре. Изготавливался он уже по 350 нанометровому техпроцессу, а количество установленных процессоров достигло 1,6 млн штук. Тактовая частота повысилась до 133 МГц.

Но гнаться за дальнейшим наращиванием количества установленных на кристалле процессоров и развитии уже утопической архитектуры CISC (Complex Instruction Set Computing) чипмейкеры не решились. Вместо этого американский инженер Дэвид Паттерсон предложил оптимизировать работу процессоров, оставив лишь самые необходимые вычислительные инструкции.

Так производители процессоров перешли на платформу RISC (Reduced Instruction Set Computing]. Но и этого оказалось мало.

В 1991 году выходит 64-битный процессор R4000, работающий на частоте 100 МГц. Через три года появляется процессор R8000, а еще через два года – R10000 с тактовой частотой вплоть до 195 МГц. Параллельно развивался рынок SPARC-процессоров, особенностью архитектуры которых стало отсутствие инструкций умножения и деления.

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

Вот лишь некоторые из появившихся с период с 1980 по 1995 год архитектур:

  • SPARC;
  • ARM ;
  • PowerPC;
  • Intel P5;
  • AMD K5;
  • Intel P6.

В их основе лежала платформа RISC, а в некоторых случаях и частичное, совмещенное использование CISC-платформы. Но развитие технологий вновь подталкивало чипмейкеров продолжить наращивание процессоров.

В августе 1999 года на рынок выходе AMD K7 Athlon, изготовленный по 250 нанометровому техпроцессу и включающий 22 млн транзисторов. Позднее планку подняли до 38 млн процессоров. Потом до 250 млн.

Увеличивался технологический процессор, росла тактовая частота. Но, как гласит физика, всему есть предел.

7. Конец транзисторных соревнований близко

В 2007 году Гордон Мур выступил с весьма резким заявлением:

Закон Мура скоро перестанет действовать. Устанавливать неограниченное количество процессоров до бесконечности невозможно. Причина тому - атомарная природа вещества.

Невооруженным глазом заметно, что два ведущих производителям чипов AMD и Intel последние несколько лет явно замедлили темпы развития процессоров. Точность технологического процесса выросла всего до нескольких нанометров, но размещать еще больше процессоров невозможно.

И пока производители полупроводников грозятся запустить многослойные транзисторы, проводя параллель с 3DNand памятью, у упершейся в стену архитектуры x86 еще 30 лет назад появился серьезный конкурент.

8. Что ждет «обычные» процессоры

«Закон Мура» признан недействительным еще с 2016 года. Об этом официально заявил крупнейший производитель процессоров Intel. Удваивать вычислительную мощность на 100% каждые два года чипмейкеры больше не состоянии.

И теперь у производителей процессоров есть несколько малоперспективных вариантов.

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

К тому же, о серийном запуске подобных устройств в ближайшие десятилетия не может идти и речи. Дорого, неэффективно и… медленно!

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

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

Решение вполне имеет право на жизнь, и таким образом монополистам удастся доить потребителя еще пару десятков лет, но, в конце концов, технология опять-таки упрется в потолок.

Сегодня же, понимая стремительное развитие ARM-архитектуры, Intel провела негромкий анонс чипов семейства Ice Lake. Процессоры будут изготавливаться по 10-нанометровому технологическому процессу и станут основой для смартфонов, планшетов и мобильных устройств. Но произойдет это в 2019 году.

9. Будущее за ARM

Итак, архитектура x86 появилась в 1978 году и относится к типу платформы CISC. Т.е. сама по себе она предполагает наличие инструкций на все случаи жизни. Универсальность – главный конек x86.

Но, в тоже время, универсальность сыграла с этими процессорами и злую шутку. У x86 есть несколько ключевых недостатков:

  • сложность команд и откровенная их запутанность;
  • высокое потребление энергии и выделение теплоты.

За высокую производительность пришлось попрощаться с энергоэффективностью. Более того, над архитектурой x86 сейчас трудятся две компании, которых можно смело отнести к монополистам. Это Intel и AMD. Производить x86-процессоры могут только они, а значит и правят развитием технологий только они.

В тоже время разработкой ARM (Arcon Risk Machine) занимаются сразу несколько компания. Еще в 1985 году в качестве основы для дальнейшего развития архитектуры разработчики выбрали платформу RISC.

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

Более того, ARM изначально создавался исключительно как конкурент x86. Разработчики ставили задачу построить архитектуру, более эффективную чем x86.

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

Архитектуру ARM в свое время поддержала компания Apple, запустив производство планшетов Newton на базе семейства ARM-процессоров ARM6.

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

  • мобильность;
  • автономность.

x86 архитектура сильна в производительности, но стоит вам отказаться от активного охлаждения, как мощный процессор покажется жалким на фоне архитектуры ARM.

10. Почему ARM – неоспоримый лидер

Вряд ли вы будете удивлены, что ваш смартфон, будь то простенький Android или флагман Apple 2016 года в десятки раз мощнее полноценных компьютеров эпохи конца 90-х.

Но во сколько мощнее тот же айфон?

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

Универсальный помощник в таком вопросе – искусственный тест производительности Geekbench. Утилита доступна как на стационарных компьютерах, так и на Android и iOS платформах.

Средний и начальный класс ноутбуков явно отстает от производительности iPhone 7. В топовом сегменте все немного сложнее, но в 2017 году Apple выпускает iPhone X на новом чипе A11 Bionic.

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

А ведь прошел всего один год.

Развитие ARM идет семимильными шагами. Пока Intel и AMD год за годом демонстрируют 5 – 10% прирост производительности, за тот же период производители смартфонов умудряются повысить мощность процессоров в два – два с половиной раза.

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

Установите на стол моноблок с мощным 18-ядерный процессором, который «в клочья разрывает ARM-архитектуру», а затем положите рядом iPhone. Чувствуете разницу?

11. Вместо вывода

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

Безусловно, Intel и AMD буду работать над дальнейшим наращиванием количества транзисторов на одном кристалле и продвигать идею многослойных элементов.

Но нужна ли вам как покупателю такая мощность?

Вряд ли вас не устраивает производительность iPad Pro или флагманского iPhone X. Не думаю, что вы недовольны производительностью расположившейся на кухне мультиварки или качеством картинки на 65-дюймовом 4K-телевизоре. А ведь во всех этих устройствах используются процессоры на ARM-архитектуре.

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

На ARM успела посмотреть и Google – операционная система Chrome OS поддерживает эту архитектуру. Появились сразу несколько дистрибутивов Linux, которые также совместимы с данной архитектурой. И это только начало.

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

4.61 из 5, оценили: 38 )

сайт Большая статья, наливайте чай.

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

Заметим, что энциклопедия не заменяет, а дополняет другие статьи общего характера (например «Современные десктопные процессоры архитектуры x86: общие принципы работы») и аналитику по частным вопросам (например «О разрядности процессоров» и «Методы увеличения вычислительной производительности»). Тут приводятся лишь краткие описания, но не по отдельным терминам, а почти по всем, которые могут встретиться - кроме очень редких и устаревших.

По историческим причинам большинство этих терминов не только родилось в английском языке, но и, по большей части, так и не приобрело устоявшегося перевода. Если он всё же есть, то указан после оригинала - иначе даётся дословный перевод (в скобках) и авторская версия. Все термины снабжены одноимёнными локальными HTML-ссылками под значком , на которые можно ссылаться с других страниц.

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

Энциклопедия постоянно уточняется и пополняется (дата последнего обновления - в конце) и на данный момент содержит 234 термина (без учёта переводов и синонимов).

Общие положения и вычислительные парадигмы

processor (обработчик), процессор - часть компьютера, обрабатывающая данные. Управляется программой или потоком - последовательностью закодированных . Физически представляет собой одну . Работает на определённой частоте, означающей количество тактов в секунду. За каждый такт процессор делает некоторую часть полезной работы. По умолчанию под процессором понимается .

coprocessor, сопроцессор - специализированный (например, вещественный или периферийный), обрабатывающий данные только какого-то одного вида, но быстрее, чем это смог бы сделать , за счёт оптимизированного устройства. Может быть как отдельной , так и частью ЦП.

core, ядро - в одноядерных ЦП: вычислительная часть процессора, остающаяся после вычета вспомогательных структур (контроллеров шин, и др.). В многоядерных ЦП: набор обрабатывающих блоков и смежных с ними кэшей, минимально необходимый для исполнения любых и имеющийся в нескольких экземплярах. Многоядерные ЦП могут иметь многоуровневое разделение ресурсов: например, ядра с отдельными кэшами могут попарно объединяться, имея в каждой паре общий кэш , а пары объединяются в процессор с общим кэшем и остальным блоками. AMD в новых использует определение ядра, исполняющего лишь (не команды) общего назанчения.

word, слово - в общем случае - последовательность информации длиной 2 N байт, где целое N>0. По содержимому может быть данными, адресом или. Иногда используется как мера разрядности (полуслово, двойное слово и т. п.) наряду с битами и байтами. В обозначает 2-байтовое данное.

instruction, инструкция, команда - элементарная часть программы процессора. Команда задаёт над данными и/или адресами. Наиболее часто используемые команды делятся на такие виды:

Отмеченные звёздочками команды являются инвариантными по данным - они реализуют своё действие одинаковым алгоритмом вне зависимости от типа . Команды, меняющие содержимое данных, являются вычислительными: чаще всего встречается и логика, затем и и, гораздо реже, - и преобразования.

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

non-destructive, неразрушающий - формат команды, при котором её результат не обязан перезаписывать какой-либо из аргументов, иначе формат называется разрушающим. Чтобы команда была неразрушающей, приёмник должен быть отдельным от всех источников (т. е. не должно быть модификандов, кроме случаев явного указания одинаковых приёмника и источника). Например, для элементарного сложения это потребует трёх операндов - приёмника и двух источников. В случае с двумя операндами сумма перезапишет одно из слагаемых.

integer, целый, целочисленный - относящийся к целым числам. Имеют разрядность 1, 2, 4 и 8 байт. Как правило, к ним также причисляют логический тип данных, описывающий набор бит. Обработка целых проще и быстрее, чем .

float («плавающий»), FP (floating point: плавающая точка), вещественный - относящийся к вещественным числам (точнее, к их рациональному подмножеству с плавающей запятой). Имеют точности . Обработка вещественных труднее и дольше, чем .

GPR (general purpose register), РОН (регистр общего назначения) - регистр для скалярных данных или адресов, используемый для наиболее частых команд.

ISA (instruction set architecture: архитектура набора команд) - описание процессора как математической модели, каковой он представляется программисту. Состоит из описаний всех исполняемых команд, имеющихся регистров, режимов и пр. структур и состояний, доступных программисту. Основывается на одной или более . Без уточнения термин «архитектура» часто обозначает .

microarchitecture, микроархитектура - реализация в виде блок-схемы процессора, каждый блок которой выполняет обособленную роль или функцию и состоит из массивов логических вентилей («экземпляров») и связывающих их линий. Для каждой ISA, как правило, есть несколько микроархитектур, отличающихся скоростью исполнения отдельных команд и всей программы, сложностью и ценой получаемого процессора, потребляемой энергией на каждую операцию и т. п. Большинство описываемых микроархитектурой блоков и состояний «прозрачны» для программиста (т. к. не указаны в ISA) и нужны для автоматического улучшения какой-либо численной характеристики - скорости, надёжности, потребления энергии и т. д. Часто обозначается термином « ».

load/store (загрузка/сохранение - синонимы чтения и записи) - парадигма, при которой команды обработки работают только с , а загрузка констант и обмен данных между процессором и памятью производится отдельными командами и тоже через регистры. Это позволяет сильно упростить устройство и снизить себестоимость процессора, но усложняет программирование, замедляет скорость исполнения за такт и удлинняет программу. Большинство современных архитектур не используют парадигму load/store, допуская для большинства или всех команд обработку данных, находящихся и в регистрах, и в памяти, и в самой команде.

RISC (reduced instruction set computer: вычислитель с сокращённым набором команд) - парадигма архитектуры, максимально удобной для физической реализации (в противоположность ): процессор имеет небольшое число команд (как правило, до 200), большая часть которых исполняет по одному простому действию (как правило, не сложнее умножения) со значительными ограничениями по разрядности, местоположению и типу аргументов (в частности, используется парадигма ). За счёт простоты почти каждая команда исполняется за одно действие, поэтому процессору не нужен . Чаще всего команды имеют одинаковую длину (как правило, 4 байта) и кодировку .

CISC (complex instruction set computer: вычислитель со сложным набором команд) - парадигма архитектуры, максимально удобной для эффективного (по числу ) программирования (в противоположность ): процессор имеет большое число команд (сотни), исполняющих в т. ч. сложные действия с аргументами разной разрядности, местоположения и типа. Сложные команды исполняются как последовательность простых, для чего процессору нужен . Команды имеют переменную длину; по сравнению с RISC-ЦП код получается более компактным как по числу команд, так и по общей длине. За счёт разнообразия и сложности команд, меньшего числа архитектурных регистров и (часто) формата операндов программирование CISC-ЦП для компилятора сложнее, чем RISC-ЦП, но для человека-программиста это не обязательно. CISC-ЦП для достижения производительности RISC-ЦП на одинаковой частоте должен быть сложнее.

SIMD (single instruction, multiple data: одна команда - много данных), векторность - парадигма параллелизма на уровне данных: помимо скалярных, имеются векторные команды для обработки аргументов-векторов, объединяющих несколько отдельных скалярных значений. Результат векторной команды - чаще всего также вектор. Применяется во всех современных архитектурах для удобной реализации высокоскоростной обработки, когда над большим объёмом данных требуется совершить одно действие. SIMD также подразумевает наличие команд элементов вектора без изменения их содержимого.

EPIC (explicitly parallel instruction computing: вычисление с явным параллелизмом команд) - парадигма, упрощающая микроархитектуру за счёт явного указания «связок» команд, которые могут одновременно отправиться на исполнение при готовности требуемых данных. Применяется только к -архитектурам, хотя теоретически применима и к . Для обработки данных общего назначения не подходит из-за относительно большого размера кода и сложности эффективного программирования и исполнения на любом алгоритме, поэтому для ЦП малопригодна, но применяется в некоторых и .

GPGPU (general purpose GPU: вычисления общего назначения на ГП) - программы обработки неграфических данных, алгоритмы которых удобны для эффективного исполнения не только на ЦП, но и на ГП. Составление таких алгоритмов сложней из-за бо́льших ограничений ГП по сравнению с ЦП.

APU (accelerated processing unit: блок ускоренной обработки) - термин AMD для обозначения процессора с или ядрами общего назначения архитектуры и встроенным , архитектура которого допускает относительно простую обработку неграфических данных с помощью .

SoC (system on chip: система на чипе) - микросхема, на единственном или основном которой находятся или ядра ЦП, и/или и контроллеры памяти и ввода-вывода. (Остальные кристаллы в случае их присутствия являются памятью.) Используется вместо нескольких отдельных с похожей совокупной функциональностью для уменьшения массы, размеров, сложности монтажа, потребления энергии и цены конечного устройства.

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

VM (virtual memory: виртуальная память) - технология, позволяющая каждой исполняемой программе в многозадачной среде использовать отдельное непрерывное адресное пространство, причём большего размера, чем имеется физической оперативной памяти, а также реализовать защищённое исполнение с изоляцией программ и их данных друг от друга. Виртуальная память физически размещается в ОЗУ и файле подкачки (своп-файле) на массовом носителе. В режиме работы с виртуальной памятью программы оперируют .

VA (virtual address: виртуальный адрес) - адрес для , который до использования необходимо пересчитать (транслировать) в в блоках и . Каждый виртуальный адрес попадает в какую-либо , описываемую дескриптором («описателем») размером 4 (в 32-битном режиме ЦП) или 8 (в 64-битном) байт, содержащим физический адрес, тип и права доступа страницы или их группы. 512 или 1024 дескриптора формируют таблицу трансляции, а сами таблицы объединяются операционной системой в 2–4-ярусную древовидную структуру, уникальную для каждой задачи. Ссылка на корневую таблицу дерева передаётся в ЦП при переключении на новую задачу, каждая из которых таким образом получает отдельное виртуальное адресное пространство.

page, страница - элементарный блок памяти при выделении программе. Младшие биты обозначают смещение внутри страницы. Остальные биты задают начальный (базовый) адрес, который требуется транслировать. Для архитектуры чаще всего используются страницы по 4 КБ, но также доступны «большие» страницы: для 32-битного режима - на 4 МБ, а для 64-битного - на 2 МБ и 1 ГБ.

Команды x86 и их наборы

PadLock - поднабор команд для ускорения операций (де)шифрования для всех популярных шифров, включая AES. Также включает аппаратный генератор случайных чисел, применяемый для криптографических программ. Применяется в ЦП VIA.

CPUID (CPU identify: идентификация ЦП) - команда выдачи «паспорта процессора» с перечислением всех основных качественных и количественных характеристик, включая поддерживаемые поднаборы команд.

MSR (model-specific register: специфический для модели регистр) - регистр специального назначения для аппаратной настройки какой-либо функции или режима ЦП. В x86-ЦП MSR-регистров несколько сотен, причём их количество и использование определяются и не зависят от ЦП. Для пользовательских программ чаще всего недоступны.

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

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

jmp (jump: прыжок), переход - команда передачи управления, указывающая адрес другой команды, исполняемой после перехода. Различные варианты переходов реализуют структурные конструкции программы. Виды переходов:

stall, ступор - останов работы или одной или нескольких его из-за нехватки какого-либо ресурса. Ступор одной стадии в течение одного такта называется пузырь (bubble). Во избежание ступоров и приближения достижимой производительности к её теоретическому максимуму применяются многочисленные методы поддержания конвейера в максимально загруженном состоянии.

front-end («передняя часть»), фронт конвейера - часть , читающая и обрабатывающая , подготавливая их для исполнения в в виде . Включает в себя от до или расположенных после него и/или мопов (в случае их присутствия). В терминах Intel буфер мопов отделяет фронт и тыл, так что запись в него является последней стадией фронта.

back-end («задняя часть»), тыл конвейера - часть , обрабатывающая данные исполнением от . Включает в себя от чтения из и мопов в до их . Непосредственно обработка данных осуществляется только , однако к тылу относят также остальные части , и планировщик(и). , и прочие блоки подсистемы памяти номинально не являются частью конвейера, несмотря на то, что при обработке доступов в память LSU должен сработать до отставки затребовавшей доступ команды.

µop, mop, микрооперация, моп - -подобная (неверно названная ) во внутреннем формате ЦП, исполняющая одно или несколько элементарных действий. Команды -ЦП переводятся в мопы в , причём каждая простая команда генерирует один моп, а сложная - несколько. В RISC-ЦП декодер состоит лишь из простых блоков, выполняющих несложную подготовку команд для исполнения. Одна CISC-команда порождает в среднем более одного мопа, а число конвейера до и после декодера чаще всего одинаково, что создаёт дисбаланс нагрузок на стадии. Для его исправления применяются и .

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

macrofusion, макрослияние - надстройка над , позволяющая одним закодировать две (редко больше) , чтобы увеличить значение на 1 (более одного микрослияния за такт -ЦП не допускают). Варианты сливаемых команд:

Из-за фиксированного размера на пары команд накладываются ограничения: не более одного доступа в память, не более одного непосредственного операнда (иногда не допускается вовсе) и т. п.

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

OoO (out-of-order), внеочерёдность - для команд при обработке : обработка в порядке, наиболее удобном ядру в данный момент. Применяется к конвейера: отдельно к исполнительной части () и доступу в память (). Требует наличия аппаратной структуры, хранящей оригинальный порядок мопов (исходя из последовательности породивших их команд) для их .

OoOE (out-of-order execution), внеочерёдное исполнение - концепция , применяемая при исполнении мопов: моп запускается на выполнение, когда готовы все его и целевое , даже если декодированные до него мопы ещё не исполнены. Является одним из видов для команд.

HT (Hyper-Threading), гиперпоточность - «тонкая» версия в ЦП Intel: каждый такт каждая стадия или их группа выбирает один из двух или оба потока команд или мопов, исходя из готовности ресурсов для каждого из них.

MCMT (multicluster multithreading: многокластерная многопоточность) - ускоряющее производительность решение AMD, промежуточное между и : исполняющий два потока делится на параллельно работающие кластеры по несколько стадий каждый, причём одни кластеры разделяют свои ресурсы между потоками (как в SMP), а другие выделяются им монопольно (как в SMT).

IPC (instructions per clock), команд (-а, -ы) за такт - мера производительности , его или отдельного . Пиковая величина IPC измеряется при выполнении потока или , независимых друг от друга по данным, что позволяет по возможности осуществить их одновременное исполнение.

CPI (clocks per instruction), такт (-а, -ов) на команду - величина, обратная . Применяется для удобства, когда IPC

latency, латентность, задержка - число тактов между подачей команды на исполнение и его завершением. Применяется для описания «хронологической длины» (близкой к числу стадий) и длительностей исполнения команды в или доступа в или память. Большинство команд имеют постоянную задержку, почти не зависящую от содержимого обрабатываемых данных. Обращение к подсистеме кэшей и, особенно, к памяти имеют переменный характер задержки, поэтому для них указываются минимальная и средняя задержки.

throughput, пропуск, темп, ПС (пропускная способность) - о командах: обратная пропускная способность - значение при исполнении мопа(ов) данной команды для отдельного , либо всей исполнительной конвейера. ФУ с пропуском в 1 CPI является полноконвейерным, т. е. принимающим на исполнение новый моп каждый такт, при том, что может быть более 1 такта. ФУ с пропуском 2 является полуконвейерным, а с пропуском, (почти) равным задержке, - неконвейерным. Дробные значения пропуска команд получаются при исполнении. Например, 0,5 означает наличие либо двух одинаковых конвейерных (для исполнения данной команды) ФУ, либо четырёх полуконвейерных, а 1,5 - наличие двух одинаковых с CPI=3.

ILD (instruction length decoder: декодер длин команд), длиномер - определитель длин -команд. В -ЦП анализирует их , и байты modR/M. В ЦП Intel длиномер является частью , измеряя длины «на лету». В большинстве ЦП AMD он работает с командами при их загрузке из в , сохраняя разметку байтов команд в дополнительных битах в L1I, считываемых предекодером при загрузке .

translator («переводчик»), транслятор - часть , обрабатывающая простые и частые команды без использования . В -ЦП Intel есть 1–3 простых транслятора (на 1 меньше числа конвейера), каждый из которых переводит команду в 1 моп за такт, и 1 сложный транслятор, переводящий команду в 1–4 мопа/такт. Как правило, число генерируемых трансляторами мопов не больше числа путей. Большинство ЦП AMD имеют 3–4 транслятора, каждый из которых переводит команду в 1–2 мопа/такт. команды обрабатываются парами любым транслятором, но не более одной пары за такт.

mROM, µROM («микроПЗУ») - энергонезависимое хранилище для размером в несколько сотен килобит. читает микропрограммы из микроПЗУ по несколько мопов за такт (согласно числу конвейера). Для исправления ошибок содержимое может корректироваться прямым программированием или.

mop buffer, буфер мопов - последняя стадия конвейера, принимающая от декодера и/или и отправляющая их в . По терминологии Intel называется IDQ (instruction decode queue: декодирования команд). В ЦП Intel мопов (как и кэш) может работать в режиме блокировки цикла, освобождая на время его исполнения остальные стадии фронта для простоя, накопления мопов команд после цикла или работы над другим потоком (в процессорах с ). Обнаружение и блокировка цикла в IDQ осуществляется блоком LSD (loop stream detector: детектор циклического потока).

dispatcher, диспетчер - блок конвейера, архитектурно занимающий бо́льшую часть , включая его первую и последнюю стадии. Принимая от или , диспетчер осуществляет , мопов, приём сигналов о завершении мопов и породивших их команд. диспетчер проще: он не делает переименование и размещение и заменяет собой .

register rename, переименование регистров - привязка номера архитектурного -приёмника, описываемого в и указанного в , к аппаратному регистру (должна точнее называться перенумерацией). Является первой стадией и выполняется перед мопа. Аппаратных регистров в 4–10 раз больше, чем архитектурных того же типа, что позволяет реализовать одновременное исполнение мопов, до переименования ссылавшихся на один регистр, за счёт удаления ложных зависимостей по операндам. Не смотря на поочерёдность операции, диспетчер может не только переименовать несколько регистров за такт (учитывая, что в мопе приёмник максимум один, не считая регистра ), но и несколько раз за такт переименовать один и тот же архитектурный регистр. Часто также переименовываются 4–6 важнейших флагов и регистр управления вещественными вычислениями. Аппаратные регистры иногда бывают вдвое меньше архитектурных - в этом случае переименование делается для старшей и младшей половин архитектурного. В продвинутых мопы некоторых команд (обмен, копирование и обнуление) при работе только с регистрами уже на этой стадии и до размещения не доходят.

ROB (reorder buffer: «буфер переупорядочивания») - вопреки названию (термин Intel), хранит оригинальный (программный) порядок мопов, поэтому правильней называется RQ (retire(ment) queue: ; термин AMD). Число мопов в ROB определяет т. н. OoO-окно - диапазон, внутри которого мопы могут . Ячейка в ROB хранит урезанную версию мопа, в которой оставлены лишь необходимые планировщику поля. В частности, если подключен к хранящему , то ROB после исполнения мопов хранит копии их результатов; если к ссылочному - то он хранит ссылки на результаты в ; ни одна из версий не хранит и другую информацию, нужную для мопа.

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

Ссылочный планировщик Хранящий планировщик
Не хранит и не перемещает мопы и данные в резервации. Хранит в резервации мопы и данные, сдвигая их при каждом запуске.
Манипулирует только мопами и номерами регистров, отслеживая и записи в таблице привязки. Манипулирует мопами и уже известным (в т. ч. упреждающим) содержимым регистров, перехватывая результаты, возвращаемые исполненными мопами.
Имеет резервацию, рассчитанную на все . Имеет либо одну многопортовую резервацию, либо несколько однопортовых (с распределением ФУ между ними).
мопы привязаны номерами регистров к . Размещаемые мопы привязаны номерами регистров к ; разместитель записывает в резервацию уже известные значения их операндов из .
После исполнения мопа возвращает его диспетчеру со ссылкой на результат. После исполнения мопа копирует в резервацию записанный им в упреждающий РФ результат и возвращает моп с результатом диспетчеру.

issue («выпуск»), запуск - передача из в для . Если планировщик допускает хранение в своей и мопов (не требуя их разделения при ), то такие мопы запускаются по нескольку раз. Вычислительные мопы, читающие аргумент из памяти, сначала попадают в , затем в и, наконец, в нужное для обработки. Мопы, сохраняющие аргумент в памяти (и которые в не бывают вычислительными), должны в любом порядке запуститься в AGU и LSU. Каждый получатель слитого мопа интерпретирует его по-своему, исполняя одну операцию. После выполнения последней из них моп удаляется из резервации, а планировщик сообщает о возможности удалённого мопа.

EX (execution), исполнение - одна или несколько стадий исполнения мопов, содержащая все (при сюда не включены). Фактическая длина этой стадии определяется для каждого мопа числом стадий обрабатывающего его ФУ.

EU (execution unit: исполнительный блок), FU (functional unit: функциональный блок), ФУ, функциональное устройство - блок , исполняющий и обрабатывающий данные и адреса. Имеет управления для приёма мопов из , 2–3 порта приёма аргументов и порт выдачи результата. Чаще всего именуется по названию исполняемой в нём команды или группы похожих команд. Физически находится в . Для наиболее частых команд может содержать более одного ФУ нужного типа. Производительность ФУ определяется исполняемых команд.

bypass («обход»), шунт, шлюз - коммутаторы и связанные с ними шины передачи данных внутри (шунт) или между ним и другими блоками (шлюз). Каждый шунт связывает одну из шин записи со всеми шинами чтения, позволяя использовать в следующем такте результат только что исполненного мопа - в обход записи в и чтения из . Шлюзы на шинах записи ведут в другие тракты и , а на шинах чтения - от них и от (для подачи констант, включая адреса и адресные смещения).

retire, отставка, commit («совершение») - последняя стадия конвейера и , «легализующая» результаты команд, мопы которых находятся в . Для этого диспетчер (в зависимости от типа ) либо переносит результат мопа из ROB в , либо корректирует используемую для таблицу ссылок на , чтобы записанный мопом архитектурный регистр указывал на верный физический. Т. к. во диспетчер мопы возвращаются из планировщика не обязательно в программном порядке, в отставку заранее завершившийся моп может уйти, только если все предыдущие внесённые в ROB мопы уже отставлены или уходят в данном такте. Многомоповые команды могут отставиться только после отставки всех своих мопов. Отказ в отставке возможен в случае обнаружения:

В последних двух случаях диспетчер возвращает конвейер в предыдущее точно известное состояние («сброс конвейера»), теряя все результаты; успешная отставка обновляет это состояние. Отставка перехода вне зависимости от успешности предсказания пополняет статистику предсказателя.

exception, исключение, исключительная ситуация - событие при обработке , требующее аварийной реакции:

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

Блоки процессора

BTB (branch target buffer: буфер целей ветвлений) - таблица адресов, на которые нацелены часто встречаемые . Позволяет сделать , не читая сами команды. Пополняется (с вытеснением старых адресов) при исполнении нового или «забытого» перехода. (Однако в некоторых ЦП целевые адреса условных переходов попадают в BTB, только если переход .)

GBHR (global branch history register: регистр глобальной истории ветвлений) - регистр сдвига, хранящий поведение нескольких последних исполненных условных переходов. При исполнении перехода GBHR смещается, вытесняя самый «старый» бит и добавляя новый в зависимости от поведения перехода: 1 - , 0 - «пропущен». Используется для индексации .

BHT (branch history table: таблица истории ветвлений) - таблица 2-битных счётчиков, предсказывающих поведение переходов по 4-позиционной шкале (от «наверняка будет пропущен» до «наверняка будет взят»). Индексируется кодирующей хэш-функцией, использующей биты и адреса перехода.

RSB (return stack buffer: буфер стека возврата) - часть BPU, буферизующая адреса возвратов из подпрограмм, вызванных последними. (Отдельного стека для адресов возврата в x86 нет - они находятся в общем стеке среди аргументов и результатов подпрограмм.) Для x86-ЦП имеет размер 12–24 адреса.

ALU (arithmetic-logic unit), АЛУ, арифметико-логическое устройство - тесно связанный набор , исполняющий за 1 такт простые арифметические, логические и некоторые невычислительные команды над операндами, являясь, таким образом, наиболее универсальным и часто используемым исполнительным блоком. Виды:

FPU (floating point unit: «устройство плавающей точки») - блок вещественных операций, состоящий из нескольких ФУ. Виды:

Иногда под FPU понимается весь векторно-вещественный .

MUL (multiplier: умножитель) - ФУ, выполняющее умножения. Является самым сложным и большим видом ФУ, поэтому иногда для экономии места (в ущерб скорости) делается половинной разрядности (относительно наибольших операндов).

MAD, MADD (multiplier-adder: умножитель-сумматор) - тесно спаренные и , выполняющие слитое умножение-сложение и умножение-вычитание быстрее и точнее пары отдельных ФУ. Исполняет команды , отдельное умножение и (иногда) отдельные сложение и вычитание.

DIV (divider: делитель) - сложное неконвейерное ФУ для выполнения деления (а для вещественных чисел - и извлечения квадратного корня). Часто тесно связан с . Иногда для экономии вместо двух специализированных делителей имеется один универсальный - для целых и вещественных чисел.

PLL (phase-locked loop: фазовая синхронизация), умножитель частоты - аналого-цифровой блок процессора, генерирующий такты внутренней синхронизации для всей или её части (ядра, общего , и т. п.) умножением внешней частоты на задаваемый множитель. При изменении множителя умножителю требуется относительно много времени для стабилизации на новой частоте, во время чего тактируемые схемы простаивают.

driver, драйвер - в микроэлектронике: оконечное устройство внешней шины (до памяти, периферии или процессоров), выполняющее приём и передачу сигналов и физическую защиту от перенапряжения. Наборы драйверов расположены по краю .

Подсистема памяти

cache, «$», кэш - программно недоступная буферная память, используемая процессором для ускорения обмена с оперативной памятью (улучшением ) заменой обращений к ОЗУ обращениями к самому кэшу в случае кэш- . В ЦП имеет 2–4-уровневую иерархию, причём оперативная память может считаться дополнительным (последним) уровнем. Как правило, каждый следующий уровень кэша относительно текущего (чаще всего начиная с ) имеет…

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

mop cache (кэш мопов) - часть конвейера, находящаяся перед стадией . Кэширует из команд , потому также называется кэшем 0-го уровня для мопов (L0m). В терминологии Intel называется DIC (decoded instruction cache: кэш декодированных команд) или DSB (decode stream buffer: буфер потока декодера).

L1I (level 1 for instructions: 1-й уровень для команд) - кэш для команд, подключенный к конвейера. Записывается только со стороны , со стороны конвейера только читается. Почти всегда 1-портовый, разрядность совпадает с размером . Иногда освобождается от в пользу .

L2 (level 2: 2-й уровень) - общее название для второго уровня многоуровневой структуры (кэша - по-умолчанию, или - при явном указании), используемого при в первом уровне (). Кэш L2 почти всегда является общим для данных и команд. В 2-уровневой схеме он также является общим для , в 3-уровневой - отдельным, в ЦП с - отдельным для каждого модуля и общим для его кластеров-«ядер». В ЦП - .

L3 (level 3: 3-й уровень) - кэш для данных и команд, используемый при в (других структур с тремя и более уровнями иерархии в процессорах нет). Иногда называется LLC (last level cache: кэш последнего уровня), имея ввиду, что после промаха в нём идёт обращение в память. Является общим для (в ЦП с - модулей). Иногда работает на частоте, меньшей, чем у ядер. В ЦП имеет по одному на , начиная от простого 1-банкового устройства.

miss, промах - ситуация не нахождения нужной информации при обращении в кэш. Антоним . Если текущий уровень кэша не последний - далее происходит обращение к следующему, иначе - к памяти. Возвращённые оттуда данные отдаются инициатору обращения и заполняют (fill) текущий уровень кэша, вытесняя (evict) из выбранного старую, наименее нужную информацию - причём если она пока больше нигде не записана, то её надо сохранить в следующем уровне. Почти все кэши являются неблокирующими (non-blocking), т. е. продолжают принимать запросы, пока обрабатываются промахи. Число удерживаемых промахов определяется размером специального , при заполнении которого кэш блокирует обработку запросов.

line, строка - основная единица ёмкости кэша размером 32–128 байт. Обмен данными между разными уровнями кэша и между кэшем и памятью почти всегда происходит целыми строками.

associativity, ассоциативность - индексируемость не адресом, а содержимым. Для наборно-ассоциативного и ассоциативность это показатель числа. При прочих равных, кэш/TLB с бо́льшей ассоциативностью имеет меньшую частоту , но бо́льшие площадь , потребление энергии (на байт) и (иногда) задержку. Полная ассоциативность означает, что кэш/TLB состоит из единственного (это также применимо к ). Может принимать значения, не равные целой степени двойки. Кэш с ассоциативностью 1 также называется кэшем с прямым отображением (direct-mapped).

port, порт - для кэша: интерфейс между кэшем и его контроллером, управляющим обменом данных. Истинная N-портовая структура позволяет одновременно осуществлять N обращений по разным адресам, однако это требует больших затрат транзисторов и применяется только в . Для кэша используется более простая псевдомногопортовая схема: кэш делится на несколько , каждый из которых работает независимо, но обслуживает лишь свою часть адресов. Как правило, 2-портовому для минимизации адресных конфликтов между портами достаточно 8 банков.

bank, банк - часть кэша, организованная как отдельный 1- или 2- кэш, обслуживающий часть адресов. Многобанковая схема используется для создания псевдомногопортового кэша.

tag («метка»), тэг - вспомогательное слово, хранящее адрес записанной в кэша информации, состояние строки (согласно ) и её популярность (используется при вытеснении старых данных новыми после ). Физически все теги кэша хранятся в отдельном массиве и считываются либо одновременно с выборкой кэша, либо (для экономии энергии в ущерб скорости) до выборки. кэш имеет N-портовый массив тегов или N 1-портовых массивов с одинаковым содержимым.

TLB (translation look-aside buffer: буфер-шпаргалка для трансляции) - кэш дескрипторов страниц , заменяющий трансляцию в более быстрым считыванием. Обращение в TLB нужно для обращения в физически адресуемый кэш (чаще всего - ) и происходит либо одновременно с чтением и выборкой этого кэша, либо (реже) - до. При в TLB полученный физический адрес используется для проверки наличия нужной информации в выбранном теге кэша. Часто несколько TLB организуются в иерархию: TLB L1I и TLB L1D обслуживают запросы к кэшам и , при обращаются во TLB бо́льшего размера (общий TLB L2 или отдельные TLB L2I и TLB L2D), а при промахе в нём (них) виртуальный адрес поступает в . TLB L2 не обслуживают кэш L2, а только промахи в TLB L1: трансляция адресов нужна только для доступа к кэшам L1, а при промахе в них обращения в остальные кэши и память используют уже готовый физический адрес. Часто TLB делится на несколько массивов: самый большой - для страниц по 4 КБ, меньшие - для страниц по 2/4 МБ и 1 ГБ (может вовсе отсутствовать). TLB L1 часто . кэшу требуется N-портовый TLB или N 1-портовых TLB с одинаковым содержимым.

PMH (page miss handler: обработчик промахов страниц) - транслятор в , также проверяющий и права доступа. Активируется при промахе в последнего уровня, читает из кэша или памяти дескриптор нужной страницы, обновляет им TLB и возвращает физический адрес для обращения в кэш. Включает собственный небольшой и .

LSU (load-store unit: блок загрузки-сохранения), MEU (memory unit: блок памяти) - блок интерфейса между конвейера и . Содержит чтений и записей с отслеживанием их зависимостей и функциями, и. Иногда неточно называется MOB (memory order buffer, «буфер порядка» [записей в] память), имея ввиду очередь программного порядка записей - часть LSU, аналогичную для .

STLF (store-to-load forwarding: перенаправление сохранения к загрузке) - функция записи в , позволяющая немедленно исполнить чтение (подставив данные из очереди вместо доступа к кэшу) в случае совпадения адреса чтения с адресом содержащейся в очереди предшествующей записи. Очередь продолжает хранить данные и после записи, поэтому STLF срабатывает вне зависимости от факта совершения записи читаемых данных.

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

flush (смыв) - процесс сохранения всего (пока не сохранённого) содержимого кэша данного уровня в следующем уровне иерархии. Происходит перед отключением кэша или при изменении в таблицах адресов.

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

Сложный предзагрузчик, как и , применяет разные алгоритмы и отслеживает собственную эффективность, отключая предзагрузку для труднопредсказуемых обращений во избежание помещения в кэш ненужных данных («загрязнение кэша»). Для борьбы с последним отсутствующие в кэше и подгруженные извне данные либо сначала сохраняются в буфере предзагрузчика и только в случае востребованности позже записываются в кэш, либо записываются сразу, но указанием наименьшей популярности. Современные ЦП имеют аппаратную предзагрузку почти во все кэши, а в их есть команды программной предзагрузки по явно указанному адресу.

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

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

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

non-exclusive («неисключающая»), mainly inclusive («в основном включающая»), свободная - комбинированная политика работы кэша, допускающая (необязательное) хранение копий некоторых строк кэшей меньших уровней.

WT (write-through), сквозная запись - проведение записи в кэш следующего уровня или память сразу после записи в данный уровень. Упрощает взаимодействие кэшей (при большом темпе записей и отсутствии - в ущерб производительности).

WB (write-back: «обратная запись»), отложенная запись - проведение записи в кэш следующего уровня или память много позже записи в данный уровень (например, при вытеснении этой строки при ). Усложняет взаимодействие кэшей, но позволяет осуществить . Не путать с стадией конвейера.

WC (write combine: слияние записи) - операция замены нескольких записей по одинаковому адресу последней из этих записей и/или замены нескольких записей по последовательным адресам одной записью совокупной длины. Выполняется в очереди записи и отдельном , увеличивая производительность при большом темпе записей.

coherency, когерентность - согласование содержимого кэшей в многоядерной и/или многопроцессорной системе с помощью протокола когерентности. Разные протоколы описывают 4–5 состояний кэша, определяющих действия при её локальных и удалённых чтениях и записях, а также (по первым буквам состояний) название самого протокола (чаще всего - MESI, MOESI и MESIF). С числом ядер растут сложность соблюдения когерентности и синхронизирующий её -трафик.

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

buffer, буфер - общее название структуры, разделяющей поток данных (в т. ч. между стадиями ). Если буфер содержит более одного, то оформлен в виде или памяти и в таком виде позволяет сглаживать неравномерность поступления потока данных относительно его приёма.

IO, I/O (input-output), ввод-вывод - общее название операций или блоков для обмена даннымимежду процессором и периферией.

BIU (bus interface unit: блок шинного интерфейса) - контроллер шины между процессором и северным мостом чипсета или межпроцессорной шины.

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

Из чего состоит процессор

ЦП ‒ это миниатюрная кремниевая пластина прямоугольной формы, которая содержит миллионы транзисторов (полупроводников). Именно они реализуют все функции, которые выполняет процессор.

Почти все современные процессоры состоят из следующих компонентов:

  1. Несколько ядер (редко 2, чаще 4 или 8), которые выполняют все функции. По сути, ядро представляет собой отдельный миниатюрный процессор. Несколько интегрированных в основной чип ядер параллельно работают над задачами, что ускоряет процесс обработки данных. Однако не всегда большее количество ядер означает более быструю работу чипа.
  2. Несколько уровней памяти КЭШ (2 или 3), благодаря чему время взаимодействия ОЗУ и процессора сокращается. Если информация находится в КЭШе, то время доступа к ней минимизировано. Следовательно, чем большим будет объем КЭШа, тем больше информации в него поместится и тем быстрее будет сам процессор.
  3. Контроллер ОЗУ и системной шины.
  4. Регистры ‒ ячейки памяти, где хранятся обрабатываемые данные. Они всегда имеют ограниченный размер (8, 16 или 32 бит).
  5. Сопроцессор. Отдельное ядро, которое предназначается для выполнения операций определенного типа. Чаще всего в виде сопроцессора выступает графическое ядро (видеокарта).
  6. Адресная шина, которая связывает чип со всеми подключенными к материнской плате устройствами.
  7. Шина данных - для связи процессора с оперативной памятью. По сути, шина представляет собой набор проводников, посредством которых передается или принимается электрический сигнал. И чем больше будет проводников, тем лучше.
  8. Шина синхронизации - позволяет контролировать такты и частоту работы процессора.
  9. Шина перезапуска - обнуляет состояние чипа.

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

Ядра

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

  1. Блок выборки, декодирования и выполнения инструкций.
  2. Блок сохранения результатов.
  3. Блок счетчика команд и т.д.

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

Задача ядер

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

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

Регистры

Из чего состоит процессор еще, кроме ядер? Регистры - второй важный его компонент. Как вы уже знаете, это быстрые ячейки памяти, где находятся обрабатываемые данные. Они бывают разными:

  1. A, B, C - используются для хранения информации во время обработки. Их всего три, но этого достаточно.
  2. EIP - в этом регистре хранится адрес следующей в очереди инструкции.
  3. ESP - адрес данных в ОЗУ.
  4. Z - здесь находится результат последней операции сравнения.

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

Заключение

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

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