Правильная ссылка на эту страницу
http://az-design.ru/Support/HardWare/Motorola/D19900125Elc013.shtml

Конвейерный CISC - процессор, превосходящий по быстродействию RISC -процессоры

УДК 681.325.5-185.4

Дейв Бёрски (Dave Bursky)
Редакция Electronics

Dave Bursky. Pipelined CISC processor exceed RISC throughput, ED, 1990, No.2, pp.91—93.

Новый центральный процессор 68040 компании Motorola сохраняет полную программную совместимость с ранее выпущенными микропроцессорами семейства 68000 и при этом обладает быстродействием более 20 млн. операция/с и 5 Мфлопс. Опытные образцы этого микропроцессора (цена около 750 долл.) должны появиться в феврале 1990г.

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

Микропроцессор 68040 способен выполнять обычные вычислительные операции со скоростью от 19 до 21 млн. команда/с, а это достижимо далеко не для каждого из новейших микропроцессоров даже с RISC-архитектурой. Разработчикам нового микропроцессора удалось повысить эффективность выполнения команд до 1,3 такта на команду, вместо того чтобы поднимать тактовую рабочую частоту до предельных величин.

Вычислительные операции с плавающей точкой микропроцессор 68040 выполняет в среднем в 5—10 раз быстрее, чем микропроцессор 68020 или 68030 с вспомогательным математическим сопроцессором 68882. Размещенный на кристалле прибора 68040 математический процессор выполняет вычисления с плавающей точкой двойной точности с быстродействием от 3,5 до 5,6 Мфлопс — это приблизительно такое же быстродействие, как для внекристальных математических акселераторов, предлагаемых компанией Weitek Inc. (Саннивейл, шт.Калифорния).

Тактовая частота первых вариантов микропроцессора 68020 составит 25 МГц, а для будущих вариантов эта частота будет еще повышена и достигнет 40 МГц. Процессор будет также предусматривать два режима сопряжения для своих встроенных шинных усилителей. «Малый» режим буферных усилителей может использоваться для построения системах ограниченными возможностями расширения и позволяет снизить мощность потребления микропроцессора примерно до 3 Вт. «Большой» режим буферных усилителей увеличивает мощность примерно до 5 Вт, однако дает возможность микропроцессору работать с повышенной скоростью в системах с контролируемым 50-Ом сопротивлением.

Как сообщалось ранее, микропроцессор 68040 имеет на кристалле раздельные 4-кбайт кэш-памяти команд и данных, это 16-кратное увеличение емкости сверхоперативной памяти по сравнению с двумя 256-байт кэш-памятями микропроцессора 68030. Однако для обеспечения оптимального использования встроенных кэш-памятей разработчики применили четырехканальную множественно-ассоциативную организацию, что позволило добиться максимального процента нахождения нужных слов в кэш-памяти и минимального среднего времени перезаполнения кэш-памяти. Каждая строка кэш-памяти содержит четыре длинных слова. Для каждой страницы кэш-памяти может быть задан режим записи либо по алгоритму обратного копирования, либо по сквозному алгоритму.

На кристалле имеются два страничных устройства управления памятью (УУП), по одному для каждой кэш-памяти, причем работают они параллельно. Они обеспечивают возможность одновременного преобразования адресов команд и данных из 32-бит логического адресного пространства в 32-бит физическое пространство. Каждое УПП содержит также собственный буфер быстрого преобразования адресов (TLB). Размер страницы для внекристальной памяти может быть установлен равным либо 4, либо 8 кбайт, причем для всех страниц можно независимо указывать возможность или невозможность отображения в кэш-памяти. Далее, каждое УУП содержит два программируемых пользователем бита, что позволяет задавать атрибуты страниц для управления режимами работы, например для слежения за операциями шины, или для расширения адресного диапазона.

Обе кэш-памяти имеют также схемы слежения за операциями шины, что позволяет контролировать внешнюю шину и гарантировать целостность данных, хранящихся во внутренних или внешних кэш-памятях. Наличие подобных схем существенно упрощает применение процессора в многопроцессорных и многозадачных системах. Аппаратные средства слежения за операциями внешней шины позволяют контроллеру кэш-памяти перехватывать запросы на доступ к кэш-памяти со стороны внешних главных абонентов в системах с многими главными абонентами. Внешние главные абоненты могут пытаться записывать данные непосредственно во встроенную кэшпамять или считывать данные непосредственно из этой внутренней кэш-памяти кристалла. Для координации этих операций внешних главных абонентов предусмотрен сигнал блокировки памяти Memory Inhibit, управляющий доступом к встроенным кэш-памятям кристалла.

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

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

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

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

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

Благодаря наличию шестиуровневого конвейера, двух 4-кбайт кэш-памятей и встроенного процессора с плавающей точкой новый микропроцессор 68040 компании
Благодаря наличию шестиуровневого конвейера, двух 4-кбайт кэш-памятей и встроенного процессора с плавающей точкой новый микропроцессор 68040 компании Motorola при выполнении целочисленных вычисленийй по производительности почти в три раза превосходит своего предшественника, микропроцессор 68030.

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

Далее, ЦП осуществляет декодирование и начинает вычисления по обоим путям команды условного перехода. Благодаря этому исключается задержка, которая возникала бы в связи с необходимостью очистки и перезаполнения конвейера в случае состоявшегося ветвления, и получаются лишь небольшие потери в случае, если ветвление не состоится. А это в свою очередь способствует уменьшению времени реакции программы на изменение ситуаций в системе, поскольку схемы ветвления ориентированы на путь состоявшегося ветвления. Имеется одна новая команда, Move16 («Пересылка 16»), которая обеспечивает перенос 16 слов из памяти в память на полной скорости шины, подобная возможность будет весьма удобной для многих операционных систем с точки зрения выполнения контекстных переключений.

Специалисты компании Motorola затратили много времени на разработку схем управления, осуществляющих координацию прохождения потоков данных от главной системной шины по различным секциям ИС ЦП. Устройство управления памятью и встроенные блоки управления данными поддерживают почти постоянную загрузку исполнительного устройства на кристалле, т.е. ему почти никогда не приходится ждать поступления данных. Усовершенствованная параллельная архитектура позволяет устройству с плавающей точкой, целочисленному процессору и подсистеме управления памятью совмещать выполнение своих операций. Чтобы свести к минимуму вероятность приостановки конвейера, операциям чтения операндов присвоены более высокие аппаратные приоритеты, с тем чтобы они выполня-лис ь раньше, чем команды записи результатов. Для процессора с плавающей точкой среднее быстродействие составит 3,5 Мфлопс (при оценке на пакете Unpack двойной точности); это было достигнуто путем упрощения схемы указанного математического устройства за счет исключения редко используемых трансцендентальных функций и построения умножителя мантиссы аппаратным способом 64*8 бит на кристалле. (Архитектура умножителя 64*8 бит оказалась наиболее удачной с точки зрения экономии площади кристалла.) Благодаря этому процессор выполняет операцию умножения с затратой всего лишь трех тактов, а на простые операции сложения или вычитания требуется всего один такт.

Редко используемые трансцендентальные функции были исключены из аппаратной реализации ИС и для их выполнения программным способом предусмотрены особые прерывания. Однако даже в этом случае подобные операции могут выполняться на 25—100% быстрее, чем на 33-МГц математическом сопроцессоре 68882. Код для реализации трансцендентальных функций включается в пакет прикладных программ, причем микропроцессор 68040 выполняет эти операции прозрачным образом и остается полностью совместимым на уровне объектного кода с математическими процессорами 68881 или 68882.

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

Микропроцессор 68040 конструктивно оформляется в 179-контактном корпусе с матричным расположением выводов. Его опытные образцы начнут выпускаться в феврале 1990г. по цене около 750 долл. за ИС.

Motorola Inc., 6501 William Cannon Dr. W.,
Austin TX 78735-8598; (512) 891-2839

Выходные данные:

Журнал "Электроника" том 63, No.03 (832), 1990г - пер. с англ. М.: Мир, 1990, стр.44

Electronics Design Vol.38 No.1 January 11, 1990 A Penton Publication

Electronics Design Vol.38 No.2 January 25, 1990 A Penton Publication

Dave Bursky. Pipelined CISC processor exceed RISC throughput, ED, 1990, No.2, pp.91—93.

Раздел: МЕТОДЫ, СХЕМЫ, АППАРАТУРА

Тема:     Процессоры





Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:44 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/HardWare/Motorola/D19900125Elc013.shtml