Какие функциональные компоненты размещены на кристалле процессора
Основным компонентом любой компьютерной системы является центральный процессор. ЦПУ задействован при выполнении операций по вычислению и координации работы прочих компонентов компьютера. Процессор имеет программные и аппаратные «механизмы» взаимодействия. От показателей процессора зависит быстродействие и работоспособность компьютера.
Чаще всего ЦП называют просто процессором, также распространены такие названия как: камень, проц, кристалл и т.д. Все современные модели CPU соответствуют характеристики микропроцессоров, коими и являются.
Микропроцессорами называются сложные электронные устройства, имеющие небольшие размеры и состоящие из нескольких блоков. Основным компонентом ЦП является кристаллическая кремниевая пластина с расположенной на ней интегральной схемой. На площади всего в несколько кв. мм напаяно несколько миллиардов транзисторов, соединенных мельчайшими золотыми контактами.
Для защиты кристалла, он помещается в запаянный футляр из твердого пластика или керамики. Нижняя часть футляра имеет контактные выходы для соединения кристалла с микросхемами материнской платы. Основная задача ЦП – автоматизированное выполнение программных команд.
Типы процессоров
В настоящее время выпуском микропроцессоров для домашних ПК, занимаются компании Intel и AMD. Самым первым процессором, выпущенным Intel Corp. имел условное обозначение 8086, где последние три цифры указывают на количество контактов и подходящий сокет. Первое поколение CPU получившее название х86 имело узкую линейку и простую градацию: от 8086 до 80386. Выпуском процессоров занимаются и такие компании как IBM, Cyrix и Texas Instr., но они больше ориентированы на корпоративный и промышленный сегмент. Новые процессоры часто имеют маркировку х2, х3 и т.д., указывающую на количество физических ядер на кристалле. Так, модель процессора Phenom X3 8600, выпущенная в начале 2010 годов компанией AMD работает на трех физических ядрах с одинаковой тактовой частотой. Среди современных процессоров Intel заметна градация по поколениям, например, I3 2120, является процессором второго поколения линейки «i». Современные процессоры могут иметь на кристалле встроенный видеочип, производительность которого зависит от конкретной модели.
ЦП подбирается под сокет материнской платы, частоту системной шины и совместимую оперативную память. Новые процессоры — это высокоавтоматизированные интеллектуальные системы, которым доступно не только автоматическое отключение при перегреве, но и работа с переключением режимов энергопотребления.
Существуют многопроцессорные системы, характеризующиеся одновременной работой нескольких процессоров, устанавливаемых на одну материнскую плату.
Центральный процессор (ЦП) – основной компонент компьютера, который выполняет арифметические и логические операции, заданные программой, управляет процессом вычислений и координирует работу всех устройств ПК.
Чем мощнее процессор, тем выше быстродействие ПК.
Центральный процессор часто называют просто процессором, ЦПУ (Центральное Процессорное Устройство) или CPU (Central Processing Unit), реже – кристаллом, камнем, хост-процессором.
Современные процессоры являются микропроцессорами.
Микропроцессор имеет вид интегральной схемы – тонкой пластинки из кристаллического кремния прямоугольной формы площадью в несколько квадратных миллиметров, на которой размещены схемы с миллиардами транзисторов и каналов для прохождения сигналов. Кристалл-пластинка помещен в пластмассовый или керамический корпус и соединен золотыми проводками с металлическими штырьками для подсоединения к системной плате ПК.
Рисунок 1. Микропроцессор Intel 4004 (1971 г.)
Рисунок 2. Микропроцессор Intel Pentium IV (2001 г.). Слева – вид сверху, справа – вид снизу
ЦП предназначен для автоматического выполнения программы.
Архитектура
Архитектура напрямую определяет внутреннюю конструкцию процессора (схему кристалла). В рамках одной архитектуры процессоры могут иметь различные характеристики: кэш (об этом ниже), техпроцесс и т.д. Обычно о таких процессорах (с одной архитектурой, но разными характеристиками) говорят, что они имеют разные ядра. По сложившейся традиции компании-производители ЦП дают ядрам различные имена, чтобы было проще ориентироваться.
Примечательно, что компания Intel в качестве названия своих разработок использует географические названия мест (гор, городов, рек), которые находятся неподалеку от места производства. А вот за AMD такого замечено не было.
Например, cpu микроархитектуры Intel Core выпускались с разными ядрами: Conroe, Merom, Kentsfield, Wolfdale, Yorkfield и др. Ядро микропроцессора определяет его 3 важнейшие характеристики: тактовую частоту, частоту шины FSB и сокет (разъем). Кроме того, сами ядра могут многократно дорабатываться, это называется «ревизии» (степпинги). В процессе таких доработок исправляются недоработки или слабые места в конструкции, уменьшается тепловыделение и энергопотребление.
Количество вычислительных ядер — еще одна характеристика, чем оно больше, тем, соответственно, лучше. Все существующие компании-производители процессоров уже давно пошли по пути увеличения количества ядер, размещенных на одном кристалле. На сегодняшний день уже трудно найти модели с количеством ядер менее двух. Многоядерность — как способ повышения производительности признана самым перспективным направлением развития процессоров.
Однако, важно понимать, что эффективность (производительность) работы ядер различных моделей ЦП может существенно отличаться. К тому же, далеко не все существующие на сегодняшний день приложения (особенно старые) оптимизированы для работы с множеством ядер, и по умолчанию могут использовать лишь какое-то одно из них. А поскольку у многих многоядерных cpu тактовая частота каждого ядра меньше, чем у одноядерных моделей, то в таких приложениях даже может наблюдаться снижение производительности.
Впрочем, в большинстве случаев эта проблема легко решается, путем установки специальной программы (CPU control, например), которая позволяет принудительно задействовать все или несколько конкретных ядер, которые вы вольны выбирать сами. К слову, у меня был такой случай, когда некая «Nfs Undercover», казалось бы — 2008 года (когда у многих уже были двухъядерные модели CPU), отказывалась работать со всеми 4 ядрами моего intel core 2 quad q8400 и использовала лишь одно из них, но эта программа все исправила.
Прежде чем продолжить, хотелось бы немного рассказать об основных производителях центральных микропроцессоров. Их, как ни странно, всего 2 — Intel и Amd (прямо как левая и правая палочка «Twix»). И хотя этим двум гигантам по разным оценкам принадлежит порядка 92% всех произведенных на сегодняшний день процессоров, доли этих компаний на рынке совсем не равные, как это может показаться — Intel принадлежит около 75-80%. Остальные 8% продукции — узкоспециализированные ЦП, как, например, для мобильных устройств.
В последнее время доля AMD на рынке микропроцессоров возросла и продолжает расти, за счет игровых приставок Xbox One и PlayStation 4 — где успешно применяются их CPU.
Раз уж мы заговорили про ядра, то будет не лишним упомянуть про такое понятие, как — «многопоточность». Количество ядер процессора и количество потоков не обязательно должно совпадать. Так, например, знаменитый микропроцессор Intel Core i7 с технологией «Hyper-Threading» имеет на «борту» 4 ядра, однако работает в 8 потоков — что дает ему очень хорошую производительность, даже большую, нежели у некоторых 6-ядерных конкурентов.
Многопоточность, в случае с современными 4-ядерными cpu это 8 потоков, позволяет условно разделить обработку приложения на 2 части, то есть обе части приложения выполняются всеми ядрами одновременно (параллельно, если хотите). Такая технология позволяет ощутимо увеличить производительность в некоторых специфичных приложениях, которые «заточены», или другими словами, оптимизированы для этой технологии.
В случае со старыми приложениями, либо просто не оптимизированными для многопоточности, может наблюдаться обратный эффект — снижение производительности. Поэтому в BIOS материнской платы предусмотрена функция отключения гиперпоточности у процессора тогда, когда вам это будет необходимо. Многопоточность будет очень полезна при рендеринге видео или архивации большого объема данных.
Характеристики процессора
Тактовая частота указывает частоту, на которой работает ЦП. За $1$ такт выполняется несколько операций. Чем выше частота, тем выше быстродействие ПК. Тактовая частота современных процессоров измеряется в гигагерцах (ГГц): $1$ ГГц = $1$ миллиард тактов в секунду.
Для повышения производительности ЦП стали использовать несколько ядер, каждое из которых фактически является отдельным процессором. Чем больше ядер, тем выше производительность ПК.
Процессор связан с другими устройствами (например, с оперативной памятью) через шины данных, адреса и управления. Разрядность шин кратна 8 (т.к. имеем дело с байтами) и отличается для разных моделей, а также различна для шины данных и шины адреса.
Разрядность шины данных указывает на количество информации (в байтах), которое можно передать за $1$ раз (за $1$ такт). От разрядности адресной шины зависит максимальный объем оперативной памяти, с которым может работать ЦП.
От частоты системной шины зависит количество данных, которые передаются за отрезок времени. Для современных ПК за $1$ такт можно передать несколько бит. Важна также и пропускная способность шины, равная частоте системной шины, умноженной на количество бит, которые можно передать за $1$. Если частота системной шины равна $100$ Мгц, а за $1$ такт передается $2$ бита, то пропускная способность равна $200$ Мбит/сек.
Пропускная способность современных ПК исчисляется в гигабитах (или десятках гигабит) в секунду. Чем выше этот показатель, тем лучше. На производительность ЦП влияет также объем кэш-памяти.
Данные для работы ЦП поступают из оперативной памяти, но т.к. память медленнее ЦП, то он может часто простаивать. Во избежание этого между ЦП и оперативной памятью располагают кэш-память, которая быстрее оперативной. Она работает как буфер. Данные из оперативной памяти посылаются в кэш, а затем в ЦП. Когда ЦП требует следующее данное, то при наличии его в кэш-памяти оно берется из него, иначе происходит обращение к оперативной памяти. Если в программе выполняется последовательно одна команда за другой, то при выполнении одной команды коды следующих команд загружаются из оперативной памяти в кэш. Это сильно ускоряет работу, т.к. ожидание ЦП сокращается.
Существует кэш-память трех видов:
- Кэш-память $1$-го уровня самая быстрая, находится в ядре ЦП, поэтому имеет небольшие размеры ($8–128$ Кб).
- Кэш-память $2$-го уровня находится в ЦП, но не в ядре. Она быстрее оперативной памяти, но медленнее кэш-памяти $1$-го уровня. Размер от $128$ Кбайт до нескольких Мбайт.
- Кэш-память $3$-го уровня быстрее оперативной памяти, но медленнее кэш-памяти $2$-го уровня.
От объема этих видов памяти зависит скорость работы ЦП и соответственно компьютера.
ЦП может поддерживать работу только определенного вида оперативной памяти: $DDR$, $DDR2$ или $DDR3$. Чем быстрее работает оперативная память, тем выше производительность работы ЦП.
Следующая характеристика – сокет (разъем), в который вставляется ЦП. Если ЦП предназначен для определенного вида сокета, то его нельзя установить в другой. Между тем, на материнской плате находится только один сокет для ЦП и он должен соответствовать типу этого процессора.
Готовые работы на аналогичную тему
Рисунок 3. Упрощенная схема процессора
Тепловыделение
TDP (Вт) — показатель, характеризующий тепловыделение (нагрев) процессора во время его работы. По TPD можно косвенно судить об энергопотреблении cpu, но не стоит их приравнивать друг к другу, как это довольно часто бывает, ведь потребляемая мощность процессора тоже измеряется в «Вт». Но процессор не может выделять в виде тепла столько же энергии, сколько к нему подвели, и уж тем более — отдавать больше энергии, то есть вырабатывать ее. Поэтому TDP всегда будет меньше на несколько Ватт.
В случае с мои процессором (core quad q8400) TDP составляет 95 Вт, а энергопотребление — 136 Вт. На величину TDP очень сильно влияет техпроцесс и частота ядра процессора (в меньшей степени). Чем больше техпроцесс (нм), тем сильнее будет греться процессор. То же самое актуально и для частоты. TDP нужен еще для того, чтобы оценить — какой мощности кулер необходимо установить в систему, чтобы обеспечить эффективное охлаждение.
Учтите, что разные производители по разному определяют величину TDP, поэтому сравнение уместно только в рамках одного производителя процессоров.
Принципы работы процессора
ЦП работает под управлением программы, которая находится в оперативной памяти.
АЛУ получает данные и выполняет указанную операцию, записывая результат в один из свободных регистров.
Текущая команда находится в специальном регистре команд. При работе с текущей командой значение так называемого счетчика команд увеличивается, который затем указывает на следующую команду (исключением может быть только команда перехода).
Команда состоит из записи операции (которую нужно выполнить), адресов ячеек исходных данных и результата. По указанным в команде адресам берутся данные и помещаются в обычные регистры (в смысле не в регистр команды), получившийся результат тоже сначала помещается в регистр, а уж потом перемещается по своему адресу, указанному в команде.
Частота CPU
Тактовая частота процессора — количество операций (тактов) в единицу времени, а конкретнее — в секунду. Этот параметр идет «рука об руку» с другой не менее важной характеристикой — частотой шины FSB, о которой речь пойдет чуть ниже, и напрямую от нее зависит. Чем выше частота ЦП — тем он производительней, однако, подобная зависимость прослеживается только в рамках одной «линейки» (или по-другому — модельного ряда, как, например, все cpu intel core 2 quad), поскольку кроме тактовой частоты на производительность влияют ряд других параметров.
Частота шины FSB. Эта шина представляет из себя набор сигнальных линий, по которым данные поступают в микропроцессор, а также выходят из него. Частота этой шины пропорциональна тактовой частоте процессора, а именно — чем выше частота шины, тем более высокой может быть частота процессора в итоге. К слову, некоторые начинающие (и не только) оверклокеры используют этот прием, а именно — поднимают частоту шины FSB («разгоняют» ее), увеличивая тем самым тактовую частоту процессора.
Существует несколько направлений «разгона» процессора компьютера, можно разгонять «по шине», «по множителю», «по напряжению» и т.д.. Разгон «по шине» чреват тем, что одновременно с процессором «разгоняется» и некоторое другое железо компьютера, включая оперативную память, которая может перестать работать при превышении порога максимальной рабочей частоты памяти. Также, если специально не фиксировать в биосе PCI разъемы, то могут «заглючить» видеокарта, sata (жесткие диски) и сетевая карта.
Поскольку процессор очень «тесно» общается с ОЗУ, иногда он может простаивать, ожидая данные из нее. Кэш-память — это блок очень быстрой оперативной памяти, который расположен прямо на ядре процессора. Она выступает в роли буфера между ОЗУ и самим процессором, мгновенно записывая и отдавая информацию ему. Существует несколько «уровней» такой памяти: кэш первого уровня L1, L2 и L3. Кэш-память первого уровня считается самой быстрой и по скорости выигрывает у обычной ОЗУ.
Следствием применения кэш-памяти является увеличение быстродействия. Чем больше объем кэша любого уровня — тем лучше. Однако кэш-память первого уровня L1, как правило, обладает небольшим объемом (по современным меркам) — всего до 128 кб. Кэш-память второго уровня L2 выполняет все те же операции, что и L1, однако, обладает худшим быстродействием, но большим объемом (до 16 мб).
В случае с многоядерными процессорами размер кэша первого уровня указывается только для одного ядра. Для кэш-памяти второго уровня указывается суммарный объем.
Чем больше размер кэша, тем больше данных в него можно записать, однако тем медленнее процессор их оттуда будет «доставать». Поэтому и придумали разделение по уровням. Думаю, вы уже догадались, что кэш L3 будет иметь самый большой объем из всех и самое худшее быстродействие. Но по факту, кэш L3 встречается далеко не во всех процессорах, а только в самых мощных дорогих решениях, а также в серверных версиях, где он действительно нужен. Большинство же процессоров имеют только два уровня кэша, коих, впрочем, хватает.
Характеристики процессора
Одним из наиболее значимых параметров ЦП является тактовая частота, определяющая его быстродействие. В один такт может быть выполнено множество операций, в секунду, современный процессор способен выполнить несколько миллиардов тактов, в зависимости от частоты. Показатель тактовой частоты выражается в ГГц (гигагерцы). 1 гигагерц равен миллиарду тактов, то есть ЦП с частотой 3.4ГГц выполняет 3.4 млн такта в секунду. Дополнительными способами увеличения производительности ЦПУ являются увеличение количества ядер или внедрение технологии гипертрейдинг – создающей виртуальные ядра. ЦП связывается с прочими компонентами компьютера посредствам контактных линий, адреса, управления и шины данных. Наибольшее значение имеют шины данных и адресов, имеющие определенную разрядность кратную восьми. Показатель разрядности влияет на объем передаваемой информации в секунду, то есть определяет степень быстродействия. Чем выше разрядность, тем быстрее передается и обрабатывается информация. Кроме того, показатель разрядности влияет на максимальный объем устанавливаемой оперативной памяти.
Современные технологии предусматривают работу с большим объемом информации, так, за 1 такт передается несколько бит и показатель увеличивается в зависимости от разрядности шины. Рассчитать пропускную способность шины, можно умножив количество бит передаваемых в секунду на частоту шины. Так, при частоте шины в 100 Мгц, возможно передать 2 бита за 1 такт, что говорит о пропускной способности в 200Мбит/с.
Современные ПК работают имеют показатели пропускной способности, измеряемые в десятка гигабит. Кроме шины, важным параметром ЦП является кэш-память, а точнее ее объем. Данный отдел отвечает за безостановочную обработку информации поступающей из ОЗУ (оперативной памяти). Кеш является своеобразным буфером, обладающим более высоким быстродействием нежели оперативная память.
При необходимости последовательно обрабатывать несколько разрозненных данных, в кэш-память они поступают поочередно из памяти оперативной. Возможность буферизации данных позволила значительно ускорить быстродействие компьютера и свести к минимуму так называемые подвисания.
Кэш подразделяется на три уровня, отличающиеся скоростью работы, локализацией, объемом и размерами:
- L1 – максимальное быстродействие, расположен на кристалле ядра, имеет минимальный объем;
- L2 – среднее значение быстродействия, устанавливается рядом с ядром, может иметь объем до нескольких мегабайт;
- L3 – имеет объем памяти больший чем у кэша L2, меньший показатель быстродействия, расположен рядом с ядром.
Совокупный объем памяти определяет быстродействие ПК в целом.
Технологические особенности и ограничения позволяют ЦП взаимодействовать только с определенным видом памяти. Также каждый процессор имеет собственный разъем (сокет) с определенным количеством контактов. Не существует универсальных сокетов, на каждую материнскую плату может быть установлен только процессор определенной модели.
Сокет
Socket cpu представляет из себя разъем (гнездо) на материнской плате компьютера, в который и устанавливается процессор. Соответственно — это «гнездо» должно быть рассчитано на установку в него процессора определенных размеров (длины, ширины) с определенным количеством контактов на нижней части. Если вы планируете сделать апгрейд своего компьютера (поставить более мощный процессор), обязательно посмотрите какие вообще микропроцессоры поддерживает ваша материнская плата.
Подробнее о том, что такое сокет процессора уже упоминалось ранее, поэтому останавливаться на этом здесь подробно не будем. В той же статье мельком упоминалось, что сокет, помимо всего прочего, влияет на тип оперативной памяти (ddr2 или ddr3), который можно установить в материнскую плату. Например, ранее повсеместно применяемый сокет LGA 775 поддерживал только ОЗУ типа ddr2. В общем, разные сокеты соответствуют разным типам процессоров.
Компания AMD делает сокеты с длительной «поддержкой», иными словами, каждое новое поколение их процессоров не всегда требует перехода на другой сокет. С Intel дела обстоят с точностью наоборот — почти каждое новое поколение процессоров выпускается под совершенно другой сокет, из-за чего неизбежно приходится менять еще и материнскую плату.
Наличие этой буквы в названии процессора говорит о присутствии разгонного потенциала, то есть, иными словами, в таком процессоре уже с завода идет разблокированный множитель. Это позволяет «разогнать» ЦП без поднятия частоты FSB шины, а лишь за счет выбора коэффициента умножения (множителя). В большинстве cpu (не K) множитель заблокирован на уровне ядра. В моделях K-серии вы вольны сами выбирать значение множителя через BIOS компьютера, тем самым разгоняя ТОЛЬКО процессор, а не все остальное железо.
Видеокарта в процессоре
Кроме обычных нескольких ядер в некоторых моделях процессоров иногда можно встретить еще одно «ядро», отвечающее только за вывод изображения на монитор, то есть — миниатюрная «видеокарта», расположенная прямо внутри ЦП. Как правило, ими оснащаются все «топовые» процессоры и большинство процессоров среднего ценового сегмента.
Конечно, производительность таких видео-ядер не идет ни в какое сравнение с полноценными видеокартами, однако для серфинга в интернете и просмотра фильмов вполне сгодится. Ими обычно комплектуются офисные компьютеры различных организаций, ноутбуки и нетбуки, что позволяет сэкономить на приобретении отдельной дискретной (полноценной) видеокарты.
Прослеживается и такая связь: обычно, чем дороже процессор, тем более производительное видео-ядро в нем установлено. В самых мощных моделях (core i7, например) мощность графического ядра настолько высока, что позволяет играть в современные игры на средних, средне-низких настройках графики, что по уровню вполне соответствует некоторым бюджетным видеокартам.
При всем этом, в процессе построения картинки у процессора отбирается часть вычислительной мощности и резервируется некоторый объем ОЗУ в качестве видеопамяти.
Устройство процессора
Основными компонентами ЦП являются:
- арифметико-логическое устройство (АЛУ) выполняет основные математические и логические операции;
- управляющее устройство (УУ), от которого зависит согласованность работы компонентов ЦП и его связь с другими устройствами;
- шины данных и адресные шины;
- регистры, в которых временно хранится текущая команда, исходные, промежуточные и конечные данные (результаты вычислений АЛУ);
- счетчики команд;
- кэш-память хранит часто используемые данные и команды. Обращение в кэш-память гораздо быстрее, чем в оперативную память, поэтому, чем она больше, тем выше быстродействие ЦП.
Устройство процессора
В состав процессорной единицы включены такие компоненты как:
- АЛУ – арифметическое-логическое устройство выполняющее основной объем математических и логических операций;
- Адресные шины и шины данных;
- Устройство управления – согласует и координирует работу взаимосвязанных с ЦПУ устройств;
- Регистры АЛУ – временное хранилище исполнительных данных;
- Кеш и счетчики команд – хранилище рабочих данных, требуемых для быстрого запуска часто используемых приложений. В отличие от памяти оперативной, кэш-память обрабатывает информацию гораздо быстрее.
Принципы работы процессора
Работой ЦПУ руководит программное обеспечение (драйвер) прописанное в память компьютера. Для хранения основных (исполнительных) компонентов программы используется оперативная память, настройки и регулировки прописаны в BIOS интегрированный в материнскую плату. Подача команды осуществляется на АЛУ, после чего ответы фиксируются в регистре. Записанная команда при работе формирует подчиненные команды, регистрируемые счетчиком, значение которого увеличивается вплоть до инициации новой команды. Команда формируется операционными записями, подлежащими исполнению, адресами данных и результатом. Адреса служат для перемещения данных в некомандные регистры, которые также необходимы для промежуточной записи результата. После записи в регистре результат отражается в команде.
Техпроцесс
Итак, техпроцесс. Современные процессоры состоят из огромного числа транзисторов, размещенных на маленьком кремниевом кристалле. Чем больше транзисторов — тем мощнее в итоге получается процессор. Высокой плотности монтажа удается достичь за счет многослойной структуры готового кристалла процессора. Процесс очень напоминает фотолитографию (когда проявляют фотопленку, свет проходит через негатив и создает изображение на фотобумаге).
Современные технологии позволяют создавать транзисторы размером всего 22 нанометра и даже меньше! Для сравнения, толщина человеческого волоса около 50000 нм. Со временем техпроцесс будет только уменьшаться, что позволит создавать еще более мощные ЦП, такая тенденция прослеживается уже сейчас. Чем меньше техпроцесс, тем больше транзисторов можно разместить на одном кристалле, и тем мощнее в итоге будет процессор, вот так.
Типы процессоров
Основной компанией, выпускающей ЦП для ПК, является компания Intel. Первым процессором для ПК был процессор $8086$. Следующей моделью была $80286$, далее $80386$, со временем цифру $80$ стали опускать и ЦП стали называть тремя цифрами: $286$, $386$ и т.д. Поколение процессоров часто называют семейством $x86$. Выпускаются и другие модели процессоров, например, семейства Alpha, Power PC и др. Компаниями-производителями ЦП также являются AMD, Cyrix, IBM, Texas Instruments.
В названии процессора часто можно встретить символы $X2$, $X3$, $X4$, что означает количество ядер. Например в названии Phenom $X3$ $8600$ символы $X3$ указывают на наличие трех ядер.
Итак, основными типами ЦП являются $8086$, $80286$, $80386$, $80486$, Pentium, Pentium Pro, Pentium MMX, Pentium II, Pentium III и Pentium IV. Celeron является урезанным вариантом процессора Pentium. После названия обычно указывается тактовая частота ЦП. Например, Celeron $450$ обозначает тип ЦП Celeron и его тактовую частоту – $450$ МГц.
Процессор нужно устанавливать на материнскую плату с соответствующей процессору частотой системной шины.
В последних моделях ЦП реализован механизм защиты от перегрева, т.е. ЦП при повышении температуры выше критической переходит на пониженную тактовую частоту, при которой потребляется меньше электроэнергии.
Если в вычислительной системе несколько параллельно работающих процессоров, то такие системы называются многопроцессорными.
Существует общественное мнение, что процессор - мозг компьютера. Но как работает этот самый мозг, состоящий из миллиардов транзисторов? В этой небольшой серии статей (всего из четырех частей)портал Techspotрешил тщательно разобраться в том, что же заставляет работать ваше "железо".
В статьях будут затронуты такие темы, как принцип работы компьютерной архитектуры, дизайн микросхем процессоров, сверхбольшая масштабная интеграция (VLSI), создание чипов и грядущие тренды. Если вам всегда было интересно, как работают процессоры, то присаживайтесь прямо сейчас и наслаждайтесь чтением, потому что именно с этого и начнется данная статья.
Для началанужно понять, из чего состоит процессор, и как блоки соединяются в функциональное целое. Также будет затронута тема ядер процессоров, иерархии памяти, прогнозирования ветвлений и многого другого. Для начала, стоит дать базовое определение тому, что именно делает процессор. Если говорить простым языком, то процессор проводит операции над введенными командами, следуя конкретным инструкциям. Такой операцией может быть считывание значений из памяти, сложение этих значений, а затем сохранение их в другом отделе памяти. Или что-то более сложное - например, деление двух чисел, если результат предыдущего вычисления оказался выше нуля.
Любая программа, будь то операционная система или видеоигра, представляет собой набор инструкций, которые необходимо выполнить. Эти действия загружаются из памяти и запускаются по очереди, вплоть до окончания программы. Многие разработчики пишут программы на сложных языках программирования, например, C++ или Python, но стоит отметить, что процессор их попросту не понимает. Все, что он может - обработать нули и единицы, поэтому необходимо представить код в подобном формате.
Программы представляют собой набор низкоуровневых инструкций. Их называют языком ассемблера (assembly language), и они являются одной из частей архитектуры набора команд (ISA). Процессоры запрограммированы на распознавание и выполнение этих инструкций. Самыми распространенными архитектурами набора команд являются x86, MIPS, ARM, RISC-V и PowerPC. Каждая из них отличается друг от друга написанием кода, по аналогии с языками программирования.
Эти архитектуры можно разбить на две категории: архитектуры с фиксированной длиной и переменной длиной. RISC-V является архитектурой с фиксированной длиной, и это означает, что по количеству битов можно понять можно определить тип инструкции. Ее полная противоположность - это x86: архитектура с переменной длиной, в которой каждая инструкция может быть закодирована совершенно по-разному и с разным количеством битов в каждой части. Именно поэтому декодер инструкций на процессорах с архитектурой x86 является самой сложной деталью всего устройства.
Инструкции с фиксированной длиной декодируются легче и быстрее, но у таких архитектур существует лимит поддерживаемых инструкций. Так, самые распространенные процессоры на RISC-V с открытым доступом поддерживают около 100 инструкций, а x86 является закрытой архитектурой, поэтому никто не знает точного количества поддерживаемых инструкций. Многие считают, что это число достигает нескольких тысяч, но это лишь догадки. Тем не менее, несмотря на такую разницу, процессоры на обеих архитектурах выполняют одни и те же функции.
Примеры инструкций архитектуры RISC-V. Инструкция opcode справа занимает 7 бит, что, в свою очередь, определяет ее тип. Каждая инструкция состоит из битов, которые отвечают за то, какие регистры и функции будут выполняться. Так инструкции ассемблера превращаются в бинарный код, который процессор способен считывать.
Итак, теперь можно включать компьютер и запускать программы. Стоит отметить, что выполнение инструкции состоит из нескольких базовых шагов.
Первым таким шагом является перенос инструкции из памяти в сам процессор. На второй стадии инструкция декодируется, чтобы процессор смог понять, что это за инструкция. Типов инструкций много - от арифметических действий до инструкций памяти. После того, как процессор определил тип инструкции, он достает необходимые операнды из памяти или внутренних регистров. Объясняется это просто - вы не можете сложить числа A и B, если не знаете их значений. Стоит также упомянуть, что, так как многие современные процессоры 64-битные, то размер значения данных тоже будет составлять 64 бита.
64 бита - это пропускная способность регистра процессора; пути данных и/или адреса памяти. Чем больше бит, тем больше информации компьютер может обрабатывать за раз. Проще говоря, 64-битный процессор может обрабатывать в два раза больше информации, чем 32-битный.
После того, как процессор получил необходимые операнды, начинается выполнение инструкции и операций над введенными данными. Это может быть добавление чисел, проведение логических манипуляций или даже отсутствие действий, когда значение просто отправляется дальше. После подсчета результатапроцессор может снова обратиться к памяти, чтобы сохранить полученное значение там или же просто отложить полученное значение в одном из внутренних регистров. Только после того, как результат сохранен, процессор обновит состояние различных элементов и перейдет к выполнению следующей инструкции.
Следует отметить, что вся вышеперечисленная цепочка действий значительно упрощена, поскольку в реальных ситуациях большинство современных процессоров разделяют все эти действия на 20+ более мелких циклов, чтобы повысить эффективность. В профессиональной среде подобное называется пайплайном - чем-то вроде трубопровода, который постепенно заполняется жидкостью, но как только заполнится полностью, внутри создается постоянный поток.
Пример четырехступенчатого пайплайна. Цветные квадраты представляют собой независимые друг от друга инструкции.
Прохождение циклов - тщательно отлаженный процесс, но не все инструкции заканчиваются одновременно. Сложение, например, выполняется невероятно быстро, а вот делению или загрузке из памяти может потребоваться на выполнение несколько сотен циклов. Современные процессорывместо того, чтобы простаивать в ожидании завершения одной медленной инструкции, могут выполнять инструкции вне очереди. Процессор сам способен определить, какую инструкцию лучше выполнить в данный момент, а какие - после нее. Если выполняемая инструкция еще не готова, то система может забежать немного вперед, чтобы посмотреть, готово ли что-то другое.
Современные процессоры, кроме внеочередного выполнения инструкций, обладают также суперскалярной архитектурой. Это означает, что процессор может выполнять сразу несколько инструкций на каждом из этапов пайплайна. Для того, чтобы это было возможно, процессору необходимо иметь несколько копий каждого этапа пайплайна. Таким образом, если процессор видит две доступные для исполнения инструкции, между которыми нет никакой зависимости друг от друга, то он сможет одновременно выполнить обе. Такая технология называется одновременной многопотоковостью (SMT), более известной как гиперпотоковость (Hyper-Threading). Процессоры Intel и AMD поддерживают двухстороннюю одновременную многопотоковость, в то время как IBM разработала чипы, поддерживающие уже восьмистороннюю многопотоковость.
Для того, чтобы в точности прорабатывать подобную схему, процессорупомимо ядра для работы необходимы и другие элементы. В каждом процессоре расположены сотни модулей, причем каждый предназначен для специфической задачи, но в этой статье будут затронуты лишь самые важные. Основные два - это кэш и блок предсказания ветвлений.
Неопытных пользователей кэш может сбить с толку, ведь его главная задача - хранить данные, прямо как оперативная память или любой другой накопитель. Главное отличие кэша заключается в его огромной скорости и низкой задержке при работе с данными. Несмотря на то, что оперативная память обладает высокой скоростью работы с данными, она все еще в разы медленней кэша и слишком медленная для работы процессора. Если говоритьо более точных цифрах, то кэш быстрее оперативной памяти в 100 раз и в 1000 раз быстрее любого SSD. Без кэша процессоры работали бы в разы медленней.
Почти в каждом процессоре есть три уровня кэша - это называется иерархией памяти. Кэш 1 уровня (L1) самый быстрый и самый маленький, 3 уровня (L3), наоборот, крупнейший и медленный, а кэш 2 уровня (L2) - "золотая середина" между ними. Выше кэша в иерархии памяти стоят маленькие регистры, в которых сохраняется одиночное значение данных во время работы процессора. Эти регистры по скорости даже опережают кэш. Регистры используются, когда компилятор переводит высокоуровневые программы в язык ассемблера.
Когда процессор запрашивает данные из памяти, то он сначала проверяет, находятся ли эти данные в кэше первого уровня. Если они там есть, то процессор получает доступ к ним всего за пару циклов. Однако, если данных нет в кэше первого уровня, то процессор поищет их в кэше второго, а затем третьего уровня. С каждым уровнем будет снижаться скорость и увеличиваться задержка. Наконец, если в кэше данных не было, процессор начнет искать их уже в основной памяти (RAM).
В большинстве процессоров каждое ядро оснащено двумя кэшами первого уровня: один предназначен для данных, а другой - для инструкций. Кэш первого уровнязачастуюоколо 100 КБ в размере, хотя это число может отличаться в зависимости от процессора. Обычно на каждое ядро приходится по кэшу второго уровня, хотя в некоторых архитектурах процессоров может кэш может быть разделен между двумя ядрами. Размер этого кэша составляет уже несколько сотен килобайт. Самым большим (несколько десятков мегабайт) является кэш 3 уровня, который делится сразу между всеми ядрами процессора.
Во время обработки кода процессороминструкции и значения данных в большинстве случаев направляются в кэш. Так значительно увеличивается скорость выполнения задачи, поскольку процессору не нужно обращаться к главной памяти. Более подробно работа систем памяти будет рассмотрена во второй и третьей части этой серии статей.
Вторым важнейшим элементом процессора является блок предсказания ветвлений. Разветвленные инструкции являются чем-то вроде команды “если”, только в контексте процессора. Одна часть инструкций будет выполняться, если условие верно, а другая - если условие ложно. Пример: необходимо сравнить два числа, иесли числа равны, то выполнить одну функцию, а если нет - то другую. Ветвления довольно распространены изачастуюсоставляют около 20% всех инструкций программы.
На бумаге разветвленные инструкции звучат довольно просто, но для процессоров их выполнение может быть довольно проблематичным. Поскольку процессор может выполнять 10-20 инструкций одновременно, ему важно понимать, какие именно нужно обработать. Процессору может понадобиться 5 циклов, чтобы определить, является ли инструкция разветвленной, а затем до 10 циклов для того, чтобы определить верна она или нет. В это же время, процессор может начать выполнять десятки дополнительных инструкций, даже не зная правильно ли их выполнение.
Для решения этой проблемы все современные высокопроизводительные процессоры используют технологию спекулятивного выполнения. Благодаря этой технологии, процессор запоминает выполняемые разветвленные инструкции и автоматически угадывает, произойдет ли ветвление или нет. Если системе удалось угадать, то процессор будет заранее выполнять другие инструкции, что увеличивает производительность. Если же не удалось, то процессор остановит выполнение всех неподходящих инструкций и начнет выполнять задачи с правильной точки.
Блоки предсказания ветвлений - это нечто вроде ранней формы машинного обучения, поскольку блок будет постепенно заучивать принцип работы разветвленных инструкций. Благодаря тому, что блоки развивались и улучшались десятилетиями, точность прогнозов в современных процессорах превышает 90%.
Несмотря на то, что эти предсказания могут увеличить производительность процессора, они также образуют дыры в безопасности. Так, недавняя уязвимость Spectre позволяла злоумышленникам получить доступ к процессору именно через блок предсказания ветвлений. Из-за этого производители процессоров вынуждены были переписать алгоритмы работы, тем самым слегка снизив производительность.
В последние несколько десятилетий процессоры развились до невероятных высот. Благодаря умелому использованию многих элементов процессоров, производителям удалось поднять производительность на новый уровень. Увы, но эти самые производители держат все принципы работы своих технологий в строжайшем секрете, поэтому трудно понять, как работают мельчайшие детали. К счастью, большинство фундаментальных основ работы процессоров остаются неизменными, стандартизированным и общеизвестными. Если Intel вдруг внезапно решит каким-то волшебным образом увеличить скорость работы кэша, либо AMD добавит более продвинутый блок предсказания ветвлений, знайте - обе компании стараются добиться одной и той же цели.
На этом заканчивается небольшая экскурсия в мир основ работы процессоров. В следующей статье речь пойдет о том, как создаются различные компоненты процессора, о логических вентилях, частоте, энергопотреблении, печатных схемах и многом другом.
Сейчас полно информации в интернете по теме процессоров, можно найти кучу статей о том как он работает, где в основном упоминаются регистры, такты, прерывания и прочее. Но, человеку не знакомому со всеми этими терминами и понятиями достаточно трудно вот так "с лету" вникнуть в понимание процесса, а начинать надо с малого - а именно с элементарного понимания как устроен процессор и из каких основных частей он состоит.
Итак, что же окажется внутри микропроцессора, если его разобрать:
цифрой 1 обозначается металлическая поверхность (крышка) микропроцессора, служащая для отвода тепла и защиты от механических повреждений того, что находится за этой крышкой (тоесть внутри самого процессора).
Под номером 2 - находится сам кристалл, по факту являющийся самой важной и дорогой в изготовлении частью микропроцессора. Именно благодаря этому кристаллу происходят все вычисления (а это и есть самая главная функция процессора) и чем он сложнее, чем совершенней - тем мощнее получается процессор и тем дороже соответственно. Кристалл изготавливается из кремния. На самом деле процесс изготовления очень сложный и содержит в себе десятки шагов, подробнее в этом видео:
Цифра 3 - специальная текстолитовая подложка, к которой крепятся все остальные части процессора, кроме того она играет роль контактной площадки - на ее обратной стороне есть большое количество золотистых "точек" - это контакты (на рисунке их немного видно). Благодаря контактной площадке (подложке) обеспечивается тесное взаимодействие с кристаллом, ибо напрямую хоть как нибудь воздействовать на кристалл не представляется возможным.
Крышка (1) крепится к подложке (3) с помощью клея-герметика, устойчивого к высоким температурам. Между кристаллом (2) и крышкой нет воздушного зазора, его место занимает термопаста, при застывании из нее получается "мостик" между кристаллом процессора и крышкой, благодаря чему обеспечивается очень хороший отток тепла.
Кристалл соединяется с подложкой с помощью пайки и герметика, контакты подложки соединяются с контактами кристалла. На этом рисунке наглядно показано как соединяются контакты кристалла с контактами подложки при помощи очень тонких проводков (на фото 170-кратное увеличение):
Вообще устройство процессоров разных производителей и даже моделей одного производителя может сильно разниться. Однако принципиальная схема работы остается прежней - у всех есть контактная подложка, кристалл (или несколько, расположенных в одном корпусе) и металлическая крышка для отвода тепла.
Так например выглядит контактная подложка процессора Intel Pentium 4 (процессор перевернут):
Форма контактов и структура их расположения зависит от сокета процессора и материнской платы компьютера (сокеты должны совпадать). Например на рисунке чуть выше контакты у процессора без "штырьков", поскольку штырьки находятся прямо в сокете материнской платы.
А бывает другая ситуация, где "штырьки" контактов торчат прямо из контактной подложки. Эта особенность характерна в основном для процессоров AMD:
Как уже упоминалось выше, устройство разных моделей процессоров одного производителя может различаться, перед нами яркий тому пример - четырехъядерный процессор Intel Core 2 Quad, который по сути представляет собой 2 двухъядерных процессора линейки core 2 duo, совмещенных в одном корпусе:
Важно! Количество кристаллов внутри процессора и количество ядер процессора - не одно и то же.
В современных моделях процессоров Intel умещается сразу 2 кристалла (чипа). Второй чип - графическое ядро процессора, по-сути играет роль встроенной в процессор видеокарты, тоесть даже если в системе отсутствует видеокарта, графическое ядро возьмет на себя роль видеокарты, причем довольно мощной (в некоторых моделях процессоров вычислительная мощь графических ядер позволяет играть в современные игры на средних настройках графики).
Вот и все устройство центрального микропроцессора, вкратце конечно же.
Процессор является очень высокотехнологичным устройством, он по праву считается «мозгом» любого компьютера. В одной из предыдущих статей мы с вами подробно рассмотрели устройство центрального процессора (CPU) компьютера. Но, как и любой другой компонент, центральный процессор имеет множество параметров. И сегодня я предлагаю в подробностях рассмотреть характеристики центрального процессора.
Читайте также: