
- •Архитектура вычислительных систем. Вычислительные машины, системы и сети
- •1. Основные понятия вычислительной техники и принципы организации вычислительных систем
- •1.1. Основные понятия и определения
- •1.2. Принципы организации вычислительных машин и систем
- •1.3. Основные характеристики вычислительных машин и систем
- •1.4. Многоуровневая организация вычислительных процессов
- •Вопросы для самопроверки
- •2. Простейшие типовые элементы вычислительных машин
- •2.1. Комбинационные схемы
- •1. Конъюнкция (логическое умножение) .
- •2. Дизъюнкция (логическое сложение) .
- •3. Отрицание (инверсия) .
- •4. Конъюнкция и инверсия (Штрих Шеффера) .
- •5. Дизъюнкция и инверсия (Стрелка Пирса) .
- •6. Эквивалентность .
- •7. Отрицание эквивалентности .
- •2.2. Автоматы с памятью
- •2.3. Триггеры
- •2.4. Проблемы и перспективы развития элементной базы вычислительных машин
- •Вопросы для самопроверки
- •3. Функциональные узлы комбинационного и последовательного типов
- •3.1. Функциональные узлы последовательного типа
- •3.1.1. Регистры
- •3.1.2. Счётчики
- •3.1. Функциональные узлы комбинационного типа
- •3.2.1 Шифраторы и дешифраторы
- •3.2.2 Компараторы
- •3.2.3 Сумматоры
- •Вопросы для самопроверки
- •4. Функциональная организация процессора
- •4.1. Основные характеристики и классификация процессоров
- •4.2. Физическая и функциональная структура процессора
- •4.2.1 Операционное устройство процессора
- •4.2.2 Шинный интерфейс процессора
- •4.3. Архитектурные принципы организации risc-процессоров
- •4.4. Производительность процессоров и архитектурные способы её повышения
- •Вопросы для самопроверки
- •5. Организация работы процессора
- •5.1 Классификация и структура команд процессора
- •5.2. Способы адресации данных и команд
- •5.2.1 Способы адресации данных
- •5.2.2 Способы адресации команд
- •5.3. Поток управления и механизм прерываний
- •Вопросы для самопроверки
- •6 Современное состояние и тенденции развития процессоров
- •6.1. Архитектурные особенности процессоров Pentium
- •6.2. Программная модель процессоров Pentium
- •6.2.1. Прикладная программная модель процессоров Pentium
- •6.2.2. Системная программная модель процессоров Pentium
- •6.2.3. Система команд и режимы адресации процессоров
- •6.3. Аппаратная организация защиты в процессорах Pentium
- •6.4. Аппаратные средства поддержки многозадачности
- •6.5. Перспективы развития процессоров
- •Вопросы для самопроверки
- •7. Память. Организация памяти
- •7.1. Иерархическая организация памяти
- •7.2. Классификация запоминающих устройств
- •7.3. Структура основной памяти
- •7.4. Память с последовательным доступом
- •7.5. Ассоциативная память
- •7.6. Организация флэш-памяти
- •7.7. Архитектурные способы повышения скорости обмена между процессором и памятью
- •Вопросы для самопроверки
- •8. Управление памятью. Виртуальная память
- •8.1. Динамическое распределение памяти
- •8.2. Сегментная организация памяти
- •8.3. Страничная организация памяти
- •8.4. Сегментно-страничная организация памяти
- •Вопросы для самопроверки
- •9. Организация ввода-вывода информации. Системная шина
- •9.1. Организация шин. Системная шина
- •9.1.1. Структура системной шины
- •9.1.2. Протокол шины
- •9.1.3. Иерархия шин
- •9.2 Организация взаимодействия между периферийными устройствами и процессором и памятью вычислительных машин
- •9.3. Внешние интерфейсы вычислительных машин
- •9.3.1. Параллельный порт lpt и интерфейс Centronics
- •9.3.1. Последовательный порт com и интерфейс rs-232c
- •9.3.3. Универсальная последовательная шина usb
- •9.3.4. Беспроводные интерфейсы
- •Вопросы для самопроверки
- •Модуль 2. Вычислительные системы
- •10. Вычислительные системы параллельной обработки. Многопроцессорные и многоядерные системы
- •10.1. Параллельная обработка информации
- •10.2. Классификация систем параллельной обработки данных
- •10.2.1 Классификация Флинна
- •10.2.2. Классификация Головкина
- •10.2.3. Классификация многопроцессорных систем по
- •10.3. Вычислительные системы на кристалле. Многоядерные системы
- •10.4. Тенденции развития вс
- •Вопросы для самопроверки
- •11. Организация микроконтроллеров и микроконтроллерных систем
- •11.1. Общие сведения о системах управления
- •11.2. Организация микроконтроллеров и микроконтроллерных систем
- •11.3. Области применения и тенденции развития мк
- •Вопросы для самопроверки
- •Модуль 3. Телекоммуникационные сети
- •12. Организация компьютерных сетей
- •12.1. Обобщённая структура компьютерных сетей
- •12.2. Классификация компьютерных сетей
- •Вопросы для самопроверки
- •13. Стандартизация компьютерных сетей. Эталонная модель взаимодействия открытых систем
- •13.1. Понятие «открытой системы». Взаимодействие открытых систем
- •13.2. Эталонная модель взаимодействия открытых систем
- •13.3. Структура блоков информации
- •7. Прикладной6. Представительный5. Сеансовый4. Транспортный3. Сетевой2. Канальный1. Физический
- •Вопросы для самопроверки
- •Литература
- •Архитектура вычислительных систем. Вычислительные машины, системы и сети
7.7. Архитектурные способы повышения скорости обмена между процессором и памятью
Как указано в [2], быстродействие СБИС DRAM увеличивается существенно медленнее, чем быстродействие процессоров. Важнейшим архитектурным решением для сглаживания этого противоречия явилось введение в структуру ВМ кэш-памяти – быстродействующего буфера между основной памятью и регистрами процессора. В эту буферную память из основной памяти помещаются копии команд и данных, относящихся к обрабатываемому в данный момент фрагменту программы. Работа кэш-памяти скрыта от пользователя. Кэш-память наиболее эффективна, если встроена внутрь кристалла процессора (кэш-память 1-го уровня – L1). Её объём составляет 16 –32 Кбайт. В большинстве современных компьютеров используют 2- или 3-уровневую кэш-память, L2 и L3 соответственно. Кэш-память L2 объёмом 256 – 512 Кбайт часто располагается в одном корпусе с процессором и соединяется с ним с помощью специальной локальной шины, работающей на основной или половинной частоте процессора. Кэш-память L3 объёмом в несколько Мбайт размещается на системной плате компьютера. Обычно всё содержимое кэш L1 находится в кэш L2, а всё содержимое L2 является частью кэш L3.
Вся доступная программе информация размещается в оперативной памяти. При обращении процессора к памяти вначале проверяется наличие требуемых данных в кэш-памяти. Обнаружение искомой информации фиксируется как кэш-попадание, в противном случае фиксируется кэш-промах. Обмен данными между кэшем и оперативной памятью осуществляется информационными блоками. В современных микропроцессорных системах используются блоки фиксированного размера, например, 32 байта. Управляет кэш-памятью специальный контроллер кэша. Если адресуемый операнд находится в кэше, он быстро извлекается из него (при чтении) или результат операции заносится в кэш (при записи). При отсутствии требуемого операнда в кэш-памяти процессор считывает из оперативной памяти блок данных, содержащий искомый операнд и помещает его в кэш. Запись данных, не имеющих копий в кэше, проводится непосредственно в оперативную память.
Пакетный обмен, с одной стороны, позволяет интенсифицировать поток данных в системной шине и за счёт этого уменьшить затраты времени на обмен, с другой стороны, повышает разнообразие вариантов обмена и усложняет управление. Можно выделить следующие способы обмена данными процессора с оперативной памятью, построенной на СБИС DRAM: пакетный доступ, конвейерный доступ и их сочетание.
Структура оперативной
памяти с пакетным доступом и чередованием
банков (рис. 43) [2] содержит в себе следующие
блоки: накопитель,
разделённый на 4 банка (Б0, Б1, Б2, Б3);
регистр
данных,
содержащий 4 субрегистра – фиксатора
данных (Ф0, Ф1, Ф2, Ф3), соответствующих 4-м
банкам; мультиплексор
(демультиплексор)
– М/ДМ; регистр
адреса (РА),
блок управления
(БУ). Разрядность ячеек каждого банка
соответствует разрядности шины данных
в системной шине. Адреса присваиваются
ячейкам оперативной памяти с чередованием
номера банка (на рис.43: 0, 1, …, 11). Накопитель
(упорядоченный массив из n-разрядных
ячеек) подразделяется на m
банков:
,k
– целое. В рассматриваемом примере k
= 2.
При этом адрес i-й ячейки представляется следующим образом (формула 7.1):
,
(7.1)
где d – адрес внутри банка, b – номер банка (b = 0, 1, …, m-1). Такое распределение адресов между m банками называют m-кратным чередованием банков.
При пакетном обмене в РА запоминается адрес внутри банка. БУ обеспечивает считывание целой строки ячеек из накопителя, соответствующей адресу в РА во всех m банках.
Рис. 43. Структура оперативной памяти с пакетным доступом и чередованием банков
Содержимое считанных
ячеек фиксируется в регистре данных.
Далее данные из Ф0, Ф1, … по очереди с
использованием мультиплексора передаются
по системной шине данных. Пусть, например,
осуществляется считывание пакета из
ячеек с адресами 4, 5, 6, 7 (рис. 43). Если
обозначить время доступа через
,
а время передачи через
,
то оценка времени чтения пакета
без чередования банков вычисляется по
формуле 7.2, а с чередованием банков –
по формуле 7.3.
(7.2)
. (7.3)
Быстродействие памяти по отношению к быстродействию процессора характеризуется числом тактов ожидания в цикле обращения к памяти. Допустим, что время доступа соответствует трём тактам, а время передачи – двум тактам. Тогда в случае без чередования банков время передачи пакета из четырёх слов можно охарактеризовать вектором (5, 5, 5, 5), а при использовании чередования банков – (5, 2, 2, 2). Из приведённых оценок видно, что в структурах оперативной памяти с пакетным доступом интенсивность обмена повышается.
При записи работа организована следующим образом: данные пакета из процессора по очереди записываются в субрегистры Ф0, …, Ф3, а затем осуществляется запись одновременно в ячейки всех банков.
Структура оперативной памяти с конвейерным доступом и чередованием банков представлена на рис. 44 [2].
Рис. 44. Структура оперативной памяти с конвейерным доступом и чередованием банков
Она содержит следующие блоки: накопитель, разделённый на 4 банка (Б0, Б1, Б2, Б3); 4 регистра данных (Ф) с независимым управлением (в отличие от структуры на рис. 43); мультиплексор (демультиплексор) – М/ДМ; регистры адреса РА0-РА3 для каждого банка; блок управления (БУ). Разрядность ячеек для каждого банка соответствует разрядности данных в системной шине. Адреса присваиваются ячейкам оперативной памяти с чередованием номера банка (на рис. 44: 0, 1, …, 11).
Цикл обращения к памяти (например, чтения) содержит три фазы: доступ к ячейке, воспроизведение данных, передача данных от регистров Ф через мультиплексор и системную шину в процессор. В качестве примере рассмотрим чтение пакета с последовательностью адресов 8, 6, 1, 7. Ограничение на расположение адресов ячеек здесь менее жёсткое, чем при пакетном доступе. Требуется, чтобы адреса ячеек пакета находились в разных банках. Если длительность фаз считать одинаковой, равной T, то справедливы следующие оценки для времени чтения пакета из четырёх слов: без конвейеризации – формула 7.4, с конвейеризацией – формула 7.5 [2].
; (7.4)
.
(7.5)
В общем случае
возможно сочетание обоих изложенных
способов доступа. При этом накопитель
оперативной памяти разбивается на
банков, образующих прямоугольную
матрицу. Адреса ячеек располагаются по
порядку – сначала в банках первой
строки, затем второй и т.д. Организуется
пакетный доступ к строке ячеек и
конвейерный доступ к строкам. В каждом
интервале, равном
цикла памяти, осуществляется доступ кk
ячейкам с идущими подряд адресами.
В следующей главе рассмотрим, каким образом осуществляется управление памятью.