Бакалавриат
2019/2020
Архитектура вычислительных систем
Статус:
Курс обязательный (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Когда читается:
1-й курс, 3, 4 модуль
Формат изучения:
без онлайн-курса
Преподаватели:
Кащеев Николай Иванович
Язык:
русский
Кредиты:
5
Контактные часы:
76
Программа дисциплины
Аннотация
Целями освоения данной дисциплины являются как получение теоретических знаний в области архитектуры компьютерных систем, принципов организации ввода/вывода и программирования на машинном уровне, так и приобретение практических навыков программирования на языке Ассемблер. В результате освоения дисциплины студент должен: • знать архитектуру ЭВМ, понимать программную модель системы • развить «программистское» мышление • овладеть навыками программирования на языке ассемблер и понимать связь с ОС и языками высокого уровня. • уметь разрабатывать, тестировать и использовать низкоуровневые программы; • владеть языком Ассемблер
Цель освоения дисциплины
- Целями освоения данной дисциплины являются как получение теоретических знаний в области архитектуры компьютерных систем, принципов организации ввода/вывода и программирования на машинном уровне, так и приобретение практических навыков программирования на языке Ассемблер
Планируемые результаты обучения
- Знает основные понятия раздела и программно доступные регистры процессора, память, регистры ввода/вывода
- Знает методы адресации, основные группы команд процессора Intel 8086
- Знает Формат записи команд. Простейшие программы ввода/вывода.
- Знает основные понятия раздела, умеет редактировать связи, получать загрузочный модуль
- Знает функции операционной системы, программы ввода/вывода, умеет использовать функции прерывания int 21h операционной системы для различных задач
- Умеет работать с файлами в DOS и обрабатывать аргументы командной строки
- Знает векторную систему прерываний, умеет использовать стек при прирываниях
- Знает обработчики программных и аппаратных прерываний.
- Знает способы передачи управления в системный обработчик, умеет выгружать резидентные программы
- Знает Системные возможности BIOS для организации ввода/вывода
- Знает логическую организацию текстового видеобуфера, умеет выводить в видеобуфер
- Знает основные понятия раздела и примеры программ
- Знает библиотеки динамической загрузки и умеет пользоваться интерфейсом WinAPI.
- Умеет разрабатывать программы на языке ассемблер под Windws
- Умеет передавать параметры из программ на языке С в подпрограммуфункцию на языке ассемблер
Содержание учебной дисциплины
- Программная модель микропроцессорных систем и организация памяти.Развитие компьютерных систем – технология, поколения, перспективы. Обзор основных архитектур ЭВМ. Программная модель микропроцессорной системы. Программно доступные регистры процессора, память, регисты ввода/вывода. Сегментная организация памяти
- Команды и адресация. Простейшие программы.Методы адресации. Основные группы команд процессора Intel 8086. Язык ассемблер, мнемоника команд. Получение загрузочного модуля. Разбор примеров простейших программ
- Основы программирования на языке ассемблер.Формат записи команд. Простейшие программы ввода/вывода.
- Разработка программ на языке ассемблер для MS DOS.Ассемблер, трансляция получение объектного модуля, ключи программы tasm, редактирование связей, получение загрузочного модуля, ключи программы tlink.
- Использование функций прерывания DOS.Обзор функций операционной системы. Программы ввода/вывода. Использование функций прерывания int 21h операционной системы для различных задач. Функции BIOS – обзор и использование
- Работа с файлами.Работа с файлами в DOS. Дескрипторы, описание функций операционной системы для работы с файлами. Примеры программ создания, чтения файлов.
- Система прерываний.Векторная система прерываний. Распределение адресного пространства. Программы обработки прерываний. Использование стека при прерываниях.
- Разработка резидентных программ.Резидентная программа. Способы передачи управления в системный обработчик. Защита от повторной загрузки. Выгрузка резидентной программы. Переключение стека в резидентной программе. Подключение собственного обработчика прерываний до системного, после системного и как до так и после системного. Обработчик прерываний от клавиатуры, кольцевой буфер. Разбор примеров резидентных программ.
- Непосредственный вывод в видеобуфер.Логическая организация текстового видеобуфера. Знакоместо, атрибуты символа. Непо- средственный вывод в видеобуфер, целесообразность использования. Строковые команды. Примеры программ вывода непосредственно в видеобуфер.
- Разработка программ ввода/вывода с использованием BIOSСистемные возможности BIOS для организации ввода/вывода
- Структуры и записи.Примеры программ. Метка тома.
- Разработка программ на языке ассемблер под Windows.Разработка программ под Windows. Программирование простейшего консольного приложения.
- Архитектура контроллера прерываний.Эволюция системы прерываний. Чтение и установка вектора прерываний. Контроллер прерываний и его функционирование. Обработчики программных и аппаратных прерываний.
- Основы организации Windows. WinAPI.События, очереди сообщений, ресурсы. Библиотеки динамической загрузки. Интерфейс WinAPI
- Связь программ на ассемблере с программами на языке СПередача параметров из программ на языке С в подпрограмму-функцию на языке ассемблер
Элементы контроля
- лабораторная работа №1
- лабораторная работа №2
- экзаменЭкзамен проводится на платформах Zoom (https://zoom.us), MS Teams (https://teams.microsoft.com). Ссылка будет отправлена преподавателем за три дня до экзамена.
Промежуточная аттестация
- Промежуточная аттестация (4 модуль)0.3 * лабораторная работа №1 + 0.3 * лабораторная работа №2 + 0.4 * экзамен
Список литературы
Рекомендуемая дополнительная литература
- Практикум по программированию на языке Паскаль: Массивы, строки, файлы, рекурсия, линейные динамические структуры, бинарные деревья: учебное пособие / М.Э. Абрамян. - Ростов н/Д: Издательство ЮФУ, 2010. - 276 с. ISBN 978-5-9275-0801-3 - Режим доступа: http://znanium.com/catalog/product/549917