Перейти к основному содержимому

Обзорный файл по лабораторным семестра

Автор: Н.В. Ефремов
Название: Создание и исследование процессорной системы на кристалле ПЛИС

Оглавление

Введение

Одной из профессиональных компетенций, которыми должны овладеть студенты, освоившие программу бакалавриата по направлению 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

  1. Подключите стенд к сети питания с переменным напряжением 220 вольт
  2. Подключите стенд к инструментальному компьютеру, используя крайний слева разъем USB (типа В)
  3. Подайте питание в стенд, нажав красную кнопку в верхней левой части стенда
  4. Запустите приложение Intel Monitor Program (IMP)

Часть 2. Создание нового проекта в IMP

  1. В меню File приложения IMP выполните команду New Project
  2. Выберите процессорную систему «DE2-115 Media Computer»
  3. Определите тип используемой программы (Assembly Program)
  4. Определите исходные файлы используемой в проекте программы
  5. Определите параметры системы
  6. Определите установки памяти процессорной системы

Часть 3. Реализация процессорной системы в учебном стенде

  1. Загрузите конфигурационный файл процессорной системы в кристалл ПЛИС
  2. Загрузите программу в память процессорной системы
  3. Запустите программу и проверьте правильность её выполнения

Часть 4. Использование приложения IMP для работы с портами ввода-вывода

  1. Откройте вкладку Memory основного окна IMP
  2. Наблюдайте состояние переключателей и кнопок стенда
  3. Управляйте зелеными и красными светодиодами
  4. Управляйте сегментами индикаторов шестнадцатеричной цифры

Отчетные материалы:

Отчетные материалы должны содержать:

  • Цель лабораторной работы
  • Материалы, связанные с подготовкой к работе
  • Информацию по выполнению каждого пункта задания
  • Краткое заключение

Лабораторная работа 2

Архитектура системы команд процессора NIOS II

Цель работы: Изучение архитектуры системы команд (АСК) процессора NIOS II, приобретение навыков создания новых программных компонентов и их отладки.

Объекты изучения:

  • Архитектура системы команд процессора «NIOS II»
  • Типы и форматы его команд
  • Используемые способы адресации операндов
  • Форматы представления числовой и символьной информации

Порядок выполнения лабораторной работы:

Часть 1. Использование приложения IMP для компиляции, загрузки и отладки программы

  1. Откройте проект, созданный в первой лабораторной работе
  2. Выполните компиляцию и загрузку новой программы
  3. Найдите в ОП загруженную программу и исходные данные

Часть 2. Представление числовой информации в процессорной системе. Форматы команд

  1. Измените переменную N, задающую количество чисел в списке
  2. Внесите изменения в программу для вывода найденного максимального числа на красные светодиоды
  3. Найдите в ОП команду условного перехода bge и исследуйте её машинный код

Часть 3. Представление символьной информации в процессорной системе

  1. Добавьте в исходный код программы текстовую строку с вашей фамилией, именем и отчеством
  2. Найдите в ОП добавленную текстовую строку

Часть 4. Раздельное размещение кода и данных в памяти процессорной системы

  1. С помощью директивы .data локализуйте область данных программы в отдельной секции
  2. Экспериментально определите, как работает директива ассемблера .org

Часть 5. Форматы чисел

  1. Внесите изменения в программу для представления чисел в формате полуслов
  2. Внесите изменения в программу для представления чисел в формате байт

Отчетные материалы:

Отчетные материалы должны содержать:

  • Цель лабораторной работы
  • Материалы, связанные с подготовкой к работе
  • Информацию по выполнению каждого пункта задания
  • Разбор формата команд условного и безусловного переходов
  • Листинги подготовленных и отлаженных программ

Лабораторная работа 3

Представление символьной информации в процессорной системе и вывод её на LCD дисплей

Цель работы: Изучить, как символьная информация представляется в памяти процессорной системы, директивы ассемблера для работы с символьной информацией, научиться выводить её на LCD дисплей стенда.

Объекты изучения:

  • жидкокристаллический LCD дисплей, входящий в состав стенда
  • контроллер LCD дисплея
  • приложение Intel Monitor Program (IMP)

Порядок выполнения лабораторной работы:

Часть 1. Исследование команд управления LCD дисплеем

  1. Выполните очистку LCD-дисплея
  2. Отправьте в регистр данных LCD порта ASCII код заглавной буквы вашей фамилии
  3. Экспериментально определите возможности команды настройки режима вывода текста

Часть 2. Программное управление LCD дисплеем

  1. Скомпилируйте программу lab_lcd.s и загрузите в память процессорной системы
  2. Выполните программу по шагам, осмысливая производимые ею действия

Часть 3. Вывод символьной информации на LCD в режиме бегущей строки

  1. Модифицируйте программу таким образом, чтобы информация на экране LCD выводилась в режиме бегущей строки

Часть 4. Создание специализированных символов

  1. Создайте изображение восьми специализированных символов в формате 8 на 5 клеток
  2. Выполните кодирование символов костяшек и буквы греческого алфавита

Часть 5. Вывод специализированных символов на экран LCD в заданной последовательности с использованием кнопок

Часть 6. Экспериментальное определение кодов букв русского алфавита

  1. Используя директиву .asciz, определите коды букв русского алфавита

Часть 7. Вывод русскоязычного текста на экран LCD

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

Отчетные материалы:

Отчетные материалы должны содержать:

  • Цель лабораторной работы
  • Материалы, связанные с подготовкой к работе
  • Информацию по выполнению каждого пункта задания
  • Подготовленные и отлаженные фрагменты программ
  • Краткое заключение

Лабораторная работа 4

Выделенный доступ к памяти в RISC процессорах. Тестирование компонентов ОП в процессорной системе

Цель работы: Изучить, каким образом выполняется взаимодействие процессора с ОП и с устройствами ввода-вывода, уяснить особенности команд load/store, выполнить тестирование всех компонентов ОП процессорной системы.

Объекты изучения:

  • команды для взаимодействия с ОП и портами ввода-вывода load/store
  • компоненты оперативной памяти в процессорной системе
  • приложение Intel Monitor Program (IMP)

Порядок выполнения лабораторной работы:

Часть 1. Выполнение команд сохранения (store) в процессорной системе

  1. Напишите фрагмент программы, которая будет сохранять слово в ОП
  2. Модифицируйте программу для обращения к памяти полусловами
  3. Модифицируйте программу для обращения к памяти байтами

Часть 2. Выполнение команд загрузки (load) в процессорной системе

  1. Модифицируйте программу для выполнения чтения из последовательных адресов ОП

Часть 3. Тестирование всех типов оперативной памяти

  1. Выполните программу, используя в качестве ОП статическую память
  2. Проверьте правильность работы программы, используя в качестве ОП динамическую память
  3. Проверьте правильность работы программы, используя в качестве ОП память, реализованную внутри кристалла

Отчетные материалы:

Отчетные материалы должны содержать:

  • Цель лабораторной работы
  • Материалы, связанные с подготовкой к работе
  • Информацию по выполнению каждого пункта задания
  • Подготовленные и отлаженные фрагменты программ
  • Краткое заключение

Лабораторная работа 5

Взаимодействие программных компонентов друг с другом. Использование стека, подпрограмм и вложенных процедур

Цель работы: Изучить, каким образом выполняется взаимодействие программных компонентов друг с другом; уяснить, как работает стек и как в процессорной системе можно использовать исходные данные, размещенные в отдельном файле.

Объекты изучения:

  • стек
  • команды процессора call, callr, ret
  • утилиты Memory fill и Load file into memory приложения IMP

Порядок выполнения лабораторной работы:

Часть 1. Передача параметров через регистры процессора

  1. Оформите часть кода в виде подпрограммы с именем Max
  2. Оформите вывод результата на красные светодиоды в виде самостоятельной процедуры Out_on_LEDR

Часть 2. Использование вложенных подпрограмм

  1. Модифицируйте программу так, чтобы вывод найденного числа на светодиоды выполнялся внутри подпрограммы Max

Часть 3. Передача параметров через стек

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

Часть 4. Использование файлов с исходными данными в IMP

  1. Создайте файл и поместите в него список чисел
  2. Загрузите файл в оперативную память

Часть 5. Компоновка программы из нескольких файлов

  1. Поместите исходный код подпрограмм Max и Out_on_LEDR в отдельные файлы

Часть 6. Перемещение кода программы в ОП

  1. Напишите процедуру Copy, которая выполняет копирование одной области ОП в другую
  2. Напишите программу Main, которая будет копировать секцию кода

Отчетные материалы:

Отчетные материалы должны содержать:

  • Цель лабораторной работы
  • Материалы, связанные с подготовкой к работе
  • Информацию по выполнению каждого пункта задания
  • Написанные фрагменты программ
  • Зарисовку ОП с отображением программных компонентов
  • Краткое заключение

Лабораторная работа 6

Ввод/вывод информации в процессорной системе, в том числе с использованием прерываний

Цель работы: Изучить возможные способы ввода/вывода информации в процессорной системе.

Объекты изучения:

  • подсистема ввода-вывода процессора «NIOS II»
  • приложение Intel Monitor Program (IMP)

Порядок выполнения лабораторной работы:

Часть 1. Программно управляемый ввод с переключателей и вывод на светодиоды

  1. Напишите программу на языке ассемблер для ввода с переключателей и вывода на светодиоды

Часть 2. Ввод информации с переключателей с опросом готовности

  1. Модифицируйте программу так, чтобы ввод очередного числа осуществлялся только после отпускания кнопки KEY3

Часть 3. Ввод информации с переключателей в режиме прерывания

  1. Используйте вместо опроса готовности формирование прерывания, которое инициируется нажатием кнопки KEY3

Часть 4. Реализация приоритетных прерываний

  1. Модифицируйте программу так, чтобы по кнопке KEY3 осуществлялось сложение, по KEY2 - вычитание, по KEY1 - обнуление суммы

Часть 5. Программное прерывание trap и невыполнимые команды

  1. Вставьте в текст программы команду trap
  2. Экспериментально определите поведение программы при выполнении команды 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) – загрузка полуслова без знака

Примечание: Полные листинги программ из приложений следует скопировать из исходного документа вручную, так как они содержат большой объем кода.


Список источников

  1. Интернет ресурс. DE2-70 Development and Education Board
  2. Интернет ресурс. DE2-115 Development and Education Board
  3. Ефремов Н.В., Бородин А.А. Инструментальные средства проектирования и отладки цифровых систем на программируемом кристалле фирмы «Altera». Учебное пособие. – М.: ФГБОУ ВПО МГУЛ, 2012.- 123с.
  4. Описание ПЛИС Cyclon II от производителя
  5. Описание ПЛИС Cyclon IV от производителя
  6. Описание процессорной системы DE 2-70 Media Computer от производителя
  7. Описание процессорной системы DE 2-115 Media Computer от производителя
  8. Описание QUARTUS II от производителя
  9. Ефремов Н.В. Введение в систему автоматизированного проектирования Quartus II. Учебное пособие. – М.: ГОУ ВПО МГУЛ, 2011.-147с.
  10. Описание IMP от производителя
  11. Описание АМР. Мануал