Научный журнал
Современные наукоемкие технологии
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

РАЗРАБОТКА И ЭКСПЕРИМЕНТАЛЬНОЕ ИССЛЕДОВАНИЕ ФУНКЦИОНАЛЬНОЙ МОДЕЛИ АССОЦИАТИВНОГО ЗАПОМИНАЮЩЕГО УСТРОЙСТВА В MICROSOFT EXCEL

Страбыкин Д.А. 1
1 ФГБОУ ВО «Вятский государственный университет»
Рассматривается технология построения и экспериментального исследования функциональной модели ассоциативного запоминающего устройства (АЗУ) для применения в учебном процессе. В качестве средства моделирования используется табличный процессор Microsoft Excel. Узел (блок) моделируемого устройства представляется одной ячейкой, в которую помещается формула, описывающая его функционирование. Приводятся структура и алгоритм работы моделируемого АЗУ. Выбираются необходимые для моделирования стандартные функции Microsoft Excel, включая БИТ.И и БИТ.ИСКЛИЛИ, позволяющие выполнять логические операции над разрядами двоичных кодов, представленных в виде чисел в десятичной системе счисления. Разрабатываются структура функциональной модели и экранная форма. На экранной форме содержимое всех регистров и ячеек АЗУ отображается в виде двоичных кодов. Определяются изменения состояний регистров и ячеек АЗУ в зависимости от поступающих управляющих сигналов (начальной установки, ассоциативного чтения, ассоциативной записи, чтения, записи). Составляются формулы для всех ячеек Microsoft Excel, используемых в функциональной модели. Приводится описание экспериментальных исследований АЗУ в режиме «Такт» и «Автомат» на примере решения задачи чтения последовательности чисел, укладывающихся в заданный диапазон. Количество считанных чисел, удовлетворяющих заданному условию, фиксируется в счетчике данных, а числа помещаются в буфер читаемых данных. Включение в состав модели АЗУ и отображение на экранной форме дополнительных блоков: счетчика данных, буфера читаемых данных, пультового дублера ячеек, блока пуска-останова – упрощают и ускоряют проведение экспериментальных исследований. Рассмотренный подход к моделированию АЗУ может быть использован при разработке функциональных моделей других устройств, когда не требуется раскрывать внутреннюю структуру входящих в состав устройства узлов и блоков.
ассоциативные запоминающие устройства
действующие функциональные модели
компьютерные практикумы по ЭВМ
применение Microsoft Excel
1. Жмакин А.П. Программные модели процессоров и ЭВМ // Auditorium. Электронный научный журнал Курского государственного университета. 2016. № 3 (11). С. 77-84.
2. Ефимушкина Н.В., Орлов С.П. Учебный комплекс имитационных моделей для лабораторных работ по дисциплине «ЭВМ и периферийные устройства» // Компьютерные инструменты в образовании. 2013. № 4. С. 38-43.
3. Полячков А.В. Методика функционально-логического моделирования ассоциативных запоминающих устройств и систем // Инженерный вестник Дона. 2014. № 3. http://ivdon.ru/ru/magazine/archive/n3y2019/5847 (дата обращения: 30.06.2023).
4. Строгонов А., Буслов А., Давыдов С. Проектирование учебного процессора с фиксированной запятой в САПР Quartus II компании Altera // Компоненты и технологии. 2009. № 11. С. 114-119.
5. Страбыкин Д.А. Функциональная модель учебного процессора с микропрограммируемой архитектурой в Microsoft Excel // Современные наукоемкие технологии. 2023. № 2. С. 102–110.

Изучение вычислительной техники, как правило, включает экспериментальное исследование функционирования устройств, входящих в состав ЭВМ. При этом наряду с действующими макетами изучаемых устройств широко применяются их программные модели. В качестве средств программного моделирования устройств используются универсальные среды (например, Delphi и C++) [1, 2] и специальные системы (например, среда функционально-логического моделирования MatLab/Simulink и САПР Quartus II компании Altera) [3, 4]. К числу многофункциональных запоминающих устройств, при изучении которых целесообразно применять программную модель, относятся ассоциативные запоминающие устройства (АЗУ). При разработке программной модели АЗУ возможно создание многоуровневых моделей [3]. В то же время если построение узлов и блоков АЗУ уже известно обучающимся, то достаточно ограничиться моделированием функционирования АЗУ на уровне узлов и блоков, не отражая их реализацию на уровне логических элементов.

Цель работы: развитие технологии построения и экспериментального исследования функциональных моделей устройств вычислительных машин для применения в учебном процессе, использующей в качестве средства моделирования табличный процессор Microsoft Excel и основанной на представлении узла (блока) моделируемого устройства одной ячейкой, в которой с помощью стандартных функций моделируется его функционирование.

Развиваемый подход предполагает переход от поразрядного к пословному моделированию основных узлов и блоков ЭВМ с помощью стандартных функций Excel, когда в ячейках могут находиться многоразрядные двоичные коды, а вычисления производятся в десятичной системе счисления. При этом сохраняется представление состояний входов и выходов узлов и блоков на экранных формах в двоичной системе счисления [5]. Подход рассматривается на примере разработки функциональной модели АЗУ.

Структура и алгоритм работы моделируемого АЗУ

АЗУ основаны на ассоциативном обращении, в процессе которого выполняется поиск информации, хранящейся в АЗУ, по некоторому образцу (признаку). При этом производится сравнение заданного признака с информацией в АЗУ и устанавливается их соответствие или несоответствие друг другу. Признак, по которому производится поиск информации, называется ассоциативным признаком. Ассоциативный признак может быть частью искомой информации или дополнительно придаваться ей. В последнем случае его принято называть тегом.

Структура АЗУ приведена на рисунке 1, где РП – регистр признака (S); РЗД – регистр записи данных (DI); РМ – регистр маски (М); А – адрес для обычного (адресного) обращения; БУ – блок управления со входами для сигналов: ассоциативного чтения (АЧТ) и записи (АЗП), обычного (адресного) чтения (ЧТ) и записи (ЗП) а также значений логических условий p; НАЗУ – накопитель ассоциативного ЗУ, содержащий N ячеек памяти (ЯП); Р0, Р1, … РN-1 – значения логических условий (индикаторов), формируемых в ячейках АЗУ; РИ – регистр индикаторов; РЧД – регистр чтения данных (DO).

В отличие от адресных ЗУ в АЗУ, ячейка для чтения или записи данных выбирается не по адресу, а по содержимому этой ячейки. В процессе ассоциативного обращения признак S из регистра признаков РП сравнивается с содержимым Di (i=0,1,..,N-1) всех ячеек АЗУ. При этом в каждой ячейке формируется значение логического условия Pi (i=0,1,..,N-1), которое равно единице, если имеет место совпадение S и Di , и – нулю в противном случае.

missing image file

Рис. 1. Структура АЗУ

missing image file

Рис. 2. Обобщенный алгоритм ассоциативного чтения (записи)

Значение логического условия фиксируется в соответствующем ячейке разряде регистра индикаторов РИ. Сравнение может производиться с учетом маски M, позволяющей исключить из сравнения S и Di отдельные разряды. Из сравниваемых S и Di исключаются (считаются замаскированными) разряды, для которых в одноименных разрядах маски M находятся единицы. Использование маски обеспечивает различные варианты выбора ячеек в АЗУ: от ячеек, содержимое которых полностью совпадает с кодом в РП, до выбора всех ячеек.

Сравнение содержимого ячейки АЗУ Di=di1,di2,…,dij,…,diJ с содержимым РП S=s1,s2,…,sj,…,sJ с учетом содержимого РМ M=m1,m2,…,mj,…,mJ реализуется с помощью входящей в состав ячейки комбинационной схемы. Работа такой схемы может быть описана логической функцией в виде следующей формулы:

missing image file (1)

Основными операциями, выполняемыми АЗУ, являются ассоциативное чтение и ассоциативная запись. Кроме того, в АЗУ обычно возможны адресное чтение и запись. Обобщенный алгоритм ассоциативного чтения (записи) приведен на рисунке 2, где РИ<i> – i-й разряд регистра индикаторов, М[РСА] – ячейка АЗУ с адресом, указанным в РСА.

Реализация функций АЗУ с помощью функций Microsoft Excel

В процессе разработки функциональной модели АЗУ использовались следующие основные функции Microsoft Excel.

ДЕС(текст;основание). Преобразует текстовое представление числа с указанным основанием в десятичное число. Пример: =ДЕС(1100;2); =12.

ОСНОВАНИЕ(число;основание;[минимальная_длина]). Преобразует число в текстовое представление с указанным основанием системы счисления. Пример: =ОСНОВАНИЕ(12;2;8); =00001100.

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

Таблица 1

Выполнение микроопераций над двоичными кодами c помощью функций Microsoft Excel

Микрооперация

Формула Microsoft Excel

W=X⊕Y, wj=xj&yj, j=0,…,7

D1: =ОСНОВАНИЕ(БИТ.И(ДВ.В.ДЕС(A1);ДВ.В.ДЕС(B1));2;8)

W=X⊕Y, wj=xj⊕yj, j=0,…,7

D1: =ОСНОВАНИЕ(БИТ.ИСКЛИЛИ(ДВ.В.ДЕС(A1);ДВ.В.ДЕС(B1));2;8)

W = Y, wj = yj, j=0,…,7

D1: = ОСНОВАНИЕ(БИТ.ИСКЛИЛИ(ДВ.В.ДЕС(B1);255);2;8)

R=N+1

F1: =ОСНОВАНИЕ(ДЕС(E1;2)+1;2;4)

missing image file

G1: =ЕСЛИ(И(ОСНОВАНИЕ(БИТ.И(БИТ.ИСКЛИЛИ(ДЕС(A1;2); ДЕС(B1;2));БИТ.ИСКЛИЛИ(ДЕС(C1;2);255));2;8)=»00000000»);1;0)

Четвертый аргумент функции ВПР не используется. Пример: =ВПР(E8;H14:K29;2). Функция выполняет считывание из памяти по адресу, двоичный код которого находится в РСА (E8), таблица памяти занимает диапазон H14:K29. При вычислении функции ВПР в столбце адресов производится поиск двоичного кода, совпадающего с кодом, заданным в РСА. Результатом вычисления функции ВПР является содержимое ЯП из столбца ячеек (имеющего номер 2), адрес которой совпал с заданным.

Микрооперации над двоичными кодами X=x7x6x5x4x3x2x1x0, Y=y7y6y5y4y3y2y1y0, Z=z7z6z5z4z3z2z1z0, W=w7w6w5w4w3w2w1w0, N=n3n2n1n0, R=r3r2r1r0, необходимые для моделирования АЗУ, выполняются с использованием вычислений в десятичной системе счисления (табл. 1), предполагается, что код X находится в ячейке A1, Y – B1, Z – C1, W – D1, N – E1, R – F1, p – G1).

В последней строке таблицы 1 приведена формула для выполнения микрооперации сравнения содержимого ячейки АЗУ X=x7x6x5x4x3x2x1x0, с содержимым РП Y=y7y6y5y4y3y2y1y0, с учетом содержимого РМ Z=z7z6z5z4z3z2z1z0, полученная на основании формулы (2):

missing image file (2)

Необходимость преобразования формулы (1) в эквивалентную формулу (2) обусловлена использованием функций MS Excel (БИТ.И, БИТ.ИСКЛИЛ), выполняющих логические операции над разрядами двоичных кодов, представленных в виде чисел в десятичной системе счисления.

Разработка функциональной модели АЗУ

Разрабатывается функциональная модель учебного варианта рассмотренного ранее АЗУ, накопитель которого состоит из 16 8-разрядных ячеек памяти. Кроме того, для удобства проведения экспериментальных исследований в функциональную модель АЗУ включены дополнительные блоки, поля ввода и входы управляющих сигналов.

Функциональная модель АЗУ содержит следующие дополнительные блоки: счетчик данных (СД), буфер читаемых данных (БЧД), пультовый дублер ячеек (ПДЯ), а также блок пуска-останова (БПО). Структура АЗУ при проведении экспериментальных исследований отображается на экранной форме, приведенной на рисунке 3.

СД осуществляет подсчет числа считанных (записанных) данных в процессе ассоциативного чтения (записи). При ассоциативном чтении данные по мере считывания последовательно заносятся в БЧД, начиная с нижнего регистра. ПДЯ позволяет вводить с клавиатуры данные в поля, соответствующие ячейкам АЗУ, и переписывать их (при установленном в единичное состояние управляющем сигнале v) в ячейки. БПО обеспечивает поступление управляющих сигналов в блоки в процессе подачи тактовых сигналов и останов АЗУ при завершении выполнения заданной операции.

Экранная форма для исследования АЗУ содержит два дополнительных поля ввода: адреса (A) и данных (DI). Поле А используется для ввода адреса в РСА, а поле DI – данных в РЗД. Двоичные коды в поля A и DI заносятся с клавиатуры, а затем при подаче соответствующего управляющего сигнала переписываются в регистры. Ввод признака S в РП и маски M в РМ осуществляется непосредственно с клавиатуры.

Два дополнительных управляющих сигнала: начальной установки (НУ) и инкремента (с) – обеспечивают выполнение следующих функций. При единичном значении сигнала НУ производятся занесение информации в РСА и РЗД из полей ввода, установка РЧД и СД в нулевое состояние, запись в разряды РИ нулей (при обычном чтении или записи) и значений условий pi, формируемых по результатам сравнения признака S и содержимого ячеек памяти Di (i=0,1,…,15) с учетом маски M (в случае ассоциативного чтении или записи).

missing image file

Рис. 3. Экранная форма для экспериментального исследования АЗУ

Таблица 2

Изменение состояний регистров и ЯП АЗУ в зависимости от управляющих сигналов

Регистр / ЯП

Состояние регистра /ЯП АЗУ в следующем такте

НУ

АЧТ

АЗП

ЧТ

ЗП

РСА

=РСА+1

=РСА+1

=РСА

=РСА

РЗД

=DI

=РЗД

=РЗП+c

=РЗД

=РЗД

ЯП<i>

=ПДЯ<i>, если v=1, иначе ЯП<i>

=ПДЯ<i>, если v=1, иначе ЯП<i>

=ПДЯ<i> если v=1, иначе РЗД

=ПДЯ<i>, если v=1, иначе ЯП<i>

=ПДЯ<i>, если v=1, иначе РЗД

РИ<i>

=0, если АЧТ=АЗП=0, иначе Pi

=РИ<i>

=РИ<i>

=РИ<i>

=РИ<i>

РЧД

=00000000

=М[РСА], если РИ<i>=1, иначе РЧД

=РЧД

=М[РСА]

=РЧД

СД

=0000

=СД+1, если РИ<i>=1, иначе СД

=СД+1, если РИ<i>=1, иначе СД

=СД

=СД

Таблица 3

Функциональное моделирование основных блоков и ЯП с помощью формул MS Excel

N

Блок / ЯП АЗУ

Формула MS Excel

1

РСА[E8]

=ЕСЛИ(НЕ(F3);E6;ЕСЛИ(И(НЕ(G3);ИЛИ(C10;C11));ПСТР(ОСНОВАНИЕ(ДЕС(E8;2)+1;2;5);2;5);E8))

2

РЗД[I8]

=ЕСЛИ(ИЛИ(И(НЕ(F3);ИЛИ(C11;C13));НЕ(K7));I6;ЕСЛИ(И(НЕ(G3);C11);ЕСЛИ(I8=»00001111»;»00000000»;ОСНОВАНИЕ(ДЕС(I8;2)+1;2;8));I8))

3

ЯП<7>[I21]

=ЕСЛИ(R21;P21;ЕСЛИ(И(F4;C$13;E$8=H21);I8;ЕСЛИ(И(C$11;K21;E$8=H21);I$8;I21)))

4

РИ<7>[K21]

ЕСЛИ(И($C$14=1;$C$10=0;$C$11=0);0;ЕСЛИ(И(F$3=0;F$4=0;ИЛИ(C$10;C$11));ЕСЛИ(И(ОСНОВАНИЕ(БИТ.И(БИТ.ИСКЛИЛИ(ДЕС($F$10;2);ДЕС($I21;2));БИТ.ИСКЛИЛИ(ДЕС($J$10;2);255));2;8)=»00000000»);1;0);K21))

5

РЧД[I31]

=ЕСЛИ(C14;»00000000»;ЕСЛИ(C12;ВПР(E8;H14:K29;2);ЕСЛИ(И(G3;C10;ВПР(E8;H14:K29;4)=1);ВПР(E8;H14:K29;2);I31)))

6

СД[K31]

=ЕСЛИ(C14;»0000»;ЕСЛИ(G3;ЕСЛИ(ВПР(E8;H14:K29;4)=1;ОСНОВАНИЕ(ДЕС(K31;2)+1;2;4);K31);K31))

7

БЧД<7>[N21]

=ЕСЛИ(C$14;» «;ЕСЛИ(И(C$10;G$3;ВПР(E$8;$H$14:$K$29;4)=1;K$31=H22);ВПР(E$8;$H$14:$K$29;2);N21))

8

БСО-Ост[F4]

=ЕСЛИ(C14;0;ЕСЛИ(ИЛИ(E8=»1111»;C12;C13);1;F4))

9

БСО-u[F3]

=ЕСЛИ(ИЛИ(C14;F4);0;1)

10

БСО-T[G3]

=ЕСЛИ(И(F3;НЕ(G3));1;0)

При единичном значении сигнала c в каждом такте содержимое РЗД увеличивается на единицу, обеспечивая автоматическую генерацию последовательности записываемых данных. Изменения состояний регистров и ячеек памяти АЗУ в зависимости от поступающих управляющих сигналов приведены в таблице 2. При отсутствии управляющих сигналов АЗУ находится в режиме хранения.

Функциональное моделирование блоков и ячеек АЗУ осуществляется с помощью формул MS Excel (табл. 3). Каждому регистру и каждой ЯП выделяется соответствующая ячейка MS Excel, номер которой указывается в квадратных скобках следом за обозначением регистра или ЯП. При моделировании БСО используется три ячейки MS Excel для формирования сигналов: «Останов» – Ост[F4], «Управление генератором» – u[F3], «Tакт» – T[G3].

Формулу, используемую для моделирования РСА (табл. 3, строка 1), можно пояснить следующим образом (пояснения приведены в угловых скобках):

РСА[E8]: =ЕСЛИ(НЕ(F3);E6 <Если сигнал «Управление генератором» u[F3]=0, то РСА[E8]:=A[E6]; иначе>;

ЕСЛИ(И(НЕ(G3);ИЛИ(C10;C11));ПСТР(ОСНОВАНИЕ(ДЕС(E8;2)+1;2;5);2;5) <Если сигнал «Такт» T[F3]=0 и есть сигнал ассоциативного чтения АЧТ[C10]=1 или записи АЗП[C11]=1, то содержимое РСА[E8] преобразуется из четырехразрядного двоичного кода в двухразрядный десятичный, затем увеличивается на единицу и преобразуется в пятиразрядный двоичный код, младшие четыре разряда которого отображаются в РСА[E8]; иначе>;

E8))<содержимое РСА[E8] сохраняется без изменений>

Формирование значения сигнала «Ост» в блоке БСО (табл. 3, строка 8) можно пояснить следующим образом:

БСО-Ост[F4]: =ЕСЛИ(C14;0<если есть сигнал начальной установки НУ[C14]=1, то БСО-Ост[F4]:=0; иначе>;

ЕСЛИ(ИЛИ(E8=»1111»;C12;C13);1<если содержимое РСА[E8]=«1111» или есть сигнал чтения ЧТ[C12]=1 или записи ЗП[C13]=1, то БСО-Ост[F4]:=1; иначе>;

F4))<состояние БСО-Ост[F4] сохраняется без изменений>

При БСО-Ост[F4]=1 формируется сигнал БСО-u[F3]=0, что приводит к прекращению выработки тактовых сигналов (БСО-T[G3]) и завершению выполнения заданной операции.

Экспериментальные исследования

Функциональная модель АЗУ работает в двух основных режимах: «Такт» и «Автомат». В режиме «Такт» заданная операция выполняется по тактам, путем последовательных нажатий клавиши F9. В режиме «Автомат» выполнение заданной операции производится при однократном нажатии клавиши F9. В обоих режимах АЗУ выполнение заданной операции завершается установкой сигнала БСО-u[F3]=0, после которой АЗУ перестает реагировать на нажатие клавиши F9. Установка необходимого режима работы АЗУ осуществляется путем изменения параметров Microsoft Excel, связанных с вычислением формул. Выбираются вычисления в книге «вручную» и включаются итеративные вычисления с числом итераций, равным единице для задания режима «Такт», и числом не менее максимального числа микрокоманд, которые необходимо выполнить после нажатия клавиши F9, – для задания режима «Автомат». Максимальное число микрокоманд, которые необходимы для выполнения ассоциативных обращений в АЗУ, можно определить экспериментально, выполняя эти операции в режиме «Такт».

Независимо от режима работы АЗУ выполнение операции начинается с подготовительного такта, в котором производится начальная установка счетчиков и регистров, а при необходимости и ячеек памяти АЗУ в соответствии новыми состояниями, указанными в столбце «НУ» таблицы 2. Перед начальной установкой задается операция, подлежащая выполнению АЗУ, путем записи «1» в одну из ячеек MS Excel (С10–С13) соответствующей выбранной операции. Для начальной установки в ячейку НУ[C14] вводится «1» и нажимается клавиша F9. После начальной установки в ячейку НУ[C14] вводится «0». Дальнейшее нажатие клавиши F9 будет обеспечивать выполнение заданной операции.

Одним из примеров, иллюстрирующих возможное применение АЗУ, является решение задачи чтения последовательности чисел, укладывающихся в заданный диапазон. Например, требуется считать из АЗУ последовательность чисел Q, удовлетворяющих следующему условию: 8≥Dk≥11 (Dk∈Q). Для выполнения такого чтения необходимо задать определенные значения признака S и маски M, а также начальный адрес массива A чисел в АЗУ. В примере это должны быть: S=00001000 и M=00000011, A=0000. На рисунке 2 приведена экранная форма, в которой представлен результат выполнения ассоциативного чтения для определенных в примере значений признака и маски. Количество считанных чисел, удовлетворяющих заданному условию, зафиксировано в счетчике данных СД, а числа помещены в буфер читаемых данных БЧД.

Заключение

При разработке функциональной модели АЗУ использовано «крупнозернистое» моделирование, когда регистр, счетчик и другой многоразрядный узел представляются одной ячейкой MS Excel, в которой с помощью стандартных функций моделируется его функционирование. В этом случае внутренняя структура узла в модели не отражается, в отличие от модели узла на уровне логических элементов, когда каждому логическому элементу может отводиться отельная ячейка MS Excel. Использование «крупнозернистого» моделирования позволяет значительно сократить число необходимых ячеек и функций MS Excel и упростить разработку функциональной модели АЗУ. Включение в состав модели АЗУ и отображение на экранной форме дополнительных блоков: счетчика данных, буфера читаемых данных, пультового дублера ячеек, блока пуска-останова – упрощает и ускоряет проведение экспериментальных исследований. Рассмотренный подход к моделированию АЗУ может быть использован и при разработке функциональных моделей других устройств, когда не требуется раскрывать внутреннюю структуру входящих в состав устройства узлов и блоков.


Библиографическая ссылка

Страбыкин Д.А. РАЗРАБОТКА И ЭКСПЕРИМЕНТАЛЬНОЕ ИССЛЕДОВАНИЕ ФУНКЦИОНАЛЬНОЙ МОДЕЛИ АССОЦИАТИВНОГО ЗАПОМИНАЮЩЕГО УСТРОЙСТВА В MICROSOFT EXCEL // Современные наукоемкие технологии. – 2023. – № 7. – С. 97-103;
URL: https://top-technologies.ru/ru/article/view?id=39701 (дата обращения: 19.05.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674