- •Архитектура эвм
- •Основные понятия
- •Этапы становления и развития вычислительной техники
- •Нулевое поколение (механическая эра)
- •Первое поколение
- •Второе поколение
- •Третье поколение эвм
- •Четвертое поколение эвм
- •Пятое поколение
- •Шестое и последующие поколения эвм
- •Основные принципы концепции машины с хранимой в памяти программой
- •Принцип двоичного кодирования
- •Принцип программного управления
- •Принцип однородности памяти
- •Принцип адресности
- •Архитектура вычислительных машин Фон-Неймана
- •Структура вычислительной машины
- •Структура вычислительной системы
- •Основные блоки персонального компьютера
- •Системная шина
- •Основная память
- •Внешняя память
- •Источник питания
- •Внешние устройства
- •Дополнительные интегральные микросхемы
- •Элементы конструкции вм
- •Функциональные характеристики вм
- •Микропроцессоры
- •Микропроцессоры cisc
- •Микропроцессоры risc
- •Микропроцессоры vliw
- •Физическая и функциональная структура микропроцессоров
- •Устройство управления
- •Арифметико-логическое устройство
- •Микропроцессорная память
- •Интерфейсная часть микропроцессора
- •Системные платы вм
- •Разновидности системных плат
- •Чипсеты системных плат
- •Интерфейсы вычислительных машин
- •Шины расширений
- •Локальные шины
- •Семейство последовательных интерфейсов pci Express
- •Периферийные шины
Микропроцессорная память
Базовая модель микропроцессора включает в себя 14 регистров двухбайтовых, в различных моделях реальных микропроцессоров, количество регистров разнится, как и их длинна (от 2 до 8 байт). В базовой модели все регистры разделяются на 4 основные группы:
Универсальный регистры (ax, cx, dx, bx) Каждый регистр может использоваться для временного хранения любых данных, при этом работать можно, со всем регистром целиком, либо с его половинкой, при этом к старшим байтом относят регистры ah, ch, dh, bh, а младшие al, cl, bl, dl. При этом каждый из универсальных регистров может использоваться как и специальный, при выполнении некоторых конкретных команд программы. Регистр ax, это регистр аккумулятор. Через его порты осуществляются ввод – вывод данных в микропроцессор, а при выполнении операций умножения и деления используется для хранения первого числа, участвующего в операции и результата операции, после её завершения. Регистр bx часто используется для хранения адреса базы в сегменте данных и начального адреса, поля памяти при работе с массивом. Регистр cx это регистр счетчик, используется как счетчик числа повторений, при циклических операциях. Регистр dx, используется как расширение регистра аккумулятора, при работе с 32 разрядными числами и при выполнении операций, умножение и деление, может использоваться для хранения номера порта при операциях ввода – вывода и т.д.
Сегментные регистры (cs, ds, ss, es). Предназначены для хранения начальных адресов полей памяти или сегмента, отведенных в программах для хранения: команд программы – это сегмент года или cs, данных – это сегмент данных регистра ds, стековой области памяти - это сегмент стека регистр ss, дополнительной области памяти данных при межсегментных пересылках – это расширенный сегмент, регистр es.
Регистры смещения (ip, sp, bp, si, di). Регистры смещения предназначены для хранения относительных адресов ячеек памяти в нутрии сегмента. Регистр ip – это смещение адреса текущей команды программы. Регистр sp – это смещение вершины стека или текущего адреса стека. Регистр bp – смещение начального адреса, поля памяти, непосредственно отведенного под стек. Регистры si и di – предназначены для хранения адресов индекса, источника и приемника данных, при операциях над строками и им подобных.
Регистр флагов fl или просто f. Регистр флагов f содержит условные, одноразрядные признаки маски или флаги, управляющие прохождениями программы в ВМ и работающие независимо друг от друга. И лишь для удобства объединенные в единый регистр.
Всего регистр содержит 9 флагов, 6 из них статусные, отражающие результаты операции выполненных в ВМ, и 3 управляющих регистра, непосредственно определяющих режим исполнения программы.
Статусные регистры:
cf – флаг переноса, содержит значения переносов 0 или 1, из старшего разряда, при арифметических операциях и некоторых операциях сдвига и циклического сдвига.
pf – флаг четности, проверяет младшие 8 бит результатов операции над данными, если количество единичек четное то выставляется 1, не четное 0.
af – флаг логического переноса в двоично-десятичной арифметике. Это вспомогательный флаг переноса, устанавливается в 1, если арифметическая операция приводит к переносу или займу четвертого справа бита, однобайтового оператора. Этот флаг используется при арифметических операциях над двоично-десятичными кодами и кодами ASCII
zf – флаг нуля. Устанавливается в 1, если результат операции равен 0, и обнулятся в противоположенном случае.
sf – это флаг знака, при положительном результате устанавливается в 0, при отрицательном в 1.
of – флаг переполнения. Устанавливается в 1, при арифметическом переполнении.
Управляющие флаги:
tf – флаг системного прерывания, установка флага в 1 переводит работы процессора в режим пошагового выполнения программы (трассировка).
if – флаг прерываний. Установка в 0 – прерывания запрещает, в 1 – разрешает.
df – флаг направления, используются в строковых операциях, для задания направления обработки данных. При нулевом состоянии флага команда увеличивает содержимое регистров si и di на единицу, определяя обработку строк слева- направо, а при единичном состоянии флага справа - налево.
Все остальные регистры являются расширением этих базовых регистров.
