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

Комплект быстродействующих 64-разрядных СБИС для выполнения операций двойной точности над числами с плавающей точкой

УДК 621.3.049.771.4-185.4:681.3

Фред Уэр (Fred Ware)
Фирма Weitek (Саннивейл, шт.Калифорния)

Лайон Лин (Lyon Lin)
Фирма Weitek (Саннивейл, шт.Калифорния)

Рони Уонг (Roney Wong)
Фирма Weitek (Саннивейл, шт.Калифорния)

Боб By (Bob Woo)
Фирма Weitek (Саннивейл, шт.Калифорния)

Крейг Хансен (Craig Hansen)
Фирма Weitek (Саннивейл, шт.Калифорния)

Fred Ware, Lyon Lin, Roney Wong, Bob Woo, Craig Hansen. Fast 64-bit chip set gangs up for double-precision floating-point work, pp. 99—103.

Конвейерный процессор с плавающей точкой, содержащий один сумматор, четыре умножителя и четыре шестипортовых регистровых блока, выдает результат в течение 120 нс. Описаны n-канальные МОП СБИС умножителя и арифметико-логического устройства, которые разработаны фирмой Weitek для инженерных автоматизированных рабочих мест, используемых при решении задач моделирования и анализа схем с большими объемами вычислений.

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

В дополнение к большому количеству наборов процессорных интегральных схем с плавающей точкой, созданных ранее для удовлетворения потребностей в подобных вычислительных средствах, фирма Weitek представляет сейчас 64-разрядный умножитель WTL1064 и арифметико-логическое устройство WTL1065. Две СБИС 1064/65 полностью обеспечивают выполнение 32-разрядных операций нормальной точности и 64-разрядных операций двойной точности, предусматриваемых проектом стандарта №754 (редакция 10.0) Института инженеров по электротехнике и радиоэлектронике; эти ИС характеризуются быстродействием, достигающим 16 мегафлоп (миллионов операций с плавающей точкой в секунду). Они позволяют также производить вычисления с плавающей точкой в форматах F (нормальной точности) и D (двойной точности) корпорации DEC и, кроме того, обрабатывать 32-разрядные целые в дополнительном двоичном коде.

Набор СБИС 1064/65, если сравнивать его с аналогичными по функциям схемными платами, дает приблизительно пятикратный выигрыш по стоимости при реализации арифметических устройств высокой точности вычислений с плавающей точкой. Этот н&бор может также заменить несколько больших схемных плат со сравнимыми скоростными характеристиками.

В первой половине 1983г. фирма Weitek представила набор интегральных схем для выполнения 32-разрядных операций с плавающей точкой — умножитель WTL1032 и АЛУ WTL1033, которые выпускаются в вариантах с быстродействием 5, 8 или 10 мегафлоп. Эти СБИС уже нашли применение в ряде вычислительных систем.

Фирма Weitek разработала еще одну новую СБИС — шестипортовый регистровый блок WTL1066, который служит для повышения скоростных характеристик обоих процессорных наборов (1064/65 и 1032/33) для выполнения операций с плавающей точкой. Этот блок реализует функцию промежуточной кэш-памяти данных; он может хранить 32 слова длиной по 32 бит и имеет по три порта для чтения и записи. Наличие регистрового блока 1066 позволяет в полной мере использовать скоростные возможности процессоров и делает необязательным применение быстродействующих интегральных схем памяти в микросистемах с плавающей точкой.

При разработке СБИС 1064/65 наивысший приоритет был отдан такому параметру, как быстродействие. Ввиду этого было решено использовать 64-разрядные внутренние тракты обработки данных и 144-контактный корпус. При столь большой разрядности трактов данных,  а также обширном наборе выполняемых функций и числе выходных линий состояния кристалл имеет размер, приближающийся к пределам возможностей существующей технологии. Чтобы упростить изготовление и обеспечить достаточно высокий процент выхода годных кристаллов столь большого размера, разработчики пошли на использование весьма нежестких топологических проектных норм. Кроме того, были приняты дополнительные меры, направленные на проверку соблюдения топологических норм. Контроль соблюдения топологических и электрических проектных норм осуществлялся при помощи программной системы верификации топологии ИС под названием Dracula, разработанной компанией ECAD Inc. (Санта-Клара, шт.Калифорния). Эта система автоматизированного проектирования позволила фирме Weitek избежать многих дорогостоящих ошибок, приводящих к большим потерям времени.

Стандартная n-канальная МОП-технология

Разработчики набора СБИС 1064/65 ориентировались на стандартную технологию n-канальных МОП-схем с 2-мкм топологическими проектными нормами. Кристаллы СБИС WTL1064 и WTL1065 имеют размеры приблизительно 8,0*8,0 и 7,6*7,6 мм соответственно. Они размещаются в стандартных 144-контактных корпусах с матричным расположением выводов и межцентровым расстоянием между выводами 2,54 мм, что соответствует геометрии расположения печатных проводников стандартных печатных плат. Средняя мощность рассеяния на кристалл составляет 2,0 Вт, что позволяет использовать принудительное воздушное охлаждение, которое обычно имеется в системах, где сочетаются ТТЛ- и МОП-схемы. Идентичная цоколевка выводов интегральных схем обеспечивает получение эффективной топологии печатных плат в случаях, когда эти СБИС совместно подключаются к шинам данных.

Две новые СБИС могут быть с успехом внедрены во многих приложениях, где уже используются прежние 32-разрядные компоненты. Для обработки сигналов, преобразования графических изображений, имитационного моделирования и в сопроцессорах общего назначения весьма часто может требоваться больший диапазон представления чисел или точность, чем те, которые обеспечиваются 32-разрядными форматами с плавающей точкой. Новые 64-разрядные процессоры предоставляют для подобных приложений простой путь дальнейшего развития, поскольку предусматривают выполнение как 32-, так и 64-разрядных операций. По тактовой частоте шины (16 МГц) и быстродействию (16 мегафлоп) набор СБИС 1064/65 совместим с набором 1032/33.

Предложенный ИИЭР проект стандарта на средства вычислений с плавающей точкой встретил хороший прием со стороны фирм — изготовителей интегральных схем. Стандарт 754 предусматривает жестко определенные условия, в рамках которых можно разрабатывать высококачественные программные средства для численных расчетов. Новый набор СБИС рассчитан на вычисления в 32- и 64-разрядных форматах стандарта ИИЭР с выдачей таких признаков недействительных данных при выполнении арифметических операций, как «не-число», «нуль» и «бесконечность», а также предусматривает четыре режима округления (с раздельной идентификацией для преобразования целых) и возможность формирования и обработки ненормализованных чисел.

Различия между форматами чисел

Во многих существующих вычислительных машинах используются форматы F и D, идентичные тем, которые фирма DEC (Мейнард, шт.Массачусетс) применила в архитектуре семейства мини-компьютеров VAX. Формат вычислений нормальной точности F отличается от требований станадрта ИИЭР в нескольких отношениях. Во-первых, вес дополнительного (скрытого) младшего разряда мантиссы составляет +1/2, а не +1, и смещение порядка составляет +128, а не +127. Кроме того, нулевое значение порядка зарезервировано за истинным нулем и для результата операций с переполнением порядка. Аналогичным образом формат вычислений двойной точности (D) корпорации DEC отличается от предусмотренного стандартом ИИЭР. Общее число разрядов разделяется на порядок и мантиссу по-разному: в формате D порядок и мантисса имеют 8 и 55 разрядов соответственно, а в формате двойной точности ИИЭР — 11 и 52. , В СБИС 1064/65 предусмотрен переключатель режимов, выбирающий режим ИИЭР или DEC. Режим DEC дает возможность разработчикам без труда создавать специализированные процессоры, которые могут взаимодействовать с главными машинами семейств VAX и PDP-11.

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

СБИС 1064 и 1065 имеют общую конфигурацию (рис.2). Например, каждая из них содержит три 32-разрядные шины данных — шины X и Y для приема операндов и шину Z для выдачи результатов. Многоразрядные шины данных позволяют этим СБИС осуществлять загрузку полностью 32-разрядных операндов за один шаг, вместо того чтобы делать это по 16 бит за такт. Многоразрядная структура внутренних шин обеспечивает эффективное выполнение 64-разрядных операций без потери быстродействия благодаря использованию сложной логики реализации многошагового режима выполнения. Тракт ввода-вывода и управляющие сигналы рассчитаны на взаимодействие с самыми различными шинными структурами (16-, 32- и 64-разрядными), так что разработчик может встроить в систему пользователя описываемые здесь 64-разрядные процессорные СБИС с целью выполнения операций с плавающей точкой при минимальной модификации существующих шин. При этом разработчик просто задает соответствующие значения признаков режимов, предусмотренных в СБИС умножителя и АЛУ, и различные варианты загрузки операндов и выдачи результатов.

Общая архитектура. Умножитель 1064 и АЛУ 1065 имеют одинаковую архитектуру, если не считать уровней конвейеризации (конвейеры №2 и №3): в АЛУ четыре,
Рис.2. Общая архитектура. Умножитель 1064 и АЛУ 1065 имеют одинаковую архитектуру, если не считать уровней конвейеризации (конвейеры №2 и №3): в АЛУ четыре, а в умножителе только два таких уровня. 32-разрядные слова операндов поступают «сверху» в конвейеризованную подсистему, а через два такта результаты выдаются на 32-разрядную шину Z.

Система команд СБИС 1064/65 является расширением по отношению к системе команд 1032/33, что гарантирует программную совместимость в рамках всего семейства. Используемый в СБИС 1032/33 4-разрядный код операции увеличен в СБИС 1064/65 до шести разрядов. Это позволило реализовать с помощью предлагаемой ИС не только новые 64-разрядные операции, но и такие дополнительные функции, как отрицание и сравнение операндов. Кроме того, для упрощения программирования математических вычислений в систему команд были введены дополнительные операции над абсолютными величинами, ранее реализовавшиеся программным способом или при помощи внешних по отношению к кристаллу логических схем.

Гибкость использования новых СБИС разработчики увеличили также благодаря тому, что предусмотрели шесть входов управляемой загрузки операндов. Сигнал на линии выбора кристалла CSL, используемый при загрузке, выбирает один конкурентный кристалл из нескольких возможных, а для управления входными шинами X и Y используется специальное 5-разрядное поле. Биты для этого поля управления загрузкой организуют прием операндов с одной или двух 16-разрядных шин, с одной или двух 32-разрядных шин или с одной 64-разрядной шины, а также определяют порядок приема операндов на кристалл. Один из разрядов управления загрузкой служит признаком начала операции; по нему осуществляется загрузка регистров операции и операнда и начинается выполнение операции.

Тракт обработки данных имеет четыре уровня конвейеризации в АЛУ 1065 и два уровня в умножителе 1064. Предусмотрена возможность параллельной работы нескольких умножителей 1064 для обеспечения полного использования скоростных характеристик АЛУ. Выполнение скалярных (одноэлементных) операций можно производить в обход конвейерных регистров обоих кристаллов.

Выдача информации с 32-разрядной шины результата Z и 4-разрядной шины состояния S осуществляется под управлением линии выбора кристалла с разгрузкой (CSU)h линии разгрузки U. Линия CSU также позволяет нескольким кристаллам совместно использовать управляющие поля, а также шины результата и состояния. Гибкость управления разгрузкой дополнительно обеспечивается наличием линий асинхронного разрешения с тремя состояниями.

Все регистры кристаллов выполнены как статические с большим запасом по параметрам и срабатывают по положительному фронту входного синхросигнала CLK+. Для выходных усилителей предусмотрены отдельные линии питания и земли, чтобы свести к минимуму помехи связи с внутренними шинами питания. Все входы и выходы кристалла совместимы с ТТЛ-схемами. Минимальная длительность цикла для кристалла составляет 60 нс. Все входы и выходы характеризуются небольшим набором критических параметров (время установления, время выдержки и запаздывание выдачи).

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

Конвейеризация или цепочечные вычисления

Конвейерная обработка применяется в тех случаях, когда требуется многократно выполнять стандартные вычислительные операции, например осуществлять быстрые преобразования Фурье при цифровой обработке сигналов. Классическим примером конвейерного устройства может служить матричный процессор. В конвейерном режиме СБИС фирмы Weitek осуществляют загрузку двух 64-разрядных операндов каждые два такта через входные порты X и Y и выдачу 64-разрядного результата каждые два такта, т.е. одного результата каждые 120 нс (рис.3).

Загрузка конвейера. В конвейерном режиме в СБИС 1064/65 загрузка первых слов операндов производится с задержкой на 12 тактов. После этого на шине Z че
Рис.3. Загрузка конвейера. В конвейерном режиме в СБИС 1064/65 загрузка первых слов операндов производится с задержкой на 12 тактов. После этого на шине Z через каждые два 60-нс такта начинают появляться 64-разрядные результаты, причем вначале выдается старшее 32-разрядное слово; выдача производится под управлением линии выбора кристалла с разгрузкой (CSU).

В режиме цепочечных вычислений, когда результат одной операции может использоваться в качестве входного операнда для следующей операции (как например, при анализе и моделировании электрических схем), загрузка по входам должна производиться только после полного завершения операции. В этом случае два такта затрачиваются на загрузку двух 64-разрядных операндов через порты X и Y, шесть тактов — на их прохождение через логику тракта обработки данных и еще два такта требуется для выдачи результата через порт Z. Таким образом, в режиме цепочечных вычислений результаты выдаются каждые 600 нс.

Расширенная система команд, которые могут выполняться благодаря новому, увеличенному 6-разрядному полю кода операции, в случае АЛУ 1064 включает, естественно, 32- и 64-разрядные операции сложения и вычитания. Предусматриваются обширные возможности обработки абсолютных величин, в том числе нахождение абсолютной суммы, абсолютной разности и суммы абсолютных величин. Кроме того, имеется ряд команд сравнения, позволяющих сравнивать два операнда либо нормальной, либо двойной точности. Эти команды обеспечивают сравнение двух операндов, двух абсолютных величин операндов или одного операнда с нулем. Наконец, есть команды для обработки ненормализованных операндов. Кроме того, система команд предусматривает возможности взаимного преобразования между всеми форматами представляемых чисел, включая 32-разрядные целые в дополнительном двоичном коде.

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

16 комбинаций 4-разрядных кодов состояния представляют разработчику микропрограмм больше информации и позволяют более детально описывать особые ситуации, чем в случае СБИС 1032/33. Поскольку программист может подробно разбираться в особых случаях, у него появляется возможность организовать гораздо более быструю их обработку. Первый бит кода состояния указывает случаи, когда результат получается равным нулю или бесконечности либо неточным. Следующие три бита служат для указания случаев переполнения или потери значимости, ненормализованных операндов (только для СБИС 1064) и недействительных операций.

Коды состояния для особых ситуаций также соответствуют стандарту ИИЭР. Кроме того, эти коды используются как признаки результата выполнения операций сравнения, а именно «равно», «меньше», «больше» и «не определено».

Не только обработка сигналов

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

Используя один регистровый блок 1066 и по одной интегральной схеме 1064 и 1065, можно достроить недорогую подсистему вычислений с плавающей точкой. Шина данных памяти позволяет передавать 32-разрядное слово каждые 60 нс. Для обмена операндами и результатами между процессорами и регистровым блоком, а также между двумя процессорами (цепные операции) используются две шины. Критическим элементом в подобной недорогой подсистеме с точки зрения уменьшения занимаемой площади платы при обеспечении максимальной производительности является регистровый блок 1066. Его применение позволяет уменьшить площадь печатной платы, требуемую для подсистемы этого типа, с 1600 до 516 см2. Такое уменьшение площади является результатом того, что в одной сверхбольшой интегральной схеме объединяются регистры, мультиплексоры, справочная таблица, которая обычно размещается в программируемом ПЗУ, и управляющая логика.

Регистровый блок 1066 повзоляет не только сэкономить площадь платы, но и снизить себестоимость, поскольку при его наличии можно в качестве памяти данных использовать интегральные схемы памяти с более низкими скоростными характеристиками. В 32 регистрах блока 1066 хранятся часто используемые операнды и промежуточные результаты. Этот высокоскоростной регистровый блок может выдавать операнды и принимать результаты от СБИС 1064/65 или 1032/33 о темпом 16 бит каждые 60 нс. Одна 32-разрядная двунаправленная шина данных, по которой осуществляется обмен данными между регистровым блоком и внешней памятью данных, может работать с длительностью цикла либо 60, либо 120 нс.

Применение СБИС 1066 и 1064/65 в подобной недорогой конфигурации особенно оправдано, если речь идет о таких универсальных цифровых системах, как микропроцессорные инженерные АРМ. По скорости выполнения операций с плавающей точкой описываемые СБИС могут в 10 раз превосходить сопроцессоры, которые применяются в настоящее время в микропроцессорных системах. Это вполне соответствует трех — пятикратному увеличению скорости выполнения прикладных программ с интенсивными вычислениями.

Сочетание арифметико-логического устройства с двумя СБИС умножителя позволяет выполнять 32-разрядные операции с быстродействием 16 мегафлоп и 64-разрядные операции с быстродействием 12 мегафлоп. Если в микросистему добавить еще два умножителя, то 64-разрядные операции будут выполняться со скоростью 16 мегафлоп, а это соответствует 10% вычислительной мощности суперкомпьютера Cray-1 при 0,1% его стоимости. Столь большой вычислительной мощностью будет обладать печатная схемная плата, имеющая площадь приблизительно 450 см2.

Два или четыре умножителя. В микросистему можно включить дополнительные умножители и СБИС регистровых блоков, чтобы достичь большей вычислительной мощ
Рис.4. Два или четыре умножителя. В микросистему можно включить дополнительные умножители и СБИС регистровых блоков, чтобы достичь большей вычислительной мощности, чем в базовом варианте схемной платы, содержащей по одной СБИС каждого типа. Когда в микросистеме используются четыре умножителя, скорость умножения достигает уровня скоростных возможностей выполнения операций сложения в одном АЛУ.

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

Набор СБИС 1064/65 нашел применение в одной из наиболее мощных среди когда-либо создававшихся систем для вычислений с плавающей точкой. Система FP5-164/MAX, которую недавно представила фирма Floating Point Systems Inc. (Портленд, шт.Орегон), способна выполнять 341 мегафлоп. Она может производить до 124 векторных операций одновременно, что позволяет системе FP5-164/MAX (в полном комплекте) осуществлять факторный анализ матрицы 1000*1000 элементов приблизительно за одну секунду и перемножать две матрицы 10 000*10 000 элементов менее чем за два часа.

Ускорение решения прикладных задач

В современных условиях, когда инженерные АРМ практически готовы предоставить высокие вычислительные мощности инженерам и научным сотрудникам, обязательными вскоре станут средства, обеспечивающие ускорение решения специфических прикладных задач и устраняющие «узкие» места, неизбежные в научно-исследовательских и конструкторских работах, связанных с большими объемами вычислений. Например, инженерам по электронике, разрабатывающим большие и сложные схемы, требуются средства точного и быстрого моделирования схем, предоставляемые подобными системами. Сочетание конвейеризации и вычислений с двойной точностью делает СБИС 1064/65 идеальными для реализации алгоритмов, характеризующихся высокой степенью регулярности . и большими объемами вычислений, а именно такие алгоритмы свойственны задачам моделирования схем. Например, одна из задач моделирования схем может быть представлена как решение уравнения

Ax = b,

где A — это матрица, описывающая топологию схемы, х — выходная рекация схемы, а b — возбуждающий сигнал схемы. Хотя особые структуры А позволяют использовать специализированные методы решения, как правило, приведенное выше уравнение решается при помощи гауссова исключения с частичным поворотом. Главная операция метода гауссова исключения — это исключение строк; ее можно представить в виде

a1 = A1 + Kb1,

где a1 и b1 — это элементы строк а и b в матрице, i=1, 2, 3,..., n и K — константа. Такая операция является регулярной, поэтому конвейер микросистемы 1064/65 может быть постоянно заполненным, что позволяет добиться максимальной вычислительной мощности СБИС.

Моделирование приборов

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

Еще одна серьезная проблема для пользователей программ моделирования электрических схем на сегодня — это численное интегрирование. Например, в узловом анализе типичное уравнение имеет вид

i = C(dv/dt),

где i — электрический ток, С — емкость, а dv/dt — изменение напряжения во времени. Для нахождения значения нового напряжения на узле это уравнение решается путем интегрирования. Чтобы достичь максимальной производительности при вычислениях, уравнение и данные следует представлять в виде отдельных векторов, с тем чтобы одновременно производить вычисления для ряда узлов и наиболее эффективно использовать высокоскоростные процессоры.

С точки зрения моделирования электрических схем особенно важное значение имеют предусмотренные в предлагаемом наборе СБИС с плавающей точкой возможности вычислений двойной точности, поскольку точность решения уравнения Ax = b зависит от размера матрицы A. Поскольку размер матрицы A непосредственно определяется количеством узлов в схеме, для исключения нестабильности и получения содержательных результатов при моделировании все больших и больших схем необходимо иметь возможность вести вычисления с двойной точностью. СБИС 1064/65 с высокоскоростными средствами выполнения операций двойной точности могут обеспечить решение этих задач на инженерных АРМ.

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

Журнал "Электроника" том 57, No.14 (695), 1984г - пер. с англ. М.: Мир, 1984, стр.22

Electronics Vol.57 No.14 July 12, 1984 A McGraw-Hill Publication

Fred Ware, Lyon Lin, Roney Wong, Bob Woo, Craig Hansen. Fast 64-bit chip set gangs up for double-precision floating-point work, pp. 99—103.

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

Тема:     Обработка данных





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


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