prosdo.ru
добавить свой файл
1
Организация памяти первого уровня.


Память 1 уровня – сверхоперативная память. Основное назначение – повысить быстродействие ОП, и следовательно процессора. Способы повышения быстродействия обращений к памяти:


  • Повышение быстродействия ОП

  • Использование сверхоперативной памяти как промежуточного буфера.

Оба направления присутствуют в современных системах. Первая реализация сверхОП – РОНы. В зависимости от процессора количество РОНов разное. Второй вариант – кэш-память – это буфер, недоступный для программиста. Кэш используется как для хранения команд, так и для хранения данных. Кэш обеспечивает механизм, который реализуется автоматически (аппаратно управляемый обмен). Единица обмена – более крупная, чем слово, величина – строка кэш. Увеличение этой единицы приводит к тому, что сокращается количество обращений к ОП.


РОНы организуются на основе ЗУ с адресной организацией. Кэш – на основе ЗУ с безадресной организацией, используются ассоциативные ЗУ.


Эксклюзивная и инклюзивная кэш.

В иерархии памяти обычно нижние уровни хранят в себе копии более высоких уровней. Такая архитектура называется инклюзивной, однако для экономии места используют эксклюзивную кэш. Общий объем КЭШа = сумме первого второго и третьего. При этом уменьшается скорость работы, но увеличивается эффективность. Инклюзивная – в Intel, эксклюзивная – в AMD.

Блокируемая и неблокируемая кэш.

Блокируемая кэш блокирует доступ к кэш после кэш-промаха, до тех пор, пока запрашиваемые данные не будут загружены в кэш. При этом кэш не обрабатывает другие запросы. Такая кэш была в первых вариантах, ныне практически не используется. Неблокируемая позволяет работать с кэш параллельно с загрузкой/выгрузкой кэш-строк. Аппаратная реализация более сложная и более дорогая, но зато имеет большую эффективность.

Политики записи, поддержки когерентности.


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


  • Сквозная политика – кэширование ячеек основной памяти при чтении и запись напрямую в ОП. Реализация довольно простая, но мало эффективная.

  • Сквозная запись с буферизацией – обеспечивает частичную компенсацию задержек с помощью буферизации. Записываемые данные сначала попадают в буфер, там они накапливаются до полного заполнения буфера, а потом целиком записываются в ОП.

  • Обратная политика записи – сокращает до минимума количество обращений к ОП. Для отслеживания операций модификации к каждой ячейке кэш привязывается специальный флаг состояния. Если ячейка была изменена, то флагу приписывается значение «грязный» и когда периферия обращается к ОП, кэш-контроллер проверяет данный флаг и по необходимости выгружает грязные ячейки в ОП и сбрасывает флаги.

В современных процессорах используют третий алгоритм.

Освобождение кэш.

Кэш-память очень быстро оказывается полностью заполненной. Поэтому процессу заполнения должен предшествовать процесс освобождения. При возникновении кэш-промаха контроллер должен выбрать подлежащий замещению блок. Есть 2 алгоритма работы:

  1. случайный – для обеспечения равномерного распределения блоки выбираются случайно. Алгоритм довольно прост.

  2. с целью уменьшения вероятности выбрасывания полезной информации все обращения к блоку фиксируются, и замещается тот блок, который не использовался дольше всех. С увеличением размера и количества блоков алгоритм становится более дорогим и не всегда оправданным.

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


Организация адресных сверхоперативных ЗУ.

Запоминающая часть организована как линейная последовательность ячеек, обращение к каждой из которых обеспечивается схемой селекции.


Такого рода ЗУ принято называть 2D: первая координата – адрес, вторая – команда чтения/записи. Каждый элемент ячейки выбирается сигналом от дешифратора адреса, который имеет сложную схему селекции. Сложность схемы определяется 2m = Е, где m – разрядность шины адреса, Е – емкость. Поэтому такие устройства используются, когда количество ячеек небольшое. Есть механизмы упрощения. Одним из простых способов является матричная организация ЗУ. Есть 2 дешифратора: старший и младший, адрес младший, адрес старший. Данная схема называется 3D – два адреса и одна координата чтения/записи. Если m=16, то Е (в сложной схеме) = 64 кб, ДА = 28 = 256, сложность 2*ДА = 512.
ЗУ с ассоциативной организацией.

Ассоциативное ЗУ относится к памяти безадресного типа.

Методичка 558!!!!!!!!!!!!!!!

Доступ к ячейкам памяти осуществляется по ассоциативному признаку. В качестве этого признака используется содержимое ячейки или её часть. Ассоциативное ЗУ состоит из 3 частей: запоминающая часть, блок ассоциативного поиска, блок замещения слов.



Ячейки запоминающей части состоят из 2 полей: ассоциативного признака и информационного поля. Поиск информации осуществляется по ассоциативному признаку АП*, путем его сравнения с ассоциативными признаками всех полей. Выбранной считается та ячейка, у которой совпал признак. Блок управления замещением начинает работать в случае не сравнения и отсутствия свободных ячеек для записи. В этом случае блок назначает ячейку памяти на удаление и замещает в ней информацию на новую, в том числе меняя и ассоциативный признак.

Если ассоциативное ЗУ используется в качестве кэш между процессором и ОП, то в этом случае ассоциативным признаком являются адреса ячеек ОП. Основной недостаток – большие затраты оборудования на реализацию ассоциативного селектора. Сложность схемы сравнения m элементов равна m*2k.


Организация кэш-памяти на основе ассоциативного ЗУ.


Исходя из схемы количество строк в ОП = 2l, в кэш – 2n.



Структура кэш-памяти с трехмерной организацией содержит ассоциативный селектор и дешифратор младшей части адреса. Если ассоциативное поле совпадает с ассоциативным признаком схемы селекции, то извлекается ячейка в столбце, выбранном дешифратором. Если ассоциативные признаки не совпали, то производится замещение. Недостаток – большие затраты оборудования на селектор.

С целью экономии оборудования используется более простая организация – наборно-ассоциативная.


Организация стековых ЗУ.

Стек используется при построении систем прерываний ЭВМ, а также при обработке данных типа вектор или массив. Стековые ЗУ обеспечивают запись по алгоритму LIFO. При обращении доступна только одна ячейка – вершина стека.

Реализация стековых ЗУ на основе магазинных.

Магазинные используют сдвиговые регистры в ограниченном количестве. При записи информации в стек все регистры сдвигаются. Недостатки – переполнение стека, сложность аппаратной реализации данных регистров. Обычно используется другая схема.

Схема с подвижным указателем стека.

По операции записи происходит запись данных в определенную ячейку, и указатель сдвигается на разрядность данной ячейки. При чтении наоборот. Такая схема реализуется на основе реверсивного счетчика, сама запоминающая часть находится в адресном пространстве ОП.

Организация памяти 2 уровня основной оперативной памяти.

Основная ОП строится на основе микросхем памяти динамического типа. Отличие – в основе лежит конденсатор. Особенности: разрушение информации при чтении, поэтому требуется ее регенерация, кроме того память не может долго хранить информацию, поэтому требуется периодическая регенерация. Все это влияет на быстродействие ОП, поэтому ОП медленнее, чем статическая, построенная на транзисторах. ОП обладает многоблочной организацией.


Причины построения многоблочной памяти:


  1. техническая – емкость можно наращивать практически неограниченно без дополнительного проектирования микросхем памяти и без уменьшения быстродействия.

  2. экономическая – из однотипных блоков, выпускаемых серийно, можно строить память необходимой емкости, быстродействия, стоимости.



Многоблочная память рассматривается как единое целое, быстродействие определяется временем работы + время дешифратора. Время постоянно, не зависит от количества блоков. Для организации асинхронной работы процессора и ОП есть сигнал занятости Z. В каждый момент времени схема обеспечивает обслуживание только одного обращения, так как происходит выбор конкретного блока. Так как внутри каждого блока есть своя схема селекции, то потенциально такая память может обрабатывать N запросов одновременно. В связи с этим используют расслоение обращений. Память должна организовываться таким образом, чтобы очередное по времени обращение обслуживалось другим свободным блоком. Необходимым условием является наличие буферных регистров + должен быть переделан интерфейс обращений. Фактически память с расслоением выглядит как многопортовая память, при этом разделение адреса происходит по младшей и старшей части. Младшая часть отвечает за выбор конкретного блока.

19 апреля 2012 г.

Организация памяти 3 уровня – внешняя память.

Твердотельный накопитель – ЗУ на основе микросхем памяти. Не содержат движущихся механических частей, доступ как у адресного ЗУ. Недостатки: ограниченное количество циклов перезаписи каждой ячейки – от 10000 до 100000, для борьбы с неравномерным износом применяются схемы балансирования нагрузки, контроллер диска хранит информацию о количестве циклов перезаписи каждого блока и периодически меняет их местами; проблема совместимости SSD-накопителей с ОС – старые ОС не учитывают специфику накопителей и тем самым дополнительно изнашивают их; цена существенно выше, чем у других накопителей. Преимущества: отсутствие движущихся частей, повышение надежности; высокая скорость чтения/записи; низкое энергопотребление; стабильность времени считывания файлов вне зависимости от их расположения и фрагментации; меньшая чувствительность к внешним электромагнитным помехам; отсутствие шума, высокая механическая стойкость, широкий диапазон рабочих температур, малые габариты.


RAID-массивы.

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


  • RAID-0 (чередование) – дисковый массив из 2 и более дисков с отсутствием резервирования. Достоинства – существенно повышается производительность пропорционально количеству жестких дисков. Недостаток – надежность заведомо ниже надежности отдельного жесткого диска и падает с увеличением количества жестких дисков.

  • RAID-1 (зеркалирование) – информация дублируется на каждом из дисков. Достоинства – повышенная надежность, увеличивается с повышением количеством дисков и выигрыш при скорости чтения при распараллеливании запросов на разные диски. Недостаток – повышение стоимости дискового пространства.

  • RAID-2 – диски делятся на две группы: для данных, для кодов коррекции ошибок. Плюс – позволяет на лету исправлять однократные и обнаруживать двукратные ошибки. Недостаток – почти двойное количество дисков для 2 группы. Практически не применяется.
  • RAID-3 состоит из n дисков, данные разбиваются на байты, один из дисков используется для хранения блоков четности. Плюс – высокая скорость чтения/записи, минимальное количество дисков для восстановления данных. Недостатки – скорость доступа к секторам уменьшается; большая нагрузка на контрольный диск, следовательно, повышенный его износ. Хорош для работы с файлами большого размера.


  • RAID-4 похож на предыдущий, но информация разбивается на блоки, а не на байты, тем самым повысилась скорость передачи данных небольшого объема, но запись замедляется в связи с тем, что приходится обрабатывать четность каждого блока.

  • RAID-5 похож на 2–4, но блоки контрольных сумм циклически записываются на все диски массива. Минимальное количество дисков = 3. Плюсы – экономичность использования дискового пространства, скорость записи выше, так как данные делятся на несколько дисков. Недостатки – запись данных ниже, чем у зеркала или чередования, особенно при записи в произвольном порядке; при выходе одного диска из строя массив переходит в критический режим, все операции чтения/записи сопровождаются дополнительными командами и очень сильно падает производительность, при этом уровень надежности падает до надежности RAID-0. Восстановление данных вызывает интенсивную нагрузку на остальные диски на протяжении многих часов, что может повлиять на надежность дополнительных дисков.

  • RAID-10 (RAID 1+0) – зеркалированный массив из RAID-0. Плюсы – высокая отказоустойчивость и производительность, минус – избыточность. Кроме этого есть комбинация 5+0.


Каналы и интерфейсы ввода/вывода.

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

Проблемы построения системы ввода/вывода.

  1. должна быть обеспечена реализация ЭВМ с переменным составом оборудования.

  2. должна быть обеспечена параллельная по времени работы процессора и периферии.

  3. должно быть упрощено и стандартизировано программирование операций ввода/вывода, не зависимо от реализации периферии.
  4. должно быть реализовано автоматическое распознавание и реакция ядра на ситуации в периферии.


Пути решения проблем:

  1. модульность – отдельное устройство выполняется в виде конструктивно законченных модулей.

  2. унифицированные форматы данных для обмена ядра и внешних периферийных устройств.

  3. унифицированные интерфейсы.

  4. унифицированные формат и набор команд.

Способы обмена информацией.



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

Программно–управляемая передача.

Инициатором обмена всегда выступает процессор, реализующий требуемые операции ввода/вывода. Синхронная передача применяется при взаимодействии с быстродействующим периферийным устройством, для обмена с которым не требуется дополнительная синхронизация (устройство всегда готово). Асинхронный обмен является более универсальным и сложным, используется при обмене с периферией, быстродействие которой ниже, чем у процессора. Поэтому для выполнения данного обмена используется специальные средства, синхронизирующие процесса приема/передачи. Эти средства находятся в контроллере периферийного устройства, который является посредником между процессором и периферийным устройством. Контроллер содержит регистры данных, в режиме ввода данные поступают на вход и хранятся до момента пересылки по шине в вычислительное ядро. Регистры периферии называют портами. В режиме вывода процессор записывает информацию, которая хранится до тех пор, пока порт её не заберет. Также в контроллере есть специальные регистры управления и состояния. Регистр состояния отражает факт подключения и работоспособность периферийного устройства. Программно–управляемая передача является самым быстрым способом обмена, недостаток – вынужденный простой процессора по ожиданию готовности периферии.


Передача данных с прерыванием программы.

Это тип обмена данными, при котором для выполнения операции ввода/вывода производится прерывание текущей программы. В данном случае инициатором обмена является не процессор, а внешнее устройство. Это важное архитектурное свойство ВМ, позволяющее повысить производительность процессора при наличии нескольких, протекающих параллельно процессов. Реализация передачи данных с прерыванием требует дополнительной аппаратной и программной поддержки. Периферийное устройство, поддерживающее такой обмен, должно содержать специальную схему формирования сигнала прерывания, который по шине управления поступает на вход прерывания процессора. Процессор не тратит время на слежение за состоянием периферии, а работает по своей основной программе. Периферия формирует запрос прерывания, процессор, обнаружив сигнал запроса прерывания, завершает выполнение текущей операции и выполняет определенную последовательность действий по обработке прерывания. Сигналы аппаратных прерываний поступают в процессор через два контроллера прерываний.


IRQ8


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


Процессор

IP

CS

Флаги




Адреса памяти

IP0

CS0

IP1

CS2



IP

CS

Флаги

IPпр1

СSпр7

Вектор прерываний 0

Вектор прерываний 1




Стек

Программные обработчики

Получив сигнал на выполнение процедуры прерываний с определенным номером, процессор сохраняет в стеке текущее содержимое основных регистров и флагов, где CS и IP образуют полный адрес возврата. Далее процессор загружает CS и IP из соответствующего вектора прерываний, тем самым осуществляя переход на обработчик вектора прерываний. Обработчик заканчивается командой iRet, которая инициирует обратное действие – извлечение из стека и возврат в основную программу в точку, где она была прервана. Запросы прерываний могут иметь различную природу, кроме аппаратных, есть еще внутренние и программные. Внутренние прерывания инициируются цепями самого процессора при возникновении специально оговоренных ситуаций (деление на ноль, например). Третий тип – программные, вызываются командой ассемблера int с соответствующими числовыми аргументами, которые рассматриваются как вектора. Действия процессора выполняются совершенно одинаково для всех видов прерываний. Для работы с программными прерываниями зарезервировано довольно много команд, которые находятся в BIOS и в ОС.


13h – программное прерывание управления дисками.

10h – программное прерывание управления видеосистемой.

25h – функция чтения диска.

26h – функция записи на диск.

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

Прямой доступ к памяти.

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

Принципы построения систем ввода/вывода.


  1. ЭВМ с общим интерфейсом или общей шиной. Общая шина для небольших ЭВМ, когда количество периферии ограничено.

  2. с множеством интерфейсов и каналами ввода/вывода.