Необходимость развития производства отечественной вычислительной техники требует включения изучения ее основ в школьный курс информатики. При этом возможны три подхода: «декларативное изложение материала, привязка к одной из существующих ЭВМ, использование программных моделей вычислительных машин» [10]. Рассмотрим последний метод как наиболее подходящий для школьного курса.
Идея замены реально существующей ЭВМ упрощенной учебной моделью появились достаточно давно. Например, в журнале «Математика в школе» проблема подробно обсуждалась уже в 1977 г. [1]. Введение в 1985 г. курса
«Основы информатики и вычислительной техники» сделало знакомство школьников с этим вопросом массовым, что дало рассматриваемому методу новый толчок для развития. В нескольких учебниках, вышедших в период становления курса в школе, предложены первые модели компьютера: «Кроха» [11], «Нейман» [8, 12] и «Малютка» [14]. Они были предназначены для демонстрации основных принципов выполнения программы в вычислительной машине. Особо отметим, что модели были подробно разработаны, например, в «Неймане» и «Малютке» программа могла представляться как в двоичном виде, так и на языке ассемблер.
В зарубежной литературе также применялось изложение материала на основе учебных моделей. Большую известность, в частности, получила разработанная в 1965 г. модель LMC (Little Man Computer; дать краткий однозначный перевод названия трудно, но речь идет о компьютере, в котором живет маленький человечек). Заметим, что очередное издание книги вышло в 2021 г. [16].
В Интернете часто встречаются отдельные материалы и примеры (см. [15]) для моделей TOYCOM («Компьютер-игрушка») и ANT («Муравей»). По своим возможностям они (как и LMC) похожи на упоминавшуюся выше «Малютку», так что для нас сейчас не представляют особого интереса. Не будем также рассматривать группу моделей для изучения аппаратного обеспечения, например: [7, 17].
В книге [3] изложение тоже построено на модели. В качестве новизны здесь стоит отметить появление в процессоре нескольких регистров; все операции производятся над содержимым регистров, а для записи (и чтения) их значений в память предусмотрены отдельные машинные инструкции. Но в отличие от современных процессоров, адреса памяти все равно помещаются непосредственно в коде инструкций, а не в регистрах.
Еще одной расширенной моделью, предназначенной для изучения программирования, является SIC («Simplified Instructional Computer» – «Упрощенный учебный компьютер») [2]. Имеется две разновидности модели: стандартная и с расширенным оборудованием (eXternal Equipment – SIC/XE). Стандартная модель пригодна для начального курса информатики, но каких-либо заметных преимуществ для этой категории учащихся не имеет.
Таким образом, существует широкий спектр «старых» моделей ЭВМ, предназначенных для школьников. Все они дают возможность наглядно продемонстрировать ученикам следующие ниже важные принципы устройства компьютера, так называемые принципы фон-неймановской архитектуры.
- Каждый компьютер имеет собственную систему команд, причем наборы машинных инструкций довольно похожи. Как ни удивительно, элементарные операции, лежащие в основе любой программы, очень просты (арифметические, логические, небольшой ассортимент условных команд и др.). И это не есть результат упрощенности модели, а свойство реальных компьютеров.
- Все инструкции компьютера и все его обрабатываемые данные кодируются в двоичной системе, что подчеркивает необходимость ее знания. Отсутствует принципиальное различие между двоичным кодом команды и кодом обрабатываемых ей двоичных чисел.
- Команды программы выполняются последовательно в соответствии со стандартным алгоритмом. Для изменения порядка следования есть специальные инструкции – условные переходы. Несколько их разновидностей позволяют обеспечить любую алгоритмическую структуру: развилку, выбор, цикл любого вида и процедуру.
- Память состоит из отдельных ячеек, каждая из которых имеет собственный числовой адрес. В ячейке может храниться команда или число. Последовательно расположенные в памяти команды образуют программу. Хранящиеся в последовательных ячейках числа формируют массив (правда, обсуждаемые сейчас модели из-за своей простоты сильно ограничены в работе с массивами).
- На основе учебных моделей удобно объяснить многие ограничения при компьютерной обработке данных, в частности, переполнение и конечный объем памяти [10].
Мы видим, что учебные модели при правильном педагогическом подходе могут формировать у учеников очень глубокие базовые знания о работе компьютера. Тем не менее перечисленные выше модели существенным образом ориентированы на вычислительные машины первых поколений и поэтому не отражают некоторых важных особенностей более современных компьютеров. Кратко перечислим их ограничения, имея в виду, что это не столько критика, сколько указание путей усовершенствования моделей [6].
- Модели обрабатывают только числа; на них нельзя показать даже простейшую работу с символами текста.
- Вследствие предыдущего, не рассматривается байтовая структура памяти как основа хранения данных разного размера. Только в «Неймане» сделана попытка продемонстрировать эту особенность, но на числах стандартной длины ее преимущества не видны.
- Не предусмотрен механизм работы с массивами данных.
- Не удается показать работу важных структур – подпрограмм.
- Отсутствует демонстрация взаимодействия с внешними устройствами.
- Ни одна модель не поддерживает обработку данных несколькими процессорами, хотя абсолютно все компьютеры сейчас многоядерные. Принципы же параллельной обработки далеко не очевидны [4].
Для расширения возможностей учебной модели автор в 1997 г. предложил новую модель компьютера «Е97» [5, 6, 15], которая лучше соответствовала реальному устройству компьютеров четвертого поколения. В качестве основы была выбрана архитектура известного семейства PDP. Эта архитектура являлась образцом логичного и прозрачного построения. Кроме того, многие отечественные комплекты учебной вычислительной техники (КУВТ) были PDP-совместимыми.
Очень полезна для изучения базовых идей взаимодействия компьютера с внешними устройствами разработка К.Ю. Полякова «ЛамПанель» [13] (совместима с «Е97»). Управляя включением-выключением лампочек на табло, школьники на практике видят, как организуется компьютерное управление автоматическими устройствами.
Быстрое развитие вычислительной техники привело к тому, что и модель «в стиле PDP» постепенно устарела. Современные процессоры строятся на основе так называемой RISC-технологии, обладающей серией специфических особенностей. Для подтверждения важности идей RISC сошлемся на тот факт, что все последние модели процессоров Intel для повышения производительности используют внутреннее RISC-ядро.
Для RISC-процессоров характерно тщательно отобранная система команд, куда включены только самые необходимые машинные инструкции. Формат команд стандартизирован и максимально упрощен. Все эти меры позволяют существенно оптимизировать время выполнения инструкций. Для построения учебных моделей, RISC-архитектура подходит прекрасно, поскольку она максимально проста и единообразна.
Вероятно, наиболее известной учебной моделью RISC-машины является созданная классиком Д. Кнутом детально проработанная модель MMIX [9]. Она, несомненно, избыточна для школьного курса информатики, но упрощенную версию вполне можно было бы использовать. Тем не менее, несмотря на авторитет Д. Кнута и тиражи его книг, модель пока не получила большого распространения в образовании. Возможно, дело в отсутствии подходящей программной реализации для изучения модели: существенные требования к ее интерфейсу хорошо описаны в [10].
Наконец, в последние годы в университете Беркли появилась еще одна RISC-модель – RISC-V (V означает римскую пятерку и является порядковым номером). Первоначально она была создана для обучения студентов, но постепенно на ее основе начали появляться все более сложные контроллеры и микропроцессоры. В России на основе архитектуры RISC-V серийно выпускается микрочип «Амур». Опубликованы сообщения о работах по созданию более мощного отечественного процессора. Таким образом, RISC-V удачно сочетает черты учебной модели и реально выпускаемого процессора.
Замечательной для нашего осуждения чертой является простота системы команд процессора: в его базовой части (маркируемой RV32I – 32-битный набор целочисленных операций), всего 40 инструкций.
Особо подчеркнем, что в стандарте RISC-V заложена возможность совместной работы нескольких ядер на общую память.
Для первоначального знакомства с обсуждаемой архитектурой в Интернете предлагается несколько версий имитаторов. Автору наиболее подходящей для школьного уровня кажется онлайн-реализация Venus
(https://venus.kvakil.me/).
Таким образом, многолетняя практика подтверждает пользу от применения учебных моделей в целях знакомства с базовыми принципами работы компьютеров. К сожалению, модели из устоявшихся учебников отстали от быстрого развития вычислительной техники. В частности, они не отражают характерных особенностей современных RISC-технологий, используемых во всех современных процессорах. Особо следует отметить отсутствие многоядерных моделей.
В связи с необходимостью развития отечественной вычислительной техники внимание к вопросам ее устройства становится еще более актуальным.
Список литературы
- Антипов И.Н. Учебная модель ЭВМ // Математика в школе. – 1977. – № 2. – С. 55–59.
- Бек Л. Введение в системное программирование. – М. : Мир, 1988. – 448 с.
- Брукшир Дж. Г. Введение в компьютерные науки. Общий обзор. – М. : Вильямс, 2001. – 688 с.
- Еремин Е.А. Действительно ли процессор с двумя ядрами сосчитает любую задачу вдвое быстрее? // Информатика («Первое сентября»). – 2015. – № 4. – С. 18–32.
- Еремин Е.А. Как работает современный компьютер. – Пермь : ПРИ-ПИТ, 1997. – 176 с.
- Еремин Е.А. Популярные лекции об устройстве компьютера. – СПб. : BHV-Петербург, 2003. – 272 с.
- Жмакин А.П. Архитектура ЭВМ. – СПб. : БХВ-Петербург, 2006. – 320 с.
- Информатика : учеб. по базовому курсу / И.Г. Семакин, Л.А. Залогова, С.В. Русаков и др. – М. : Лаборатория базовых знаний, 1998. – 464 с.
- Кнут Д.Э. Искусство программирования. Т. 1, вып. 1. MMIX – RISC-компьютер нового тысячелетия. – М. : И.Д. Вильямс, 2007. – 160 с.
- Матюшкина-Герке О.А. Учебные модели компьютера в курсе «Архитектура компьютера» в педагогическом вузе // Вестник МГПУ. Серия: Информатика и информатизация образования. – 2006. – № 7. – С. 128–130.
- Основы информатики и вычислительной техники : учеб. пособие для средних учебных заведений / А.Г. Гейн, В.Г. Житомирский, Е.В. Линецкий и др. – Свердловск : УрГУ, 1989. – 272 с.
- Основы информатики и вычислительной техники в базовой школе : пособие для учителя / под ред. И.Г. Семакина. – Пермь, 1995. – 346 с.
- Поляков К.Ю. Учебный компьютер «ЛамПанель» : практикум // Информатика («Первое сентября»). – 2012. – № 7. – С. 4–15.
- Сенокосов А.И., Гейн А.Г. Информатика : учеб. для 8–9 кл. шк. с углубен. изучением информатики. – М. : Просвещение, 1995. – 255 с.
- Учебные модели компьютера [Электронный ресурс]. – URL: https://emc.orgfree.com/ (дата обращения: 22.11.2024).
- Englander I., Wong W. The Architecture of Computer Hardware, Systems Software, and Networking: An Information Technology Approach. – Hoboken, NJ : Wiley, 2021. – 672 p.
- Mano M.M. Computer System Architecture. – Englewood Cliffs, NJ : Prentice Hall, 1993. – 544 p.