Галерея диаграмм связей Глава 3 Система хранения
Это интеллектуальная карта, посвященная системе хранения данных главы 3, включая обзор памяти, основную память, соединение между основной памятью и процессором, внешнюю память и т. д.
Отредактировано в 2024-01-16 15:52:21Глава 3 Система хранения
Система хранения
Обзор памяти
Классификация памяти
Классификация функций (уровней)
основная память
вспомогательная память
кэш-память
Классификация методов доступа
Оперативная память (ОЗУ)
Память только для чтения (ПЗУ)
память с последовательным доступом
Память с последовательным доступом (SAM) (например, лента)
Память прямого доступа (DAM) (например, диск, компакт-диск)
классификация сохранности информации
энергозависимая память
энергонезависимая память
Показатели производительности памяти
хранилище
себестоимость единицы продукции
Скорость хранения
Многоуровневая система хранения
Информация на каждом уровне памяти представляет собой инклюзивную взаимосвязь.
Уровень кэш-основной памяти
В основном решает проблему несоответствия скорости процессора и основной памяти.
Передача данных между основной памятью и кэшем автоматически выполняется аппаратно и прозрачна для всех программистов.
Слой основной памяти и вспомогательной памяти
В основном решает проблему емкости системы хранения.
Передача данных между основной и вспомогательной памятью осуществляется аппаратным обеспечением и операционной системой и прозрачна для прикладного программиста.
На уровне кэш-основной памяти, а также на уровне основной и вспомогательной памяти содержимое верхнего уровня представляет собой просто копии содержимого следующего слоя, то есть содержимое кэша (или основной памяти) представляет собой только основную память ( или вспомогательная память).
Хранение данных в основной памяти
Основная память обычно адресуется побайтно. На примере 32-битного компьютера доступ к основной памяти можно получить в байтах, 16-битных полусловах или 32-битных словах.
Выравнивание границ данных
Теоретически вы можете начать с любого байтового адреса, но когда многобайтовая переменная распределена по разным единицам хранения слов, доступ к этой переменной требует нескольких циклов хранения.
Так называемое выравнивание границ означает выравнивание границ в соответствии с размером типа данных. Конкретные правила заключаются в следующем.
(1) Последние 3 бита адреса начального байта восьмибайтовых данных равны 000, а адрес представляет собой целое число, кратное 8. (2) Два младших бита адреса начального байта четырехбайтовых данных равны 00, а адрес представляет собой целое число, кратное 4. (3) Младший бит адреса начального байта двухбайтовых данных равен 0, а адрес представляет собой целое число, кратное 2. (4) Для однобайтовых данных не возникает проблем с выравниванием границ (основная память адресуется побайтно).
основная память
Чипы SRAM и чипы DRAM
Как работает SRAM
В запоминающем элементе используется бистабильный триггер (шеститранзисторный МОП).
неразрушающее считывание
Как работает DRAM
Используйте заряд конденсатора затвора в схеме ячейки памяти для хранения информации.
Обновить метод
Централизованное обновление
В цикле обновления фиксированный период времени используется для регенерации всех строк памяти одна за другой.
Преимущество состоит в том, что операции обновления не влияют на операции чтения и записи. Недостаток заключается в том, что доступ к памяти невозможен в течение периода концентрированного обновления (мертвая зона).
Рассеянное обновление
Цикл доступа чипа памяти составляет 0,5 мкс, а цикл доступа системы — 1 мкс.
Системный рабочий цикл памяти делится на две части: Первая половина используется для обычного чтения, письма или удерживания. Вторая половина предназначена для обновления.
Преимущество в том, что нет мертвой зоны. Недостатком является то, что это удлиняет цикл доступа к системе и снижает скорость всей машины.
Асинхронное обновление
Асинхронное обновление представляет собой комбинацию первых двух методов. Оно может сократить «мертвое время» и полностью использовать максимальный интервал обновления в 2 мс.
Разделите цикл обновления на количество строк, чтобы получить временной интервал t между двумя операциями обновления, и используйте логическую схему для генерации запроса на обновление каждый раз t.
Это предотвращает слишком долгое непрерывное ожидание процессора и уменьшает количество обновлений, существенно повышая эффективность работы всей машины.
Циклы чтения и записи чипа DRAM
Сравнение SRAM и DRAM
Внутренняя структура чипа памяти
Банк памяти (матрица памяти)
декодер адреса
Схема управления вводом/выводом
Сигнал управления выбором чипа
Чтение/запись управляющих сигналов
ПЗУ
Характеристики постоянного запоминающего устройства (ПЗУ)
И ПЗУ, и ОЗУ поддерживают оперативную память.
Структура проста, поэтому разрядность выше, чем у памяти чтения-записи.
Он энергонезависимый и поэтому очень надежный.
Тип ПЗУ
ПЗУ режима маски
одноразовая программируемая постоянная память
стираемая программируемая постоянная память
Флэш-память
Твердотельные накопители (SSD)
Основные компоненты основной памяти
Многомодульная память
Одноместная многословная память
Структура одной многословной памяти точно такая же, как и в методе расширения битов памяти. В этом методе несколько модулей памяти совместно используют адресную шину и получают доступ к одному и тому же блоку различных модулей памяти параллельно по одному и тому же адресу, тем самым достигая. доступ к нескольким запоминающим устройствам в одном и том же слове цикла памяти, если m модулей хранения работают одновременно, пропускная способность основной памяти может быть увеличена в m раз.
Наиболее распространенной технологией многоканальной памяти, используемой в настоящее время в компьютерах, является технология «одно тело и несколько слов».
Параллельно считывайте m слов за раз (ширина шины также равна m слов).
За один цикл доступа с одного и того же адреса извлекаются m инструкций, а затем инструкции отправляются в ЦП для выполнения одна за другой. То есть каждый цикл доступа 1/m ЦП извлекает инструкцию из основной памяти.
Недостатки: инструкции и данные должны постоянно храниться в основной памяти. Если встречается команда передачи или операнды не могут храниться непрерывно, эффект этого метода не очевиден.
многочастичная параллельная память
Чередованная адресация высокого порядка (последовательный режим)
Основная цель — расширение объема памяти, что аналогично расширению слов памяти.
Чередованная адресация низкого порядка (режим чередования)
Самый нижний адрес в том же теле тот же
Соединение основной памяти с процессором
Принцип подключения
Расширение объема основной памяти
метод расширения битов
метод расширения слов
одновременное расширение графемы
Распределение адресов и выбор микросхем памяти
Метод выбора линии
В методе выбора строки используются адресные линии высшего порядка, отличные от внутрикристальной адресации, для прямого подключения (или через инверторы) к клеммам выбора микросхемы каждой микросхемы памяти. Когда информация в определенной адресной строке равна «0», соответствующая строка имеет значение «0». выбрана адресная строка микросхемы памяти.
Недостатки: Адресное пространство не является непрерывным.
метод выбора чипа декодирования
Восемь микросхем памяти 8Кх8-бит используются для формирования памяти 64Кх8-бит (адресная линия — 16 бит, линия данных — 8 бит), для чего требуется 8 сигналов выбора чипа.
При использовании метода выбора строки, за исключением 13-битной адресной строки для внутрикристальной адресации, остаются только старшие 3 бита, чего недостаточно для формирования 8 сигналов выбора микросхемы.
Соединение памяти с процессором
Разумный выбор микросхем памяти
Подключение адресной линии
Число адресных линий ЦП часто превышает количество адресных линий микросхемы памяти. Обычно младший бит адресной линии ЦП соединен с адресной линией микросхемы памяти. Ты можешь подождать.
Подключение кабеля передачи данных
Если они не равны, микросхему памяти необходимо расширить так, чтобы количество битов данных было равно количеству строк данных ЦП. Должно быть равно.
Чтение/запись соединений командной строки
Подключение линии выбора чипа
Сигнал подтверждения выбора чипа связан с сигналом управления доступом к памяти ЦП MREO (активный низкий уровень).
Если ЦП обращается к вводу-выводу, MREO имеет высокий уровень, что указывает на то, что работа с памятью не требуется.
Линии управления микросхемы SRAM содержат сигналы выбора микросхемы, а также линии управления чтением и записью.
DRAM не имеет линии управления выбором чипа. При расширении емкости можно использовать RAS и CAS для управления выбором чипа.
внешняя память
дисковое хранилище
Компоненты дискового устройства
Состав хранилища на жестком диске
Дисковод
Дисковый привод также называют дисковой машиной. Его основная функция заключается в использовании электрических сигналов для управления диском для выполнения магнитных операций. Он состоит из трех частей: привода шпинделя, привода позиционирования и управления данными.
контроллер диска
Основная функция — получать операции с диском от хоста, осуществлять управление диском и осуществлять управление чтением/записью. Аппаратное обеспечение в основном состоит из интерфейса хоста, схемы управления интерфейсом устройства, буфера данных, схемы управления данными, схемы разделения данных и т. д.
блюдо
Основная функция – хранение данных. Жесткие диски обычно имеют несколько пластин, закрепленных на шпинделе. Все они используют равномерное вращение во время работы, поэтому плотность записи внутренней дорожки выше, чем плотность записи внешней дорожки.
зона хранения
Руководители
Цилиндры
Секторы
Принципы магнитной записи
Операции чтения/записи выполняются посредством электромагнитного преобразования.
Показатели производительности диска
плотность записи
емкость диска
среднее время доступа
Среднее время доступа состоит из трех частей: время поиска (время, необходимое магнитной головке для перемещения на дорожку назначения), время задержки вращения (время, необходимое магнитной головке для позиционирования сектора для чтения и записи) и время передачи (время, необходимое для передачи данных). Поскольку расстояние между секторами поиска и поиска варьируется, время поиска и время задержки вращения обычно усредняются. (Настоящий экзамен иногда также показывает задержку контроллера диска.)
скорость передачи данных
адрес диска
Рабочий процесс жесткого диска
обращение
Чтение диска
записать диск
Дисковый массив
Организуйте несколько независимо работающих дисков в массив определенным образом и используйте технологию блокировки данных для разнесения и хранения данных на разных дисках, чтобы они могли работать параллельно для повышения скорости доступа.
RAID повышает скорость передачи данных за счет одновременного использования нескольких дисков.
Значительно увеличьте пропускную способность системы хранения данных за счет распараллеливания доступа к нескольким дискам.
Не только увеличивает емкость хранилища, но и повышает скорость доступа к данным на диске.
Перекрестное хранилище, параллельный доступ
Повышение надежности
Повысьте безопасность и надежность благодаря функции зеркалирования.
Обеспечить отказоустойчивость посредством проверки данных
твердотельный накопитель
состав
Один или несколько чипов флэш-памяти (аналогично: дисковод)
Уровень трансляции флэш-памяти (аналогично: контроллер диска преобразует запросы чтения и записи логических блоков от ЦП в сигналы управления чтением и записью для базового физического устройства)
Данные читаются и записываются в страницах.
На страницу можно записать только после того, как весь блок, к которому она принадлежит, стерт.
Однако как только блок будет стерт, каждая страница в блоке может быть записана снова.
Случайная запись выполняется медленно по двум причинам.
Стирание блоков происходит медленнее.
Если операция записи пытается изменить страницу P, содержащую существующие данные, то все страницы, содержащие полезные данные в этом блоке, должны быть скопированы в новый (стертый) блок, прежде чем может произойти запись на страницу P.
Преимущества и недостатки
преимущество
Произвольный доступ намного быстрее, чем у механических дисков.
Отсутствие механического шума и вибрации
Низкое энергопотребление
Хорошая сейсмостойкость
Высокая безопасность
недостаток
легко носить
кэш-память
Принцип локальности доступа к программе
временная местность
Информация, которая будет использоваться в ближайшем будущем, скорее всего, будет той же информацией, которая используется сейчас, поскольку в программе есть циклы.
Специально для элементов массива: если к элементу массива обращаются только один раз, временной локальности быть не должно.
пространственная локальность
Информация, которая будет использоваться в ближайшем будущем, скорее всего, будет соседствовать по пространству хранения с информацией, используемой сейчас, поскольку инструкции обычно хранятся и выполняются последовательно, а данные обычно хранятся в кластерах в виде векторов, массивов и т. д. вместе.
Основной принцип работы Cache
И Кэш, и основная память разделены на блоки одинакового размера. Количество блоков в Кэше намного меньше, чем количество блоков в основной памяти. В основной памяти сохраняются только копии наиболее активных блоков.
Обмен данными между ЦП и Кэшем осуществляется в словах, а обмен данными между Кэшем и основной памятью осуществляется в блоках Кэша.
Когда ЦП выдает запрос на чтение
Если адрес доступа к памяти попадает в кэш, этот адрес преобразуется в адрес кэша, и кэш считывается напрямую, независимо от основной памяти.
Если кэш промахивается, доступ к основной памяти все равно необходим, и блок, в котором находится слово, за один раз переносится из основной памяти в кэш.
Если кеш в это время заполнен, этот блок необходимо использовать для замены исходного блока информации в кеше в соответствии с определенным алгоритмом замены.
В конце концов, доступ к кэшу получен.
Когда ЦП выдает запрос на запись
Если кэш попадает, его необходимо обработать в соответствии с определенной стратегией записи. Общие методы обработки включают полную запись и обратную запись.
В случае отсутствия метод выделения с записью записывает данные в кэш, а метод выделения без записи записывает данные непосредственно обратно в основную память.
Метод отображения кэша и основной памяти
прямое картографирование
Номер строки кэша = номер блока основной памяти мод общее количество строк кэша
полностью ассоциативное отображение
любая позиция
Используйте компараторы G для одновременного сравнения всех строк кэша.
установить ассоциативное отображение
Номер группы кэша = номер блока основной памяти mod Номер группы кэша (Q)
Двустороннее групповое соединение
Каждая строка кэша соответствует отмеченной записи.
Включая действительный бит, бит тега, бит поддержания согласованности, бит управления алгоритмом замены.
Стратегия записи в кэш
Для кэша напишите хит (напишите хит)
Метод полной записи (метод сквозной записи, сквозная запись)
Когда происходит запись в кэш, один и тот же блок данных в кэше и основной памяти изменяется одновременно.
Недостатком метода сквозной записи является то, что в кэше отсутствует функция буферизации операций записи ЦП, что снижает эффективность кэша.
обратная запись
Каждая строка кэша устанавливает бит модификации (грязный бит).
Эта стратегия заставляет кеш действовать как кеш как для операций чтения, так и для операций записи.
Для кэша напишите промах
Запись-выделение (запись-выделение)
Загрузите блок из основной памяти в кэш, а затем обновите блок кэша.
выделение без записи (выделение без записи)
Записывает только в основную память, корректировка блоков не производится.
виртуальная память
Основные понятия виртуальной памяти
Виртуальная память равномерно обращается к адресному пространству основной или вспомогательной памяти, образуя огромное адресное пространство. В этом пространстве пользователи могут свободно программировать, не заботясь о фактическом объеме основной памяти и фактическом месте хранения программы в основной памяти.
Основная и вспомогательная память вместе составляют виртуальную память и работают под совместным управлением аппаратного и системного программного обеспечения.
Типичная организационная структура виртуальной памяти
виртуальный адрес (виртуальный адрес)
Номер страницы виртуальной памяти Адрес страничного слова
Физический адрес основной памяти (реальный адрес)
Номер страницы основной памяти Адрес слова страницы
ЦП обращается к основной памяти по виртуальному адресу, использует блок управления памятью MMU (Memory Management Unit), чтобы найти соответствие между виртуальным адресом и физическим адресом, и определяет, находится ли контент, соответствующий виртуальному адресу, уже в памяти. основная память.
Адрес дискового хранилища (адрес диска или адрес вспомогательного хранилища)
Номер диска Номер диска Номер дорожки Номер сектора
Как работает виртуальная память
Преобразование адреса виртуальной памяти в основную память должно быть завершено MMU. При сбое преобразования генерируется сигнал исключения, запускающий выполнение обработчика исключения отсутствия страницы для завершения оставшейся работы и повторное выполнение инструкции, которая сгенерировал исключение отсутствия страницы, чтобы гарантировать правильное выполнение программы.
В конце концов, данные получаются из основной памяти, и ЦП не может напрямую получить доступ к вспомогательной памяти.
Выгружаемая виртуальная память
В большинстве систем для каждого процесса имеется одна таблица страниц.
таблица страниц
Схема логической структуры таблицы страниц
И основная память, и диск разделены на страницы фиксированного размера.
Диск разделен на раздел подкачки и раздел данных.
Раздел подкачки используется для хранения динамически измененных данных, выгруженных из страниц основной памяти.
Раздел данных используется для хранения пользовательских программ и данных.
Основная память и дисковое пространство объединяются в виртуальное адресное пространство.
Процесс доступа к виртуальной памяти страницы
При попадании на страницу действия, выполняемые аппаратным обеспечением ЦП
Процессор генерирует виртуальный адрес и передает его в MMU.
MMU использует регистр базового адреса таблицы страниц PTBR и номер виртуальной страницы для генерации адреса записи таблицы страниц PTEA, обращается к таблице страниц, хранящейся в кэше/основной памяти, и запрашивает запись таблицы страниц, соответствующую номеру виртуальной страницы.
Кэш/основная память возвращает записи таблицы страниц в MMU для формирования физического адреса доступной информации.
Если действительный бит в возвращаемой записи таблицы страниц равен 1, MMU использует возвращенную запись таблицы страниц для создания физического адреса PA и использует построенный физический адрес PA для доступа к кэшу/основной памяти.
кэш/основная память возвращает запрошенные данные процессору.
Процесс обработки ошибок страницы выглядит следующим образом:
Процессор генерирует виртуальный адрес и передает его в MMU.
MMU использует регистр базового адреса таблицы страниц PTBR и номер виртуальной страницы для генерации адреса записи таблицы страниц PTEA, обращается к таблице страниц, хранящейся в кэше/основной памяти, и запрашивает запись таблицы страниц, соответствующую номеру виртуальной страницы.
Кэш/основная память возвращает записи таблицы страниц в MMU для формирования физического адреса PA информации, к которой осуществляется доступ.
Если действительный бит в записи таблицы страниц равен 0, это указывает на то, что страница, к которой осуществляется доступ, не находится в основной памяти, а MMU вызывает исключение и вызывает обработчик исключений ошибки страницы в ядре операционной системы.
Если страница основной памяти заполнена, ее необходимо заменить в соответствии с алгоритмом замены. Если бит модификации страницы равен 1, страница выгружается на диск, в противном случае она удаляется напрямую.
Обработчик ошибок страниц загружает новую страницу с диска и обновляет запись таблицы страниц PTE в памяти.
Обработчик ошибок страниц возвращается к исходному процессу, заставляя перезапустить инструкцию, вызвавшую ошибку страницы. При этом выполнении ошибок страниц не будет.
Процесс доступа к виртуальной памяти в сочетании с кешем
MMU генерирует адрес записи таблицы страниц для доступа к кэшу на основе виртуального адреса VA, отправленного процессором.
Если запись таблицы страниц PTE попадает, запись таблицы страниц возвращается напрямую, и генерируется физический адрес для доступа к основной памяти.
Если запись таблицы страниц PTE отсутствует, блок таблицы страниц, в котором находится запись таблицы страниц, необходимо перенести из основной памяти в кэш.
Также могут возникнуть проблемы с отсутствием кэша при использовании PA для доступа к данным.
Быстрый стол (TLB)
В страничной виртуальной системе хранения, которая содержит быстрые и медленные таблицы, при выполнении трансляции адресов быстрые и медленные таблицы часто просматриваются одновременно.
Доступ к быстрой таблице по содержимому и доступ к таблице страниц по адресу
Процесс доступа к TLB
Процессор генерирует виртуальный адрес и передает его в MMU.
MMU использует номер виртуальной страницы VPN для запроса TLB.
Если происходит доступ к TLB (запись таблицы страниц находится в TLB, а действительный бит в соответствующем PTE равен 1), TLB возвращает номер физической страницы, соответствующий номеру виртуальной страницы, в MMU.
MMU использует возвращаемую запись таблицы страниц (номер физической страницы) для создания физического адреса PA и использует PA для доступа к кэшу/основной памяти.
кэш/основная память возвращает данные, запрошенные ЦП, в процессор.
Обработка при промахе TLB (при условии доступа к основной памяти)
Процессор генерирует виртуальный адрес и передает его в MMU.
MMU использует номер виртуальной страницы VPN для запроса TLB.
Если доступ к TLB пропущен, информация о промахе доступа к TLB возвращается в MMU.
MMU использует регистр базового адреса таблицы страниц PTBR и номер виртуальной страницы для генерации адреса записи таблицы страниц PETA, обращается к таблице страниц, хранящейся в кэше/основной памяти, и запрашивает содержимое записи таблицы страниц, соответствующее номеру виртуальной страницы.
Кэш/основная память возвращает запись PTE таблицы страниц в MMU для формирования физического адреса PA информации, к которой осуществляется доступ.
Если действительный бит в возвращаемой записи таблицы страниц PTE равен 1, таблицу TLB необходимо обновить, и возвращенный PTE используется для создания физического адреса PA, а построенный физический адрес PA используется для доступа к кэшу/основной памяти. .
кэш/основная память возвращает запрошенные данные процессору.
Многоуровневая система хранения с TLB и Cache
TLB отсутствует: запись таблицы страниц, к которой осуществляется доступ, отсутствует в TLB.
Страница отсутствует: страницы, к которой требуется доступ, нет в основной памяти (действительный бит соответствующей записи таблицы страниц равен 0). Соответствующая обработка ошибок страницы: загрузка страницы, обновление TLB, команда перезапуска страницы.
Кэш отсутствует: блок основной памяти, к которому осуществляется доступ, отсутствует в кеше. Соответствующая обработка отсутствующего кэша: перенос из памяти и повторное посещение кэша.
Сегментированная виртуальная память
Каждая программа устанавливает таблицу сегментов.
Обычно программисты делят разные типы данных, такие как подпрограммы, операнды и константы, на разные сегменты, и каждая программа может иметь несколько сегментов одного типа.
Запись таблицы сегментов содержит как минимум следующие три поля:
Действительный бит указывает, загружен ли сегмент в реальную память.
Начальный адрес сегмента указывает первый адрес сегмента в реальном хранилище, когда сегмент был перенесен в реальное хранилище.
Длина сегмента записывает фактическую длину сегмента.
перевод адреса
3 нестандартные ситуации
Отсутствует сегмент (сегмент не существует): установленная позиция = 0.
Адрес вне границ: смещение превышает максимальную длину сегмента.
Нарушение защиты, способ работы не соответствует заданным правам доступа.
Сегментированная виртуальная память
Каждая программа выполняет двухуровневое перемещение через таблицу сегментов и многостраничные таблицы.
Каждая запись в таблице сегментов соответствует сегменту, и каждая запись имеет указатель, указывающий на таблицу страниц сегмента.
Виртуальный адрес можно рассматривать как состоящий из четырех полей.
Таблица сегментов и набор таблиц страниц используются для указания расположения всех страниц виртуальной памяти в основной памяти.
(Многозадачная система) Процесс преобразования адресов сегментированной страничной виртуальной памяти Каждая программа соответствует таблице сегментов, а каждый сегмент соответствует таблице страниц (есть семантические неясности, см. рисунок).
Сравнение виртуальной памяти и кэша
Сходства
Существуют такие проблемы, как сопоставление адресов, алгоритм замены и стратегия обновления.
разница
Кэш в основном отвечает за скорость системы, а виртуальная память — за объем основной памяти.
Кэш полностью реализован аппаратно и представляет собой аппаратную память, прозрачную для всех программистов. Виртуальная память реализуется совместно операционной системой и оборудованием. Это логическая память, непрозрачная для системных программистов, но прозрачная для программистов приложений.