УДК 681.3(075.3)
УЧЕБНАЯ МОДЕЛЬ МИКРОПРОЦЕССОРА
М.В. Чаусов, С.С. Смирнов, С.М. Чаусова
Ивановский государственный химико-технологический университет
Компьютерное моделирование функционирования устройств микропроцессорной техники на базе пакета прикладных программ Simulink в среде MatLab.
Разработчики микропроцессорной техники не особенно склонны заботиться об удобстве ее изучения. Но людям, использующих вычислительную технику, в особенности инженерных специальностей в области разработки программного обеспечения и информационных систем, необходимо знать основы построения процессоров и организацию взаимодействия основных устройств с ними. По крайней мере, имеются два альтернативных варианта изучения данного вопроса. Первый - разобраться в работе реально существующего компьютера и второй -рассмотреть некоторую упрощенную его модель. Каждый способ имеет свои достоинства и свои недостатки. Полученные знания при изучении реального компьютера сегодняшнего дня могут быть бесполезными в будущем, так как его структура и элементная база постоянно изменяются. При этом любая операция, выполняемая сегодня программным обеспечением, может быть завтра реализована аппаратным способом и наоборот. С другой стороны, изучение реального компьютера требует осторожных и не любых экспериментов на нем. В этом плане модельная реализация компьютера и его устройств более предпочтительна для изучения. Модель хотя и отражает только наиболее существенные (базовые) черты компьютера, и в частности микропроцессора, ее легче понять, проводя на ней различные эксперименты. Детальный обзор существующих учебных моделей, как отечественных, так и зарубежных приведен Е.А. Ереминым [1]. Автор замечает, что проблема не в отсутствии мо-
делей как таковых, а скорее, наоборот, в их многообразии и не всегда хорошем соответствии принципам работы современных компьютеров. Одни модели реализованы аппаратно, другие программно или комбинированно. Эти модели в основном предназначены для начальных этапов изучения архитектуры (системы команд, командный цикл, способ адресации, уровни памяти, способы взаимодействия процессора с памятью и внешними устройствами) вычислительных систем, где компьютерное железо (устройства, узлы, блоки, и элементы) не являются основным предметом изучения. В большей степени это относится к программным моделям учебных ЭВМ [2].
В соответствии с общей концепцией создания образовательных ресурсов нового поколения каждый образовательный ресурс (в том числе и лабораторный практикум), кроме всего прочего, обязательно должен включать подсистему моделирования [3]. Для их создания необходим соответствующий набор инструментальных средств (ИС). Сегодня таким набором инструментальных средств, для визуального динамического моделирования широкого круга предметных областей, и в частности, организации ЭВМ и систем, является пакет расширения системы МАТЬАВ - Simulink и его дополнительные компоненты [4-5], пакет -LabVIEW [6], пакет - SuperScalar [7]. Подсистема моделирования динамических процессов SIMULINK это конструктор, с помощью которого собираются и объединяются блоки, соответствующие отдельным элементам динамической сис-
темы в единое целое для изучения их поведения во времени и имитации различных ситуаций. Наличие в составе продуктов семейства MATLAB/SIMULINK инструментальных средств генерации кодов Code Generation Tools позволяет программировать микропроцессоры фирм Motorola и Texas Instruments. Язык программирования LabVIEW не похож на другие языки программирования. С его помощью создается не программа, как мы ее привыкли представлять, а некий виртуальный инструмент, предназначенный не только для моделирования тех или иных процессов, но и для управления аппаратными средствами и исследования реальных физических объектов. Пакет SuperScalar успешно применяют для анализа различных аспектов проектирования архитектуры и структурной организации компьютерных систем.
Известно, что базовые компоненты цифрового компьютера это - логические вентили (gate) (или логические переключающие схемы) и ячейки двоичной памяти (memory cell) [8]. Объединяя множество таких простейших элементов, можно создать устройство способное выполнять вычисления, - компьютер. Обширнейшей библиотекой элементов цифровой техники располагает система моделирования Simulink, что и определило ее выбор.
Структура процессора станет совершенно понятной, если задуматься над тем, какие операции ему предстоит выполнять при выполнении машинной команды. Эту процедуру иллюстрирует рис.1 (извлечение команды, интерпретация команды - 1; извлечение данных -2,3; обработка данных - 4; запись данных - 5; вычисление следующей команды - 6).
Рис.1. Схема работы процессора при выполнении команды Приложение к журналу «СОВРЕМЕННЫЕ НАУКОЕМКИЕ ТЕХНОЛОГИИ» №2 2009
Цикл выполнения команды на аппаратном уровне (рис.1) реализуется с помощью: регистра команд - РК; дешифратора кода операции - ДшКО; блока управления операциями - БУОп; датчика сигналов - ДС; арифметико-логического устройства - АЛУ; регистра признаков -РПр; регистра результата -РР; счетчика команд - СК; регистра адреса - РА; дешифратора адреса - ДшА; оперативно-запоминающего устройства - ОЗУ; устройства управления УУ. Хотя ОЗУ не входит в состав процессора, тем не менее,
при моделировании работы процессора информацию необходимо где-то хранить. Применительно к процессору это могут быть собственные регистры или кэшпамять, расположенная на одном кристалле с процессором.
Модельная реализация схемы работы процессора (рис.1) на базе ППП Simulink в среде МАТЬАВ представлена на рис.2. Модель которая включает в себя ряд субмоделей - отдельных структурных узлов процессора и памяти.
Рис.2 . Модельная реализация структуры процессора ^-модель)
Основная модель процессора объединяет в себе субмодели таких узлов как: преобразователей кодов команд и данных в сигналы в виде прямоугольных импульсов; регистров команд и данных; устройств управления шинами (команд, адреса и данных); дешифраторы; переключатели, устройства ввода-вывода; блоки для выполнения арифметических операций; статического ОЗУ; согласующих элементов. Причем, многие из этих суб-
моделей сами имеют свои субмодели. В качестве примера можно привести субмодель относительно несложного четырехразрядного блока суммирования (рис.3). Сумматор имеет четыре входа по два на каждый разряд для операндов А и В и пять выходов, из которых четыре отражают результат операции суммирования и один переполнения разрядной сетки. Субмодель для каждого разряда этого сумматора образуют два одноразрядных
сумматора и один логический элемент OR (Рис.4). В свою очередь, модель одноразрядного сумматора представлена на рис.5. Он имеет 2 входа (входы данных -
A и B) и 2 выхода (выход результата -Exit, и выход сигнала переноса - POut). По такому же принципу построены и все другие узлы процессора и памяти.
Рис.3. S - Модель четырехразрядного сумматора
В укрупненной модели (рис.1), как и в реальном процессоре, можно выделить те же структурные элементы: устройство управления (УУ), регистры команд (Рк) и данных (Рд), арифметикологическое устройство (АЛУ), память,
Operator 1
Рис.5. S - Модель одноразрядного сумматора
шины управления адреса и данных. Модель оперирует двоичными числами и способна выполнять ряд команд арифметических операций (сложение, вычитание, умножение), записанных в регистрах команд; обращаться к ячейкам памяти по
указанным адресам. В процессе работы с моделью можно производить: выбор
арифметических операций; задавать адреса операндов в памяти; записывать в память и модифицировать значения операндов хранимых в памяти; следить по временным диаграммам виртуальных осциллографов за работой отдельных узлов процессора и прохождением сигналов по шинам; выводить результат операции как на виртуальный осциллограф, так и на виртуальный дисплей.
Работу модели проиллюстрируем на выполнении операции сложения двух
простых чисел. Предварительно в ОЗУ запишем набор операндов, над которыми будут производиться действия. Для этого в ячейках блока “Memory_16Cell” с помощью генераторов импульсов равных числу разрядов заносимых чисел и переключателей заполняем ячейки памяти. Информация в ячейке заносится, начиная с младшего разряда двоичного числа.
После этого открываем окно блока регистра команд “Command Register” и настраиваем его на выполнение той или иной арифметической операции. Вид окна представлен на рис.6:
Рис.6. Окно настройки регистра команд
Структура команды состоит из кода операции и адресов операндов, которая заполняется пользователем. Разряды регистра команд, отведенных под код операции, в зависимости от операции, могут принимать значения: [0 0] - команда сложения; [0 1] - команда вычитания;
[1 0] - команда умножения.
В полях адресов операндов 1 и 2 (Address1 и Address2) занесем соответственно адреса строк [Ю R2] и адреса столбцов [С1 С2] отвечающим тем или иным ячейкам памяти, то есть [ЮС1] и [Я2С2].
Закроем окно и запустим модель на выполнение.
Проследим пошагово на виртуальных осциллографах (Рис.7), в соответ-
ствиие с импульсами тактового генератора, прохождение информационных сигналов в шинах и функциональных узлах модели процессора.
Рис.7. Визуализация прохождения сигналов в шинах и в исполнительных блоках в процессе решения задачи суммирования
Здесь: А) прохождение сигналов на шинах адреса и данных; В) результат вычислений после исполнительного блока.
Из осциллограммы (А) видим, что на шине адреса соответствующему первому импульсу тактового генератора устанавливается адрес первого операнда [0010], на втором такте адрес второго операнда [1001]. Верхний сигнал адресной шины соответствует старшему разряду. Как только выставились сигналы на адресной шине, из памяти по указанным адресам, считываются значения операндов и выставляются на шине данных в виде прямоугольных импульсов при смене знака сигнала тактового генератора. Синхронизация импульсов на шине данных производится от своего тактового генератора, работающего с половинной
тактовой частотой от первого. Согласно осциллограмме (А) значение первого операнда соответствует коду 0011, а второго 0110.
На осциллограмме (В), под сигналами тактового генератора, видим сигнал, отражающий наличие или отсутствие ошибки выполнения арифметической операции. В данном случае уровень сигнала низкий, что указывает на отсутствие переполнения. Ниже приведены импульсы, отражающие результат расчета [1001], выполненным АЛУ на четвертом такте исходного генератора.
Таким образом, данный подход моделирования позволяет в удобной форме проводить процесс изучения работы сложных для понимания устройств и узлов ЭВМ.
ЛИТЕРАТУРА
1. Еремин Е.А. Популярные лекции по устройству ПК.
2. Жмакин А.П. Архитектура ЭВМ. СПб.: БХВ-Петербург, 2006. - 320 с.
3. Информатизация образования: направления, средства, технологии: Пособие для системы повышения квалификации / Под общ. Ред. С.И.Маслова. - М.: Издательство МЭИ, 2004. -865 с.
4. Потемкин В.Г. МА^АВ 6: среда проектиро-
вания инженерных приложений. М.: ДИАЛОГ-МИФИ, 2003. - 448 с.
5. Дьяконов В. Б1ши1шк 4. Специальный справочник. - СПб: Питер, 2002.-528 с.
6. Пейч Л.И., Точилин Д.А., Поллак Б.П. LABV^EW для новичков и специалистов. - М.: Горячая линия - Телеком, 2004. - 384 с.: ил.
7. Столингс, Вильям. Структурная организация и архитектура компьютерных систем, 5-е изд..: Пер. с англ.- М.: Издательский дом “Вильямс” , 2002. - 896 с.
MICROPROCESSOR TRAINING MODEL
M. Chausov, S. Smirnov, S. Chausova
Computer modelling of functioning of the devices of microprocessor technics on the basis of Simulink application package programs in the MatLab media.
Новые издания Химия билирубина и его аналогов
«Издательская группа иЯ^» выпустила монографию «Химия билирубина и его аналогов» - авторы Антина Е.В., Румянцев Е.В.
Книга вышла при поддержке Российского фонда фундаментальных исследований.
Настоящее издание отражает результат многолетней работы коллектива сотрудников Института химии растворов РАН и ИГХТУ. Большой вклад в выполнение экспериментальных исследований и анализ научного материала, которые нашли отражение в монографии, внесли д.х.н. М.Б. Березин, к.х.н. Г.Б. Гусева, Е.В. Баланцева, аспиранты и студенты С.П. Макарова, А.Е. Логинова, А.В. Смирнов, И.И. Вялов, А.В. Соломонов, Ю.С. Марфин и др.
В монографии изложены результаты фундаментальных и прикладных исследований билирубина как основного представителя желчных пигментов человека и его синтетических аналогов - разнообразной группы соединений, объединяемых под общим названием «линейные олигопирролы». Рассмотрены основные структурные типы линейных олигопирролов, их классификация и номенклатура, особенности молекулярной структуры и методология препаративного синтеза. Описаны их метаболические пути и биохимические функции в живых организмах. Рассмотрены аспекты практического использования линейных олигопирролов и их производных.