Бакалавриат
2021/2022




Архитектура ЭВМ и язык ассемблера
Статус:
Курс по выбору (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Где читается:
Факультет компьютерных наук
Когда читается:
1-й курс, 3, 4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Батузов Кирилл Андреевич,
Гребнев Николай Юрьевич,
Дудина Ирина Александровна,
Левицкий Михаил Сергеевич,
Малышев Никита Евгеньевич,
Монаков Александр Владимирович,
Нурмухаметов Алексей Раисович,
Рукин Антон Иванович
Язык:
русский
Кредиты:
5
Контактные часы:
160
Программа дисциплины
Аннотация
Дисциплина направлена на изучение студентами базовых принципов устройства современных ЭВМ на примере архитектуры x86, включая анализ характеристик различных компонент ЭВМ и того, как эти характеристики влияют на работу системных и прикладных программ.
Закрепление знаний достигается посредством практического освоения языка Си++, языка ассемблера архитектуры x86, типовых механизмов реализации языка Си/Си++ и его системы программирования на платформе Linux x86.
Цель освоения дисциплины
- Формирование у студентов связного представления об организации современных вычислительных систем, понимания взаимосвязей между архитектурными решениями уровней аппаратуры ЭВМ, системного и прикладного программного обеспечения, понимания факторов, влияющих на качественные и количественные характеристики ЭВМ, производительность и безопасность всей вычислительной системы в целом.
Планируемые результаты обучения
- Знать основные принципы устройства ЭВМ, его основные компоненты, их качественные и количественные характеристики.
- Знать свойства аппаратуры, влияющие на производительность и безопасность работы программ. Особенности двоичного (бинарного) интерфейса приложений на примере архитектуры IA-32.
- Знать особенности архитектуры x86, влияние архитектуры набора команд на реализацию языков высокого уровня и систему программирования.
- Знать язык ассемблера архитектуры x86, особенности реализации различных конструкций языка Си/Си++ на уровне языка ассемблера и причины, влияющие на выбор механизма реализации.
- Уметь составлять и отлаживать многомодульные программы на языках Си/Си++ и ассемблера; реализовывать интерфейсы между модулями, реализованными на разных языках программирования (Си/Си++и ассемблер).
- Уметь обосновано выбирать механизмы реализации конструкций языка Си/Си++ и корректно их кодировать на языке ассемблера архитектуры x86.
- Уметь оценивать производительность программ на языках Си/Си++ и ассемблера, используя знания об особенностях устройства аппаратуры ЭВМ и аппаратные средства профилирования архитектуры x86.
- Уметь восстанавливать по ассемблерному коду операторы и типы данных языка Си/Си++.
- Владеть современной технологией разработки и отладки многомодульных программ на языках Си/Си++ и ассемблера.
Содержание учебной дисциплины
- Введение в архитектуру ЭВМ на примерах ассемблерных программ
- Взаимосвязь языка Си, языка ассемблера и особенностей архитектуры ЭВМ на примере архитектуры IA-32.
- Система программирования языка Си и ее связь с архитектурой ЭВМ.
- Архитектура ЭВМ в разных аспектах: физической организации, поддержки системных и прикладных программ.
Элементы контроля
- Домашнее задание 1ДЗ№1 предполагает разработку учебной программы и отчета. Требования предъявляются как к разрабатываемой программе, так и к отчету, в части смысла текста, состава и содержания разделов, оформления текста отчета. Выполнение ДЗ№1 оценивается преподавателем по системе зачет/не зачет, успешное выполнение ДЗ№1 дает 100 баллов. не сдача ДЗ №1 означает не выполнение требований по всем домашним заданиям Модуля 3, сумма оценок за домашние задания в этом случае обнуляется. Оценка за ДЗ рассчитывается в диапазоне от 0 до 100 баллов.
- Домашнее задание 2ДЗ№2 предполагают разработку 7 учебных программ в каждом со сдачей через систему автоматической проверки. Сдача менее 7 задач, как сдача задач с опозданием приводит к снижению баллов. Сдача менее 3 программ в ДЗ №2 означает не выполнение требований по всем домашним заданиям Модуля 3, сумма оценок за домашние задания в этом случае обнуляется. Оценка за ДЗ рассчитывается в диапазоне от 0 до 100 баллов.
- Домашнее задание 3ДЗ№3 предполагают разработку 7 учебных программ в каждом со сдачей через систему автоматической проверки. Сдача менее 7 задач, как сдача задач с опозданием приводит к снижению баллов. Сдача менее 3 программ в ДЗ №3 означает не выполнение требований по всем домашним заданиям Модуля 3, сумма оценок за домашние задания в этом случае обнуляется. Оценка за ДЗ рассчитывается в диапазоне от 0 до 100 баллов.
- Контрольная работа 1Оценки за контрольные работы независимы друг от друга. Оценка за КР рассчитывается в диапазоне от 0 до 100 баллов.
- Контрольная работа 2Оценки за контрольные работы независимы друг от друга. Оценка за КР рассчитывается в диапазоне от 0 до 100 баллов.
- Домашнее задание 4ДЗ№4 и предполагают разработку 7 учебных программ в каждом со сдачей через систему автоматической проверки. Сдача менее 7 задач, как сдача задач с опозданием приводит к снижению баллов. Сдача менее 3 программ в ДЗ №4 означает не выполнение требований по всем домашним заданиям Модуля 4, сумма оценок за домашние задания в этом случае обнуляется. Оценка за ДЗ рассчитывается в диапазоне от 0 до 100 баллов.
- Домашнее задание 5ДЗ№5 предполагают разработку 7 учебных программ в каждом со сдачей через систему автоматической проверки. Сдача менее 7 задач, как сдача задач с опозданием приводит к снижению баллов. Сдача менее 3 программ в ДЗ №5 означает не выполнение требований по всем домашним заданиям Модуля 4, сумма оценок за домашние задания в этом случае обнуляется. Оценка за ДЗ рассчитывается в диапазоне от 0 до 100 баллов.
- Домашнее задание 6ДЗ №6 предполагает разработку учебной программы и отчета. Требования предъявляются как к разрабатываемой программе, так и к отчету, в части смысла текста, состава и содержания разделов, оформления текста отчета. Выполнение ДЗ№6 оценивается преподавателем по системе зачет/не зачет, успешное выполнение ДЗ №6 дает 100 баллов. Не сдача ДЗ №6 означает не выполнение требований по всем домашним заданиям Модуля 4, сумма оценок за домашние задания в этом случае обнуляется. Студент имеет право запросить вариант ДЗ №6 повышенной сложности. Повышенная сложность задания имеет два уровня, выполнение которых дает вместо 100 баллов обычного задания 150 или 200 баллов. Оценка за ДЗ рассчитывается в диапазоне от 0 до 100 баллов.
- Контрольная работа 3Оценки за контрольные работы независимы друг от друга. Оценка за КР рассчитывается в диапазоне от 0 до 100 баллов.
- Контрольная работа 4Оценки за контрольные работы независимы друг от друга. Оценка за КР рассчитывается в диапазоне от 0 до 100 баллов.
- Экзамен 1Оценка за Экзамен рассчитывается в диапазоне от 0 до 100 баллов
- Экзамен 2Оценка за Экзамен рассчитывается в диапазоне от 0 до 100 баллов
Промежуточная аттестация
- 2021/2022 учебный год 3 модульВ течение Модуля 3 студентам предлагается выполнить три домашних задания и две контрольные работы. Сумма баллов за работу в течение модуля рассчитывается нелинейно, применятся формула взвешенной суммы баллов с оговорками 0.4 * оценка за экзамен + 0.1 * сумма оценок за домашние задания + 0.15 * сумма оценок за контрольные работы Сдача менее 7 задач, как и сдача задач с опозданием приводит к снижению баллов. Сдача менее 3 программ в ДЗ №2 или ДЗ №3, не сдача ДЗ №1 означает не выполнение требований по всем домашним заданиям Модуля 3, сумма оценок за домашние задания в этом случае обнуляется.
- 2021/2022 учебный год 4 модульВ течение Модуля 4 студентам предлагается выполнить три домашних задания и две контрольные работы. Сумма баллов за работу в течение модуля рассчитывается нелинейно, применятся формула взвешенной суммы баллов с оговорками 0.4 * оценка за экзамен + 0.1 * сумма оценок за домашние задания + 0.15 * сумма оценок за контрольные работы Сдача менее 7 задач, как и сдача задач с опозданием приводит к снижению баллов. Сдача менее 3 программ в ДЗ №4 или ДЗ №5, не сдача ДЗ №6 означает не выполнение требований по всем домашним заданиям Модуля 4, сумма оценок за домашние задания в этом случае обнуляется. Оценка за дисциплину выставляется по среднему арифметическому баллов, набранных в Модуле 3 и Модуле 4. Для перевода баллов в оценку используется следующая шкала: более 95 баллов – 10, более 85 баллов – 9 и т.д. с шагом в 10 баллов.