Раздел: Документация
0 ... 24 25 26 27 28 29 30 ... 78 гости компоновки ИС площадь кристалла может быть выгодно использована, скорее для увеличения функциональных возможностей процессора чем для дублирования процессоров, при котором возникают проблемы перестраиваемой конфигурации и разводки выводов. Следует заметить, что для данного случая характерны два уровня разработки: систолические алгоритмы разрабатываются для конкретного применения (например, для обработки сигналов), а процессор - для выполнения систолических алгоритмов . Эти предпосылки лежали в основе проекта программируемого систолического кристалла, развитие которого началось в октябре 1981 г. в университете Карнеги-Меллона. Целью проекта являлись разработка и реализация по МОП-технологии с нормой 4 мкм прототипа ПСК, который бы демонстрировал достоинства данного подхода и представлял бы собой экономичное средство для реализации многих систолических матриц. Ко времени написания этой работы, в марте 1983 г., ПСК был изготовлен, проверен и отлажен, и его демонстрация была намечена на лето 1983 г. Как уже отмечалось, хорошее представление области применения является решающим фактором успеха в выполнении специализированных устройств. В рассматриваемом случае необходимо было выбрать область применения ПСК. Очевидным кандидатом была обработка сигналов и изображений; дгя решения таких задач было разработано уже много систолических алгоритмов [31, 36]. Другой областью применения являлась реализация алгоритмов кодирования с обнаружением и коррекцией ошибок, в частности кодирования по алгоритму Рида-Соломона [44, 49]. Кроме того, были выбраны программы дисковой сортировки - слияния как примеры применения обработки данных. На практике требования к обработке данных в различных областях достаточно разнообразны (в частности, для большинства таких задач запоминающие устройства более полезны, чем умножители), так что проект, направленный на массовое использование, вероятно, должен быть ориентирован на решение либо числовых, либо нечисловых задач; различия в требованиях тем не менее недостаточны, для того чтобы исключить какой-либо тип применения. На ранних стадиях проектирования высокий уровень средств автоматизации проектирования помогал быстрому развитию алгоритмов и архитектуры. Первая схема ПСК была описана в [1] с помошью языка ISPS описания аппаратуры на уровне межрегистровой передачи. С помощью таблично управляемого микроассемблера и средств моделирования языка ISPS были написаны и промоделированы микрокоманды, что обеспечивало ускоренную обратную связь с процессом проектирования. Развиваемая архитектура, в свою очередь, обеспечивала конкретную основу, на которой могли быть сформулированы реальные систолические алгоритмы; это помогло в разработке алгоритмов декодирования Рида-Соломона [7]. Как указывалось в разд. 8.2, архитектура зависит от технологии и целевого назначения системы. Проектирование архитектуры ПСК связано по многим направлениям с технологией выполнения и с характеристиками систо- пических алгоритмов. Далее приводится список некоторых из затронутых проблем, учет которых важен для многих специализированных разработок. \.Локальность и гибкость управления. Некоторые систолические матрицы, включая те, которые реализуют многие алгоритмы обработки сигналов и матричной арифметики, требуют достаточно простого глобального управления. Тем не менее многие другие алгоритмы требуют различных действий на различных этапах (например, загрузки коэффициентов), а также действий, зависящих от данных, обрабатываемых в каждом систолическом цикле. Экономичность технологии СБИС позволяет оборудовать каждый процессор управляющим ЗУ на кристалле, что дает большую гибкость при умеренной стоимости. 2.Элементарные операции. Набор простейших арифметических, логических операций и операций управления, которые может выполнять процессор, в значительной степени определяет его эффективность. В частности, для эффективного выполнения большинства алгоритмов обработки сигналов и изображений необходима аппаратная реализация операции умножения. Средства арифметики кратной точности также могут расширить область применения процессора. 3.Связь между ячейками. Главной особенностью систолических матриц является непрерывность потока данных между ячейками. Эффективное выполнение таких матриц требует многоразрядных портов ввода-вывода и пересылки данных. Это ведет к структуре ввода-вывода, совершенно отличной от таковой в обычных микропроцессорах, в которых для пересылки простых слов данных в кристалл или из него требуются несколько циклов, а решающее значение играет адресация. Необходимо также обеспечить передачу в конвейерном режиме сигналов систолического управления, которые используются для управления в различных вычислительных фазах, таких как загрузка коэффициентов. 4.Внутренний параллелизм. Расчленение функций процессора гак, чтобы они могли выполняться параллельно, повышает производительность. Плотность компоновки СБИС обеспечивает множественность путей передачи отдельных данных к соответствующим единичным кристаллам. 5.Длина слова. Длина слова индивидуально программируемых процессоров выбирается компромиссно: малая длина слов ведет к несоответствию между объемами аппаратуры управления и аппаратуры, предназначенной для передачи данных, большая разрядность приводит к кристаллам большего размера с большим числом выводов. Решение этого вопроса в сильной степени зависит от технологии и области применения. Эти соображения привели к выбору следующих характеристик: 1)три 8-разрядных порта ввода данных и три 8-разрядных порта вывода данных; 2)три одноразрядных входа управления и три таких же выхода линий управления; 3)8-разрядное арифметико-логическое устройство (АЛУ), обеспечивающее многократно увеличенную точность и арифметические операции по модулю 257 (для декодирования по алгоритму Рида-Соломона); 4)умножитель-накопитель с 8-разрядными операндами и 16-разрядным аккумулятором; 5)управляющее ЗУ емкостью 64X 60 бит с перезаписью; 6)файл из 64 регистров по 9 разрядов каждый; 7)три 9-разрядных шины на кристалле; 8)стековое устройство управления последовательностью выполнения команд. Быстрое выполнение проекта особенно важно в университете. Изготовление кристалла финансировалось Управлением перспективных исследований министерства обороны США [16]. Другим фактором выполнения является планирование процесса проектирования. Детальная проработка некоторых компонентов ИСК началась параллельно с совершенствованием схемы на высоком уровне. Такое планирование имело два преимущества: оно позволило подключить к работе над проектом одного или двух специалистов, тем самым уменьшив суммарную длительность цикла проектирования, и произвести проверку кристаллов на выполнение отдельных функций до полной проверки, упростив тем самым задачи этапа тестирования. Нужно отметить, что результирующая компоновка "снизу вверх" является, вероятно, относительно менее эффективной, чем компоновка "сверху вниз"; в условиях быстрого изменения требований часть площади кристалла является разумной платой за сокращение сроков разработки. Ранее упоминалось об использовании средств автоматизации проектирования при разработке архитектуры; это инструментальное средство является особенно важным на уровне компоновки. Компоновка ИСК была выполнена с помощью интерактивного графического редактора. Методы компоновки проверялись на машине, фрагменты схемы автоматически выделялись, и производилось моделирование. Большие схемы были промоделированы на уровне ключей, а малые, расположенные на пути критической задержки в кристалле, были промоделированы на уровне элементарных вентилей для оценивания времени задержки. Этот подход оказался вполне успешным, незамеченными остались только мелкие логические ошибки из-за недостаточно полного моделирования. Поскольку процесс изготовления большого кристалла занимает несколько недель, полное моделирование, несомненно, оправдано как средство избежать дополнительных итераций (проектирования). Альтернативным подходом к оценке макета является сравнение выбранной схемы с проверенной ранее. Несмотря на широкое использование средств автоматизации проектирования при макетировании кристалла, нам все равно не хватало их. Отсутствие хороших программ трассировки и мощных средств проверки макета делает эту работу более трудной, чем можно было ожидать. Заключительной фазой в построении системы является ее включение для конкретного применения. Так как ПСК является элементом, пригодным для многих типов систем, однозначный ответ невозможен. Заметим, однако, что устройства, собранные из ПСК, не будут в общем требовать сложного интерфейса по управлению и командам, так как каждый крис- управляющий процессор Шина главной ЭВМ 7\ 7% Интерфейсная система буферная память Интерфейсный процессор Высокоскоростная шина > блок управления систолическим процессорам блок управления систолическим процессором 7S -DDDO Систолическая матрица Рис. 8.3. Интерфейсная система для заказных кристаллов СБИС талл программируем. Как указывалось в разд. 8.2, объединение в систему высокопроизводительных систолических матриц, по строенных на ПСК или других ИС, требует определенной системы интерфейса. На рис. 8.3 показан прототип современной интерфейсной системы, разработанной в университете Карнеги-Меллона, она обладает следующими характеристиками. Х.Шина с высокой пропускной способностью. Пропускная способность устройств ввода-вывода систолических матриц или заказных кристаллов СБИС обычно намного выше, чем могут обеспечить управляющие шины, такие как шины типа UNIBUS. Чтобы осознать необходимость высокой пропускной способности ввода-вывода, заметим, что типичная одномерная систолическая матрица требует пропускной способности устройств ввода-вывода около 15-Ю6 слов/с, каждый из двух входных потоков данных и один выходной поток требуют 5 -106 слов/с. Принятый цикл длительностью 200 не является типичным для систолических ячеек, выполняющих умножение, и в частности для ячеек с ПСК. При решении сложной задачи можно использовать несколько систолических структур, требующих в совокупности пропускной способности 100 -106 слов/с или больше. Поэтому для интерфейсной системы потребуется одна или несколько специальных шин с высокой пропускной способностью. 2. Буферная память. Эта память используется как буфер между низкоскоростной шиной главной ЭВМ и высокоскоростными специализированными шинами в интерфейсной системе. При хранении в этой памяти данных, которые систолической матрицей используются повторно, матрица может работать с высокой скоростью, не перегружая шину главной ЭВМ. Необходимо заметить, что повторное использование данных является типичным всякий раз, когда задача представлена в виде подзадач и систолическая матрица выполняет эти подзадачи последовательно [39, 61]. Ъ.Блок управления систолическим процессором. Им является программируемый процессор (контроллер), который служит интерфейсом между специальной высокоскоростной шиной и систолической матрицей. Наряду с управлением шинным протоколом он генерирует адреса для доступа к буферной памяти и выдает временные управляющие сигналы для систолической матрицы. А. Интерфейсный процессор. Этот процессор управляет взаимодействием главной ЭВМ и интерфейсной системы. Он управляет загрузкой буферной памяти, планирует и проверяет вычисления, выполняемые систолической матрицей. 8.4. ЗАКЛЮЧЕНИЕ Подводя итоги, предлагаем перечень основных составляющих успеха или неудач при проектировании специализированных СБИС. 1.Технология. Используемая технология все больше влияет на характер проектирования специализированных устройств. Цифровые СБИС открывают большие перспективы в обработке сигналов, в частности возможность массового параллелизма. Другие типы технологии, такие как оптоэлектрон-ная [14, 57], предлагают иные средства и компромиссные решения. 2.Хорошее понимание сути прикладных задач. Для того чтобы капиталовложения в специализированное проектирование были обоснованными, в области применения должны быть известны узкие места, характерные для широко распространенных задач. Теория обработки сигналов предлагает обширный запас таких задач, которые стимулируют блочное проектирование систем. Предполагается, что эти блоки сыграют важную роль в будущем проектировании специализированных систем. 3.Алгоритмы. Алгоритмы, эффективные для универсальных ЭВМ, могут не оказаться таковыми для специализированных систем. Эффективность алгоритма в существенной степени зависит от технологии: для СБИС рассмотрение геометрии структуры является таким же важным, как и число операций. 4.Архитектура. Архитектура должна быть выбрана так, чтобы соблюдался баланс между универсальностью и производительностью с учетом требований практической реализации, а также слабых и сильных сторон технологии. 5.Длительность этапа выполнения. Из-за изменений технологии, требований прикладных задач и стоимости процесса проектирования важно максимально сократить длительность проектирования специализированных систем. Усовершенствованные средства автоматизации проектирования могут уменьшить стоимость разработки. Кремниевое литье может обеспечить быстрое изготовление прототипа. Схема для проверки также может сократить цикл разработки, облегчив тестирование и поиск ошибок. 6.Объединение в общую систему. Проектирование специализированных устройств является только частью всей работы. Объединение в общую систему однотипных высокопроизводительных устройств, как правило, требует аппаратуры высокоскоростного ввода-вывода и буферной памяти большого объема. Мы предвидим такое развитие основных систем, при котором эти функции могут быть реализованы гибким способом для большого числа специализированных функциональных модулей. СПИСОК ЛИТЕРАТУРЫ [1] М. R. Barbacci, "Instruction Set Processor Specifications (ISPS): The Notation and Its Application," IEEE Trans. Comput., C-30(l):24-40(Jan. 1981). [2] A. A. Barnum and M. A. Knapp, eds., Proceedings of the 1962 Workshop on Computer Organization, Spartan Books, New York, 1963. [3] J. L. Bentley, "A Parallel Algorithm for Constructing Minimum Spanning Trees," J. Algorithms, 7:51-59 (1980). [4] J. L. Bentley and H. T. Kung, "A Tree Machine for Searching Problems," Proc. 1979 Int. Conf. Parallel Process., IEEE, Aug. 1979, pp. 257-266. [5] J. Blackmer, P. Kuekes, and G. Frank, "A 200 MOPS Systolic Processor," Proc. SPIE Symp., Vol. 298: Real-Time Signal Processing IV, Society of Photo-optical Instrumentation Engineers, Aug. 1981. [6] A. Bojanczyk, R. P. Brent, and H. T. Kung, Numerically Stable Solution of Dense Systems of Linear Equations Using Mesh-Connected Processors, Tech. Rep, Computer Science Department, Carnegie-Mellon University, May 1981. [7] R. P. Brent and H. T. Kung, Systolic VLSI Arrays for Polynomial CCD Computation, Tech. Rep, Computer Science Department, Carnegie-Mellon University, May 1982. [8] R. P. Brent and H. T. Kung, Systolic VLSI Arrays for Integer GCD Computation, Tech. Rep. TR-CS-82-11, Department of Computer Science, The Australian National University, 1982. 0 ... 24 25 26 27 28 29 30 ... 78
|