Для чего и как работает процессор. Устройство процессора, из чего состоит процессор

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

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

Что такое процессор

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

Сегодня основными производителями процессоров являются компании Intel и Advanced Micro Devices (AMD), которые длительное время существуют на рынке информационных технологий и проявили себя только с лучшей стороны. Естественно, существуют и иные производители, но до уровня этих компаний-гигантов им еще очень далеко. Интересно, что Intel и AMD ведут постоянную борьбу за первенство в произведении процессоров, поочередно завоевывая первые позиции при выпуске новых моделей. Как ни странно, именно эта борьба дает толчок постоянному качественному развитию этой области информационных технологий.

Внешний вид

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

Из чего делается процессор

Сам процессор в основном состоит из песка, а точнее – кремния, которого в земной коре всего лишь 30%. Процесс образования процессоров достаточно сложный, требует специального оборудования и материальных затрат. Если кратко, схема изготовления процессоров чем-то схожа с технологией печати фотографий - при его изготовлении используется технология фотолитографии. В роли фотографии тут выступают «блинчики» - будущие процессоры, на которых при помощи сильно разогнанных на специальном ускорителе ионов бора создают миниатюрную структуру с множеством транзисторов. И чем тоньше технологический процесс, тем больше мощность и скорость работы данной структуры. С каждым годом размеры этих структурных элементов все меньше и в скором времени, по прогнозам ученых, они могут достигать всего лишь около 15 нм.

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

Составляющие

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

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

Показатели быстродействия компьютера

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

Принцип работы

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

Но мало кто знает, что любая команда состоит из двух частей – операционной и операндной:

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

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

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

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

  • Линейные процессоры выполняют команды в зависимости от порядка их записи в оперативной памяти.
  • Циклические и разветвляющие процессоры выполняют команды в зависимости от результатов проверки условий ветвлений.

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

Центральное процессорное устройство (англ. CPU – central processing unit ) – электронный блок на котором выполняются набор машинных инструкций (арифметические и логические вычисления). Изначально этот термин относился к определенным логическим машинам, задачей которых было выполнение сложных компьютерных программ. Со временем, с начала 1960-х годов, определение центральное процессорное устройство было естественным образом перенесено на компьютеры. В настоящее время CPU реализуется в рамках компьютерного процессора (чипа), микропроцессора (интегральная схема) или многоядерного процессора.

История развития процессоров началась после Второй мировой войны. В 1946 году был разработан первый электронный компьютер общего назначения ЭНИАК (англ. ENIAC, Electronic Numerical Integrator and Computer - Электронный числовой интегратор и вычислитель). ENIAC разрабатывался для расчетов артиллерийских таблиц, но впоследствии был перепрофилирован для решения задач широкого спектра. Первоначально результаты работы этого компьютера перепроверяли математики.

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

Летом 1945 года математик Джон фон Нейман распространил «первый проект отчета о EDVAC» (E lectronic Discrete Variable Automatic Computer ). Проект был реализован в 1949 году командой ученых во главе с Джоном Мокли и Джоном Экертом. Главное отличие от ENIAC было использование двоичной системы, а не десятичной. EDVAC мог выполнить определенное количество инструкций (или операций) различных типов. Важно отметить, что программы, написанные для EDVAC хранились на подключаемом физическом носителе, а не в памяти компьютера. Это выгодно отличало его от ENIAC, для которого требовалось значительное время чтобы перенастроить на выполнение новых задач. Тем не менее EDVAC был не первой электронной вычислительной машиной с хранимыми в оперативной памяти программами реализовавшим архитектуру фон Неймана. Небольшой прототип, созданный в Манчестерском институте и Манчестерский Mark I, выполнили свои первые программы 21 июня 1948 года и 17 июля 1949 года соответственно.

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

В 1964 году IBM представила свой новый компьютер архитектуры System/360. Эта архитектура была использована в серии компьютеров, которые могли выполнять те же программы с разной скоростью и производительностью. Это было значимо для того времени, поскольку большинство компьютеров, даже одного производителя, были несовместимы. Чтобы решить эту задачу в IBM использовали понятие прошивки (микрокод), которая используется даже в современных процессорах. Процессоры с архитектурой System/360 были настолько популярны, что доминировали на рынке ЭВМ в течение многих десятилетий.

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

В 1970 годы произошел прорыв в технологии создания процессора. Была создана интегральная схема на кристалле которой были расположены основные элементы и блоки процессора. Эта микросхема известна как микропроцессор. В 1971 году фирма Intel выпустила первый коммерчески доступный 4-разрядный микропроцессор Intel 4004. В следующие несколько лет Intel выпустили 8-разрядный Intel 8080 и 16-разрядный 8086. Эти процессоры заложили основы архитектуры микропроцессоров для современных персональных компьютеров. Оптимальным материалом для изготовления микропроцессоров стал кремний.

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

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

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

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

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

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

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

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

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

Что собою представляет современный процессор

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

  • шины адресов и шины данных;
  • арифметико-логическое устройство;
  • регистры;
  • кэш (быстрая память небольшого объема 8-512 Кбайт);
  • счетчики команд;
  • математический сопроцессор.

Что такое архитектура процессора?

Архитектура процессора – это способность процессора выполнять набор машинных кодов. Это с точки зрения программистов. Но разработчики компьютерных составляющих придерживаются другой трактовки понятия «архитектура процессора». По их мнению, архитектура процессора – это отражение основных принципов внутренней организации определенных типов процессоров. Допустим, архитектура Intel Pentium обозначается Р5, Pentium II и Pentium III — Р6, а не так давно популярных Pentium 4 – NetBurst. Когда компания Intel закрыла Р5 для конкурирующих производителей, компания AMD разработала свою архитектуру К7 для Athlon и Athlon XP, а для Athlon 64 – К8.

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

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

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

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

Различают кэш по двум видам – эксклюзивный и не эксклюзивный.

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

Не эксклюзивный кэш – это кэш, в котором информация повторяется на всех уровнях кэша. Трудно сказать, какой тип кэша лучше, и у первого и у второго есть свои достоинства и недостатки. Эксклюзивный тип кэша используется в процессорах AMD, а не эксклюзивный — Intel.

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

Первое место занимает процессор Intel Core i5. Отличный вариант для мощной игровой машины.

Второе место — Intel Celeron E3200, не смотря на достаточно приличную стоимость. Оптимальный вариант для офисной машины.

Третье место занимает снова intel - на этот раз 4-х ядерный Core 2 Quad.

Четвертое место — процессор AMD Athlon II X2 215 2.7 GHz 1Mb Socket-AM3 OEM. Хороший выбор для дома и офиса, для тех кто хочет сэкономить и не нуждается в супер мощной машине. К тому у этой модели процессора есть много места для разгона.

Пятое место — AMD Phenom II X4 945. Хорошая цена, отличная производительность, большой кэш и 4 ядра на борту.

Если вы готовы заплатить за процессор порядка 1000$, то можете приобрести Intel Сore 2 Extreme. Но такой процессор вряд ли подойдет для широких масс потребителей. Поэтому рассмотрим более доступные варианты.

Если вы простой пользователь ПК, который работает с текстами, смотрит фильмы, прослушивает музыку и работает в Интернете, вам вполне подойдет или Celeron E1200 или младшие Athlon 64 X2. Последний имеет определенные преимущества перед первым и вам его хватит на долгие годы.

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

Если вы относитесь к пользователям, которые используют все возможности компьютера, работаете с аудио, Интернет, видео, большими программами и тяжеловесными играми, вам больше всего подойдет Core 2 Duo E8200. Этот процессор обладает высокой производительностью, невысоким тепловыделением, достаточной возможностью разгона, при этом доступен по цене.

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

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

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

Выполняемые операции

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

  1. Ввод и вывод . К компьютеру обязательно подключено несколько внешних устройств, например, клавиатура и мышь. Они напрямую связаны с процессором и для них выделена отдельная операция. Она выполняет передачу данных между CPU и периферийными девайсами, а также вызывает определенные действия с целью записи информации в память или ее вывода на внешнюю аппаратуру.
  2. Системные операции отвечают за остановку работы софта, организовывают обработку данных, ну и, кроме всего, отвечают за стабильную работу системы ПК.
  3. Операции записи и загрузки . Передача данных между процессором и памятью осуществляется с помощью посылочных операций. Быстродействие обеспечивается одновременной запись или загрузкой групп команд или данных.
  4. Арифметически-логические . Такой тип операций вычисляет значения функций, отвечает за обработку чисел, преобразование их в различные системы исчисления.
  5. Переходы . Благодаря переходам скорость работы системы значительно увеличивается, ведь они позволяют передать управление любой команде программы, самостоятельно определяя наиболее подходящие условия перехода.

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

Выполнение команд

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

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

Взаимодействия с памятью

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

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

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

Центральный процессор в общем случае содержит в себе:

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

    шины данных и шины адресов;

    регистры;

    счетчики команд;

    кэш - очень быструю память малого объема,

    математический сопроцессор чисел с плавающей точкой.

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

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

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

    Тактовая частота - определяет число тактов работы процессора в секунду

    Разрядность - определяет размер минимальной порции информации, называемой машинным словом

    Адресное пространство - разрядность адресной шины, то есть максимальный объём оперативной памяти, которая может быть установлена на компьютере

8.2.3. Принцип действия процессора.

Процессор является главным элементом ЭВМ. Он прямо или косвенно управляет всеми устройствами и процессами, происходящими в ЭВМ.

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

Кроме повышения тактовой частоты, увеличение производительности процессоров достигается разработчиками менее очевидными приемами, связанными с изобретением новых архитектур и алгоритмов обработки информации. Некоторые из них рассмотрим на примере процессора Pentium (Р5) и последующих моделей.

Перечислим основные особенности процессора Pentium:

    конвейерная обработка информации;

    суперскалярная архитектура;

    наличие раздельных кэш-памятей для команд и данных;

    наличие блока предсказания адреса перехода;

    динамическое исполнение программы;

    наличие блока вычислений с плавающей точкой;

    поддержка многопроцессорного режима работы;

    наличие средства обнаружения ошибок.

Термин «суперскалярная архитектура» означает, что процессор содержит более одного вычислительного блока. Эти вычислительные блоки чаще называют конвейерами. Заметим, что первая суперскалярная архитектура была реализована в отечественной ЭВМ «Эльбрус-1» (1978 г.).

Наличие в процессоре двух конвейеров позволяет ему одновременно выполнять (завершать) две команды (инструкции).

Каждый конвейер разделяет процесс выполнения команды на несколько этапов (например, пять):

    выборка (считывание) команды из ОЗУ или кэш-памяти;

    декодирование (дешифрация) команды, т. е. определение кода выполняемой операции;

    выполнение команды;

    обращение к памяти;

    запоминание полученных результатов в памяти.

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

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

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

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

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

В качестве примера рассмотрим процесс выполнения команды, у которой длительности выполнения этапов составляют 60, 30, 40, 50 и 20 нс. Примем дополнительные расходы на организацию конвейерной обработки равными 5 нс.

Если бы не было конвейеризации, то на выполнение одной команды потребовалось

60 + 30 + 40 + 50 + 20 = 200 нс.

Если же используется конвейерная организация, то длительность такта должна быть равна длительности самого медленного этапа обработки с добавлением «накладных» расходов, т.е. 60 + 5 = 65 нс. Таким образом, полученное в результате конвейеризации сокращение времени выполнения команды составит 200/65»3,1 раза.

Заметим, что время выполнения конвейером одной команды составляет 5 × 65 = 325 нс. Эта величина существенно больше 200 нс - времени выполнения команды без конвейеризации. Но одновременное выполнение сразу пяти команд дает среднее время завершения одной команды 65 нс.

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

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

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

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

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

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

Блок предсказания адреса перехода работает на опережение и пытается заблаговременно предсказать адрес перехода, чтобы заранее перенести нужную команду из медленной оперативной памяти в специальный быстрый буфер перехода BTB (Branch Target Buffer).

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

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

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

Развитие архитектуры процессоров идет по пути постоянного увеличения объема кэш-памяти первого и второго уровней. Исключением стал процессор Pentium 4, у которого объем кэш-памяти неожиданно снизился по сравнению с Pentium III.

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

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

В процессоре Pentium Pro (P6) применен новый подход к порядку выполнения команд, последовательно расположенных в ОЗУ.

Новый подход заключается в выполнении команд в произвольном порядке по мере их готовности (независимо от порядка расположения в ОЗУ). Однако конечный результат формируется всегда в соответствии с исходным порядком команд в программе. Такой порядок выполнения команд называется динамическим или опережающим.

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

r1 ¬mem Команда 1

r3 ¬r1 + r2 Команда 2

r5 ¬r5 + 1 Команда 3

r6 ¬r6 – r7 Команда 4

Символами r1…r7 обозначены регистры общего назначения (РОН), которые входят в блок регистров процессора.

Символом memобозначена ячейка памяти ОЗУ.

Прокомментируем записанную программу.

Команда 1: записать в РОН r1 содержимое ячейки памяти ОЗУ, адрес которой указан в РОН r4.

Команда 2: записать в РОН r3 результат сложения содержимого регистров r1 и r2.

Команда 3: прибавить к содержимому регистра r5 единицу.

Команда 4: уменьшить содержимое РОН r6 на содержимое регистра r7.

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

При традиционном подходе процессор перейдет к выполнению команд 2, 3, 4 только после того, как данные из ячейки mem основной памяти поступят в процессор (точнее, в регистр r1). Так как считывание будет происходить из медленно работающей оперативной памяти, этот процесс займет достаточно много времени (по меркам процессора). Все время ожидания этого события процессор будет простаивать, не выполняя полезной работы.

В приведенном примере процессор не может выполнить команду 2 до завершения команды 1, так как команда 2 использует результаты выполнения команды 1. В то же время процессор мог бы заранее выполнить команды 3 и 4, которые не зависят от результата выполнения команд 1 и 2.

В подобных случаях процессор Р6 работает иначе.

Процессор Р6 не ждет окончания выполнения команд 1 и 2, а сразу переходит к внеочередному выполнению команд 3 и 4. Результаты опережающего выполнения команд 3 и 4 сохраняются и извлекаются позднее, после выполнения команд 1 и 2.Таким образом, процессор Р6 выполняет команды в соответствии с их готовностью к выполнению, вне зависимости от их первоначального расположения в программе.

Производительность, безусловно, важный показатель работы ЭВМ. Однако не менее важно, чтобы быстрые вычисления происходили при малом числе ошибок.

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

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

Единицами измерения быстродействия процессоров (и ЭВМ) могут служить:

    МИПС (MIPS- Mega Instruction Per Second)- миллион команд (инструкций) над числами с фиксированной точкой за секунду;

    МФЛОПС (MFLOPS- Mega Floating Operation Per Second)- миллион операций над числами с плавающей точкой за секунду;

    ГФЛОПС (GFLOPS- Giga Floating Operation Per Second)- миллиард операций над числами с плавающей точкой за секунду.

Имеются сообщения о самом быстром в мире компьютере ASCI White (корпорация IBM), быстродействие которого достигает 12,3 ТФЛОПС (триллиона операций).

 
Статьи по теме:
Как скопировать веб-страницу если там установлена защита от копирования
В нашем законодательстве существует понятие добропорядочности граждан, то есть предполагается, что человек не виноват, пока никто не доказал обратное. С другой стороны незнание закона не освобождает от ответственности за его нарушение. Поскольку уровень п
Как правильно выполнить сброс настроек
Cодержание: Зачем нужна эта функцияПричин воспользоваться данной функцией может быть множество. Нередко пользователи сталкиваются с проблемой ограничения памяти.SD-карта всегда имеет свой предел, а встроенная в телефон память, как правило, может вместить
Подключение и запуск Telnet
Обсуждение подопций Некоторые опции требуют большего количества информации, нежели просто "включить" (enable) или "выключить" (disable). Например, установка типа терминала: для того чтобы клиент мог идентифицировать тип терминала, он должен отправить AS
Что такое Проектор LED или светодиодный проектор?
DLP- и LCD-проекторы отличаются технологией создания изображения. В свет лампы с помощью призмы разбивается на лучи основных цветов: зеленый, синий и красный, а потом попадает на одну из трех маленьких жидкокристаллических матриц. ЖК-матрицы пропускают св