- •Введение
- •Основные характеристики современных вычислительных систем.
- •2. Классификация средств эвт
- •3. Поколения эвм
- •Принципы построения современных эвм Принцип программного управления
- •Принцип децентрализации управления
- •Принцип модульности построения
- •Принцип иерархичности построения структуры
- •Принцип иерархичности памяти
- •Мультипрограммные режимы
- •Перспективы развития структур эвм
- •Общие функции программного обеспечения и их развитие
- •6. Персональные эвм, как инструмент специалиста и их развитие.
- •Типы структур вычислительных машин и систем
- •Структуры вычислительных машин
- •Структуры вычислительных систем
- •8. Перспективы совершенствования архитектуры вм и вс
- •Тенденции развития больших интегральных схем
- •Тенденции развития элементной базы процессорных устройств
- •Тенденции развития полупроводниковых запоминающих устройств
- •Перспективные направления исследований в области архитектуры вс
- •Архитектура системы команд
- •Классификация архитектур системы команд
- •Классификация по составу и сложности команд
- •Классификация по месту хранения операндов
- •10. Стековая архитектура
- •11. Аккумуляторная архитектура системных команд
- •12. Регистровая архитектура системы памяти
- •13. Архитектура вм с выделенным доступом к памяти
- •Функциональная организация
- •Устройство управления
- •Арифметико-логическое устройство
- •Основная память
- •Модуль ввода/вывода
- •15. Реализация микроопераций и микропрограмм. Понятие о микрооперациях и микропрограммах
- •Способы записи микропрограмм
- •Языки микропрограммирования
- •16. Организация шин
- •Типы шин
- •Физическая реализация шин
- •Особенности передачи сигналов по шинам
- •Адресация шин и некоторые характеристики
- •17. Организация памяти эвм
- •Память с чередованием адресов
- •Модели архитектуры памяти вычислительных систем
- •Модели архитектур совместно используемой памяти
- •Модели архитектур распределенной памяти
- •18. Характеристики систем памяти
- •19. Иерархия запоминающих устройств
- •Основная память
- •Блочная организация основной памяти
- •Расслоение памяти
- •20. Организация микросхем памяти
- •21. Основные направления в архитектуре процессоров
- •Конвейеризация вычислений
- •Синхронные линейные конвейеры
- •Метрики эффективности конвейеров
- •Нелинейные конвейеры
- •Конвейер команд
- •22. Построение однородно структурированных, континуальных вычислительных и управляющих систем Нейронные вычислительные системы Континуальные вычислительные и управляющие системы
- •Р ис. 2.12. Модель взаимодействия объекта с континуальной управляющей средой
- •Термины и определения (д.Б. По алфавиту)
- •Литература
Память с чередованием адресов
Физически память вычислительной системы состоит из нескольких модулей (банков), при этом существенным вопросом является то, как в этом случае распределено адресное пространство (набор всех адресов, которые может сформировать процессор). Один из способов распределения виртуальных адресов по модулям памяти состоит в разбиении адресного пространства на последовательные блоки. Если память состоит из п банков, то ячейка с адресом i при поблочном разбиении будет находиться в банке с номером i/n. В системе памяти с чередованием адресов (interleaved memory) последовательные адреса располагаются в различных банках: ячейка с адресом I находится в банке с номером i mod n. Пусть, например, память состоит из четырех банков, по 256 байт в каждом. В схеме, ориентированной на блочную адресацию, первому банку будут выделены виртуальные адреса 0-255, второму - 256-511 и т. д. В схеме с чередованием адресов последовательные ячейки в первом банке будут иметь виртуальные адреса 0, 4, 8, ..., во втором банке — 1, 5, 9 и т. д. (рис. 40, а).
Распределение адресного пространства по модулям дает возможность одновременной обработки запросов на доступ к памяти, если соответствующие адреса относятся к разным банкам. Процессор может в одном из циклов затребовать доступ к ячейке i, а в следующем цикле — к ячейке j. Если i и j находятся в разных банках, информация будет передана в последовательных циклах. Здесь под циклом понимается цикл процессора, в то время как полный цикл памяти занимает несколько циклов процессора. Таким образом, в данном случае процессор не должен ждать, пока будет завершен полный цикл обращения к ячейке i. Рассмотренный прием позволяет повысить пропускную способность: если система памяти состоит из достаточного числа банков, имеется возможность обмена информацией между процессором и памятью со скоростью одно слово за цикл процессора, независимо от I длительности цикла памяти.
Рис. 40. Память с чередованием адресов: а — распределение адресов; б — элементы, извлекаемые с шагом 9 из массива 8x8
Решение о том, какой вариант распределения адресов выбрать (поблочный или I с расслоением), зависит от ожидаемого порядка доступа к информации. Программы компилируются так, что последовательные команды располагаются в ячейках с последовательными адресами, поэтому высока вероятность, что после команды, извлеченной из ячейки с адресом i, будет выполняться команда из ячейки i + 1. Элементы векторов компилятор также помещает в последовательные ячейки, поэтому в операциях с векторами можно использовать преимущества метода чередования. По этой причине в векторных процессорах обычно применяется какой-либо вариант чередования адресов. В мультипроцессорах с совместно используемой памятью тем не менее используется поблочная адресация, поскольку схемы обращения к памяти в MIMD-системах могут сильно различаться. В таких системах целью является соединить процессор с блоком памяти и задействовать максимум находящейся в нем информации, прежде чем переключиться на другой блок памяти.
Системы памяти зачастую обеспечивают дополнительную гибкость при извлечении элементов векторов. В некоторых системах возможна одновременная загрузка каждого n-го элемента вектора, например, при извлечении элементов вектора v, хранящегося в последовательных ячейках памяти при n = 4, память возвратит vО, vA, v8. Интервал между элементами называют шагом по индексу или «стирайдом» (stride). Одним из интересных применений этого свойства может служить доступ к матрицам. Если шаг по индексу на единицу больше числа строк в матрице, одиночный запрос на доступ к памяти возвратит все диагональные элементы матрицы (рис. 40,6). Ответственность за то, чтобы все извлекаемые элементы матрицы располагались в разных банках, ложится на программиста.