Введение в архитектуру ЭВМ
2023/24 учебный год г., Институт математики и информационных технологий,II курс
4 семестр
Направления бакалавриата:
- 09.03.02 - Информационные системы и технологии
- 09.03.04 - Программная инженерия
- Богоявленский Юрий Анатольевич
<ybgv@cs.petrsu.ru>
Из интервью Ю. А. Богоявлекнского к 75-летию ПетрГУ
- Богоявленская Ольга Юрьевна <olbgvl@cs.petrsu.ru>
- Чистяков Дмитрий Борисович <chistyak@cs.petrsu.ru>
Новости и объявления
Материалы лекций
- 09 февраля. Вводная лекция. Задача 1. Текст, видео, пример в отладчике.
- 16 февраля. Регистры. Системы счисления, порядок байтов, символьные имена. Регистры (видео). Текст, видео.
- 01 марта. Коды символов. Системные вызовы. Файлы stdin, stdout. Задача 3. Текст, видео, пример в отладчике 1, пример в отладчике 2.
- 15 марта. Машинная арифметика. Дополнительный код. Система команд. Программа 2to10. Текст, видео, пример в отладчике.
- 22 марта. Типы данных. Плавающая точка. Команды SIMD. Переполнение. Директивы определения данных. Текст, видео, пример в отладчике, демонстрация работы SIMD.
- 29 марта. Структура команды. Смещение. Перемещение. Режимы адресации. Текст, видео, пример в отладчике
- 05 апреля. Стек. Функции, введение. Текст, видео, пример в отладчике. функции видео.
- 12 апреля. Поведение стека при вызовах функций по соглашениям ABI. Текст, видео.
- 19 апреля. Программа демонстрации соглашений о вызовах ABI. Текст, видео, пример в отладчике.
- 26 апреля. Раздельная трансляция и внешние символьные имена. Текст, видео, make, пример в отладчике.
Регламентирующие документы
- Список заданий и контрольные сроки сдачи
- Вопросы к зачету и экзамену
- Пример билета
- РПД Введение в архитектуру ЭВМ, ИСиТ 1 курс
- РПД Введение в архитектуру ЭВМ, ПИ 1 курс
Инструкции по организации работы
- Запуск отладчика KDBG из Windows: Xming или VcXsrv
- Краткая инструкция по работе с отладчиком gdb, видео инструкция по работе с отладчиком gdb
Список основной литературы
Учебно-методические материалы
- Загрузочный образ GNU/Linux для студентов в формате OVA для VirtualBox
- Место архитектурной культуры в информатике
- Ю. А. Богоявленский Дисциплина «Введение в архитектуру ЭВМ» — минималистский подход
- Работа с GNU Assembler, Emacs и DDD
- Using as (русская версия / локально)
- Отладка с помощью GDB
- KDbg - User's Manual
Примеры
- Демонстрация работы счетчиков размещения, свойств меток и абсолютных символьных имен (файлы Sym-names.S и my-macro, Makefile)
- Пример организации макрокоманд (файлы m.S и my-macro, Makefile)
- Пример получения десятичных цифр двоичного числа (2to10.S,my-macro,Makefile)
- Примеры директив определения данных и обнаружение переполнения, Makefile, my-macro
- Демонстрация режимов адресации, my-macro, Makefile
- Пример работы со стеком, my-macro, Makefile
- Пример организации функций. Исходный текст, my-macro, Makefile
- Пример вызова из программы на языке С функций на языке ассемблера ( Read_Sym.S, Trans_Sym.S, call-as.c , Makefile)
- Простой пример вызова функции на языке C из функции на языке ассемблера ( main.s, func.c, Makefile)
- Пример вызова функции Read_Sym на языке C из функции main на языке ассемблера ( main.S, Read_Sym.c, Trans_Sym.S, my-macro , Makefile)
- Пример использования библиотеки libc, вызовы scanf и printf (call-libc.S, Makefile, используйте файл my-macro из задания N 3)
- Пример использования макрокоманд для вызова scanf и printf ( call-libc-macro.S, my-macro, libc-macro, Makefile)
- Пример раздельной трансляции (main.S, Read_Sym.S, Trans_Sym.S, my-macro, Makefile)
Иллюстрации
- Эвм Урал-1, внешний вид (Политехнический музей, Москва, фото Ю.А. Богоявленского)
- Эвм Урал-1, краткая справка
- Пирамида виртуальных машин
- Архитектура IA-32 Intel
- Архитектурные типы данных (рис. 1)
- Архитектурные типы данных (рис. 2)
- Схема организации функций
- Работа стека в примере "Организация функций"
- Плоская (Flat) модель памяти
Список дополнительной литературы
- Реализация glibc cтандартной библиотеки языка Си
- Стандартная библиотека языка Си (libc) wikipedia
- Системные вызовы (рус.)
- Системные вызовы (англ.)
- Использование GNU ассемблера as
- Johnathan Bartlett. Programming from the Ground Up (локальная копия)
- Blum R. Professional Assembly Language
- От C к Ассемблеру
- Солашения о связях для разных платформ
- Прикладной двоичный интерфейс (ABI - Application Binary Interface) ОС Linux для i386, в том числе для языка C
Руководство от Intel
- Базовая архитектура
- Описание команд A-M
- Описание команд N-Z
- Руководство Intel для разработчиков ПО
- Обновленные версии описания базовой архитектуры, системы
команд и инструкций по системному программированию одним документом (Volume 1, 2A, 2B, 2C, 3A, 3B и 3C).
Структура документа:Volume 1: Describes the architecture and programming environment of processors supporting IA-32 and Intel 64 architectures.
Volume 2: Includes the full instruction set reference, A-Z, in one volume. Describes the format of the instruction and provides reference pages for instructions.
Volume 3: Includes the full system programming guide, Parts 1, 2, and 3, in one volume. Describes the operating-system support environment of Intel 64 and IA-32 architectures, including: memory management, protection, task management, interrupt and exception handling, multi-processor support, thermal and power management features, debugging, performance monitoring, system management mode, virtual machine extensions (VMX) instructions, and Intel® Virtualization Technology (Intel® VT).