Описание функций блоков микропроцессора.
1. BIU (Bus Interface Unit) – устройство сопряжения с шиной. Системная шина осуществляет обмен информацией между CPU и подсистемами ВС.
2. PU (Prefetch Unit) – устройство предварительной выборки команд, представлено узлом управления конвейером команд и 16-битовым стеком команд дисциплины FIFO (First Input – First Output: первым пришел – первым вышел).
3. IDU (Instruction Decode Unit) – устройство декодирования команд, состоит из:
- декодера команд, осуществляющего дешифрацию полей команд первой ступени (определение типа и формата команды) и
- стековой памяти из 31-го 100-битовых полей, дисциплины FIFO, определяющих собственно набор микроопераций выполняемых команд. Стеки PU и IDU программно недоступны.
4. EU (Execution Unit) – устройство обработки данных, предназначено для хранения и обработки данных, выполнения команд и формирования кодов состояний CPU. EU включает в себя группу (файл)
32-битовых регистров:
1) EAX – аккумулятор;
2) EBX – адресный регистр базы данных;
3) ECX – счетчик операций цикла;
4) EDX – 64-Кбайтный адрес порта ПУ, либо адрес хранения старшей половины операнда в командах умножения и деления;
5) AX, BX, CX, DX – регистры хранения адресов 16-битовых операндов;
6) AL, AH, BL, BH, CL, CH, DL, DH – регистры хранения адресов 8-битовых операндов;
7) ESPиEBP – группа 32-битовых регистров указателей стеков для работы со стековыми сегментами;
8) ESI и EDI – регистры индексов, для хранения смещения адреса относительно базы при чтении или записи в память;
9) SP, BP, SI, DI – регистры для хранения 16-битовой информации,
10) EFLAGS – 32-битовый регистр флагов, включающий в себя:
- 6 статусных флагов (устанавливаются по результатам выполнения соответствующих операций);
- 2 управляющих флага, разрешающих включение режима VM86 и игнорирования (блокировки) ошибок при отладке программы по шагам;
- 2 системных флага, используемых в режиме РМ,
11) EIP (Instrucktion Pointer) – 32-битовый регистр счетчика команд (IP – 16-битовая секция счетчика команд). Счетчик команд программно недоступен.
12) CR0–СR3 – три 32-разрядных регистра управления, которые, совместно с системными регистрами, сохраняют информацию о состоянии CPU во время выполнении задачи. СR1 не используется.
Механизм отладки программв микропроцессоре i386 позволяет:
1) введение в программу точек разрыва;
2) пошаговый (покомандный) режим выполнения программы;
3) программирование четырех адресных контрольных точек останова (DR0 – DR3). В реализации режима останова участвуют также регистры состояний DR6 (статусный) и DR7 (управляющий) из регистра EFLAGS. Оба регистра – TR6 и TR7 используются также для самодиагностики CPU. Режим самодиагностики запускается по заднему фронту сигнала RESET при условии, что сигнал /BUSY = L (Low – нижний уровень).
5. SU (Segmentation Unit) – блок сегментации, осуществляет первую ступень преобразования адресов, и состоит из 16-битовых регистров для хранения базовых текущих адресов, или сегментов в RM, либо селекторов в РМ и содержит:
1) CS (Code Segment) – селектор или сегмент кода;
2) SS (Stack Segment) – начало стекового сегмента;
3) DS, ES, FS, GS (Data Segments) – регистры сегментов данных.
Для организации режима виртуальной памяти в CPU i386 имеется механизм, включающий системные регистры:
1) GDTR (Global Descriptor Table Register) – регистр глобальной дескрипторной таблицы,
2) LDTR (Local Descriptor Table Register) – регистр локальной дескрипторной таблицы,
3) IDTR (Interrupt Descriptor Table Register) – регистр таблицы дескрипторов прерываний,
4) TR (Task Register) – регистр селектора сегмента состояния задачи (TSS).
6. PAG (Paging Unit) – блок страничной организации памяти. Это вторая ступень (первая – SU) для доступа к страничным ячейкам при виртуальном преобразовании адреса. SU и PAG входят как независимые узлы в MMU (Мemory Managment Unit).
ПРИМЕЧАНИЯ по тексту:
1) полярность активности логического сигнала может быть прямой (положительной) или инверсной (отрицательной).
ПРЯМЫЕ активные сигналы в таблицах и на схемах обычно не имеют особых отметок или, в исключительных случаях, имеют индекс high перед именем сигнала.
ИНВЕРСНЫЕ активные сигналы имеют равносильные обозначения:
- минус перед именем сигнала,
- знак "/" (слэж) перед именем сигнала (например, /ERROR),
- надчеркивание,
- знак # после имени (например, BUSY#), или
- индекс L (Low) после имени;
2) для принятой системы счисления за цифровым обозначением следует буквенный указатель:
- h (hex) - шестнадцатеричная,
- d (decimal) - десятичная, или
- b (binare) - двоичная система счисления;
3) размещение байтов в регистрах различно: обычно информация о составе байтов, заключенных в ячейки памяти, разделяется двоеточием, а при акцентировании конкретного бита, входящего в состав регистров или шин, принято обозначение бита (разряда) – его номером в квадратных скобках (например, EFLAGS[17]).
Дата добавления: 2015-07-18; просмотров: 1051;