Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_ТСКС.doc
Скачиваний:
18
Добавлен:
14.09.2019
Размер:
3.22 Mб
Скачать

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

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

Устройство процессора

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

Компоненты процессора

Современные процессоры состоят из следующих компонентов:

1. Блок выполнения (execution unit) — ядро процессора, занимающееся выполнением инструкций.

2. Предсказатель ветвления (branch predictor) - блок, пытающийся предсказать, какая инструкция программы будет выполнена следующей. Изменение последовательного порядка выполнения программы называется ветвлением (branch) или переходом (jump). Данные предсказателя позволяют блоку упреждающей выборки и блоку декодирования получать инструкции и данные заранее, чтобы эти инструкции были уже готовы к выполнению, когда процессор затребует их.

3. Математический сопроцессор (floating-point unit - FPU) — это специализированный логический блок, оптимизированный для выполнения операций над числами с плавающей точкой. Он делает это гораздо быстрее, чем логический блок общего назначения.

4. Первичный кэш (primary cache) — иногда называют кэшем первого уровня (Level 1 или L1 cache). Небольшое количество очень быстрой памяти позволяет процессору немедленно получать требующиеся ему данные, не тратя время в ожидании ответа от медленной оперативной памяти.

5. Интерфейсы шин (bus interfaces) — это магистрали, соединяющие процессор с памятью и другими компонентами. Например, современные процессоры взаимодействуют с памятью по выделенной шине, которая называется внешней шиной процессора (front-side busFSB), или просто шиной процессора (host bus).

Скорость процессора

Генератор тактовых импульсов процессора координирует все действия процессора и памяти, периодически формируя тактовый импульс, иногда называемый просто тактом (tick). Тактовая частота измеряется в мегагерцах (МГц), то есть миллионах импульсов в секунду, или в гигагерцах (ГГц), то есть миллиардах импульсов в секунду. Тактовая частота определяет быстроту выполнения инструкций. Некоторые инструкции выполняются за один такт, другие — за несколько. Некоторые процессоры способны выполнять несколько инструкций за один такт. Количество тактов, требующихся на выполнение инструкции, зависит от архитектуры процессора, набора его команд и от самой инструкции. Процессоры с расширенным набором команд (Complex Instructions Set ComputerCISC) работают со сложными инструкциями. Каждая из них выполняется за несколько тактов, по и решает достаточно сложную задачу. Процессоры с сокращенным набором команд (Reduced Instruction Set Computer RISC) работают с меньшим количеством более простых инструкций, каждая из которых выполняется быстро, но и делает не так уж много полезного.

Отличия в эффективности обработки означают, что процессоры нельзя сравнивать друг с другом, опираясь на одну только тактовую частоту. Процессор AMD Athlon с тактовой частотой 1,4 ГГц может работать даже быстрее, чем Intel Pentium 4 с тактовой частотой 1,7 ГГц, — все зависит от приложения. Сравнение затрудняется тем, что у разных процессоров имеются разные сильные и слабые стороны. Например, в операциях с числами любого типа Athlon обычно оказывается быстрее, чем Pentium 4 с той же тактовой частотой (то есть за один такт выполняет больше полезной работы), но расширенный набор команд Pentium 4 позволяет этому процессору выполнять специально оптимизированные приложения практически вдвое быстрее. Использовать тактовую частоту для сравнения процессоров можно только в рамках одного семейства. Например, Pentium Ш с ядром Tualatin и тактовой частотой 1,2 ГГц приблизительно на 20% быстрее, чем Pentium III с ядром Tualatin и тактовой частотой 1,0 ГГц, но даже здесь нельзя говорить об абсолютной линейности зависимости. С другой стороны, Pentium III с ядром Tualatin и тактовой частотой 1,2 ГГц будет более чем на 20% быстрее, чем Pentium III со старым ядром Coppermine и тактовой частотой 1,0 ГГц. К тому же даже в рамках одного семейства процессоры с одинаковыми названиями могут существенно отличаться по внутреннему устройству.

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

Тактовые частоты повышаются с каждым годом, но законы физики ограничивают быстродействие процессоров. Если бы разработчики пытались повышать производительность, поднимая одну лишь тактовую частоту, процессоры уже давно достигли бы предела своих возможностей. К счастью, параллельно с тактовой частотой улучшалась и внутренняя архитектура процессоров. Современные процессоры работают на тактовых частотах, в 500 раз превосходящих тактовую частоту процессора Intel 8088, который устанавливался в первые компьютеры IBM PC/XT, но производительность их выше в 5000 и более раз. Вот какие глобальные архитектурные улучшения позволяли процессорам становиться с каждым годом все быстрее и быстрее.

1. Увеличение ширины шины и емкости регистров. При фиксированной тактовой частоте быстродействие процессора определяется количеством обрабатываемых за одну операцию данных. Первые процессоры работали с 4-разрядными (полубайтовыми) и 8-разрядными (байтовыми) блоками, тогда как современные за одну операцию обрабатывают 32 и даже 64 разряда.

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

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

4. Суперскалярная архитектура. Один конвейер — хорошо, а два — лучше. Использование нескольких конвейеров позволяет процессорам параллельно выполнять несколько инструкций. Процессоры с такой архитектурой называются суперскалярными. Они выполняют несколько инструкций за один такт.