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

Комбинация ЦП и ЦПС на кристалле с широкими функциональными возможностями

УДК 681.327.8

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

Dave Bursky. Combo CPU and DSP chip performs a sea of tasks, ED, 1991, No.3, pp.41—43, 46.

64-разрядный однокристальный встроенный контроллер обладает пиковым быстродействием 100 млн. команда/с, содержит в дополнение к универсальному суперскалярному центральному процессору с плавающей точкой цифровой процессор сигналов и способен решать самые разнообразные вычислительные задачи, в том числе задачи обработки изображений.

Создание отдельного специализированного контроллера или специализированной ИС для реализации требований по обработке данных в каждой из различных систем может вскоре оказаться анахронизмом. При разработке универсальных контроллеров, которые с каждым новым поколением становятся более мощными, наблюдается тенденция вводить в их состав специализированные подпроцессоры. Разместив на одном кристалле универсальный 64-разрядный суперскалярный процессор общего назначения, содержащий средства выполнения вычислений с плавающей точкой, и цифровой процессор сигналов (ЦПС), компания National Semiconductor создала многопроцессорную ИС, которая может применяться для реализации различных задач встроенного управления в одной системе.

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

Для реализации всех этих задач разработчики процессора Swordfish применили в нем полную 64-разрядную внутреннюю архитектуру с двумя четырехуровневыми целочисленными конвейерами, а также ряд других оригинальных аппаратных и программных решений. Кроме того, расположенный на кристалле процессор с плавающей точкой двойной точности, соответствующий требованиям стандарта IEEE-754, имеет собственный конвейер. Это позволяет параллельно осуществлять целочисленные вычисления и вычисления с плавающей точкой (исключение составляет выполнение операций умножения, поскольку умножитель используется и для целочисленных вычислений, и для вычислений с плавающей точкой). В течение одного такта новая ИС способна выполнять либо две целочисленные операции, либо одну целочисленную и одну операцию с плавающей точкой.

Процессор рассчитан на работу от 25-МГц внекристального генератора-синхронизатора. При такой тактовой частоте процессор может выполнять 100 млн. команд в секунду. Может совершенно справедливо показаться, что такой показатель быстродействия не соответствует тактовой частоте. В действительности же разработчики ИС разместили на кристалле схему фазовой автоподстройки частоты (ФАПЧ), обеспечивающую удвоение частоты, так что внутренняя логика работает при частоте 50 МГц. А поскольку ИС выполняет две команды за такт, пиковое быстродействие может достичь уровня 100 млн. команда/с. При работе с тактовой частотой 50 МГц показатели быстродействия процессора составляют 115 тыс. операций Драйстоуна в секунду и 20 млн. операций с плавающей точкой в секунду (на внутреннем цикле теста Unpack двойной точности). Дополнительным преимуществом использования внекристального генератора-синхронизатора с пониженной частотой является то, что разработчики машины могут оставлять для внекристальных аппаратных средств тактовую частоту 25 МГц, что способствует снижению стоимости машины, а также упрощает топологию схемной платы и шинные интерфейсы.

Переводя все эти показатели быстродействия в более практические понятия, следует отметить, что новый процессор выполняет алгоритмы, подобные встречающимся в задачах обработки изображений (например, 1024-точечные целочисленные быстрые преобразования Фурье и комплексно-целочисленные фильтры с импульсной характеристикой конечной длительности) гораздо быстрее, чем большинство специализированных однокристальных ЦПС. Например, как сообщает компания National, скорость выполнения процессором Swordfish целочисленных БПФ приблизительно на 70% выше, чем у цифрового процессора сигналов DSP56001 фирмы Motorola Inc. (Остин, шт.Техас),— первый затрачивает на этот алгоритм всего 1,5 мс (компания National сравнивает эти данные с показателями быстродействия процессора DSP56001, опубликованными в «Микропроцессорном обзоре» за октябрь 1989г., этот бюллетень издает компания Micro Design Resources Inc., Себастопол, шт.Калифорния). На выполнение 1024-точечного БПФ с плавающей точкой процессор Swordfish затрачивает несколько более 1 мс, а на дискретное косинусное преобразование 8*8 — всего 35 мкс при целых числах и 32 мкс при использовании чисел с плавающей точкой. Аналогично, на секцию комплексного фильтра с импульсной характеристикой конечной длительности затрачивается всего одна треть этого времени, приблизительно 100 нс/звено. Компания National считает, что при применении в лазерном принтере новый процессор обрабатывает файлы Adobe Postscript минимум в два-три раза быстрее, чем 25-МГц RISC-процессор Am29000 фирмы Advanced Micro Devices Inc, AMD, Саннивейл, шт.Калифорния, (если сравнивать с показателями быстродействия этого процессора, опубликованными опять же в бюллетене «Микропроцессорный обзор»). Ранее этот RISC-микропроцессор был самым быстродействующим для Postscript-принтеров.

ИС Swordfish — самое последнее добавление к семейству встроенных 32-разрядных процессоров компании National; это семейство начиналось с прибора 32CG16, имеющего быстродействие 1 млн. команда/с, и развивалось до модели 32GX320 с быстродействием 15 млн. команда/с, выпущенной в 1990г. Процессор Swordfish сохраняет основные принципы программирования ядер ЦП предыдущих приборов CG и GX и совместим на уровне языка ассемблера с предыдущими членами семейства 32000/EP, но при этом обладает усовершенствованной RISC-архитектурой. Эта архитектура в сочетании с оптимизирующим компилятором позволила разработчикам процессора добиться более чем шестикратного выигрыша в производительности. Программы, написанные на языке ассемблера 32000/EP, могут транслироваться ассемблером процессора Swordfish с генерацией машинного двоичного кода этого процессора. Хотя процессор Swordfish — первая ИС компании National, где используется суперскалярная RISC-архитектура, он не останется единственным — это же ядро ЦП можно будет использовать для построения других моделей процессорного семейства.

Высокое быстродействие, как объясняет Ран Талмуди, менеджер центра автоматизированного проектирования компании National (Герцлия, Израиль), достигается благодаря тому, что оба целочисленных конвейера процессора практически идентичны: оба они могут выполнять целочисленные арифметические операции и команды загрузки/запоминания. Таким образом, у компилятора имеется полная возможность распределять операции между обоими конвейерами. И напротив, как подчеркивает Талмуди, суперскалярный процессор i860 компании Intel Corp. (Санта-Клара, шт.Калифорния) накладывает ограничения на сочетания команд, которые могут поступать на обработку в каждый из двух конвейеров этого кристалла. Из этого не следует, что процессор компании National не имеет ограничений. Одно из его ограничений заключается в том, что выполнение операций условных и безусловных переходов рекомендуется передавать конвейеру В. Однако это может осуществляться средствами компиляторов языка высокого уровня или исходного кода.

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

Наличие двух целочисленных конвейеров и отдельного конвейера для выполнения операций с плавающей точкой обеспечивает суперскалярному процессору Swordf
Рис.1. Наличие двух целочисленных конвейеров и отдельного конвейера для выполнения операций с плавающей точкой обеспечивает суперскалярному процессору Swordfish компании National пиковое быстродействие 100 млн. команда/с при работе от внешней тактовой частоты 25 МГц. Чтобы достичь уровня 100 млн. команда/с, эта входная тактовая частота удваивается на кристалле при помощи схемы ФАПЧ, а в каждом такте выполняются две команды. Для поддержки задач встроенного управления на кристалле процессора размещаются также счетчик-таймер, контроллер прерываний и два канала ПДП, обеспечивающие быстрые обмены данными.

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

Процессор в целочисленном режиме предусматривает одну важную особенность — способность обработки комплексных чисел. Два из 32-разрядных регистров процессора могут разделяться на два 16-разрядных полуслова каждый. Имеются две специальные команды полусловного умножения, благодаря которым на выполнение десяти операций (двух загрузок, четырех умножений и четырех сложений), необходимых для выполнения-накопления при обработке комплексных-16-разрядных чисел со знаком, затрачивается всего пять тактов. При целочисленных вычислениях на перемножение 32 полных 32-разрядных чисел затрачивается один такт. Эту операцию выполняет умножитель устройства с плавающей точкой. В связи, с этим в течение того же такта параллельно с умножением можно выполнять только операцию АЛУ с плавающей точкой или вторую целочисленную операцию.

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

Поскольку процессор Swordfish предназначался для решения прикладных задач встроенного управления, на его кристалле были размещены и другие ресурсы — 16-разрядный счетчик-таймер, двухканальный контроллер ПДП и контроллер 15-уровневых прерываний. Предусматривается возможность использования таймера в режиме широтно-импульсной модуляции (ШИМ, PWM) в качестве счетчика внешних событий или регистра для приема входных данных. Контроллер ПДП может выполнять как операции однотактного сквозного переноса данных, так и операции типа «память — память», а контроллер прерываний способен обрабатывать до 15 уровней кодированных приоритетных прерываний.

Интерфейс шины процессора очень эффективен — на перенос адреса или данных требуется всего один такт, а вспомогательная логика, размещенная на кристалле, позволяет осуществлять двойной интерливинг для блоков памяти и (или) кэш-памяти, чтобы в максимальной степени использовать пропускную способность шины. Благодаря этому при системной тактовой частоте 25 МГц процессор Swordfish предоставляет системе свыше 60 нс на доступ, т.е. обеспечивается возможность работать без периодов ожидания (рис.2). А большинство других RISC-процессоров предоставляют разработчикам обычно менее половины этого времени. Такое ограничение приводит к повышению стоимости системы, поскольку приходится применять высокоскоростные статические ЗУПВ или быстродействующие динамические ЗУПВ со статическим режимом выбора столбцов. А процессор компании National вполне может работать с недорогими стандартными ДЗУПВ, используемыми в страничном режиме.

Благодаря использованию удвоенной тактовой частоты и сохранению частоты 25 МГц для интерфейса внешней шины снимаются временные ограничения работы проц
Рис.2. Благодаря использованию удвоенной тактовой частоты и сохранению частоты 25 МГц для интерфейса внешней шины снимаются временные ограничения работы процессора Swordfish с памятью: для обращений к внекристальной памяти предоставляется 62 не — при этом можно работать без периодов ожидания. Таким образом, с процессором можно использовать относительно недорогие динамические ЗУПВ. Для сравнения следует указать, что другие RISC-процессоры требуют, как правило, дорогих высокоскоростных статических ЗУПВ или сложных подсистем памяти с интерливингом.

Хотя внутренние схемы процессора рассчитаны на работу на тактовой частоте 50 МГц, использование внешней тактовой частоты 25 МГц существенно упрощает построение интерфейса внешней шины. Если, однако, имеются высокоскоростные внекристальные периферийные устройства, то внутреннюю схему удвоения тактовой частоты можно обойти и подавать на кристалл непосредственно частоту 50 МГц.

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

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

В состав инструментальных средств проектирования аппаратуры и программного обеспечения будут входить компилятор языка Си, отладчики и мониторы языка ассемблера, а также плата макетирования с процессором Swordfish. На этой плате будут размещаться также ДЗУПВ, СППЗУ, порт последовательного ВВ, порт сети Ethernet и разъем расширения для шины AT. Инструментальные средства программирования первоначально будут предназначаться для работы на инструментальных машинах SparcStation компании Sun, а также HP9000 компании Hewlett-Packard и RISC-машине компании Opus Systems.

Цены и условия поставки

Процессор Swordfish, известный также как прибор NS32SF640, первоначально будет выпускаться в 223-контактном корпусе с матрицей штырьковых выводов. Опытные образцы этого прибора появятся в III квартале 1991г. Опытные образцы в вариантах с внутренней тактовой частотой 33 МГц будут продаваться одиночными экземплярами по цене менее 1200 долл. Плата для макетирования, также поставляемая одиночными экземплярами, будет стоит 10 тыс. долл. Ассемблер и соответствующие инструментальные средства программирования для машин VAX будут стоить 6000 долл., для рабочих станций компании Sun — 3000 долл. Си-компиляторы для машин VAX и АРМ компании Sun будут продаваться по 3000 долл. и 1800 долл. соответственно.

National Semiconductor Corp., 2900 Semiconductor Dr., P.O.Box 58090,
Santa Clara, СА 95052-8090; Phillip Gibson; (408)721-6816

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

Журнал "Электроника" том 64, No.03 (856), 1991г - пер. с англ. М.: Мир, 1991, стр.12

Electronics Design Vol.39 No.01 January 10, 1991 A Penton Publication

Electronics Design Vol.39 No.03 February 14, 1991 A Penton Publication

Dave Bursky. Combo CPU and DSP chip performs a sea of tasks, ED, 1991, No.3, pp.41—43, 46.

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

Тема:     Контроллеры





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


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