
- •Глава 1. Основные понятия 9
- •Глава 8. Организация виртуальной памяти 227
- •Глава 9. Организация кэш-памяти 246
- •Глава1. Основные понятия
- •1.1. Система программно-аппаратных средств обработки информации
- •1.2.Традиционная классификация эвм
- •1.3. Структуры эвм
- •1.4. Многомашинные комплексы и многопроцессорные системы
- •1.5. Эволюция режимов работы эвм
- •1.5. Особенности построения и эксплуатации современных многопроцессорные и многомашинных комплексов.
- •Глава 2. Программная модель процессора
- •2.1. Общие понятия
- •2.2. Виды используемых структур памяти по принципам размещения и поиска информации
- •2.3. Организация оперативной памяти
- •2.3.1. Оперативная память и адресные пространства процессора
- •2.3.2. Адресация многобайтовых объектов в оперативной памяти
- •2.3.3. Структура и типы команд
- •2.4. Режимы адресации
- •2.5. Типы машинных арифметик
- •2.6. Управление потоком команд.
- •2.7. Контекст программы
- •2.8. Команды cisc- и risc-архитектуры
- •Глава 3. Программная модель мп Intel
- •3.1. Режимы работы
- •3.2. Программная модель 16-ти битового микропроцессора мп ia-16
- •3.2.1. Модель памяти
- •3.2.2. Порты ввода/вывода
- •2.2.3. Регистровый файл
- •3.2.4. Структура команд
- •3.3. Программная модель 32-битового микропроцессора
- •3.3.1. Основные особенности организации
- •3.3.2. Модель памяти
- •3.3.3. Регистровый файл
- •3.3.4. Структура команд и режимы адресации
- •3.3.5. Структура данных
- •Глава 4. Программные модели мп корпорации dec
- •4.1. Программная модель процессоров семейства pdp-11
- •4.2. Программная модель процессоров эвм vax-11 (см 1700)
- •Глава 5. Система прерывания
- •5.1.Функции системы прерывания и общие решения по реализации
- •5.2. Система прерывания в мп intel
- •5.2.1. Система прерывания в мп ia-16
- •5.2.2. Особенности системы прерывания в мп ia-32
- •5.2.3. Организация системы прерывания в pdp 11
- •Глава 6. Организация ввода-вывода
- •6.1. Система ввод/вывода
- •6.2.Теоретические основы операций ввода/вывода
- •6.3. Синхронизация передачи данных при вводе/выводе
- •6.3.1. Ввод/вывод с проверкой готовности
- •6.3.2. Ввод/вывод с использованием системы прерывания
- •6.3.3. Ввод/вывод с использованием устройств прямого доступа к памяти
- •Глава 7. Шинные интерфейсы
- •7.1. Общие положения
- •7.2. Асинхронный системный интерфейс "Общая шина"
- •7.3. Системные интерфейсы мп ia
- •7.4. Локальный интерфейс микропроцессора i80386
- •7.4.1. Особенности локального интерфейса i80386
- •7.4.2. Диаграммы работы локального интерфейса мп i80386
- •7.4.3. Модель функционирования локального интерфейса мп i80386. (интерфейс с конвейерной передачей данных)
- •7.4.4. Специальные циклы
- •7.5. Локальный интерфейс микропроцессора i486 (интерфейс с пакетной передачей данных)
- •7.5.1. Особенности локального интерфейса i486
- •7.5.2. Диаграммы работы локального интерфейса мп i486
- •7.5.3. Модель функционирования локального интерфейса мп i486
- •7.6. Локальный интерфейс мп Pentium (интерфейс с пакетной передачей данных и конвейеризацией передачи адреса)
- •7.7. Интерфейсы с расщепленными транзакциями
- •Глава 8. Организация виртуальной памяти
- •8.2. Основные задачи виртуальной памяти
- •8.3. Страничная организации виртуальной памяти
- •8.3.1. Страничная организация памяти
- •8.3.2. Виртуальная память на основе таблицы математических страниц
- •8.3.3. Упрощенная схема виртуальной памяти на основе таблицы физических страниц
- •8.3.4. Схема виртуальной памяти на основе таблицы физических страниц.
- •Глава 9. Организация кэш-памяти
- •9.1. Назначение и общая схема подключения кэш-памяти
- •9.2. Системы адресации кэш-памяти
- •9.3. Режимы работы кэш-памяти
- •9.4. Иерархическая структура кэш-памяти и средства управления кэш-памятью
- •9.5. Организация когерентности системы кэш-памяти в многопроцессорных системах с общей оперативной памятью.
- •Основные переходы. При запросах на чтение (r):
- •Чтение (sr2):e в s. При запросах на запись (w):
- •Глава 10. Организация системы памяти на жестких дисках
- •10.1.Дисковые массивы и уровни raid
- •125Стр. Из 292
7.7. Интерфейсы с расщепленными транзакциями
Особенностью локального интерфейса МП Pentium Pro и более поздних моделей является их ориентация на возможность многопроцессорной обработки данных. На его основе можно строить симметричные многопроцессорные (до четырех процессоров) системы. Процессор Pentium Pro имеет независимую двойную интерфейсную шину. Одна из этих шин предназначена для связи процессора с оперативной памятью, другая – с кэш-памятью второго уровня.
В результате этого доля обращений к оперативной памяти снизилась до 10%, что послужило основой для построения многопроцессорных систем с общей памятью.
В процессорных системах IA-архитектуры интерфейс процессора – это печатный монтаж проводов на материнской плате, а локальный интерфейс процессор-память – не более дюйма. Главными источниками задержки здесь являются не длительность передачи, а латентность памяти, т.е. задержки в адресных цепях процессора.
Адресные шины содержат множество адресных проводов. Первые процессоры IA-архитектуры состояли из 10 проводов. По этим проводам по очереди передавали значения старших и младших разрядов 20-разрядного адреса на два дешифратора (колонки и строки матрицы). Каждый дешифратор выбирает один провод из 1024 проводов. На невыбранных проводах ток отсутствует, он утекает на землю, через открытые диоды дешифратора. На выбранной шине он составляет 1/1024 от тока на входе дешифратора. Таким образом, ток заряда паразитной емкости выходной шины дешифратора составляет одну тысячную от входного. Соответственно с этим, время нарастания напряжения на выбранной шине уменьшается в тысячу раз. Это главная причина задержек ответа (время латентности) при обращении к памяти.
С ростом быстродействия процессора доля потерь времени в адресных цепях непрерывно возрастает.
При отдельных операциях записи контроллер памяти принимает команду процессора в буфер памяти и освобождает интерфейс. При выполнении операций чтения ситуация более сложная. Чтение – это, в общем случае, передача пакета (строчки кэш-памяти). Чтобы передать пакет данных, кроме задержки на латентность памяти, нужно учесть время выбора исполнителя чтения (основной памяти или локальной кэш-памяти другого процессора, в которой может быть копия затребованных данных). Передача "кэш - кэш" намного быстрее передачи "оперативная память - кэш". Кроме этого, данные в основной памяти могут быть устаревшими по сравнению с кэш-памятью других процессоров. Одним из решений этой проблемы явились протоколы с расщепленной транзакцией. (split transaction).
Шина с расщепленной транзакцией при наличии нескольких главных устройств шины (процессоров или устройств ПДП) обеспечивает значительно большую пропускную способность за счет разделения транзакции на две основных части: передача запроса, проверка отказа и получение ответа.
Здесь речь идет о команде "прочитать". При выполнении команды "записать" процессор передает в одной фазе и адрес записи, и данные. Контроллер памяти помещает данные в буфер записи и на этом транзакция интерфейса заканчивается.
При передаче команды "прочитать" каждая часть транзакции начинается арбитражем запросов на занятие определенной группы шин и оканчивается отключением от этих шин. В промежутках между указанными соединениями интерфейсная шина может использоваться для реализации следующих транзакций этого же процессора или других процессоров, или устройств ПДП. По сути – это вариант пакетной передачи с конвейеризацией передачи адреса, но с использованием времени латентности памяти.
В этом протоколе разные группы шин адреса и данных используются в разных фазах транзакции и практически независимы. Любая фаза начинается выставлением запроса арбитражу на доступ к шинам интерфейса. Одновременно может быть множество запросов на доступ к интерфейсу. Доступ получает запрос, выигравший арбитраж.
Временная диаграмма интерфейса с расщепленными транзакциями представлена на рис. 7.15.
В интерфейсе с расщепленными транзакциями используются несколько арбитражей:
запроса шин адреса и команды,
запроса шин данных,
запроса передачи сигнала ошибки (на рис.7.4 не показаны).
Для реализации транзакции процессор должен выиграть запрос к арбитражу шин адреса и команды. Для этого процессор или устройства ПДП подают на устройство арбитража запрос – идентификатор процессора и идентификатор арбитража.
В ответ арбитраж посылает сигнал разрешения занятия следующего цикла процессора и присвоенный транзакции тег.
При отрицательном ответе процессор сохраняет запрос.
Первой фазой первого этапа транзакции (рис. 7.15) является запрос к арбитражу для занятия шин адреса и получение разрешения, второй фазой первого этапа является передача запроса (код операции, адрес, размер, разрешенные секции шин данных и идентификатор источника – трехразрядный тег).
Тег присваивается запросу арбитражем. Здесь возможны случаи, когда арбитраж выигрывает одно и то же устройство ПДП. Поэтому тег присваивается не ПДП, а транзакции, по ее очереди в конвейере.
Одновременно на этом конвейере могут находиться до 8 транзакций на разных стадиях выполнения, и для идентификации транзакций достаточно использования трехбитного тега.
Первой фазой второго этапа является запрос ответчика (контролера памяти) в арбитраж на захват шин передачи данных. Второй фазой этого этапа является передача данных.
Между
этими основными этапами возможны
дополнительные этапы. Это этап возможной
ошибки и этап управления завершением.
Вопросы для самопроверки:
1.Протоколы с расщепленной транзакцией.
2. Первый этап протокола с расщепленной транзакцией.
3. Второй этап протокола с расщепленной транзакцией.
4. Назначение тега в протоколе с расщепленной транзакцией.