- •Рабочая программа учебной дисциплины «Архитектура компьютеров»
- •Лист согласования
- •1. Пояснительная записка
- •1.1 Место дисциплины в структуре ооп.
- •1.2 Цели и задачи дисциплины
- •1.3 Перечень профессиональных компетенций
- •2. Тематический план
- •3. Содержание дисциплины
- •3.1 Содержание тем дисциплины
- •Тема 1.Введение
- •Тема 2. Класс simd
- •Тема 3. Класс mimd
- •Тема 4. Методы параллельных вычислений
- •Тема 5. Алгоритмы и методы организации функционирования вычислительных систем
- •Тема 6. Производительность вычислительных систем
- •Тема 7. Сети эвм и телекоммуникации
- •4. Вопросы для итогового контроля (зачет)
- •5. Критерии оценки знаний
- •6.Список рекомендуемой литературы.
- •6.1 Основная литература:
- •Учебно-методический блок
- •1. Теоретическая часть
- •Лекция №2 Формы представления чисел в эвм.
- •Алгебраическое представление двоичных чисел
- •Вычитание
- •Лекция №3 Основные термины и определения предметной области
- •Классическая схема эвм.
- •Системная шина
- •Лекция №4 Классификация эвм
- •Лекция №5 Центральный процессор
- •Регистр
- •О сегментах.
- •Лекция №7 Загрузка и выполнение программ на компьютере
- •Лекция №8 Параллельные вычислительные процессы и системы Виды параллелизма
- •Реализация параллельных систем
- •Параллельные вычислительные процессы и системы Нейровычислительные системы.
- •Сложности использования параллельных систем
- •Параллельные вычислительные процессы и системы Программирование параллельных систем
- •Лекция №10 Классификация вс по соотношению потока команд и потока данных
- •Сравнение параллельной и конвейерной организации вс
- •Лекция №11.
- •Лекция №12. Вычислительные сети
- •1 Лабораторные работы № 1, 2 «Работа клавиатуры»
- •2 Лабораторная работа № 3 «Работа видеосистемы»
- •3 Лабораторная работа № 4 «Работа внешних накопителей
- •4 Лабораторная работа № 5 «Работа дисковых накопителей
- •5 Лабораторная работа № 6 «Работа с портами
- •Приложение а справочная информация по вызовам bios
- •Приложение б справочная информация по вызовам функций ms-dos
- •Приложение в
- •Литература
5 Лабораторная работа № 6 «Работа с портами
ввода–вывода информации»
Цель: изучение основ работы с портами ввода–вывода информации.
Содержание работы. Непосредственный обмен информацией с периферийными устройствами через порты ввода–вывода информации. Программирование генерации звука с помощью системного динамика. Есть три основных уровня обращения прикладных программ к периферийным устройствам:
1-й уровень – используя вызовы функций операционной системы, в нашем случае MS-DOS;
2-й уровень – используя прерывания BIOS, ответственного за работу данного устройства;
3-й уровень – непосредственным обращением к портам ввода–вывода периферийного устройства.
Наиболее часто используется первый уровень, т.к. обычно операционная система предлагает широкий набор функций работы с устройствами, однако если вас не устраивает скорость обращения или нужной функции все же нет, то используются более глубокие уровни.
В рассматриваемом случае операционная система не обращается к системному динамику, и своего BIOS у него нет, поэтому будем использовать обращение к портам. Системный динамик – устройство очень простое, поэтому отдельного порта ему не полагается. Всего два младших бита порта 061h отвечают за его работу. Если они равны 11, то динамик включен, если 00, то выключен. Для генерации какой-либо частоты будем использовать еще и системный таймер, который может генерировать меандр с определенной частотой. Системный таймер – устройство более сложное и имеет несколько портов. Для нас интересны порты 043h – порт управления и 042h – порт, в который задается делитель частоты. На таймер подается опорный сигнал с частотой 1.19318 МГц. На выходе таймера можно получать произвольную частоту с помощью делителя частоты. Однако сам внутренний регистр имеет размер 16 бит, следовательно, максимальный делитель равен 216 = 65536 и минимальная частота 18.2 Гц. Этого вполне достаточно, чтобы перекрыть весь звуковой диапазон. Один небольшой нюанс – все рассматриваемые порты байтовые, а регистр делителя – 2-байтовый. Для того чтобы полностью его заполнить, применяется последовательное обращение к данному порту, т.е. сначала в порт посылается младший байт делителя, затем старший. В порт управления 043h необходимо послать число 10110110b. Два старших бита указывают режим работы таймера (10 – генерация звука); 5 и 4 биты устанавливают режим обращения (11 – сначала младший байт, затем старший); 3, 2 и 1 биты указывают на режим вывода (011 – генерация меандра); младший бит устанавливает системы обращения – двоичную или двоично-десятичную (0/1 – Bin/BCD).
Порядок выполнения работы: составить исходный текст программы на Ассемблере; создать исполняемый файл программы; защитить программу.
Задание. Написать программу, проигрывающую простую мелодию с помощью системного динамика.
Рекомендации. Задать режим работы и делитель для системного таймера, включить динамик, при этом нельзя затрагивать остальные биты порта 061h. Для этого используйте логические команды Ассемблера, которые позволяют обращаться к каждому биту. После некоторой задержки выключите динамик.