• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 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 баллов.
Список литературы

Список литературы

Рекомендуемая основная литература

  • Архитектура компьютера, Таненбаум, Э., 2014
  • Язык Ассемблера для процессоров Intel, Ирвин, Кип Р., 2005