RU2042980C1 - Векторный ускоритель - Google Patents

Векторный ускоритель Download PDF

Info

Publication number
RU2042980C1
RU2042980C1 RU92012207A RU92012207A RU2042980C1 RU 2042980 C1 RU2042980 C1 RU 2042980C1 RU 92012207 A RU92012207 A RU 92012207A RU 92012207 A RU92012207 A RU 92012207A RU 2042980 C1 RU2042980 C1 RU 2042980C1
Authority
RU
Russia
Prior art keywords
address
arithmetic
unit
input
output
Prior art date
Application number
RU92012207A
Other languages
English (en)
Other versions
RU92012207A (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
Application filed by Общество с ограниченной ответственностью "Динамичная Россия", Научно-производственный центр "Памир", Товарищество с ограниченной ответственностью "Научно-внедренческое предприятие "ИнИТ" filed Critical Общество с ограниченной ответственностью "Динамичная Россия"
Priority to RU92012207A priority Critical patent/RU2042980C1/ru
Application granted granted Critical
Publication of RU2042980C1 publication Critical patent/RU2042980C1/ru
Publication of RU92012207A publication Critical patent/RU92012207A/ru

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

Изобретение относится к компьютерной технике и может быть использовано при производстве векторных устройств, обеспечивающих высокое быстродействие векторных операций. Векторный ускоритель состоит из блока управления, связанного с блоком формирования адресов, выполненным в виде группы из трех адресных узлов. Блок оперативной памяти предназначен для хранения исходных векторов и результатов выполнения операций. Количество адресных блоков определяет быстродействие блока оперативной памяти. Арифметический блок включает входные регистры, многовходовое АЛУ и выходной регистр. Число входных регистров и входов АЛУ равно количеству адресных блоков. За один такт работы арифметического блока АЛУ должен выполнять три операции: две операции чтения и одну записи. 2 з.п. ф-лы, 4 ил.

Description

Изобретение относится к компьютерной технике и может быть использовано в качестве сопроцессора для персональных компьютеров с целью повышения их производительности при выполнении векторных операций.
Известно арифметическое устройство [1] для выполнения параллельных вычислений векторных величин, содержащее три блока векторных регистров, соединенных с тремя блоками формирования адресов, причем блоки векторных регистров соединены с двумя арифметическими блоками, каждый из которых содержит умножитель, АЛУ и регистр.
Недостатком данного устройства являются больше потери времени на перезагрузку векторных регистров из внешней памяти.
Наиболее близким по технической сущности решением к предложенному является векторный процессор [2] содержащий арифметический блок, блок векторных регистров, ОЗУ данных, адресное АЛУ и блок управления, соединенный с ОЗУ данных и адресным АЛУ.
Известное устройство не обеспечивает высокого быстродействия вследствие затрат времени на загрузку векторных регистров из ОЗУ данных и загрузку в него результатов выполнения векторных операций.
Предлагаемое техническое решение позволяет повысить быстродействие за счет исключения потерь на перезагрузку векторных регистров, так как в предлагаемом устройстве использованы вместо векторных регистpов дополнительные блоки формирования адресов и быстродействующая память.
На фиг. 1 показана структурная схема векторного ускорителя; на фиг. 2 структура адресного узла; на фиг. 3 структура арифметического блока; на фиг. 4 временная диаграмма работы ускорителя.
Векторный ускоритель содержит блок 1 управления, блок 2 формирования адреса, состоящий из группы адресных узлов 3, блок 4 оперативной памяти (БОП) и арифметический блок 5.
Адресный узел (фиг. 2) содержит арифметико-логическое устройство (АЛУ) 6, регистр 7 адреса и регистр 8 инкремента.
Арифметический блок 5 (фиг. 3) содержит группу регистров 9, арифметико-логическое устройство 10 и выходной регистр 11.
Число входных регистров 9 и входов АЛУ равно количеству адресных блоков 3.
Рассмотрим работу векторного ускорителя, имеющего, например, три адресных узла 3: два из них адресуют элементы двух исходных векторов и один элемент результирующего вектора. В общем случае количество адресных узлов 3 в векторном ускорителе должно быть на единицу больше числа исходных векторов, участвующих в многоместных операциях. Кроме того, их количество определяет быстродействие блока 4 оперативной памяти. В рассматриваемом случае блок 4 оперативной памяти за один такт работы арифметического блока 5 должен выполнять три операции: две операции чтения и одну записи.
Описывая работу векторного ускорителя, предположим, что исходные векторы уже расположены в блоке 4 оперативной памяти. Они могли быть загружены перед началом работы или находится там в результате промежуточных вычислений.
Перед началом работы ускорителя в блок 1 управления загружается код операции выполняемой векторной команды, в регистры 7 адреса через регистры 8 инкремента начальные адреса, а в регистры 8 инкремента шаги между элементами исходных векторов.
Работа ускорителя поясняется временной диаграммой, приведенной на фиг. 4, на примере выполнения операции сложения двух векторов С А + В, где Аa1 a2 a3 a4} и Вb1 b2 b3 b4} исходные вектора, Сc1 c2 c3 c4} результирующий вектор, АБ1, АБ2, АБ3 выходы адресных АЛУ соответствующих адресных узлов, Чт операция чтения элемента вектора из блока оперативной памяти, БОП выход блока оперативной памяти, АЛУ выход арифметического блока.
Работу ускорителя можно разделить на три этапа. На первом выполняется разгон конвейера (такт 1). В такте 1 производится чтение из блока оперативной памяти элементов а1 и b1 по адресам, загруженным в регистры адресов адресных узлов при начальной загрузке.
На втором этапе арифметический блок полностью загружен выполнением операций с элементами вектором (такт 2 такт 4). В тактах 3 и 4 полностью загружен работой блок оперативной памяти.
На третьем этапе (такт 6) результат выполнения последней операции с4 записывается в блок оперативной памяти.
Время выполнения операции над двумя векторами в предлагаемом устройстве можно оценить по формуле:
t1 n + 2 тактов, где n число элементов вектора.
В прототипе это время составит:
t2 4n, где 3n тактов затрачивается на загрузку двух блоков векторных регистров исходными векторами и запись вектора результатов из третьего блока векторных регистров в блок оперативной памяти, n тактов на выполнение операции.
Техническая реализация векторного ускорителя может быть выполнена на стандартных микросхемах серии 1533, 132 и 1804; адресный узел на микросхемах 1533 ИР 22 (РИ, РА), 1533 ИПБ (АЛУ); блок оперативной памяти на микросхемах 132 РУ 10; арифметический блок на микросхемах 1804 ВС1 (АЛУ), 1533 ИР 22 (регистры); блок управления на микросхемах 1533 ИР 22 (регистр команд, регистр микрокоманд), 1804 ВУ 4(генератор адресов микрокоманд), 566 РТ 7 (память микрокоманд).

Claims (3)

1. ВЕКТОРНЫЙ УСКОРИТЕЛЬ, содержащий блок оперативной памяти, арифметический блок, блок формирования адреса, выход которого соединен с адресным входом блока оперативной памяти, выход которого является выходом ускорителя, блок управления, первый, второй и третий выходы которого соединены с синхровходами блока формирования адреса, арифметического блока и блока оперативной памяти, отличающийся тем, что блок формирования адреса выполнен в виде группы n + 1 адресных узлов (n количество исходных векторов), входы которых являются адресными входами ускорителя, а выходы объединены и подключены к выходу блока формирования адреса, синхровход блока формирования адреса соединен с синхровходами всех адресных узлов, выход блока оперативной памяти соединен с информационным входом арифметического блока, управляющий и информационный выходы которого подключены соответственно к входу блока управления и входу данных блока оперативной памяти.
2. Ускоритель по п. 1, отличающийся тем, что каждый адресный узел содержит регистр инкремента, регистр адреса и арифметико-логическое устройство, причем информационный вход регистра инкремента соединен с входом узла, а выход с первым входом арифметико-логического устройства, второй вход которого соединен с выходом регистра адреса, информационный вход которого соединен с выходом арифметико-логического устройства, а выход является выходом узла, синхровход узла является синхровходом регистров адреса и инкремента.
3. Ускоритель по п. 1, отличающийся тем, что адресный узел выполнен в виде счетчика.
RU92012207A 1992-12-15 1992-12-15 Векторный ускоритель RU2042980C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU92012207A RU2042980C1 (ru) 1992-12-15 1992-12-15 Векторный ускоритель

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU92012207A RU2042980C1 (ru) 1992-12-15 1992-12-15 Векторный ускоритель

Publications (2)

Publication Number Publication Date
RU2042980C1 true RU2042980C1 (ru) 1995-08-27
RU92012207A RU92012207A (ru) 1996-08-27

Family

ID=20133686

Family Applications (1)

Application Number Title Priority Date Filing Date
RU92012207A RU2042980C1 (ru) 1992-12-15 1992-12-15 Векторный ускоритель

Country Status (1)

Country Link
RU (1) RU2042980C1 (ru)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1. Заявка Японии N 2-150961, кл. G 06F 15/347, 1990. *
2. Электроника, 1986, N 8, с.43-46. *

Similar Documents

Publication Publication Date Title
US4974146A (en) Array processor
EP0102242B1 (en) Data processing apparatus
CA1175576A (en) Data processing system for vector operations
US4553203A (en) Easily schedulable horizontal computer
JP2966085B2 (ja) 後入れ先出しスタックを備えるマイクロプロセッサ、マイクロプロセッサシステム、及び後入れ先出しスタックの動作方法
CN114391135A (zh) 用于对连续分配数据执行存储器内处理操作的方法及相关存储器装置和系统
CA1119731A (en) Multibus processor for increasing execution speed using a pipeline effect
US3943494A (en) Distributed execution processor
US3771141A (en) Data processor with parallel operations per instruction
Sidhu et al. String matching on multicontext FPGAs using self-reconfiguration
JPH07122853B2 (ja) コンピュータ及び命令処理方法
EP3997563A1 (en) Methods for performing processing-in-memory operations, and related memory devices and systems
JP2008181551A (ja) ベクトルレジスタを備えたコンピュータにおけるベクトルテールゲーティング
US5119324A (en) Apparatus and method for performing arithmetic functions in a computer system
US4958274A (en) System with a N stages timing silo and P stages information silo for soloing information
RU2042980C1 (ru) Векторный ускоритель
Martin Tomorrow's Digital Hardware will be Asynchronous and Veri ed1
US5875323A (en) Processor using implicit register addressing
Lourie et al. Arithmetic and control techniques in a multiprogram computer
US4866608A (en) Microprocessor with improved execution of instructions
JP2654451B2 (ja) データ出力方法
JP3278441B2 (ja) ベクトル処理装置
JPH05150949A (ja) デイジタル乗算実行方法および装置
JP3441847B2 (ja) データメモリを有するプロセッサ
KR100246465B1 (ko) 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법