- •Введение
- •7. Иерархия памяти
- •7.1. Основы
- •7.2. Организация кэш-памяти
- •7.2.1. Параметры описания кэш-памяти и ее иерархия
- •7.2.2. Увеличение производительности кэш-памяти
- •7.3. Принципы организации основной памяти в современных компьютерах
- •7.3.1. Общие положения
- •7.3.2. Увеличение разрядности основной памяти
- •7.3.3. Память с расслоением
- •7.3.4. Использование специфических свойств динамических зупв
- •7.4. Виртуальная память и организация защиты памяти
- •7.4.1. Концепция виртуальной памяти
- •7.4.2. Страничная организация памяти
- •7.4.3. Сегментация памяти
- •8. Современные микропроцессоры
- •8.1. Процессоры с архитектурой 80x86 и Pentium
- •8.2. Особенности процессоров с архитектурой sparc компании Sun Microsystems
- •8.3. Процессоры pa-risc компании Hewlett-Packard
- •8.4. Процессор mc88110 компании Motorola
- •8.5. Особенности архитектуры mips компании mips Technology
- •8.6. Особенности архитектуры Alpha компании dec
- •8.7. Особенности архитектуры power компании ibm и PowerPc компаний Motorola, Apple и ibm
- •8.7.1. Архитектура power
- •8.7.2. Эволюция архитектуры power в направлении архитектуры PowerPc
- •8.7.4. Процессор PowerPc 603
- •9. Организация ввода/вывода
- •9.1. Общие положения
- •9.2. Системные и локальные шины
- •9.2.1. Центральная шина
- •9.2.2. Стандарты шин
- •9.3. Устройства ввода/вывода
- •9.3.1. Основные типы устройств ввода/вывода
- •9.3.2. Магнитные и магнитооптические диски
- •9.3.3. Дисковые массивы и уровни raid
- •9.3.4. Устройства архивирования информации
- •10. Многопроцессорные системы
- •10.1. Классификация систем параллельной обработки данных
- •10.2. Модели связи и архитектуры памяти
- •10.3. Многопроцессорные системы с общей памятью
- •10.3.1. Мультипроцессорная когерентность кэш-памяти
- •10.3.2. Альтернативные протоколы
- •10.4. Основы реализации
- •11. Системы высокой готовности и отказоустойчивые системы
- •11.1. Основные определения
- •11.2. Подсистемы внешней памяти высокой готовности
- •11.3. Требования, предъявляемые к системам высокой готовности
- •11.3.1. Конфигурации систем высокой готовности
- •11.3.2. Требования начальной установки системы
- •11.3.3. Требования к системному программному обеспечению
- •11.3.4. Журнализация файловой системы
- •11.3.5. Изоляция неисправного процесса
- •11.3.6. Мониторы обработки транзакций
- •11.3.7. Другие функции программного обеспечения
- •11.3.8. Требования высокой готовности к прикладному программному обеспечению
- •11.3.9. Требования к сетевой организации и к коммуникациям
- •11.4. "Кластеризация" как способ обеспечения высокой готовности системы
- •11.4.1. Базовая модель vax/vms кластеров
- •11.4.2. Системное программное обеспечение vax-кластеров
- •11.4.3. Критерии оценки кластеров Gartner Group
- •11.4.4. Кластеры Alpha/osf компании dec
- •11.4.5. Unix-кластеры компании ibm
- •11.4.6. Кластеры at&t gis
- •11.4.7. Кластеры Sequent Computer Systems
- •11.4.8. Системы высокой готовности Hewlett-Packard
- •11.4.9. Кластерные решения Sun Microsystems
- •11.4.10. Отказоустойчивые решения Data General
- •Список использованных источников
7.2.2. Увеличение производительности кэш-памяти
Среднее время доступа к памяти в системах с кэш-памятью определяется как сумма времени обращения при попадании и произведения доли промахов на потери при промахе.
Эта формула наглядно показывает пути оптимизации работы кэш-памяти: сокращение доли промахов, сокращение потерь при промахе, а также сокращение времени обращения к кэш-памяти при попадании. Ниже в табл. 7.3 кратко представлены различные методы, которые используются в настоящее время для увеличения производительности кэш-памяти. Использование тех или иных методов определяется прежде всего целью разработки, при этом конструкторы современных компьютеров заботятся о том, чтобы система оказалась сбалансированной по всем параметрам.
Таблица 7.3
Обобщение методов оптимизации кэш-памяти
Метод |
Доля промахов |
Потери при промахе |
Время обращения при попадании |
Сложность аппаратуры |
Примечания |
Увеличение размера блока |
+ |
- |
|
0 |
|
Повышение степени ассоциативности |
+ |
|
- |
1 |
|
Кэш-память с вспомогательным кэшем |
+ |
|
|
2 |
|
Псевдоассоциативные кэши |
+ |
|
|
2 |
|
Аппаратная предварительная выборка команд и данных |
+ |
|
|
2 |
Предварительная выборка данных затруднена |
Предварительная выборка под управлением компилятора |
+ |
|
|
3 |
Требует также неблокируемой кэш-памяти |
Специальные методы для уменьшения промахов |
+ |
|
|
0 |
Вопрос ПО |
Установка приоритетов промахов по чтению над записями |
|
+ |
|
1 |
Просто для однопроцессорных систем |
Использование подблоков |
|
+ |
+ |
1 |
Сквозная запись + подблок на 1 слово помогают записям |
Пересылка требуемого слова первым |
|
+ |
|
2 |
|
Неблокируемые кэши |
|
+ |
|
3 |
|
Кэши второго уровня |
|
+ |
|
2 |
Достаточно дорогое оборудование |
Простые кэши малого размера |
- |
|
+ |
0 |
|
Обход преобразования адресов во время индексации кэш-памяти |
|
|
+ |
2 |
|
Конвейеризация операций записи для быстрого попадания при записи |
|
|
+ |
1 |
|