- •«Санкт-Петербургский государственный электротехнический университет «лэти» им.В.И.Ульянова (Ленина)» (сПбГэту)
- •Архитектура компьютера
- •Оглавление
- •Основные понятия архитектуры и организации компьютеров.
- •1.1. Состав компьютера
- •1.2. Виды (классы) компьютеров
- •1.3. Принцип программного управления и машина фон Неймана
- •1.4. Понятия архитектуры, организации и реализации компьютера
- •1.5. Многоуровневая организация компьютера
- •1.6. Понятие семантического разрыва между уровнями
- •1.7. Организация аппаратных средств вм
- •Представление и обработка данных в вм
- •Целые числа
- •Представление и обработка вещественных чисел.
- •Логические операции над битовыми наборами
- •Представление и обработка символов.
- •Представление видеоинформации и аудиоинформации.
- •Видеоинформация.
- •Аудиоинформация
- •Организация процессора и основной памяти вм
- •3.1. Типовая структура процессора и основной памяти
- •3.2. Основной цикл работы процессора
- •3.3. Организация процессора и памяти в архитекуре Intel x86.
- •3.3.1. Программно доступные регистры процессора
- •3.3.2. Организация стека в архитектуре Intel х86
- •3.3.3. Организация выполняемых программ в ms dos
- •3.3.4. Режимы адресации памяти в архитектуре Intel х86
- •1. Регистровая адресация
- •2. Непосредственная адресация
- •3. Прямая адресация
- •4. Косвенная адресация
- •7. Индексная адресация с масштабированием
- •8. Адресация по базе с индексированием и масштабированием
- •3.3.5. Краткая характеристика системы команд процессоров Intel х86
- •3.3.6 .Арифметическая обработка чисел с использованием математического сопроцессора
- •Организация прерываний в процессорах Intel x86
- •Эволюция микроархитектуры Intel x86
- •Управление выполнением команд в компьютерах.
- •Аппаратный способ формирования управляющих сигналов
- •Микропрограммный способ формирования управляющих сигналов
- •Компьютеры с сокращенным набором команд
- •Организация памяти в компьютере
- •6.1. Назначение и основные характеристики памяти
- •6.2. Основные среды хранения информации
- •6.3. Методы доступа к данным.
- •6.4. Память с произвольным доступом (ппд)
- •6.5. Блочная организация основной памяти.
- •6.6. Постоянные запоминающие устройства (пзу - rom)
- •6.7. Ассоциативные запоминающие устройства (азу)
- •6.8. Иерархическая система памяти
- •Организация кэш-памяти.
- •Прямое отображение блоков оп на кэш-память
- •Наборно-ассоциативное отображение блоков оп на Кэш-память
- •6.10. Организация виртуальной памяти
- •Организация виртуальной памяти в Intel 80386 и более старших моделях.
- •Защита памяти в процессоре Intel 80386
- •Организация работы с внешней памятью
- •7.1. Типы, виды, свойства дисковых накопителей информации.
- •7.2. Магнитные дисковые накопители.
- •7.3. Основные физические и логические параметры жмд
- •7.4. Контроллеры жестких дисков
- •Логическое хранение и кодирование информации
- •Интерфейсы жестких дисков
- •Работа накопителя
- •Внешняя память на cd и dvd дисках.
- •Принципы организации raid массивов
- •Основные принципы построения raid массивов
- •Одиночные уровни raid
- •Составные уровни raid массивов
- •Сравнительные результаты
- •Системные и локальные шины
- •9.1. Общие положения и требования к шинам
- •9.2. Основные виды, характеристики и параметры шин
- •9.3. Стандарты шин
- •Организация системы ввода-вывода в вм
- •10.1. Назначение и основные требования к системе ввода-вывода вм
- •10.2. Архитектура систем ввода-вывода
- •10.3. Способы выполнения операции передачи данных
- •Синхронная передача данных
- •Ввод-вывод по программному прерыванию
- •Ввод-вывод по аппаратному прерыванию (прямой доступ к памяти)
- •10.4. Структуры контроллеров ву для различных режимов передачи данных
- •Программные средства управления вводом-выводом (пс увв)
- •Состав пс увв
- •11.2. Основные компоненты процедуры управления ввода-вывода общего вида
- •11.3 Состав и реализация устанавливаемого драйвера символьного типа
- •Список литературы
- •Приложения
- •Регистры ммх
- •Типы данных
- •Команды ммх
- •П2. Краткое введение в программирование на языке Ассемблера
- •1. Директивы задания данных
- •2. Директивы сегментации программы
- •3. Директивы группирования.
- •4. Порядок размещения сегментов.
3.3.1. Программно доступные регистры процессора
Начиная с 80386, процессоры Intel предоставляют 16 основных регистров для пользовательских программ плюс еще 11 регистров для работы с числами с плавающей запятой (FPU/NPX) и мультимедийными приложениями (ММХ). Все команды так или иначе изменяют значения регистров, и всегда быстрее и удобнее обращаться к регистру, чем к памяти.
Регистры общего назначения
16-битные регистры АХ (аккумулятор), ВХ (база), СХ (счетчик), DX (регистр данных) могут использоваться без ограничений для любых целей – временного хранения данных, аргументов или результатов различных операций. На самом деле, начиная с процессора 80386, все эти регистры имеют размер 32 бита и называются они ЕАХ, EВХ, EСХ, EDX. Кроме этого, отдельные байты в 16-битных регистрах АХ - DX тоже имеют свои имена и могут использоваться как 8-битные регистры. Старшие байты этих регистров называются АН, ВН, СН, DH, а младшие - AL, DL, CL, DL.
Другие четыре регистра общего назначения (РОН) – SI (индекс источника), DI (индекс приемника), BP (указатель базы), SP (указатель стека) – имеют более конкретное назначение и могут применяться для хранения всевозможных временных переменных, только когда они не используются по назначению. Регистры SI и DI используются в строковых операциях, ВР и SP используются при работе со стеком. Так же как и для регистров АХ - DX, начиная с процессора 80386, эти четыре регистра являются 32-битными, называются ESI, EDI, EВР и ESP соответственно и могут использоваться как универсальные РОН.
Сегментные регистры
При использовании памяти для формирования любого адреса применяются два числа – адрес начала сегмента и смещение искомого байта относительно этого начала. Для хранения адреса начала сегмента в процессорах Intel8086 предусмотрены следующие сегментные регистры – CS (сегмент кода), DS (сегмент данных), ES (дополнительный сегмент данных), SS(сегмент стека). Начиная с процессора 80386, появились дополнительные регистры FS и GS.
Смещение следующей выполняемой команды всегда хранится в специальном регистре – IP (указатель инструкции), принудительная запись в который приведет к тому, что следующей будет исполнена какая-нибудь другая команда, а не команда, расположенная сразу за данной. В общем случае при передаче управления в другой сегмент команды безусловного перехода, вызова подпрограммы и т. п. – осуществляют запись в регистры CS и IP.
Регистр флагов
|
Х |
Х |
Х |
Х |
OF |
DF |
IF |
TF |
SF |
ZF |
0 |
AF |
0 |
PF |
1 |
CF |
15
8
7
0
CF - флаг переноса (CARRY);
PF - флаг четности (PARITY);
AF - дополнительный флаг переноса (AUXILARY);
ZF - флаг нуля (ZERO);
SF - знаковый флаг (SIGN);
TF - флаг слежения, ловушка (TRAP);
IF - флаг прерываний (INTERRUPTION);
DF - флаг направления (DIRECTION);
OF - флаг переполнения (OVERFLOW).
3.3.2. Организация стека в архитектуре Intel х86
Стек – специальная область памяти, достуная для записи (заполнения) и выборки (выталкивания) данных только с одного конца, называемого верхушкой стека. В процессорах Intel Х86 на верхушку стека указывает РОН указатель стека (SP – stack pointer), стек может работать только со словами, заполнение стека происходит в сторону уменьшения адресов с помощью команды PUSH, а освобождение стека (выталкивание данных из стека) – в сторону увеличения адресов командой РОР.
По существу команды PUSH AX и POP AX, соответственно сохраняющая содержимое РОН AX в стеке и восстанавливающая содержимое РОН AX из стека, выполняются в два приема:
PUSH AX: POP AX:
(SP)-2SP [SP]AX
(AX)[SP] (SP)+2SP
При выполнении программ в процессорах Intel Х86 стек используется в случаях:
-
промежуточного хранения содержимого регистра или группы регистров;
-
обмена содержимого регистров;
-
сохранения адресов возврата при вызове подпрограмм;
-
передачи параметров между вызываемой и вызывающей программами;
-
сохранения адресов возврата и регистра флагов при обработке прерываний.
