RU71016U1 - Электронная вычислительная машина с многими потоками команд и одним потоком данных - Google Patents
Электронная вычислительная машина с многими потоками команд и одним потоком данных Download PDFInfo
- Publication number
- RU71016U1 RU71016U1 RU2006115810/22U RU2006115810U RU71016U1 RU 71016 U1 RU71016 U1 RU 71016U1 RU 2006115810/22 U RU2006115810/22 U RU 2006115810/22U RU 2006115810 U RU2006115810 U RU 2006115810U RU 71016 U1 RU71016 U1 RU 71016U1
- Authority
- RU
- Russia
- Prior art keywords
- data
- stream
- processing
- information
- structural
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Изобретение относится к устройству электронных вычислительных машин и может быть использовано в ЭВМ общего назначения для ускорения вычислительного процесса при обработке структурированных данных. Основное отличие предлагаемой ЭВМ от известных заключается в том, что информация обрабатывается одновременно двумя и более потоками команд. Информация, представленная в виде структуры состоит из взаимосвязанной совокупности данных (информационной части) и связей между ними (структурной части). Тогда первый поток команд 6 из оперативной памяти 4 обрабатывает структурную часть потока данных 8, а второй поток команд 5 обрабатывает информационную часть 7 потока данных 8. Для обработки каждого потока команд предлагается использовать отдельное устройство: центральный процессор 1, содержащий кэш-память 9, используется для обработки данных потоком команд 5; структурный процессор 2, содержащий память для хранения структур 3, используется потоком команд обработки структуры 6. Технические результаты, достигаемые при использовании изобретения, выражаются в следующем:
- Повышается количество вычислений в ЭВМ, выполняемых параллельно.
- Ускоряется обработка структурной части информации за счет применения специально спроектированного устройства - структурного процессора.
- Машинный язык ЭВМ приближается к языку программирования высокого уровня, что сокращает время разработки программ и их размер, уменьшает количество ошибок в программах; ускоряет работу программ; уменьшает стоимость программных продуктов.
Description
Электронная вычислительная машина с многими потоками команд -и одним потоком данных.
Изобретение относится к устройству электронных вычислительных машин и может быть использовано в ЭВМ общего назначения для ускорения вычислительного процесса при обработке структурированных данных.
Вычисления в ЭВМ предполагают наличие информации (данных) и указание последовательности действий над ними (команд). По известному способу построения ЭВМ информация и программы сохраняются в оперативной памяти, откуда их извлекает обрабатывающее устройство (процессор) [1 стр.1902, 2 стр.35-38].
Согласно [1 стр. 1902], архитектуру ЭВМ можно классифицировать по количеству потоков команд и данных в ней. В [1 стр.1902] предложены четыре класса ЭВМ: ЭВМ с одним потоком команд и одним потоком данных (ОКОД);
ЭВМ с одним потоком команд и многими потоками данных (ОКМД); ЭВМ с многими потоками команд и одним потоком данных (МКОД); ЭВМ с многими потоками команд и многими потоками данных (МКМД).
ЭВМ с архитектурами ОКОД, ОКМД и МКМД нашли большое применение. Класс ОКОД повсеместно используется в составе более продуктивных вычислительных машин с ОКМД архитектурой, к которым можно отнести векторно-конвейерные вычислительные машины [2 стр.492]. МКМД является более широким классом и может включать ОКМД и ОКОД архитектуры.
К классу МКОД к данному моменту не отнесена ни одна из вычислительных машин [2 стр.491. 3 стр.18]. По устоявшемуся представлению [4 стр.44], не найдены важные вычислительные задачи, требующие создания ЭВМ с такой архитектурой. Можно констатировать, что к классу МКОД относятся лишь отдельные части современной ЭВМ.
По принципу МКОД в частности функционирует конвейер процессора. Это означает, что одна и та же информация проходит несколько стадий конвейера, где над ней производят различные преобразования в соответствии с потоками микрокоманд. Однако, наличие конвейера не позволяет отнести всю ЭВМ к МКОД
классу, так как множественность потоков реализована лишь на уровне микрокоманд. В существующих ЭВМ многие потоки микрокоманд возникают лишь вследствие одного потока команд.
По существующему на данный момент представлению о программах функционирования ЭВМ, совокупность однородной информации представляется в оперативной памяти в одном из двух видов: в виде векторных структур данных (одной и более соседних ячеек оперативной памяти) или в виде списковых структур данных (двух и более любых ячеек оперативной памяти). Разработано несколько десятков структур данных, позволяющих ускорить вычислительный процесс: массивы [5 стр.342], списки [5 стр.295, 6 стр.198], хеш-таблицы [6 стр.215], двоичные деревья поиска [6 стр.236] и другие.
В [7 стр.82, 108] описаны варианты вычислительных алгоритмов, оперирующих графовыми моделями и используемые при автоматизированном проектировании ЭВМ. Основным показателем качества рассмотренных алгоритмов является характер зависимости количества операций сравнения, требуемых для их реализации, от размерности решаемой задачи, т.е. вычислительная сложность. Допустим в программе, обрабатываемой процессором, используется какая либо списковая структура данных (список, сбалансированное дерево и т.д.). В такой структуре отношение смежности элементов задано в виде явных указателей. Известно, что такой принцип позволяет ускорить многие операции со структурой: удаление, добавление, объединение, поиск и др. Этот факт для многих алгоритмов позволяет сократить количество операций процессора, т.е. сокращает вычислительную сложность алгоритма [6 стр.475, 7 стр.112]. Часто оказывается выгодным создавать многоуровневые связанные структуры, такие как: деревья, прошитые списками, многомерные списки и другие. Применение же векторных структур, напротив, ведет к усложнению алгоритмов. Для рассмотренных в [7 стр.82, 108] алгоритмов массивы оказываются сильно разряжены, в связи с чем вычислительная сложность увеличивается до O(n2), но, благодаря представлению всех необходимых действий в виде операций над структурами данных, были получены варианты алгоритмов с теоретическими оценками вычислительной сложности близкими к оптимальным (O(n)).
Результаты экспериментов показывают, что обработка списковых структур данных современными ЭВМ классов ОКОД и ОКМД происходит значительно
медленнее, чем обработка векторных структур [8 стр.158]. Этому способствуют архитектурные особенности существующих ЭВМ (наличие конвейера, кэш-памяти, пакетного режима передачи данных из оперативной памяти в центральный процессор, предвыборка команд и данных и другие). Кроме того, списковые структуры обладают зависимостью по данным, вследствие чего запрос на получение очередной порции информации может быть выдан центральным процессором только после получения предыдущих данных. В современных ЭВМ выполнение действий над структурами данных выполняется с помощью центрального процессора и отсутствуют какие-либо устройства, ускоряющие такую обработку.
В предлагаемой ЭВМ, в отличие от известных, один поток данных представляет собой структурированную информацию, над которой требуется выполнять несколько потоков команд. Согласно [9 стр.50], структура данных состоит из информационной и структурной составляющей. В простейшем случае, первый поток команд содержит только действия для обработки структурной части, а второй поток обрабатывает хранимые в структуре данные. Потоки команд и данных предлагаемой ЭВМ поясняются чертежом.
Технический результат достигается тем, что в устройство электронной вычислительной машины, состоящей из Оперативной памяти 4, последовательно соединенной с Кэш-памятью 9, которая входит в состав Центрального процессора 1, в отличие от известных ЭВМ. вводится дополнительный Структурный процессор 2, соединенный с Оперативной памятью 4 и Кэш-памятью 9, который осуществляет хранение и обработку потока структурированных данных 8 в соответствии с первым потоком команд 6, поступающим в него из Оперативной памяти 4, а также передает на дальнейшую обработку поток неструктурированных данных 7 Центральному процессору 1, который обрабатывает их вторым потоком команд 5. Для этого в набор команд ЭВМ вводятся высокоуровневые команды обработки структурированных данных. Указанное устройство 2 (Структурный процессор) будет обрабатывать только такие команды и обменивается с Центральным процессором 1 уже подготовленными неструктурными данными - скалярами. Примером осуществления такого взаимодействия может служить программа, обрабатывающая древовидную структуру: на некотором шаге требуется найти
минимальное значение ключа во всем дереве и увеличить его в 10 раз. Программа на языке, близком к машинному, будет содержать следующие команды:
Вершина=Дерево.ПоискМИН;
Дерево.ИзменитьЗначение(Вершина,Вершина.Ключ*10);
В указанном примере первая команда приводит к выполнению алгоритма обхода структуры и сравнению ключей для поиска наименьшего. Ключ найденной вершины должен быть увеличен в 10 раз, что может потребовать изменения структуры дерева. Очевидно, что действия по поиску вершины с минимальным ключом и последующее перестроение дерева должен выполнить Структурный процессор 2, а за увеличение значения ключа отвечает арифметико-логическое устройство Центрального процессора 1.
Большинство действий над структурами требует интенсивного обращения к памяти. Использование медленной Оперативной памяти 4 не позволит существенно ускорить обработку и создаст дополнительную нагрузку на системную магистраль между Центральным процессором 1 и Оперативной памятью 4. Поэтому в предлагаемом устройстве ЭВМ вводится локальная Память структур 3, которая содержит только необходимую для Структурного процессора 2 информацию. Загрузка структуры или ее части, а также сохранение содержимого Памяти структур 3 в Оперативную память 4 выполнятся по специализированным алгоритмам, учитывающим тип структуры и форматы хранимых данных. Указанная Память структур 3 построена таким образом, чтобы максимально ускорить действия над ее содержимым Структурному процессору 2.
Обработка данных в предлагаемой ЭВМ осуществляется следующим образом. Поток структурированных данных 8 из Оперативной памяти 4 направляется в Память структур 3. Поток команд для обработки структур данных 6 направляется в Структурный процессор 2. Найденная в структуре или обработанная другим способом информация направляется в Кэш-память 9 и составляет поток скалярных данных 7. Центральный процессор 1 извлекает скалярные данные из Кэш-памяти 9 и обрабатывает их в соответствии с потоком команд обработки скалярных данных 5. Результат работы Центрального процессора 1 направляется обратно в Память структур 3 в потоке скалярных данных 7.
Основное отличие предлагаемой ЭВМ от известных заключается в том, что информация обрабатывается одновременно двумя и более потоками команд.
Информация, представленная в виде структуры состоит из взаимосвязанной совокупности данных (информационной части) и связей между ними (структурной части). Тогда первый поток команд 6 из Оперативной памяти 4 обрабатывает структурную часть потока данных 8, а второй поток команд 5 обрабатывает информационную часть 7 потока данных 8. Для обработки каждого потока команд предлагается использовать отдельное устройство: Центральный процессор 1, содержащий Кэш-память 9, используется для обработки данных потоком команд 5;
Структурный процессор 2, содержащий память для хранения структур 3, используется потоком команд обработки структуры 6.
Электронная вычислительная машина с многими потоками команд и одним потоком данных может быть реализована с помощью полностью заказных или полузаказных СБИС, а также на большеразмерных ПЛИС.
Технические результаты, достигаемые при использовании изобретения, выражаются в следующем:
- Повышается количество вычислений в ЭВМ, выполняемых параллельно.
- Ускоряется обработка структурной части информации за счет применения специально спроектированного устройства -структурного процессора.
- Машинный язык ЭВМ приближается к языку программирования высокого уровня, что сокращает время разработки программ и их размер, уменьшает количество ошибок в программах; ускоряет работу программ; уменьшает стоимость программных продуктов.
Библиографические данные
1. Flynn M.J. "Very High-Speed Computing Systems", Proceedings IEEE, №54, 1966, pp.1901-1909
2. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем: Учебник для вузов. - СПб.: Питер, 2006. - 668 с.: ил.
3. Богданов А.В., Корхов В.В., Мареев В.В., Станкова Е.Н. Архитектура и топологии многопроцессорных вычислительных систем. Курс лекций. Учебное пособие. - М.: ИНТУИТ.РУ «Интернет-Университет Информационных Технологий», 2004. - 176 с.
4. Ларионов A.M., Майоров С.А., Новиков Г.И. Вычислительные комплексы, системы и сети. Учебник для вузов. Л.: Энергоатомиздат. Ленингр. Отд-ние, 1987. 288 с.: ил.
5. Кнут Д. Искусство программирования. Т.1.: Основные алгоритмы. 2-е изд.: Пер. с англ. - М.: Издательский дом «Вильяме», 2001. - 720 с.
6. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. - М.: МЦНМО, 2000. - 960 с.
7. Попов А.Ю. Модели и алгоритмы автоматизированной декомпозиции схем ЭВМ. Дисс. кандидата техн. наук. - М.: 2003. - 176 с.
8. Касперски К. Техника оптимизации программ. Эффективное использование памяти. - СПб.: БХВ - Петербург, 2003. - 464 с.: ил.
9. Костин А.Е., Шаньгин В.Ф. Организация и обработка структур данных в вычислительных системах: Учеб. пособ. для вузов. - М.: Высш. шк. 1987. - 248 с.: ил.
Claims (1)
- Электронная вычислительная машина с многими потоками команд и одним потоком данных, состоящая из оперативной памяти, последовательно соединенной с кэш-памятью, которая входит в состав центрального процессора, отличающаяся тем, что в нее введен дополнительный структурный процессор, содержащий память для хранения структур данных, соединенный с оперативной памятью и кэш-памятью, который осуществляет хранение и обработку потока структурированных данных в соответствии с первым потоком команд, поступающим в него из оперативной памяти, а также передает на дальнейшую обработку поток неструктурированных данных центральному процессору, который обрабатывает их вторым потоком команд, в результате чего в предлагаемой ЭВМ один поток информации в виде структур данных обрабатывается двумя и более потоками команд, где второй и другие потоки команд к центральному процессору приводят к обработке информационной составляющей данных, а первый и другие потоки команд к структурному процессору приводят к обработке структурной составляющей данных.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2006115810/22U RU71016U1 (ru) | 2006-05-10 | 2006-05-10 | Электронная вычислительная машина с многими потоками команд и одним потоком данных |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2006115810/22U RU71016U1 (ru) | 2006-05-10 | 2006-05-10 | Электронная вычислительная машина с многими потоками команд и одним потоком данных |
Publications (1)
Publication Number | Publication Date |
---|---|
RU71016U1 true RU71016U1 (ru) | 2008-02-20 |
Family
ID=39267679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2006115810/22U RU71016U1 (ru) | 2006-05-10 | 2006-05-10 | Электронная вычислительная машина с многими потоками команд и одним потоком данных |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU71016U1 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2517238C2 (ru) * | 2009-04-08 | 2014-05-27 | Интел Корпорейшн | Выполнение параллельного повторного хэширования хеш-таблицы для многопоточных приложений |
-
2006
- 2006-05-10 RU RU2006115810/22U patent/RU71016U1/ru not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2517238C2 (ru) * | 2009-04-08 | 2014-05-27 | Интел Корпорейшн | Выполнение параллельного повторного хэширования хеш-таблицы для многопоточных приложений |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jeong et al. | Deep learning inference parallelization on heterogeneous processors with tensorrt | |
US20180032375A1 (en) | Data Processing Method and Apparatus | |
US20170109625A1 (en) | System for training networks for semantic segmentation | |
CN102142052B (zh) | 一种针对电路仿真中电路稀疏矩阵的快速lu分解方法 | |
CN104035751A (zh) | 基于多图形处理器的数据并行处理方法及装置 | |
Yu et al. | Automated runtime-aware scheduling for multi-tenant dnn inference on gpu | |
CN106570197B (zh) | 基于迁移学习的搜索排序方法和装置 | |
CN108108233B (zh) | 任务多副本执行的集群作业调度方法及系统 | |
Hao et al. | The implementation of a deep recurrent neural network language model on a Xilinx FPGA | |
CN113434548B (zh) | 一种基于Spark的大规模数据流分析方法及系统 | |
CN112906865B (zh) | 神经网络架构搜索方法、装置、电子设备及存储介质 | |
US20230281516A1 (en) | Intelligent Data Partitioning for Distributed Machine Learning Systems | |
Hien et al. | Existence and global asymptotic stability of positive periodic solution of delayed Cohen–Grossberg neural networks | |
CN112734803A (zh) | 基于文字描述的单目标跟踪方法、装置、设备及存储介质 | |
CN103870563B (zh) | 确定给定文本的主题分布的方法和装置 | |
Konstantinidis et al. | Automating dairy production lines with the yoghurt cups recognition and detection process in the Industry 4.0 era | |
Garcia-Martinez et al. | A GPU implementation of a hybrid evolutionary algorithm: GPuEGO | |
RU71016U1 (ru) | Электронная вычислительная машина с многими потоками команд и одним потоком данных | |
CN117009038B (zh) | 一种基于云原生技术的图计算平台 | |
Li et al. | Alpha-SGANet: A multi-attention-scale feature pyramid network combined with lightweight network based on Alpha-IoU loss | |
CN113468288A (zh) | 基于人工智能的文本课件的内容抽取方法及相关设备 | |
CN103955443A (zh) | 一种基于gpu加速的蚁群算法优化方法 | |
Shashev | Image processing in intelligent medical robotic systems | |
US20190325294A1 (en) | Recurrent neural network model compaction | |
Challapalle et al. | X-VS: Crossbar-based processing-in-memory architecture for video summarization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM1K | Utility model has become invalid (non-payment of fees) |
Effective date: 20150511 |