
- •Принципы построения эвм. (Принципы фон Неймана)
- •Микропроцессор
- •Арифметически – логическое устройство
- •Устройство управления
- •Размещение информации в памяти
- •Команда пересылки mov приёмник, источник
- •Режимы работы микропроцессора
- •Защищённый режим работы
- •Фото 1706
- •Диспетчер памяти
- •Формирование физического адреса в реальном режиме работы процессора
- •Формирование физического адреса в защищённом режиме работы процессора
- •Синхронизация процессора
- •Возможности процессоров 5 и 6 поколений
- •Интерфейс процессора
- •Фаза запроса
- •Фаза ошибки
Возможности процессоров 5 и 6 поколений
Конвейеризация
Предполагает разбивку каждой команды на несколько этапов, причём каждый этап выполняется на своей ступени конвейера процессора.
При выполнении команд продвигается по конвейеру по мере освобождения последующих ступеней, таки образом на конвейере может обрабатываться несколько последовательных команд и производительность можно оценивать темпом хода выполняемых команд со всех конвейеров. И производительность процессора можно оценивать темпом схода выполненных команд со всех его конвейеров.
Конвейер процессора Pentium 1 состоит из 5 ступеней, Pentium 4 состоит из 23 ступени.
1 ступень – предварительная выборка;
2 ступень – первая стадия декодирования (выход на микропрограмму);
3 стадия – 2 стадия декодирования (вычисление адресов операндов);
4 стадия – исполнение ;
5 ступень – буфер записи;
Скалярным называется процессор с единственным конвейером (8086 – 80486).
Суперскалярный процессор имеет более одного конвейера, способных выполнять команды параллельно, например Pentium 1 содержит 2 конвейера - конвейеры U и V (имеет некоторые ограничения).
Переименование регистров.
Позволяет обойти архитектурные ограничения (доступно 8 РОНов). На возможность параллельно выполнения команд.
Процессоры с переименование регистров фактически имеют более 8 РОНов и при записи промежуточных результатов устанавливается, соответствие логических имён (AX, BX и т.д.) и физических регистров. Одновременно может исполняться несколько команд ссылающихся на одно и тоже логическое имея регистра.
Предсказание переходов
Позволяет продолжить выборку и декодирование потока команд после выборки команды условного перехода, не дожидаясь проверки самого условия. Раньше команды условных переходов останавливали конвейер. Предсказание переходов направляет поток выборки и декодирования по одной из ветвей.
Статический метод предсказания работает по схеме, заложенной в процессор.
Динамическое предсказание опирается на предысторию вычислительно процесса, т.е. для каждого конкретного случая перехода накапливается статистика поведения и переход предсказывается по ней.
Исполнение по предположению – предсказанные после перехода команды не только декодируются, но и исполняются до проверки условия перехода.
Исполнение с изменением последовательных команд – свойственно RISK – архитектуре. При этом изменяется порядок внутренних манипуляций данными, а внешние операции ввода/вывода и записи память выполняется в порядке, предписаны программным кодом.
Интерфейс процессора
Обеспечивает подключение и взаимодействие процессора с другими устройствами на системной плате. Все выводы МП можно разделить на три группы:
Шина данных
Шина адреса
Шина управления
При выполнении обмена по системной шине процессор выполняет последовательность операций транзакций, фаз.
Операция – элементарная процедура обмена (командный цикл), которая может состоять из одной или нескольких транзакций, а так же из одной транзакции с множественным переносом данных.
Транзакция (цикл магистралей) – выполнение обмена по одному из запросов, которое производится при определённом наборе состояния шины.
Виды транзакций:
Выборка команды
Чтение памяти
Запись в память
Чтение порта
Запись в порт
Подтверждение прерывания
Останов
Транзакция может состоять из шести фаз.
Фаза – один из этапов обмена, характеризуемый определённым набором управляющих сигналов.
Виды фаз:
Фаза арбитража
Фаза запросов
Фаза ошибки
Фаза завершения – снупинга
Фаза ответа
Фаза данных
Все процессы обмена по системной шине происходят при поступлении переднего фронта синхросигнала.
Подключенные к шине устройства называются агентами.
В каждый момент времени шиной управляет один из агентов – владелец шины (или мастер).
Шина данных
D[63-0] I/0- двунаправленная шина данных.
DRDY# - I/0 – data ready – сигнал готовности данных. Устанавливается агентом, передающим данные для индикатности достоверности информации на шине данных. В многотактовых DRDY может переводится в неактивное состояние.
TRDY#- I – сигнал готовности агента к приёму данных.
DBSY - I/0– сигнал занятости шины данных. Устанавливается агентом, передающим данные.
ECC
DEP [7-0] I/O
Биты ЕСС кода используемые для контроля и коррекции одиночных ошибок в передаваемых данных.
Шина адреса
A[35-3] – I/0 – двунаправленная адресная шина. Когда сигнал ADS активен(ADD#), на эти выводы выдаётся адрес. Когда ASD не активен (ADD#=1), на эти выводы поступает информация о типе транзакции.
При отрицательном фронте RESED процессор считывает с шины адреса о конфигурации системы.
Сигналы шины |
Агент 0 |
Агент 1 |
Агент 3 |
Агент 4 |
BREQ0# |
BR0# |
BR3# |
BR2# |
BR1# |
BREQ1# |
BR1# |
BR0# |
BR3# |
BR2# |
BREQ2# |
BR2# |
BR1# |
RR0# |
BR3# |
BREQ3# |
BR3# |
BR2# |
BR1# |
BR0# |
При выполнении начальной установки системы (RESET) на одну из линий BREQ подаётся сигнал 0, а на три остальные 1.
При этом на входы BR3-0 процессоров – агентов подключены к шине поступает комбинация сигналов, определяющая идентификационные номер каждого агента. Этот номер используется при определении приоритета запроса агента на захват шины.
Агент ID |
BR0# |
BR1# |
BR2# |
BR3# |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
2 |
1 |
1 |
0 |
1 |
3 |
1 |
1 |
1 |
0 |
При выполнении арбитража в системе устанавливается номер агента, который после выполнения текущей трансакции получает минимальный уровень приоритета для следующего доступа к шине. Значения Rotate ID задаётся равным номеру Агент ID агента, выполняющего текущую трансакцию.
Приоритет агентов на выполнение очередного доступа к шине определяется циклически относительно данного значения Rotate ID.
Например, при Rotate ID равным 2 (шиной владеет агент id 2). Высший приоритет будет иметь запрос агента с номером Агент ID3. Следующий за ним запрос агента с Агент ID0.
Если за затем поступает запрос на захват шины от агентов с номерами Агент ID1 и 2, то с начало владение шиной будет передано агенту с номером 1 и установлено значение Rotate ID = 1.
После выполнения трансакцией владение шиной передаётся агенту, имеющему номер 2. Устанавливается Rotate ID = 2 и максимальный приоритет на захват шиной получает агент с номером 3.
Агент выдаёт запрос на владение шиной, устанавливая на своём выводе значение сигнала BR0# = 0. Остальные линии BR3 – 1# служат входами, на которые поступают сигналы запроса других агентов, выдаваемые на линии BREQ 3 – 0 системной шины. В зависимости от значения Rotate ID установленной в текущей трансакции и поступивших на линии BREQ запросов на захват шины определяется агент, который становится владельцем шины при следующей трансакции. Этот агент формирует необходимые сигнала на владение шиной, а остальные агенты ожидают окончания текущей трансакции. Когда произойдёт смена владельца шины и начнётся выполнение трансакции, запрошенной другим агентом.
Приоритетный агент запрашивает захват шины подачей сигнала BPRI#. Приоритетный агент всегда будет следующим владельцем шиной.
Сигнал BNR# может быть выдан любым агентом, чтобы запретить проведение следующей трансакции.
Сигнал LOCK# означает, что агент выполняет последовательность трансакций, которая не может быть прервана другой трансакцией при любом значении сигналов BREQ 3 - 0 И BPRI.