• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Бакалаврская программа «Программная инженерия»

21
Апрель

Архитектура ЭВМ и язык ассемблера

2021/2022
Учебный год
RUS
Обучение ведется на русском языке
5
Кредиты

Преподаватели


Батузов Кирилл Андреевич


Гребнев Николай Юрьевич


Дудина Ирина Александровна


Монаков Александр Владимирович


Нурмухаметов Алексей Раисович


Рукин Антон Иванович

Программа дисциплины

Аннотация

Дисциплина направлена на изучение студентами базовых принципов устройства современных ЭВМ на примере архитектуры 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