Обзорный файл по лабораторным семестра
Автор: Н.В. Ефремов
Название: Создание и исследование процессорной системы на кристалле ПЛИС
Оглавление
- Введение
- Лабораторная работа 1. Учебно-отладочный стенд Intel DE 2-115
- Лабораторная работа 2. Архитектура системы команд процессора NIOS II
- Лабораторная работа 3. Представление символьной информации и вывод на LCD
- Лабораторная работа 4. Выделенный доступ к памяти в RISC процессорах
- Лабораторная работа 5. Взаимодействие программных компонентов
- Лабораторная работа 6. Ввод/вывод информации с использованием прерываний
Введение
Одной из профессиональных компетенций, которыми должны овладеть студенты, освоившие программу бакалавриата по направлению 09.03.01, является умение разрабатывать аппаратные и программные компоненты информационно вычислительных систем.
В формирование этой компетенции существенный вклад вносит дисциплина «Организация ЭВМ и систем», изучаемая в шестом и седьмом семестрах. Для выработки практических навыков у студентов предусмотрено выполнение цикла лабораторных работ в компьютерном классе, оборудованном учебно-отладочными стендами «Altera DE 2-70» и «Intel DE 2-115».
Условные обозначения и сокращения
- АЛУ – арифметико-логическое устройство
- АСК – архитектура системы команд
- ПЛИС – программируемая логическая интегральная схема
- ПО – программное обеспечение
- САПР – система автоматизации проектирования
- ЭВМ – электронная вычислительная машина
- IMP – Intel Monitor Programm – приложение для реализации и отладки процессорных систем
- NIOS II – 32-разрядный процессор второго поколения
- LCD – Liquid Crystal Display - жидкокристаллический дисплей
- VGA – Video Graphics Array - компонентный интерфейс
- UART – Universal Asynchronous Receiver Transmitter
- RISC – Reduced Instruction Set Computer
Лабораторная работа 1
Учебно-отладочный стенд «Intel DE 2-115». Приложение Intel Monitor Program (IMP) для работы со стендом
Цель работы: Приобретение навыков, необходимых для выполнения лабораторных работ по дисциплине «Организация ЭВМ и систем» с использованием стендов Intel DE 2-115 с помощью приложения Intel Monitor Program (IMP).
Объекты изучения:
- учебно-отладочный стенд Intel DE 2-115
- приложение Intel Monitor Program (IMP)
- процессорная система DE 2-115 Media Computer и её периферийные устройства
Планируемые результаты обучения:
После выполнения этой работы студенты будут знать:
- Какие компоненты включены в состав учебно-отладочного стенда DE2-115
- Какие ресурсы содержатся в кристалле ПЛИС
Смогут:
- Подключать учебно-отладочный стенд DE 2-115 к инструментальному компьютеру
- Создавать новые проекты в приложении IMP
- Загружать процессорную систему в кристалл ПЛИС стенда
- Определять состояния кнопок и ползунковых переключателей и управлять индикаторами
Порядок выполнения лабораторной работы:
Часть 1. Подключение стенда и запуск приложения IMP
- Подключите стенд к сети питания с переменным напряжением 220 вольт
- Подключите стенд к инструментальному компьютеру, используя крайний слева разъем USB (типа В)
- Подайте питание в стенд, нажав красную кнопку в верхней левой части стенда
- Запустите приложение Intel Monitor Program (IMP)
Часть 2. Создание нового проекта в IMP
- В меню File приложения IMP выполните команду New Project
- Выберите процессорную систему «DE2-115 Media Computer»
- Определите тип используемой программы (Assembly Program)
- Определите исходные файлы используемой в проекте программы
- Определите параметры системы
- Определите установки памяти процессорной системы
Часть 3. Реализация процессорной системы в учебном стенде
- Загрузите конфигурационный файл процессорной системы в кристалл ПЛИС
- Загрузите программу в память процессорной системы
- Запустите программу и проверьте правильность её выполнения
Часть 4. Использование приложения IMP для работы с портами ввода-вывода
- Откройте вкладку Memory основного окна IMP
- Наблюдайте состояние переключателей и кнопок стенда
- Управляйте зелеными и красными светодиодами
- Управляйте сегментами индикаторов шестнадцатеричной цифры
Отчетные материалы:
Отчетные материалы должны содержать:
- Цель лабораторной работы
- Материалы, связанные с подготовкой к работе
- Информацию по выполнению каждого пункта задания
- Краткое заключение
Лабораторная работа 2
Архитектура системы команд процессора NIOS II
Цель работы: Изучение архитектуры системы команд (АСК) процессора NIOS II, приобретение навыков создания новых программных компонентов и их отладки.
Объекты изучения:
- Архитектура системы команд процессора «NIOS II»
- Типы и форматы его команд
- Используемые способы адресации операндов
- Форматы представления числовой и символьной информации
Порядок выполнения лабораторной работы:
Часть 1. Использование приложения IMP для компиляции, загрузки и отладки программы
- Откройте проект, созданный в первой лабораторной работе
- Выполните компиляцию и загрузку новой программы
- Найдите в ОП загруженную программу и исходные данные
Часть 2. Представление числовой информации в процессорной системе. Форматы команд
- Измените переменную N, задающую количество чисел в списке
- Внесите изменения в программу для вывода найденного максимального числа на красные светодиоды
- Найдите в ОП команду условного перехода bge и исследуйте её машинный код
Часть 3. Представление символьной информации в процессорной системе
- Добавьте в исходный код программы текстовую строку с вашей фамилией, именем и отчеством
- Найдите в ОП добавленную текстовую строку
Часть 4. Раздельное размещение кода и данных в памяти процессорной системы
- С помощью директивы .data локализуйте область данных программы в отдельной секции
- Экспериментально определите, как работает директива ассемблера .org
Часть 5. Форматы чисел
- Внесите изменения в программу для представления чисел в формате полуслов
- Внесите изменения в программу для представления чисел в формате байт
Отчетные материалы:
Отчетные материалы должны содержать:
- Цель лабораторной работы
- Материалы, связанные с подготовкой к работе
- Информацию по выполнению каждого пункта задания
- Разбор формата команд условного и безусловного переходов
- Листинги подготовленных и отлаженных программ
Лабораторная работа 3
Представление символьной информации в процессорной системе и вывод её на LCD дисплей
Цель работы: Изучить, как символьная информация представляется в памяти процессорной системы, директивы ассемблера для работы с символьной информацией, научиться выводить её на LCD дисплей стенда.
Объекты изучения:
- жидкокристаллический LCD дисплей, входящий в состав стенда
- контроллер LCD дисплея
- приложение Intel Monitor Program (IMP)
Порядок выполнения лабораторной работы:
Часть 1. Исследование команд управления LCD дисплеем
- Выполните очистку LCD-дисплея
- Отправьте в регистр данных LCD порта ASCII код заглавной буквы вашей фамилии
- Экспериментально определите возможности команды настройки режима вывода текста
Часть 2. Программное управление LCD дисплеем
- Скомпилируйте программу lab_lcd.s и загрузите в память процессорной системы
- Выполните программу по шагам, осмысливая производимые ею действия
Часть 3. Вывод символьной информации на LCD в режиме бегущей строки
- Модифицируйте программу таким образом, чтобы информация на экране LCD выводилась в режиме бегущей строки
Часть 4. Создание специализированных символов
- Создайте изображение восьми специализированных символов в формате 8 на 5 клеток
- Выполните кодирование символов костяшек и буквы греческого алфавита
Часть 5. Вывод специализированных символов на экран LCD в заданной последовательности с использованием кнопок
Часть 6. Экспериментальное определение кодов букв русского алфавита
- Используя директиву .asciz, определите коды букв русского алфавита
Часть 7. Вывод русскоязычного текста на экран LCD
- Выведите на экран LCD ваши фамилию, имя и отчество с использованием прописных букв русского алфавита
Отчетные материалы:
Отчетные материалы должны содержать:
- Цель лабораторной работы
- Материалы, связанные с подготовкой к работе
- Информацию по выполнению каждого пункта задания
- Подготовленные и отлаженные фрагменты программ
- Краткое заключение
Лабораторная работа 4
Выделенный доступ к памяти в RISC процессорах. Тестирование компонентов ОП в процессорной системе
Цель работы: Изучить, каким образом выполняется взаимодействие процессора с ОП и с устройствами ввода-вывода, уяснить особенности команд load/store, выполнить тестирование всех компонентов ОП процессорной системы.
Объекты изучения:
- команды для взаимодействия с ОП и портами ввода-вывода load/store
- компоненты оперативной памяти в процессорной системе
- приложение Intel Monitor Program (IMP)
Порядок выполнения лабораторной работы:
Часть 1. Выполнение команд сохранения (store) в процессорной системе
- Напишите фрагмент программы, которая будет сохранять слово в ОП
- Модифицируйте программу для обращения к памяти полусловами
- Модифицируйте программу для обращения к памяти байтами
Часть 2. Выполнение команд загрузки (load) в процессорной системе
- Модифицируйте программу для выполнения чтения из последовательных адресов ОП
Часть 3. Тестирование всех типов оперативной памяти
- Выполните программу, используя в качестве ОП статическую память
- Проверьте правильность работы программы, используя в качестве ОП динамическую память
- Проверьте правильность работы программы, используя в качестве ОП память, реализованную внутри кристалла
Отчетные материалы:
Отчетные материалы должны содержать:
- Цель лабораторной работы
- Материалы, связанные с подготовкой к работе
- Информацию по выполнению каждого пункта задания
- Подготовленные и отлаженные фрагменты программ
- Краткое заключение
Лабораторная работа 5
Взаимодействие программных компонентов друг с другом. Использование стека, подпрограмм и вложенных процедур
Цель работы: Изучить, каким образом выполняется взаимодействие программных компонентов друг с другом; уяснить, как работает стек и как в процессорной системе можно использовать исходные данные, размещенные в отдельном файле.
Объекты изучения:
- стек
- команды процессора call, callr, ret
- утилиты Memory fill и Load file into memory приложения IMP
Порядок выполнения лабораторной работы:
Часть 1. Передача параметров через регистры процессора
- Оформите часть кода в виде подпрограммы с именем Max
- Оформите вывод результата на красные светодиоды в виде самостоятельной процедуры Out_on_LEDR
Часть 2. Использование вложенных подпрограмм
- Модифицируйте программу так, чтобы вывод найденного числа на светодиоды выполнялся внутри подпрограммы Max
Часть 3. Передача параметров через стек
- Модифицируйте программу так, чтобы передача параметров функции Max осуществлялась через стек
Часть 4. Использование файлов с исходными данными в IMP
- Создайте файл и поместите в него список чисел
- Загрузите файл в оперативную память
Часть 5. Компоновка программы из нескольких файлов
- Поместите исходный код подпрограмм Max и Out_on_LEDR в отдельные файлы
Часть 6. Перемещение кода программы в ОП
- Напишите процедуру Copy, которая выполняет копирование одной области ОП в другую
- Напишите программу Main, которая будет копировать секцию кода
Отчетные материалы:
Отчетные материалы должны содержать:
- Цель лабораторной работы
- Материалы, связанные с подготовкой к работе
- Информацию по выполнению каждого пункта задания
- Написанные фрагменты программ
- Зарисовку ОП с отображением программных компонентов
- Краткое заключение
Лабораторная работа 6
Ввод/вывод информации в процессорной системе, в том числе с использованием прерываний
Цель работы: Изучить возможные способы ввода/вывода информации в процессорной системе.
Объекты изучения:
- подсистема ввода-вывода процессора «NIOS II»
- приложение Intel Monitor Program (IMP)
Порядок выполнения лабораторной работы:
Часть 1. Программно управляемый ввод с переключателей и вывод на светодиоды
- Напишите программу на языке ассемблер для ввода с переключателей и вывода на светодиоды
Часть 2. Ввод информации с переключателей с опросом готовности
- Модифицируйте программу так, чтобы ввод очередного числа осуществлялся только после отпускания кнопки KEY3
Часть 3. Ввод информации с переключателей в режиме прерывания
- Используйте вместо опроса готовности формирование прерывания, которое инициируется нажатием кнопки KEY3
Часть 4. Реализация приоритетных прерываний
- Модифицируйте программу так, чтобы по кнопке KEY3 осуществлялось сложение, по KEY2 - вычитание, по KEY1 - обнуление суммы
Часть 5. Программное прерывание trap и невыполнимые команды
- Вставьте в текст программы команду trap
- Экспериментально определите поведение программы при выполнении команды mul
Отчетные материалы:
Отчетные материалы должны содержать:
- Цель лабораторной работы
- Материалы, связанные с подготовкой к работе
- Информацию по выполнению каждого пункта задания
- Написанные фрагменты программ
- Краткое заключение
Приложения
Приложение А. Форматы команд процессора Nios II
Машинные команды кодируются 32-разрядными словами. В процессоре Nios II используется 3 формата команд:
- I-тип. Поля A и B, размером 5 бит, используются для указания регистров. Для непосредственных операндов используется поле IMMED16
- R-тип. Поля A, B и C, размером 5 бит, используются для указания регистров. Поле OPX используется для расширения кода операций
- J-тип. Данный формат используется для инструкций вызова подпрограмм Call
Приложение Б. Команды load/store
Команды загрузки/сохранения предназначены для пересылки данных между регистрами общего назначения процессора и оперативной памятью (устройствами ввода/вывода). Они относятся к формату I-типа.
Основные команды:
ldw(load word) – загрузка слова из ОПstw(store word) – сохранение слова в ОПldb(load byte) – загрузка байта со знакомldbu(load byte unsigned) – загрузка байта без знакаldh(load halfword) – загрузка полуслова со знакомldhu(load halfword unsigned) – загрузка полуслова без знака
Примечание: Полные листинги программ из приложений следует скопировать из исходного документа вручную, так как они содержат большой объем кода.
Список источников
- Интернет ресурс. DE2-70 Development and Education Board
- Интернет ресурс. DE2-115 Development and Education Board
- Ефремов Н.В., Бородин А.А. Инструментальные средства проектирования и отладки цифровых систем на программируемом кристалле фирмы «Altera». Учебное пособие. – М.: ФГБОУ ВПО МГУЛ, 2012.- 123с.
- Описание ПЛИС Cyclon II от производителя
- Описание ПЛИС Cyclon IV от производителя
- Описание процессорной системы DE 2-70 Media Computer от производителя
- Описание процессорной системы DE 2-115 Media Computer от производителя
- Описание QUARTUS II от производителя
- Ефремов Н.В. Введение в систему автоматизированного проектирования Quartus II. Учебное пособие. – М.: ГОУ ВПО МГУЛ, 2011.-147с.
- Описание IMP от производителя
- Описание АМР. Мануал