double arrow

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


Процессор IBM PC является вычислительным и логическим ядром системы. В литературе часто используется термин CPU (центральный процессорный блок) или просто «микропроцессор», что связано с его реализацией в виде одной микросхемы высокой степени интеграции.

CPU характеризуются:

· тактовой частотой;

· разрядностью;

· архитектурой.

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

Часто для количественного выражения быстродействия приводят число коротких операций, которые могут быть выполнены в единицу времени. Под короткой операцией понимается простейшая команда типа сложения содержимого двух регистров. Реальные CPU с CISC-архитектурой выполняют такие инструкции за 4 - 5 тактов (без учета конвейеризации). Зная тактовую частоту CPU, можно ориентировочно оценить его быстродействие. Быстродействие CPU определяется сочетанием почти всех его характеристик.

Разрядностью CPU называют максимальное количество разрядов двоичного кода, которые могут обрабатываться или передаваться одновременно. Понятие «разрядность» включает:

· разрядность внутренних регистров CPU;

· разрядность шины данных;

· разрядность шины адреса.

Определяющую роль в принадлежности CPU к тому или иному классу играет разрядность внутренних регистров (РОН – регистров общего назначения, в которых выполняются все операции процессора) или, по иному, внутренняя длина слова. От разрядности шины данных (внешней длины слова) зависит скорость передачи информации между CPU и другими устройствами. Разрядность шины адреса определяет адресное пространство CPU, т.е. максимальное количество полей (обычно байтов, где 1 байт = 8 бит) памяти, к которым можно осуществить доступ. Очевидно, адресное пространство составляет 2N, где N – разрядность шины, и при N = 32 получим 4 Гбайт, т.е. современные 32-разрядные процессоры могут реализовать прямую (flat) адресацию чрезвычайно ограниченного объема памяти. Реальная память машины может иметь меньший объем.

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

С этой точки зрения CPU фирмы AMD и CPU фирмы INTEL совместимы на уровне пользовательской архитектуры, но имеют существенно отличающуюся физическую архитектуру. Для обозначения архитектуры последних поколений процессоров INTEL - от х386 до PENTIUM используется аббревиатура IA-32.

Существенными элементами архитектуры CPU являются:

· система команд и способы адресации;

· возможность совмещения выполнения команд во времени;

· наличие дополнительных устройств и узлов в составе CPU;

· режимы работы CPU.

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

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

На кристалле CPU могут быть размещены дополнительные устройства, в том числе:

· система управления шиной;

· кэш-память;

· средства поддержки виртуальной памяти;

· средства защиты памяти.

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

Кэш-память

Кэшированием данных называется размещение наиболее важных данных в области памяти с более быстрым доступом.

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

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

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

Упреждающее чтение применяется во всех современных жестких дисках, имеющих от 64 до 1024 Кбайт кэш-памяти, выполненной на основе динамической RAM. Считываемые с диска данные с некоторым запасом помещаются в кэш-память диска и определенное время там хранятся. При повторном обращении к тем же данным они считываются уже из кэш-памяти, что происходит в 10..1000 раз быстрее.

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

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

Основными принципами организации работы кэш в CPU являются:

· хранение в кэш только часто используемых данных – стековое вытеснение неоперативных данных;

· ассоциативный доступ (в отличие от адресного – в RAM) к содержимому кэш-памяти;

· раздельный кэш данных и команд;

· иерархическая структура кэш.

Кэш-память организуется в виде иерархической структуры. В процессорах x86 характерно использование кэш первого уровня (Level 1 или L1-кэш), расположенного непосредственно на кристалле процессора, и более медленного кэш второго уровня (Level 2 или L2-кэш), расположенного в другой микросхеме или вообще на другой плате. При этом кэш первого уровня кэширует L2-кэш, а тот, в свою очередь, кэширует еще более медленную оперативную память. В RISC-процессорах зачастую используется L3-кэш и кэш более высоких порядков.

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

Виртуальная память

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

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


Сейчас читают про: