Многопроцессорная векторная эвм
Изобретение относится к вычислительной технике, точнее к построению многопроцессорных векторных ЭВМ. Многопроцессорная векторная ЭВМ содержит один или несколько одинаковых конвейерных арифметических процессоров. Арифметический процессор содержит несколько типовых арифметических схем и коммутаторы. Ариф- метический процессор с помощью одних и тех же суммирующих и множительных N - разрядных арифметических схем выполняет операции сложения и умножения над действительными 2 N -разрядными операндами и операции сложения и умножения над комплексными числами. 13 ил., 3 табл.
Изобретение относится к вычислительной технике, а более точно к высокопроизводительным ЭВМ, предназначенным для обработки информации, в том числе сигнальной, в реальном масштабе времени.
Для таких ЭВМ характерна многоформатность обрабатываемой информации: целочисленный 16-разрядный формат со знаком или без, 32-разрядный формат с фиксированной и плавающей запятой, формат с плавающей запятой с удвоенной точностью (два 32-разрядных числа в форме с плавающей запятой, порядки которых отличаются на число разрядов в мантиссе), комплексные форматы чисел (например, действительная и мнимая части комплексного числа изображаются 32-разрядными числами в форме с плавающей запятой. Для достижения повышенной производительности в таких ЭВМ часто используются многопроцессорные структуры, причем наибольшей эффективностью по критерию производительность-стоимость здесь обладают многопроцессорные векторные структуры (типа ОКМД). Максимальное количество оборудования, которое можно использовать для создания ЭВМ, ограничено и определяется надежностью технической базы, при этом пиковая производительность пропорциональна среднему объему обрабатывающего оборудования по всем форматам. Ближайший аналог (прототип) предлагаемого изобретения, ЭВМ М-13, содержит центральную процессорную часть, подсистему ввода-вывода и процессор обработки функций, подключенные через многосвязный 64-байтовый интерфейс к главной внутренней памяти (оперативной и постоянной), а также центральный управляющий процессор, подключенный через многосвязный 8-байтовый управляющий интерфейс ко всем перечисленным подсистемам. Центральная процессорная часть содержит векторное арифметическое устройство, состоящее из 16 многоформатных конвейерных арифметических процессоров, выполняющих в каждом машинном такте одну и ту же операцию с учетом маски и длины обрабатываемого вектора. Каждый арифметический процессор выполняет операции над 1-, 2- и 4-байтовыми операндами, причем в одной операции обрабатывается четыре пары однобайтовых операндов; две пары двухбайтовых операндов или одна пара четырехбайтовых операндов. Четырехбайтовые операнды существуют в форме как с фиксированной, так и с плавающей запятой. Арифметические операции с двойной точностью выполняются с помощью подпрограмм, содержащих от 8 до 25 команд в зависимости от кода операции и точности результата. Процессор обработки функции также включает векторные арифметические устройства, содержащие по 16 арифметических конвейерных процессоров "когерентной обработки", выполняющих в качестве базовой операции двухточечное преобразование Фурье с комплексными операндами в форме с поблочно-плавающей запятой, причем комплексное число представлено в 32-разрядном формате. Синхронизация обработки информации осуществляется с помощью центрального управляющего процессора. В первом такте макроконвейера абоненты реального времени осуществляют ввод информации от объекта управления: сопрягающие процессоры подсистемы ввода-вывода через программируемые абонентские интерфейсы накапливают в своей оперативной памяти 64-байтовые вектора данных и пересылают их в главную внутреннюю память ЭВМ. Адресация главной внутренней памяти осуществляется с точностью до байта, а формат обращения к ней может изменяться от одного до 64 байтов. Один из сопрягающих процессоров получает и обрабатывает сигналы синхронизации. Начало второго такта он сигнализирует по управляющему интерфейсу в центральный управляющий процессор, а тот, в свою очередь, - процессору обработки функций. Процессор обработки функций перекачивает принятый кадр информации в свою память, выполняет сигнальную обработку, результаты помещает в главную оперативную память и сигнализирует завершение по управляющему интерфейсу. Процесс сигнальной обработки может попеременно выполняться на процессоре обработки функций и центральной процессорной части, что потребует дополнительной синхронизации программ. К началу третьего такта макроконвейера сигнальная обработка должна быть завершена и по сигналу центральная процессорная часть начинает вторичную обработку и возможно подготовку выходного кадра, который в четвертом такте может быть передан соответствующему абоненту. Такая структура ЭВМ и соответствующий ей способ обработки сигнальной информации имеет ряд недостатков; - операции с двойной точностью выполняются по подпрограммам и имеют производительность на порядок ниже, чем другие операции списка команд; - форматы комплексных чисел, обрабатываемых процессором обработки функций, не соответствуют форматам информации, обрабатываемой центральной процессорной частью, что требует дополнительных затрат производительности для преобразования форматов; - процесс сигнальной обработки попеременно выполняется на процессоре обработки функций и на центральной процессорной части, что приводит и дополнительным потерям производительности на синхронизации: - оперативная память процессора обработки функций недоступна другим процессорам; - наличие двух типов процессоров при реализации структуры ЭВМ на высокоинтегрированной элементной базе потребует увеличенной номенклатуры больших интегральных схем. Предлагаемое изобретение позволяет устранить перечисленные недостатки. Идея данного изобретения заключается в том, чтобы использовать то обстоятельство, что формат 32-разрядного числа с двойной точностью и комплексный формат, когда действительная и мнимая его части изображаются в виде 32-разрядных чисел в формате с плавающей запятой, совпадают, применить для выполнения арифметических операций с двойной точностью аппаратный конвейер, реализующий подпрограмму двойной точности, и на той же аппаратуре реализовать операции над комплексными числами, включая двухточечное преобразование Фурье, и арифметические операции с 32-разрядными и 16-разрядными числами. В этом случае векторное арифметическое устройство будет содержать восемь многоформатных арифметических процессоров, каждый из которых будет выполнять в каждом такте конвейера одну операцию с двойной точностью, одну операцию с комплексными операндами (включая двухточечное преобразование Фурье), две арифметические операции над 32-разрядными числами, четыре - над 16-разрядными. Такое расширение списка операций центральной процессорной части позволит выполнять на ней обработку кадра информации от начала до конца с автоматической синхронизацией на одном процессоре, без потерь на преобразование форматов, используя общую оперативную память, причем операции с двойной точностью будут выполняться с тем же темпом. Это позволит исключить из состава ЭВМ процессор обработки функций и подключить вместо него вторую центральную процессорную часть. При реализации такой структуры на высокоинтегрированной элементной базе потребное число типов больших интегральных схем существенно сокращается. Сущность изобретения заключается в том, что многопроцессорная векторная ЭВМ содержит векторную главную внутреннюю память, центральный управляющий процессор, подсистему ввода-вывода и по крайней мере одну центральную процессорную часть, включающую векторное арифметическое устройство, содержащее 2m (m = 0, 1 ..) многоформатных конвейерных арифметических процессоров, каждый из которых содержит узел управления, регистровую память и конвейерное арифметическое устройство и выполняет одновременно с учетом маски операции и длины обрабатываемого вектора две или четыре одно-, двух- или трехместные арифметико-логические операции над N- или N/2-разрядными операндами, соответственно. Многопроцессорная векторная ЭВМ отличается тем, что конвейерное арифметическое устройство для выполнения в каждом многоформатном конвейерном арифметическом процессоре указанных операций, а также для аппаратного выполнения арифметико-логических операций над действительными 2N-разрядными операндами из старших и младших N-разрядных частей или арифметических операций над комплексными операндами из N-разрядных вещественных и мнимых частей, содержит три 2N-разрядных информационных входа, с первого по третий, разделенных каждый на N-разрядные старшую и младшую части, и два 2N-разрядных информационных выхода, первый и второй, разделенных каждый на N-разрядные старшую и младшую части, тринадцать N-разрядных арифметических схем, с первой по тринадцатую, каждая из которых имеет первые и вторые N-разрядные информационные входы, и по одному информационному N-разрядному выходу,и связь коммутаторов с первого по седьмой,
причем
арифметические схемы с первой по четвертую одинаковы и являются множительными устройствами, арифметические схемы с пятой по тринадцатую одинаковы и являются суммирующими устройствами,
первый коммутатор имеет четыре N-разрядных выхода, с первого по четвертый, второй коммутатор имеет три N-разрядных выхода, с первого по третий, третий коммутатор имеет три N-разрядных входа с первого по третий, четвертый коммутатор имеет два N-разрядных входа, пятый коммутатор имеет три N-разрядных входа, с первого по третий, шестой коммутатор имеет четыре N-разрядных входа, с первого по четвертый, седьмой коммутатор имеет четыре N-разрядных входа, с первого по четвертый,
первый и второй входы многоформатного конвейерного арифметического процессора подсоединены к первому коммутатору, второй и третий входы многоформатного конвейерного арифметического процессора подсоединены к второму коммутатору, старшая часть первого входа многоформатного конвейерного арифметического процессора подсоединена к первым входам одиннадцатой и двенадцатой арифметических схем и первому входу пятого коммутатора, младшая часть первого входа многоформатного конвейерного арифметического процессора подсоединена к первым входам седьмой и тринадцатой арифметических схем,
выходы первого коммутатора, с первого по четвертый, подсоединены соответственно к первым входам арифметических схем с первой по четвертую, первый выход второго коммутатора подсоединен к вторым входам первой, четвертой, одиннадцатой и двенадцатой арифметических схем, второй выход второго коммутатора подсоединен к вторым входам третьей и тринадцатой арифметических схем, третий выход второго коммутатора подсоединен к второму входу второй арифметической схемы,
выход первой арифметической схемы подсоединен к первому входу третьего коммутатора и второму входу пятого коммутатора, выход второй арифметической схемы подсоединен к первому входу четвертого коммутатора, выход третьей арифметической схемы подсоединен к первому входу пятой арифметической схемы, выход четвертой арифметической схемы подсоединен к второму входу пятой арифметической схемы, выход пятой арифметической схемы подсоединен к третьим входам третьего и седьмого коммутаторов и вторым входам седьмой и восьмой арифметических схем, выход шестой арифметической схемы подсоединен к вторым входам девятой и десятой арифметических схем и к третьему входу шестого коммутатора, выход седьмой арифметической схемы подсоединен к младшей части второго выхода многоформатного конвейерного арифметического процессора, выход восьмой арифметической схемы подсоединен к второму входу седьмого коммутатора, выход девятой арифметической схемы подсоединен к первому входу седьмого коммутатора и старшей части второго выхода многоформатного конвейерного арифметического процессора, выход десятой арифметической схемы подсоединен к второму входу шестого коммутатора, выход одиннадцатой арифметической схемы подсоединен к третьему входу пятого коммутатора, выход двенадцатой арифметической схемы подсоединен к второму входу третьего коммутатора и четвертому входу шестого коммутатора, выход тринадцатой арифметической схемы подсоединен к второму входу четвертого коммутатора и четвертому входу седьмого коммутатора,
выход третьего коммутатора подсоединен к второму входу шестой арифметической схемы, выход четвертого коммутатора подсоединен к первому входу шестой арифметической схемы, выход пятого коммутатора подсоединен к первым входам девятой и десятой арифметических схем, выход шестого коммутатора подсоединен к старшей части первого выхода многоформатного конвейерного арифметического процессора, выход седьмого коммутатора подсоединен к младшей части первого выхода многоформатного конвейерного арифметического процессора. Следует пояснить, что операции над 2N-разрядными комплексными операндами, включая операции двухточечного преобразования Фурье, и операции сложения и умножения над 2N-разрядными операндами выполняются на нескольких N-разрядных множительных и суммирующих устройствах, что позволяет использовать в конвейерном арифметическом устройстве одну и ту же аппаратуру для выполнения всех указанных операций и применить ограниченное количество указанных множительных и суммирующих устройств, которые могут быть реализованы, например, в виде больших интегральных схем (БИС) всего двух типов. Далее в описании предполагается, что N-разрядные множительные и суммирующие устройства выполнены в виде БИС, хотя это не принципиально. В состав операций с комплексными числами входит операция двухточечного преобразования Фурье, которая представляет собой операцию A+/-P

Многопроцессорная векторная ЭВМ на фиг.1 содержит центральный управляющий процессор 1, две одинаковые центральные процессорные части 2 и 3 (может быть одна или больше двух), подсистему ввода-вывода 4 и векторную главную внутреннюю память 5 (ГВП). Подсистемы 1 - 4 ЭВМ связаны с векторной ГВП 5 с помощью многосвязного широкоформатного информационного интерфейса 6, включающего информационные шины и шины адресных требований. Формат информационных шин интерфейса векторной главной внутренней памяти 5, как правило, равен 2N



первый 2N-разрядный информационный вход 19, разделенный на N-разрядную старшую 20 и младшую часть 21;
второй 2N-разрядный информационный вход 22, разделенный на N-разрядную старшую 23 и младшую часть 24;
третий 2N-разрядный информационный вход 25, разделенный на N-разрядную старшую 26 и младшую часть 27. Кроме того, КАУ содержит:
первый 2N-разрядный информационный выход 28, разделенный на N-разрядную старшую 29 и младшую часть 30;
второй 2N-разрядный информационный выход 31, разделенный на N-разрядную старшую 32 и младшую часть 33. Кроме того, КАУ содержит:
первую N-разрадную АС (Б1) 34, которая имеет первый 35 и второй 36 N-разрядные информационные входы, и один информационный N-разрядный выход 37;
вторую N-разрядную АС (Б2) 38, которая имеет первый 39 и второй 40 N-разрядные информационные входы, и один информационный N-разрядный выход 41;
третью N-разрядную АС (Б3) 42, которая имеет первый 43 и второй 44 N-разрядные информационные входы, и один информационный N-разрядный выход 45;
четвертую N-разрядную АС (Б4) 46, которая имеет первый 47 и второй 48 N-разрядные информационные входы, и один информационный N-разрядный выход 49. (АС с первой 34 по четвертую 46 одинаковы и являются множительными устройствами). Кроме того, КАУ содержит:
пятую N-разрядную АС (Б5), которая имеет первый 51 и второй 52 N-разрядный информационные входы, и один информационный N-разрядный выход 53;
шестую N-разрядную АС (Б6) 54, которая имеет первый 55 и второй 56 N-разрядные информационные входы, и один информационный N-разрядный выход 57;
седьмую N-разрядную АС (Б7) 58, которая имеет первый 59 и второй 60 N-разрядные информационные входы, и один информационный N-разрядный выход 61;
восьмую N-разрядную АС (Б8) 62, которая имеет первый 63 и второй 64 N-разрядные информационные входы, и один информационный N-разрядный выход 65;
девятую N-разрядную АС (Б9) 66, которая имеет первый 67 и второй 68 N-разрядные информационные входы, и один информационный N-разрядный выход 69;
десятую N-разрядную АС (Б10) 70, которая имеет первый 71 и второй 72 N-разрядные информационные входы, и один информационный N-разрядный выход 73;
одиннадцатую N-разрядную АС (Б11) 74, которая имеет первый 75 и второй 76 T-разрядные информационные входы, и один информационный N-разрядный выход 77;
двенадцатую N-разрядную АС (Б12) 78, которая имеет первый 79 и второй 80 N-разрядные информационные входы, и один информационный N-разрядный выход 81;
тринадцатую N-разрядную АС (Б13) 82, которая имеет первый 83 и второй 84 N-разрядные информационные входы, и один информационный N-разрядный выход 85. (АС с пятой по тринадцатую одинаковы и являются суммирующими устройствами). Кроме того, КАУ содержит:
первый коммутатор (КМ1) 86, который имеет четыре N-разрядных выхода, первый 87, второй 88, третий 89 и четвертый 90;
второй коммутатор (КМ2) 91, который имеет три N-разрядных выхода, первый 92, второй 93, третий 94;
третий коммутатор (КМ3) 95, который имеет три N-разрядных входа, первый 96, второй 97, и третий 98;
четвертый коммутатор (КМ4) 99, который имеет два N-разрядных входа, первый 100 и второй 101;
пятый коммутатор (КМ5) 102 имеет три N-разрядных входа, первый 103, второй 104, и третий 105;
шестой коммутатор (КМ6) 106 имеет четыре N-разрядных входа, первый 107, второй 108, третий 109 и четвертый 110;
седьмой коммутатор (КМ7) 111 имеет четыре N-разрядных входа, первый 112, второй 113, третий 114 и четвертый 115. Первый 19 и второй 22 входы КАУ подсоединены к первому коммутатору 86, второй 22 и третий 25 входы КАУ подсоединены к второму коммутатору 91, старшая часть 20 первого входа КАУ подсоединена к первому входу 75 одиннадцатой 74 АС, к первому входу 79 двенадцатой АС 78 и первому входу 103 пятого коммутатора 102, младшая часть 21 первого входа КАУ подсоединена к первому входу 59 седьмой АС 58, к первому входу 63 восьмой АС 62 и к первому входу 83 тринадцатой АС 82. Выходы 87, 88, 89, 90 первого коммутатора 86 соединены соответственно с первыми входами 35, 39, 43, 47 первой 34, второй 38, третьей 42 и четвертой 46 АС. Первый выход 92 второго коммутатора 91 подсоединен к второму входу 36 первой АС 34, к второму входу 48 четвертой АС 46, к второму входу 76 одиннадцатой АС 74 и к второму входу 80 двенадцатой АС 78. Второй выход 93 второго коммутатора 91 подсоединен к второму входу 44 третьей АС 42 и к второму входу 84 тринадцатой АС 82. Третий выход 94 второго коммутатора 91 подсоединен к второму входу 40 второй АС 38. Выход 37 первой АС 34 подсоединен к первому входу 96 третьего коммутатора 95 и второму входу 104 пятого коммутатора 102. Выход 41 второй АС 38 подсоединен к первому входу 100 четвертого коммутатора 99. Выход 45 третьей АС 42 подсоединен к первому входу 51 АС 50. Выход 49 четвертой АС 46 подсоединен к второму входу 52 пятой АС 50. Выход 53 пятой АС 50 подсоединен к третьему входу 98 третьего коммутатора 95, к третьему входу 114 седьмого коммутатора 111, второму входу 60 седьмой АС 58 и второму входу 64 восьмой АС 62. Выход 57 шестой АС 54 подсоединен к второму входу 68 девятой АС 66, второму входу 72 десятой АС 70 и к третьему входу 109 шестого коммутатора 106. Выход 61 седьмой АС 58 подсоединен к младшей части 33 второго выхода 31 КАУ. Выход 65 восьмой АС 62 подсоединен к второму входу 113 седьмого коммутатора 111. Выход 69 девятой АС 66 подсоединен к первому входу 112 седьмого коммутатора 111 и старшей части 32 второго выхода 31 КАУ. Выход 73 десятой АС 70 подсоединен к второму входу 108 шестого коммутатора 106. Выход 77 одиннадцатой АС 74 подсоединен к третьему входу 105 пятого коммутатора 102. Выход 81 двенадцатой АС 78 подсоединен к второму входу 97 третьего коммутатора 95 и четвертому входу 110 шестого коммутатора 106. Выход 85 тринадцатой АС 82 подсоединен к второму входу 101 четвертого коммутатора 99 и четвертому входу 115 седьмого коммутатора 111. Выход третьего коммутатора 95 подсоединен к второму входу 56 шестой АС 54. Выход четвертого коммутатора 99 подсоединен к первому входу 55 шестой АС 54. Выход пятого коммутатора 102 подсоединен к первому входу 67 девятой АС 66 и к первому входу 71 десятой АС. Выход шестого коммутатора 106 подсоединен к старшей части 29 первого выхода 28 КАУ. Выход седьмого коммутатора 111 подсоединен к младшей части 30 первого выхода 28 АП. Каждый коммутатор и каждая АС имеют, кроме перечисленных, входы управления и входы синхронизации, о которых будет сказано ниже. АП содержит также регистровую память (не показана), представляющую собой многопортовую сверхоперативную память. Результаты операции с выхода 31 КАУ 18 поступают в регистровую память. На фиг. 5 показан узел управления (УУ) 116 арифметического процессора, содержащий восемь регистров: первый 117, второй 118, третий 119, четвертый 120, пятый 121, шестой 122, седьмой 123 и восьмой 124. Кроме того, УУ содержит комбинационную логическую схему (КЛС) 125, вход кода операции 126 и вход управления 127 для выбора операндов, участвующих в операции, из операндов, поступающих на входы 22 и 25 АП. Операнд, поступающий на вход 19 участвует в каждый операции. Входы 126 и 127 УУ подключены к первому регистру 117 УУ. Выходы каждого регистра с первого 117 по седьмой 123 соединены с входом следующего по номеру регистра (соответственно) и с соответствующими входами КЛС 125. Выход последнего восьмого регистра 124 соединен только с соответствующим входом КЛС 125. Выходы КЛС с первого (128) по двадцатый (147) подсоединены к входам управления коммутаторами и АС. Входы управления не показаны, а соединения выходов КЛС с входами управления коммутаторов и АС будут описаны в таблице при описании работы АП. Таким образом, узел управления УУ 116 содержит конвейер (в рассматриваемом примере 8 ярусов регистров 117 - 124), по которому движется команда АП (код операции и код выбора операнда). Множительные устройства Б1 - Б4 показаны на фиг. 4, 5, под номерами 34, 38, 42, 46. Все они одинаковы. На фиг. 12 показана блок-схема множительного устройства, которое содержит комбинационную логическую схему (КЛС) 148, регистр 149 и КЛС 150. КЛС 148 имеет информационные входы 151 и 152 и управляющий вход 153. Выход 154 КЛС 148 соединен с входом 155 регистра 149, выход 156 которого соединен с входом 157 КЛС 150. Выход 158 КЛС 150 является выходом множительного устройства. Суммирующие устройства Б5 - Б13 показаны на фиг. 4, 5, под номерами 50, 54, 58, 62, 66, 70, 74, 78, 82. Все они одинаковы. На фиг. 13 показана блок-схема суммирующего устройства, которое содержит комбинационную логическую схему (КЛС) 159, регистр 160, КЛС 161, регистры 162 - 167 и коммутаторы 168, 169. Регистр 162 имеет вход 170, а регистр 167 имеет вход 171. Входы 170 и 171 является информационными входами суммирующего устройства. Выход 172 регистра 162 соединен с входом 173 регистра 163. Выход 174 регистра 163 соединен с входом 175 регистра 164. Выход 176 регистра 164 соединен с входом 177 регистра 165. Выход 178 регистра 165 соединен с входом 179 регистра 166. Выход 180 регистра 166 соединен с входом 181 коммутатора 168. Вход 170 соединен с входом 182 коммутатора 168. Выход 172 регистра 162 соединен с входом 183 коммутатора 168. Выход 176 регистра 164 соединен с входом 184 коммутатора 168. Выход 178 регистра 165 соединен с входом 185 коммутатора 168. Выход 186 коммутатора 168 соединен с входом 187 КЛС 159. Выход 188 регистра 167 соединен с входом 189 коммутатора 169. Вход 171 регистра 167 соединен с входом 190 коммутатора 169. Выход 191 коммутатора 169 соединен с входом 192 КЛС 159, выход которой 193 соединен с входом 194 регистра 160. Вход 195 регистра 160 соединен с входом 196 КЛС 161, выход которой 197 является выходом суммирующего устройства. Работа многопроцессорной векторной ЭВМ (фиг. 1) в целом была уже описана выше при рассмотрении устройства многопроцессорной векторной ЭВМ. Проанализируем работу конвейерного арифметического устройства (КАУ) многопроцессорной векторной ЭВМ. Программа работы ЦПЧ 2 ЭВМ записана в ГВП 5. Центральное управление 12 центральной процессорной части 2 обеспечивает выборку и расшифровку инструкций для каждого АП 15 векторного арифметического устройства 13. Все арифметические процессоры 15 могут выполнять одну и ту же команду. Ширина шин управления и шин передачи данных достаточна для передачи операндов и команд АП для всех АП в одном такте. По одной команде АП в нескольких АП может обрабатываться (параллельно) сразу несколько операндов, т.е. вектор. Для описания работы КАУ рассмотрим выполнение в КАУ следующих операций:
A+/-F

A+B (операция II сложения 2N-разрядных действительных операндов) (см. фиг. 8),
A

A+B (операция IV сложения комплексных операндов, имеющих N-разрядные вещественные и мнимые части) (см. фиг. 10). A


E = A + F

D = A - F

где
A, F, P - комплексные операнды, приходящие на входы 4, 22 и 25 (фиг. 4, 5). Вещественные и мнимые части операндов A, F, P и результатов E, D обозначены соответственно Aс и Aм, Fc и Fм, Pc и Pм, Ec и Eм, Dc и Dм. Точный алгоритм вычисления E и D можно записать следующим образом:
Eс = Aс + [(Fс


Eм = Aм + [(Fс


Dс = Aс - [(Fс


Dм = Aм - [(Fс


Eс = (Aс +c Bс) +с [(Aс +м Bс) +с (Aм + Bм)],
Eм = (Aс +c Bс) +м [(Aс +м Bс) +с (Aм + Bм)],
где
Aс и Aм - старшая и младшая части операнда A,
Bс и Bм - старшая и младшая части операнда B (B - операнд, выбранный под действием сигнала управления по входу 127 из пары операндов F или P). Этот алгоритм реализуется на АП, настроенном на выполнение операции сложения с удвоенной разрядностью и представленном на фиг. 8, из которой видно, на какие входы каких АС поступают старшие и младшие части исходных операндов, промежуточных результатов вычисления и на каких выходах получаются окончательные результаты вычисления. На первом этапе вычисления производится одновременное сложение в трех АС Б11-Б13 (74, 78, 82). Результаты сложения в Б12 (78) и Б13 (82) на втором этапе складываются на Б6 (54). На третьем этапе производится сложение на АС Б9 и Б10 (66 и 70), после чего на выходах АП 29 и 30 получаются соответственно старшая и младшая части результата. Аналогично выполняются операции вычитания с удвоенной разрядностью X-Y и обратного вычитания Y-X. Операция A

Eс = (Aс *с Bс) +с {(Aс *м Bс) + [(Aс


Eм = (Aс *с Bс) +м {(Aс *м Bс) + [(Aс


где
Aс и Aм - старшая и младшая части операнда A,
Bс и Bм - старшая и младшая части операнда B (B - операнд, выбранный под действием сигнала управления по входу 127 из пары операндов F или P). Этот алгоритм реализуется на АП, настроенном на выполнение операции умножения операндов с удвоенной разрядностью и представленном на фиг. 9, из которой видно, на какие входы каких АС поступают старшие и младшие части исходных операндов, промежуточных результатов вычисления, и на каких выходах получаются окончательные результаты вычисления. На первом этапе вычисления производится одновременное умножение в четырех АС Б1-Б4 (34, 38, 42 и 46). Результаты умножения в Б3 (42) и Б4 (46) на втором этапе складываются на Б5 (50). На третьем этапе производится сложение на Б6 (54). На четвертом этапе производится сложение на АС Б9 и Б10 (66 и 70), после чего на выходах АП 29 и 30 получаются соответственно старшая и младшая части результата. Операция A + B = E (сложение двух комплексных операндов A и B) состоит в вычислении Eс - вещественной N-разрядной части результата E, и Eм - его мнимой N-разрядная часть. Операция производится по следующему алгоритму:
Eс = (Aс + Bс)
Eм = (Aм + Bм)
где
Aс и Aм - вещественная и мнимая части операнда A,
Bс и Bм - вещественная и мнимая части операнда B (B - операнд, выбранный под действием сигнала управления по входу 127 из пары операндов F или P). Эта операция реализуется на АП, настроенном на параллельное выполнение двух обычных операций сложения. На фиг. 10 видно, на какие входы АС Б12 (78) и Б13 (82) поступают вещественные и мнимые части исходных операндов и на каких выходах получается окончательный результат вычисления. Вычисления производятся одноэтапно в Б12 (78) и Б13 (82), после чего на выходах АП 29 и 30 получаются соответственно вещественная и мнимая части результата. Операция A

Eс = (Aс


Eм = (Aс


1КМ1=(2)[1]+(4)[1]*IC[1]+(5)[1];
1КМ2=(1)[1]+C[1];
1КМ3=(2)[1];
1КМ4=(5)[1];
1КМ7=(4)[1]*IC[1];
1КМ8=(1)[1]+C[1];
1КМ9=(2)[1]+(5)[1];
2КМ1=U[1]*((2)[1]+(3)[1]+(4)[1]*IC[1]+(5)[1]+(6)[1]*IC[1]);
2КМ2=(1)[1]+IU[1]*((2)[1]+(3)[1]+(4)[1]*IC[1]+(5)[1]+(6)[1]*IC[1];
2КМ3=C[1];
2КМ4=U[1]*(2)[1];
2КМ5=U[1]*(5)[1];
2КМ6=IU[1]*(2)[1];
2КМ7=(1)[1]+(5)[1]*IU[1]*C[1];
2КМ9=(1)[1]+C[1]+IU[1]*((2)[1]+(3)[1]+(4)[1]*IC[1]+(5)[1]+6[1]*IC[1];
5КМ1=(1)[1]+С[1];
5КМ2=(2)[2];
5КМ3=(3)[2];
6КМ1=4[2]*IC[2];
6КМ2=(1)[6]+(2)[8]+(3)[6]+C[6];
6КМ3=(5)[4];
6КМ4=(6)[2]*IC[2];
7КМ2=(2)[8]+(3)[6];
7КМ3=(1)[6]+C[6];
1К3=P3[1]*(4)[1];
1К4=P4[1]*(4)[1];
1К5=P5[1]*((4)[1]+C[1]+(2)[1]*IC[1];
1К6=I(4)[1]+P6[1];
1К7=I(4)[1]+P7[1];
2К4=C[1]*P4[1]+IC[1]*(2)[1];
3К5=((4)[1]+C[1])*P5[1];
4К4=C[1]*P4[1];
5К1=C[3]*I(4)[3];
5К2=I(С[3]*I(4)[3];
6К1=((5)[3]+(1)[3])*IC[3]+I(4)[3]*C[3];
7К1=(1)[5]*IC[5]+I(4)[5]*C[5];
7К2=(4)[5]*C[5];
8К1=I(4)[5]*C[5];
8К2=(1)[5]*IC[5]+(4)[5]*C[5];
9K1-(1)[5]+C[5]*P4[5]*IP[5];
9K2=(3)[5]+C[5]*(IP4[5]+P5[5])+(2)[7];
9K4=(3)[5]+C[5]*P4[5]*P5[5]+(2)[7];
9K=C[5]*IP4[5]*P5[5];
10K1=C[5]*P4[5]*IP5[5];
10K2=I(C[5]*P4[5]*IP5[5]);
10K4=C[5]*P4[5]*P5[5];
10K5=(2)[7]+(3)[5]+C[5]*IP4[5]*P5[5];
11K0=C[1]*I(4)[1]*P0[1];
11K1=((3)[1]+C[1])*P1[1];
11K2=((3)[1]+C[1])P2[1];
11K3=P3[1]*IC[1]+(4)[1];
11K4=C[1]*P4[1];
11K5=(3)[1]*IC[1]+C[1]+C[1]*P5[1];
11K6=P6[1]+IC[1]+(4)[1];
11K7=P7[1]+IC[1]+(4)[1];
12K0=((6)[1]+C[1]*I(4)[1]*P0[1];
12K1=((6)[1]+C[1]+(3)[1])*P1[1];
12K2=((6)[1]+C[1]+(3)[1]*P2[1];
12K3=P3[1]+((4)[1]+IC[1])*I(6)[1];
12K4=((6)[1]+C[1])*P4[1]+(3)[1];
12K5=((6)[1]+C[1])*P5[1]
12K6=P6[1]+((4)[1]+IC[1])*I(6)[1];
12K7=P7[1]+((4)[1]+IC[1]*I(6)[1];
13K4=((6)[1]+C[1])*P4[1];
5LO=C[3]+(1)[3]+(2)[3]+(5)[3];
6LO=C[3]+(1)[3]+(2)[5]+(5)[3]+(3)[3];
6L1=(2)[5];
7L1=C[5]+(1)[5];
9LO=(3)[5];
9L1=(1)[5]+(2)[7]+(3)[5]+C[5];
9L2=(2)[7];
11L2=C[1]+(3)[1];
12L2=C[1]+(3)[1]+(6)[1]. В Булевых функциях использованы следующие обозначения:
"I" обозначает инверсию (например, IU означает инверсию U);
"+" обозначает логическое сложение;
"*" обозначает логическое умножение;
"P0-P7" - разряды кода операции (табл. 3);
"U"- поле команды АП, управляющей выбором второго операнда (Y) для всех операций АП, кроме операции двухточечного преобразования Фурье, где используются три операнда. Если U равно 1 (0), то B поступает по входу 22 (25);
"C" несет информацию о виде используемого контроля. (Если C = 0, то контроль сравнением не используется. В заявке аппаратура и работа узла контроля не описана и для простоты изложения "C" принято равным 0);
(1)=P0*P1*P5*IP6*IP7;
(2)=P0*P1*IP3*IP4*IP5*IP7;
(3)=IP0*P3*IP4*IP6*IP7;
(4)=P0*P1*I(IP3*P4*P5)*I(P3*IP4*IP5)*I(IP6*IP7);
(5)=P0*P1*P4*IP6*IP7;
(6)=I(1)[I(2)*I(3)*I(4)*I(5)*IОТСП,
где ОТСОП=IP0*IP1*IP2;
обозначения типа Z[i] были использованы для описания некоторого сигнала или выражения Z, задержанного на i синхронизирующих тактов, т.е. сигнала Z, прошедшего через цепочку из i последовательно соединенных триггеров, на вход синхронизации каждого из которых подан тактовый сигнал. Применение такого обозначения временных сдвигов позволяет не приводить временные диаграммы работы устройства. В ЭВМ используется синхронная временная диаграмма, которая реализуется с помощью единой системы синхронизации. Как было указано, временные согласования работы АС и коммутаторов обеспечиваются сигналами, поступающими из узла управления 116 АП. Входящие в состав арифметического процессора АС и КМ могут быть выполнены в виде больших интегральных схем или могут располагаться на одном базовом матричном кристалле (БМК), рассчитанном для размещения до 300.000-500.000 эквивалентных вентилей. АС, в которой реализовано суммирующее устройство (фиг. 13), способна выполнять 9 разновидностей операций сложения/вычитания 32-разрядных операндов X и Y с плавающей запятой. В первом случае, при операциях X + Y, X - Y, Y - X формируется округленная сумма или разность двух этих операндов. Во втором случае, при операциях (X + Y)c и (X + Y)м, а также при операциях (X - Y)c, (X - Y)м и при операциях (Y - X)с, (Y - X)м, формируется результат, являющийся соответственно старшей или младшей частью более точного (в данном случае, приблизительно 64-разрядного) результата (суммы или разности) операции X + Y, X - Y или Y - X, соответственно, чем 32-разрядный результат операции в первом случае. В первом случае (при операциях X + Y, X - Y, Y - X) результат содержит 24-разрядную мантиссу. А во втором случае (при операциях (X + Y)c, (X + Y)м, (X - Y)с, (X - Y)м, (Y -X)c, (Y - X)м) БИС выдает результат в виде старшей или младшей части (с 24-разрядной мантиссой) более точной суммы или разности входных 32-разрядных операндов АС. При операциях с удвоенной разрядностью результат операции АП представляет собой совокупность двух результатов, полученных с двух АС. Поступление операндов на каждое суммирующее устройство должно быть согласовано по времени. Для этого предусмотрены регистры 162 - 167, каждый из которых задерживает операнд на один такт. Управляющие сигналы от узла управления 116, поступающие на входы 198, 199 коммутаторов 168, 169 соответственно выбирают те регистры, с выхода которых операнды через коммутаторы 168, 169 поступают на КЛС 159. На вход 200 КЛС 159 из управления 116 поступает управляющий сигнал, который определяет операцию, выполняемую суммирующим устройством. АС, в которой реализовано множительное устройство (фиг. 12), способна выполнять 3 разновидности операций умножения 32-разрядных операндов X и Y с плавающей запятой. В первом случае при операции X * Y формируется округленное произведение двух указанных операндов, содержащее 24-разрядную мантиссу. Во втором случае при операциях (X * Y)c и (X * Y)м, формируется результат, являющийся соответственно старшей или младшей частью более точного (в данном случае приблизительно 64-разрядного) результата (произведения) операции X * Y, чем 32-разрядный результат операции в первом случае. Сумма результатов операций (X * Y)c и (X * Y)м при одних и тех же сомножителях X и Y равна точному произведению X * Y, кроме некоторых особых случаев, таких, как, например, выход в меньшую сторону порядка результата операции (X * Y)м из диапазона допустимых порядков. На вход 153 КЛС 148 из узла управления 116 поступает управляющий сигнал, который определяет операцию, выполняемую множительным устройством. В качестве примера в вышеприведенном описании были рассмотрены пять арифметических операций. В реальном устройстве, конечно, число операций, выполняемых АП, значительно больше, причем выполняются также и логические операции. Эти операции как более простые выполняются описанной аппаратурой без затруднений. Предложенное изобретение позволяет за счет выполнения дополнительных операций на одной и той же аппаратуре значительно сократить ее объем и ускорить выполнение операций, а за счет широкого применения однотипных БИС уменьшить их стоимость.
Формула изобретения
РИСУНКИ
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10, Рисунок 11, Рисунок 12, Рисунок 13, Рисунок 14, Рисунок 15