Программно-методический комплекс для изучения архитектуры ЭВМ на базе учебной модели «Нейман»

^Ш ИНСТРУМЕНТЫ И ТЕХНОЛОГИИ СОЗДАНИЯ ЭЛЕКТРОННЫХ РЕСУРСОВ

М.В. Папылее

ПРОГРАММНО-МЕТОДИЧЕСКИИ КОМПЛЕКС ДЛЯ ИЗУЧЕНИЯ АРХИТЕКТУРЫ ЭВМ НА БАЗЕ УЧЕБНОЙ МОДЕЛИ «НЕЙМАН»

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

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

Для практической работы упомянутая выше модель была реализована в виде учебной компьютерной программы в среде MS-DOS. Учитывая, что принятый в этой операционной системе интерфейс пользователя в данный момент уже устарел, ученики в работе с моделью могут испытывать, на наш взгляд, определенные неудобства. Это подтолкнуло нас к разработке модели УК «Нейман» в среде с более современным интерфейсом. В качестве средства для реализации этого проекта был выбран интернет-ориентированный язык программирования Java. В новой реализации полностью сохранены все принципы, заложенные в оригинальный учебный компьютер «Нейман». Помимо обеспечения традиционных оконных средств управления моделью (что делает работу с ней более приятной и удобной), ее новая версия позволяет организовать к полученным учебным материалам on-line доступ через сеть Internet.

В настоящей статье кратко описывается модель УК «Нейман»: ее состав, функции и назначение. Также рассмотрены некоторые особенности, связанные с новыми возможностями в Java-реализации. Дается описание обучающего комплекса, базирующегося на использовании данной модели. Изложены некоторые результаты апробирования этого комплекса на уроках информатики в рамках изучения соответствующей темы.

© М.В. Папытее, 2005

Краткое описание УК «Нейман»

Данная модель предназначена для изучения архитектуры ЭВМ. В состав модели УК «Нейман» входят: процессор, оперативная память и специальная служебная ячейка ОЗУ, имитирующая работу устройств ввода/вывода.

Центральная часть модели - процессор - содержит в себе:

1) АЛУ - арифметико-логическое устройство, непосредственно выполняющее команды программы;

2) УУ - управляющее устройство, обеспечивающее работу всех частей компьютера при выполнении программы;

3) регистры процессора - ячейки внутренней процессорной памяти.

Структурная схема процессора показана на рис. 1. Каждый его регистр имеет своё

определённое назначение:

СК - счётчик команд, в котором находится адрес очередной исполняемой или вводимой команды;

• РК - регистр команд, в который при выполнении программы помещается текущая выполняемая команда;

• РОН 1 и РОН 2 - регистры, куда при выполнении команды помещаются операнды (слагаемые, сомножители и т.д.);

• РР - регистр результата, в который помещается результат выполненной операции;

• W - регистр-признак результата, фиксирующий знак результата очередной операции: если результат операции положительный (>0), то W = 1, иначе W = 0).

Регистры одновременно являются и «зеркалом» машины для пользователя (он может по их состоянию следить за ее действиями), и ориентиром для самой машины (по значению регистра СК и W машина «ориентируется» в программе). Регистры являются ключевыми и для операции ввода - в СК хранится адрес ячейки памяти, в которую нужно помещать вводимые данные. Регистр-признак W необходим для распознания отрицательного числа, что позволяет организовать в УК «Нейман» условные переходы.

Память УК «Нейман» состоит из байтов, объединённых в четырёхбайтовые машинные слова (ячейки). Адреса байтов записываются в шестнадцатеричной системе (в памяти они представляются в двоичной системе). Адрес ячейки равен адресу младшего из составляющих её байтов, поэтому ячейки всегда имеют адреса, кратные четырём. Адреса байтов памяти лежат в диапазоне от 00 до ББ (в шестнадцатеричной системе). Таким образом, весь объём памяти составляет 10016 = 25616 байтов или 6410 ячейки.

Последняя ячейка с адресом БС есть буфер ввода-вывода. Для того чтобы результаты вычислений появились на табло, их нужно переслать в эту ячейку.

В каждую ячейку памяти может записываться либо команда процессора, представляемая в виде машинного слова, либо данные в виде целого числа («Нейман» обрабаты-

Рис. 1. Схема процессора УК «Нейман» [1, с. 234]

вает только целые числа). Поскольку каждая ячейка содержит в себе 32 двоичных разряда, диапазон допустимых значений чисел составляет от - 2147482648 до + 2147483647.

Апплет «Нейман» и органы управления им

В новой реализации модель УК «Нейман» представлена в виде Java апплета, который подгружается на соответствующие HTML страницы [1]. Java-реализация содержит в себе все элементы, существующие в модели, и имеет интерфейс пользователя в стиле Windows, более привычный для современных пользователей. Принципы «общения» с обновленной моделью по сравнению с ее версией для MS-DOS существенно изменились.

Рассмотрим основные способы взаимодействия пользователя с данным апплетом. Для этого обратимся к рис.2, на котором указаны составные части модели и органы управления ею.

В левой части рисунка располагается память компьютера (1). Содержимое специализированной буферной ячейки ввода-вывода продублировано отдельно (4); через нее УК «Нейман» принимает данные и выводит результат вычислений. Основная часть правой половины рисунка отображает состояние регистров процессора (2). Отметим, что все они, за исключением СК, имеют серую окраску: это означает, что только в последний регистр информацию можно вводить, а остальные доступны лишь для наблюдения.

Рис. 2. Внешний вид Java-реализации модели УК «Нейман»:

1 - память, 2 - регистры, 3 - окно операций, 4 - ячейка ввода-вывода данных, 5 -блок кнопок управления, 6 - переключатель режима, 7 - окно ошибок

Помимо регистров процессора и памяти, являющихся функциональными блоками машины, на рис. 2 отображаются еще органы управления: блок кнопок управления (5), переключатель режима (6), окно операций (3) и окно ошибок (7).

Основными органами управления апплетом являются кнопки:

• Start - запускает программу на выполнение;

• Enter - заносит содержимое ячейки FC в ячейку памяти с адресом, записанным в

СК;

• Clear - возвращает машину к первоначальному состоянию;

• Reset - сбрасывает счетчик команд на ноль;

• Stop - обеспечивает аварийную остановку программы (своеобразный "стоп-кран" машины).

Еще одним важным органом управления является переключатель режима работы модели. Существует возможность работать в двух режимах: пошаговый (Step) и автоматический (Auto). Автоматический режим подразумевает, что программа будет выполнять все действия до тех пор, пока не возникнет причин для остановки. В число этих причин входят: команда останова (конец программы), конец памяти (регистр СК содержит адрес последней доступной ячейки памяти - F816), возникновение ошибки. Пошаговый режим отличается тем, что после выполнения одной операции необходимо нажать кнопку Start для выполнения следующей. Этот режим очень удобен для изучения логики работы машины при исполнении и отладке различных программ.

В окне операций отображается мнемоническая запись выполняемой операции; коды операций можно посмотреть в разделе «команды Неймана», входящем в состав комплекса.

Интересно посмотреть на реакцию апплета при выполнении команд. Например, при выполнении команды ввода в данном окне появляется надпись: Input to Memory, что означает, что осуществляется ввод в ячейку памяти, адрес которой находится в регистре СК. В случае выполнения команды вывода в этом же окне появляется надпись: Output from N, где N - адрес ячейки памяти, из которой осуществляется вывод. Любая программа заканчивается командой останова, в этом случае в окне операций появляется надпись Stop. Это означает, что машина прекратила выполнение программы и остановилась.

В апплет заложена система контроля, которая отслеживает ошибки, возникающие при выполнении программы пользователя. Факт возникновения ошибки фиксируется в окне ошибок. Вот перечень возможных ошибок и причин их возникновения.

1. Division by zero (деление на ноль) - если делитель при выполнении операций с кодами 04 или 05 равно нулю;

2. Overflow (переполнение) - если результат операции выходит за допустимый для чисел интервал значений;

3. Invalid operation (недопустимая операция) - если команда имеет неправильный формат или содержит недопустимые символы;

4. Incorrect address (неправильный адрес) - если формат адреса, вводимый в окно СК, неверен либо содержит недопустимые символы;

5. Program is Stopped (программа остановлена) - если программа была остановлена пользователем.

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

Документация и методические материалы

Помимо изготовления Java-реализации УК «Нейман», описанной выше, в состав программно-методического комплекса также входят подробные справочные материалы, которые отражают не только особенности работы с самим апплетом, а также и сведения о самой модели, о ее предназначении, возможностях и пр. В результате получился полноценный on-line комплекс, в котором можно не просто познакомиться с информацией, но и поработать с моделью.

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

Методические материалы оформлены в виде набора связанных между собой HTML страниц, которые в совокупности с Java-апплетами составляют единый комплекс по изучению архитектуры ЭВМ на базе модели УК «Нейман».

Опишем подробнее структуру данного комплекса. Он состоит из двух больших разделов, которые, в свою очередь, имеют подразделы, раскрывающие суть отдельных тем.

Первый раздел включает вопросы, связанные с устройством и принципом работы модели в УК «Нейман». Здесь представлено описание самой машины, предложенное И. Г. Семакиным в учебнике [3], разъясняется структура команды и полная система команд машины; дается инструкция по работе с апплетом, а также инструкция по эксплуатации, раскрывающая особенности данной Java-реализации. В этом же разделе можно запустить апплет с моделью, а также ознакомиться с источниками информации, из которых можно подробнее узнать о модели УК «Нейман».

Второй раздел называется «Примеры задач». Этот раздел наиболее ценен с методической точки зрения, т. к. представляет собой набор типовых задач для использования в учебном процессе. Описание каждой задачи включает: постановку, идею решения и разъяснение по написанию программы. Кроме текста программы, который пользователь может набрать в «чистом» (т.е. не содержащим в памяти никакой информации) апплете, предлагается апплет с уже загруженной в память программой. Это позволяет не тратить время на набор программы (особенно это актуально на последних задачах, которые велики по своему объему), а сосредоточить внимание на том, как она работает.

Для удобства навигации организована система ссылок, по которым можно без труда переходить между разделами и подразделами, подняться на уровень вверх или вернуться на главную страницу. Также имеется возможность в любое время обратиться к инструкции или к «чистому» апплету, загрузить который можно независимо от выполняемых задач.

Основанная на принципах, предложенных И. Г. Семакиным, новая Java-реализация модели УК «Нейман» дает некоторые преимущества и дополнительные возможности по сравнению с авторской MS-DOS версией. В частности, полученный в ходе выполнения

данной работы программно-методический комплекс размещен в сети Шете! [6], что обеспечивает к нему свободный доступ для всех желающих. Таким образом, результаты работы могут не только быть использованы на уроках в школе, но и служить удобным средством для дистанционного самообразования.

Внешний вид главной страницы этого комплекса представлен на рис. 3.

3 Учебный компьютер Нейман - Microsoft Internet Explorer - [Автономная работа] - jffjxj

| Файл Правка Вид Избранное Сервис Справка т

J ^ Назад * ^ • ф 2) 41 Ф Поиск Пй Избранное ^Журнал | 1|^» ^ ШЙ Й О *v

J Адрес Q D:\STR_INT\glavnaja.html  ^Переход

УК Нейман

Главная страница <• Описание машины

4 Система команд Инструкция <♦ Запустить УК Нейман Библиография

Примеры задач:

<• Самая простая задачка 4 Линейные программы Задачи на условие

4 Циклические задачи Задачи для решения

Скачать Ява-версию УК Нейман

Вас приветствует УК Нейман

Я очень благодарен Вам ia посещение »тон страннчкн !!!

Башему вниманию представлена on-line версия одной из моделей процессора PC - Учебный Компьютер Нейман

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

Команды реального процессора сложны, поэтому и создаются модели, позволяющие отбросить второстепенные детали и увидеть сам принцип организации его работы с указанными объектами Оптимальное (рекомендуемое) расширение экрана для наилучшего просмотра - 800 х 600

Для навигации по сайту пользуйтесь панелью слева, на ней отображены все разделы сайта Удачи!

УК Нейман работает только с целыми числами, кг

Все пожелания и критику Вы можете высказать автору, написав ему письмо, за что он будет ОЧЕНЬ признателен!

Г отово

J, Мой компьютер

Рис.3. Главная страница комплекса УК «Нейман»

Опыт применения комплекса в учебном процессе

Для определения методической полезности разработанного комплекса в применении его в учебном процессе было решено поставить педагогический эксперимент, преследующий следующие главные цели:

• определить степень полезности данного комплекса для изучения соответствующей темы школьного курса информатики;

• сравнить уровень результативности изучения материала с применением данного продукта при самостоятельной работе учащихся (опираясь на учебную инструкцию) или при классическом подходе (изучение под руководством учителя).

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

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

Следует также отметить, что потенциал применения этого средства обучения достаточно широк. Его не только можно использовать на уроках информатики при изучении материла одной из тем курса (архитектура ЭВМ), но и организовать самостоятельный курс с практическими занятиями во всех формах, в том числе и с применением дистанционной формы обучения. Тут пригодится все: и разобранные задачи, и их разноуровневый характер, и возможности модели как тренажера по отработке умений решать эти задачи. Кроме всего этого, такая реализация дает учителю огромное поле для деятельности при разработке своих методик занятий и методов обучения.

Статья представляет собой изложение основных результатов дипломного проекта, выполненного в 2004-2005 гг. Автор выражает благодарность доценту кафедры «Мультимедийной дидактики и ИТО» ПГПУ Е.А. Еремину за руководство дипломной работы и помощь в подготовке статьи.

Библиографический список

1. Еремин, Е. А. Динамические модели и иллюстрации на базе апплетов в современных электронных учебных материалах / Е. А. Еремин // Информационные компьютерные технологии в образовании. Вып.1 - Пермь: Перм. гос. пед. ун-т, 2005. - С. 119-130.

2. Семакин, И. Г. Преподавание базового курса информатики в средней школе. Методическое пособие / И. Г. Семакин Т. Ю. Шейна. - М.: Лаборатория Базовых Знаний, 2002.

3. Информатика. Базовый курс для 7-9 классов / под. ред. И. Г. Семакина и др. - М.: Лаборатория Базовых Знаний, 2001.

4. Информатика. Задачник-практикум. В 2 т. Том. 1. / под. ред. И. Г. Семакина, Е. К. Хенне-ра. - М.: Лаборатория Базовых Знаний, 2000.

5. Основы информатики и вычислительной техники в базовой школе. Пособие для учителя / под ред. И. Г. Семакина. - Пермь, 1995.

6. http://geocities.com/mpapylev/neyman/glavnaja.html.