Устройство процессора и его назначение
На самом деле то, что мы сегодня называем процессором, правильно называть микропроцессором. Разница есть и определяется видом устройства и его историческим развитием.
Первый процессор (Intel 4004) появился в 1971 году.
Внешне представляет собой кремневую пластинку с миллионами и миллиардами (на сегодняшний день) транзисторов и каналов для прохождения сигналов.
Назначение процессора – это автоматическое выполнение программы. Другими словами, он является основным компонентом любого компьютера.
Устройство процессора
Ключевыми компонентами процессора являются арифметико-логическое устройство (АЛУ), регистры и устройство управления. АЛУ выполнят основные математические и логические операции. Все вычисления производятся в двоичной системе счисления. От устройства управления зависит согласованность работы частей самого процессора и его связь с другими (внешними для него) устройствами. В регистрах временно хранятся текущая команда, исходные, промежуточные и конечные данные (результат вычислений АЛУ). Разрядность всех регистров одинакова.
Кэш данных и команд хранит часто используемые данные и команды. Обращение в кэш происходит намного быстрее, чем в оперативную память, поэтому, чем он больше, тем лучше.
Схема процессора
Работа процессора
Работает процессор под управлением программы, находящейся в оперативной памяти.
(Работа процессора сложнее, чем это изображено на схеме выше. Например, данные и команды попадают в кэш не сразу из оперативной памяти, а через блок предварительной выборки, который не изображен на схеме. Также не изображен декодирующий блок, осуществляющий преобразование данных и команд в двоичную форму, только после чего с ними может работать процессор.)
Блок управления помимо прочего отвечает за вызов очередной команды и определение ее типа.
Арифметико-логическое устройство, получив данные и команду, выполняет указанную операцию и записывает результат в один из свободных регистров.
Текущая команда находится в специально для нее отведенном регистре команд. В процессе работы с текущей командой увеличивается значение так называемого счетчика команд, который теперь указывает на следующую команду (если, конечно, не было команды перехода или останова).
Часто команду представляют как структуру, состоящую из записи операции (которую требуется выполнить) и адресов ячеек исходных данных и результата. По адресам указанным в команде берутся данные и помещаются в обычные регистры (в смысле не в регистр команды), получившийся результат тоже сначала оказывается в регистре, а уж потом перемещается по своему адресу, указанному в команде.
Характеристики процессора
Тактовая частота процессора на сегодняшний день измеряется в гигагерцах (ГГц), Ранее измерялось в мегагерцах (МГц). 1МГц = 1 миллиону тактов в секунду.
Процессор «общается» с другими устройствами (оперативной памятью) с помощью шин данных, адреса и управления. Разрядность шин всегда кратна 8 (понятно почему, если мы имеем дело с байтами), изменчива в ходе исторического развития компьютерной техники и различна для разных моделей, а также не одинакова для шины данных и адресной шины.
Разрядность шины данных говорит о том, какое количество информации (сколько байт) можно передать за раз (за такт). От разрядности шины адресазависит максимальный объем оперативной памяти, с которым процессор может работать вообще.
На мощность (производительность) процессора влияют не только его тактовая частота и разрядность шины данных, также важное значение имеет объем кэш-памяти.
Назначение и применение микропроцессоров
Процессором принято считать небольшую микросхему, находящуюся в отдельном слоте материнской платы, которая осуществляет миллионы различных операций. Именно микропроцессор отвечает за все функции управления компьютерным устройством. Без него не получиться произвести запуск ПК или мобильного устройства.
На ресурсе www.baikalelectronics.ru представлены современные полупроводниковые процессоры известного отечественного производителя. В настоящее время они применяются в компьютерных и промышленных системах разного уровня производительности. Микропроцессоры Байкал являются конкурентоспособными, что достигается благодаря многочисленным интерфейсам. При достаточно умеренной стоимости чипы активно устанавливаются на оборудовании разного назначения, эффективно справляясь с поставленными задачами.
От производительности чипа обычно завис то, насколько быстро будут обрабатываться операции и команды. Можно будет заметить, что даже сложные утилиты станут быстрее работать и открываться, если использоваться мощный микропроцессор. В качестве примера стоит привести просмотр 3D-видео в высоком качестве. Как правило, такая операция серьезно нагружает процессор. Если речь идет о слабом чипе, тогда процесс воспроизведения будет существенно осложнен. Аналогичной можно назвать ситуацию, когда нужно запустить компьютерную игру. Если это и получится сделать на слабом процессоре, то дальше попросту не получится нормально играть, потому что он будет постоянно «тормозить» и «зависать».
В настоящее время компания Байкал Электроникс трудится над созданием первых чипов, работающих на архитектуры ARM (АРМ). В первую очередь, они предназначаются для настольных ПК и смарт устройств, элементов промышленной автоматики и встроенных систем.
На правах рекламы
Как работает процессор?
Кратко и доступно о том, как работает центральный процессор, регистры, память, инструкции и кэш, а также что такое УУ и АЛУ и зачем они нужны.
Инструмент проще, чем машина. Зачастую инструментом работают руками, а машину приводит в действие паровая сила или животное.
Компьютер тоже можно назвать машиной, только вместо паровой силы здесь электричество. Но программирование сделало компьютер таким же простым, как любой инструмент.
Процессор — это сердце/мозг любого компьютера. Его основное назначение — арифметические и логические операции, и прежде чем погрузиться в дебри процессора, нужно разобраться в его основных компонентах и принципах их работы.
Два основных компонента процессора
Устройство управления
Устройство управления (УУ) помогает процессору контролировать и выполнять инструкции. УУ сообщает компонентам, что именно нужно делать. В соответствии с инструкциями он координирует работу с другими частями компьютера, включая второй основной компонент — арифметико-логическое устройство (АЛУ). Все инструкции вначале поступают именно на устройство управления.
Существует два типа реализации УУ:
- УУ на жёсткой логике (англ. hardwired control units). Характер работы определяется внутренним электрическим строением — устройством печатной платы или кристалла. Соответственно, модификация такого УУ без физического вмешательства невозможна.
- УУ с микропрограммным управлением (англ. microprogrammable control units). Может быть запрограммирован для тех или иных целей. Программная часть сохраняется в памяти УУ.
УУ на жёсткой логике быстрее, но УУ с микропрограммным управлением обладает более гибкой функциональностью.
Арифметико-логическое устройство
Это устройство, как ни странно, выполняет все арифметические и логические операции, например сложение, вычитание, логическое ИЛИ и т. п. АЛУ состоит из логических элементов, которые и выполняют эти операции.
Большинство логических элементов имеют два входа и один выход.
Ниже приведена схема полусумматора, у которой два входа и два выхода. A и B здесь являются входами, S — выходом, C — переносом (в старший разряд).
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Хранение информации — регистры и память
Как говорилось ранее, процессор выполняет поступающие на него команды. Команды в большинстве случаев работают с данными, которые могут быть промежуточными, входными или выходными. Все эти данные вместе с инструкциями сохраняются в регистрах и памяти.
Регистры
Регистр — минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. latches/flip-flops). Триггеры, в свою очередь, состоят из логических элементов и могут хранить в себе 1 бит информации.
Прим. перев. Триггеры могут быть синхронные и асинхронные. Асинхронные могут менять своё состояние в любой момент, а синхронные только во время положительного/отрицательного перепада на входе синхронизации.
По функциональному назначению триггеры делятся на несколько групп:
- RS-триггер: сохраняет своё состояние при нулевых уровнях на обоих входах и изменяет его при установке единице на одном из входов (Reset/Set — Сброс/Установка).
- JK-триггер: идентичен RS-триггеру за исключением того, что при подаче единиц сразу на два входа триггер меняет своё состояние на противоположное (счётный режим).
- T-триггер: меняет своё состояние на противоположное при каждом такте на его единственном входе.
- D-триггер: запоминает состояние на входе в момент синхронизации. Асинхронные D-триггеры смысла не имеют.
Для хранения промежуточных данных ОЗУ не подходит, т. к. это замедлит работу процессора. Промежуточные данные отсылаются в регистры по шине. В них могут храниться команды, выходные данные и даже адреса ячеек памяти.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Память (ОЗУ)
ОЗУ (оперативное запоминающее устройство, англ. RAM) — это большая группа этих самых регистров, соединённых вместе. Память у такого хранилища непостоянная и данные оттуда пропадают при отключении питания. ОЗУ принимает адрес ячейки памяти, в которую нужно поместить данные, сами данные и флаг записи/чтения, который приводит в действие триггеры.
Прим. перев. Оперативная память бывает статической и динамической — SRAM и DRAM соответственно. В статической памяти ячейками являются триггеры, а в динамической — конденсаторы. SRAM быстрее, а DRAM дешевле.
Команды (инструкции)
Команды — это фактические действия, которые компьютер должен выполнять. Они бывают нескольких типов:
- Арифметические: сложение, вычитание, умножение и т. д.
- Логические: И (логическое умножение/конъюнкция), ИЛИ (логическое суммирование/дизъюнкция), отрицание и т. д.
- Информационные: move , input , outptut , load и store .
- Команды перехода: goto , if . goto , call и return .
- Команда останова: halt .
Прим. перев. На самом деле все арифметические операции в АЛУ могут быть созданы на основе всего двух: сложение и сдвиг. Однако чем больше базовых операций поддерживает АЛУ, тем оно быстрее.
Инструкции предоставляются компьютеру на языке ассемблера или генерируются компилятором высокоуровневых языков.
В процессоре инструкции реализуются на аппаратном уровне. За один такт одноядерный процессор может выполнить одну элементарную (базовую) инструкцию.
Группу инструкций принято называть набором команд (англ. instruction set).
Тактирование процессора
Быстродействие компьютера определяется тактовой частотой его процессора. Тактовая частота — количество тактов (соответственно и исполняемых команд) за секунду.
Частота нынешних процессоров измеряется в ГГц (Гигагерцы). 1 ГГц = 10⁹ Гц — миллиард операций в секунду.
Чтобы уменьшить время выполнения программы, нужно либо оптимизировать (уменьшить) её, либо увеличить тактовую частоту. У части процессоров есть возможность увеличить частоту (разогнать процессор), однако такие действия физически влияют на процессор и нередко вызывают перегрев и выход из строя.
Выполнение инструкций
Инструкции хранятся в ОЗУ в последовательном порядке. Для гипотетического процессора инструкция состоит из кода операции и адреса памяти/регистра. Внутри управляющего устройства есть два регистра инструкций, в которые загружается код команды и адрес текущей исполняемой команды. Ещё в процессоре есть дополнительные регистры, которые хранят в себе последние 4 бита выполненных инструкций.
Ниже рассмотрен пример набора команд, который суммирует два числа:
- LOAD_A 8 . Это команда сохраняет в ОЗУ данные, скажем, . Первые 4 бита — код операции. Именно он определяет инструкцию. Эти данные помещаются в регистры инструкций УУ. Команда декодируется в инструкцию load_A — поместить данные 1000 (последние 4 бита команды) в регистр A .
- LOAD_B 2 . Ситуация, аналогичная прошлой. Здесь помещается число 2 ( 0010 ) в регистр B .
- ADD B A . Команда суммирует два числа (точнее прибавляет значение регистра B в регистр A ). УУ сообщает АЛУ, что нужно выполнить операцию суммирования и поместить результат обратно в регистр A .
- STORE_A 23 . Сохраняем значение регистра A в ячейку памяти с адресом 23 .
Вот такие операции нужны, чтобы сложить два числа.
Шина
Все данные между процессором, регистрами, памятью и I/O-устройствами (устройствами ввода-вывода) передаются по шинам. Чтобы загрузить в память только что обработанные данные, процессор помещает адрес в шину адреса и данные в шину данных. Потом нужно дать разрешение на запись на шине управления.
Кэш
У процессора есть механизм сохранения инструкций в кэш. Как мы выяснили ранее, за секунду процессор может выполнить миллиарды инструкций. Поэтому если бы каждая инструкция хранилась в ОЗУ, то её изъятие оттуда занимало бы больше времени, чем её обработка. Поэтому для ускорения работы процессор хранит часть инструкций и данных в кэше.
Если данные в кэше и памяти не совпадают, то они помечаются грязными битами (англ. dirty bit).
Поток инструкций
Современные процессоры могут параллельно обрабатывать несколько команд. Пока одна инструкция находится в стадии декодирования, процессор может успеть получить другую инструкцию.
Однако такое решение подходит только для тех инструкций, которые не зависят друг от друга.
Если процессор многоядерный, это означает, что фактически в нём находятся несколько отдельных процессоров с некоторыми общими ресурсами, например кэшем.
Процессор (CPU)
Процессор, он же микропроцессор, он же центральный процессор, он же центральное процессорное (обрабатывающее) устройство (ЦПУ), он же central processing unit (CPU) — как становится понятно из названия — основной элемент аппаратного обеспечения вычислительного устройства, с помощью которого происходит обработка информации. Именно на технические характеристики процессора обращают внимание при выборе компьютера или сервера, ведь чем выше требуется производительность, тем мощнее должен быть «камень». Да, такое название тоже используется, поскольку изготавливается процессор чаще всего из кристалла кремния.
Дальше рассмотрим подробнее, что такое процессор компьютера и для чего он нужен.
Функции процессора
Чтобы лучше понять назначение процессора, обратимся к его устройству. Обязательные составляющие: ядро процессора, состоящее из арифметико-логического устройства, внутренней памяти (регистров) и быстрой памяти (кэш), а также шины — устройства управления всеми операциями и внешними компонентами. Через шины в ЦПУ попадает информация, которую затем обрабатывает ядро.
Таким образом, в основные функции процессора входит:
- обработка информации с помощью арифметических и логических операций;
- управление работой всего аппаратного обеспечения компьютера.
Производительность оборудования зависит от характеристик процессора, о которых речь пойдет дальше.
ТТХ процессора
Тактовая частота означает число операций в секунду. Выполнение отдельных операций может занимать от нескольких долей такта до десятков тактов. Измеряется в мегагерцах (миллион тактов в секунду) или гигагерцах (миллиард тактов в секунду). Чем выше тактовая частота, тем быстрее ЦПУ обрабатывает входящую информацию.
Разрядность — количество битов (разрядов двоичного кода), обрабатываемое центральным процессором за единицу времени. Современные процессоры — 32- или 64-разрядные, то есть они обрабатывают 32 или 64 бита информации за один такт. Разрядность процессора также влияет на количество оперативной памяти, которое можно установить в компьютер. Только 64-разрядный процессор поддерживает более 4 ГБ ОЗУ.
Количество ядер — еще одна важная характеристика процессора. Современные ЦПУ могут иметь от одного до нескольких вычислительных ядер на одном кристалле. Одноядерные процессоры выполняют несколько задач не одновременно, а последовательно, при этом выполнение отдельных операций занимает доли секунды. Двухъядерный процессор способен выполнять две задачи одновременно, четырехъядерный — четыре и т.д., что позволяет с полным правом называть современные компьютеры многозадачными. С одной стороны, чем больше ядер у процессора, тем мощнее и производительнее становится компьютер. Но есть и нюансы. Так, если выполняемая на компьютере программа не оптимизирована под многопоточность, то и выполняться она будет только одним ядром, не позволяя в должной мере прочувствовать всю мощь устройства.
Размер кэш-памяти — другой параметр, от которого зависит производительность процессора. Это быстродействующая память внутри процессора, служащая буфером между ядром процессора и оперативной памятью и обеспечивающая ускоренный доступ к блокам обрабатываемой в настоящий момент информации. Кэш-память гораздо быстрее оперативной памяти, поскольку ядра процессора взаимодействуют с ней напрямую. Современные процессоры имеют несколько уровней кэш-памяти (L1, L2, L3). Первый уровень — хоть и незначительный по объему (всего сотни килобайт), но самый быстродействующий (и дорогой), так как находится на самом кристалле процессора и работает на его тактовой частоте. С первым уровнем взаимодействует второй — он больше по объему, что особенно важно при ресурсоемкой работе, но имеет меньшую скорость. Многие процессоры имеют и третий, «медленный», но еще больший по объему уровень кэш-памяти, который все равно быстрее оперативной памяти системы.
Это, конечно, далеко не полный перечень характеристик, но именно эти параметры оказывают наибольшее влияние на производительность вычислительного устройства, то, на что следует обращать пристальное внимание при выборе процессора.
Но кроме технических характеристик важно также учитывать, где будет использоваться ЦПУ. Устанавливать процессор для сервера в обычный персональный компьютер не имеет особого смысла — современные десктопные процессоры достаточно мощные и производительные, а стоят дешевле. А ставить процессор для компьютера в сервер в целях, например, экономии, — не очень хорошая идея. Почему? Рассмотрим дальше.
Серверные процессоры
От сервера требуется надежность и стабильная работа в режиме 24/7, и поэтому серверные процессоры тщательно тестируют на устойчивость к стрессовым условиям: высоким вычислительным и температурным нагрузкам.
Из-за требований надежности у процессора для сервера отсутствует возможность его разгона (повышения тактовой частоты), из-за которого существует риск преждевременного выхода ЦПУ из строя.
Важной особенностью серверного процессора является поддержка ECC-памяти (англ. error-correcting code — выявление и исправление ошибок). Ошибки памяти, накапливающиеся в круглосуточно работающих серверах, могут отрицательно влиять на стабильность работы. Технология коррекции «на лету» применяется в основном в серверных, а не десктопных процессорах.
Выбор процессора
Современный рынок ЦПУ представлен главным образом двумя крупными производителями — Intel и AMD. Процессоры Intel — дорогие, но имеют высокое качество и производительность. Серверная линейка представлена процессорами Xeon. В процессорах Intel реализована технология гиперпоточности (Hyper Threading, HT). Идея в том, что на каждое ядро направляется два виртуальных вычислительных потока и за счет этого возрастает производительность процессора.
Технологически процессоры AMD отстают от Intel, но стоят значительно дешевле. Часто в ЦПУ от AMD встроено видеоядро. Для серверов предлагается серия процессоров Opteron.
ATLEX.Ru предлагает в аренду в России или в Европе выделенные серверы с процессорами Intel Xeon Quad Core. Надеемся, что после данного материала вы без труда разберетесь с параметрами процессоров и выберете оптимальный сервер под свои задачи.