Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по ВС.doc
Скачиваний:
228
Добавлен:
22.03.2016
Размер:
1.1 Mб
Скачать

Контроллер памяти Контроллер pci

Рисунок 5.х Структурная схема процессора Alpha 21066

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

Этот процессор Alpha имеет две модификации, построенные по технологии RISC; в них предусматривается кэш-память первого уровня объемом 16 Кбайт и кэш-память второго уровня объемом 96 Кбайт. Для ускорения обменов с памятью в них реализована 128-разрядная шина, позволяющая передавать из памяти два двойных слова, что значительно повышает пропускную способность памяти.

Одной из наиболее интересных RISC-архитектур служит многопроцессорная архитектура SPARC (Scalable Processor Architecture) фирмы Sun. Процессоры с такой архитектурой изготавливаются уже несколькими фирмами. В настоящее время с такой архитектурой выпускаются 64-разрядные процессоры. Основными особенностями такой архитектуры служат:

  • Регистровые окна в качестве механизма передачи параметров между программами,

  • Механизмы отложенных переходов и аннулирования команд,

  • Широкое использование принципов суперскалярной обработки,

  • Многоступенчатые конвейеры целочисленной арифметики и арифметики с плавающей точкой,

  • Отделение подсистемы ввода-вывода от подсистемы процессора.

Теперь рассмотрим структуру современного CISC-процессора на примере наиболее распространенного в нашей стране процессора Pentium IY. В основу этого микропроцессора положена идея суперскалярной обработки и он обладает следующими особенностями:

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

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

  • динамическим прогнозированием переходов,

  • конвейерной 8-ступенчатой организацией блока для выполнения операций над числами с плавающей точкой.

Все команды распределяются по двум (а в более поздних версиях Pentium IY– по четырем) исполнительным устройствам, реализующим конвейерный принцип обработки. Конвейер U способен выполнять любые команды из системы команд x86, в том числе команды целочисленной арифметики и команды над числами с плавающей точкой. Конвейер V предназначен для выполнения простых целочисленных команд. В эти конвейеры команды направляются одновременно, причем более сложная поступает в конвейер U, а более простая – в конвейер V.

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

В этом процессоре используются раздельные кэш-памяти данных и команд емкостью по 16 Кбайт (в последних моделях PentiumIY). За один такт из них может считываться по два слова, записанных в одну строку. В кэш-памяти записываются три тега, позволяющие производить считывание данных из одной или двух смежных строк и следить за когерентностью кэш-памяти. Для ускорения загрузки кэш-памяти служит 64-битовая шина данных. Число адресных линий составляет 32.

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

Шина

Кэш-память команд L1

Буфер предварительной выборки

Буфер целевых адресов переходов

АЛУ U

АЛУ V

Устройство обработки с плавающей точкой

Регистры

Кэш данных L1

Рисунок 5.х Упрощенная структурная схема процессора Pentium

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

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

В последних моделях этого процессора используются механизмы, рассмотренные выше, а именно:

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

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

Эти механизмы, а также возможности суперскалярной обработки реализованы во многих процессорах фирмы Intel. Архитектура процессоров Pentium IY оптимизирована для 32-разрядных прикладных программ; это значит, что все внутренние регистры и средства передачи информации рассчитаны на работу с 32-разрядными словами. Для полной реализации всех возможностей таких процессоров требуется 32-разрядная операционная система и 32-разрядные прикладные программы. В системах, построенных на основе процессора Pentium IY, передача данных осуществляется по 64-разрядной магистрали, имеющей дополнительно 8 разрядов для использования корректирующих кодов; передача адреса выполняется по 36-разрядной магистрали. В настоящее время процессоры Xeon фирмы Intel, предназначенные для работы в качестве высокопроизводительных серверов сетей, рассчитаны на обработку 64-разрядных данных. Но процессоры Xeon и Pentium IY имеют практически одинаковые процессорные ядра, поэтому в Pentium IY также предусмотрены блоки для обработки 64-бит данных, но пока они отключены.

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

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

  • Особенно вредное влияние на производительность Pentium IY оказывают команды загрузки сегментных регистров (например, регистров, в которых хранится «сегментная» часть адреса) и команды ввода-вывода. Они не только задерживают выборку и обработку следующих за ними команд, но и требуют полной очистки всех ступеней конвейера.

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

Быстродействие процессора определяется не только принципиальной схемой, но также технологией и конструкцией, наличием или отсутствием кэш-памяти, ее объемом и скоростью работы. Объем кэш-памяти L2 может составлять 512 Кбайт, 1 или 2 Мбайт. В современных процессорах имеются расширения системы команд MMX (Multimedia Extensions для реализации функций мультимедиа) и SSE (Streaming SIMD Extensions для реализации мультипроцессорных конфигураций). Эти команды предназначены для многопроцессорных конфигураций, которые все чаще используются в сетях при построении серверов. Очень немногие обычные пользователи что-либо реально выигрывают от таких расширений, но, во-первых, сегодня машины используются не столько для решения сугубо производственных задач, сколько для игр, и, во-вторых, современные компьютеры содержат множество иных средств, обеспечивающих более высокую производительность при работе с деловыми программами.

Увеличению скорости работы процессора способствует и уменьшение ширины перехода, которое сопровождается снижением напряжения питания. Так питание процессора Xeon осуществляется от 1,8 В, что способствует снижению потребляемой мощности, а рабочая частота составляет свыше 2,0 ГГц. Тактовая частота процессоров Pentium IY составляет свыше 3,5 ГГц, а напряжение питания – менее 1,5 В. При переходе с 0,13-мкм на 0,09-мкм технологию можно ожидать, что будут достигнуты значения тактовой частоты порядка 4,5 ГГц. Кроме того, повышению частоты в процессорах Pentium IY способствует фактическое объединение двух кристаллов в одном корпусе: собственно процессора и кэш-памяти L2 объемом 512 Кбайт (или 1 Мбайт).