- •Организация и функционирование вычислительных машин
- •Раздел 1. Основные понятия архитектуры и организации эвм. 3
- •Раздел 2. Организация процессора и основной памяти вм 7
- •Раздел 3. Организация памяти в эвм 35
- •Раздел 4. Организация системы ввода-вывода в эвм. 51
- •Раздел1.Основныепонятия архитектуры и организации эвм. Состав электронной вычислительной машины (эвм)
- •Принцип программного управления и машина фон Неймана
- •Понятие архитектуры, организации и реализации эвм
- •Многоуровневая организация эвм.
- •Понятие семантического разрыва между уровнями
- •Организация аппаратных средств эвм
- •Типовая структура вм на микропроцессорных наборах
- •Раздел 2. Организация процессора и основной памяти вм
- •Типовая структура процессора и основной памяти
- •Основной цикл работы процессора
- •Организация процессора и памяти в микропроцессоре Intel 8086
- •Организация стека процессора
- •Распределение оперативной памяти в i8086, ms dos
- •Организация выполняемых программ в ms dos
- •Режимы адресации памяти в микропроцессоре Intel 8086
- •5. Адресация по базе
- •6. Косвенная адресация с масштабированием
- •7. Адресация по базе с индексированием и масштабированием
- •Система команд i8086
- •3DNow! от amd
- •Организация прерываний в процессоре Intel 80x86
- •Управление выполнением команд в эвм.
- •Способы формирования управляющих сигналов.
- •Простейшая схема формирователя управляющих сигналов
- •Способы кодирования микрокоманд.
- •Компьютеры с сокращенным набором команд.
- •Арифметические особенности risc процессоров.
- •Раздел 3. Организация памяти в эвм
- •Основные среды хранения информации.
- •Виды запоминающих устройств.
- •Память с произвольной выборкой.
- •Постоянные запоминающие устройства.
- •Ассоциативные запоминающие устройства (азу)
- •Иерархическая система памяти
- •Организация памяти типа кэш.
- •Организация структуры основной памяти в процессорах ix86.
- •Организация виртуальной памяти.
- •Организация виртуальной памяти на i386 и более старших моделях.
- •Организация работы с внешней памятью.
- •Организация работы с файлами на дисках в ms-dos.
- •Раздел 4. Организация системы ввода-вывода в эвм.
- •Архитектура систем ввода-вывода.
- •Способы выполнения операции передачи данных
- •Структуры контроллеров внешних устройств, для управления различными режимами передачи данных.
- •Программные средства управления вводом-выводом.
- •Основные компоненты процедуры управления ввода-вывода общего вида
- •Состав и реализация устанавливаемого драйвера символьного типа
- •Литература
- •Краткое введение в язык ассемблера.
- •1. Директивы задания данных
- •2. Директивы сегментации программы
- •3. Директивы группирования.
- •4. Порядок размещения сегментов.
- •5. Директивы ограничения используемых команд.
Основной цикл работы процессора
Этапы:
Выборка команды(IF)
Формирование исполнительных адресов операндов, если требуется (AM).
Выборка операндов из памяти (OF).
Исполнение операции (EX).
Запоминание результата (ST).
Проверка запроса программного прерывания (IRQ).
Каждый этап выполняется за один цикл памяти.
При обработке этих этапов используется конвейерный способ (при выполнении очередного этапа одновременно происходит выполнение предыдущего этапа следующей команды). Разумеется, если одна команда изменяет содержимое какой-либо ячейки памяти, а следующая использует ее новое значение, то последняя не может начать исполняться, пока результат не будет сохранен).
-
IF
AM
OF
EX
ST
IRQ
IF
AM
OF
EX
ST
IRQ
IF
AM
OF
EX
ST
IRQ
Возможны два вида прерываний:
программное прерывание, которое обрабатывается путем выполнения процессором специальной программы - обработчика прерываний;
аппаратное, реализуется без участия программы процессора с помощью аппаратных средств, имеет высокий приоритет и может поступать в любой момент времени, прерывая выполнение текущей команды.
Подробнее о прерываниях будет рассказано позже.
Организация процессора и памяти в микропроцессоре Intel 8086
В данном процессоре длина слова составляет 16 бит, что равно 2 байтам. Минимально адресуемой и обрабатываемой единицей информации является байт, при этом адрес слова совпадает с адресом младшего байта и является четным. Максимальная емкость памяти 216=64 Кб. Для расширения адресного пространства, используется сегментирование памяти. Максимальная длина каждого сегмента равна 64Кб. Адрес образуется парой сегмент (16 бит) и смещение (16 бит) в пределах сегмента
Segment:Offset
Смещение сдвигается на 4 бита влево и суммируется со значением сегментом, результатом является 20-битный физический адрес, чем обеспечивается алресация 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соответственно.
Сегментные регистры
При использовании памяти для формирования любого адреса применяются два числа - адрес начала сегмента и смещение искомого байта относительно этого начала. В процессорах Intelпредусмотрены следующие сегментные регистры –CS(сегмент кода),DS(сегмент данных),ES(дополнительный сегмент),SS(сегмент стека). Начиная с 80286 появились регистрыFSи GS.
Смещение следующей выполняемой команды всегда хранится в специальном регистре- IP(указатель инструкции), запись в который приведет к тому, что следующей будет исполнена какая-нибудь другая команда, а не команда, расположенная сразу за данной.. На самом деле все команды передачи управления -перехода, условного перехода, цикла, вызова подпрограммы и т. п. осуществляют запись в CSи EIP.
Регистр флагов
|
|
|
|
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).