![](/user_photo/2706_HbeT2.jpg)
- •Рабочая программа учебной дисциплины «Архитектура компьютеров»
- •Лист согласования
- •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
- •Приложение в
- •Литература
1 Лабораторные работы № 1, 2 «Работа клавиатуры»
Цель: изучение основ ввода информации с помощью клавиатуры.
Содержание работы. Первые две лабораторных работы посвящены вводу информации с клавиатуры. Клавиатура компьютера представляет собой унифицированное устройство со стандартным разъемом и последовательным интерфейсом связи с системной платой. Клавиатура содержит внутренний контроллер, осуществляющий сканирование матрицы клавиш, управление индикаторами, внутреннюю диагностику и связь с системной платой. При нажатии на одну из клавиш и ее отпускании контроллер клавиатуры генерирует скан-коды, которые показывают местоположение нажатой клавиши на матрице клавиш клавиатуры. Размер скан-кода составляет один байт. При нажатии клавиши байт скан-кода содержит число от 1 до 83 (для стандартной клавиатуры PC). При отпускании клавиши генерируется число на 128 большее скан-кода, после чего полученный скан-код преобразуется подпрограммой BIOS, ответственной за работу клавиатуры с учетом таблицы символов и байта состояния клавиатуры в ASCII-код. Скан- и ASCII-коды помещаются в буфер клавиатуры – область оперативной памяти в BIOS Data Area, служащей для связи процессора и клавиатуры. Клавиатура обычно поддерживается аппаратным прерыванием IRQ1 (вектор 09h), по которому обрабатываются коды клавиатуры.
Порядок выполнения работы: разработать алгоритм программы; составить исходный текст программы на Ассемблере; создать исполняемый файл программы; исследовать скан- и ASCII- коды для различных сочетаний клавиш; защитить программу.
Лабораторная работа разбивается на две части:
Задание № 1. В лабораторной работе № 1 необходимо написать программу, которая выдает на экран скан- и ASCII-коды нажимаемых клавиш в шестнадцатеричной системе счисления. Для считывания кодов используется программно-вызываемое прерывание BIOS – INT 16h (см. Приложение А). Номер функции задается в регистре ah, если ah = 0, то BIOS производит чтение из буфера клавиатуры скан-кода (помещается в ah) и ASCII-кода (помещается в al), при этом компьютер ожидает нажатия клавиши.
Рекомендации к выполнению. Наиболее простым способом перевода является разбиение байта с помощью логических операций. Байт разбивается на две половины: старшие и младшие четверки бит. Одному шестнадцатеричному числу соответствует 4 бита, следовательно, код можно представить двумя шестнадцатеричными числами. Для вывода на экран необходимы ASCII-коды цифр шестнадцатеричной системы. Их нужно предварительно задать в сегменте данных в виде последовательности от «0» до «f». Полученные четверки бит будут являться смещением для определения необходимого ASCII-кода при использовании индексной адресации со смещением. Для вывода на экран можно воспользоваться функциями DOS.
Задание № 2. В лабораторной работе № 2 изучается байт состояния клавиатуры – ячейка памяти, отображающая состояние специальных клавиш клавиатуры (таблица 2). Байт построен по принципу регистра флагов, т.е. каждый бит отвечает за нажатие определенной клавиши, если она нажата, то бит равен 1, если нет – 0. Предлагается создать программу, которая выводит текущее значение байта состояния клавиатуры в двоичной системе счисления и постоянно перерисовывает его, для того чтобы было возможно отследить нажатие специальных клавиш в режиме реального времени.
Таблица 2 – Структура байта состояния клавиатуры:
Номер бита |
Клавиша (1 – нажата; 0 – отжата) |
0 |
правый Shift |
1 |
левый Shift |
2 |
Ctrl |
3 |
Alt |
4 |
Scroll Lock |
5 |
Num Lock |
6 |
Caps Lock |
7 |
Insert |
Считывание байта состояния необходимо произвести двумя способами: обращением к BIOS клавиатуры (прерывание INT 16h) и непосредственным обращением к ячейке оперативной памяти в BIOS data area c абсолютным адресом 417h. Байты, полученные обоими способами, должны одновременно отображаться на экране.