Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: CXXIII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 09 марта 2023 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Куимова Ю.Р. РАЗРАБОТКА ОБУЧАЮЩЕГО ПРОГРАММНОГО ЭМУЛЯТОРА СТАТИЧЕСКОЙ ПОТОКОВОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. CXXIII междунар. студ. науч.-практ. конф. № 3(121). URL: https://sibac.info/archive/technic/3(121).pdf (дата обращения: 27.12.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 10 голосов
Дипломы участников
Диплом Интернет-голосования

РАЗРАБОТКА ОБУЧАЮЩЕГО ПРОГРАММНОГО ЭМУЛЯТОРА СТАТИЧЕСКОЙ ПОТОКОВОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ

Куимова Юлия Руслановна

студент, кафедра электронных вычислительных машин, Вятский государственный университет,

РФ, г. Киров

Крутиков Александр Константинович

научный руководитель,

преподаватель, Вятский государственный университет,

РФ, г. Киров

DEVELOPMENT OF A TRAINING SOFTWARE EMULATOR FOR A STATIC STREAMING COMPUTING SYSTEM

 

Julia Kuimova

student, Department of Electronic Computing Machines, Vyatka State University,

Russia, Kirov

Alexander Krutikov

scientific supervisor, lecturer, Vyatka State University,

Russia, Kirov

 

АННОТАЦИЯ

В статье описывается необходимость обучения будущих выпускников ИТ-специальностей высших учебных заведений основным моделям управления вычислениями. Рассматриваются механизмы управления последовательностью вычислений, принцип работы статической потоковой вычислительной системы, проектирование и разработка программного эмулятора для использования его в рамках образовательной программы для изучения потоковых вычислений. Описываются перспективы модернизации программного эмулятора для более сложных динамических потоковых вычислительных систем и потоковых вычислительных систем с помеченными токенами.

ABSTRACT

The article describes the need to teach future graduates of the higher school of computer science the basic models of computing management. The mechanisms of controlling the sequence of calculations, the principle of operation of a static streaming computing system, the design and development of a software emulator for using it as part of an educational program for studying streaming computing are considered. The prospects of upgrading the software emulator for more complex dynamic streaming computing systems and streaming computing systems with tagged tokens are described.

 

Ключевые слова: потоковая вычислительная система; граф вычислений; обучающая система; учебный процесс; программная установка; программный эмулятор.

Keywords: streaming computing system; graph of calculations; training system; learning process; software installation; software emulator.

 

На сегодняшний день существует множество различных вычислительных машин: от персональной ЭВМ до суперкомпьютеров и мощных многомашинных комплексов. Принцип работы подавляющего большинства из них является моделью вычислений, основанная на традиционном подходе – последовательном выполнении команд [1,2]. Данная модель является далеко не единственной, не всегда имеет высокие показатели эффективности.

Под вычислительной системой понимают совокупность аппаратных и программных средств, функционирующих в единой системе и предназначенных для решения определенных задач [3]. Для выполнения вычислений необходимо управление ими. Выделяют три механизма управления последовательностью вычислений [1]:

- Традиционный – команда выполняется после того, как выполнена предшествующая ей команда;

- Управляемый данными (потоковый) – команда выполняется, когда становятся доступными ее операнды;

- Управления по запросу (редукционный) – команда выполняется, когда другим командам требуется результат ее выполнения.

В потоковой вычислительной системе используется ориентированный граф (граф потоков данных) для описания вычислений [1]. Вершинами обозначаются операции, а ребрами – потоки данных, передающихся между вершинами (рисунок 1). Операция выполняется только когда в нее поступили все необходимые данные. Одновременно может выполняться несколько операций.

 

Рисунок 1. Пример графа потока данных для выражения «a*b+b/c»

 

В потоковых ВС программа вычислений хранится в памяти в виде таблицы. Каждая запись в таблице описывает одну вершину потокового графа (таблица 1). В записи содержится информация о машинной команде, операндах и выходах, куда необходимо передавать полученный результат. В одном из столбцов (биты наличия) фиксируется информация о пришедших данных на соответствующую вершину: 0 – если данные не поступили, 1 – если данные поступили. На каждом шаге вычислений собирается информация со всех вершин и активируются те, в записях которых биты наличия содержат единицы, следовательно, в которые поступили все необходимые данные.

Таблица 1.

Пример таблицы потокового графа для выражения «a*b+b/c»

 

Команда

Операнд 1

Операнд 2

Выход

Биты наличия

q1

mul

a

b

q4

0, 0

q2

dup

b

-

q1, q2

0

q3

div

b

c

q4

0, 0

q4

sum

a*b

b/c

q5

0, 0

 

В архитектуре статической потоковой ВС на дуге графа может присутствовать только один токен и действует правило активации вершины. Вершина активируется, когда на всех ее входных дугах присутствует по токену и ни на одном из ее выходов токенов нет. Под токеном понимается триада <v,<f,n>,a>, где v – данные, передаваемые токеном, f – идентификатор функции, реализуемой текущим потоковым графом, n – номер целевой вершины, a – номер дуги, по которой токен передается.

Студенты ИТ специальностей на учебных дисциплинах, посвященных архитектуре ЭВМ, как правило, изучают три основные модели управления вычислениями [1]: традиционную, по данным и по запросу. Для изучения работы различных моделей вычислений необходимо как ознакомиться с теоретической частью, так и на практике освоить принцип их работы.

Специалистами ВятГУ разработан программный эмулятор статической потоковой вычислительной системы (ВС), помимо рабочей части, включающий в себя справочную и методическую информацию по модели вычислений. Эмулятор предоставляет возможность детально изучить каждый этап работы статической потоковый ВС. В качестве аналогов рассматривались существующие эмулятора, позволяющие детально изучить традиционную архитектуру ЭВМ [4,5].

Статические вычислительные системы можно разделить на отдельные процессорные элементы [1]. При разработке программного эмулятора, моделируется ограниченный набор процессорных элементов. Структура процессорного элемента разрабатываемого программного эмулятора приведена ниже (рисунок 2). Память действий состоит из двух блоков: память команд/данных и управляющая память. В памяти команд/данных содержится информация о поде операции, операндах и выходах. В управляющей памяти содержится информация о битах наличия операндов.

 

Рисунок 2. Процессорный элемент статической потоковой ВС

 

Эмулятор состоит из трех модулей: элементов формы, модуль обработки данных и функциональный модуль. На рисунке 3 представлена структура эмулятора.

Модуль элементов формы отвечает за отображение всех элементов формы, за построение потокового графа и отображение его в соответствующем окне и за отображение процесса выполнения вычислений и конечного результата. Этот модуль предоставляет окна для ввода данных модулю обработки данных и принимает данные из таблицы потокового графа и данные о выполняющихся вычислениях и конечном результате.

Модуль обработки данных отвечает за проверку введенных данных и хранение мнемонических кодов команд и таблицы потокового графа. Этот модуль предоставляет данные таблицы потокового графа модулю элементов формы и данные о мнемонических кодах и таблицы потокового графа функциональному модулю.

Функциональный модуль отвечает за выполнение программы вычислений и получение конечного результата. Этот модуль принимает данные из модуля обработки данных и предоставляет данные о процессе выполнения программы вычислений и о конечном результате модулю элементов формы.

 

Рисунок 3. Модульная структура эмулятора

 

Разработанная программа имеет основную экранную форму, на которой располагаются три вкладки: «Таблица потокового графа», «Потоковый граф» и «Выполнение алгоритма».

На вкладке «Таблица потокового графа» находятся две рабочие панели. Первая панель используется для мнемонического кода, вторая – для таблицы потокового графа. Пользователь заполняет таблицу с мнемоническим кодом для выбора необходимых команд, затем заполняет таблицу потокового графа для описания вершин своего потокового графа.

На вкладке «Потоковый граф» расположена панель, на которой отрисовывается потоковый граф, составленный по таблице потокового графа (рисунок 5). Кнопка «Запустить», расположенная внизу панели, запускает обработку начальных вершин и открывает третью вкладку, для ввода входных данных.

На вкладке «Выполнение алгоритма» динамически отображаются текстовые поля для ввода входных данных (рисунок 6). Их количество определяется после обработки таблицы потокового графа. Также на этой вкладке находится кнопка «Получить результат», которая запускает вычисления и выводит в поле «Результат» полученное значение.

 

Рисунок 4. Экранная форма программного эмулятора

 

Изучив теоретическую часть, студенты приступают к выполнению лабораторного задания, состоящего из описания простого вычислительного алгоритма, представления его в эмуляторе, как в памяти потоковой ЭВМ, и пошаговом выполнении. Стоит отметить, что предусмотрен и пошаговый и обычный режимы. В эмуляторе присутствует возможность автоматической оценки работы, сохранения результата в общую таблицу.

На текущий момент текущая версия эмулятора модернизируется для изучения более сложных потоковых систем, разрабатывается сетевая версия эмулятора, с локальным сервером.

 

Список литературы:

  1. Орлов С. А., Цилькер Б. Я. Организация ЭВМ и систем: Учебник для вузов. 2-е изд. — СПб.: Питер, 2011 — 688 с.
  2. Новожилов, О. П. Архитектура ЭВМ и систем: учеб. пособие для академ. бакалавриата / О. П. Новожилов. – Москва: Юрайт, 2018. – 527 с.
  3. Основы архитектуры вычислительных систем [электронный ресурс] — Режим доступа. — URL: https://studfile.net/preview/7103303 (дата обращения 07.03.2023)
  4. Организация ЭВМ: лабораторный практикум на компьютерах: учеб. пособие – 4-е изд., перераб. и доп. / Д. А. Страбыкин. – Киров: ВятГУ, 2020. – 186 с.
  5. Паттерсон, Д. Архитектура компьютера и проектирование компьютерных систем / Д. Паттерсон, Дж. Хеннесси. – 4-е изд. – Санкт-Петербург : Питер, 2012. – 784 с.
Проголосовать за статью
Конференция завершена
Эта статья набрала 10 голосов
Дипломы участников
Диплом Интернет-голосования

Оставить комментарий