2.2 Аппаратные требования
Прикладная программа «Эмулятор многопортового запоминающего устройства» предназначена для использования на персональных компьютерах типа IBM PC 686/Pentium/AMD, работающих под управлением операционных систем MS Windows 95/98/NT/ME/2000/ XP/2003/Vista.
Необходимо наличие персонального компьютера с процессором Intel 486 и выше. Оперативной памяти на персональной ЭВМ должно быть не менее 64 Mбайт. Для уменьшения зрительного утомления монитор компьютера должен иметь диагональ не менее 17 дюймов.
3 Специальные условия применения и требования организационного, технического и технологического характера
Опытная эксплуатация прикладной программы показывает, что работа с ней не требует специальной подготовки и осваивается пользователем самостоятельно в течение 10 – 15 минут. В п.п. 3.1 и 3.2 настоящего рекламно-технического описания представлены руководства программиста и пользователя.
Количественные характеристики прикладной программы
Название |
Наличие |
Количество |
Примечание |
|
Количество основных окон прикладной программы |
|
1 |
окно |
|
Окно «О программе» (информация об авторах, версия программного продукта, год издания, лицензионное соглашение и т.п.) |
|
1 |
окно |
|
Мультимедийные объекты: видео голос диктора аудиофрагменты анимационные ролики другое (указать) |
|
- - - - - |
объектов |
|
Список рекомендуемых источников: печатные источники аннотированные интернет-ресурсы |
|
2 |
источника |
|
- |
ресурсов |
|
||
Вспомогательные материалы: инструкция по установке/удалению справка (руководство пользователя) тестовый пример руководство программиста подсказки нормативные документы (ГОСТы, СНиПы и т.д.) другое (указать) |
|
-
1 1 1 -
- - |
|
|
3.1 Руководство программиста
Прикладная программа не требует её установки или дополнительной отладки. Для запуска программы необходимо перейти в директорию расположения папки и открыть файл «Эмулятор.exe».
Исходными данными для работы программы являются: разрядность адресного и информационного пространства запоминающего устройства, количество портов и режим работы эмулятора.
На рисунке 1 представлена структурная схема эмулятора многопортного ЗУ.
Рисунок 1 – Структурная схема эмулятора многопортового запоминающего устройства
Доступ к ячейкам осуществляется как через левую, так и через правую группу шин, причем если Л- и П- адреса различны, никаких конфликтов не возникает.
Помимо возможности доступа к ячейкам с двух направлений, двухпортовая память снабжается средствами для обмена сообщениями между подключенными к ней устройствами: системой прерывания и системой семафоров. Первую из них называют аппаратной, а вторую – программной. В системе прерываний двухпортового ЗУ две последние ячейки микросхемы (с наибольшими адресами) используются в качестве «почтовых ящиков» для обмена сообщениями между устройствами, подключенными к Л- и П- портам.
Система семафоров – это арбитры, регулирующие очередность обращения двух или более независимых активных устройств к общему ресурсу. Механизм действия семафоров в двухпортовом ЗУ основан на том, что несколько ячеек памяти, не входящих в рабочее пространство, используются как указатели занятости определенных сегментов (банков) памяти. Нулевой код в семафоре соответствует занятому банку, а ненулевой – свободному.
Алгоритм программного арбитража характеризуется следующей последовательностью действий [1]:
активное устройство формирует запрос на обращение к банку памяти путем записи «0» в соответствующую ячейку, используемую как семафор;
активное устройство считывает состояние семафора, сравнивает полученный код с нулевым кодом и, если банк занят (код ненулевой) переходит в состояние ожидания;
если банк свободен, активное устройство получает доступ к его содержимому;
активное устройство заканчивает обмен и освобождает занимаемый банк памяти путем записи «1» в соответствующий семафор.
На рисунке 2 показано отличие синхронного двухпортового ЗУ от асинхронного. Операции обращения к ячейкам асинхронной памяти могут выполняться в произвольные моменты времени при условии соблюдения необходимых временных соотношений между сигналами установки адреса, управления, чтения/записи данных.
Отличительными особенностями синхронной памяти являются: синхронный интерфейс с раздельными сигналами синхронизации «CLK_R» и «CLK_L» и внутренние счетчики (Internal counters) для организации пакетного режима передачи данных [1, 2]. Поскольку обязательным условием доступа активных устройств к пространству такой памяти является их взаимная синхронизация от одного системного таймера, никакой дополнительной логики (арбитраж, семафоры или прерывания) для разрешения конфликтных ситуаций не требуется.
|
|
а – синхронный тип; |
б – асинхронный тип |
Рисунок 2 – Структурные схемы двухпортового ЗУ |
|
Архитектура синхронного двухпортового ЗУ оптимизирована для применения в вычислительных сетях и системах беспроводной телефонии (базовые станции), обеспечивая следующие синхронные режимы работы памяти: «Pipelined» (конвейерный), «Flow-through» (сквозной) и «Burst» (пакетный).
Режимы «Pipelined» и «Flow-through» отличаются структурой выходного устройства. В первом случае дополнительный буферный регистр-защелка по выходу (Output register) позволяет организовать конвейерный доступ к данным (одновременно с чтением по предыдущему адресу осуществляется запрос по следующему).
Режим «Burst» предназначен для выполнения операций над последовательными потоками параллельных данных (например, потоки речевых сообщений) и имеет некоторое сходство с работой памяти FIFO. Работа в этом режиме начинается с параллельной загрузки начального значения внутреннего счетчика через внешнюю шину адреса. В дальнейшем при каждом обращении к памяти состояние внутреннего счетчика циклически инкрементируется. Наличие в синхронном двухпортовом ОЗУ счетчиков адреса позволяет освободить ресурсы управляющего процессора для других операций [2].
На рисунке 3 представлена схема алгоритма программного эмулятора многопортового ЗУ.
|
|
Рисунок 3 – Схема алгоритма программного эмулятора
Д
_____________________________________________________________________________________________________________________
2.
Бройдо, В.Л. Архитектура ЭВМ и систем
[Текст]: учебник / В.Л. Бройдо, О.П. Ильина.
- 2-е изд. - СПб.: Питер, 2009. - ISBN
978-5-388-00384-3.
«procedure FormCreate(Sender: TObject)» – процедура, которая создаёт и выводит рабочее окно программы.
«procedure Button3Click(Sender: TObject)» – процедура, которая при нажатии на кнопку «Заполнить память» заполняет память случайными данными.
«procedure Button4Click(Sender: TObject)» – процедура, которая при нажатии на кнопку «Start/Stop» включает или отключает программный таймер.
«procedure Timer1Timer(Sender: TObject)» – процедура, в которой выполняется эмуляция процессов: чтение-чтение, чтение-запись, запись-запись.
«procedure N641Click(Sender: TObject)» – процедура, которая задаёт объём памяти равный 64 килобайт.
«procedure ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode; var ScrollPos: Integer)» – процедура, посредством которой происходит прокрутка диаграмм работы программы.
«procedure N3Click(Sender: TObject)» – процедура, которая при нажатии на кнопку «Выход» закрывает программу.
«procedure N2Click(Sender: TObject)» – процедура, которая при нажатии на кнопку «Открыть» выводит диалоговое окно, с возможностью выбора текстового файла.
«procedure N9Click(Sender: TObject)» – процедура, которая переводит программу в режим запись-запись.
«procedure N7Click(Sender: TObject)» – процедура, которая переводит программу в режим чтение-чтение.
«procedure N8Click(Sender: TObject)» – процедура, которая переводит программу в режим чтение-запись.
«procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState)» – процедура, которая раскрашивает ячейки памяти в определённый цвет.
«p» – переменная типа Integer, которая хранит число, прочитанное из текстового файла.
«h» – переменная типа Integer, которая хранит значение ползунка горизонтальной прокрутки.
«i» – переменная типа Integer, в которую заносятся числа от 1 до 65536.
«j» – переменная типа Integer, в которую заносятся числа от 1 до 8.
«f» – переменная типа TextFile, в которую заносится текстовый файл.
«r1» – переменная типа Integer, в которую заносится адрес строки к которой обращается процесс во время чтения.
«r2» – переменная типа Integer, в которую заносится адрес строки к которой обращается процесс во время чтения.
«w1» – переменная типа Integer, в которую заносится адрес строки к которой обращается процесс во время записи.
«w2» – переменная типа Integer, в которую заносится адрес строки к которой обращается процесс во время записи.
«Buf» – переменная типа string, в которую заносится строка с числами, прочитанная из текстового файла.
«Random» – функция, которая генерирует случайные числа из заданного диапазона.
«Length» – функция, позволяющая получить число символов в строке.
«Copy» – функция, позволяющая копировать символы из строки.
«Refresh» – процедура перерисовки содержимого памяти.
«Volume» – процедура задающая размеры памяти.
«FillRect» – процедура перерисовки содержимого ячеек памяти.
«TextOut» – процедура вывода значений в ячейки памяти.
3.2 Руководство пользователя
Прикладная программа «Эмулятор многопортового запоминающего устройства» позволяет исследовать режимы: чтения/записи многопортовых асинхронных и синхронных запоминающих устройств произвольного объема; сокрытия/извлечения сообщений в стеганографических системах.
Внешний вид программы представлен на рисунке 4.
Рисунок 4 – Внешний вид программы
В верхнем левом углу программы область для просмотра содержимого регистров «АХ» и «ВХ». В нижнем левом углу программы находится временная диаграмма. В правой части программы находится область памяти. Чтобы заполнить память данными необходимо нажать по кнопке «Заполнить память» или в меню «Файл» выбрать пункт «Открыть» и в появившемся диалоговом окне (см. рисунок 5) выбрать нужный файл.
После открытия файла эмулятор заполнит память автоматически (см. рисунок 6).
Задание объёма памяти осуществляется в меню «Сервис» → «Настройки» → «Объём памяти» и в выпадающем списке выбрать требуемый значение (см. рисунок 7).
Рисунок 5 – Диалоговое окно для открытия файла
Рисунок 6 – Внешний вид заполненного адресного и информационного пространства запоминающего устройства
Рисунок 7 – Меню выбора объёма памяти
Для того чтобы выбрать требуемый режим работы эмулятора необходимо в меню «Сервис» выбрать пункт «Эмулятор» и в выпадающем списке выбрать требуемый режим (см. рисунок 8).
Рисунок 8 – Меню выбора режима работы эмулятора
Достоинствами разработанной программы является:
адаптивность к произвольной архитектуре и типу многопортового запоминающего устройства;
возможность демонстрации в графическом режиме обращений к ячейкам ЗУ и отображения результатов на временной диаграмме;
возможность модификации исходного кода прикладной программы с учетом появления на рынке новых типов запоминающих устройств.
Прикладная программа ориентирована для наглядного представления архитектуры и режимов работы многопортовых запоминающих устройств, режимов сокрытия/извлечения сообщений в цифровые изображения с использованием многоканального (многослойного) способа записи кодов объектов.
4 Условия передачи программной документации или ее продажи
Передача электронного ресурса и прилагаемой к нему сопровождающей документации осуществляется в соответствии с лицензионным договором о передаче неисключительных прав на использование произведения.
