- Новосибирский государственный университет
- Факультет информационных технологий
- Словарь терминов в коллекции «Вычислительные системы»
- Ассоциативные вычислительные системы
- Способы организации высокопроизводительных процессоров. Ассоциативные процессоры. Конвейерные процессоры. Матричные процессоры
- Ассоциативные процессоры
- Конвейерные процессоры
- Матричные процессоры
- Способы организации высокопроизводительных процессоров. Ассоциативные процессоры. Конвейерные процессоры. Матричные процессоры
- Ассоциативные процессоры
- Конвейерные процессоры
- Матричные процессоры
Новосибирский государственный университет
Факультет информационных технологий
Словарь терминов в коллекции «Вычислительные системы»
Ассоциативные вычислительные системы
Ассоциативные вычислительные системы (ABC) — системы класса SIMD, в которых процессоры параллельно и однотипно обрабатывают множественные данные. Их основное отличие заключается в том, что обращение к данным производится по отличительным признакам, содержащимся в самих данных или в приданных этим данным дополнительных разрядах.
Как и в матричных системах, в ABC также множество процессорных элементов (ПЭ) параллельно по одной команде однотипно обрабатывают множественные данные. Однако в отличие от матричных систем обращение к данным производится не по адресам, где хранятся эти данные, а по отличительным признакам, содержащимся в самих данных или в приданных этим данным дополнительных разрядах. Такая возможность обеспечивается ассоциативными процессорами (АП), на базе которых строятся ABC.
Ассоциативным процессором называют специализированный процессор, реализованный на базе ассоциативного запоминающего устройства (АЗУ), где, как известно, доступ к информации осуществляется не по адресу операнда, а по отличительным признакам, содержащимся в самом операнде. От АЗУ традиционного применения ассоциативный процессор (АП) отличают две особенности: наличие средств обработки данных и возможность параллельной записи во все ячейки, для которых было зафиксировано совпадение с ассоциативным признаком. Последнее свойство АП известно как мультизапись .
Способ выполнения операций над словами позволяет определить четыре класса ассоциативных процессоров:
- параллельные;
- поразрядно-последовательные;
- пословно-последовательные;
- блочно-ориентированные.
Два последних класса не слишком перспективны для универсальных вычислений, и ориентированы в основном на задачи информационного поиска.
В качестве элементов обработки в параллельной ассоциативном процессоре используются многоразрядные процессорные элементы. Каждый ПЭ, работает со своим модулем ассоциативной памяти, и осуществляет поиск, а также арифметическую и логическую обработку m -разрядных слов. Пересылку выбранных по содержанию слов между АЗУ и ПЭ обеспечивают коммутирующие цепи. Процессорные элементы одновременно выполняют одну и ту же команду, поступающую из процессора управления. Кроме того, предусмотрена возможность обмена данными между модулями ассоциативной памяти и основной памятью, причем обращения по этому каналу производятся как и в обычной памяти — по адресам.
Параллельные АП по сравнению с другими классами ассоциативных процессоров обладают наиболее высоким быстродействием, однако это достигается за счет больших аппаратурных затрат.
Поразрядно-последовательные ассоциативные процессоры в настоящее время являются наиболее распространенными. Запоминающий массив ассоциативного процессора обычно представляет собой матрицу n × n 1-разрядных запоминающих элементов (ЗЭ). Считывание и запись информации могут производиться по двум срезам запоминающего массива — либо это все разряды одного слова, либо один и тот же разряд всех слов. Каждый разряд среза в АП снабжен собственным одноразрядным процессорным элементом, что позволяет между считыванием информации и ее записью производить необходимую обработку, то есть параллельно выполнять операции арифметического сложения, поиска, а также эмулировать многие черты матричных ВС, таких, например, как ILLIAC IV. Все ПЭ одновременно выполняют одну и ту же команду, поступающую из процессора управления. АП оперирует m ( m ≤ n ) разрядами среза, причем значение m устанавливается программистом. При необходимости выделения отдельных разрядов среза лишние позиции допустимо маскировать.
Входящий в ПЭ операционный блок представляет собой одноразрядное арифметико-логическое устройство с цепью переноса из младшего разряда в старший. Промежуточные результаты могут быть временно сохранены в регистре. Ассоциативный доступ к разрядам среза, выборку и сохранение данных в ассоциативной памяти, а также связь с процессором управления, откуда поступают команды для ПЭ, обеспечивает коммутирующая схема. Триггер маски используется для блокирования процессорного элемента. При нулевом его состоянии ПЭ не выполняет команду, поступившую одновременно на все процессорные элементы ассоциативного процессора. В целом, ПЭ реализует арифметические, логические, а также по¬исковые и системные операции.
Конструктивно поразрядно-последовательный ассоциативный процессор исполняется в виде матрицы, содержащей m процессорных элементов и ассоциативную память емкостью n × n битов.
Ассоциативные многопроцессорные системы
Ассоциативная вычислительная система (ABC) представляет собой многопроцессорную ВС, объединяющую множество ассоциативных процессоров, процессор управления, процессор ввода/вывода и основную память.
Программа для ABC хранится в основной памяти. В процессе реализации программы процессор управления выбирает из ОП очередную команду программы, декодирует ее и, если эта команда предполагает обработку ассоциативными процессорами, передает ее для параллельного выполнения во все ассоциативные процессоры, готовые к обработке. Кроме того, по ходу обработки процессор управления обеспечивает обмен данными между ассоциативной памятью каждого из АП и основной памятью системы. Связь ABC с внешними устройствами реализуется средствами процессора ввода/вывода. Следует подчеркнуть особую роль, которую в ABC исполняет процессор управления. Помимо уже отмеченных функций, на это устройство возлагаются задачи, которые в матричных ВС обычно выполняет фронтальная ВМ, в частности обеспечение трансляции программ, их редактирование, распараллеливание обработки данных и т.д.
- Цилькер Б.Я. Организация ЭВМ и систем: учебник для вузов / С.А. Орлов, Б.Я. Цилькер. — СПб.: Питер, 2011. — 688 с.
Литература
Источник
Способы организации высокопроизводительных процессоров. Ассоциативные процессоры. Конвейерные процессоры. Матричные процессоры
Существующие в настоящее время алгоритмы прикладных задач, системное программное обеспечение и аппаратные средства преимущественно ориентированы на традиционную адресную обработку данных . Данные должны быть представлены в виде ограниченного количества форматов (например, массивы, списки, записи), должна быть явно создана структура связей между элементами данных посредством указателей на адреса элементов памяти, при обработке этих данных должна быть выполнена совокупность операций, обеспечивающих доступ к данным по указателям. Такой подход обуславливает громоздкость операционных систем и систем программирования, а также служит препятствием к созданию вычислительных средств с архитектурой, ориентированной на более эффективное использование параллелизма обработки данных.
Ассоциативные процессоры
Ассоциативный способ обработки данных позволяет преодолеть многие ограничения, присущие адресному доступу к памяти, за счет задания некоторого критерия отбора и проведения необходимых преобразований, только над теми данными, которые удовлетворяют этому критерию . Критерием отбора может быть совпадение с любым элементом данных, достаточным для выделения искомых данных из всех имеющихся. Поиск данных может происходить по фрагменту, имеющему большую или меньшую корреляцию с заданным элементом данных.
Исследованы и в разной степени применяются несколько подходов, различающихся полнотой реализации модели ассоциативной обработки . Если реализуется только ассоциативная выборка данных с последующим поочередным использованием найденных данных, то говорят об ассоциативной памяти или памяти, адресуемой по содержимому. При достаточно полной реализации всех свойств ассоциативной обработки используется термин «ассоциативный процессор «.
Ассоциативные системы относятся к классу: один поток команд – множество потоков данных ( SIMD = Single Instruction Multiple Data ). Эти системы включают большое число операционных устройств, способных одновременно по командам управляющего устройства вести обработку нескольких потоков данных. В ассоциативных вычислительных системах информация на обработку поступает от ассоциативных запоминающих устройств (АЗУ), характеризующихся тем, что информация в них выбирается не по определенному адресу, а по ее содержанию.
Конвейерные процессоры
Процессоры современных компьютеров используют особенную технологию – конвейеры , которые позволяют обрабатывать более одной команды одновременно.
Обработка команды может быть разделена на несколько основных этапов, назовем их микрокомандами . Выделим основные пять микрокоманд :
- выборка команды;
- расшифровка команды;
- выборка необходимых операндов;
- выполнение команды;
- сохранение результатов.
Все этапы команды задействуются только один раз и всегда в одном и том же порядке: одна за другой. Это, в частности, означает, что если первая микрокоманда выполнила свою работу и передала результаты второй, то для выполнения текущей команды она больше не понадобится, и, следовательно, может приступить к выполнению следующей команды. Выделим каждую команду в отдельную часть устройства и расположим их в порядке выполнения. В первый момент времени выполняется первая микрокоманда . Она завершает свою работу и начинает выполняться вторая микрокоманда , в то время как первая готова для выполнения следующей инструкции. Первая инструкция может считаться выполненной, когда завершат работу все пять микрокоманд .
Такая технология обработки команд носит название конвейерной обработки. Каждая часть устройства называется ступенью конвейера , а общее число ступеней – длиной конвейера .
Во многих вычислительных системах наряду с конвейером команд используются и конвейеры данных .
Сочетание этих двух конвейеров позволяет достичь очень высокой производительности на определенных классах задач, особенно если используется несколько различных конвейерных процессоров, способных работать одновременно и независимо друг от друга.
Одной из наиболее высокопроизводительных вычислительных конвейерных систем считается СRАY. В этой системе конвейерный принцип обработки используется в максимальной степени. Имеется и конвейер команд, и конвейер арифметических и логических операций. В системе широко применяется совмещенная обработка информации несколькими устройствами. Максимальная пиковая производительность процессора может составлять 12 GFLOPS .
В настоящее время созданы однокристальные векторно-конвейерные процессоры, основными компонентами которых являются скалярный процессор и 8 идентичных векторных устройств, суммарная производительность которых составляет 64 GFLOPS . На их основе построена система SX-6 компании NEC.
Матричные процессоры
Наиболее распространенными из систем класса один поток команд – множество потоков данных ( SIMD ) являются матричные системы, которые лучше всего приспособлены для решения задач, характеризующихся параллелизмом независимых объектов или данных . Организация систем подобного типа, на первый взгляд, достаточно проста. Они имеют общее управляющее устройство , генерирующее поток команд и большое число процессорных элементов , работающих параллельно и обрабатывающих каждая свой поток данных. Таким образом, производительность системы оказывается равной сумме производительностей всех процессорных элементов . Однако на практике чтобы обеспечить достаточную эффективность системы при решении широкого круга задач, необходимо организовать связи между процессорными элементами с тем, чтобы наиболее полно загрузить их работой. Именно характер связей между процессорными элементами и определяет разные свойства системы.
Одним из первых матричных процессоров был SОLОМОN (60-е годы).
Система SOLOMON содержит 1024 процессорных элемента , которые соединены в виде матрицы: 32х32. Каждый процессорный элемент матрицы включает в себя процессор , обеспечивающий выполнение последовательных поразрядных арифметических и логических операций, а также оперативное ЗУ емкостью 16 Кбайт. Длина слова – переменная от 1 до 128 разрядов. Разрядность слов устанавливается программно. По каналам связи от устройства управления передаются команды и общие константы . В процессорном элементе используется так называемая многомодальная логика, которая позволяет каждому процессорному элементу выполнять или не выполнять общую операцию в зависимости от значений обрабатываемых данных. В каждый момент все активные процессорные элементы выполняют одну и ту же операцию над данными, хранящимися в собственной памяти и имеющими один и тот же адрес .
Идея многомодальности заключается в том, что в каждом процессорном элементе имеется специальный регистр на 4 состояния – регистр моды . Мода (модальность) заносится в этот регистр от устройства управления. При выполнении последовательности команд модальность передается в коде операции и сравнивается с содержимым регистра моды . Если есть совпадения, то операция выполняется. В других случаях процессорный элемент не выполняет операцию, но может, в зависимости от кода, пересылать свои операнды соседнему процессорному элементу . Такой механизм позволяет выделить строку или столбец процессорных элементов , что очень полезно при операциях над матрицами. Взаимодействуют процессорные элементы с периферийным оборудованием через внешний процессор .
Дальнейшим развитием матричных процессоров стала система ILLIАC-4, разработанная фирмой BURROUGHS. Первоначально система должна была включать в себя 256 процессорных элементов , разбитых на группы, каждый из которых должен управляться специальным процессором. Однако по различным причинам была создана система, содержащая одну группу процессорных элементов и управляющий процессор . Если в начале предполагалось достичь быстродействия 1 млрд. операций в секунду, то реальная система работала с быстродействием 200 млн. операций в секунду. Эта система в течение ряда лет считалась одной из самых высокопроизводительных в мире.
В начале 80-х годов в СССР была создана система ПС-2000, которая также является матричной. Основой этой системы является мультипроцессор ПС-2000, состоящий из решающего поля и устройства управления мультипроцессором. Решающее поле строится из одного, двух, четырех или восьми устройств обработки, в каждом из которых 8 процессорных элементов . Мультипроцессор из 64 процессорных элементов обеспечивает быстродействие 200 млн. операций в секунду на коротких операциях.
Источник
Способы организации высокопроизводительных процессоров. Ассоциативные процессоры. Конвейерные процессоры. Матричные процессоры
Существующие в настоящее время алгоритмы прикладных задач, системное программное обеспечение и аппаратные средства преимущественно ориентированы на традиционную адресную обработку данных . Данные должны быть представлены в виде ограниченного количества форматов (например, массивы, списки, записи), должна быть явно создана структура связей между элементами данных посредством указателей на адреса элементов памяти, при обработке этих данных должна быть выполнена совокупность операций, обеспечивающих доступ к данным по указателям. Такой подход обуславливает громоздкость операционных систем и систем программирования, а также служит препятствием к созданию вычислительных средств с архитектурой, ориентированной на более эффективное использование параллелизма обработки данных.
Ассоциативные процессоры
Ассоциативный способ обработки данных позволяет преодолеть многие ограничения, присущие адресному доступу к памяти, за счет задания некоторого критерия отбора и проведения необходимых преобразований, только над теми данными, которые удовлетворяют этому критерию . Критерием отбора может быть совпадение с любым элементом данных, достаточным для выделения искомых данных из всех имеющихся. Поиск данных может происходить по фрагменту, имеющему большую или меньшую корреляцию с заданным элементом данных.
Исследованы и в разной степени применяются несколько подходов, различающихся полнотой реализации модели ассоциативной обработки . Если реализуется только ассоциативная выборка данных с последующим поочередным использованием найденных данных, то говорят об ассоциативной памяти или памяти, адресуемой по содержимому. При достаточно полной реализации всех свойств ассоциативной обработки используется термин «ассоциативный процессор «.
Ассоциативные системы относятся к классу: один поток команд – множество потоков данных ( SIMD = Single Instruction Multiple Data ). Эти системы включают большое число операционных устройств, способных одновременно по командам управляющего устройства вести обработку нескольких потоков данных. В ассоциативных вычислительных системах информация на обработку поступает от ассоциативных запоминающих устройств (АЗУ), характеризующихся тем, что информация в них выбирается не по определенному адресу, а по ее содержанию.
Конвейерные процессоры
Процессоры современных компьютеров используют особенную технологию – конвейеры , которые позволяют обрабатывать более одной команды одновременно.
Обработка команды может быть разделена на несколько основных этапов, назовем их микрокомандами . Выделим основные пять микрокоманд :
- выборка команды;
- расшифровка команды;
- выборка необходимых операндов;
- выполнение команды;
- сохранение результатов.
Все этапы команды задействуются только один раз и всегда в одном и том же порядке: одна за другой. Это, в частности, означает, что если первая микрокоманда выполнила свою работу и передала результаты второй, то для выполнения текущей команды она больше не понадобится, и, следовательно, может приступить к выполнению следующей команды. Выделим каждую команду в отдельную часть устройства и расположим их в порядке выполнения. В первый момент времени выполняется первая микрокоманда . Она завершает свою работу и начинает выполняться вторая микрокоманда , в то время как первая готова для выполнения следующей инструкции. Первая инструкция может считаться выполненной, когда завершат работу все пять микрокоманд .
Такая технология обработки команд носит название конвейерной обработки. Каждая часть устройства называется ступенью конвейера , а общее число ступеней – длиной конвейера .
Во многих вычислительных системах наряду с конвейером команд используются и конвейеры данных .
Сочетание этих двух конвейеров позволяет достичь очень высокой производительности на определенных классах задач, особенно если используется несколько различных конвейерных процессоров, способных работать одновременно и независимо друг от друга.
Одной из наиболее высокопроизводительных вычислительных конвейерных систем считается СRАY. В этой системе конвейерный принцип обработки используется в максимальной степени. Имеется и конвейер команд, и конвейер арифметических и логических операций. В системе широко применяется совмещенная обработка информации несколькими устройствами. Максимальная пиковая производительность процессора может составлять 12 GFLOPS .
В настоящее время созданы однокристальные векторно-конвейерные процессоры, основными компонентами которых являются скалярный процессор и 8 идентичных векторных устройств, суммарная производительность которых составляет 64 GFLOPS . На их основе построена система SX-6 компании NEC.
Матричные процессоры
Наиболее распространенными из систем класса один поток команд – множество потоков данных ( SIMD ) являются матричные системы, которые лучше всего приспособлены для решения задач, характеризующихся параллелизмом независимых объектов или данных . Организация систем подобного типа, на первый взгляд, достаточно проста. Они имеют общее управляющее устройство , генерирующее поток команд и большое число процессорных элементов , работающих параллельно и обрабатывающих каждая свой поток данных. Таким образом, производительность системы оказывается равной сумме производительностей всех процессорных элементов . Однако на практике чтобы обеспечить достаточную эффективность системы при решении широкого круга задач, необходимо организовать связи между процессорными элементами с тем, чтобы наиболее полно загрузить их работой. Именно характер связей между процессорными элементами и определяет разные свойства системы.
Одним из первых матричных процессоров был SОLОМОN (60-е годы).
Система SOLOMON содержит 1024 процессорных элемента , которые соединены в виде матрицы: 32х32. Каждый процессорный элемент матрицы включает в себя процессор , обеспечивающий выполнение последовательных поразрядных арифметических и логических операций, а также оперативное ЗУ емкостью 16 Кбайт. Длина слова – переменная от 1 до 128 разрядов. Разрядность слов устанавливается программно. По каналам связи от устройства управления передаются команды и общие константы . В процессорном элементе используется так называемая многомодальная логика, которая позволяет каждому процессорному элементу выполнять или не выполнять общую операцию в зависимости от значений обрабатываемых данных. В каждый момент все активные процессорные элементы выполняют одну и ту же операцию над данными, хранящимися в собственной памяти и имеющими один и тот же адрес .
Идея многомодальности заключается в том, что в каждом процессорном элементе имеется специальный регистр на 4 состояния – регистр моды . Мода (модальность) заносится в этот регистр от устройства управления. При выполнении последовательности команд модальность передается в коде операции и сравнивается с содержимым регистра моды . Если есть совпадения, то операция выполняется. В других случаях процессорный элемент не выполняет операцию, но может, в зависимости от кода, пересылать свои операнды соседнему процессорному элементу . Такой механизм позволяет выделить строку или столбец процессорных элементов , что очень полезно при операциях над матрицами. Взаимодействуют процессорные элементы с периферийным оборудованием через внешний процессор .
Дальнейшим развитием матричных процессоров стала система ILLIАC-4, разработанная фирмой BURROUGHS. Первоначально система должна была включать в себя 256 процессорных элементов , разбитых на группы, каждый из которых должен управляться специальным процессором. Однако по различным причинам была создана система, содержащая одну группу процессорных элементов и управляющий процессор . Если в начале предполагалось достичь быстродействия 1 млрд. операций в секунду, то реальная система работала с быстродействием 200 млн. операций в секунду. Эта система в течение ряда лет считалась одной из самых высокопроизводительных в мире.
В начале 80-х годов в СССР была создана система ПС-2000, которая также является матричной. Основой этой системы является мультипроцессор ПС-2000, состоящий из решающего поля и устройства управления мультипроцессором. Решающее поле строится из одного, двух, четырех или восьми устройств обработки, в каждом из которых 8 процессорных элементов . Мультипроцессор из 64 процессорных элементов обеспечивает быстродействие 200 млн. операций в секунду на коротких операциях.
Источник