Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 2 Узлы современного компьютера .docx
Скачиваний:
2
Добавлен:
18.09.2019
Размер:
201.5 Кб
Скачать

Характеристики современных процессоров

Первым общедоступным микропроцессором был 4-разрядный Intel 4004, представленный 15 ноября 1971 года корпорацией Intel. Он содержал 2300 транзисторов, работал на тактовой частоте 108 кГц  и стоил 300 долл. Эта разработка поражала воображение современников: устройство размером с сустав указательного пальца, было сравнимо по своей вычислительной мощи с первой ЭВМ , которая была создана в 1946 г. и занимала пространство объемом в 85 кубометров.

В современных компьютерах процессоры выполнены в виде компактного модуля (размерами около 5×5×0,3 см), в виде одного полупроводникового кристалла, содержащего миллионы, а с недавнего времени даже миллиарды транзисторов + специализированный разъем.

Если попытаться классифицировать все характеристики современных процессоров с точки зрения пользователя, то можно выделить четыре основные группы:

  • производительность;

  • энергоэффективность;

  • функциональные возможности;

  • стоимость.

Если в отношении стоимости все понятно, то остальные характеристики процессоров нуждаются в комментариях.

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

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

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

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

Функциональные возможности

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

Так, нынешние процессоры Intel поддерживают следующие технологии: виртуализации Intel Virtualization Technology (Intel VT), защиты от вирусов Execute Disable Bit, 64-разрядных вычислений Intel Extended Memory 64 Technology (Intel EM64T), защиты от перегрева Intel Thermal Monitor 2, энергосбережения Enhanced Intel SpeedStep и Enhanced Halt State (C1E).

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

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

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

Например,

Рис. 1.  Упрощенная типичная структурная схема персонального компьютера

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

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

В качестве шины для подключения графического контроллера на современных материнских платах используется шина PCI Express.

Южный мост (периферийный контроллер) содержит контроллеры периферийных устройств (жёсткого диска, Ethernet, аудио), контроллеры шин PCI, PCI-Express и USB для подключения периферийных устройств, а также контроллеры шин, к которым подключаются устройства, не требующие высокой пропускной способности.

Реальность: современный процессор - однокристальное устройство: все ядра, контроллер памяти (а в Core i7 800 и контроллер PCI-E), и кэш находятся на одном кристалле. В процессорах i7 серии 800 отсутствует внешняя шина, это связано с тем, что процессор полностью поглотил северный мост, следовательно, шина FSB (QPI) не требуется.

Встроенный контроллер памяти - у процессоров Intel этот контроллер трехканальный, и поддерживает память DDR3-1333. Общая пропускная способность может достигать 32 ГБ/c. каждое ядро будет иметь собственную кэш-память 1го и 2го уровней, и общую для всех ядер кэш-память 3го уровня. Объем этой кэш-памяти 3го уровня – 8 МБ. Каждому ядру, в зависимости от его нужд в данный момент времени, динамически выделяется нужный объем кэш-памяти 3-го уровня.

Код и данные: основной принцип работы процессора

«Процессорное ядро» — это конкретное воплощение микроархитектуры (т.е. «архитектуры в аппаратном смысле этого слова»), являющееся стандартом для целой серии процессоров. Например, NetBurst — это микроархитектура, которая лежит в основе многих сегодняшних процессоров Intel: Celeron, Pentium 4 и задает общие принципы: длинный конвейер, использование определенной разновидности кэша кода первого уровня, расширенная 64-битная технология работы с памятью.

Скорости работы с памятью: За такт передаётся 64 бита, то есть 8 байт. Соответственно, если рабочая частота шины равна 100 МГц (100'000'000 тактов в секунду) — то скорость передачи данных будет равна 8 байт * 100'000'000 герц ~= «десятичных мегабайтах» 800 мегабайт в секунду.  DDR-шина способна передавать за один такт удвоенный объём данных ( по переднему и заднему фронту), а шина DDR2 — то она и вовсе «400-мегагерцевая», так как за один такт передаёт четыре пакета данных( за счет удвоенной частоты шины). Хотя реальная частота работы у всех трёх вышеописанных шин одинаковая — 100 мегагерц.

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

 Пусть нам следует исполнить следующую последовательность команд:

1) A = B + C 2) Z = X + Y 3) K = A + Z

В классическом случае исполнение всей последовательности заняло бы N*3 тактов, а в случае с параллельным исполнением — всего N*2 тактов.

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

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

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

MMX (Multimedia Extensions ) — коммерческое название дополнительного набора

инструкций(57шт.), выполняющих характерные для игр процессы кодирования/декодирования потоковых аудио/видео данных. Разработан в лаборатории Intel в Хайфе, Израиль, в первой половине 1990-х.

Блок предсказания ветвлений - пытается предсказать, на какой участок кода укажет команда условного перехода, ещё до того, как она будет исполнена. Блок предсказаний считает, что если N раз подряд результатом стал переход на определённый адрес — то и в N+1 случае будет осуществлён переход туда же.

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

Пример конвейерной обработки:

-арифметика чисел с плавающей запятой  требует ряд однотипных операций (регламентировано стандартом IEEE 754): Вызов операндов, выравнивание экспоненты, операция, нормализация результата. Совмещение во времени выполнения разных функций осуществляется благодаря параллельной работе разных функциональных блоков. Так, в процессоре Power4 за один такт может выполняться 8 инструкций. В микропроцессорах компании Intel применена суперскалярная структура, характеризуемая наличием двух конвейеров.

В настоящее время для дальнейшего повышения производительности используют несколько подходов.

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

Во-вторых, архитектура сверхбольшого командного слова EPIC, используемая в IA-64 и предполагающая программирование с высоким уровнем параллелизма на уровне команд.

В-третьих, многопотоковоая обработка информации на основе параллелизма на уровне нитей (TLP — Thread Level Parallelism). Если в обычном конвейере одно задание (нить) не в состоянии загрузить конвейер и ряд функциональных блоков остаются свободными, то в технологии TLP эти блоки загружаются операциями из других нитей.

Процессор (за редкими исключениями) исполняет не программы, написанные на каком-нибудь языке программирования, а некий «машинный код». То есть командами для него являются последовательности байтов, находящихся в памяти компьютера. Там же, в основной памяти (ОЗУ, RAM) находятся и данные, которые «перемешаны» с кодом. Различие между кодом и данными состоит в том, что данные — это то, над чем процессор производит какие-то операции. Команды и данные идентифицируются их адресом, который, представляет собой порядковый номер ячейки памяти.