Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lek2_01_.doc
Скачиваний:
32
Добавлен:
01.12.2018
Размер:
1.34 Mб
Скачать

Организация внешней памяти

В ЦП i486 используется ОП с расслоение обращений на 16 байт. Поэтому при считывании строки за одно обращение к ОП и передачи первого слова строки в кэш-память последующие данные будут переданы за 3 такта. Таким образом, считывание и передача строки в кэш-память требует минимум 5 тактов (вместо 8). Отсюда, введение пакетных циклов шины позволяет сократить число обращений к ОП при выполнении процедур замещения строк, а, следовательно, повысить производительность ВС. Пакетные циклы могут применяться только, если считываемые данные выровнены по границе 16 байт при: выполнении процедур замещения строк, работе с массивами данных, при обработке строковых переменных и т.д. Пакетные циклы могут использоваться только на операциях чтения. Выигрыш в быстродействии при пакетных циклах шины достигается за счет сокращения обращений к ОП (расслоения обращений к ОП).

Следует заметить, что время доступа к ОП в реальных условиях составляет 5-6 тактов. Тогда ярко видно достоинство пакетных циклов. Например, время доступа к ОП составляет 5 тактов. Тогда непакетные циклы шины для выполнения замещения строки составят 5х4=20 тактов, а пакетный цикл шины 5+3=8 тактов.

Кроме того, компромиссным вариантом организации памяти ВС является использование внешней кэш-памяти, которая подключается к локальной шине ЦП и служит для расширения адресного пространства внутренней кэш-памяти и для сокращения количества обращений к медленной ОП. Такое подключение позволяет:

  • при сквозной записи во внутренней кэш-памяти выполнять запись во внешнюю кэш-память, освобождая ОП, например, для межпроцессорного обмена или ПДП;

  • при отложенной записи тоже самое, что не приведет к искажению достоверности данных;

  • при замещении строки параллельно записывать строку во внешнюю и внутреннюю кэш-память, если Авнешней кэш памяти;

  • при промахе обеспечивает выполнение процедуры замещения с внешней кэш-памятью без привлечения системной шины (Авнутренней кэш памяти, но  внешней кэш памяти, а ОП может использоваться для организации ПДП, обмена между устройствами, процессорами и других целей.

Максимальный выигрыш в производительности внешняя кэш-память дает в мультипрограммных режимах работы, когда емкости внутренней кэш-памяти недостаточно для хранения строк программ и данных, находящихся в обработке и возникает ситуация частого выполнения процедуры замещения строк (возрастает число промахов). По сравнению с циклами шины без ожидания при использовании внешней кэш-памяти требуется значительно меньшее число обращений к ОП, так как при промахе большинство запросов будет удовлетворять внешняя кэш-памяти (5-6 тактов на замещение строки), плюс ЦП несколько разгружает системную шину для организации межпроцессорного обмена. В однопрограммном режиме работы внешняя кэш-память может дать выигрыш максимум до 5%, так как внутренняя кэш-память ЦП i486 удовлетворяет до 95% запросов.

Внешняя кэш-память (БИС i82485) построена на основе четырех модулей с частично-ассоциативным распределением общей емкость N=64, 128, 256 и 512 Кбайт Длина строки 16 байт. Отсюда, ФА делится на 3 поля: 4-разрядное поле С для указания номера байта в строке, k-разрядное поле b индекса группы из четырех строк и m-разрядное поле тегов [а]. ЧАЗУ состоит из четырех m-разрядных модулей памяти тегов и четырех 32-разрядных модулей памяти данных, а также и 7-разрядного модуля памяти бит достоверности и LRU состояний кандидатов на удаление (D/LRU) емкостью по N/4 ячеек для каждого модуля. В памяти D/LRU 4 бита отводятся для указания бит достоверности строк для каждого модуля ЧАЗУ и 3 бита для хранения кода LRU состояния. ЧАЗУ позволяет получить: а) максимальную емкость кэш-памяти за счет использования 4 одинаковых модулей, работающих параллельно; б) более высокое быстродействие, по сравнению с полностью ассоциативным ЗУ (ПАЗУ); в) позволяет выполнять чтение за 2-3 такта (ОП 5-6 тактов); г) сокращает число промахов, по сравнению с прямым распределением; д) сквозная запись выполняется за 2-3 такта (время доступа к внешней кэш памяти, а не за 5-6 тактов при записи в ОП.

Для внешней кэш-памяти используется стратегия обратной записи, а замещение по стратегии псевдо LRU стека. Стратегия псевдо LRU стека позволяет сократить число промахов. Обратная запись с одной стороны сокращает число обращений к ОП по операциям считывания из-за пространственной и временной локальности данных и команд, а с другой в сквозной записи нет необходимости, так как она уже реализована во внутренней кэш-памяти, а внешняя кэш-память имеет достаточно большую емкость и содержит все копии содержимого внутренней кэш-памяти и данных, используемых за достаточно большой промежуток времени.

Алгоритм работы с внешней кэш-памятью:

  • если Авнутренней кэш-памяти, но Авнешней кэш-памяти, то замещение строки выполняется из внешней кэш-памяти за 5-6 тактов;

  • если Авнутренней кэш-памяти и Авнешней кэш-памяти, то замещение строки выполняется из ОП за время пакетного кэшируемого цикла шины (5k тактов), а замещаемая строка параллельно записывается во внутреннюю и внешнюю кэш-память.

Процедура обновления ОП из внешней кэш-памяти выполняется только в двух ситуациях: при промахе при обращении к внешней и внутренней кэш-памяти, когда все биты достоверности строк внешней кэш-памяти установлены в "1" (ситуация возникает крайне редко) и при выполнении "выгрузки" содержимого внешней кэш-памяти в ОП при завершении решения заданий или перезагрузке ОС.

Следует отметить, что в ПЭВМ в мультипрограммном режиме работы в некоторых применениях внешняя кэш-память обеспечивает рост производительности менее 5%, в большинстве применений 10-15%, а в небольшом числе применений даже до 40%. Поэтому в ПЭВМ внешняя кэш-память используется редко.

В таблице приведены данные о процентном соотношении операций записи, чтения и опережающей выборки для процессора без кэш-памятей и с внутренней и внешней кэш-памятью.

Операция

Без кэш-памяти

С кэш-памятью

Считывание

42%

8%

Опережающая выборка

22%

15%

Запись

36%

77%

Выводы: За счет использования кэш-памяти:

Число обращений к ОП при считывание сократилось  в 5 раз за счет;

  • Использования сквозной записи, так как замещение выполняется строками и при последующих обращениях к данным, принадлежащим строке, не требуется обращение к внешней кэш-памяти и ОП. Процедура обновления внешней кэш-памяти выполняется словами, а не строками по сравнению с обратной записью.

  • Введения пакетируемых циклов шины (одно обращение к ОП вместо четырех).

Опережающая выборка команд (Авнутренней кэш-памяти) выполняется из кэш-памяти и записывается в ОК строкой в 16 байт (4 слова) за один такт. Кроме того, циклические участки программы, часто используемые подпрограммы в ОК поступают не из ОП, а из кэш-памяти (внутренней или внешней). Поэтому % не велик из-за промахов.

Число записей возросло в 2 раза за счет реализации стратегии обратной записи во внешней кэш-памяти, так как а) при промахе обновление ОП выполняется строками, а не словами и б) при завершении выполнения заданий или переключении задач выполняется процедура "выгрузки" данных из внешней кэш-памяти в ОП.

При использовании только внутренней кэш-памяти число записей не изменяется.

Использование сквозной записи во внешней кэш-памяти приведет к перегрузке по пропускной способности системной шины, что в мультипрограммных режимах работы приведет к снижению общей производительности ВС и арбитража СШ.

Средняя производительность ЦП i486 составляет 1,95 такта вместо 1 такта в идеальном случае за счет:

  • нарушения естественного порядка выполнения команд (БП, УП, CALL, INT, аппаратные прерывания);

  • нарушения работы конвейера (простоев);

  • выполнения процедур замещения кэш-памяти;

  • конфликтных ситуаций по доступу к памяти.

В ЦП i386 (4,919 такта) отсутствовала кэш-память, сопроцессор подключался к СШ, что предусматривает последовательный обмен по магистрали данных словами (32 бита), в малой степени использован принцип многошинной организации (только внешние шины).

Таким образом, существенное повышение производительности ЦП i486 достигнуто за счет:

  • применения конвейерного принципа выполнения команд и операций в УЦА и УПЗ (большинство команд выполняются за один такт);

  • введение внутренней кэш-памяти сокращает:

  • время доступа к памяти;

  • число обращений к системной шине и ОП:

  • сокращается число считываний из ОП;

  • появилась возможность организации опережающей (предвыборки) выборки команд;

  • введение очереди команд с буфером на две строки;

  • использование в ОК принципа обхода внутренней кэш-памяти при пополнении очереди команд;

  • Организации ОП;

  • расслоение обращений;

  • введение пакетируемых кэшируемых и некэшируемых циклов шины.

  • Организации внутренней кэш-памяти;

  • сквозная запись;

  • расслоение обращений с параллельным доступом в 16 байт к кэш-памяти и ОК;

  • многопортовая кэш-память;

  • использование стратегии замещения псевдо LRU стека.

  • Возможность подключения дополнительной внешней кэш-памяти для мультипрограммных режимов работы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]