Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

FUNCTIONAL MODELING OF COMPUTING DEVICES WITH MICROSOFT EXCEL SPEADSHEET APPLICATION

Strabykin D.A. 1
1 Vyatka State University
1397 KB
Previous publications described technology to design working functional models for computer nodes and blocks for practical exercises with a spreadsheet application (Microsoft Excel) applicable to combinatorial and sequential logic. This article develops the technology to be applied to computing devices (CDs). CD is a device capable of executing an algorithm provided as a microprogram. A CD consists of computational unit and control unit. In the process of the execution of a micro-command, control unit produces control signals, which cause computational unit to perform micro-operations and form logical condition signals. For the described technology of creation of working functional models to be applicable to CDs several main stages need modifications and new stages are suggested. The paper describes two modes of functional modeling: step-by-step and automatic. Step-by-step mode is implemented by limiting to 1 the number of iterations used in the spreadsheet processor (Microsoft Excel) formulae computations. The next step in this mode is activated by F9 functional key («Tick») and it performs single re-computation of formulae in the spreadsheet, which corresponds to running a single micro-command in the CD. Each step visualizes the changes of internal registries of the CD in a screen form. The automatic mode is implemented by setting the maximum number of iterations for formulae computations in the spreadsheet to be not less than the number of device’s ticks required to run the microprogram to its completion. The modeling and the development of the screen form are illustrated by example of division of 8-bit integers. All the advantages of the technology to create working functional models for computer nodes and blocks by using a spreadsheet application (Microsoft Excel) previously described for combinatorial and sequential logic are shown to be fully applicable to modeling of CDs as well.
computing device
functional models
practical studies of computers
Microsoft Excel applications

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

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

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

При функциональном моделировании ВУ в технологии построения функциональных моделей узлов и блоков ЭВМ [5] появляются дополнительные этапы: выбор алгоритма выполнения операции; определение состава микроопераций и логических условий, необходимых для реализации алгоритма; разработка операционной схемы ВБ и микропрограммы выполнения операции; разработка БУ по микропрограмме выполнения операции. Кроме того, модифицируется содержание основных этапов применительно к ВБ и БУ.

Возможности моделирования ВУ в Microsoft Excel. При функциональном моделировании последовательностных схем с помощью Microsoft Excel используются формулы с циклическими ссылками. В современных версиях Microsoft Excel большое внимание уделяется выявлению в формулах циклических ссылок, которые в большинстве случаев свидетельствуют об ошибках в формулах. Исключить диагностические сообщения о наличии в формулах циклических ссылок позволяет введение итеративных вычислений путем изменения параметров Microsoft Excel, связанных с вычислением формул (Файл/Параметры/Формулы/Параметры вычислений/Включить итеративные вычисления/Предельное число итераций (рис. 1)). При этом предельное число итераций устанавливается равным единице. Поскольку функциональная модель ВУ строится на основе логических функций Microsoft Excel, значение в поле «Относительная погрешность» не влияет на результат.

strab1.tif

Рис. 1. Изменение параметров Microsoft Excel, связанных с вычислением формул

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

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

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

Моделирование вычислительного блока. Моделирование ВБ рассмотрим на примере операции деления нацело 8-разрядного двоичного числа X на 8-разрядное двоичное число Y, использующей следующий алгоритм. Если число Y = 0 (специальный признак z = 1), то деление не выполняется. В противном случае из делимого X вычитается делитель Y, и если знак разности s = 0 (разность положительное число), то частное Z увеличивается на единицу, а разность выступает в качестве нового уменьшаемого на следующем шаге. Процесс вычитания продолжается до тех пор, пока не будет получена отрицательная разность (s = 1). В этом случае Z будет представлять собой искомое частное от деления X на Y нацело [5].

Пример схемы 8-разрядного ВБ, моделируемого на листе Microsoft Excel, приведен на рис. 2. ВБ включает: регистр делимого RX, регистр делителя RY, сумматор (вычитатель) SM, счетчик частного RZ и логический элемент ИЛИ-НЕ (для формирования признака z равенства нулю содержимого регистра RY). В ВБ реализовано семь микроопераций, для выполнения которых используется следующее множество сигналов V = {v1, v2, v3, v4, v5, v6, v7}: v1 – занесение в регистр RX делимого: RX: = X; v2 – занесение в регистр RY делителя: RY: = Y; v3 – пересылка в регистр RX содержимого сумматора: RX: = SM; v4 – установка всех разрядов сумматора (включая разряд s) в нулевые состояния: SM: = 0; v5 – формирование в сумматоре результата вычитания из содержимого регистра RX содержимого регистра RY: SM: = RX-RY, при этом формируется признак знака разности s, который равен единице, если результат отрицательный, и нулю в противном случае; v6 – установка в нулевое состояние счетчика RZ: RZ: = 0; v7 – увеличение на единицу содержимого счетчика RZ: RZ: = RZ + 1.

strab2.tif

Рис. 2. Экранная форма функциональной модели 8-разрядного ВУ

В ВБ формируются значения двух логических условий: z – признака равенства нулю содержимого регистра делителя RY и s – признака знака результата, полученного в сумматоре (вычитателе). Значение признака z формируется при занесении числа Y в регистр RY. Значение признака s формируется при изменении содержимого регистров RX и RY.

Описание работы узлов ВБ с помощью логических функций и представление их в виде логических функций табличного процессора Microsoft Excel приведено в работе [5]. Далее логическая функция Microsoft Excel будет указываться в квадратных скобках после соответствующей логической функции узла. Например, логическая функция, используемая для формирования значения признака нуля z для регистра RY, содержащего двоичный код Y = y7y6y5y4y3y2y1y0, может быть представлена в следующем виде: z = ù(y7Úy6Úy5Úy4Úy3Úy2Úy1Úy0) [AC17: = ЕСЛИ(ИЛИ(U13:AB13);0;1)] (рис. 2).

Моделирование блока управления. Моделирование блока управления рассмотрим на примере реализации блока в виде управляющего автомата с «жесткой» логикой.

Граф-схема микропрограммы приведена на рис. 3. При моделировании ВУ условные переходы в микропрограмме реализуются следующим образом. В текущем такте в ВБ формируется значение признака, а в следующем такте осуществляется переход БУ в состояние, соответствующее сформированному в ВБ значению признака.

strab3.tif

Рис. 3. Граф-схема микропрограммы

strab4.tif

Рис. 4. Граф автомата Мура

По граф-схеме микропрограммы можно построить граф переходов автомата (рис. 4), который имеет 4 вершины, соответствующие состояниям автомата a0, a1, a2, a3.

Состояния a1, a2, a3 с выходными сигналами y0, y1, y2 определяют подмножества управляющих сигналов (y0: v1, v2, v4, v6; y1: v5; y2: v3, v7), а дуги графа отмечены входными сигналами, действующими на данном переходе. Символ «–» у состояния автомата a0 означает отсутствие управляющих сигналов для ВБ, вырабатываемых в данном состоянии.

Ориентируясь на реализацию автомата на основе двух D-триггеров: D1 и D2, закодируем состояния автомата: a0 – 00; a1 – 01; a2 – 11; a3 – 10. Логические выражения, определяющие состояние автомата на основе состояний триггеров, будут иметь следующий вид:

a0 = ùD1ùD2 [L5: = ЕСЛИ(И(НЕ($G5);НЕ($H5)) = ИСТИНА;1;0)];

a1 = ùD1D2 [M5: = ЕСЛИ(И(НЕ($G5);$H5) = ИСТИНА;1;0)];

a2 = D1D2 [N5: = ЕСЛИ(И($G5;$H5) = ИСТИНА;1;0)];

a3 = D1ùD2 [O5: = ЕСЛИ(И(G5;НЕ($H5)) = ИСТИНА;1;0)].

Составим структурную таблицу переходов-выходов автомата (табл. 1), где am – состояние, из которого осуществляется выход, as – состояние, в которое осуществляется переход; y – выходной, а x – входной сигнал автомата; D – функция возбуждения триггера.

Таблица 1

Структурная таблица переходов и выходов автомата

am

Код am

y

x

as

Код as

D

a0

00

1

a1

01

D2

a1

01

y0

p

a0

00

ùp

a2

11

D1D2

a2

11

y1

1

a3

10

D1

a3

10

y2

s

a0

00

ùs

a2

11

D1D2

Логические выражения для каждой функции возбуждения получаются по таблице как конъюнкция соответствующих исходных состояний am и входных сигналов, которые объединяются знаками дизъюнкции для всех строк, содержащих данную функцию возбуждения: D1 = a1ùpÚa2Úa3ùs = a1ùsùzÚa3ùsÚa2; D2 = a0Úa1ùsùzÚa3ùs. Кроме того, при моделировании работы БУ в автоматическом режиме используется специальный сигнал l (ячейка F5), который запрещает функционирование управляющего автомата при l = 1. Разрешение функционирования управляющего автомата реализуется путем конъюнктивного умножения инверсии переменной l на функции возбуждения: ùlD1 [G5: = ЕСЛИ($F5 = 0;ЕСЛИ(ИЛИ(И(M5;НЕ(H20);НЕ(AC17)); И(O5;НЕ(H20));N5) = ИСТИНА;1;0);0)]; ùlD2 [H5: = ЕСЛИ($F5 = 0;ЕСЛИ(ИЛИ(И (M5;НЕ(H20);НЕ(AC17));И(O5;НЕ(H20)); L5) = ИСТИНА;1;0);0)].

Выражения для функций выходов имеют следующий вид: y0 = a1 [U5: = M5]; y1 = a2, [V5: = N5]; y2 = a3 [W5: = O5]. На ос- новании выходных сигналов автомата в соответствии с микропрограммой формируются сигналы микроопераций: v1 = = y0 [P13: = U5]; v2, = y0 [AD12: = U5]; v3 = = y2 [P15: = W5]; v4 = y0 [S19: = U5]; v5 = = y1 [S21: = V5] v6 = y0 [AD21: = U5]; v7 = = y2 [AD23: = W5]. Для удобства отладки микропрограммы, формируемые управляющим автоматом микрооперации, дублируются на экранной форме ВУ в правой части БУ в виде семиразрядного двоичного кода, каждый разряд которого соответствует микрооперации с одноименным номером (рис. 2).

Работа БУ моделируется в двух режимах: «Такт» и «Автомат». Для задания режима работы используется специальный переключатель Т/А, имеющий два состояния: «0» («Такт») и «1» («Автомат»). Переключатель представляется переменной А, моделируемой ячейкой (E5) Microsoft Excel, в которую для задания режима работы БУ должно быть занесено необходимое значение (0 или 1). При нажатии клавиши F9 в режиме «Такт» ВУ выполняет одну микрокоманду, а БУ переходит в следующее состояние. При нажатии клавиши F9 в режиме «Автомат» ВУ выполняет всю микропрограмму, а БУ возвращается в начальное состояние, из которого может быть выведен в режиме «Такт».

Предполагается, что при достижении БУ конечного состояния (возвращении в начальное состояние) формируется и сохраняется осведомительный сигнал l = 1 завершения выполнения микропрограммы, который при выполнении первой микрокоманды принимает нулевое значение. Если БУ работает в автоматическом режиме, то после формирования сигнала l = 1 БУ прекращает выработку управляющих сигналов. В этом случае значение l = 1 используется для сохранения конечного состояния БУ в процессе достижения заданного предельного числа итераций в Microsoft Excel при моделировании работы ВУ в автоматическом режиме.

Значение l = 1 устанавливается, когда при выполнении микропрограммы формируется единичное значение признака переполнения (признака z = 1 – нуля в регистре делителя) или отрицательного результата (признака s = 1 – знакового разряда разности содержимого регистра делимого и содержимого регистра делителя).

Функция переходов элемента памяти l(t+1) = F(l(t),А,s,z), описывающая формирование сигнала окончания микропрограммы, может быть представлена в виде следующей формулы: l(t+1) = l(t)АÚùl(t)(sÚz) [F5: = ЕСЛИ(ИЛИ(И(F5;E5);И(НЕ(F5);H20);И(НЕ(F5);AC17));1;0)].

Моделирование ВУ. Первоначальный запуск функциональной модели ВУ осуществляется в режиме «Такт». Моделированию ВУ в режиме «Такт» предшествует изменение параметров Microsoft Excel, связанных с вычислением формул: выбираются вычисления в книге «вручную» и включаются итеративные вычисления с предельным числом итераций, равным единице. Кроме того, в ячейку А [E5], моделирующую переключатель режима работы ВУ, заносится 0 («Такт»).

В процессе экспериментальных исследований функциональной модели ВУ в режиме «Такт» осуществляется проверка правильности выполнения микропрограммы для всех сочетаний значений логических условий. В табл. 2 приведен пример выполнения микропрограммы по тактам для случая, когда делимое X = 00001111, а делитель Y = 000000111. Символ «х» используется для обозначения неопределенного значения признака и разряда данного. Содержимое регистра RY в процессе деления чисел не меняется, поэтому в таблице не представлено.

Таблица 2

Выполнение микропрограммы деления чисел нацело в режиме «Такт»

T

l

МК

D1D2

a0a1a2a3

y0y1y2

v1v2v3v4v5v6v7

z

s

RX

SM

RZ

1

00

1000

000

0000000

х

х

хххххххх

хххххххх

хххххххх

1

0

1

01

0100

100

1101010

0

0

00001111

00000000

00000000

2

0

2

11

0010

010

0000100

0

0

00001111

00001000

00000000

3

0

3

10

0001

001

0010001

0

0

00001000

00001000

00000001

4

0

2

11

0010

010

0000100

0

0

00001000

00000001

00000001

5

0

3

10

0001

001

0010001

0

1

00000001

00000001

00000010

6

1

00

1000

000

0000000

0

1

00000001

00000001

00000010

В примере в процессе деления чисел нацело в первом такте (Т = 1) выполняется МК 1 и производится загрузка делимого X = 00001111 в регистр RX, а делителя Y = 00000111 – в регистр RY, установка в нулевое состояние накапливающего сумматора SM = 00000000 и регистра счетчика частного RZ = 00000000, а также формируются значения признака z = 0 и s = 0. Во втором такте осуществляется переход к МК 2, которая фиксирует в сумматоре положительную разность SM: = RX-RY = 00001000. В третьем такте выполняется МК 3, которая обеспечивает передачу содержимого сумматора в регистр RX и увеличение на единицу содержимого регистра RZ = 00000001, а также формирование нового значения признака s = 0. В четвертом такте осуществляется переход к МК 2, которая фиксирует в сумматоре положительную разность SM: = = RX-RY = 00000001. В пятом такте выполняется МК 3, которая обеспечивает передачу содержимого сумматора в регистр RX и увеличение на единицу содержимого регистра RZ = 00000010, а также формирование значения признака s = 1. В шестом такте состояние регистров ВБ не изменяется, а БУ переходит в начальное состояние, и формируется осведомительный сигнал l = 1 завершения выполнения микропрограммы.

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

1. Производится запуск функциональной модели ВУ в режиме «Такт».

2. Заносятся исходные данные в регистры ввода, и нажимается клавиша «Такт» (F9) для переноса введенных данных в регистры ВУ (табл. 3, такт 1).

3. Вносятся изменения в настройку параметров Microsoft Excel, связанных с вычислением формул: в итеративных вычислениях задается предельное число итераций не менее числа тактов, необходимых для выполнения микропрограммы операции.

4. Заносится единица («Автомат») в ячейку А [E5], моделирующую переключатель режима работы ВУ, и нажимается клавиша «Такт» (F9) для запуска ВУ в автоматическом режиме (табл. 3, такт 2).

Таблица 3

Выполнение микропрограммы деления чисел нацело в режиме «Автомат»

T

А

l

МК

D1D2

a0a1a2a3

y0y1y2

v1v2v3v4v5v6v7

z

s

RX

RY

RZ

0

1

00

1000

000

0000000

х

х

хххххххх

хххххххх

хххххххх

1

0

0

1

01

0100

100

1101010

0

0

00001111

00000111

00000000

2

1

0

2

11

0010

010

0000100

0

0

00001111

00000111

00000000

                       

6

1

1

00

1000

000

0000000

0

1

00000001

00000111

00000010

5. Выполняются вычисления в ВУ в автоматическом режиме, которые прекращаются, как только будет установлен признак окончания вычислений l = 1. При этом продолжающийся до достижения предельного числа итераций пересчет формул на листе Microsoft Excel не будет изменять полученный в ВУ результат.

После выполнения микропрограммы в автоматическом режиме осуществляется возврат к работе функциональной модели ВУ в режиме «Такт». Для этого вносятся изменения в настройку параметров Microsoft Excel, связанных с вычислением формул: в итеративных вычислениях задается предельное число итераций, равное единице. Кроме того, в ячейку А [E5], моделирующую переключатель режима работы ВУ, записывается ноль.

Заключение

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

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