Современные процессоры
Карагандинский
Кафедра медицинской биофизики и информатики
СРС
на тему: «Современные процессоры»
выполнил: студент ОМ 129 гр.
Югай Кирилл
проверила: преподаватель
информатики
Маркова М.П.
Караганда 2011
Содержание:
Введение
1. 8086: первый процессор для ПК
2. Одноядерные процессоры
3. Переход к двуядерным процессорам
4. Виртуализация
5. Кратко о некоторых других технологиях
6. Будущие технологии
Использованные информационные источники
Введение
Процессор (или центральный процессор, ЦП) — это транзисторная микросхема, которая является главным вычислительным и управляющим элементом компьютера.
Английское название процессора - CPU (Central Processing Unit).
Процессор представляет собой специально выращенный полупроводниковый кристалл, на котором располагаются транзисторы, соединенные напыленными алюминиевыми проводниками. Кристалл помещается в керамический корпус с контактами.
В первом процессоре компании Intel - i4004, выпущенном в 1971 году, на одном кристалле было 2300 транзисторов, а в процессоре Intel Pentium 4, выпущенном 14 апреля 2003 года, их уже 55 миллионов. Современные процессоры изготавливаются по 0,13-микронной технологии, т.е. толщина кристалла процессора, составляет 0,13 микрон. Для сравнения - толщина кристалла первого процессора Intel была 10 микрон.
Рисунок 1 – принципиальная схема процессора
Управляющий блок - управляет работой всех блоков процессора.
Арифметико-логический блок - выполняет арифметические и логические вычисления.
Регистры - блок хранения данных и промежуточных результатов вычислений - внутренняя оперативная память процессора.
Блок декодировки - преобразует данные в двоичную систему.
Блок предварительной выборки - получает команду от устройства (клавиатура и т.д.) и запрашивает инструкции в системной памяти.
Кэш-память (или просто кэш) 1-го уровня - хранит часто использующиеся инструкции и данные.
Кэш-память 2-го уровня - хранит часто использующиеся данные.
Блок шины - служит для ввода и вывода информации.
Эта схема соответствует
процессорам архитектуры P6. По этой
архитектуре создавались
В процессорах Pentium 4 кэш 1-го уровня поделен на две части - кэш данных и кэш команд.
Существует два типа тактовой частоты — внутренняя и внешняя.
Внутренняя тактовая частота — это тактовая частота, с которой происходит работа внутри процессора.
Внешняя тактовая частота
или частота системной шины —
это тактовая частота, с которой
происходит обмен данными между
процессором и оперативной
До 1992 года в процессорах внутренняя и внешняя частоты совпадали, а в 1992 году компания Intel представила процессор 80486DX2, в котором внутренняя и внешняя частоты были различны — внутренняя частота была в 2 раза больше внешней. Было выпущено два типа таких процессоров с частотами 25/50 МГц и 33/66 МГц, затем Intel выпустила процессор 80486DX4 с утроенной внутренней частотой (33/100 МГц).
С этого времени остальные
компании-производители также
В современных процессорах, например, при тактовой частоте процессора 3 ГГц, частота системной шины 800 МГц.
Для чего предназначены дополнительные
наборы команд? В первую очередь
— для увеличения быстродействия
при выполнении некоторых операций.
Одна команда из дополнительного
набора, как правило, выполняет действие,
для которого понадобилась бы небольшая
программа, состоящая из команд основного
набора. Опять-таки, как правило, одна
команда выполняется
Таблица 1
Сравнение основных наборов команд
Процессор |
MMX |
EMMX |
3DNow! |
SSE |
E3DNow! |
SSE2 |
SSE3 |
Intel Pentium II |
+ |
— |
— |
— |
— |
— |
— |
Intel Celeron до 533 MHz |
+ |
— |
— |
— |
— |
— |
— |
Intel Pentium III |
+ |
— |
— |
+ |
— |
— |
— |
Intel Celeron 533—1400 MHz |
+ |
— |
— |
+ |
— |
— |
— |
Intel Pentium 4 |
+ |
— |
— |
+ |
— |
+ |
+/—* |
Intel Celeron от 1700 MHz |
+ |
— |
— |
+ |
— |
+ |
— |
Intel Celeron D |
+ |
— |
— |
+ |
— |
+ |
+ |
Intel Pentium 4 eXtreme Edition |
+ |
— |
— |
+ |
— |
+ |
+/—* |
Intel Pentium eXtreme Edition |
+ |
— |
— |
+ |
— |
+ |
+ |
Intel Pentium D |
+ |
— |
— |
+ |
— |
+ |
+ |
AMD K6 |
+ |
+ |
— |
— |
— |
— |
— |
AMD K6-2 |
+ |
+ |
+ |
— |
— |
— |
— |
AMD K6-III |
+ |
+ |
+ |
— |
— |
— |
— |
AMD Athlon |
+ |
+ |
+ |
— |
+ |
— |
— |
AMD Duron до 900 MHz |
+ |
+ |
+ |
— |
+ |
— |
— |
AMD Athlon XP |
+ |
+ |
+ |
+ |
+ |
— |
— |
AMD Duron от 1000 MHz |
+ |
+ |
+ |
+ |
+ |
— |
— |
AMD Athlon 64 / Athlon FX |
+ |
+ |
+ |
+ |
+ |
+ |
+/—* |
AMD Sempron |
+ |
+ |
+ |
+ |
+ |
+/—* |
+/—* |
AMD Athlon 64 X2 |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
VIA C3 |
+ |
+ |
+/—* |
+/— |
— |
— |
— |
* в зависимости от модификации
В 1970г. доктор Маршиан Эдвард Хофф с командой инженеров из Intel сконструировал первый микропроцессор. Во всяком случае, так принято считать – хотя на самом деле еще в 1968 году инженеры Рэй Холт и Стив Геллер создали подобную универсальную микросхему SLF для бортового компьютера истребителя F-14. Первый процессор работал на частоте 750 кГц. Сегодняшние процессоры от Intel быстрее своего прародителя более чем в десять тысяч раз.
Тактовая частота – это то количество элементарных операций (тактов), которые процессор может выполнить в течение секунды. Еще недавно этот показатель был для пользователей не то, что самым важным – единственным значимым! Многие пользователи пытались «разогнать» свой процессор при помощи специальных программ. Впрочем, частота процессоров и безо всякого разгона возрастала в геометрической прогрессии – в полном соответствии с так называемым «законом Мура» (в свое время Гордон Мур предсказал, что каждые полтора года частота микропроцессоров будет удваиваться вместе с числом транзисторов на кристалле). Этот принцип успешно работал вплоть до 2004 г. – пока на пути инженеров Intel не встали законы физики. Ведь размеры транзисторов «ужимать» до бесконечности нельзя. Уже сегодня процессоры производятся по 65-наномикронной технологии (технология 65 нанометров), а толщина «подложки» транзисторов не превышает 1 нм (всего 5 атомов). В ближайшие годы размеры транзисторов могут сократиться до 22 нм, что близко к физическому пределу. Одновременно с уменьшением размеров транзисторов резко возрастает количество тепла, которое выделяет работающий процессор – например у последних моделей Pentium тепловыделение составляет около 120 ватт (что соответствует двум бытовым электролампам)!
1. 8086: первый процессор для ПК
8086 стал первым процессором x86 - Intel к тому времени уже выпустила модели 4004, 8008, 8080 и 8085. Этот 16-битный процессор мог работать с 1 Мбайт памяти по внешней 20-битной адресной шине. Тактовая частота, выбранная IBM (4,77 МГц) была довольно низкой, и к концу своей карьеры процессор работал на 10 МГц. Первые ПК использовали производную процессора 8088, которая имела всего 8-битную внешнюю шину. Что интересно, системы управления в американских шаттлах используют 8086, и NASA пришлось в 2002 году покупать процессоры через eBay, поскольку Intel их больше не производила.
Таблица 2
Характеристики 8086
Intel 8086 | |
Кодовое название |
Н/Д |
Дата выпуска |
1979 |
Тактовая частота |
4,77-10 МГц |
80286: 16 Мбайт памяти, но всё ещё 16 битов
Выпущенный в 1982 году, процессор 80286 был в 3,6 раза быстрее 8086 на той же тактовой частоте. Он мог работать с памятью объёмом до 16 Мбайт, но 286 всё ещё оставался 16-битным процессором. Он стал первым процессором x86, оснащённым диспетчером памяти (memory management unit, MMU), который позволял работать с виртуальной памятью. Подобно 8086, процессор не содержал блока работы с плавающей запятой (floating-point unit, FPU), но мог использовать чип-сопроцессор x87 (80287). Intel выпускала 80286 на максимальной тактовой частоте 12,5 МГц, хотя конкурентам удалось добиться 25 МГц.
Таблица 3
Характеристики 8026
Intel 80286 | |
Кодовое название |
Н/Д |
Дата выпуска |
1982 |
Тактовая частота |
6-12 МГц |
386: 32-битный и с кэш-памятью
Intel 80836 стал первым процессором
x86 с 32-битной архитектурой. Вышло
несколько версий этого
Таблица 4
Характеристики 386
Intel 80386 DX | |
Кодовое название |
P3 |
Дата выпуска |
1985 |
Тактовая частота |
16-33 МГц |
486: FPU и множители
Процессор 486 для многих стал знаковым, поскольку с него началось знакомство с компьютером целого поколения. На самом деле, знаменитый 486 DX2/66 долгое время считался минимальной конфигурацией для геймеров. Этот процессор, выпущенный в 1989 году, обладал рядом новых интересных функций, подобно встроенному на кристалл сопроцессору FPU, и впервые представил множитель. Сопроцессор x87 был встроен в линейку 486 DX (не SX). В процессор был интегрирован кэш первого уровня объёмом 8 кбайт (сначала со сквозной записью/write-through, затем с обратной записью/write-back с чуть более высокой производительностью). Существовала возможность добавления кэша L2 на материнскую плату (работал на частоте шины).
Второе поколение 486 процессоров обзавелось множителем CPU, поскольку процессор работал быстрее, чем FSB, появились версии DX2 (множитель 2x) и DX4 (множитель 3x). Ещё один анекдот: "487SX", продаваемый как FPU для 486SX, представлял собой, по сути, полноценный процессор 486DX, который отключал и заменял оригинальный CPU.
Таблица 5
Характеристики 486
Intel 80486 DX | |
Кодовое название |
P4, P24, P24C |
Дата выпуска |
1989 |
Тактовая частота |
16-100 МГц |
У DX4 было 16 кбайт кэша и больше транзисторов - 1,6 млн. Этот процессор, изготавливаемый по 600-нм техпроцессу с площадью кристалла 76 мм², потреблял меньше энергии, чем оригинальный 486 (при напряжении 3,3 В).
2. Одноядерные процессоры
Рассмотрим их на примере процессора Intel Pentium 1.
В июне 1989 года были сделаны первые наброски процессора под кодовым названием P5. В конце 1991 года была завершена разработка макета процессора, и инженеры смогли запустить на нём программное обеспечение. Начался этап оптимизации топологии и повышения эффективности работы. В феврале 1992 года проектирование в основном было завершено, началось всеобъемлющее тестирование опытной партии процессоров. В апреле 1992 года принято решение о начале промышленного производства, в качестве основной промышленной базы была выбрана орегонская фабрика № 5. Началось промышленное освоение производства и окончательная доводка технических характеристик.
Основные отличия от процессора 486:
а) Благодаря использованию суперскалярной архитектуры процессор может выполнять 2 команды за 1 такт. Такая возможность существует благодаря наличию двух конвейеров — u- и v-. u-конвейер — основной, выполняет все операции над целыми и вещественными числами; v-конвейер — вспомогательный, выполняет только простые операции над целыми и частично над вещественными. Чтобы старые программы (для 486) в полной мере использовали возможности такой архитектуры, необходимо было их компилировать. Pentium — первый CISC-процессор, использующий многоконвейерную архитектуру.
б) 64-битная шина данных. Позволяет процессору Pentium за один шинный цикл обмениваться вдвое большим объёмом данных с оперативной памятью, чем 486 (при одинаковой тактовой частоте).
в) Механизм предсказания адресов ветвления. Применяется для сокращения времени простоя конвейеров, вызванного задержками выборки команд при изменении счетчика адреса во время выполнения команд ветвления. Для этого в процессоре используется буфер адреса ветвления ВТВ (Branch Target Buffer), использующий алгоритмы предсказания адресов ветвления.
г) Раздельное кеширование программного кода и данных. В процессорах Pentium используется кэш-память первого уровня - L1-кеш, объёмом 16 Кб, разделённая на 2 сегмента: 8 Кб для данных и 8 Кб для инструкций. Это улучшает производительность и позволяет делать двойное кэширование доступным чаще, чем это было возможно раньше. Кроме того, изменён механизм кэширования.
д) Улучшенный блок вычислений с плавающей запятой FPU.
е) Симметричная многопроцессорная работа.
3. Переход к двуядерным процессорам
Рисунок 2 – микрофотография одного из первых двуядерных процессоров
компьютер процессор одноядерный двуядерный
Первой двуядерные чипы для настольных ПК представила корпорация Intel — 11 апреля было официально объявлено о начале поставок процессора Pentium 4 Extreme Edition 840. AMD не заставила себя долго ждать и уже 21 апреля ознакомила публику с тремя серверными двуядерными процессорами Opteron, а также представила новую торговую марку — Athlon 64 X2, под которой уже 9 мая были официально презентованы двуядерные процессоры для настольных ПК.
Переход на двуядерную архитектуру
обусловлен тем, что традиционные методы
по увеличению производительности практически
исчерпали себя. Из-за ряда технологических
проблем темпы наращивания
Поэтому понятно, почему именно внедрение двуядерных процессоров оказалось наиболее логичным шагом на пути к новым вершинам быстродействия и ознаменовало начало новой эры в развитии процессорного рынка.
Что же представляет собой
двуядерный процессор? На первый взгляд
это просто два процессора, объединенных
в общем корпусе. Но не все так
просто. Во-первых, нужно различать
термины «процессор» и «
По сути, принцип работы процессора с Hyper-Threading похож на принцип работы многозадачной операционной системы, только происходит это не на программном, а на аппаратном уровне. Разделение потока на две части, как правило, позволяет эффективнее загрузить исполнительные устройства процессора. И при этом немного облегчить операционной системе задачу имитации множества независимых компьютеров на одном существующем процессоре.
Полноценный двуядерный процессор — совсем другое дело. В этом случае система определяет действительно два «честных» процессорных ядра. И прирост производительности при этом составляет уже не 10-20% (средний показатель для процессора с технологией Hyper-Threading), а все 80-90% и даже больше (естественно, при использовании обоих ядер). В принципе, двуядерный процессор представляет собой SMP-систему (SMP — Symmetric MultiProcessing, симметричная многопроцессорная обработка; термин, обозначающий систему с несколькими равноправными процессорами). По сути своей он не отличается от обыкновенной двухпроцессорной системы, в которой установлено два независимых процессора. В результате мы получаем все преимущества двухпроцессорных систем без необходимости использования сложных и дорогих двухпроцессорных материнских плат.
Один из способов создать
энергоэффективный процессор —
это переход от одноядерной процессорной
архитектуры к многоядерной. Дело
в том, что многоядерные процессоры
позволяют повышать производительность
именно за счет увеличения IPC, то есть количества
инструкций программного кода, обрабатываемых
за каждый такт работы процессора. В
идеале при переходе от одноядерной
архитектуры процессора к двуядерной
можно сохранить тот же уровень
производительности, снизив тактовую
частоту каждого из ядер почти
вдвое. В реальности, конечно, все
несколько сложнее — результат
будет зависеть от используемого
приложения и его оптимизации
к двуядерному процессору. То есть,
чтобы приложение могло одновременно
задействовать несколько
Рисунок 3 - Выполнение программного кода на одноядерном процессоре
В случае применения одноядерного процессора (рисунок 3) время, затрачиваемое на выполнение всего программного кода, составит:
t1 = N / IPS (3.1)
В случае использования n-ядерного процессора (рисунок 4) время, затрачиваемое на выполнение всего программного кода, окажется меньше за счет параллельного выполнения P команд на n ядрах процессора и составит:
(3.2)
Поскольку приростом производительности в данном случае можно считать сокращение времени выполнения программы при использовании многоядерного процессора по сравнению со временем выполнения той же программы при применении одноядерного процессора, то есть t1 / tn, получим, что прирост производительности составит:
(3.3)
Графическая зависимость прироста производительности от числа ядер процессора показана на рисунке 5.
Рисунок 4 - Выполнение программного кода на многоядерном процессоре
Как видно из
приведенной формулы, прирост производительности
в случае многоядерной архитектуры
процессора в большой степени
зависит от оптимизации приложения
к многоядерной архитектуре, то есть
от его способности
Рисунок 5 - Зависимость прироста производительности от числа ядер процессора
Рассмотренный пример представляет собой идеальную ситуацию, но в реальности все несколько сложнее, тем не менее, основная идея остается неизменной: использование многоядерных процессоров требует внесения кардинальных изменений в программное обеспечение. До сих пор, обсуждая прирост производительности, который можно получить при переходе от одноядерной к многоядерной архитектуре, мы рассматривали только одно приложение. Тем не менее, многоядерные процессоры позволяют ощутить существенный прирост производительности при одновременной работе нескольких приложений. В идеальном случае каждое приложение может исполняться на отдельном ядре процессора независимо от других приложений. К примеру, можно параллельно конвертировать видеофайлы, играть в игры и т.п. Многоядерная архитектура процессоров позволяет одновременно решать две глобальные задачи: увеличивать производительность процессоров и одновременно создавать энергоэффективные процессоры. Конечно, многоядерная архитектура — это лишь один из рецептов создания высокопроизводительных энергоэффективных процессоров. Для создания действительно энергоэффективного многоядерного процессора необходимо, чтобы каждое его ядро было оптимизировано для многоядерной архитектуры и к тому же было энергоэффективным. К примеру, двухъядерные процессоры Intel, основанные на архитектуре NetBurst (семейство Intel Pentium D), позволяют лишь частично решить проблему повышения энергоэффективности. Дело в том, что микроархитектура каждого ядра процессора семейства Intel Pentium D оптимизирована под масштабирование тактовой частоты и не является энергоэффективной. Другим подходом к повышению производительности в рамках заданного энергопотребления является переход на принципиально иную микроархитектуру ядра. Отметим, что данный подход не противоречит идее многоядерности, а скорее дополняет ее.
4. Виртуализация
Виртуализация в вычислениях — процесс представления набора вычислительных ресурсов, или их логического объединения, который даёт какие-либо преимущества перед оригинальной конфигурацией. Это новый виртуальный взгляд на ресурсы, не ограниченных реализацией, географическим положением или физической конфигурацией составных частей. Обычно виртуализированные ресурсы включают в себя вычислительные мощности и хранилище данных. Примером виртуализации являются симметричные мультипроцессорные компьютерные архитектуры, которые используют более одного процессора. Операционные системы обычно конфигурируются таким образом, чтобы несколько процессоров представлялись как единый процессорный модуль. Вот почему программные приложения могут быть написаны для одного логического (виртуального) вычислительного модуля, что значительно проще, чем работать с большим количеством различных процессорных конфигураций.
Программная виртуализация:
Динамическая трансляция - При динамической трансляции (бинарной трансляции) проблемные команды гостевой OC перехватываются гипервизором. После того как эти команды заменяются на безопасные, происходит возврат управления гостевой ОС. Паравиртуализация — техника виртуализации, при которой гостевые операционные системы подготавливаются для исполнения в виртуализированной среде, для чего их ядро незначительно модифицируется. Операционная система взаимодействует с программой гипервизор, который предоставляет ей гостевой API, вместо использования напрямую таких ресурсов, как таблица страниц памяти. Метод паравиртуализации позволяет добиться более высокой производительности, чем метод динамической трансляции. Метод паравиртуализации применим лишь в том случае, если гостевые ОС имеют открытые исходные коды, которые можно модифицировать согласно лицензии.
Аппаратная виртуализация:
а) Упрощение разработки программных платформ виртуализации за счет предоставления аппаратных интерфейсов управления и поддержки виртуальных гостевых систем. Это уменьшает трудоемкость и время на разработку систем виртуализации.
б) Возможность увеличения быстродействия платформ виртуализации. Управление виртуальными гостевыми системами осуществляет напрямую небольшой промежуточный слой программного обеспечения, что дает увеличение быстродействия.
в) Улучшается защищённость, появляется возможность переключения между несколькими запущенными независимыми платформами виртуализации на аппаратном уровне. Каждая из виртуальных машин может работать независимо, в своем пространстве аппаратных ресурсов, полностью изолированно друг от друга. Это позволяет устранить потери быстродействия на поддержание хостовой платформы и увеличить защищенность.