ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
Центральный
процессор - электронный блок либо микросхема
исполнитель машинных инструкций, главная
часть аппаратного обеспечения компьютера
или программируемого логического контроллера.
Иногда называют микропроцессором или
просто процессором.
Процессоры
персональных компьютеров отвечают
единому стандарту, который задан
фирмой Intel, мировым лидером в производстве
процессоров для ПК. Фирма AMD выпускает
процессоры, в общем аналогичные интеловским.
AMD приходится предугадывать будущее индустрии,
иногда опережая Intel с ее полумиллиардными
доходами. Предсказуемо появление новых
идей у отстающей компании - для нее это
способ выжить. Но неожиданно то, что иногда
эти идеи принимает на вооружение и Intel.
Речь идет о IBM-совместимых персональных
компьютерах. На нашем рынке, как, впрочем,
и в мире, их подавляющее большинство.
В расчёте именно на этот стандарт пишутся
игры, программы и прочее.
Современные
процессоры основаны на многоядерной
архитектуре, т. е. центральный процессор,
содержащий два и более вычислительных
ядра на одном процессорном кристалле
или в одном корпусе.
Многоядерные
процессоры можно классифицировать
по наличию поддержки когерентности Кешей
между ядрами. Бывают процессоры с такой
поддержкой и без нее.
Во всех
существующих на сегодняшний день многоядерных
процессорах кэш-память первого
уровня у каждого ядра своя, а
кэш 2-го уровня существует в нескольких
вариантах:
- разделяемый
- кэш расположен на одном кристалле с
ядрами и доступен каждому из них в полном
объёме.
- индивидуальный
- отдельные Кэши равного объёма, интегрированные
в каждое из ядер. Обмен данными из Кэшей
L2 между ядрами осуществляется через контроллер
памяти - интегрированный или внешний.
На сегодняшний
день основными производителями
процессоров - Intel и AMD дальнейшее увеличение
числа ядер процессоров признано как одно
из приоритетных направлений увеличения
производительности. В 2010 году уже освоено
производство 6-ти ядерных процессоров
для домашних компьютеров, и 8-ми и 12-ти
ядерных для серверных систем.
Цель
моей работы состоит в том, чтобы
провести сравнение нескольких самых
популярных IBM совместимых, на сегодняшний
день, процессоров для персональных компьютеров.
Глава1.Функции
и строение процессора
Микропроцессор
- центральное устройство (или комплекс
устройств) ЭВМ (или вычислительной
системы), которое выполняет арифметические
и логические операции, заданные программой
преобразования информации, управляет
вычислительным процессом и координирует
работу устройств системы (запоминающих,
сортировальных, ввода - вывода, подготовки
данных и др.). В вычислительной системе
может быть несколько параллельно работающих
процессоров; такие системы называют многопроцессорными.
Наличие нескольких процессоров ускоряет
выполнение одной большой или нескольких
(в том числе взаимосвязанных) программ.
Основными характеристиками микропроцессора
являются быстродействие и разрядность.
Быстродействие - это число выполняемых
операций в секунду. Разрядность характеризует
объём информации, который микропроцессор
обрабатывает за одну операцию: 8-разрядный
процессор за одну операцию обрабатывает
8 бит информации, 32-разрядный - 32 бита.
Скорость работы микропроцессора во
многом определяет быстродействие компьютера.
Он выполняет всю обработку данных, поступающих
в компьютер и хранящихся в его памяти,
под управлением программы, также хранящейся
в памяти. Персональные компьютеры оснащают
центральными процессорами различных
мощностей.
Функции
процессора:
- обработка
данных по заданной программе путем выполнения
арифметических и логических операций;
- программное
управление работой устройств компьютера.
Модели
процессоров включают следующие
совместно работающие устройства:
- Устройство
управления (УУ). Осуществляет координацию
работы всех остальных устройств, выполняет
функции управления устройствами, управляет
вычислениями в компьютере.
- Арифметико-логическое
устройство (АЛУ). Так называется устройство
для целочисленных операций. Арифметические
операции, такие как сложение, умножение
и деление, а также логические операции
(OR, AND, ASL, ROL и др.) обрабатываются при помощи
АЛУ. Эти операции составляют подавляющее
большинство программного кода в большинстве
программ. Все операции в АЛУ производятся
в регистрах - специально отведенных ячейках
АЛУ. В процессоре может быть несколько
АЛУ. Каждое способно исполнять арифметические
или логические операции независимо от
других, что позволяет выполнять несколько
операций одновременно. Арифметико-логическое
устройство выполняет арифметические
и логические действия. Логические операции
делятся на две простые операции: "Да"
и "Нет" ("1" и "0"). Обычно
эти два устройства выделяются чисто условно,
конструктивно они не разделены.
- AGU (Address
Generation Unit) - устройство генерации адресов.
Это устройство не менее важное, чем АЛУ,
т.к. оно отвечает за корректную адресацию
при загрузке или сохранении данных. Абсолютная
адресация в программах используется
только в редких исключениях. Как только
берутся массивы данных, в программном
коде используется косвенная адресация,
заставляющая работать AGU.
- Математический
сопроцессор (FPU). Процессор может содержать
несколько математических сопроцессоров.
Каждый из них способен выполнять, по меньшей
мере, одну операцию с плавающей точкой
независимо от того, что делают другие
АЛУ. Метод конвейерной обработки данных
позволяет одному математическому сопроцессору
выполнять несколько операций одновременно.
Сопроцессор поддерживает высокоточные
вычисления как целочисленные, так и с
плавающей точкой и, кроме того, содержит
набор полезных констант, ускоряющих вычисления.
Сопроцессор работает параллельно с центральным
процессором, обеспечивая, таким образом,
высокую производительность. Система
выполняет команды сопроцессора в том
порядке, в котором они появляются в потоке.
Математический сопроцессор персонального
компьютера IBM PC позволяет ему выполнять
скоростные арифметические и логарифмические
операции, а также тригонометрические
функции с высокой точностью.
- Дешифратор
инструкций (команд). Анализирует инструкции
в целях выделения операндов и адресов,
по которым размещаются результаты. Затем
следует сообщение другому независимому
устройству о том, что необходимо сделать
для выполнения инструкции. Дешифратор
допускает выполнение нескольких инструкций
одновременно для загрузки всех исполняющих
устройств.
- Кэш-память.
Особая высокоскоростная память процессора.
Кэш используется в качестве буфера для
ускорения обмена данными между процессором
и оперативной памятью, а также для хранения
копий инструкций и данных, которые недавно
использовались процессором. Значения
из кэш-памяти извлекаются напрямую, без
обращения к основной памяти. При изучении
особенностей работы программ было обнаружено,
что они обращаются к тем или иным областям
памяти с различной частотой, а именно:
ячейки памяти, к которым программа обращалась
недавно, скорее всего, будут использованы
вновь. Предположим, что микропроцессор
способен хранить копии этих инструкций
в своей локальной памяти. В этом случае
процессор сможет каждый раз использовать
копию этих инструкций на протяжении всего
цикла. Доступ к памяти понадобиться в
самом начале. Для хранения этих инструкций
необходим совсем небольшой объём памяти.
Если инструкции в процессор поступают
достаточно быстро, то микропроцессор
не будет тратить время на ожидание. Таким
образом экономиться время на выполнение
инструкций. Но для самых быстродействующих
микропроцессоров этого недостаточно.
Решение данной проблемы заключается
в улучшении организации памяти. Память
внутри микропроцессора может работать
со скоростью самого процессора.
- Кэш
первого уровня (L1 cache). Кэш-память, находящаяся
внутри процессора. Она быстрее всех остальных
типов памяти, но меньше по объёму. Хранит
совсем недавно использованную информацию,
которая может быть использована при выполнении
коротких программных циклов.
- Кэш
второго уровня (L2 cache). Также находится
внутри процессора. Информация, хранящаяся
в ней, используется реже, чем информация,
хранящаяся в кэш-памяти первого уровня,
но зато по объёму памяти он больше.
- Кэш
третьего уровня (L3 cache).
Находиться внутри процессора. По объему
больше чем память первого и второго уровней(512Кб-2Мб).
Увеличивает пропускную способность памяти.
- Основная
память. Намного больше по объёму, чем
кэш-память, и значительно менее быстродействующая.
Многоуровневая
кэш-память позволяет снизить требования
наиболее производительных микропроцессоров
к быстродействию основной динамической
памяти. Так, если сократить время доступа
к основной памяти на 30%, то производительность
хорошо сконструированной кэш-памяти
повыситься только на 10-15%. Кэш-память,
как известно, может достаточно сильно
влиять на производительность процессора
в зависимости от типа исполняемых операций,
однако ее увеличение вовсе не обязательно
принесет увеличение общей производительности
работы процессора. Все зависит от того,
насколько приложение оптимизировано
под данную структуру и использует кэш,
а также от того, помещаются ли различные
сегменты программы в кэш целиком или
кусками.
Кэш-память
не только повышает быстродействие микропроцессора
при операции чтения из памяти, но в ней
также могут храниться значения, записываемые
процессором в основную память; записать
эти значения можно будет позже, когда
основная память будет не занята. Такая
кэш-память называется кэшем с обратной
записью (write back cache). Её возможности и принципы
работы заметно отличаются от характеристик
кэша со сквозной записью (write through cache),
который участвует только в операции чтения
из памяти.
- Шина
- это канал пересылки данных, используемый
совместно различными блоками системы.
Шина может представлять собой набор проводящих
линий в печатной плате, провода, припаянные
к выводам разъемов, в которые вставляются
печатные платы, либо плоский кабель.
Информация передается по шине в виде
групп битов. В состав шины для каждого
бита слова может быть предусмотрена отдельная
линия (параллельная шина), или все биты
слова могут последовательно во времени
использовать одну линию (последовательная
шина). К шине может быть подключено
много приемных устройств - получателей.
Обычно данные на шине предназначаются
только для одного из них. Сочетание управляющих
и адресных сигналов, определяет для кого
именно. Управляющая логика возбуждает
специальные стробирующие сигналы,
чтобы указать получателю, когда ему следует
принимать данные. Получатели и отправители
могут быть однонаправленными (т.е.
осуществлять только либо передачу, либо
прием) и двунаправленными (осуществлять
и то и другое). Однако самая быстрая
процессорная шина не сильно поможет,
если память не сможет доставлять данные
с соответствующей скоростью.
Типы
шин:
- Шина
данных. Служит для пересылки данных
между процессором и памятью или процессором
и устройствами ввода-вывода. Эти данные
могут представлять собой как команды
микропроцессора, так и информацию,
которую он посылает в порты ввода-вывода
или принимает оттуда.
- Шина
адресов. Используется ЦП для выбора
требуемой ячейки памяти или устройства
ввода-вывода путем установки на шине
конкретного адреса, соответствующего
одной из ячеек памяти или одного из элементов
ввода-вывода, входящих в систему.
- Шина
управления. По ней передаются управляющие
сигналы, предназначенные памяти и
устройствам ввода-вывода. Эти сигналы
указывают направление передачи данных
(в процессор или из него).
- BTB (Branch Target
Buffer) - буфер целей ветвления. В этой
таблице находятся все адреса, куда будет
или может быть сделан переход. Процессоры
Athlon еще используют таблицу истории ветвлений
(BHT - Branch History Table), которая содержит адреса,
по которым уже осуществлялись ветвления.
- Регистры
- это внутренняя память процессора. Представляют
собой ряд специализированных дополнительных
ячеек памяти, а также внутренние носители
информации микропроцессора. Регистр
является устройством временного хранения
данных, числа или команды и используется
с целью облегчения арифметических, логических
и пересылочных операций. Над содержимым
некоторых регистров специальные электронные
схемы могут выполнять некоторые манипуляции.
Например, "вырезать" отдельные части
команды для последующего их использования
или выполнять определенные арифметические
операции над числами. Основным элементом
регистра является электронная схема,
называемая триггером, которая способна
хранить одну двоичную цифру (разряд).
Регистр представляет собой совокупность
триггеров, связанных друг с другом определённым
образом общей системой управления. Существует
несколько типов регистров, отличающихся
видом выполняемых операций.
Глава 2.Обзор
современных микроархитектур
кампаний AMD и Intel
2.1.
Nehalem - микроархитектура компании Intel,
представленная в 4 квартале 2008 года, для
процессоров Bloomfield в исполнении LGA 1366,
а также для процессоров Lynnfield в исполнении
LGA 1156. Микропроцессоры продаются под торговой
маркой Core i7 и Core i5 соответственно.
Новые
принципы дизайна платформ и процессоров
– существенное, но не единственное нововведение,
приходящее с внедрением новой микроархитектуры
Intel. Многие изменения заложены и в главной
составной части процессора – непосредственно
в вычислительном ядре. Несмотря на то,
что ядра процессоров Nehalem с точки зрения
пользователя можно рассматривать лишь
как улучшенный вариант микроархитектуры
Core, в них реализовано много новых технологий
и усовершенствований. Благодаря им процессоры
Nehalem могут похвастать и увеличившейся
«чистой» производительностью. Среди
важных нововведений необходимо отметить
появление технологии SMT (Simultaneous Multi-Threading)
– аналога технологии Hyper-Threading, позволяющей
одновременно исполнять два вычислительных
потока на одном ядре; добавление поддержки
новых команд SSE4.2; повышение результативности
механизма предсказания переходов; увеличение
размера внутренних буферов; улучшение
эффективности и скорости работы подсистемы
кэш-памяти.
Подводя
итог сказанному, обобщим основные
отличительные черты процессоров,
принадлежащих к поколению Nehalem:
- Два, четыре
или восемь ядер;
- Усовершенствованные
по сравнению с Core вычислительные ядра;
- Технология
SMT, позволяющая исполнять одновременно
два вычислительных потока на одном ядре;
- Три уровня
кэш-памяти: L1 кэш размером 64 кбайта на
каждое ядро, L2 кэш размером 256 кбайт на
каждое ядро, общий разделяемый L3 кэш размером
до 24 Мбайт;
- Интегрированный
контроллер памяти с поддержкой нескольких
каналов DDR3 SDRAM;
- Монолитная
конструкция – процессор состоит из одного
полупроводникового кристалла;
- Технологический
процесс с нормами производства 45 нм;
- Возможность
интегрирования в процессор графического
ядра;
- Новая шина
QPI с топологией точка-точка для связи
процессора с чипсетом и процессоров между
собой.
2.2. K10 - поколение
архитектуры микропроцессоров x86 компании
AMD. Процессоры этой архитектуры появились
в продаже в конце 2007 года.
Основным
отличием процессоров поколения K10
от своих предшественников на базе
AMD K8 является объединение четырёх ядер
на одном кристалле, обновления протокола
Hyper-Transport до версии 3.0, общий для всех ядер
кэш L3, а также перспективная поддержка
контроллером памяти DDR3. Сами ядра также
были модернизированы по сравнению с ядрами
AMD K8.
AMD
Balanced Smart Cache - Общий для всех ядер кэш
L3 объёмом 2 МБ в дополнение к 512 КБ кэша
L2 для каждого ядра.
Сокращение задержек при обращении к часто
используемым данным для увеличения производительности.
AMD
Wide Floating Point Accelerator -
128-битный FPU (floating point unit) для каждого ядра.
Ускорение выборки и обработки данных
в вычислениях с плавающей запятой.
Hyper-Transport
technology - Один 16-битный канал со скоростью
4000Mt/s. Соединение Hyper-Transport с пиковой
скоростью до 8.0Гб/сек и до 16.0Гб/сек при
работе в режиме Hyper-Transport 3.0.
До 33.1Гб/сек суммарной пропускной способности
между процессором и системой. Быстрый
доступ к системным ресурсам для увеличения
производительности.
Integrated
DDR2 DRAM Controller with AMD Memory
Optimizer Technology - Интегрированный контроллер
памяти с высокой пропускной способностью
и низкими задержками.
Поддержка PC2-8500 (DDR2-1066); PC2-6400 (DDR2-800), PC2-5300
(DDR2-667), PC2-4200 (DDR2-533) и PC2-3200 (DDR2-400) небуферизованных
модулей памяти.
Поддержка 64-битной DDR2 SDRAM.
Пропускная способность до 17.1Гб/сек. Быстрый
доступ к системным ресурсам для увеличения
производительности