• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Книга
ECPPM 2021 – eWork and eBusiness in Architecture, Engineering and Construction

Под науч. редакцией: Vitaly Semenov, R. J. Scherer.

CRC Press, 2021.

Статья
О методах извлечения алгоритмов из бинарного кода

Падарян В. А., Кулагин И. И., Кошкин В. А.

Труды Института системного программирования РАН. 2024. Т. 36. № 3. С. 139-160.

Глава в книге
Исследование нефункциональных параметров различных типов при реализации путей в параметризованных графах

Бурдонов И., Евтушенко Н. В., Евтушенко Л. Г. и др.

В кн.: Новые информационные технологии в исследовании сложных структур : материалы Пятнадцатой Международной конференции, 16–20 сентября 2024 г.. Томск: Издательство Томского государственного университета, 2024. С. 12-13.

Препринт
Preventive Model-based Verification and Repairing for SDN Requests

Burdonov I., Kossachev A., Nina Yevtushenko et al.

arxiv.org. Computer Science. Cornell University, 2020

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

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

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

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

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

Егоров Данила Игоревич

Егоров Данила Игоревич

Иконникова Мария Кирилловна

Иконникова Мария Кирилловна

Малышев Никита Евгеньевич

Малышев Никита Евгеньевич

Морген Матвей Владиславович

Морген Матвей Владиславович

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

Аннотация

Дисциплина направлена на изучение студентами базовых принципов устройства современных ЭВМ на примере архитектуры x86, включая анализ характеристик различных компонент ЭВМ и того, как эти характеристики влияют на работу системных и прикладных программ. Закрепление знаний достигается посредством практического освоения языка Си++, языка ассемблера архитектуры x86, типовых механизмов реализации языка Си/Си++ и его системы программирования на платформе Linux x86.
Цель освоения дисциплины

Цель освоения дисциплины

  • Формирование у студентов связного представления об организации современных вычислительных систем, понимания взаимосвязей между архитектурными решениями уровней аппаратуры ЭВМ, системного и прикладного программного обеспечения, понимания факторов, влияющих на качественные и количественные характеристики ЭВМ, производительность и безопасность всей вычислительной системы в целом.
Планируемые результаты обучения

Планируемые результаты обучения

  • Знать основные принципы устройства ЭВМ, его основные компоненты, их качественные и количественные характеристики.
  • Знать свойства аппаратуры, влияющие на производительность и безопасность работы программ. Особенности двоичного (бинарного) интерфейса приложений на примере архитектуры IA-32.
  • Знать особенности архитектуры x86, влияние архитектуры набора команд на реализацию языков высокого уровня и систему программирования.
  • Знать язык ассемблера архитектуры x86, особенности реализации различных конструкций языка Си/Си++ на уровне языка ассемблера и причины, влияющие на выбор механизма реализации.
  • Уметь составлять и отлаживать многомодульные программы на языках Си/Си++ и ассемблера; реализовывать интерфейсы между модулями, реализованными на разных языках программирования (Си/Си++и ассемблер).
  • Уметь обосновано выбирать механизмы реализации конструкций языка Си/Си++ и корректно их кодировать на языке ассемблера архитектуры x86.
  • Уметь оценивать производительность программ на языках Си/Си++ и ассемблера, используя знания об особенностях устройства аппаратуры ЭВМ и аппаратные средства профилирования архитектуры x86.
  • Уметь восстанавливать по ассемблерному коду операторы и типы данных языка Си/Си++.
  • Владеть современной технологией разработки и отладки многомодульных программ на языках Си/Си++ и ассемблера.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в основы Си++. Классы и структуры. Шаблоны. Наследование. Исключения. Управление память. Семантика перемещения. Умные указатели. Контейнеры и итераторы. Вывод типов, лямбда-выражения. Метапрограммирование.
  • Введение в архитектуру ЭВМ на примерах ассемблерных программ. Взаимосвязь языка Си/Си++, языка ассемблера и особенностей архитектуры ЭВМ на примере архитектуры x86.
  • Система программирования языка Си/Си++ и ее связь с архитектурой ЭВМ.
  • Архитектура ЭВМ в разных аспектах: физической организации, поддержки системных и прикладных программ.
Элементы контроля

Элементы контроля

  • блокирующий Экзамен
  • неблокирующий Контрольные работы
    Две контрольные работы в 4-м модуле
  • неблокирующий Домашнее задание
    В течение Модуля 3 студентам предлагается выполнить четыре блока контеста (домашних задания, представляющих собой набор из 3-7 задач каждый). Финальная оценка за элемент контроля выставляется по формуле: round(x / 20), где x – количество заработанных студентом первичных баллов, а round – функция математического округления до ближайшего целого. В случае “половинного балла” оценка округляется вниз: например, 7.5 округлится до 7.
Промежуточная аттестация

Промежуточная аттестация

  • 2024/2025 4th module
    Экзамен является блокирующим. Для получения положительной оценки нужно набрать не менее 40% баллов. Если за экзамен получено менее 40% баллов, то оценка за элемент контроля - процент набранных за экзамен баллов, поделенный на 10 и округленный вниз до ближайшего целого (от 30% баллов -- оценка 3, менее 30% и не менее 20% баллов -- оценка 2 и проч). Если за экзамен получено не менее 40% баллов, то оценка рассчитывается с учетом накопительной части всех элементов контроля как: 0.3 * экзамен + 0.1 * ДЗ№1 + 0.1 * ДЗ№2 + 0.1 * ДЗ№3 + 0.1 * ДЗ№4 + 0.15 * контрольная работа №1 + 0.15 * контрольная работа №2.
Список литературы

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

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

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

Рекомендуемая дополнительная литература

  • Computer architecture : a quantitative approach, Hennessy, J. L., 2019

Авторы

  • Буцкая Евгения Александровна