Архитектура ЭВМ и язык ассемблера. Лекция 1 презентация

Содержание

Ассемблер • Литература – Ирвин, Кип. Язык ассемблера для процессоров Intel, 4е издание. ISBN 5-8459-0779-9 – Юров В.И., Assembler: Специальный справочник. ISBN 5-469-00003-6 1. Основные понятия. Структура процессоров IA-32.

Слайд 1Учебный курс
Архитектура ЭВМ
и язык ассемблера

Лекция 1
заместитель министра связи

и массовых коммуникаций РФ, старший преподаватель
Северов Дмитрий Станиславович

Слайд 2
Ассемблер
• Литература
– Ирвин, Кип. Язык ассемблера для процессоров Intel,
4е издание.

ISBN 5-8459-0779-9

– Юров В.И., Assembler: Специальный справочник.

ISBN 5-469-00003-6

1. Основные понятия. Структура процессоров IA-32.
2. Основы ассемблера. Пересылки, адресация,

основы целочисленной арифметики.
3. Процедуры. Условные вычисления.

4. Целочисленная арифметика. Профессиональное

программирование.

5. 32-разрядные программы для Windows.
Интерфейс с языками высокого уровня.

6. Основы работы с диском и иным оборудованием.
7. Числа с плавающей точкой. Сопроцессор.


Слайд 3






Алгоритм
• Алгоритм (ISO 2382/1-84)
– Конечный набор предписаний, определяющий решение
задачи посредством конечного

количества операций

• Свойства алгоритма

– Дискретность информации и действий над ней

– Понятность : доступность и однозначность предписаний
– Конечность: получение результата за конечное число

шагов

– Определённость: одинаковость результата для одинаковых

данных

– Массовость: применимость к различным данным

• Процесс, порождаемый алгоритмом в ВМ –

вычислительный процесс


Слайд 4Модели, языки, акторы
• Модель – аналог
реального явления,
представляющий
законы поведения
частей и связей.
• Язык

- знаковая
система фиксации,
переработки и передачи
информации.
• Актор – модельный
собеседник, которому
направлены фразы
модельного языка.

Рынки
Потребители
Задачи
Алгоритмы
Программы
Блоки аппаратуры
Цифровые схемы
Аналоговые схемы




Нелинейные структуры


Слайд 5Модели, языки, акторы
• Модель – аналог
реального явления,
представляющий
законы поведения
частей и связей.
• Язык

- знаковая
система фиксации,
переработки и передачи
информации.
• Актор – модельный
собеседник, которому
направлены фразы
модельного языка.

Рынки
Потребители
Задачи
Алгоритмы
Программы
Блоки аппаратуры
Цифровые схемы
Аналоговые схемы




Нелинейные структуры

Ассемблер применяется здесь


Слайд 6






… среди других языков
Алгоритмы








Программы









Аппаратура
Цифровые схемы •
Аналоговые схемы •
Языки спецификаций
Языки программирования
Язык

ассемблера
Системные вызовы
Машинный код
Микрокоманды
Цифровые сигналы
Цифровые сигналы
Аналоговые сигналы

Слайд 7
Назначение ассемблера
• Применяется для…
– анализа
• сбоев
• взаимодействия
• чужого кода
– предельной разработки

по производительности
(библиотеки)
• по потреблению
ресурсов (встраивание)
• по степень доверия
(защита, надёжность)
– абстрагирования от
аппаратуры (драйверы)

• Исключается для…
– функционально
сложного ПО
– сопровождаемого ПО
– переносимого ПО


Слайд 8
Двоичные операции
• Одноразрядные:
– булево отрицание
– булево сложение
– булево умножение
• Многоразрядные, арифметические

сдвиги

– арифметическое сложение
– арифметическое умножение

• Произвольные:

– табличное представление
– конструирование
– синтез, базис
– СДНФ, СКНФ

– минимизация и сложность

• «Нелогичность» булевой алгебры


Слайд 9
Представление простейших данных
• Ограниченные двоичные поледовательности
– Беззнаковые целые числа
– Компактная форма

– шестнадцатеричная

– Преобразования между системами

– Ограничения представления (байт, слово, …)

– Числа со знаком, дополнительный код

– Представимые числа

• Символы и строки : ASCII, Unicode, ASCIIZ


Слайд 10

5.
Рабочее окружение программы
ЦП
АЛУ
УУ
Регистры
Основная
память
УBB
УBB
УBB
УBB
Снаружи программы
1. Загрузка кода
2. Выделение ресурсов
3.

Нормирование работы и
реагирование на запросы

4. Освобождение ресурсов
Среда взаимодействия

• Программа
– Выполнение команд
– Изменение состояния
• Другие программы

Внутри команды
1. Выборка команды
2. Декодирование
3. Выборка операндов
4. Выполнение операции
Запись результата


Слайд 11
Нарушение потока управления
• Внешнее прерывание
– Система прерывает программу непреодолимо и
непредсказуемо для

последней

– Аппаратное прерывание, исчерпание времени

• Исключительная ситуация

– Операция невыполнима в данных условиях
– Операция м.б. выполнима в других условиях

• Произвольное (программное) прерывание

– Специальная команда обращения «вовне»
– Не путать с передачей управления «внутри»!


Слайд 12





Особенности iA-32

• Программная модель
– Сегментированная, виртуализуемая память
– Программный стек
– Пользовательские регистры
общего

назначения: EAX-EDX,EBP,ESP,ESI,EDI
сегментные : CS,SS,ES,DS,FS,GS
указатель команды: EIP
флаги состояния: EFLAGS
расширения ST(0)-ST(7), MMX0-MMX7, XMM0-XMM7
– Системные регистры: управления, сист. адресов, отладки
• Режимы работы

– RM: Real-address mode
– PM: Protected mode
• VM: Virtual 8086 mode

- 220 байт
- 232(236) байт
- 220 байт каждому

– SMM: System management mode


Слайд 13




Адресация IA-32
• Физический адрес в режиме реальных адресов
– Механизм страничного преобразования

Линейный адрес

• Сегментный адрес
• Эффективный адрес
– Смещение из команды

– Содержимое базового регистра
– Содержимое индексного регистр

• Физический адрес в защищённом режиме

– Механизм страничного преобразования

Линейный адрес

Базовый адрес сегмента из дескриптора в таблице дескрипторов
Указатель на дескриптор сегмента
Эффективный адрес


Слайд 14
Assembly Language for Intel-Based
Computers 4th Edition
http://www.kipirvine.com/asm/4th/index.html
• Средства отладки
– Debugging Tools
• Часто

задаваемые вопросы

– Frequently Asked Questions

• Исправления примеров и библиотек

– Example Programs and Library Update Patch

• Решения заданий с нечётными номерами

– Solutions to odd-numbered prog exercises

• Справочный файл по «учебным» библиотекам

– Help file for the book's link library


Слайд 15
www.Intel.com/products/processor/manuals/
• Расширение: Контроллер прерываний
– x2APIC Specification
• Тонкости реализации памяти
TLBs, Paging-Structure Caches,

and Their

invalidation

• Собственно архитектура

– Volume 1: Basic Architecture

– Volumes 2A,2B: instruction Set Reference
– Volumes 3A,3B: System Programming Guide

• Рекомендации по оптимизации

– Optimization Reference Manual


Слайд 16




Процесс создания программы
• Редактирвание
⇓ Ваш исходный текст
• Трансляция
⇓ Объектный код
• Компоновка

Загрузочный код

• Загрузка

⇓ Исполняемый код

• Выполнение,отладка

⇓ Результат


Слайд 17




Процесс создания программы

• Редактирвание
⇓ Ваш исходный

текст
• Трансляция
⇓ Объектный код
• Компоновка
⇓ Загрузочный код
• Загрузка
⇓ Исполняемый код
• Выполнение,отладка
⇓ Результат

⇐Изменения текста




⇐Текстовые библиотеки




⇐Статический код




⇐Решения ОС




⇐Внешние события
⇐Внешние данные и код


Слайд 18




Процесс создания программы
• Редактирвание
⇓ Ваш исходный текст
• Трансляция
⇓ Объектный код
• Компоновка

Загрузочный код
• Загрузка
⇓ Исполняемый код

Ввод предписаний
⇐Изменения текста
Предписания трансляции
⇐Текстовые библиотеки
Предписания компоновки
⇐Статический код
Предписания загрузки
⇐Решения ОС

• Выполнение,отладка Предписания исполнения

⇓ Результат

⇐Внешние события
⇐Внешние данные и код


Слайд 19
Предписания ассемблеру (1)
• Команды
– изображение в машинного кода «один-в-один»
• Псевдоданные
– Предопределённые

имена

• Дата, время, окружение, файл

• Сегменты, разметка кода, «неинициализация»

– Операторы трансляции

• Арифметические, побитовые, сдвиги, отношения
• Макрооператоры, работа с записями и типами
• Сегментная информация, определение данных

– Операторы исполнения (для директив, см. далее)

• «Логические» выражения, значения флагов


Слайд 20
Предписания ассемблеру (2)
• Псевдокоманды
– Директивы условного выполнения программ

Директивы трансляции

1. Работа со счётчиком адреса

2. Условная трансляция, и генерация ошибок

3. Распределение данных и установления равенства
4. Управления листингом

5. Работа с макрокомандами и блоками повторения
6. Работа с процедурами

7. Управление областью видимости

8. Управление сегментацией в т.ч. упрощенное
9. Работа строками и сложными типами
10.Указание типа процессора

11.Комментарии, эхо, вставки, библиотеки, контекст


Слайд 21
2.
3.
4.
«Целочисленные» константы и выражения

• «Целочисленная» константа
[{+|-}] цифры [основание]
– Основание
[{h|q|o|d|b|r|t|y}]

«Целочисленное» выражение
– Результат всегда 32 бита
– Операторы над значениями (по приоритетам)

1.

Скобки
(Не) изменение знака
Произведение, частное, остаток
Сумма, разность


Слайд 22
«Вещественные» и текстовые константы

• «Десятичные вещественные» константы
[{+|-}]цифры.[цифры]
[E[{+|-}]цифры]
• Закодированные «вещественные» константы
+1.0
3А800000r
• Символьные

и строковые константы
”A” ’A’
”Буква ’A’- первая в алфавите”
’Он сказал: ”Поехали!” и взмахнул рукой.’

Слайд 23




Идентификаторы и
зарезервированные слова
• Идентификаторы
– Длина < 248 символов
– Регистр не различается

Первой – буква (A…Z, a…z, _, @, $)

• Зарезервированные слова

Обозначения команд (мнемокоды)
Обозначения директив
Обозначения операторов
Обозначения регистров


Слайд 24
Команды

• Структура
[метка] мнемокод [операнды]
• Метка
идентификатор:
– символическое обозначение адреса команды

• Мнемокод
– Символическое

обозначение варианта машинной команды

• Операнды
– Константное выражение, в т.ч. (символическая) константа
– Название регистра
– Имя переменной

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика