EA001823B1 - Способ самосинхронизации конфигурируемых элементов программируемой микросхемы - Google Patents

Способ самосинхронизации конфигурируемых элементов программируемой микросхемы Download PDF

Info

Publication number
EA001823B1
EA001823B1 EA199900653A EA199900653A EA001823B1 EA 001823 B1 EA001823 B1 EA 001823B1 EA 199900653 A EA199900653 A EA 199900653A EA 199900653 A EA199900653 A EA 199900653A EA 001823 B1 EA001823 B1 EA 001823B1
Authority
EA
Eurasian Patent Office
Prior art keywords
synchronization
register
configurable
signal
data
Prior art date
Application number
EA199900653A
Other languages
English (en)
Other versions
EA199900653A1 (ru
Inventor
Мартин Форбах
Роберт Мюнх
Original Assignee
Пакт Информационстехнологи Гмбх
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=7819640&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=EA001823(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Пакт Информационстехнологи Гмбх filed Critical Пакт Информационстехнологи Гмбх
Publication of EA199900653A1 publication Critical patent/EA199900653A1/ru
Publication of EA001823B1 publication Critical patent/EA001823B1/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Hardware Redundancy (AREA)
  • Microcomputers (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

В используемых на сегодняшний день микросхемах (программируемых пользователем вентильных матрицах (ПВМ), динамически программируемых вентильных матрицах (ДПВМ) и т.д.) синхронизация конфигурируемых элементов в большинстве случаев осуществляется тактовыми импульсами микросхемы. Такой вид временной синхронизации создает много проблем, поскольку часто при выполнении задания заранее не известно, сколько времени потребуется для получения окончательного достоверного результата. Еще одна проблема временной синхронизации состоит в том, что источником события, для которого осуществляется синхронизация, является не сам синхронизируемый элемент, а независимый элемент. В этом случае в синхронизации участвуют два различных элемента. В результате значительно увеличиваются непроизводительные затраты ресурсов на синхронизацию. Из ЕР-А-0726532 известен способ управления потоком данных в выполненных на базе нескольких расположенных в виде матрицы процессоров вычислительных машинах с одним потоком команд и множеством потоков данных. Этот способ предусматривает посылку во все процессоры команды, которая динамически выбирает процессор, предназначенный для передачи данных. Команда, посылаемая устройством более высокого уровня во все процессоры (транслируемая или широковещательная команда), состоит из поля адреса (назначения) и поля адресата. Поле адреса управляет определенным компонентом в процессорном элементе с целью динамически определить тот соседний процессорный элемент, которому следует послать результат. Поле адресата служит для динамического выбора того регистра операнда в следующем процессорном элементе, в котором следует сохранить следующий результат.
1.1.2. Предлагаемое в изобретении усовершенствование
В изобретении предлагается способ, позволяющий синхронизируемым элементам самим обеспечивать свою синхронизацию. При этом синхронизацию не осуществляет и ею не управляет более центральное устройство. Благодаря переносу функции синхронизации в каждый элемент обеспечивается также возможность выполнять одновременно гораздо больше задач по синхронизации, поскольку независимые элементы не создают взаимных помех при получении доступа в центральное устройство синхронизации. Более подробно конкретные варианты осуществления, а также отличительные признаки предлагаемого в изобретении способа синхронизации представлены в формуле изобретения.
2. Описание изобретения
2.1. Краткое изложение сущности изобретения
В микросхеме (потоковом процессоре (ПП), ДПВМ) с двух- или многомерной регулярной структурой программируемых ячеек каждый конфигурируемый элемент через структуру сетевых связей может обращаться к конфигурационным регистрам и регистрам состояний других конфигурируемых элементов и тем самым активно влиять на их функцию и режим работы. Матрица из подобных ячеек в последующем называется процессорной матрицей (ПМ). Такое техническое решение позволяет производить конфигурацию из указанной процессорной матрицы (ПМ) в дополнение к обычному методу, использующему загрузочную логическую схему (загрузочную логику).
2.2. Подробное описание изобретения
Настоящее изобретение предполагает наличие микросхемы, которую можно программировать автономно во время прогона программы и которую можно реконфигурировать дополнительно во время прогона. Имеющиеся на чипе конфигурируемые элементы имеют один или несколько конфигурационных регистров, выполняющих различные задачи. Обращение к этим регистрам может осуществляться в режиме считывания или записи. В предлагаемом способе предполагается возможность конфигурации конфигурируемого элемента под следующую информацию:
- регистр сетевых связей: в этом регистре устанавливают тип связи с другими ячейками;
- регистр команд: в этот регистр заносят выполняемую конфигурируемым элементом функцию;
- регистр состояний: в этом регистре ячейка сохраняет информацию о своем текущем состоянии, которое указывает другим элементам микросхемы, какой цикл обработки данных выполняет ячейка.
Конфигурацию ячейки осуществляют с помощью команды, определяющей ту функцию, которую должна выполнить эта ячейка. Кроме того, вводят конфигурационные данные для установления сетевых связей данной ячейки с другими ячейками и задания содержимого регистра состояния. После выполнения этой операции ячейка готова к работе.
С целью обеспечения гибкого и динамичного взаимодействия большого количества ячеек каждая ячейка может обращаться ко всем конфигурационным регистрам любой другой ячейки в режиме считывания или записи. К какому из многих конфигурационных регистров будет обращаться ячейка с целью чтения или записи, определяется типом команды, с помощью которой произведена конфигурация ячейки. Для каждой команды, которую может выполнять ячейка, существует столько различных типов адресации, сколько различных, не зави3 сящих друг от друга конфигурационных регистров имеет конфигурируемый элемент.
Сказанное выше можно пояснить на следующем примере. Ячейка имеет указанные выше конфигурационные регистры (сетевых связей, команд, состояний) и должна выполнять команду сложения АББ. В этом случае, используя следующие различные типы команды АББ, можно выбирать, куда будет передан результат выполнения этой операции:
АББ-А: результат будет передан в регистр А операнда ячейки-адресата,
АББ-В: результат будет передан в регистр В операнда ячейки-адресата,
АББ-У: результат будет передан в регистр сетевых связей ячейки-адресата,
АББ-8: результат будет передан в регистр состояний ячейки-адресата,
АББ-С: результат будет передан в регистр команд ячейки-адресата.
2.2.1. Управляющие и синхронизирующие сигналы запуска
Наряду с результатом каждая ячейка может генерировать большое количество запускающих сигналов. Эти запускающие сигналы необязательно должны передаваться в ту же ячейку-адресат, что и результат обработки сконфигурированной команды. Запускающий сигнал или лишь комбинация нескольких запускающих сигналов инициируют выполнение в ячейке-адресате определенной операции или устанавливают эту ячейку в определенное состояние. Ниже приведено описание этих состояний, получаемых при использовании следующих существующих запускающих сигналов:
- запускающий сигнал оператора перехода (СО): запускающий сигнал СО переводит конечную ячейку в состояние готовности (КЕАБУ);
- запускающий сигнал реконфигурации (КЕСО№1С): запускающий сигнал КЕСОЫЕ1С переводит ячейку-адресат в состояние реконфигурации (КЕСО№1С), позволяющее перепрограммировать эту ячейку. Наиболее целесообразно использовать этот запускающий сигнал в сочетании с таблицами переключений. Если исходить из того, что загрузка обрабатываемых данных в регистр операндов происходит по положительному фронту тактового импульса, их обработка осуществляется во временном интервале, в течение которого сохраняется высокий уровень напряжения (Н-уровень), а запись в выходной регистр происходит по отрицательному фронту (по срезу) тактового импульса, то в этом случае возможна реконфигурация ячейки по срезу импульса. По срезу тактового импульса новые конфигурационные данные записываются в регистр команд. Длительность временного интервала, в течение которого сохраняется низкий уровень напряжения (Ь уровень), достаточна для успешного завершения реконфигурации;
- запускающий сигнал однократного выполнения команды (8ТЕР): по запускающему сигналу 8ТЕР находящаяся в состоянии ожидания (^АТГ) ячейка-адресат один раз выполняет сконфигурированную команду;
- запускающий сигнал останова (8ТОР): запускающий сигнал 8ТОР приостанавливает выполнение ячейкой-адресатом ее функции, переводя ее в состояние останова.
Благодаря возможности указывать в производящей обработку данных ячейке, в какой регистр ячейки-адресата следует заносить результат и запускающий сигнал какого типа следует формировать, из одного потока данных можно сформировать большое количество управляющих данных. Указанные управляющие данные не являются результатом выполнения микросхемой самой отрабатываемой ею задачи, а служат лишь для управления внутренним состоянием ячейки, его синхронизации, оптимизации и т. д.
Любая ячейка может принимать следующие состояния, представленные в виде соответствующей кодировки в регистре состояний:
- состояние готовности (КЕАБУ): ячейка сконфигурирована достоверной командой и может обрабатывать данные. Обработка данных происходит при каждом такте. Данные считываются в регистры ячейки-адресата, исходя из типа адресации той ячейки, от которой эти данные передаются;
- состояние ожидания (^А1Т): ячейка сконфигурирована достоверной командой и может обрабатывать данные. Обработка данных происходит в том числе и на основании запускающего сигнала, который может быть сформирован другими элементами микросхемы. Данные считываются в регистры ячейки-адресата, исходя из типа адресации ячейки, от которой эти данные передаются;
- состояние конфигурации (СО№1С): ячейка не сконфигурирована достоверной командой. Пакет данных, посылаемый в ячейку по следующему ближайшему такту, считывается в регистр команд. Пакет данных считывается в регистр команд в любом случае независимо от типа адресации, использованного ячейкой, от которой эти данные передаются;
- состояние ожидания конфигурации (СО№1С-^А1Т): ячейка не сконфигурирована достоверной командой. Пакет данных считывается по следующему ближайшему запускающему сигналу, который может быть сформирован другими элементами микросхемы, и записывается в регистр команд. Пакет данных считывается в регистр команд в любом случае независимо от типа адресации, использованного ячейкой, от которой эти данные передаются;
- состояние реконфигурации (КЕСОЫЕ1С): ячейка сконфигурирована достоверной командой, но затем не обрабатывает никакие последующие данные, а также не принимает никаких данных. Ячейка может быть переконфигурирована другим элементом микросхемы;
- состояние останова (8ΤΘΡ): ячейка сконфигурирована достоверной командой, но не обрабатывает в настоящий момент никаких данных. Ячейка принимает данные (передавая их во входной регистр), но не производит их дальнейшую обработку.
Благодаря этим различным состояниям и возможности осуществлять доступ в режиме считывания и записи к различным регистрам ячейки каждая ячейка может играть активную роль в управлении. В отличие от этого все существующие микросхемы данного типа имеют центральное управляющее устройство, которое должно всегда иметь информацию об общем состоянии микросхемы и управлять им.
Для дополнительного повышения гибкости существует еще один класс команд, меняющих свой тип после первого выполнения. Исходя из примера с командой сложения ΛΌΌ, команда в этом случае выглядит следующим образом:
- ΆΌΌ-С-Л: результат операции ΛΌΌ при первом выполнении команды записывается в регистр команд ячейки-адресата. При каждом последующем выполнении этой команды результат записывается в регистр А операнда.
Такую возможность можно произвольно расширять, благодаря чему возможны и команды типа ΑΌΌ-С-У-А-С-...-В. Каждая команда может принимать вид любой полученной в результате перестановок комбинации различных типов адресации и типов запускающих сигналов.
2.2.2. Управление реконфигурацией с помощью запускающего сигнала реконфигурации (КЕСОИИО)
В описанных выше методах было необходимо, чтобы на каждый конфигурируемый элемент для перехода в состояние готовности к реконфигурации от внешнего устройства непременно поступал запускающий сигнал реконфигурации. Недостаток такого подхода состоит в значительных затратах на установление сетевых связей/объединение в сеть и на соответствующую конфигурацию для распределения запускающих сигналов реконфигурации.
Этот недостаток можно устранить с помощью соответствующей структуры объединения элементов в сеть. Все конфигурируемые элементы, связанные друг с другом сетевой информацией, представляют собой ориентированный граф. Подобный граф может иметь несколько корней (источников) и несколько кусков (целей). Расширение конфигурируемых элементов происходит таким образом, чтобы они распространяли входящий запускающий сигнал реконфигурации в направлении либо своих выходных регистров, входных регистров, либо их сочетания. В результате такого распро странения сигнала на все конфигурируемые элементы, непосредственно связанные с данным конфигурируемым элементом, также поступает запускающий сигнал реконфигурации.
Конфигурацию (граф) только целиком можно привести в состояние готовности к реконфигурации, в котором во все корни графа посылается запускающий сигнал реконфигурации, а они распространяют этот сигнал в направлении выходных регистров. Количество корней в графе, которым должен быть передан запускающий сигнал реконфигурации, значительно меньше количества всех вершин графа, что обеспечивает значительное снижение затрат. Очевидно, что сигнал реконфигурации можно посылать и во все куски графа. В этом случае распространение этого запускающего сигнала реконфигурации идет в направлении входных регистров.
Используя обе возможности или комбинируя оба варианта, можно рассчитать минимальное количество конфигурируемых элементов, на которые необходимо подавать запускающий сигнал реконфигурации.
В регистры состояний конфигурируемых элементов может поступать дополнительная информация, указывающая на то, следует или нет распространять поступающий запускающий сигнал реконфигурации. Такая информация необходима в случае, когда два или более графа связаны друг с другом в одном или нескольких местах (т.е. имеют переход) и нежелательно, чтобы один из других графов также переходил в состояние готовности к реконфигурации. Иными словами, один или несколько конфигурируемых элементов ведут себя как вентиль (шлюз).
Кроме того, регистр состояний может быть расширен таким образом, чтобы дополнительное входное сообщение указывало на то, в каком направлении необходимо передавать дальше поступающий запускающий сигнал реконфигурации.
Описанный подход может использоваться применительно ко всем типам запускающих сигналов и/или данных. В результате можно создать иерархию автоматического распределения данных, требующую для ее реализации очень незначительных возможностей доступа извне.
3. Одновременное выполнение нескольких функций в одних и тех же конфигурируемых элементах
3.1. Основная функция и необходимые запускающие сигналы
Ниже описан наиболее комплексный вариант вызова различных макрокоманд (макросов) с помощью одного условия. При выполнении условия (ΙΕ СОМР ΤΗΕΝ А ЕЬ8Е В, т.е. ЕСЛИ
СОМР, ТО А, ИНАЧЕ В, где СОМР обозначает сравнение, а А и В обозначают выполняемые операции) не происходит формирования запус- кающих сигналов перехода (СО) и останова (БТОР). Вместо этого формируется вектор (ТКЮУ) запускающего сигнала, указывающий, какой результат дало сравнение СОМР. Поэтому вектор запускающего сигнала может принимать состояния равно, больше или меньше.
Вектор пересылается в следующую ячейку, которая в зависимости от состояния этого вектора точно выбирает из нескольких конфигурационных регистров определенный регистр (соответственно А или В). Благодаря этому, в зависимости от результата предыдущего сравнения над теми же данными выполняется другая функция. Решения для состояний типа большеравно, меньше-равно, равно-не равно получают, описывая два конфигурационных регистра одними и теми же конфигурационными данными. Например, при состоянии большеравно конфигурационный регистр больше и конфигурационный регистр равно описываются одним и тем же конфигурационным словом, в то время как регистр меньше содержит другое конфигурационное слово.
При построении векторов запускающих сигналов (ТК1СУ) необязательно ограничиваться состояниями больше, меньше и равно. Для обработки больших логических структур типа САБЕ...ОЕ в следующую ячейку или ячейки в качестве вектора запускающего сигнала (ТКЮУ-т) можно передавать дальше произвольное число п, отражающее состояние случая СА8Е. Иными словами, число п указывает на сравнение внутри случая СА8Е, соответствующее анализу имеющихся данных. Для выполнения функции, поставленной в соответствие сравнению внутри случая САБЕ, число η передается дальше на выполняющие эту операцию ячейки с целью выбора соответствующей функции. В то время как в случае больше/меньше/равно ячейкам требуется, по меньшей мере, 3 конфигурационных регистра, при использовании вектора запускающего сигнала (ТК!СУ-ш) количество конфигурационных регистров должно, по меньшей мере, точно соответствовать максимальному значению числа η (тах(п)).
3.2. Распространение требуемой функции запускающими сигналами
Векторы запускающих сигналов ТШСУ/ТШСУ-т посылаются в первую обрабатывающую данные ячейку. В этой ячейке происходит соответствующая обработка векторов ТК1СУ/ТК1СУ-т и данных. Вместе с данными векторы ТШСУ/ТШСУ-т передаются дальше (распространяются) в следующие ячейки. При этом векторы поступают дальше во все ячейки, выполняющие определенную функцию на основании указанного анализа (ΙΕ или САБЕ, т.е. ЕСЛИ или СЛУЧАЙ), причем эта их дальнейшая передача непосредственно согласована с дальнейшей передачей пакетов данных, т. е. век торы передаются дальше синхронно с данными. Сформированные к моменту времени I векторы запускающих сигналов ТШСУ/ТШСУ-т сцепляют (выполняют логическую операцию) с данными, поступившими к моменту времени I в первые обрабатывающие ячейки (ЯЧЕЙКИ1, ср. фиг. 5, позиции 0502, 0505, 0507). Векторы ТКЮУ/ТКЮУ-т передаются таким образом, чтобы они вместе с данными к моменту времени 1+1 поступили во вторые обрабатывающие ячейки, к моменту времени 1+2 - в третьи обрабатывающие ячейки и т. д. до того момента времени 1+т, когда векторы ТКЮУ/ТКЮУ-т и данные поступят в (т-1 )-е ячейки, являющиеся одновременно последними ячейками, которые зависят от инициирующего формирование векторов ТКЮУ/ТКЮУ-т сравнения (ΙΕ/САБЕ, т.е. ЕСЛИ/СЛУЧАЙ).
Сцепление векторов с данными ни в коем случае не происходит таким образом, чтобы векторы ТКЮУ/ТКЮУ-т, сформированные к моменту времени 1, соединялись с данными, находившимися в первых ячейках (ЯЧЕЙКИ1) к моменту времени 1прежн.<1.
3.3. Реакция на появление и отсутствие запускающих сигналов
В особых случаях необходимо реагировать на отсутствие запускающего сигнала, когда наступление определенного состояния запускающего сигнала не приводит тем не менее к изменению вектора запускающего сигнала. В этом случае в следующие ячейки также можно передать важную и целесообразную информацию. Например, при сравнении больше, меньше, равно отсутствуют запускающий сигнал равно, а также изменения при переходе от состояния меньше к состоянию больше. Тем не менее отсутствие состояния равно несет в себе информацию, а именно, наличие состояния не равно.
Для обеспечения возможности реагировать на оба состояния присутствует и отсутствует в конфигурационный регистр ячейки добавляется входное сообщение, указывающее на то, на какие из состояний следует реагировать. Кроме того, к вектору запускающего сигнала ТКЮУ, характеризующему состояния равно, больше и меньше, добавляется сигнал ТК1СКЭУ ожидания запускающего сигнала, указывающий на появление запускающего сигнала. Такая мера необходима, поскольку состояние отсутствует у одного из векторов не дает больше информации о наличии запускающего сигнала как такового.
Сигнал ТКЮКЭУ можно использовать для протокола передачи с квитированием установления связи между передающей и принимающей ячейками, при этом принимающая ячейка формирует сигнал ТК1САСК, подтверждающий прием запускающего сигнала, сразу же после обработки ею векторов запускающего сигнала. Передающая ячейка отменяет состояние запус9 кающего сигнала только после поступления сигнала ТКЮЛСК. При этом с помощью входного сообщения, поступающего в конфигурационный регистр, определяют, следует ли при посылке вектора запускающего сигнала ждать получения сигнала ТКЮЛСК или же канал передачи запускающего сигнала будет работать без синхронизации.
3.4. Применение в микропроцессорах
В микропроцессорах с новейшей архитектурой условные переходы не выполняют больше известным методом предсказания ветвления, т. е. предсказания перехода. При теоретическом предсказании переходов, внедренном для увеличения производительности процессоров, переходы предварительно вычисляли на основании абстрактных алгоритмов, и при ошибках в расчетах приходилось перезагружать весь процессорный конвейер, что приводило к значительным потерям производительности.
Для устранения этих потерь был внедрен новый метод предиката/пустых операций (ΝΟΡ от англ. по орегабоп). В этом методе каждой команде присваивают одноразрядный флаг состояния, показывающий, следует выполнять команду или нет. При этом может существовать любое количество флагов состояния. Распределение команд по флагам состояния производит компилятор во время трансляции кода. Флаги состояния, управляемые во время выполнения команд присоединенными к ним операциями сравнения, показывают результат соответствующего сравнения. Затем в зависимости от состояния присвоенного команде флага процессор выполняет команду (если флаг состояния показывает выполнять) или не выполняет команду, которую заменяет пустая команда (если флаг состояния показывает не выполнять). Пустая команда (ΝΟΡ) означает, что процессор в данном цикле не выполняет никаких операций. В результате цикл оказывается потерянным для выполнения полезных операций.
Для оптимального сокращения потерь циклов предлагаются следующие два подхода.
3.5.1. Несколько регистров команд в каждом арифметико-логическом устройстве
Современный микропроцессор имеет несколько относительно независимых арифметико-логических устройств (АЛУ). В соответствии с представленным в настоящем описании принципом использования запускающих сигналов отдельные АЛУ могут быть оснащены несколькими регистрами команд, причем понятие регистр команд в АЛУ микропроцессора является синонимом конфигурационного регистра в обычных ПВМ, 161 и других аналогичных микросхемах. Выбор соответствующего активного регистра команд производят в каждом случае
а) на основании векторов запускающих сигналов, сформированных на основании сравнений другими АЛУ;
б) на основании многоразрядных флагов состояния (называемых ниже векторами состояния), распределенных в соответствии с существующим на сегодняшний день известным методом по командам сравнения.
3.5.2. Измененная система сверхдлинных команд
Особый вариант осуществления способа предусматривает использование наборов сверхдлинных команд. Так, в пределах одного командного слова можно объединить в одну команду несколько возможных, зависящих от сравнения команд. Сверхдлинное командное слово (СДКС) произвольной длины разбивают при этом на произвольное количество команд (машинных слов или кодов). Каждый из этих кодов по отдельности представлен в виде ссылки вектором запускающего сигнала или флагом состояния. Это означает, что за время прогона из СДКС выбирается и обрабатывается один из имеющихся в нем кодов.
В приведенной ниже таблице показано возможное сверхдлинное командное слово с четырьмя кодами, на которые указывает в качестве ссылки 2-разрядный вектор запускающего сигнала или 2-разрядный флаг состояния:_____
Код0 Код1 Код2 Код3
Соответствующие ссылки:
Вектор запускающего сигнала/флаг 00 01 10 11
состояния
4. Расширение аппаратной части по сравнению с обычными ПВМ и ПП
4.1. Дополнительные регистры
К обычным имеющимся в потоковых процессорах (ПП) конфигурационным регистрам добавляют один регистр состояния и один конфигурационный регистр. Обоими регистрами управляет шина загрузочной логической схемы РЬИ, и оба они связаны с конечным автоматом, управляющим процессами в соответствующей ячейке.
4.2. Изменение шины РЬИ
В программируемых пользователем вентильных матрицах (ПВМ) и потоковых процессорах (111) управление конфигурируемыми регистрами М-/Р-РЬиКЕО осуществляется исключительно по шине РЬИ, обеспечивающей их соединение с загрузочной логической схемой. Для обеспечения предлагаемой в изобретении функции впредь необходима дополнительная возможность доступа между ячейками по обычной системной шине. То же самое относится и к новым регистрам состояний и конфигурационным регистрам.
При этом для регистров важна только та часть системной шины, которая через блок шинного мультиплексирования (БШМ), т.е. че11 рез интерфейс между системными шинами и элементами процессорной матрицы (ЭПМ), связана по сетевой схеме с этими ЭПМ. Поэтому шину от БШМ проводят дальше до регистров, где предвключенные мультиплексоры или предвключенные вентили берут на себя функцию по переключению соответственно коммутации с шины РЬИ на соответствующую ЭПМ системную шину, и наоборот. При этом мультиплексоры или вентили включены в схему таким образом, что они всегда коммутируют только на соответствующую ЭПМ системную шину, за исключением случаев, когда происходит возврат микросхемы в исходное состояние (СБРОС или англ. КЕБЕТ) или когда активен запускающий сигнал реконфигурации.
4.3. Расширения конфигурируемых элементов (ЭПМ) по сравнению с обычными ПВМ и ПП
4.3.1. Источники запускающих сигналов
Конфигурируемый элемент может одновременно принимать запускающие сигналы от нескольких источников. Такая возможность позволяет с помощью регистров маски обеспечить более гибкую семантику запускающих сигналов.
4.3.2. Несколько конфигурационных регистров
Вместо одного конфигурационного регистра ЭПМ имеет несколько (тах(п)) конфигурационных регистров.
4.3.3. Конфигурационный конечный автомат и мультиплексор
За конфигурационными регистрами в схему последовательно включен мультиплексор, выбирающий одну из возможных конфигураций. Управление мультиплексором осуществляет отдельный или встроенный в конечный автомат процессорного элемента конечный автомат, управляющий мультиплексором на основании поступающих векторов запускающих сигналов.
4.3.4. Обработка запускающих сигналов и конфигурация
Конфигурируемый элемент может иметь регистр маски, в котором можно устанавливать на какие входы запускающих сигналов требуется подавать запускающий сигнал, чтобы выполнялись условия, обеспечивающие работу конфигурируемого элемента. Конфигурируемый элемент срабатывает не только на запускающий сигнал, но и на установленную комбинацию запускающих сигналов. Кроме того, конфигурируемый элемент может устанавливать приоритетную последовательность прохождения одновременно поступающих сигналов. Распознавание поступающих запускающих сигналов осуществляется по сигналу ТКЮКОУ. При этом происходит обработка векторов запускающих сигналов в соответствии с дополнительно имеющимися в конфигурационных регистрах конфигурационными данными.
4.3.5. Квитирование запускающих сигналов
Сразу же после обработки векторов запускающих сигналов для подтверждения приема вектора запускающего сигнала генерируется сигнал ТКЮАСК.
4.3.6. Блок шинного мультиплексирования (БШМ)
Блок шинного мультиплексирования расширяют с таким расчетом, чтобы он в соответствии с конфигурацией в мультиплексном регистре М-РЬиКЕО передавал поступающие от шины запускающие сигналы дальше в блок синхронизации (БС) и в конечный автомат (КА). Сформированные расширенным арифметикологическим устройством (РАЛУ) запускающие сигналы [например значения компаратора больше, меньше, равно, 0-детекторы, знаковые разряды, переносы, состояния ошибки (деление на нуль и т.д.) и т.п.] БШМ в соответствии с информацией о схеме соединений в регистре М-РЬиКЕО передает дальше на шину.
4.4. Расширения системной шины
Системную шину, т.е. систему шин между ячейками (ЭПМ) расширяют с целью передачи вместе с данными информации о регистрах назначения. Это означает, что вместе с данными посылается адрес, по которому в получателе данных выбирается требуемый регистр. Кроме того, системную шину расширяют, дополняя возможностями независимой передачи векторов запускающих сигналов и сигналов квитирования запускающих сигналов.
5. Краткое описание чертежей
Ниже изобретение более подробно поясняется со ссылкой на прилагаемые чертежи, на которых показано на фиг. 1 - пример реализации петлевой логической структуры с использованием запускающих сигналов, на фиг. 2 - пример реализации логической структуры сравнения с использованием нескольких запускающих сигналов, на фиг. 3 - пример реализации логической структуры сравнения, имеющей несколько выходов, с использованием нескольких чередующихся запускающих сигналов, на фиг. 4 - необходимые расширения по сравнению с обычными ПВМ и ПП, на фиг. 5 - функциональный пример выбора запускающими сигналами различных функций конфигурируемых элементов, на фиг. 6 - реализация нескольких управляемых запускающими сигналами конфигурационных регистров для выполнения различных функций и на фиг. 7 - схема, поясняющая реализацию способа по фиг. 6 в микропроцессорах.
6. Подробное описание примеров осуществления способа и чертежей
Как показано на фиг. 1, макрос 0103 должен быть выполнен в данном примере 70 раз.
Для выполнения макроса необходимо 26 тактов.
Это означает, что счетчик 0101 должен умень13 шать свое показание на одну единицу только через каждые 26 тактов. Однако проблема свободно или автономно программируемых микросхем состоит в невозможности всегда гарантировать то, что выполнение макроса 0103 через 26 тактов действительно будет завершено. Задержка может возникнуть, например, из-за того, что макросу, который должен предоставлять исходные данные для макроса 0103, неожиданно потребуется для этого на 10 тактов больше. По этой причине ячейка в макросе 0103 посылает на счетчик 0101 запускающий сигнал, с помощью которого результат вычисления поступает в следующий макрос. Одновременно та же ячейка останавливает обработку макроса 0103. Эта ячейка точно знает, что условие для окончания вычисления выполнено.
Посланный запускающий сигнал представляет собой в данном случае запускающий сигнал однократного выполнения команды (сигнал 8ТЕР), обеспечивающий однократное выполнение счетчиком 0101 его сконфигурированной функции. Счетчик уменьшает свое показание на одну единицу и, сравнивая значения, проверяет, не достиг ли он нулевого значения. Если нет, в макрос 0103 подается запускающий сигнал перехода (СО). Этот запускающий сигнал 00 заставляет макрос 0103 снова выполнять свою функцию.
Указанный процесс повторяется до тех пор, пока счетчик 0101 не достигнет нулевого значения. В этом случае запускающий сигнал посылается в макрос 0102, инициируя выполнение его функции.
Такое взаимодействие запускающих сигналов позволяет обеспечить очень точно регулируемую синхронизацию.
Вариант, показанный на фиг. 2, по своей основной идее соответствует варианту по фиг.
1. Однако элемент 0202 в данном случае выполняет функцию не счетчика, а компаратора. Макрос 0201 после каждого цикла обработки посылает полученное при сравнении значение в компаратор 0202. В зависимости от результата сравнения снова задействуются различные запускающие сигналы для того, чтобы, например, инициировать выполнение определенного действия в макросах 0203. Реализованная в схеме по фиг. 2 логическая структура соответствует в языке программирования опросу с оператором ЕСЛИ (ΙΕ).
В варианте по фиг. 3, как и в варианте по фиг. 2, для реализации логической схемы, построенной по принципу ЕСЛИ-ИНАЧЕИНАЧЕ (1Е-ЕЕ8Е-ЕЕ8Е) (или многократного выбора), используют несколько компараторов 0301, 0302. Применение самых разнообразных типов запускающих сигналов и связей по этим сигналам между макросами 0303, 0304 позволяет простым путем выполнять очень сложные процессы.
На схеме по фиг. 4 показаны отличия предлагаемого варианта от обычных программируемых пользователем вентильных матриц (ПВМ) и потоковых процессоров (ИИ). Добавленный конфигурационный регистр (0401) и добавленный регистр (0402) состояний шиной (0407) соединены с конечным автоматом (КА). Регистры Е- и М-РЬиКЕС 0401, 0402 внутренней шиной 0406 соединены с вентилем 0403. Последний в зависимости от положения соединяет внутреннюю шину (0406) с шиной 0405 РЬИ, обеспечивая возможность конфигурации с помощью загрузочной логической схемы (РЬИ) или по шине 0408 с БШМ, который в зависимости от адресации на шине 0404 данных коммутирует данные дальше на регистры операнда ОКЕС или на адресуемые регистры Е- или МРЬиКЕС 0401, 0402.
БШМ (0411) по шине 0415 посылает запускающие сигналы в БС (0412). БШМ (0411) по шине 0414 получает от РАЛУ результаты (равно, больше, меньше, результат = 0, результат положительный, результат отрицательный, переполнение (положительное и отрицательное) и т.д.) для преобразования их в векторы запускающих сигналов. В альтернативном варианте можно передавать генерированные блоком синхронизации или конечным автоматом состояния по шине 0415 в БШМ.
Запускающие сигналы, переданные БШМ на шину (0404), могут в зависимости от конфигурации обрабатывающих данные конфигурируемых элементов использоваться в них в качестве запускающих сигналов однократного выполнения команды/останова/перехода, реконфигурации (8ТЕР/8ТОР/СО, КЕСОИЕ1С) или для выбора конфигурационного регистра. То, какую функцию сформированный запускающий сигнал выполняет в обрабатывающих данные конфигурируемых элементах, определяется объединением в сеть (0404) и конфигурацией соответствующих конфигурируемых элементов. Один и тот же запускающий сигнал может выполнять в различных конфигурируемых элементах различные функции.
Позицией 0416 обозначен выход сдвигового регистра результатов К-КЕСкй, предназначенный для выдачи результата на шинную систему 0404 и на последующие конфигурируемые элементы.
На фиг. 5 показан пример временной зависимости между сгенерированными запускающими сигналами и выбранными этими сигналами конфигурационными регистрами. Элемент 0501 генерирует путем сравнения вектор запускающего сигнала ТКЗСУ, который может принимать значения равно, больше или меньше. Конфигурируемые элементы 0502-0504 обрабатывают данные в зависимости от результата сравнения (0501). При этом указанная обработка данных зависит от контрольных значений равно, больше и меньше. Обработку производят конвейерным методом, т.е. слово данных последовательно преобразовывается элементом 0502, затем элементом 0503 и в завершение элементом 0504. Элемент 0505 также обрабатывает данные в зависимости от результата, полученного элементом 0501. Однако зависимость ограничивается при этом сравнительными значениями меньше. Значения больше и равно приводят к такому же выполнению функции. Таким образом, здесь различают значения меньше и больше или равно. Элемент 0506 следует в цепи конвейерной обработки за элементом 0505. При этом элемент 0506 различно реагирует на значения равно, больше и меньше (ср. 0503). Элемент 0507 также зависит от элемента 0501, однако для него характерно различение значений равно и не равно (больше или меньше). Данный пример осуществления способа начинается в момент времени 1 (фиг. 5 а) и заканчивается в момент времени (1+3). При прохождении данными одной из цепей конвейерной обработки (0502, 0503, 0504, соответственно 0505, 0506) при каждой их обработке в одном из макросов (05020506) происходит их задержка на один такт. Могут также возникать и более длительные и прежде всего различные задержки. Поскольку для данных и запускающих сигналов предусмотрен механизм квитирования для автоматической синхронизации (в соответствии с уровнем техники, соответственно с настоящим описанием (ТКЮАСК/ТКЮКОУ)), нет необходимости более подробно особо останавливаться на этом случае.
В результате задержек к моменту времени 1, например, между второй и третьей стадиями конвейерной обработки находятся данные и запускающие сигналы более раннего момента времени 1-2.
На фиг. 5а-5г представлены схемы прохождения 3 тактов (от 1 до 1+2). Генерированные макросом 0501 векторы запускающих сигналов (т.е. результаты сравнений) выглядят в зависимости от времени следующим образом
Время 1 Результат сравнения
1-2 Меньше
1-1 Больше
1 Равно
1+1 Больше
1+2 Равно
На фиг. 6 показано объединение нескольких конфигурационных регистров в один конфигурируемый элемент. В этом примере имеются три конфигурационных регистра (0409) по фиг. 4, конфигурируемых по шине 0406. По шинной системе 0411 на блок (0601) управления (который также может быть выполнен в виде конечного автомата) поступают сигналы ТКЮУ и ТКЮКОУ. Блок управления в соответствии с сигналом ТКЮУ подключает один из конфигурационных регистров через мультиплексор (0602) к шинной системе 0410, проходящей к управляющим механизмам конфигурируемого элемента. С целью синхронизации запускающих сигналов с внутренними процессами конфигурируемого элемента блок 0601 управления имеет синхронизирующий выход, ведущий к блоку (0412) синхронизации или к конечному автомату (0413). Для синхронизации источников запускающих сигналов блок 0601 управления после обработки поступившего запускающего сигнала формирует сигнал квитирования ТК1ОАСК. В приведенном примере осуществления способа каждому из конфигурационных регистров (0409) соответствует определенный сигнал ТКЮУ типа равно, больше, меньше. Если каждый из указанных типов запускающих сигналов выполняет свою операцию, то каждый из конфигурационных регистров имеет свою, отличную от других загрузку. Например, при наличии только различия равно и не равно конфигурационные регистры для сигналов типа меньше и больше загружены одинаково, а именно конфигурацией не равно. Конфигурационный регистр для равно имеет другую загрузку. Это означает, что на основании загрузки конфигурационных регистров можно более точно специфицировать сравнение, при этом каждый конфигурируемый элемент может строить эту спецификацию по-своему.
Через регистр 0603 сигнал ТКЮУ вместе с результатом поступает дальше в следующие конфигурируемые элементы с целью обеспечить возможность конвейерной обработки данных в соответствии с фиг. 5а-5г. Регистром и сигналами квитирования управляют блок 0412 синхронизации или конечный автомат 0413. Информация запускающих сигналов может передаваться через интерфейс 0416 в последующие конфигурируемые элементы вместе с результатом из регистра К-КЕОкй или со смещением во времени, т.е. перед результатом.
Преимущество передачи информации с временным смещением состоит в том, что не требуется дополнительного времени для настройки конфигурационных регистров в последующих конфигурируемых элементах, поскольку настройка происходит еще до получения данных (одновременно с сигналом разрешения на передачу результата). Соответствующая временная диаграмма (относящаяся к обычным процессам в потоковом процессоре) показана на фиг. 6а. Генерирование векторов (0615) запускающих сигналов приходится на положительный фронт (0613) тактового сигнала (0614) микросхемы. На срезе (0612) тактового сигнала конфигурируемые элементы обрабатывают запускающие сигналы. Данные проходят со сдвигом по фазе, т. е. на срез (0612) тактового сигнала приходится сигнал разрешения на передачу данных, а на положительный фронт (0613) тактового сигнала приходится ввод данных. В период, обозначенный позицией 0610, происходят передача векторов запускающих сигналов по шине и расчет данных. На период, обозначенный позицией 0611, приходятся передача данных по шине и расчет запускающих сигналов, соответственно выбор конфигурационных регистров конфигурируемых элементов в соответствии с введенными в память при 0613 данными и установление соответствующей конфигурации.
На фиг. 7а показано известное управление переходами по методу предиката/пустых команд в соответствии с уровнем техники. При выполнении сравнения в регистр (0704) предиката вводят входное сообщение. Опрашиваемое при выполнении команд это входное сообщение устанавливает, будет ли команда выполнена (команда находится в пределах последовательности кодов, затронутой условным переходом), или будет заменена на пустую команду (ΝΟΡ) (команда находится в иной, чем затронутая условным переходом, последовательности кодов). Команда при этом находится в регистре (0701) команд. Регистр предиката содержит несколько входных сообщений, соответствующих нескольким операциям и/или нескольким АЛУ. Их соответствие друг другу задает компилятор в период компиляции программы. Идентифицирующую информацию (0707) привязывают к команде, вводимой в регистр команд, благодаря чему однозначное входное сообщение имеет ссылку в виде соответствующей команды.
Позицией 0703 обозначен выбор, будет ли выполняться команда из регистра (0701) команд или пустая команда. При выполнении пустой команды теряется один такт. Позиция 0703 носит при этом условный характер, поскольку в принципе и исполнительным блоком (0702) также мог бы непосредственно управлять регистр (0704) предиката.
На фиг. 7б существует η регистров команд (0701: Функция 1...Функция п).
При выполнении сравнения/условного перехода данные адресуемого регистра команд, т. е. результат сравнения в качестве входного сообщения (0708), поступают в регистр 0706 предиката, при этом регистр 0706 предиката содержит несколько подобных сообщений. Каждое входное сообщение (0708) в регистре 0706 предиката имеет длину, позволяющую ему адресоваться в любые возможные регистры команд исполнительного блока (0702). Это означает, что при количестве регистров команд, равном η, размер входного сообщения равен 1од2(п). Регистр предиката содержит несколько входных сообщений, соответствующих нескольким операциям и/или нескольким АЛУ. Их соответствие друг другу задает компилятор в период компиляции программы. Идентифицирующую информацию (0707) привязывают к командам в том количестве, в каком их вводят в регистр команд, благодаря чему однозначное входное сообщение имеет ссылку в виде соответствующих команд.
Через мультиплексор происходит выбор, какой регистр команд должен выдавать код для выполнения программы в каждый конкретный момент. Благодаря такому способу при условных переходах даже в самом неблагоприятном случае обеспечивается выполнение действительной команды вместо пустой без напрасной потери такта.
Условные обозначения применяемых терминов
Инвертированный сигнал по1Регистр, видимый для загрузочной логической схемы (рьи) -рьикЕО
Регистр внутренний -КЕО
Сдвиговые регистры -8Й
Условные обозначения функций
Функция НЕ
I Ω
0 1
1 0
Определение понятий
БШМ: блок для ввода данных в шинные системы вне ЭПМ. Подача сигналов происходит через мультиплексоры для вводов данных и через вентили для выводов данных. Каскад драйверов шин квитирующего сигнала оАСК выполнен в виде драйверов шины с открытым коллектором. Управление БШМ для ввода данных осуществляет регистр М-РЬиКЕО.
Адресат данных: устройство/устройства, обрабатывающее/обрабатывающие результаты, полученные в ЭПМ.
Источник данных: устройство/устройства, предоставляющее/предоставляющие процессорным элементам (ЭПМ) данные в виде операндов.
Слово данных: слово данных состоит из имеющей произвольную длину последовательности бит, являющейся для вычислительного устройства единицей обработки. В слове данных могут быть закодированы как команды для процессоров или аналогичных микросхем, так и данные в чистом виде.
НИ: потоковый процессор, описанный в выложенной заявке ΌΕ 4416881.
ДНВМ: динамически конфигурируемые ИВМ, известны из уровня техники.
РАЛУ: расширенное арифметическологическое устройство. Иредставляет собой АЛУ, расширенное за счет добавления специальных функций, необходимых для работы блока обработки данных в соответствии с ΌΕ 44116881 А1, или других целесообразных функций. Такими устройствами являются, в частности, счетчики.
Элементы: общее определение для всех видов, имеющих законченное исполнение блоков, которые могут быть использованы в электронной микросхеме в качестве единого целого. Таким образом, элементами являются:
- конфигурируемые ячейки любого вида;
- кластеры;
- блоки ЗУИВ;
- логические схемы;
- АЛУ;
- регистры;
- мультиплексоры;
- выводы входов/выходов чипа.
Событие: событие может быть обработано аппаратным элементом каким-либо соответствующим прикладной программе способом и инициировать в качестве реакции на эту обработку обусловленное ею действие. Таким образом, событиями являются, например:
- такт вычислительного устройст- ва/вычислительной машины;
- внутренний или внешний сигнал прерывания;
- запускающий сигнал, поступающий от других элементов внутри данной микросхемы;
- сравнение потока данных и/или потока команд с определенным значением;
- события на входе/выходе,
- срабатывание, переполнение, повторное выставление и т.д. счетчика;
- обработка/анализ сравнения.
ИВМ: программируемый логический элемент, известен из уровня техники.
Р-РЬиКЕС: регистр, в котором задают функцию процессорного элемента (ЭНМ). Кроме того, в нем задают режим подачи разрешающего сигнала (режим Опе81ю1) и энергосберегающий режим (режим 81еер). Описание регистра производит загрузочная логическая схема.
Н-уровень: уровень логической единицы, зависит от используемой технологии.
Конфигурируемый элемент: конфигурируемый элемент представляет собой логический модуль, которому можно с помощью конфигурационного слова задавать специальную функцию. Таким образом, конфигурируемыми элементами являются различного рода ячейки ЗУИВ, мультиплексоры, арифметическологические устройства, регистры, различного рода описания для установления внешних и внутренних сетевых связей и т.д.
Конфигурируемая ячейка: см. Логические ячейки.
Конфигурирование: задание функции и объединение в сеть какого-либо логического элемента, (ИВМ)-ячейки или ЭНМ (ср.: реконфигурирование).
Конфигурационные данные: произвольное количество конфигурационных слов.
Конфигурационная память: в конфигурационной памяти хранится одно или несколько конфигурационных слов.
Конфигурационное слово: конфигурационное слово состоит из имеющей произвольную длину последовательности бит. Такая последовательность бит разрядов представляет собой действительную настройку конфигурируемого элемента, в результате которой образуется работоспособный блок.
Загрузочная логическая схема (загрузочная логика): блок для конфигурации и реконфигурации ЭИМ. Выполнена в виде микроконтроллера, специально адаптированного для выполнения своей задачи.
Логические ячейки: конфигурируемые ячейки, используемые в ИИ, ИВМ, ДИВМ и выполняющие простые логические и арифметические задачи в соответствии со своей конфигурацией.
Ь-уровень: уровень логического нуля, зависит от используемой технологии.
М-РЬиВЕС: регистр, в котором задают объединение процессорных элементов в сеть. Описание регистра производит загрузочная логическая схема.
О-КЕС: регистр операндов, предназначен для хранения операндов РАЛУ. Обеспечивает временную и функциональную независимость ЭИМ от источников данных, что упрощает пересылку данных, позволяя производить их асинхронную или пакетную передачу. Одновременно обеспечивается возможность реконфигурировать источники данных независимо от ЭИМ, а сами ЭИМ реконфигурировать независимо от источников данных.
РЬИ (Ргодат Ьоабтд Ипй): блок для конфигурации и реконфигурации ЭИМ. Выполнен в виде микроконтроллера, специально адаптированного для выполнения своей задачи.
Распространение: контролируемая дальнейшая передача принятого сигнала.
КЕСОЫРЮ: Реконфигурируемое/готовое к реконфигурации состояние процессорного элемента.
Запускающий сигнал ЯЕСОИЕЮ: перевод процессорного элемента в реконфигурируемое состояние.
КА: конечный автомат, управляющий РАЛУ.
Таблица переключений: таблица переключений представляет собой динамическую память, к которой обращается блок управления. Записи в таблице переключений могут содержать любые конфигурационные слова. Блок управления может выполнять команды. Таблица переключений реагирует на запускающие сигналы и конфигурирует реконфигурируемые элементы на основании записи в динамической памяти.
Синхронизирующие сигналы: сигналы состояния, формируемые конфигурируемым элементом или АЛУ и передаваемые дальше с целью управления обработкой данных и ее синхронизации другим конфигурируемым элементам или АЛУ. Возможен также возврат (введенного в память) синхронизирующего сигнала с временной задержкой в тот же самый конфигурируемый элемент или в то же АЛУ.
ТЯЮАСК/ТЯЮКОУ: сигналы квитирования запускающих сигналов.
Запускающий сигнал: синоним синхронизирующего сигнала.
Реконфигурирование: повторное конфигурирование произвольного количества ЭПМ, в то время как оставшееся количество ЭПМ продолжают выполнять их собственные функции (ср. Конфигурирование).
Цикл обработки: цикл обработки описывает время, необходимое блоку для перехода из одного определенного и/или действительного состояния в следующее определенное и/или действительное состояние.
СДКС: сверхдлинное командное слово; кодирование микропроцессоров, способ в соответствии с уровнем техники.
Ячейки: синоним конфигурируемых элементов.

Claims (29)

  1. ФОРМУЛА ИЗОБРЕТЕНИЯ
    1. Способ синхронизации как управления процессами обработки данных в конфигурируемых элементах, так и их реконфигурации, используемый в микросхемах с двух- или многомерной структурой расположения программируемых ячеек (потоковые процессоры (НН). программируемые пользователем вентильные матрицы (ПВМ). динамически программируемые пользователем вентильные матрицы (ДПВМ), КАXV-машины), при этом указанные элементы соединены друг с другом конфигурируемой шинной системой, а также синхронизации управления процессами обработки данных в обычных построенных на базе арифметикологических устройств (АЛУ) микропроцессорах, цифровых процессорах сигналов и микрокон троллерах с использованием условных переходов, при этом указанные АЛУ соединены друг с другом шинной системой, отличающийся тем, что синхронизирующие сигналы генерируются во время обработки данных осуществляющими эту обработку конфигурируемыми элементами (0202) путем сравнения данных, знаков чисел, переносов арифметических операций, состояний ошибок и т.д. и передаются по шинной системе на другие элементы (0201. 0203). при этом принимающие эти сигналы элементы используют эту информацию для синхронизации обработки данных и для управления процессом обработки данных (фиг. 1-3).
  2. 2. Способ по п.1. отличающийся тем, что синхронизация с помощью запускающего сигнала может активизировать конфигурируемый элемент или АЛУ для выполнения одной единственной операции (запускающий сигнал однократного выполнения команды (8ТЕР). фиг. 2).
  3. 3. Способ по п.1. отличающийся тем, что синхронизация с помощью запускающего сигнала может активизировать конфигурируемый элемент или АЛУ для выполнения множества операций (запускающий сигнал перехода (СО). фиг. 2).
  4. 4. Способ по п.1. отличающийся тем, что синхронизация с помощью запускающего сигнала может приостанавливать выполнение операции конфигурируемым элементом или АЛУ (запускающий сигнал останова (8ТОР). фиг. 2).
  5. 5. Способ по п.1. отличающийся тем, что синхронизация с помощью запускающего сигнала может разрешать реконфигурацию конфигурируемого элемента (фиг. 6).
  6. 6. Способ по любому из пп. 1-5. отличающийся тем, что конфигурируемый элемент или АЛУ отображают свое текущее состояние в регистре (0402) состояний.
  7. 7. Способ по любому из пп. 1-6. отличающийся тем, что синхронизирующие сигналы передаются адресату данных на источник данных или на независимый конфигурируемый элемент либо АЛУ (фиг. 1-3).
  8. 8. Способ по любому из пп. 1-7. отличающийся тем, что передача синхронизирующих сигналов может быть блокирована.
  9. 9. Способ по любому из пп. 1-8. отличающийся тем, что передача различных синхронизирующих сигналов осуществляется избирательно (сравнение, состояния ошибки и т.д.), при этом в блоке формирования сигнала можно свободно выбирать тип синхронизирующего сигнала, а в блоке приема сигнала можно свободно выбирать характер воздействия синхронизирующих сигналов (фиг. 5).
  10. 10. Способ по любому из пп.1-9. отличающийся тем, что один синхронизирующий сигнал может быть передан нескольким адресатам (0501).
  11. 11. Способ по любому из пп. 1-10. отличающийся тем, что для одного синхронизирую щего сигнала выделена одна линия квитирования (фиг. 6: сигнал ТКЮЛСК).
  12. 12. Способ по любому из пп.1-11, отличающийся тем, что из одного или нескольких синхронизирующих сигналов построен вектор синхронизации (фиг. 6.: ТКЮУ).
  13. 13. Способ по любому из пп. 1-12, отличающийся тем, что с помощью вектора синхронизации выбирается один конфигурационный регистр из нескольких конфигурационных регистров, соответственно один регистр команд из нескольких регистров команд (фиг. 7б).
  14. 14. Способ по любому из пп. 1-13, отличающийся тем, что процесс выбора регистра с помощью синхронизирующих сигналов синхронизируют с обработкой данных таким образом, чтобы не был потерян ни один такт (фиг. 6).
  15. 15. Способ по любому из пп. 1-14, отличающийся тем, что в одном выделенном для какой-либо операции регистре, выбранном из нескольких регистров, значение сформированного синхронизирующего сигнала сохраняется таким образом, чтобы другая выделенная операция могла избирательно иметь к нему доступ для выборки на основании этой информации возможной и достоверной команды, соответственно возможной и достоверной конфигурации из нескольких команд/конфигураций.
  16. 16. Способ синхронизации как управления процессами обработки данных в конфигурируемых элементах, так и их реконфигурации, используемый в микросхемах с двух- или многомерной структурой расположения программируемых ячеек (потоковые процессоры (НН). программируемые пользователем вентильные матрицы (ПВМ), динамически программируемые пользователем вентильные матрицы (ДПВМ), Κ.Λ\ν-машины), при этом указанные элементы соединены друг с другом конфигурируемой шинной системой, а также синхронизации управления процессами обработки данных в обычных построенных на базе арифметикологических устройств (АЛУ) микропроцессорах, цифровых процессорах сигналов и микроконтроллерах с использованием условных переходов, при этом указанные АЛУ соединены друг с другом шинной системой, отличающийся тем, что на основании соответствующих команд в конфигурируемом элементе или в АЛУ формируются конфигурационные слова, которые вместе с адресом соответствующего регистра передаются по шине данных в следующий конфигурируемый элемент или в следующее АЛУ, которым эти переданные конфигурационные слова записываются в адресуемый регистр (стр. 1-2).
  17. 17. Способ по п.16, отличающийся тем, что конфигурируемый элемент или АЛУ отображает свое текущее состояние в регистре состояний (0402).
  18. 18. Способ по п.16 или 17, отличающийся тем, что указание на выбираемый регистр зако дировано в командах и передается по шине данных (стр. 2).
  19. 19. Способ по любому из пп. 16-18, отличающийся тем, что в одном выделенном для какой-либо операции регистре, выбранном из нескольких регистров, значение сформированного синхронизирующего сигнала сохраняется таким образом, чтобы другая выделенная операция могла избирательно иметь к нему доступ для выборки на основании этой информации возможной и достоверной команды, соответственно возможной и достоверной конфигурации из нескольких команд/конфигураций.
  20. 20. Способ синхронизации как управления процессами обработки данных в конфигурируемых элементах, так и их реконфигурации, используемый в микросхемах с двух- или многомерной структурой расположения программируемых ячеек (потоковые процессоры (ПП), программируемые пользователем вентильные матрицы (ПВМ), динамически программируемые пользователем вентильные матрицы (ДПВМ), ΚΑ\ν-машины), при этом указанные элементы соединены друг с другом конфигурируемой шинной системой, а также синхронизации управления процессами обработки данных в обычных построенных на базе арифметикологических устройств (АЛУ) микропроцессорах, цифровых процессорах сигналов и микроконтроллерах с использованием условных переходов, при этом указанные АЛУ соединены друг с другом шинной системой, отличающийся тем, что за время прогона на основании синхронизирующих сигналов из нескольких конфигураций выбирается достоверная конфигурация конфигурируемых элементов или из нескольких возможных команд АЛУ выбирается достоверная команда (фиг. 7б).
  21. 21. Способ по п.20, отличающийся тем, что конфигурируемый элемент или АЛУ отображает свое текущее состояние в регистре состояний (0402).
  22. 22. Способ по п. 20 или 21, отличающийся тем, что синхронизирующие сигналы передаются адресату данных на источник данных или на независимый конфигурируемый элемент либо АЛУ (фиг. 1-3).
  23. 23. Способ по любому из пп.20-22, отличающийся тем, что передача синхронизирующих сигналов может быть блокирована.
  24. 24. Способ по любому из пп.20-23, отличающийся тем, что передача различных синхронизирующих сигналов осуществляется избирательно (сравнение, состояния ошибки и т.д.), при этом в блоке формирования сигнала можно свободно выбирать тип синхронизирующего сигнала, а в блоке приема сигнала можно свободно выбирать характер воздействия синхронизирующих сигналов (фиг. 5).
  25. 25. Способ по любому из пп.20-24, отличающийся тем, что один синхронизирующий сигнал может быть передан нескольким адресатам (0501).
  26. 26. Способ по любому из пп.20-25, отличающийся тем, что для одного синхронизирующего сигнала выделена одна линия квитирования (фиг. 6: сигнал ТКЮЛСК).
  27. 27. Способ по любому из пп.20-26, отличающийся тем, что из одного или нескольких синхронизирующих сигналов построен вектор синхронизации (фиг. 6.: ТКЮУ).
  28. 28. Способ по любому из пп.20-27, отличающийся тем, что процесс выбора регистра с помощью синхронизирующих сигналов синхро низируют с обработкой данных таким образом, чтобы не был потерян ни один такт (фиг. 6).
  29. 29. Способ по любому из пп.20-28, отличающийся тем, что в одном выделенном для какой-либо операции регистре, выбранном из нескольких регистров, значение сформированного синхронизирующего сигнала сохраняется таким образом, чтобы другая выделенная операция могла избирательно иметь к нему доступ для выборки на основании этой информации возможной и достоверной команды, соответственно возможной и достоверной конфигурации из нескольких команд/конфигураций.
EA199900653A 1997-02-08 1998-02-07 Способ самосинхронизации конфигурируемых элементов программируемой микросхемы EA001823B1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19704728A DE19704728A1 (de) 1997-02-08 1997-02-08 Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
PCT/DE1998/000334 WO1998035299A2 (de) 1997-02-08 1998-02-07 Verfahren zur selbstsynchronisation von konfigurierbaren elementen eines programmierbaren bausteines

Publications (2)

Publication Number Publication Date
EA199900653A1 EA199900653A1 (ru) 2000-08-28
EA001823B1 true EA001823B1 (ru) 2001-08-27

Family

ID=7819640

Family Applications (1)

Application Number Title Priority Date Filing Date
EA199900653A EA001823B1 (ru) 1997-02-08 1998-02-07 Способ самосинхронизации конфигурируемых элементов программируемой микросхемы

Country Status (10)

Country Link
US (3) US6081903A (ru)
EP (2) EP0961980B1 (ru)
JP (1) JP4146519B2 (ru)
CN (1) CN1252144A (ru)
AT (1) ATE298907T1 (ru)
AU (1) AU740243B2 (ru)
CA (1) CA2279917A1 (ru)
DE (3) DE19704728A1 (ru)
EA (1) EA001823B1 (ru)
WO (1) WO1998035299A2 (ru)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
WO2002071248A2 (de) * 2001-03-05 2002-09-12 Pact Informationstechnologie Gmbh Verfahren und vorrichtungen zur datenbe- und/oder verarbeitung
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
US6338106B1 (en) 1996-12-20 2002-01-08 Pact Gmbh I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
ATE243390T1 (de) 1996-12-27 2003-07-15 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.)
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
DE19704728A1 (de) 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
DE19704742A1 (de) * 1997-02-11 1998-09-24 Pact Inf Tech Gmbh Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) * 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
DE19807872A1 (de) 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US6243836B1 (en) * 1998-08-17 2001-06-05 Lucent Technologies, Inc. Apparatus and method for circular buffering on an on-chip discontinuity trace
WO2002013000A2 (de) * 2000-06-13 2002-02-14 Pact Informationstechnologie Gmbh Pipeline ct-protokolle und -kommunikation
DE10081643D2 (de) 1999-06-10 2002-05-29 Pact Inf Tech Gmbh Sequenz-Partitionierung auf Zellstrukturen
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US20040015899A1 (en) * 2000-10-06 2004-01-22 Frank May Method for processing data
DE10059270B4 (de) * 2000-11-29 2012-08-02 Heidelberger Druckmaschinen Ag Vorrichtung und Verfahren zur Synchronisation von an mehreren Einheiten ablaufende Prozesse
US6990555B2 (en) * 2001-01-09 2006-01-24 Pact Xpp Technologies Ag Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US20090300262A1 (en) * 2001-03-05 2009-12-03 Martin Vorbach Methods and devices for treating and/or processing data
US7210129B2 (en) * 2001-08-16 2007-04-24 Pact Xpp Technologies Ag Method for translating programs for reconfigurable architectures
US20090210653A1 (en) * 2001-03-05 2009-08-20 Pact Xpp Technologies Ag Method and device for treating and processing data
US9037807B2 (en) * 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
WO2005045692A2 (en) 2003-08-28 2005-05-19 Pact Xpp Technologies Ag Data processing device and method
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7624204B2 (en) * 2001-03-22 2009-11-24 Nvidia Corporation Input/output controller node in an adaptable computing environment
EP1402382B1 (de) * 2001-06-20 2010-08-18 Richter, Thomas Verfahren zur bearbeitung von daten
US10031733B2 (en) * 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
AU2002338729A1 (en) 2001-09-19 2003-04-01 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US7594229B2 (en) * 2001-10-09 2009-09-22 Nvidia Corp. Predictive resource allocation in computing systems
US7644279B2 (en) * 2001-12-05 2010-01-05 Nvidia Corporation Consumer product distribution in the embedded system market
US7577822B2 (en) * 2001-12-14 2009-08-18 Pact Xpp Technologies Ag Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
AU2003214046A1 (en) * 2002-01-18 2003-09-09 Pact Xpp Technologies Ag Method and device for partitioning large computer programs
EP1483682A2 (de) 2002-01-19 2004-12-08 PACT XPP Technologies AG Reconfigurierbarer prozessor
AU2003214003A1 (en) 2002-02-18 2003-09-09 Pact Xpp Technologies Ag Bus systems and method for reconfiguration
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
EP1518186A2 (de) * 2002-03-21 2005-03-30 PACT XPP Technologies AG Verfahren und vorrichtung zur datenverarbeitung
WO2004088502A2 (de) * 2003-04-04 2004-10-14 Pact Xpp Technologies Ag Verfahren und vorrichtung für die datenverarbeitung
US7093255B1 (en) * 2002-05-31 2006-08-15 Quicksilver Technology, Inc. Method for estimating cost when placing operations within a modulo scheduler when scheduling for processors with a large number of function units or reconfigurable data paths
US7620678B1 (en) 2002-06-12 2009-11-17 Nvidia Corporation Method and system for reducing the time-to-market concerns for embedded system design
US7802108B1 (en) 2002-07-18 2010-09-21 Nvidia Corporation Secure storage of program code for an embedded system
US20110238948A1 (en) * 2002-08-07 2011-09-29 Martin Vorbach Method and device for coupling a data processing unit and a data processing array
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
AU2003289844A1 (en) * 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
US7502915B2 (en) * 2002-09-30 2009-03-10 Nvidia Corporation System and method using embedded microprocessor as a node in an adaptable computing machine
US8949576B2 (en) * 2002-11-01 2015-02-03 Nvidia Corporation Arithmetic node including general digital signal processing functions for an adaptive computing machine
US7617100B1 (en) 2003-01-10 2009-11-10 Nvidia Corporation Method and system for providing an excitation-pattern based audio coding scheme
US8296764B2 (en) * 2003-08-14 2012-10-23 Nvidia Corporation Internal synchronization control for adaptive integrated circuitry
US8018463B2 (en) * 2004-05-10 2011-09-13 Nvidia Corporation Processor for video data
US8130825B2 (en) * 2004-05-10 2012-03-06 Nvidia Corporation Processor for video data encoding/decoding
JP2006011705A (ja) * 2004-06-24 2006-01-12 Fujitsu Ltd プロセッサおよび半導体装置
TWI256013B (en) * 2004-10-12 2006-06-01 Uli Electronics Inc Sound-effect processing circuit
US20090031104A1 (en) * 2005-02-07 2009-01-29 Martin Vorbach Low Latency Massive Parallel Data Processing Device
WO2007062327A2 (en) * 2005-11-18 2007-05-31 Ideal Industries, Inc. Releasable wire connector
JP2009524134A (ja) 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
US7999820B1 (en) 2006-10-23 2011-08-16 Nvidia Corporation Methods and systems for reusing memory addresses in a graphics system
US20080111923A1 (en) * 2006-11-09 2008-05-15 Scheuermann W James Processor for video data
US7904863B2 (en) * 2006-12-04 2011-03-08 Fujitsu Limited Circuit-design supporting apparatus, circuit-design supporting method, computer product, and printed-circuit-board manufacturing method
US8169789B1 (en) 2007-04-10 2012-05-01 Nvidia Corporation Graphics processing unit stiffening frame
US7987065B1 (en) 2007-04-17 2011-07-26 Nvidia Corporation Automatic quality testing of multimedia rendering by software drivers
US8572598B1 (en) 2007-04-18 2013-10-29 Nvidia Corporation Method and system for upgrading software in a computing device
US8726283B1 (en) 2007-06-04 2014-05-13 Nvidia Corporation Deadlock avoidance skid buffer
US7944453B1 (en) 2007-06-07 2011-05-17 Nvidia Corporation Extrapolation texture filtering for nonresident mipmaps
US7948500B2 (en) * 2007-06-07 2011-05-24 Nvidia Corporation Extrapolation of nonresident mipmap data using resident mipmap data
US7932227B1 (en) 2007-09-17 2011-04-26 University Of Virginia Patent Foundation Lacritin-syndecan fusion proteins
US8438522B1 (en) 2008-09-24 2013-05-07 Iowa State University Research Foundation, Inc. Logic element architecture for generic logic chains in programmable devices
US8661394B1 (en) 2008-09-24 2014-02-25 Iowa State University Research Foundation, Inc. Depth-optimal mapping of logic chains in reconfigurable fabrics
CN101616175B (zh) * 2009-07-24 2013-01-09 中国科学院上海技术物理研究所 用于分布式多dsp系统的网络拓扑结构获取方法和装置
AU2015229452B2 (en) 2014-03-12 2021-07-15 University Of Virginia Patent Foundation Compositions and methods for treating eye infections and disease
CN104967783B (zh) * 2015-07-01 2018-01-09 西北工业大学 面向微纳星的多路微图像采集系统

Family Cites Families (214)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US34363A (en) * 1862-02-11 Improvement in machinery for cleaning cotton
US2067477A (en) 1931-03-20 1937-01-12 Allis Chalmers Mfg Co Gearing
GB971191A (en) 1962-05-28 1964-09-30 Wolf Electric Tools Ltd Improvements relating to electrically driven equipment
US3681572A (en) 1970-08-11 1972-08-01 Siegfried Johannes Gerathewohl Air traveler's rest period calculator
DE2057312A1 (de) 1970-11-21 1972-05-25 Bhs Bayerische Berg Planetenradgetriebe mit Lastdruckausgleich
US3855577A (en) 1973-06-11 1974-12-17 Texas Instruments Inc Power saving circuit for calculator system
US4498134A (en) 1982-01-26 1985-02-05 Hughes Aircraft Company Segregator functional plane for use in a modular array processor
US4489857A (en) 1982-03-22 1984-12-25 Bobrick Washroom Equipment, Inc. Liquid dispenser
JPS5936857A (ja) 1982-08-25 1984-02-29 Nec Corp プロセツサユニツト
US4663706A (en) 1982-10-28 1987-05-05 Tandem Computers Incorporated Multiprocessor multisystem communications network
US4739474A (en) * 1983-03-10 1988-04-19 Martin Marietta Corporation Geometric-arithmetic parallel processor
US4566102A (en) 1983-04-18 1986-01-21 International Business Machines Corporation Parallel-shift error reconfiguration
US5123109A (en) * 1983-05-31 1992-06-16 Thinking Machines Corporation Parallel processor including a processor array with plural data transfer arrangements including (1) a global router and (2) a proximate-neighbor transfer system
US4870302A (en) * 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
USRE34363E (en) 1984-03-12 1993-08-31 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4761755A (en) * 1984-07-11 1988-08-02 Prime Computer, Inc. Data processing system and method having an improved arithmetic unit
US4682284A (en) 1984-12-06 1987-07-21 American Telephone & Telegraph Co., At&T Bell Lab. Queue administration method and apparatus
DE3681463D1 (de) 1985-01-29 1991-10-24 Secr Defence Brit Verarbeitungszelle fuer fehlertolerante matrixanordnungen.
US5023775A (en) * 1985-02-14 1991-06-11 Intel Corporation Software programmable logic array utilizing "and" and "or" gates
US5247689A (en) * 1985-02-25 1993-09-21 Ewert Alfred P Parallel digital processor including lateral transfer buses with interrupt switches to form bus interconnection segments
US4706216A (en) * 1985-02-27 1987-11-10 Xilinx, Inc. Configurable logic element
US5225719A (en) * 1985-03-29 1993-07-06 Advanced Micro Devices, Inc. Family of multiple segmented programmable logic blocks interconnected by a high speed centralized switch matrix
US5015884A (en) * 1985-03-29 1991-05-14 Advanced Micro Devices, Inc. Multiple array high performance programmable logic device family
US4967340A (en) * 1985-06-12 1990-10-30 E-Systems, Inc. Adaptive processing system having an array of individually configurable processing components
US4720780A (en) 1985-09-17 1988-01-19 The Johns Hopkins University Memory-linked wavefront array processor
EP0221360B1 (en) * 1985-11-04 1992-12-30 International Business Machines Corporation Digital data message transmission networks and the establishing of communication paths therein
US4852048A (en) 1985-12-12 1989-07-25 Itt Corporation Single instruction multiple data (SIMD) cellular array processing apparatus employing a common bus where a first number of bits manifest a first bus portion and a second number of bits manifest a second bus portion
US5021947A (en) * 1986-03-31 1991-06-04 Hughes Aircraft Company Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing
GB8612396D0 (en) 1986-05-21 1986-06-25 Hewlett Packard Ltd Chain-configured interface bus system
US4860201A (en) 1986-09-02 1989-08-22 The Trustees Of Columbia University In The City Of New York Binary tree parallel processor
US4910665A (en) 1986-09-02 1990-03-20 General Electric Company Distributed processing system including reconfigurable elements
US5367208A (en) * 1986-09-19 1994-11-22 Actel Corporation Reconfigurable programmable interconnect architecture
FR2606184B1 (fr) 1986-10-31 1991-11-29 Thomson Csf Dispositif de calcul reconfigurable
US4811214A (en) * 1986-11-14 1989-03-07 Princeton University Multinode reconfigurable pipeline computer
US5226122A (en) * 1987-08-21 1993-07-06 Compaq Computer Corp. Programmable logic system for filtering commands to a microprocessor
US5115510A (en) 1987-10-20 1992-05-19 Sharp Kabushiki Kaisha Multistage data flow processor with instruction packet, fetch, storage transmission and address generation controlled by destination information
US5113498A (en) 1987-11-10 1992-05-12 Echelon Corporation Input/output section for an intelligent cell which provides sensing, bidirectional communications and control
US4918690A (en) 1987-11-10 1990-04-17 Echelon Systems Corp. Network and intelligent cell for providing sensing, bidirectional communications and control
US5303172A (en) * 1988-02-16 1994-04-12 Array Microsystems Pipelined combination and vector signal processor
JPH06101043B2 (ja) 1988-06-30 1994-12-12 三菱電機株式会社 マイクロコンピュータ
US5204935A (en) * 1988-08-19 1993-04-20 Fuji Xerox Co., Ltd. Programmable fuzzy logic circuits
US4901268A (en) * 1988-08-19 1990-02-13 General Electric Company Multiple function data processor
US5353432A (en) 1988-09-09 1994-10-04 Compaq Computer Corporation Interactive method for configuration of computer system and circuit boards with user specification of system resources and computer resolution of resource conflicts
ES2047629T3 (es) 1988-09-22 1994-03-01 Siemens Ag Disposicion de circuito para instalaciones de conmutacion de telecomunicaciones, especialmente instalaciones de conmutacion telefonica de multiplexacion temporal-pcm con campo de acoplamiento central y campos de acoplamiento parcial conectados.
EP0390907B1 (en) * 1988-10-07 1996-07-03 Martin Marietta Corporation Parallel data processor
US5014193A (en) * 1988-10-14 1991-05-07 Compaq Computer Corporation Dynamically configurable portable computer system
US5136717A (en) * 1988-11-23 1992-08-04 Flavors Technology Inc. Realtime systolic, multiple-instruction, single-data parallel computer system
US5081375A (en) * 1989-01-19 1992-01-14 National Semiconductor Corp. Method for operating a multiple page programmable logic device
GB8906145D0 (en) * 1989-03-17 1989-05-04 Algotronix Ltd Configurable cellular array
US5203005A (en) 1989-05-02 1993-04-13 Horst Robert W Cell structure for linear array wafer scale integration architecture with capability to open boundary i/o bus without neighbor acknowledgement
US5109503A (en) * 1989-05-22 1992-04-28 Ge Fanuc Automation North America, Inc. Apparatus with reconfigurable counter includes memory for storing plurality of counter configuration files which respectively define plurality of predetermined counters
JP2584673B2 (ja) 1989-06-09 1997-02-26 株式会社日立製作所 テストデータ変更回路を有する論理回路テスト装置
CA2021192A1 (en) 1989-07-28 1991-01-29 Malcolm A. Mumme Simplified synchronous mesh processor
US5489857A (en) * 1992-08-03 1996-02-06 Advanced Micro Devices, Inc. Flexible synchronous/asynchronous cell structure for a high density programmable logic device
US5233539A (en) 1989-08-15 1993-08-03 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure, input/output structure and configurable logic block
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5128559A (en) * 1989-09-29 1992-07-07 Sgs-Thomson Microelectronics, Inc. Logic block for programmable logic devices
JP2968289B2 (ja) * 1989-11-08 1999-10-25 株式会社リコー 中央演算処理装置
GB8925721D0 (en) * 1989-11-14 1990-01-04 Amt Holdings Processor array system
US5522083A (en) * 1989-11-17 1996-05-28 Texas Instruments Incorporated Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors
EP0428770B1 (de) 1989-11-21 1995-02-01 Deutsche ITT Industries GmbH Datengesteuerter Arrayprozessor
US5125801A (en) * 1990-02-02 1992-06-30 Isco, Inc. Pumping system
US5142469A (en) * 1990-03-29 1992-08-25 Ge Fanuc Automation North America, Inc. Method for converting a programmable logic controller hardware configuration and corresponding control program for use on a first programmable logic controller to use on a second programmable logic controller
US5198705A (en) * 1990-05-11 1993-03-30 Actel Corporation Logic module with configurable combinational and sequential blocks
US5483620A (en) * 1990-05-22 1996-01-09 International Business Machines Corp. Learning machine synapse processor system apparatus
US5193202A (en) 1990-05-29 1993-03-09 Wavetracer, Inc. Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor
US5111079A (en) * 1990-06-29 1992-05-05 Sgs-Thomson Microelectronics, Inc. Power reduction circuit for programmable logic device
SE9002558D0 (sv) * 1990-08-02 1990-08-02 Carlstedt Elektronik Ab Processor
US5274593A (en) 1990-09-28 1993-12-28 Intergraph Corporation High speed redundant rows and columns for semiconductor memories
US5144166A (en) 1990-11-02 1992-09-01 Concurrent Logic, Inc. Programmable logic cell and array
US5794059A (en) 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5734921A (en) 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5708836A (en) 1990-11-13 1998-01-13 International Business Machines Corporation SIMD/MIMD inter-processor communication
US5765011A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5301284A (en) 1991-01-16 1994-04-05 Walker-Estes Corporation Mixed-resolution, N-dimensional object space method and apparatus
US5301344A (en) * 1991-01-29 1994-04-05 Analogic Corporation Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets
DE59107764D1 (de) * 1991-02-22 1996-06-05 Siemens Ag Speicherprogrammierbare Steuerung
JPH04290155A (ja) * 1991-03-19 1992-10-14 Fujitsu Ltd 並列データ処理方式
JPH04293151A (ja) * 1991-03-20 1992-10-16 Fujitsu Ltd 並列データ処理方式
US5617547A (en) 1991-03-29 1997-04-01 International Business Machines Corporation Switch network extension of bus architecture
WO1992018935A1 (en) * 1991-04-09 1992-10-29 Fujitsu Limited Data processor and data processing method
US5446904A (en) * 1991-05-17 1995-08-29 Zenith Data Systems Corporation Suspend/resume capability for a protected mode microprocessor
AU2158692A (en) * 1991-05-24 1993-01-08 British Technology Group Usa, Inc. Optimizing compiler for computers
US5287344A (en) * 1991-06-05 1994-02-15 At&T Bell Laboratories Transferring lines in a digital loop carrier transmission system
US5659797A (en) 1991-06-24 1997-08-19 U.S. Philips Corporation Sparc RISC based computer system including a single chip processor with memory management and DMA units coupled to a DRAM interface
US5347639A (en) 1991-07-15 1994-09-13 International Business Machines Corporation Self-parallelizing computer system and method
US5317209A (en) * 1991-08-29 1994-05-31 National Semiconductor Corporation Dynamic three-state bussing capability in a configurable logic array
US5260610A (en) * 1991-09-03 1993-11-09 Altera Corporation Programmable logic element interconnections for programmable logic array integrated circuits
FR2681791B1 (fr) 1991-09-27 1994-05-06 Salomon Sa Dispositif d'amortissement des vibrations pour club de golf.
US5223539A (en) * 1991-11-22 1993-06-29 G. D. Searle & Co. N,n-di-alkyl(phenoxy)benzamide derivatives
CA2073516A1 (en) 1991-11-27 1993-05-28 Peter Michael Kogge Dynamic multi-mode parallel processor array architecture computer system
WO1993011503A1 (en) 1991-12-06 1993-06-10 Norman Richard S Massively-parallel direct output processor array
US5208491A (en) * 1992-01-07 1993-05-04 Washington Research Foundation Field programmable gate array
FR2686175B1 (fr) 1992-01-14 1996-12-20 Andre Thepaut Systeme de traitement de donnees multiprocesseur.
JP2791243B2 (ja) * 1992-03-13 1998-08-27 株式会社東芝 階層間同期化システムおよびこれを用いた大規模集積回路
US5452401A (en) 1992-03-31 1995-09-19 Seiko Epson Corporation Selective power-down for high performance CPU/system
US5611049A (en) * 1992-06-03 1997-03-11 Pitts; William M. System for accessing distributed data cache channel at each network node to pass requests and data
WO1993024895A2 (en) * 1992-06-04 1993-12-09 Xilinx, Inc. Timing driven method for laying out a user's circuit onto a programmable integrated circuit device
US5475803A (en) * 1992-07-10 1995-12-12 Lsi Logic Corporation Method for 2-D affine transformation of images
US5590348A (en) 1992-07-28 1996-12-31 International Business Machines Corporation Status predictor for combined shifter-rotate/merge unit
US5581778A (en) * 1992-08-05 1996-12-03 David Sarnoff Researach Center Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock
US5425036A (en) 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
JPH06180653A (ja) 1992-10-02 1994-06-28 Hudson Soft Co Ltd 割り込み処理方法および装置
US5329179A (en) * 1992-10-05 1994-07-12 Lattice Semiconductor Corporation Arrangement for parallel programming of in-system programmable IC logical devices
US5497498A (en) * 1992-11-05 1996-03-05 Giga Operations Corporation Video processing module using a second programmable logic device which reconfigures a first programmable logic device for data transformation
US5392437A (en) 1992-11-06 1995-02-21 Intel Corporation Method and apparatus for independently stopping and restarting functional units
US5361373A (en) * 1992-12-11 1994-11-01 Gilson Kent L Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
US5428526A (en) 1993-02-03 1995-06-27 Flood; Mark A. Programmable controller with time periodic communication
GB9303084D0 (en) * 1993-02-16 1993-03-31 Inmos Ltd Programmable logic circuit
JPH06276086A (ja) * 1993-03-18 1994-09-30 Fuji Xerox Co Ltd フィールドプログラマブルゲートアレイ
US5548773A (en) * 1993-03-30 1996-08-20 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Digital parallel processor array for optimum path planning
US5596742A (en) 1993-04-02 1997-01-21 Massachusetts Institute Of Technology Virtual interconnections for reconfigurable logic systems
US5473266A (en) * 1993-04-19 1995-12-05 Altera Corporation Programmable logic device having fast programmable logic array blocks and a central global interconnect array
DE4416881C2 (de) * 1993-05-13 1998-03-19 Pact Inf Tech Gmbh Verfahren zum Betrieb einer Datenverarbeitungseinrichtung
US5349193A (en) 1993-05-20 1994-09-20 Princeton Gamma Tech, Inc. Highly sensitive nuclear spectrometer apparatus and method
US5444394A (en) * 1993-07-08 1995-08-22 Altera Corporation PLD with selective inputs from local and global conductors
JPH0736858A (ja) * 1993-07-21 1995-02-07 Hitachi Ltd 信号処理プロセッサ
US5457644A (en) * 1993-08-20 1995-10-10 Actel Corporation Field programmable digital signal processing array integrated circuit
US5440538A (en) 1993-09-23 1995-08-08 Massachusetts Institute Of Technology Communication system with redundant links and data bit time multiplexing
US5455525A (en) * 1993-12-06 1995-10-03 Intelligent Logic Systems, Inc. Hierarchically-structured programmable logic array and system for interconnecting logic elements in the logic array
US5535406A (en) * 1993-12-29 1996-07-09 Kolchinsky; Alexander Virtual processor module including a reconfigurable programmable matrix
ES2153891T3 (es) 1994-03-22 2001-03-16 Hyperchip Inc Arquitectura resistente a los defectos basada en celdas con uso beneficioso de celdas de reserva no asignadas.
US5561738A (en) * 1994-03-25 1996-10-01 Motorola, Inc. Data processor for executing a fuzzy logic operation and method therefor
US5761484A (en) 1994-04-01 1998-06-02 Massachusetts Institute Of Technology Virtual interconnections for reconfigurable logic systems
US5430687A (en) * 1994-04-01 1995-07-04 Xilinx, Inc. Programmable logic device including a parallel input device for loading memory cells
US5896551A (en) * 1994-04-15 1999-04-20 Micron Technology, Inc. Initializing and reprogramming circuitry for state independent memory array burst operations control
US5426378A (en) * 1994-04-20 1995-06-20 Xilinx, Inc. Programmable logic device which stores more than one configuration and means for switching configurations
US5532693A (en) * 1994-06-13 1996-07-02 Advanced Hardware Architectures Adaptive data compression system with systolic string matching logic
US5513366A (en) * 1994-09-28 1996-04-30 International Business Machines Corporation Method and system for dynamically reconfiguring a register file in a vector processor
US5530946A (en) 1994-10-28 1996-06-25 Dell Usa, L.P. Processor failure detection and recovery circuit in a dual processor computer system and method of operation thereof
EP0721157A1 (en) * 1994-12-12 1996-07-10 Advanced Micro Devices, Inc. Microprocessor with selectable clock frequency
US5532957A (en) * 1995-01-31 1996-07-02 Texas Instruments Incorporated Field reconfigurable logic/memory array
US5493239A (en) * 1995-01-31 1996-02-20 Motorola, Inc. Circuit and method of configuring a field programmable gate array
US5742180A (en) 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
US5659785A (en) * 1995-02-10 1997-08-19 International Business Machines Corporation Array processor communication architecture with broadcast processor instructions
US6052773A (en) 1995-02-10 2000-04-18 Massachusetts Institute Of Technology DPGA-coupled microprocessors
US5537057A (en) * 1995-02-14 1996-07-16 Altera Corporation Programmable logic array device with grouped logic regions and three types of conductors
US5892961A (en) 1995-02-17 1999-04-06 Xilinx, Inc. Field programmable gate array having programming instructions in the configuration bitstream
US5570040A (en) * 1995-03-22 1996-10-29 Altera Corporation Programmable logic array integrated circuit incorporating a first-in first-out memory
US5541530A (en) * 1995-05-17 1996-07-30 Altera Corporation Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks
US5646544A (en) * 1995-06-05 1997-07-08 International Business Machines Corporation System and method for dynamically reconfiguring a programmable gate array
US5889982A (en) * 1995-07-01 1999-03-30 Intel Corporation Method and apparatus for generating event handler vectors based on both operating mode and event type
US5559450A (en) * 1995-07-27 1996-09-24 Lucent Technologies Inc. Field programmable gate array with multi-port RAM
US5649176A (en) * 1995-08-10 1997-07-15 Virtual Machine Works, Inc. Transition analysis and circuit resynthesis method and device for digital circuit modeling
US5583450A (en) * 1995-08-18 1996-12-10 Xilinx, Inc. Sequencer for a time multiplexed programmable logic device
US5778439A (en) * 1995-08-18 1998-07-07 Xilinx, Inc. Programmable logic device with hierarchical confiquration and state storage
US5652894A (en) 1995-09-29 1997-07-29 Intel Corporation Method and apparatus for providing power saving modes to a pipelined processor
US5943242A (en) * 1995-11-17 1999-08-24 Pact Gmbh Dynamically reconfigurable data processing system
US5732209A (en) * 1995-11-29 1998-03-24 Exponential Technology, Inc. Self-testing multi-processor die with internal compare points
US7266725B2 (en) * 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US5854918A (en) * 1996-01-24 1998-12-29 Ricoh Company Ltd. Apparatus and method for self-timed algorithmic execution
US5936424A (en) 1996-02-02 1999-08-10 Xilinx, Inc. High speed bus with tree structure for selecting bus driver
US6020758A (en) * 1996-03-11 2000-02-01 Altera Corporation Partially reconfigurable programmable logic device
US6173434B1 (en) * 1996-04-22 2001-01-09 Brigham Young University Dynamically-configurable digital processor using method for relocating logic array modules
US5894565A (en) 1996-05-20 1999-04-13 Atmel Corporation Field programmable gate array with distributed RAM and increased cell utilization
US5892370A (en) * 1996-06-21 1999-04-06 Quicklogic Corporation Clock network for field programmable gate array
US5887165A (en) * 1996-06-21 1999-03-23 Mirage Technologies, Inc. Dynamically reconfigurable hardware system for real-time control of processes
US6023742A (en) * 1996-07-18 2000-02-08 University Of Washington Reconfigurable computing architecture for providing pipelined data paths
US6023564A (en) * 1996-07-19 2000-02-08 Xilinx, Inc. Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions
US5838165A (en) 1996-08-21 1998-11-17 Chatter; Mukesh High performance self modifying on-the-fly alterable logic FPGA, architecture and method
US5859544A (en) * 1996-09-05 1999-01-12 Altera Corporation Dynamic configurable elements for programmable logic devices
US5828858A (en) * 1996-09-16 1998-10-27 Virginia Tech Intellectual Properties, Inc. Worm-hole run-time reconfigurable processor field programmable gate array (FPGA)
US6005410A (en) 1996-12-05 1999-12-21 International Business Machines Corporation Interconnect structure between heterogeneous core regions in a programmable array
DE19651075A1 (de) * 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
US6338106B1 (en) * 1996-12-20 2002-01-08 Pact Gmbh I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
DE19654593A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
DE19704044A1 (de) * 1997-02-04 1998-08-13 Pact Inf Tech Gmbh Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine
US5865239A (en) * 1997-02-05 1999-02-02 Micropump, Inc. Method for making herringbone gears
DE19704728A1 (de) * 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
US6542998B1 (en) * 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
DE19704742A1 (de) * 1997-02-11 1998-09-24 Pact Inf Tech Gmbh Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand
US5927423A (en) 1997-03-05 1999-07-27 Massachusetts Institute Of Technology Reconfigurable footprint mechanism for omnidirectional vehicles
US5884075A (en) * 1997-03-10 1999-03-16 Compaq Computer Corporation Conflict resolution using self-contained virtual devices
US6047115A (en) * 1997-05-29 2000-04-04 Xilinx, Inc. Method for configuring FPGA memory planes for virtual hardware computation
US6011407A (en) * 1997-06-13 2000-01-04 Xilinx, Inc. Field programmable gate array with dedicated computer bus interface and method for configuring both
US5966534A (en) * 1997-06-27 1999-10-12 Cooke; Laurence H. Method for compiling high level programming languages into an integrated processor with reconfigurable logic
US6038656A (en) * 1997-09-12 2000-03-14 California Institute Of Technology Pipelined completion for asynchronous communication
US6108760A (en) 1997-10-31 2000-08-22 Silicon Spice Method and apparatus for position independent reconfiguration in a network of multiple context processing elements
US5915123A (en) 1997-10-31 1999-06-22 Silicon Spice Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements
US6122719A (en) 1997-10-31 2000-09-19 Silicon Spice Method and apparatus for retiming in a network of multiple context processing elements
US6127908A (en) 1997-11-17 2000-10-03 Massachusetts Institute Of Technology Microelectro-mechanical system actuator device and reconfigurable circuits utilizing same
EP0926594B1 (en) * 1997-12-17 2007-05-23 Hewlett-Packard Company, A Delaware Corporation Method of using primary and secondary processors
DE19861088A1 (de) * 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6049222A (en) * 1997-12-30 2000-04-11 Xilinx, Inc Configuring an FPGA using embedded memory
US6172520B1 (en) * 1997-12-30 2001-01-09 Xilinx, Inc. FPGA system with user-programmable configuration ports and method for reconfiguring the FPGA
US6034538A (en) 1998-01-21 2000-03-07 Lucent Technologies Inc. Virtual logic system for reconfigurable hardware
US6389579B1 (en) 1998-01-26 2002-05-14 Chameleon Systems Reconfigurable logic for table lookup
US5965518A (en) 1998-02-23 1999-10-12 Nakatsu; Tetsuo Fragrance compositions having antimicrobial activity
DE19807872A1 (de) * 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US6282627B1 (en) 1998-06-29 2001-08-28 Chameleon Systems, Inc. Integrated processor and programmable data path chip for reconfigurable computing
US6202182B1 (en) 1998-06-30 2001-03-13 Lucent Technologies Inc. Method and apparatus for testing field programmable gate arrays
WO2002013000A2 (de) * 2000-06-13 2002-02-14 Pact Informationstechnologie Gmbh Pipeline ct-protokolle und -kommunikation
US6345346B1 (en) * 1999-02-26 2002-02-05 Voom Technologies Substantially instantaneous storage restoration for non-computer forensics applications
US6243808B1 (en) 1999-03-08 2001-06-05 Chameleon Systems, Inc. Digital data bit order conversion using universal switch matrix comprising rows of bit swapping selector groups
US6347346B1 (en) * 1999-06-30 2002-02-12 Chameleon Systems, Inc. Local memory unit system with global access for use on reconfigurable chips
GB2352548B (en) * 1999-07-26 2001-06-06 Sun Microsystems Inc Method and apparatus for executing standard functions in a computer system
US6370596B1 (en) 1999-08-03 2002-04-09 Chameleon Systems, Inc. Logic flag registers for monitoring processing system events
US6341318B1 (en) 1999-08-10 2002-01-22 Chameleon Systems, Inc. DMA data streaming
US6349346B1 (en) 1999-09-23 2002-02-19 Chameleon Systems, Inc. Control fabric unit including associated configuration memory and PSOP state machine adapted to provide configuration address to reconfigurable functional unit
US6311200B1 (en) 1999-09-23 2001-10-30 Chameleon Systems, Inc. Reconfigurable program sum of products generator
US6288566B1 (en) 1999-09-23 2001-09-11 Chameleon Systems, Inc. Configuration state memory for functional blocks on a reconfigurable chip
DE19946752A1 (de) * 1999-09-29 2001-04-12 Infineon Technologies Ag Rekonfigurierbares Gate-Array
US6519674B1 (en) * 2000-02-18 2003-02-11 Chameleon Systems, Inc. Configuration bits layout
US6539477B1 (en) * 2000-03-03 2003-03-25 Chameleon Systems, Inc. System and method for control synthesis using a reachable states look-up table
US6538468B1 (en) * 2000-07-31 2003-03-25 Cypress Semiconductor Corporation Method and apparatus for multiple boot-up functionalities for a programmable logic device (PLD)
US20040015899A1 (en) * 2000-10-06 2004-01-22 Frank May Method for processing data
US6392912B1 (en) 2001-01-10 2002-05-21 Chameleon Systems, Inc. Loading data plane on reconfigurable chip
US7210129B2 (en) * 2001-08-16 2007-04-24 Pact Xpp Technologies Ag Method for translating programs for reconfigurable architectures
US20030055861A1 (en) * 2001-09-18 2003-03-20 Lai Gary N. Multipler unit in reconfigurable chip
US20030052711A1 (en) * 2001-09-19 2003-03-20 Taylor Bradley L. Despreader/correlator unit for use in reconfigurable chip

Also Published As

Publication number Publication date
WO1998035299A3 (de) 1998-09-17
DE19704728A1 (de) 1998-08-13
JP2001511325A (ja) 2001-08-07
ATE298907T1 (de) 2005-07-15
AU740243B2 (en) 2001-11-01
US6968452B2 (en) 2005-11-22
EP1669885A2 (de) 2006-06-14
EP1669885A3 (de) 2007-09-12
WO1998035299A2 (de) 1998-08-13
EP0961980B1 (de) 2005-06-29
AU6391898A (en) 1998-08-26
JP4146519B2 (ja) 2008-09-10
DE59812895D1 (de) 2005-08-04
DE19880129D2 (de) 2000-01-27
CN1252144A (zh) 2000-05-03
EP0961980A2 (de) 1999-12-08
CA2279917A1 (en) 1998-08-13
EA199900653A1 (ru) 2000-08-28
US20040052130A1 (en) 2004-03-18
US6081903A (en) 2000-06-27
US6526520B1 (en) 2003-02-25

Similar Documents

Publication Publication Date Title
EA001823B1 (ru) Способ самосинхронизации конфигурируемых элементов программируемой микросхемы
US6542998B1 (en) Method of self-synchronization of configurable elements of a programmable module
CN114586004B (zh) 静默可重新配置数据处理器
JP4637123B2 (ja) データ処理方法およびデータ処理ユニット、コンフィギュレーション化可能なエレメントのダイナックな再コンフィギュレーション方法、システムおよびプロセス
US7028107B2 (en) Process for automatic dynamic reloading of data flow processors (DFPS) and units with two- or three- dimensional programmable cell architectures (FPGAS, DPGAS, and the like)
US10747712B1 (en) Transferring data in a parallel processing environment
US8468329B2 (en) Pipeline configuration protocol and configuration unit communication
US7461236B1 (en) Transferring data in a parallel processing environment
US5524250A (en) Central processing unit for processing a plurality of threads using dedicated general purpose registers and masque register for providing access to the registers
EA004240B1 (ru) Реконфигурируемый процессор и способ управления работой процессорной системы
US20030135686A1 (en) Internal bus system for DFPs and units with two- or multi-dimensional programmable cell architectures, for managing large volumes of data with a high interconnection complexity
GB2471067A (en) Shared resource multi-thread array processor with heterogeneous function blocks
US7283557B2 (en) Asynchronous crossbar with deterministic or arbitrated control
CN113811859A (zh) 控制流屏障以及可重构数据处理器
JP2004536373A (ja) データ処理方法およびデータ処理装置
EP1083487A2 (en) Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor
US8171259B2 (en) Multi-cluster dynamic reconfigurable circuit for context valid processing of data by clearing received data with added context change indicative signal
Talvala Designing the Port Interface Unit for the Lutonium Asynchronous Microcontroller

Legal Events

Date Code Title Description
MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): AM AZ BY KZ KG MD TJ TM

MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): RU