Процессоры ПК

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

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

Выдержка из работы

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

фгбоу впо «пензенский государственный университет»

факультет экономики и управления

кафедра «экономическая кибернетика»

КУРСОВАЯ РАБОТА

по дисциплине «Информатика»

на тему

«Процессоры ПК»

Выполнил: студент группы 12ээ1

Егоров М. Э

Проверил: Самыгин Д. Ю

Пенза, 2012

Содержание

Введение

1. Процессоры ПК

1.1 Понятие и основные характеристики процессоров

1.2 Понятие прерывания и основные виды прерываний

1.3 Архитектура процессора

2. Обзор современных процессоров ПК

2.1 Процессоры семейства Intel

2.2 Процессоры семейства AMD

Заключение

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

ВВЕДЕНИЕ

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

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

Объектом нашей работы является понятие и сущность процессора.

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

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

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

— Проанализировать основные характеристики процессора;

— Рассмотреть архитектуру процессора;

— Исследовать тенденции современного рынка процессоров, выделить самые лучшие модели, рассмотреть основные характеристики и достоинства современных процессоров.

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

1. Процессоры ПК

1.1 Понятие и основные характеристики процессоров

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

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

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

Рассмотрим многоядерность процессоров или характеристику количества ядер.

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

Ещё буквально 6−7 лет назад, о многоядерности процессоров практически не было слышно. Нет, многоядерные процессоры от той же компании IBM существовали и ранее, но появление первого двухъядерного процессора для настольных компьютеров, состоялось лишь в 2005 году, и назывался данный процессор Pentium D. Также, в 2005 году был выпущен двухъядерный процессор Opteron от AMD, но для серверных систем.

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

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

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

И рассмотрим, что же будет в двух разных случаях:

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

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

Техпроцесс в центральных и графических процессорах.

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

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

Техпроцесс — это, по сути, размер транзисторов. А основа производительности процессора заключается именно в транзисторах. Соответственно, чем размер транзисторов меньше, тем их больше можно разместить на кристалле процессора.

Новые процессоры Intel выполнены по техпроцессу 22 нм. Нанометр (нм) — это 10 в -9 степени метра, что является одной миллиардной частью метра. Чтобы лучше представить насколько это миниатюрные транзисторы, можно привести один интересный научный факт: «На площади среза человеческого волоса, с помощью усилий современной техники, можно разместить 2000 транзисторных затворов»

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

Ну, а техпроцесс у первых моделей начинался не с нанометров, а с более объёмных величин.

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

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

Для начала нужно разобраться с определением «тактовая частота». Тактовая частота показывает нам, сколько процессор может произвести вычислений в единицу времени. Соответственно, чем больше частота, тем больше операций в единицу времени может выполнить процессор. Тактовая частота современных процессоров, в основном, составляет 1,0−4ГГц. Она определяется умножением внешней или базовой частоты, на определённый коэффициент. Например, процессор Intel Core i7 920 использует частоту шины 133 МГц и множитель 20, в результате чего тактовая частота равна 2660 МГц.

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

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

Существует распространенное заблуждение насчёт понимания (высчитывания) частот многоядерных процессоров. Сразу же можно привести пример этого неправильного рассуждения: «Имеется 4-х ядерный процессор с тактовой частотой 3 ГГц, поэтому его суммарная тактовая частота будет равна: 4×3ГГц=12 ГГц, ведь так?" — Нет, не так.

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

Приведем пример: «По дороге идёт пешеход, у него скорость 4 км/ч. Это аналогично одноядерному процессору на N ГГц. А вот если по дороге идут 4 пешехода со скоростью 4 км/ч, то это аналогично 4-ядерному процессору на N ГГц. В случае с пешеходами мы не считаем, что их скорость будет равна 4×4 =16 км/ч, мы просто говорим: „4 пешехода идут со скоростью 4 км/ч“. По этой же причине мы не производим никаких математических действий и с частотами ядер процессора, а просто помним, что 4-ядерный процессор на N ГГц обладает четырьмя ядрами, каждое из которых работает на частоте N ГГц».

То есть, по сути, частота процессора от количества ядер не изменяется, увеличивается лишь производительность процессора.

1.2 Понятие прерывания и основные виды прерываний

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

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

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

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

Система прерывания появилась в процессорах ЭВМ второго поколения, которые использовались, в основном, в качестве программных устройств управления различными объектами.

Основными причинами появления системы прерывания являются:

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

— желание разработчиков загрузить полезной работой процессор, во время, когда он ожидает сигнал от управляемого объекта, т. е. желание реализовать фоновую работу ЭВМ.

Главные функции механизма прерываний:

— распознавание или классификация прерываний;

— передача управления на обработку прерываний;

— корректное возвращение к прерванной программе.

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

— внешние (асинхронные);

— внутренние (синхронные).

Внешние прерывания вызываются асинхронными событиями, которые происходят вне прерываемого процесса, например:

— прерывания от таймера;

— прерывания от внешнего устройства (прерывания по вводу/выводу);

— прерывания по нарушению питания;

— прерывания с пульта оператора вычислительной системы;

— прерывания от другого процессора или другой вычислительной системы.

Внутренние прерывания вызываются событиями, которые связаны с работой процессора и являются синхронными с его операциями, например:

— нарушение адресации;

— наличие в поле адреса несуществующей инструкции;

— деление на нуль;

— переполнение или исчезновение порядка;

— ошибка четности;

— ошибка в работе различных аппаратных устройств.

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

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

Распределение прерываний по уровню приоритета (от низкого к высокому):

— программные прерывания;

— прерывания от внешних устройств: терминалов;

— прерывания от внешних устройств: сетевого оборудования;

— прерывания от внешних устройств: магнитных дисков;

— прерывания от системного таймера;

— прерывания от средств контроля процессора.

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

— отключение системы прерываний;

— маскирование (запрет) отдельных видов прерываний.

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

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

Программное управление специальными регистрами маски (маскирование сигналов прерывания) позволяет реализовать различные дисциплины обслуживания:

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

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

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

Управление ходом выполнения задач со стороны ОС заключается:

— в организации реакций на прерывание;

— в организации обмена информацией;

— в предоставлении необходимых ресурсов;

— в динамике выполнения задачи;

— в организации сервиса.

Причины прерываний определяет ОС (супервизор прерываний) и выполняет действия, необходимые при данном прерывании и в данной ситуации.

Супервизор прерываний выполняет следующие действия:

— сохраняет в дескрипторе текущей задачи рабочие регистры процессора, определяющие контекст прерванной задачи;

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

— устанавливает необходимый режим обработки пребывания;

— передает управление подпрограмме обработки прерывания.

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

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

Подпрограмма обработки прерываний состоит их трех секций:

1)отключение прерываний, сохранение контекста прерванной программы, установка режима работы системы прерываний;

2) собственно тело программы обработки прерываний;

3)восстановление контекста прерванной ранее программы, установка прежнего режима работы системы прерываний.

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

1.3 Архитектура процессора

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

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

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

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

Как уже упоминалось выше, главное назначение кэш-памяти — это хранение данных, которые часто используются процессором. Кэш является буфером, в который загружаются данные, и, несмотря на его небольшой объём, (около 4−16 Мбайт) в современных процессорах, он дает значительный прирост производительности в любых приложениях.

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

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

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

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

Современные процессоры, оснащены кэшем, который состоит, зачастую из 2 -ух или 3-ёх уровней. Конечно же, бывают и исключения, но зачастую это именно так.

В общем, могут быть такие уровни: L1 (первый уровень), L2 (второй уровень), L3 (третий уровень). Теперь немного подробнее по каждому из них:

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

Мы будем рассматривать объёмы на процессоре высокого уровня производительности Intel Core i7−3770K. Данный процессор оснащен 4×32 Кб кэш-памяти первого уровня 4×32 КБ = 128 Кб. (на каждое ядро по 32 КБ)

2. Кэш второго уровня (L2) — второй уровень более масштабный, нежели первый, но в результате, обладает меньшими «скоростными характеристиками». Соответственно, служит буфером между уровнем L1 и L3. Если обратиться снова к нашему примеру Core i7−3770 K, то здесь объём кэш-памяти L2 составляет 4×256 Кб = 1 Мб.

3. Кэш третьего уровня (L3) — третий уровень, опять же, более медленный, нежели два предыдущих. Но всё равно он гораздо быстрее, нежели оперативная память. Объём кэша L3 в i7−3770K составляет 8 Мбайт. Если два предыдущих уровня разделяются на каждое ядро, то данный уровень является общим для всего процессора. Показатель довольно солидный, но не заоблачный. Так как, к примеру, у процессоров Extreme-серии по типу i7−3960X, он равен 15Мб, а у некоторых новых процессоров Xeon, более 20.

Рассмотрим CISK и RISK архитектуру.

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

— нефиксированное значение длины команды;

— арифметические действия кодируются в одной команде;

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

Типичными представителями являются процессоры на основе команд x86 (исключая современные Intel Pentium 4, Pentium D, Core, AMD Athlon, Phenom, которые являются гибридными) и процессоры Motorola MC680×0.

Наиболее распространённая архитектура современных настольных, серверных и мобильных процессоров построена по архитектуре Intel x86 (или х86−64 в случае 64-разрядных процессоров). Формально, все х86-процессоры являлись CISC-процессорами, однако новые процессоры, начиная с Intel Pentium Pro, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции процессоров x86 в более простой набор внутренних инструкций RISC.

В микропроцессор встраивается аппаратный транслятор, превращающий команды x86 в команды внутреннего RISC-процессора. При этом одна команда x86 может порождать несколько RISC-команд (в случае процессоров типа P6 -- до четырёх RISC-команд в большинстве случаев). Исполнение команд происходит на суперскалярном конвейере одновременно по несколько штук.

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

Недостатки CISK архитектуры:

— высокая стоимость аппаратной части;

— сложности с распараллеливанием вычислений.

Методика построения системы команд CISC противоположна другой методике — RISC. Различие этих концепций состоит в методах программирования, а не в реальной архитектуре процессора. Практически все современные процессоры эмулируют наборы команд как RISC так и CISC типа.

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

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

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

Характерные особенности RISK процессоров:

— Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды.

— Специализированные команды для операций с памятью -- чтения или записи. Операции вида «прочитать-изменить-записать» отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (т. н. архитектура load-and-store).

— Большое количество регистров общего назначения (32 и более).

— Отсутствие поддержки операций вида «изменить» над укороченными типами данных -- байт, 16-битное слово. Так, например, система команд DEC Alpha содержала только операции над 64-битными словами, и требовала разработки и последующего вызова процедур для выполнения операций над байтами, 16- и 32-битными словами.

— Отсутствие микропрограмм внутри самого процессора. То, что в CISC-процессоре исполняется микропрограммами, в RISC-процессоре исполняется как обыкновенный (хотя и помещённый в специальное хранилище) машинный код, не отличающийся принципиально от кода ядра ОС и приложений. Так, например, обработка отказов страниц в DEC Alpha и интерпретация таблиц страниц содержалась в так называемом PALCode (Privileged Architecture Library), помещённом в ПЗУ. Заменой PALCode можно было превратить процессор Alpha из 64-битного в 32-битный, а также изменить порядок байтов в слове и формат входов таблиц страниц виртуальной памяти.

Рассмотрим конвейеры.

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

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

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

Считается, что впервые конвейерные вычисления были использованы либо в проекте ILLIAC II (англ. en: ILLIAC II), либо в проекте IBM Stretch (англ. en: IBM Stretch). Проект IBM Stretch предложил термины «получение» (англ. «Fetch»), «расшифровка» (англ. «Decode») и «выполнение» (англ. «Execute»), которые затем стали общеупотребимыми.

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

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

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

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

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

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

Преимущества и недостатки.

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

Преимущества:

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

— Некоторые комбинационные логические элементы, такие как сумматоры (англ. adders) или умножители (англ. multipliers) могут быть ускорены путем увеличения количества логических элементов. Использование конвейера может предотвратить ненужное наращивание количества элементов.

Недостатки:

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

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

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

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

2. Обзор современных процессоров ПК

2.1 Процессоры семейства Intel

Модельный ряд процессоров Intel для ПК довольно широк и включает несколько семейств. Однако если говорить о современных процессорах, то имеет смысл ограничиться рассмотрением 45-нм процессоров на микроархитектуре Nehalem, которые представлены семействами Intel Core i7 (Core i7−975 EE, Core i7−965 EE, Core i7−950, Core i7−940, Core i7−920, Core i7 870, Core i7 860) и Intel Core i5 (Core i5 750). Это, конечно же, не означает, что в продаже нет процессоров Intel других семейств. Скорее, наоборот. Что касается процентной доли процессоров Intel Core i7 и Intel Core i5 в розничной торговле, то она отнюдь не доминирует. Основная масса продаваемых сегодня процессоров Intel -- это двухъядерные процессоры семейства Intel Core 2 Duo и четырехъядерные процессоры семейства Intel Core 2 Quad. Если в вашем ПК используется процессор Intel Core 2 Duo или Intel Core 2 Quad, то менять его еще рановато, но если речь идет о приобретении нового ПК, то ориентироваться имеет смысл на более новые процессоры, то есть процессоры Intel Core i7 или Intel Core i5. Во всяком случае можно гарантировать, что конфигурация такого компьютера не устареет через два-три года, а вот компьютеры с процессором Intel Core 2 Duo или Intel Core 2 Quad морально устареют уже через год. А потому в дальнейшем мы сконцентрируемся исключительно на процессорах Intel Core i7 и Intel Core i5, то есть на процессорах на микроархитектуре Nehalem.

Вообще, классификация процессоров Intel на микроархитектуре Nehalem весьма нелогична. Дело в том, что процессоры Intel на микроархитектуре Nehalem имеют два несовместимых друг с другом процессорных разъема -- LGA 1366 и LGA 1156. Логично было бы процессоры с разными разъемами отнести к различным семействам. Однако в семейство Intel Core i7 входят как процессоры с разъемом LGA 1366 (они носят кодовое название Bloomfield), так и процессоры с разъемом LGA 1156 (имеющие кодовое название Lynnfield). Семейство Intel Core i5 включает лишь процессоры Lynnfield с разъемом LGA 1156. Напомним, что первые процессоры Bloomfield появились на рынке в конце 2008 года, а процессоры Lynnfield -- только осенью этого года.

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

Итак, прежде всего и процессоры Bloomfield, и процессоры Lynnfield изготавливаются по 45-нанометровой технологии и являются четырехъядерными.

Отличительной особенностью процессоров Bloomfield и Lynnfield является наличие в них интегрированного контроллера памяти DDR3. В процессорах Bloomfield (Intel Core i7 9xx) применяется трехканальный контроллер памяти DDR3, а в процессорах Lynnfield (Intel Core i7 8xx и Intel Core i5 750), которые позиционируются классом ниже, -- только двухканальный контроллер памяти.

В штатном режиме процессоры Bloomfield поддерживают память DDR3−1066, а процессоры Lynnfield -- как память DDR3−1066, так и память DDR3−1333.

Структура кэш-памяти процессоров Bloomfield и Lynnfield абсолютно одинаковая. Кэш-память первого уровня (L1) делится на 8-канальный 32-килобайтный кэш данных и 4-канальный 32-килобайтный кэш инструкций. Каждое ядро процессора наделено унифицированным (единым для инструкций и данных) кэшем второго уровня (L2) размером 256 Кбайт. Кэш L2 также является 8-канальным, а размер его строки составляет 64 байт.

Кроме того, имеется разделяемый между всеми ядрами процессора кэш третьего уровня (L3) размером 8 Мбайт. Кэш L3 -- 16-канальный. По своей архитектуре кэш L3 является инклюзивным (inclusive) по отношению к кэшам L1 и L2, то есть в нем всегда дублируется содержимое кэшей L1 и L2. Однако кэши L1 и L2 по отношению друг к другу не являются ни инклюзивными, ни эксклюзивными.

Следующий важный момент заключается в том, что все процессоры семейства Intel Core i7 поддерживают технологию многопоточной обработки данных Hyper-Threading (в результате чего операционная система видит четырехъядерный процессор как восемь отдельных логических процессоров или ядер). Процессоры семейства Lynnfield лишены поддержки технологии Hyper-Threading. Собственно, деление процессоров Lynnfield на Core i7 и Сore i5 как раз и связано с поддержкой режима Hyper-Threading. Все процессоры Lynnfield семейства Core i7 (Core i7 870, Core i7 860) являются четырехъядерными и поддерживают режим Hyper-Threading, а четырехъядерные процессоры семейства Сore i5 (Сore i5 750) не поддерживают режим Hyper-Threading.

Также все процессоры семейств Intel Core i7 и Intel Core i5 поддерживают такие технологии, как Enhanced Intel SpeedStep Technology, Intel EM64T, Intel Virtualization Technology, Enhanced Halt State (C1E) и Execute Disable Bit. Впрочем, эти технологии достаточно хорошо известны, поскольку поддерживаются также процессорами Intel предыдущего поколения.

Еще одна общая особенность процессоров семейства Intel Core i7 и Intel Core i5 заключается в том, что все они поддерживают режим Intel Turbo Boost, смысл которого заключается в динамической подстройке тактовых частот ядер процессора.

Для реализации технологии Intel Turbo Boost в процессоре предусмотрен специальный функциональный блок PCU (Power Control Unit), который отслеживает уровень загрузки ядер процессора, температуру процессора, а также отвечает за энергопитание каждого ядра и регулирование его тактовой частоты.

Составной частью PCU является так называемый Power Gate (затвор), который применяется для перевода каждого ядра процессора по отдельности в режим энергопотребления C6 (фактически Power Gate отключает или подключает ядра процессора к линии питания VCC).

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

Более того, режим Intel Turbo Boost реализуется и в том случае, когда изначально загружаются все ядра процессора, но при этом его энергопотребление не превышает значение TDP. В этом случае частота каждого ядра может динамически увеличиваться, но так, чтобы энергопотребление процессора не превышало заданного в BIOS значения. Увеличение частоты в режиме Intel Turbo Boost производится скачкообразно, порциями по 133 МГц (частота системной шины в процессорах составляет 133 МГц).

Режим Intel Turbo Boost нельзя как-то настраивать. Его можно лишь разрешить или запретить (исключение составляют только процессоры серии Extreme Edition и то далеко не на всех платах).

Заметим, что режим Intel Turbo Boost реализуется только в том случае, если в настройках BIOS коэффициент умножения задан как Auto. То есть если жестко задать коэффициент умножения процессора, то режим Intel Turbo Boost работать не будет. И не важно, увеличиваем ли мы коэффициент умножения выше номинального или, наоборот, понижаем его. Более того, даже если коэффициент умножения устанавливается равным номинальному, но не в режиме его автоопределения, то режим Intel Turbo Boost работать не будет.

Важно отметить, что в процессорах Bloomfield и Lynnfield режим Intel Turbo Boost реализован немного по-разному.

В процессорах Bloomfield семейства Intel Core i7 9xx режим Intel Turbo Boost реализован следующим образом. Если активны четыре, три или два ядра процессора, то в режиме Intel Turbo Boost их тактовая частота (если энергопотребление процессора не превышает 130 Вт) может быть повышена на одну ступень (133 МГц). Если же активно только одно ядро процессора и его энергопотребление не превышает 130 Вт, то тактовая частота этого ядра может быть повышена на две ступени (266 МГц).

В процессорах Lynnfield 8-й серии (Core i7 870/860) реализация режима Intel Turbo Boost следующая. Если активны четыре или три ядра процессора, то в режиме Intel Turbo Boost их тактовая частота может быть повышена на две ступени (266 МГц), но только при условии, что энергопотребление процессора не превышает 95 Вт (TDP всех процессоров Lynnfield составляет 95 Вт). Если активны только два ядра процессора и его энергопотребление не превышает 95 Вт, то их тактовая частота может быть увеличена на четыре ступени (533 МГц). Если же активно только одно ядро процессора и его энергопотребление не превышает 95 Вт, то тактовая частота этого ядра может быть увеличена на пять ступеней (667 МГц).

Именно поэтому для процессора Intel Core i7 870, чья номинальная тактовая частота составляет 2,93 ГГц, указывают также тактовую частоту в режиме Intel Turbo Boost, равную 3,6 ГГц. Но еще раз подчеркнем, что частота 3,6 ГГц относится к случаю, когда активно только одно ядро процессора.

Аналогично для процессора Intel Core i7 860 с номинальной тактовой частотой 2,79 ГГц максимальная тактовая частота в режиме Intel Turbo Boost составляет 3,33 ГГц.

В процессоре Intel Core i5 750 c номинальной тактовой частотой 2,66 ГГц реализация режима Intel Turbo Boost немного иная. Если активны четыре или три ядра и энергопотребление процессора не превышает 95 Вт, то в режиме Intel Turbo Boost их тактовая частота может быть повышена на одну ступень, то есть до 2,8 ГГц. Если же активны одно или два ядра и энергопотребление процессора не превышает 95 Вт, то в режиме Intel Turbo Boost их тактовая частота может быть повышена на четыре ступени, то есть до 3,2 ГГц.

Несмотря на то что в процессорах Bloomfield и Lynnfield много общего, различий в них тоже достаточно. В частности, процессоры Bloomfield ориентированы на использование двухчипового набора микросхем Intel X58 Express и для связи с чипсетом применяют высокоскоростную шину QPI (QuickPath Interconnect), которая пришла на смену шине FSB. Шина QPI увеличивает скорость передачи данных в 4−8 раз по сравнению с шиной FSB. Соответственно на кристалле процессора располагается и контроллер шины QPI.

QPI является последовательной высокоскоростной двунаправленной шиной. Ее ширина в каждую сторону (передача и прием) составляет по 20 бит (20 отдельных пар линий), при этом 16 бит отводится для передачи данных, две линии зарезервированы для передачи служебных сигналов и еще две -- для передачи кодов коррекции ошибок CRC. C учетом еще двух пар линий, используемых для синхронизации сигналов (одна на прием и одна на передачу), получаем, что шина QPI состоит из 42 пар линий, то есть является 84-контактной. Теоретическая пропускная способность шины QPI составляет 25,6 Гбайт/с, хотя такая единица измерения, как гигабайт в секунду (Гбайт/с), не используется в качестве характеристики QPI-шины. Вместо этого применяется термин «трансферы в секунду» -- количество передач запакетированных данных по шине в секунду. В таких единицах измерения максимальная пропускная способность шины QPI составляет 6,4 GT/s.

Процессоры Lynnfield ориентированы на использование одночипового чипсета Intel P55 Express (он называется PCH -- Platform Controller Hub), и в них отсутствует шина QPI. Дело в том, что во всех процессорах Lynnfield интегрирован контроллер PCI Express 2.0 (данный интерфейс отсутствует в процессорах Bloomfield). Все процессоры Lynnfield поддерживают 16 линий PCI Express 2. 0, которые могут быть реализованы как один порт PCI Express 2.0×16 или два порта PCI Express 2.0×8 для установки видеокарт. То есть если в процессорах Bloomfield взаимодействие между процессором и видеокартой происходит через северный мост чипсета по высокоскоростной шине QPI, то в процессорах Lynnfield оно осуществляется напрямую, минуя чипсет. Ну, а поскольку контроллер памяти также интегрирован непосредственно в процессор, то необходимость в высокоскоростной шине для взаимодействия с чипсетом у процессоров Lynnfield просто отсутствует. Соответственно все процессоры Lynnfield не поддерживают шины QPI для связи с чипсетом. В процессорах Lynnfield вместо шины QPI применяется хорошо известная двунаправленная (full duplex) шина DMI (Direct Media Interface) с пропускной способностью 20 Гбит/с (по 10 Гбит/с в каждую сторону), которая ранее использовалась для связи северного и южного мостов чипсетов. Отметим, что пропускной способности шины QPI в ряде случаев может оказаться недостаточно. Дело в том, что чипсет Intel P55 Express поддерживает восемь линий PCI Express 2. 0, а пропускная способность каждой линии составляет 5 Гбит/с (по 2,5 Гбит/с в каждом направлении). Соответственно, если предположить, что используются все восемь линий PCI Express 2. 0, то пиковая нагрузка составит 40 Гбит/с, а пропускная способность шины DMII -- только 20 Гбит/с. В данной ситуации именно шина DMI станет тем самым узким местом в системе, в которое упрется производительность. Именно поэтому на платах с чипсетом Intel P55 Express не рекомендуется задействовать все свободные слоты PCI Express 2. 0, несмотря на их наличие.

2.2 Обзор процессоров AMD

Модельный ряд процессоров AMD для настольных ПК более чем разнообразен. Однако если говорить о современных процессорах, на которые имеет смысл ориентироваться, то можно ограничиться рассмотрением лишь процессоров с разъемами Socket AM2+/AM3 семейств Phenom II и Athlon II.

В каждом из семейств, Phenom II и Athlon II, имеются серии четырехъядерных (Phenom II X4, Athlon II X4), трехъядерных (Phenom II X3, Athlon II X3) и двухъядерных (Phenom II X2, Athlon II X2) процессоров. Ну, а главное различие между семействами Phenom II и Athlon II заключается в том, что в процессорах семейства Phenom II есть кэш L3, а в процессорах семейства Athlon II он отсутствует.

Каждое ядро процессора AMD Phenom II и Athlon II имеет кэш-память первого уровня (L1) размером 128 Кбайт, которая делится на двухканальный 64-килобайтный кэш данных и двухканальный 64-килобайтный кэш инструкций (размер строки составляет 64 байт). Кроме того, каждое ядро процессора имеет выделенный кэш L2 размером 512 Кбайт. Кэш-память второго уровня (L2) является 16-канальной (размер строки -- 64 байт). В процессорах семейства AMD Phenom II присутствует также кэш-память третьего уровня (L3), которая является 48-канальной (размер строки -- 64 байт).

Во всех процессорах AMD этих семейств реализована технология AMD 64 (поддержка 64-разрядных вычислений). Кроме того, все процессоры AMD снабжены наборами команд MMX, SSE, SSE2, SSE3 и Extended 3DNow!, технологиями энергосбережения Cool’n’Quiet, защиты от вирусов NX Bit и технологией виртуализации AMD Virtualization.

Также все процессоры семейств AMD Phenom II и Athlon II поддерживают шину HyperTransport 3. 0, связывающую процессор с чипсетом.

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

Первый из них -- это ширина, которая может составлять 2, 4, 8, 16 или 32 бита. Второй -- максимальная частота работы. Для ревизии HyperTransport 1.0 (HT 1. 0) максимальная частота составляла 800 МГц, для ревизии HT 2.0 (используется в современных процессорах) она равна 1,4 ГГц, для HT 3.0 максимальная частота шины увеличена до 2,6 ГГц, а для HT 3.1 -- до 3,2 ГГц.

ПоказатьСвернуть
Заполнить форму текущей работой