oevm_examx

advertisement
1Принципы программного управления.
Обобщенная структура ЭВМ с
архитектурой фон-Неймана.
Принцип программного управления (ППУ).
В основу функционирования всех систем положен
ППУ. Он опирается на несколько положений. В
основе ППУ лежит представление алгоритма в
форме операторной схемы, которая задает правила
вычислений, как последовательность операторов
двух типов:
1) операторов обеспечивающих преобразование
либо перемещение информации;
2) операторов анализирующих информацию с
целью определения порядка выполнения операций.
Применительно к ВМ получил способ реализации
ППУ Фон Нейман в 1945 г.
Фон-неймановские принципы:
1)Инфомация кодируется в двоичной форме и
разделяется на единицы, а длинные коды надо
формировать в слова. (группы)
2)Разнотипные слова информации различаются по
способу использования, а не внешним видом.
3) Набор операций также кодируется 2-мя кодами
и эти коды кодируются машинными командами.
4)Алгоритм представляется в форме
последовательности управляющих слов, которые
определяют наименование операции и слова
информации, участвующие в операции. С точки
зрения аппаратуры управляющее слово называется
машинной командой. Алгоритм представленный в
терминах машинных команд называется
программой.
5)Отсутствуют внешние различия между
командами и данными.
6) Все 2-ые коды и команды размещаются в одной
памяти. (признак фон-Неймоновской структуры) и
идентифицируются номерами ячеек памяти (или
адресами).
7)Память является линейной, она одномерна.
Имеет вид вектора слов с последовательными
адресами (0,1,2,3,...). Теоретически границ нет.
8)Память может выполнять 3 действия :
1)Хранить инфу
2)Обеспечить доступ к ячейке при
подаче на вход соотв номера ячейки или
адреса.
3) При обращении к ячеек в 2 операции
a) Чтение ячейки с сохранением
содержимого
b) Замена содержимого внешним
кодом (запись)
4) В процессе решения любой задачи
запись в виде алгоритма, записанного в
виде терминов машинных команд –
называется машинной программой.
9)Выполнение вычислений предписанных
алгоритмом сводится к последовательному
выполнению команд в порядке, однозначно
определяемом программой.
Устройство Фон Неймана (идеология Фон
Неймана)
Как работает машина фон Неймана
Машина фон Неймана состоит из ЗУ,АЛУ, УУ, а
также устройств ввода и вывода.
Программы и данные вводятся в память из
устройства ввода через арифметико-логическое
устройство.
Все
команды
программы
записываются в соседние ячейки памяти, а данные
для обработки могут содержаться в произвольных
ячейках. У любой программы последняя команда
должна быть командой завершения работы.
Команда состоит из указания, какую операцию
следует выполнить и адресов ячеек памяти, где
хранятся данные, над которыми следует
выполнить указанную операцию, а также адреса
ячейки, куда следует записать результат (если его
требуется сохранить в ЗУ).
Из
арифметико-логического
устройства
результаты выводятся в память или устройство
вывода. Принципиальное различие между ЗУ и
устройством вывода заключается в том, что в ЗУ
данные хранятся в виде, удобном для обработки
компьютером, а на устройства вывода поступают
так, как удобно человеку.
УУ управляет всеми частями компьютера. От
управляющего устройства на другие устройства
поступают сигналы «что делать», а от других
устройств УУ получает информацию об их
состоянии.
Управляющее устройство содержит специальный
регистр (ячейку), который называется «счетчик
команд». После загрузки программы и данных в
память в счетчик команд записывается адрес
первой команды программы.
1.
УВВ - устройство ввода/вывода
2.
Первая структура IBM System 360. Применялись в
машинах по решению инженерных задач.
Американцы назвали «пережёвыватели формул».
3. Система с общей шиной
2-ая и 3-я возникли почти одновременно
Применялись в машинах для решения задач
автоматизации процессов.
Мультипрограммный режим – это, когда
одновременно на машине выполняется несколько
программ. (Обслуживание процессором идет по
очереди нескольких программ).
Время:
1)
Обработка кодов
2)
Ввод/вывод.
Так выполняется каждая программа по очереди из
пакета программ.
2Сравнение Гарвардской и фонНеймановской архитектур ЭВМ .
Принцип программного управления (ППУ).
В основу функционирования всех систем положен
ППУ. Он опирается на несколько положений.
Любую задачу можно свести к последовательности
действий.
В основу функционирования всех систем положен
ППУ. Он опирается на несколько положений. В
основе ППУ лежит представление алгоритма в
форме операторной схемы, которая задает правила
вычислений, как последовательность операторов
двух типов:
1) операторов обеспечивающих преобразование
либо перемещение информации;
2) операторов анализирующих информацию с
целью определения порядка выполнения операций.
Применительно к ВМ получил способ реализации
ППУ Фон Нейман в 1945 г.
Фон-неймановские принципы:
1)Инфомация кодируется в двоичной форме и
разделяется на единицы, а длинные коды надо
формировать в слова. (группы)
2)Разнотипные слова информации различаются по
способу использования, а не внешним видом.
3) Набор операций также кодируется 2-мя кодами
и эти коды кодируются машинными командами.
4)Алгоритм представляется в форме
последовательности управляющих слов, которые
определяют наименование операции и слова
информации, участвующие в операции. С точки
зрения аппаратуры управляющее слово называется
машинной командой. Алгоритм представленный в
терминах машинных команд называется
программой.
5)Отсутствуют внешние различия между
командами и данными.
6) Все 2-ые коды и команды размещаются в одной
памяти. (признак фон-Неймоновской структуры) и
идентифицируются номерами ячеек памяти (или
адресами).
7)Память является линейной, она одномерна.
Имеет вид вектора слов с последовательными
адресами (0,1,2,3,...). Теоретически границ нет.
8)Память может выполнять 3 действия :
1)Хранить инфу
2)Обеспечить доступ к ячейке при подаче
на вход соотв номера ячейки или адреса.
3) При обращении к ячеек в 2 операции
a) Чтение ячейки с сохранением
содержимого
b) Замена содержимого внешним кодом
(запись)
4) В процессе решения любой задачи запись
в виде алгоритма, записанного в виде
терминов машинных команд – называется
машинной программой.
9)Выполнение вычислений предписанных
алгоритмом сводится к последовательному
выполнению команд в порядке, однозначно
определяемом программой.
Классическая гарвардская архитектура.Идея,
реализованная Эйкеном, заключалась в
физическом разделении линий
передачи команд и данных. В первом компьютере
Эйкена «Марк I» для хранения инструкций
использовалась перфорированная лента, а для
работы с данными —
электромеханические регистры. Это позволяло
одновременно пересылать и обрабатывать
команды и данные, благодаря чему значительно
повышалось общее быстродействие компьютера.В
гарвардской архитектуре характеристики
устройств памяти для инструкций и памяти для
данных не обязательно должны быть
одинаковыми. Отличие от архитектуры фон
Неймана. В чистой архитектуре фон Неймана
процессор одномоментно может либо читать
инструкцию, либо читать/записывать единицу
данных из/в памяти. То и другое не может
происходить одновременно, поскольку инструкции
и данные используют одну и ту же системную
шину.
А в компьютере с использованием гарвардской
архитектуры процессор может читать инструкции
и выполнять доступ к памяти данных в то же самое
время, даже без кэш-памяти. Таким образом,
компьютер с гарвардской архитектурой может
быть быстрее (при определенной сложности
схемы), поскольку доставка инструкций и доступ к
данным не претендуют на один и тот же канал
памяти.
Также машина гарвардской архитектуры имеет
различные адресные пространства для команд и
данных. Так, нулевой адрес инструкций — это не
то же самое, что и нулевой адрес данных.
Основное преимущество архитектуры ФонНеймана – упрощение устройства МПС, так как
реализуется обращение только к одной общей
памяти. Кроме того, возможно оперативное
перераспределять ресурсы между областями
программ и данных, что существенно повышало
гибкость МПС с точки зрения разработчика
программного обеспечения. Размещение стека в
общей памяти облегчало доступ к его
содержимому. Неслучайно поэтому фоннеймановская архитектура стала основной
архитектурой универсальных компьютеров,
включая персональные компьютеры.
Однако анализ реальных программ управления
показал, что необходимый объем памяти данных
МК, используемый для хранения промежуточных
результатов, как правило, на порядок меньше
требуемого объема памяти программ. В этих
условиях использование единого адресного
пространства приводило к увеличению формата
команд за счет увеличения числа разрядов для
адресации операндов. Применение отдельной
небольшой по объему памяти данных
способствовало сокращению длины команд и
ускорению поиска информации в памяти
данных.Кроме того, гарвардская архитектура
обеспечивает потенциально более высокую
скорость выполнения программы по сравнению с
фон-неймановской за счет возможности
реализации параллельных операций. Выборка
следующей команды может происходить
одновременно с выполнением предыдущей, и нет
необходимости останавливать процессор на время
выборки команды. Этот метод реализации
операций позволяет обеспечивать выполнение
различных команд за одинаковое число тактов, что
дает возможность более просто определить время
выполнения циклов и критичных участков
программы.
3Обобщенная структура центрального
процессора(ЦП). Функционирование ЦП во
времени: цикл шины, цикл команд.
1) Обобщенный алгоритм функционирования
процессора (машины Фон Неймана).
Процессор.
Структура
центрального
процессора
Последовательность действий, которые выполняет
ЦП:
1)
Выставляет адрес команды
2)
Читает команду из памяти
3)
Формирует адрес следующей команды
4)
Расшифровывает операцию
5)
Читает операнд (если нужно)
6)
Выполняет
действия,
предписанные
командой (если нужно)
7)
Записывает результаты в память (если
нужно)
Процессор. Обобщенная структура процессора как
операционного автомата
ЦП – это та часть, которая выполняет основную
программу машины.
Во внешний мир выходит 3 группами сигналов:
шина адреса, данных, управления.
С точки
зрения
цифровых автоматов
процессор состоит из
двух
частей:
управляющий
автомат
и
операционный автомат.
В операционном автомате набор регистров и
комбинационная схема. В управляющем автомате
генератор пространственно-временных кодов.
Внутри ЦП:
блок обработки данных (кодов).
набор регистров, чтобы можно было
хранить кодовую операцию на момент
выполнения каких либо действий (код на
время такта - обязательно).
устройство управления.
Эта
структура
ЦП
является
структурой
операционной системы.
Блок обработки кодов
должен уметь принять команду из внешнего мира
и хранить ее в течение времени выполнения
команды; имеется регистр команд и устройство
дешифрации.
В АЛУ должно быть как минимум две кодовых
группы на вход и одна на выход, т.е. исходные
данные и результат.
В
простейшем
случае
представляет
комбинационную схему: 2 входа для операнда А и
В. Код операции – определяет конкретные
операции кодов, которые поступают.
Разрядность АЛУ и есть разрядность процессора
(т.е. если АЛУ имеет 64 разряда, а обрабатывает
32, то процессор будет 32 разрядный).
Кроме результата данных АЛУ вырабатывает
признаки результата ( от 4 до 6 разрядов) – чтобы
организовать алгоритм выполнения сложных
действий. Признаки нужны для дальнейшего
движения по программе.
Признаки:
1)
Признак знака результата
(1,s<0…0,s>0)
2)
Признак нуля (1,s=0…0,s!=0)
3)
Признак переноса (с), для
обработки кодов большой
длины
4)
Признак
переполнения
разрядной сетки (A). Может
возникнуть в случае когда
данные выходят за знак
5)
Признак паритета (признак
четности) (P) АЛУ считает
четное число или нет “1”
Добавляет число 1 либо до четного, либо до
нечетного. Это для того, чтобы определить
одиночные ошибки, но он не позволяет определить
четное число ошибок.
Для расширения возможностей встраиваются доп
блоки. Для плавающей точки 2 АЛУ, 1 для
мантиссы, другой для порядков т.е это уже на
аппаратном уровне, а не на программном.
Блок регистров Все регистры можно разделить на
2 группы:
1. программно видимые
2. программно невидимые
Программно-видимый регистр – это такой регистр,
содержимое которого мы можем изменить с
помощью программы, он является частью
программной модели машины с которой мы
работаем- это регистры для хранения и явного
преобразования данных, кодов и управления.
Регистры общего назначения – это регистры,
которые в разных ситуациях могут использоваться
по разному. В Intel процессорах РОН являются
функционально закрепленными.
Регистры данных : регистры в которые
записываются опереанды. Аккумулятор, если ЦП
простой то он один, больше для сложны ЦП.
Уменьшает длину команды.
Регистры адреса : связаны с адресом
IP- программный счетчик (указатель команд)
разрядность регистра может быть разной
SP- указатель стека (безадресная память с точки
зрения пользователя, а с аппаратной нет)
Регистр базы –для адресации
Индексные регистры
Регистры
управлениядля
управления
процессором
Пример. Указатель стека – предназначен для
реализации памяти.А=А*В – если преобразование
кодов идет вот так, то резко уменьшается число
обращений во внешний мир. Но ухудшается
длительность программы. Программно-невидимый
программисту недоступен.
Буферная память 1)ассоциативная 2)магазинного
типа (стек)
Многие алгоритмы
опираются на стековую
память.
Общая идея обмана (как бы есть стековая
виртуальная память).
РА-регистр адреса. Имитация стековой памяти.
Устройство управления.
Устройство управления
- это управляющий
автомат.
УУ
вырабатывает
синхроимпульсы
в
нужное
время
в
нужные места.
yi={0,1}; x={0,1}
Задача УУ – выборка управляющих воздействий
на основе алгоритма и сигналов состояния объекта
Yt=yn,yn-1,...,y1,y0
- выходные сигналы
управления
_
X=xn,...,x0
УА – управляющий автомат. Т – тактовые
импульсы.
Управление автоматом можно реализовать
помощью автомата с жесткой логикой.
Управляющий автомат генерирует сигнал.
с
X – обратная связь, Y – сигнал управления, Т –
тактовые импульсы.
Память выходит во внешний мир группой
сигналов:
1) А – кодовая группа, которая
называет адресом. Разрядность А определяет число
адресуемых
ячеек
в
памяти.
Адресное
пространство в памяти = 2n.
Набор сигналов (проводников) А называют шиной
адреса (ША).
2)Данные – кодовая группа, которая извлекается из
памяти. Может быть шина данных входных и
выходных (DI и DO) сигналов. m – ширина шины
даннх.
В классической модели (Фон Неймана) не может
быть выполнено много действий; их всего 3:
1. Хранение информации
2. Запись информации
3. Выдача информации
Т.е. здесь одновременно записи и чтения не может
быть,
следовательно
шина
может
быть
двунаправленной, но в каждый заданный момент
времени она передает данные лишь в одном
направлении.
Те линии по которым передаются
данные
называются шиной данных(ШД).
3)
Набор сигналов управления, которые
поступают на модуль (С) – их не меньше
чем 2 провода: один провод – чтение и
запись, другой сигнализация или сигнал
чтения и сигнал записи. И еще
дополнительный третий провод сигнал
разрешения работы.
Временная диаграмма: сначала адрес, данные,
сигнал работы.
2 фазы работы ЭВМ (цикла команд).
1)Чтение команды
2)Выполнение команды
Эти фазы замкнуты между собой
Цикл команды – временной отрезок, в течение
которого выполняется цикл алгоритма. Цикл
команды, скорее всего величина переменная.
Можно построить системы с постоянными
циклами команд (управление будет проще, набор
команд будет не любой). Первый адрес (пусковой
адрес) должен быть где-то заложен (запаян на
этапе изготовления), либо задается извне на
внешних выводах процессора. Цикл команды
процессора - время выполнения одной команды.
Совокупность сигналов, которыми процессор
выходит во внешний мир, называется шиной. Цикл
процессорной шины - некоторое законченное
действие по взаимодействию с внешней средой.
Циклов шины может быть много. Цикл шины
(магистрали) – это совокупность служебных
операций передатчика и приемника, необходимых
для реализации конкретной процедуры обмена по
ОМ
между
двумя
устройствами
ЭВМ..Длительность цикла шины (магистрали) –
это интервал времени, необходимый для
реализации конкретной однократной процедуры
обмена по ОМ между двумя устройствами ЭВМ.
Основные циклы : чтение памяти, запись в память.
Возможные циклы: чтение ввода-вывода, запись в
ввод-вывод и т.д.
4Система команд ЦП: основные типы и
форматы.
Система команд – набор команд, который
процессор умеет выполнять. Считывание команд
должно выполнять ряд условий:
1.
функциональная полнота (система
команд должна позволить
реализовать любой алгоритм)
2.
ввод команд должен быть удобным
(эффективный)
Функциональный набор команд для фон
Неймановской архитектуры:
1.
Изменения ячейки памяти на 1
2.
Пересылка кода из одной ячейки
памяти в другую
3.
Команда ветвления по равенству 0 к
содержимому ячейки памяти
(условный переход)
Все команды можно разделить на 3 группы:
1.Команды преобразования кода.
(лог. и арифм. операции пр-я кодов, реализация
функций (сильно зависит от орентации
процессора))
2.Команды изменения положения (перемещ-я)
информации внутри системы.
(пересылка из одной ЯП в др., команда обмена
данными м\д внутренним регистром и памятью,
пересылка регистр<->регистр, работа с ВУ: с
регистрами I\O.)
3.Команды управления (влияют на работу
процессора, не изменяя и не перемещая данные).
3.1. Арифметика (4 или более команды).
Логические команды. Команды,
связанные с представление чисел.
3.2. Команды перемещения по памяти. Пересылки
между регистрами из памяти в регистр и т.д.
3.3. Команды управления:
команды изменения порядка выборки:
безусловные команды (действие команд не
зависит ни от чего).
условие (действие зависит от условия).
команды изменения режима работы процессора
(HALT,STOP-ожидает прерывание ,WAIT). Режим
пользователя (вып. привилегиров. команд, режим
системы (вып. все команды).
команды перехода
команды перехода с возвратом
(программные прерывания и команды обращения к
процедурам (CALL)).
команды цикла
Программа представленная в виде кодов
называется машинной командой. Формат команды
- структура, привязанная к разрядной сетке.
КОП
Что делать
Адресная часть
Над чем делать
Бывают одноадресные и двухадресные команды.
3-х адресаня : A=B*C
2-х адресная : A=A*B
1-адресная : ФМ=ФМ*A
Способ адресации – способ указания операндов в
команде. Базовыми являются:
Помимо перечисленных имеются и более сложные
способы адресации:
индексная, относительная и др., однако в
простейших МП они не используются .
Адресация может быть абсолютной или
неабсолютной. При абсолютной адресации
обратиться к ячейке памяти или ВУ можно только
по одному-единственному адресу. При
неабсолютной адресации для ячейки памяти или
ВУ можно выделить некоторую зону адресов.
Иными словами, абсолютная адресация требует
полного декодирования адреса, а неабсолютная —
частичного, что упрощает схемы декодирования
Относительная (базовая) адресация
При этом способе адресации исполнительный
адрес определяется как сумма адресного кода
команды и базового адреса, как правило
хранящегося в специальном регистре — регистре
базы.
Относительная адресация позволяет при меньшей
длине адресного кода команды обеспечить доступ
к любой ячейке памяти. Смещение определяет
положение операнда относительно начала массива,
задаваемого базовым адресом.
•скрытая (неявная) (когда вообще нет адресного
поля, есть только что делать? Но это обман)
•Думаю подробно про способы адресации можно
прочитать в любом учебнике по ассемблеру. В
двух словах (из Зубкова):
1. Регистровая адресация - операнды
располагаются в любых регистрах общего
назначения или сегментных регистрах
mov bx, ax
mov es, ax
2. Непосредственная адресация в команде
содержится сам операнд.
mov ax, 2
add ax, 2
3. При прямой адресации код адреса содержится в
команде, подлежащей выполнению. Прямая
адресация удобна, но удлиняет команды В случае
прямой регистровой адресации, адрес является малоразрядным, поскольку число таких регистров
мало. В этом случае прямая адресация проявляет
все свои достоинства. Прямая адресация - если
известен адрес операнда располагающегося в
памяти
mov ax,es:0001
mov ax, es:word_var
В последнем случае ассемблер сам заменит слово
word_var на соответствующий адрес
4. При косвенной адресации в команде явно или
неявно указывается регистр процессора,
содержащий адрес операнда. Команда сохраняет
компактность, мо для ее выполнения требуется
предварительная настройка — загрузка адреса в
регистр (регистр косвенного адреса). Косвенная
адресация удобна при обработке списков, когда
настройка производится однократно, а очередной
адрес получается модификацией предыдущег.
Косвенная адресация - адрес операнда в памяти
можно не указывать непосредственно, а хранить в
любом регистре
mov ax, [bx]
5. Адресация по базе со сдвигом - комбинация
двух предыдущих методов адресации
mov ax, [bx+2]
mov ax, [bp]+2
6. Косвенная адресация с масштабированием
mov ax,[esi*2]+2 - этот метод адресации полностью
идентичен предыдущему, за исключением того,
что с его помощью можно прочитать элемент
массива слов, двойных слов или учетверенных
слов, просто поместив номер элемента в регистр
множитель, может быть равен 1, 2, 4 или 8 соответствует размеру элемента массива — байту,
слову, двойному слову, учетверенному слову
соответственно
7. Адресация по базе с индексированием - в этом
методе адресации смещение операнда в памяти
вычисляется как сумма чисел, содержащихся в
двух регистрах, и смещения, если оно указано
Все следующие команды — это разные формы
записи одного и того же действия:
mov ax,[bx+si+2]
mov ax,[bx][si]+2
mov ax,[bx+2][si]
mov ax,[bx][si+2]
mov ax,2[bx][si]
8. Адресация по базе с индексированием и
масштабированием - это самая полная возможная
схема адресации, в которую входят все случаи,
рассмотренные ранее, как частные
mov eax, ds:[eax+ebx*2+2]
5RISC и CISC процессоры с точки зрения
системы команд: общие идеи и сравнительные
характеристики.
RISC – процессор с сокращенным набором команд
CISC – процессор с расширенным набором
команд.
Требования к RISC:
Любая операция, независимо от ее типа
выполняется за 1 такт.
Система команд содержит минимальный
набор наиболее часто используемых
простых команд одинаковой длины.
3.
Операции обработки данных реализуются
только в формате «регистр- регистр».
Пересылка данных между регистрами и
оперативной памятью осуществляется с
помощью специальных команд
загрузки/записи.
4.
Состав система команд должен быть удобен
для написания трансляторов с языков
высокого уровня.
Такие микропроцессоры уникальны по
показателю «число команд в единицу времени».
Достижение максимально возможной
производительности стало целью разработки RISC
процессоров.Практически высокая
производительность достигается использованием
полно разрядной обработки; конфейерной
организуемой арифметики; суперскалярной
архтектурой процессора; уменьшением частоты
обращения к внешней памяти.В настоящее время
полноразрядноым словом как для плавающей так и
для фиксированной запятой при выполнении
арифметических операций считается 64 двоичных
разряда. Конвейерная организация арифметики т.е.
разбиение операций на последовательность
элементарных действий выполняемых в различные
моменты времени позволяет поднять тактовую
частоту и включать в состав команд процессора
сложные команды, такие как операции с
плавающей запятой и др. Использование
арифметических конвейеров привело к изменению
требований к RISC.
Дальнейшее повышение производительности
возможно только на пути распараллеливания
операций. Так появились процессора с так
называемой суперскалярной обработкой. Смысл
суперскалярности закдючается в том, что в
аппаратуру микропроцессора закладываются
средства позволяющие одновременно выполнять
несколько скалярных операций т.е. команд
обработки пары чисел. Такой подход позволяет
увеличить производительность пропорционально
числу одновременно выполняемых операций.
Проблемы заключаются в том как осуществить
поиск и группировку несвязных команд,
параллельно запускаемых на исполнение.В RISC
процессорах пока в основном используется
аппаратный механизм выборки из буфера команд
несвязанных команд и запуск их на параллельное
исполнение. Другой способ реализующий загрузку
суперскалярной архитектуры заключается в
изменении всего процесса компиляции и
исполнения. На этапе трансляции компилятор
группирует несвязные операции в пакеты,
содержимое которых соответствует структуре
процессора, его возможности параллельного
выполнения команд различного типа. В пакете
содержатся команды, которые процессор может
выполнить параллельно. Сформированные пакеты
операций преобразуются компилятором в
командные слова получившие название VLIW –
Very Large Instruction Word – очень широкое
командное слово.По идее такой подход должен
привести к упрощению схем процессора т.к. не
надо искать независимых команд и повышение
производительности.Процессоры, использующие
такой подход получили название процессоров с
VLIW архитектурой.
1.
2.
Существуют два пути решения проблемы
компоновки программ:
Сделать
систему,
которая
сама
распараллеливает (разделяет команды)
между ветвями (процессорами) - это
аппаратный способ. Аппаратура должна
уметь подготовить любую программу путем
предварительного
просмотра
команд
(программы). Лучше иметь компилятор,
который все это делает.
Динамическое использование команд – значит есть
устройство
(буфер),
которое
формирует
араллельно выполняющиеся блоки.
2. Чтобы это выполнял программист программный
путь.
Возложить
функцию
формирования на систему подготовки. (система
подготовки это компилятор и программист).
Технология процессора с длинным машинным
словом.
VLIW (Very Long Instruction Word) – очень
длинное командное слово.
Архитектура процессора с VLIW – проще (все
перекладывается на программиста).
Системы со сцепленными конвейерами.
Блок обработки данных состоит из конвейера.
Получается длинный конвейер.
В этом случае можно начинать обработку во
втором конвейере, не дожидаясь окончания
обработки в первом.
Исторически процессор и память конкурируют по
производительности.
Сейчас резкое отставание процессора и памяти
(внутреннего мира) от внешнего мира.
Время
прохождения
сигнала
проводника
становится очень мало, возникает расщепление
сигнала (в одном проводнике возникают 2 сигнала)
при выключенном приемнике. Приемник еще не
принял, а передатчик уже перестал передавать.
Идеологический подход к решению проблемы:
У высокочастотных ЦП к 1 ГГц внешняя среда
(память, плата и т.д.) не успевает за ЦП.
Нужно уменьшить число обращений к внешнему
миру, тогда
внутренние скорости будут
определять работу.
Пути решения:
Как сделать, чтобы внешняя среда успевала за ЦП,
1.Надо из внешней среды брать больше чем тебе
надо, т.е. как можно больше за один раз, т.е.
увеличить разрядность внешних шин ЦП.
Допустим внутри у ЦП 32 разряда, а внешне шину
делаем 6 разряда (пример Pentium). За раз
обрабатывается 2 по 32 разряда
2.Установка внутренней памяти на ЦП (она может
быть программно доступна – это набор регистров).
Нужно иметь буферную память и отдельную
обработку от загрузки, т.е. буфер ждет, а затем
передает.
3.Установка КЭШ памяти – это буферная память с
автоматическим накоплением наиболее часто
используемой
информации.
КЭШ
–
она
программно не доступна.
Повышение внутренних тактовых частот
неминуемо порождает проблему взаимодействия с
внешней по отношению к процессору памятью.
Для того чтобы все рассмотренные ранее в
процессоре работали, надо постоянно иметь в
процессоре необходимую информацию – набор
команд и данных. Достигается это введением в
схему средств обеспечивающих безостановочную
работу арифметических устройств:
большого количества оперативных
регистров (>32 (138))
встроенной КЭШ памяти одного или
нескольких уровней
управления внешней КЭШ
механизм предвыборки команд и
прогнозирования ветвлений.
Эти средства позволяют резко сократить число
обращений к внешней памяти, тем самым снижены
общие требования по быстродействиювнешних
схем.
Структура RISC процессора
КЭШ 2-го уровня предназначен для общения с
внешним уровнем.
БОД - блок обработки данных.
-
Основные достоинства RISC- процессоров:
1.
2.
3.
1.
Повышение производительности
обработки программ
вычислительных задач.
Благодаря использованию простых
команд и минимума их форматов
сокращается время разработки RISCпроцессора.
Улучшение технологичности RISCпроцессоров благодаря большей
свободе в размещении их элементов
на кристалле интегральной схемы и
повышение вероятности выхода
годных схем.
Недостатки RISC- процессоров:
1.
2.
Нарушение основных принципов
программирования:
1.
Минимум длины
исполняемого кода
программы.
2.
Снижение
семантического
разрыва между
исходным описание и
машинным кодом.
Сложность построения компилятора,
поскольку программа с языка
3.
высокого уровня должна
транслироваться в микрокод с
оптимизацией использования
регистров.
Высокие требования к
быстродействию памяти
CISC (англ. Complex instruction set computing,
или англ. complex instruction set computer —
компьютер с комплексным набором команд) —
концепция проектирования процессоров, которая
характеризуется следующим набором свойств:



нефиксированное значение длины
команды;
арифметические действия кодируются в
одной команде;
ЗУМК – ЗУ микрокоманды, в ЗУ лежат
микрокоманды. РАМК – регистр адреса
микрокоманды.
ФАдМК – формирование адреса микрокоманды.
С точки зрения формирования адреса все автоматы
делятся на:
1) автоматы построенные на базе счетчика
(автомат с естественной адресацией)
2) автомат на базе регистра (с принудительной
адресацией)- микропрограмма имеет 2 поля: Y –
операционное, А – адресное (адрес след.команды).
небольшое число регистров, каждый из
которых выполняет строго определённую
функцию.
Для CISC-процессоров характерно: сравнительно
небольшое число регистров общего назначения;
большое количество машинных команд, некоторые
из которых нагружены семантически аналогично
операторам высокоуровневых языков
программирования и выполняются за много
тактов; большое количество методов адресации;
большое количество форматов команд различной
разрядности; преобладание двухадресного
формата команд; наличие команд обработки типа
регистр-память
Типичными представителями являются
процессоры на основе команд x86 Наиболее
распространённая архитектура современных
настольных, серверных и мобильных процессоров
построена по архитектуре Intel x86 (или х86-64 в
случае 64-разрядных процессоров). Формально,
все х86-процессоры являлись CISC-процессорами,
однако новые процессоры, начиная с Intel Pentium
Pro, являются CISC-процессорами с RISC-ядром.
Они непосредственно перед исполнением
преобразуют CISC-инструкции процессоров x86 в
более простой набор внутренних инструкций
RISC.В микропроцессор встраивается аппаратный
транслятор, превращающий команды x86 в
команды внутреннего RISC-процессора. При этом
одна команда x86 может порождать несколько
RISC-команд (в случае процессоров типа P6 — до
четырёх RISC-команд в большинстве случаев).
Исполнение команд происходит
на суперскалярном конвейере одновременно по
несколько штук.Это потребовалось для увеличения
скорости обработки CISC-команд, так как
известно, что любой CISC-процессор уступает
RISC-процессорам по количеству выполняемых
операций в секунду. В итоге, такой подход и
позволил поднять производительность CPU.
Недостатки CISC архитектуры


Автомат с мягкой(программируемой) логикой.
Идея построения автомата с микропрограммой:
высокая стоимость аппаратной части;
сложности с распараллеливанием
вычислений.
Методика построения системы команд CISC
противоположна другой методике - RISC.
Различие этих концепций состоит в методах
программирования, а не в реальной архитектуре
процессора. Практически все современные
процессоры эмулируют наборы команд как RISC
так и CISC типа.
6,7,8Микропрограммные автоматы с
принудительной адресацией: общая структура,
реализация механизма ветвлений.
Микрооперация – операция (действие) при
подаче 1 микроимпульса. Объект управления
может допускать одновременное выполнение
нескольких микроопераций. Набор
микроопераций, выполняемых параллельно
называется микрокомандой.
Автоматы с жесткой логикой, т.е. алгоритм
работы задается внутренними связями между
элементами, т.е. если мы хотим изменить
алгоритм, то нужно изменить внутренние связи.
(Положительные свойства: обладает наивысшей
скоростью).
Структура цифрового автомата.
(2+триггера - одиночная скорость для любого
автомата. 2 - так как имеется 2 ступени
(минимум) И или ИЛИ, и наоборот из ИЛИ в И).
Программа она в памяти. Как выбрать нужную
команду. Пришем в команде следующую и нет
безусловных переходов все хорошо. Тот кто пишет
программу знает какой должен быть следующий
адрес. Т.е где регистр там принудительная.
Проблемы возникают с ветвлением.
С точки зрения команд разные адреса Если адрес 1
и 2 ставим.
Ветвление по одной переменной
Если проверяемых значений много, то нужно
отвести поле, в котором будет номер проверяемого
условия (i). i - для номера проверяющего условия.
1-й недостаток – нерациональное использование
памяти. Так как используем дополнительное поле
которое ненужно
2-й недостаток – если результат зависит от
нескольких переменных, то для n переменных
нужно организовать (n-1) холостых циклов.
БФАМК – блок формирования адреса
микрокоманды.
РАМК – регистр адреса микрокоманды
Естественная адресация.
Считаем что идем подрят, то ставим щетчик. Т.е в
команде у нас нет явного указания следующей.
Загружаем в счетчик значение ветвления и
перебираем, хорошо когда 1, но когда много.
X1x2x3 это не есть хорошо. Хотим за раз. Введем
понятие по нескольким переменным.
i – выбирает какую переменную проверять
(x0,…,xn). После ее выбора выритается адрес
ветвления A1;A2.
Решение 2-го недостатка:
Организовать ветвление по нескольким
направлениям, этот способ намного
эффективнее, но возникает проблема с
реализацией. Обычно выбирают 4-5 разрядов
ветвления. x0,x1…x4(x3)
Ветвление по нескольким переменным.
Т.е используем базу. А Адреса А1!=А2!=А3!=А4
различны
А1!=А2!=А3!=А4
Аисп.=f(Aбаза Х1 Х2)
Х1 Х2
А
8 вопрос)Устройство управления – ЦА,
выполняющий посл-ность обрабатывающих кодов
в соотв-и с алгоритмом.
В старых ЦП около 250 разрядов.
Больше за 1 такт Цп может обрабатывать 5
опереций и это не эффективно. Решили записывать
не по месту операции а по номеру.
Идея собрать коды из памяти в соотвецтвии с
алгоритмом она универсальная. Но такой подход
делает УС практически невозможным т.к за ( 1
такт микрокоманды.) Вообщем сделали несколько
таких схем.
Подход хороший но избыточный т.к если 1
операция записанная в поле остальные свободны .
Т.е надо уменьшить. И в одно поле надо записать
кот будут выполнятся одновременно. Записываем
в поля но размер у них разный . При разделения на
группы используется этот подход.
Вместо всех разрядов будем хранить номера.
В каждом поле микрокоманды хранится отдельная
микрооперация. Получается, что могут храниться
одни и те же микрооперации.
В управляющем коде мы храним адреса команд.
Что-то около 200. Если у нас есть 200 команд, то
нам надо 8 разрядов для их однозначного
декодирования.
Для сокращения длины упр. слова надо все
микрооперации разбить на группы по принципу
несовместимости:
1) физически несовместимые, например, операции
над регистрами: нельзя сдвигать регистр
одновременно в две стороны, поэтому все 4
команды будут в одной группе – для однозначной
кодировки. На каждую группу ставим дешифратор,
который и выбирает из группы нужную
микрооперацию. Потребуется столько групп,
сколько получится совместимых операций, тогда в
полях будет разное кол-во операций, которое надо
выровнять.
2) логически несовместимые, т.е. эти команды не
должны выполняться вместе. Например, mov
a,mem и mov b,a несовместимы (нельзя их
выполнять одновременно).
Микрооперация – действие при подаче одного
управляющего сигнала.
В каждой микрокоманде надо писать адрес
следующей.
Микрокоманда - набор нескольких
микроопераций.
Ячейка – это группа несовместных операций.
При оптимизации длины управляющие слова
разделяются на подгруппы несовместных
микропрограмм по времени, затем реализуем эту
схему для каждой группы.
При разбиении микроопераций на группы, нужно,
чтобы они имели одинаковое число разрядов.
9Память ЭВМ: классификация и
основные типы ЗУ.
Основные сведения. Система
параметров. Классификация
Важнейшие параметры ЗУ находятся в
противоречии. Так, например, большая
информационная емкость не сочетается с высоким
быстродействием, а быстродействие в свою
очередь не сочетается с низкой стоимостью.
Поэтому системам памяти свойственна
многоступенчатая иерархическая структура, и в
зависимости от роли того или иного ЗУ его
реализация может быть существенно различной.
Запоминающие устройства (ЗУ) служат для
хранения информации и обмена ею с другими ЦУ.
Системам памяти свойственна многоступенчатая
иерархическая структура, и в зависимости от роли
того или иного ЗУ его реализация может быть
существенно различной.
В наиболее развитой иерархии памяти ЭВМ можно
выделить следующие уровни:
1. регистровые ЗУ, находящиеся в составе
процессора или других устройств (т. е.
внутренние для этих блоков), благодаря
которым уменьшается число обращений к
другим уровням памяти, реализованным вне
процессора и требующим большего времени
для операций обмена информацией;
2. кэш-память, служащая для хранения копий
информации, используемой в текущих
операциях обмена. Высокое быстродействие
кэш-памяти повышает производительность
ЭВМ;
3. основная память (оперативная, постоянная,
полупостоянная), работающая в режиме
непосредственного обмена с процессором и по
возможности согласованная с ним по
быстродействию. Исполняемый в текущий
момент фрагмент программы обязательно
находится в основной памяти;
4. специализированные виды памяти,
характерные для некоторых специфических
архитектур (многопортовые, ассоциативные,
видеопамять и др.);
5. внешняя память, хранящая большие объемы
информации. Эта память обычно реализуется
на основе устройств с подвижным носителем
информации (магнитные и оптические диски,
магнитные ленты и др.). В настоящем пособии
устройства внешней памяти не
рассматриваются.
Важнейшие параметры ЗУ
Информационная емкость — максимально
возможный объем хранимой информации.
Организация ЗУ— произведение числа хранимых
слов на их разрядность. Быстродействие
(производительность) ЗУ оценивают временами
считывания, записи и длительностями циклов
чтения/записи.



Рис. 4.1. Типичные
сигналы ЗУ (а) и их
временные диаграммы (б)

А — адрес,
разрядность которого n
определяется числом ячеек
ЗУ, т. е. максимально возможным числом
хранимых в ЗУ слов.
CS — (Chip Select) или СE (Chip Enable),
который разрешает или запрещает работу
данной микросхемы;
R/W — (Read/Write) задает выполняемую
операцию (при единичном значении —
чтение, при нулевом - запись);
DI и DO (Data Input) и (Data Output) -—
шины входных и выходных данных,
разрядность которых m определяется
организацией ЗУ (разрядностью его ячеек).
В некоторых ЗУ эти линии объединены.
Классификация ЗУ
Для классификации ЗУ важнейшим признаком
является способ доступа к данным.
При адресном доступе код на адресном входе
указывает ячейку, с которой ведется обмен. Все
ячейки адресной памяти в момент обращения
равнодоступны.
Адресные ЗУ делятся на RAM (Random Access
Memory) u ROM (Read-Only Memory).
RAM-ОЗУ. Оперативные ЗУ хранят данные, участвующие в обмене при исполнении текущей
программы, которые могут быть изменены в
произвольный момент времени. Запоминающие
элементы ОЗУ, как правило, не обладают
энергонезависимостью.
ROM-ПЗУ, содержимое либо вообще не
изменяется, либо изменяется, но редко и в
специальном режиме. Для рабочего режима это
"память только для чтения".
RAM делятся на статические и динамические. В
первом варианте запоминающими элементами
являются триггеры, сохраняющие свое состояние.
пока схема находится под питанием и нет новой
записи данных. Во втором варианте данные
хранятся в
виде зарядов
конденсаторов,
образуемых
элементами
МОП-структур.
Саморазряд конденсаторов ведет к разрушению
данных, поэтому они должны периодически
(каждые
несколько
миллисекунд)
регенерироваться. В то же время плотность
упаковки динамических элементов памяти в
несколько раз превышает плотность упаковки,
достижимую в статических RAM.
Регенерация данных в динамических ЗУ
осуществляется
с
помощью
специальных
контроллеров. Разработаны также динамические
ЗУ со встроенную систему регенерации. Такие ЗУ
называют квазистатическими.
Статические ЗУ называются SRAM (Static RAM),
а динамические — DRAM (Dynamic RAM).
Статические ОЗУ можно разделить на
асинхронные, тактируемые и синхронные
(конвейерные).
В
асинхронных
сигналы
управления могут задаваться как импульсами, так
и уровнями. В тактируемых ЗУ некоторые
сигналы обязательно должны быть импульсными.
В конвейерный тракт передачи данных, синхронизируемый от тактовой системы процессора,
что дает повышение темпа передач данных в
несколько
раз.
Динамические
ЗУ
характеризуются наибольшей информационной
емкостью и невысокой стоимостью, поэтому
именно они используются как основная память
ЭВМ.
Постоянная память типа ROM (М)
программируется при изготовлении методами
интегральной технологии с помощью одной из
используемых при этом масок. Присутствие Р(от
Programmable). Ее содержимое записывается либо
однократно (в PROM), либо может быть заменено
путем стирания старой информации и записи
новой (в EPROM и EEPROM). В EPROM стирание
выполняется с помощью облучения кристалла
ультрафиолетовыми лучами. В EEPROM стирание
производится электрическими сигналами.
Пам
ять типа
Flash по
запомина
ющему
элементу
подобна
памяти
типа
EEPROM,
но
схемотехн
ика
отличаетс
я, поэтому
ее
выделили
в
отдельну
ю группу.
В ЗУ
с
последова
тельным
доступом
некоторую
записываемые данные образуют
очередь.
Прямой порядок считывания имеет место в
буферах FIFO (First In — First Out), а также в
файловых и циклических ЗУ.
Разница между памятью FIFO и файловым
ЗУ состоит в том, что в FIFO запись в пустой
буфер сразу же становится доступной для чтения,
т. е. поступает в конец цепочки (модели ЗУ). В
файловых ЗУ данные поступают в начало цепочки
и появляются на выходе после некоторого числа
обращений, равного числу элементов в цепочке.
Записываемые данные объединяют в блоки,
обрамляемые специальными символами конца и,
начала (файлы). В циклических ЗУ слова доступны
одно за другим с постоянным периодом,
определяемым емкостью памяти. К такому типу
среди
полупроводниковых
ЗУ
относится
видеопамять (VRAM).
Считывание в обратном порядке свойственно
буферным стековым ЗУ, LIFO (Last In — First Out).
Ассоциативный доступ реализует поиск
информации по некоторому признаку, а не по ее
расположению в памяти (адресу или месту в
очереди).
На
выход
выдаются
слова,
удовлетворяющие признаку. Основная область
применения ассоциативной памяти в современных
ЭВМ — кэширование данных.
Основные типы ЗУ на интегральных
микросхемах.
Память в настоящее время делится выполняется на
интегральных микросхемах
Для классификации ЗУ важнейшим признаком
является способ доступа к данным.
При адресном доступе код на адресном входе
указывает ячейку, с которой ведется обмен. Все
ячейки адресной памяти в момент обращения
равнодоступны.
Адресные ЗУ делятся на RAM (Random Access
Memory) u ROM (Read-Only Memory).
RAM-ОЗУ. Оперативные ЗУ хранят данные, участвующие в обмене при исполнении текущей
программы, которые могут быть изменены в
произвольный момент времени. Запоминающие
элементы ОЗУ, как правило, не обладают
энергонезависимостью.
ROM-ПЗУ, содержимое либо вообще не
изменяется, либо изменяется, но редко и в
специальном режиме. Для рабочего режима это
"память только для чтения".
RAM делятся на статические и динамические. В
первом варианте запоминающими элементами
являются триггеры, сохраняющие свое состояние.
пока схема находится под питанием и нет новой
записи данных. Во втором варианте данные
хранятся в виде зарядов конденсаторов,
образуемых элементами МОП-структур.
Саморазряд конденсаторов ведет к разрушению
данных, поэтому они должны периодически
(каждые несколько миллисекунд)
регенерироваться. В то же время плотность
упаковки динамических элементов памяти в
несколько раз превышает плотность упаковки,
достижимую в статических RAM.
Регенерация данных в динамических ЗУ
осуществляется с помощью специальных
контроллеров. Разработаны также динамические
ЗУ со встроенную систему регенерации. Такие ЗУ
называют квазистатическими.
Статические ЗУ называются SRAM (Static RAM),
а динамические — DRAM (Dynamic RAM).
Статические ОЗУ можно разделить на
асинхронные, тактируемые и синхронные
(конвейерные). В асинхронных сигналы
управления могут задаваться как импульсами, так
и уровнями. В тактируемых ЗУ некоторые
сигналы обязательно должны быть импульсными.
В конвейерный тракт передачи данных, синхронизируемый от тактовой системы процессора,
что дает повышение темпа передач данных в
несколько раз. Динамические ЗУ
характеризуются наибольшей информационной
емкостью и невысокой стоимостью, поэтому
именно они используются как основная память
ЭВМ.
Постоянная память типа ROM (М)
программируется при изготовлении методами
интегральной технологии с помощью одной из
используемых при этом масок. Присутствие Р(от
Programmable). Ее содержимое записывается либо
однократно (в PROM), либо может быть заменено
путем стирания старой информации и записи
новой (в EPROM и EEPROM). В EPROM стирание
выполняется с помощью облучения кристалла
ультрафиолетовыми лучами. В EEPROM стирание
производится электрическими сигналами.
Интегральные ПЗУ выпускаются трех видов:
масочные ПЗУ (ROM), программируемые в
процессе изготовления с помощью
индивидуальных фотошаблонов (масок) по заказам
потребителя;
однократно программируемые ПЗУ (ППЗУ,
PROM), в которых запись информации
производится потребителем путем избирательного
нарушения однородности исходной матрицы ЭП
импульсами электрического тока;
препрограммируемые ПЗУ (^ РПЗУ, EPROM,
EEPROM), в которых запись информации может
изменяться неоднократно электрическим
способом.
Микросхемы ПЗУ построены также по принципу
матричной структуры накопителя. Функции ЭП в
микросхемах ПЗУ выполняют перемычки в виде
проводников, диодов или транзисторов межжу
шинами строк и столбцов в накопителе. В такой
матрице наличие перемычки соответствует,
например, 1, а ее отсутствие – 0. Микросхемы ПЗУ
имеют словарную организацию, и поэтому
информация считывается в форме
многоразрядного кода, т.е. словом. Совокупность
ЭП в матрице накопителя, в которой размещается
слово, называют ячейкой памяти (ЯП). Число ЭП в
ЯП определяет ее разрядность n. Каждая ЯП имеет
свой адрес, и для обращения к определенной ЯП
нужно подвести сигналы кода, соответствующего
данной ячейке адреса. Число ячеек памяти равно
2m, а информационная емкость микросхемы – 2m 
n бит.
Занесение информации в микросхемы ПЗУ, т.е. их
программирование, осуществляют, в основном,
двумя способами. Один способ заключается в
формировании в накопителе перемычек в местах
пересечения строк и столбцов матрицы через
маску на заключительной технологической стации
изготовления микросхемы ПЗУ. Такие
микросхемы ПЗУ называют масочными. Другой
способ программирования микросхемы ПЗУ
основан на пережигании легкоплавких перемычек
в тех пересечениях шин строк и столбцов, куда
должен быть записан 0 или 1, в зависимости от
принятого кодирования. В исходном состоянии
такая микросхема имеет в матрице перемычки во
всех пересечениях строк и столбцов.
Программирование осуществляет пользователь
электрическими импульсами с помощью
устройства для программирования, называемого
программатором.
Существует разновидность микросхем ПЗУ,
допускающая неоднократное
перепрограммирование (репрограммирование).
Элементом памяти в микросхемах
репрограммируемых ПЗУ (РПЗУ) является МДПтранзистор, обладающий свойством переходить в
состояние проводимости под воздействием
импульса программирующего напряжения и
сохранять это состояние длительное время (тысячи
часов). Данный эффект обусловлен накоплением
электрического заряда в подзатворном
диэлектрике. Если на транзистор не
воздействовать импульсом программирующего
напряжения, то он сохранит закрытое для
электрического тока состояние. Для стирания
информации перед новым циклом
программирования необходимо вытеснить
накопленный под затвором заряд. В зависимости
от способа выполнения этой операции микросхемы
РПЗУ разделяют на два вида: со стиранием
электрическим сигналом (РПЗУ-ЭС) и
ультрафиолетовым светом (РПЗУ-УФ), которым
полупроводниковый кристалл облучают через
специальное окно в крышке корпуса. Микросхемы
РПЗУ сохраняют информацию длительное время
без питания, т.е. являются энергонезависимыми.
ПЗУ делится на: масочные, программируемые
(ППЗУ, PROM), перепрограммируемые
(EFROM) – могут быть с ультрафиолетовым и
электрическим стиранием (перезаписью), ПЛМ
– программируемые логические матрицы.
Флэш-память
Флэш-память (Flash-Memory) по типу
запоминающих элементов и основным принципам
работы подобна памяти типа E2PROM, однако ряд
архитектурных и структурных особенностей
позволяют выделить ее в отдельный класс.
В схемах Флэш-памяти не предусмотрено
стирание отдельных слов, стирание информации
осуществляется либо для всей памяти
одновременно, либо для достаточно больших
блоков. Понятно, что это позволяет упростить
схемы ЗУ
Термин Flash по одной из версий связан с
характерной особенностью этого вида памяти —
возможностью одновременного стирания всего ее
объема. Одновременное стирание всей
информации ЗУ реализуется наиболее просто, но
имеет тот недостаток, что даже замена одного
слова в ЗУ требует стирания и новой записи для
всего ЗУ в целом. Для многих применений это
неудобно. Поэтому наряду со схемами с
одновременным стиранием всего содержимого
имеются схемы с блочной структурой, в которых
весь массив памяти делится на блоки, стираемые
независимо друг от друга. Объем таких блоков
сильно разнится: от 256 байт до 128 Кбайт.
Число циклов репрограммирования для Флэшпамяти хотя и велико, но ограничено, т. е. ячейки
при перезаписи "изнашиваются". Чтобы увеличить
долговечность памяти, в ее работе используются
специальные алгоритмы, способствующие
"разравниванию" числа перезаписей по всем
блокам микросхемы.
11 Особенности построения и работы
микросхем ОЗУ динамического типа.
Внутренняя структура в динамических элементах
памяти выполнена в виде матрицы.
Одна половина – адрес строки, другая столбцов.
Адрес идущий на дешифратор обеспечивает
выборку, прием и передачу данных. При
выполнении любой операции обращения к такой
памяти будет происходить регенерация строки.
Для экономии числа внешних выводов в
динамической памяти используется раздельная
адресация столбцов и строк. Для выполнения
операций регенерации адрес столбца подавать не
обязательно.
Обязательным
условием
эксплуатации является перебор всех строк за
допустимое время регенерации.
Регенерация может быть : открытого и скрытого
типа.
Открытая: за время обязательно все ячейки
должны быть перебраны.
Трег - цепи регенерации
Трег – в течение этого времени надо
регенерировать Регенерация работа все ячейки
памяти.
В системе реального времени мы будем терять
какую-то информацию в течение времени
регенерации. Эта система недоступна. Для того,
чтобы этого не было используют механизмы
скрытой регенерации.
Скрытая регенерация.
1. Процессорно-зависимые методы (системно
ориентированные) – во временном расписании
работы процессора можно найти цикл, когда
происходит обращение к системной шине, а
память уже не используется. Такой подход уже не
используется.
2.
Процессорно-независимые
методы
(независимая) – незаметна для простых запросов
из вне.
Ставим аппарат, который непрерывно перебирает
адреса строк со скоростью предельно допустимой
и так идет регенерации. Далее приходит запрос из
вне, перебор адресов заканчивает внешний цикл,
по окончании происходит перебор адресов, с того
адреса, на котором он остановился.
Первые используют особенности организации
циклов процессора. (ША никто не использует).
Преимущество: нет промежутков времени, когда
система не реагирует с внешним миром.
Недостаток: только под определенный процессор.
Вторые. Сделать так, чтоб никто не знал, что идет
регенерация. Постоянная регенерация при запросе
извне останавливается и обращение из внешнего
адреса после окончания внешнего запроса
продолжается регенерация.
Адрес стоки и Адрес столбца передаются
поочередно, поэтому адрес подается в два приема.
Схема сопряжения при такой организации
матрицы памяти должна содержать дешифратор
адреса строк и обеспечивать выборку сигналов
управления таким образом, чтобы происходило
обращение только к одной строке при чтении или
записи информации. Модуль сопряжения должен
обеспечивать сопряжение системных интерфейсов
и вырабатывать сигналы (адрес, DI, управляющие
сигналы). Если микросхемы ЗУ динамического
типа, то имеет смысл предусмотреть обращение ко
всем микросхемам матрицы одновременно в
циклах регенерации. Это значительно сократит
время на регенерацию памяти. Если нужно
построить память 1М*16, а микросхемы 1М*8, то
Память работает в режиме запроса, т.к. внешний
запрос имеет внешний приоритет, то как только он
приходит, то выполняется регенерация. Этот
аппарат может находиться снаружи,
И тогда схема регенерации будет внешней или
может находиться на кристалле памяти.
При обращении с микросхеме, т.е. для
чтения/записи необходимо подать код адреса
строки или сигнал RAS (строб адреса строки),
затем с нормированными задержками должен быть
код адреса столбца и сигнал стробирования
столбца CAS. К моменту подачи кода адреса
столбца на вход данных должен быть подан
записываемый код, который сигналом CAS
фиксируется в микросхеме. Причем время
удержания данных относительно сигнала CAS
нормируется. Для увеличения скорости работы в
микросхемах
используются
приемы
для
уменьшения времени передачи данных.
12Построение модулей памяти ЭВМ на
интегральных микросхемах.
Память вычислительной системы обычно состоит
из одного или нескольких модулей. Каждому
модулю в адресном пространстве отводится
некоторое место. Конструктивно модуль памяти
может представлять отдельное устройство, плату
или находиться на той же плате что и ЦП. Со
структурной точки зрения можно указать
достаточно общую структурную схему модуля
памяти – состоит из 2-ч частей: системная шина
(или контроллер памяти), устройство сопряжения
и массив микросхем ЗУ.
Набор микросхем ЗУ
Обычно массив микросхем ЗУ организуетсяв виде
матрицы, размер которой определяется емкостью
модуля памяти и микросхемами, из которых этот
модуль строится. Будем считать, что емкость
микросхем ЗУ записывается выражением:M=N*n ,
где N - число адресных элементов n - число
разрядов (бит) в адресе элемента
Емкость модуля ЗУ: Mзу=Nзу*nзу
Число микросхем в строке и столбце матрицы
определяется из выражений:
число микросхем в строке матрицы: m=nзу/n
число микросхем в столбце матрицы: k=Nзу/N
Логика соединения и управления микросхем в
такой
матрице
соответствует
следующим
правилам:
1) адресные цепи всех микросхем соединяются
параллельно
2) входы и выходы данных микросхем
соединяются параллельно в рамках одного столбца
матрицы, образуя некоторую разрядную группу
3) линии управления микросхемами соединяются
параллельно в рамках строки матрицы, с целью
обеспечения независимого обращения к строке в
режимах чтения и записи.
Структура:ША
Структура устройства сопряжения зависит от
большого числа факторов, представить ее для всех
ситуаций сложно. Основные факторы, которые
придется учитывать при разработке устройства
сопряжения, следующие:
1.Число
магистралей,
к
которым
будет
подключаться модуль памяти одновременно
(много портовая память).
2.Тип магистралей, к которым будет подключаться
модуль памяти.
3.Тип памяти (ее адресация)
4.Емкость и организация
отдельных
микросхем
памяти.
5.Использование
или
наличие схем контроля и
помехозащищенного
кодирования.
6.Наличие
средств
реконфигурации
7.Наличие
средств
повышения
производительности
Обобщенная структура устройства сопряжения
Всегда возникает проблема, сколько ставить
памяти.
Наращиваемая (масштабируемая) память – чтобы
память была дешевле.
Наращиваемая память реализуется двумя путями:
1)
Увеличение емкости памяти установкой
нескольких независимых модулей памяти
Достоинства – независимая подсистема, работают
параллельно=>преимущества по
структурной
организации системы и надежности (при выходе
из строя одного модуля, его заменит другой и т.д.)
и производительности.
Недостатки – большая стоимость.
Модуль ЗУ имеет выход для подсоединения точно
такого же модуля для увеличения памяти.
2) Дублирование матриц памяти. Устройство
сопряжения одно, а к нему можно подключать
несколько модулей. Устройство сопряжения
делается с запасом для большого размера памяти.
Хуже структурная организация, надежность, но
дешевле. В дешевых системах и в персональных
компьютерах.
В промышленности модули памяти выпускались
отдельно, применяется 1-ый подход, я для
персональных – 2-ой подход.
13Структурные методы повышения
производительности ЗУ.
99,9% систем соответствуют Фон-неймановской
модели (процессор и память задают скоростные
характеристики системы)
Способы повышения производительности
отдельно взятой памяти.
Уменьшать временные издержки не подходит, т.к.
мы не делаем микросхему.
Структурное решение:
1.
Вводить параллельность (в пространстве и
времени). В пространстве - ставится несколько
работников, делающих одно и тоже. Во времени –
строим конвейер, т.е. параллелим действия на
разных этапах.
Память делается из нескольких модулей
способных работать независимо и самостоятельно.
При организации доступа используется механизм
чередования, который осуществляет передачу
подряд идущих запросов к разным модулям.
1.Расслоение памяти.
Допустим, имеем модуль памяти, который состоит
из нескольких модулей.
М1, М2, М3 – три модуля памяти, которые могут
работать параллельно и независимо. Каждый
модуль обладает конечным быстродействием.
τ – время обращения цикла к памяти.
Нужна наибольшая вероятность попадания
адресов. Предложем механизм обработки по
разделу адреса т.к ЦП идет по подряд идущим
адресам. Т.е используем механизм чередования по
кратному числу модулей. При этом эффективность
КЭШа возрастает т.к вероятность выбора по
каждоидущим адресам увеличивается.
Реализация 2 подхода к реализации метода
расслоения:
построение памяти с буферизацией
адресов.
построение памяти с буферизацией
данных.
Буферизация адресов.
Перед модулями памяти ставится буфер адресов
(БА). В простейшем случае это регистр в сложном
очередь адресов (несколько регистров).
Как сделать так, чтобы обращение было к разным
модулей? Это делается за счет разделения
адресного пространства: адреса модуля делятся
поочередно, (если два модуля, то чередование
через 1, 4 модуля – 0,4, - в первом модуле, 1,5 – во
втором и т.д.)
УУ анализирует занятость буфера. Если он
пустой, то цикл обр-я фиксируется в нем, если
нет, т.е. туда приходит адрес и выдается сигнал
на выполнение. Адреса ячеек нумеруют так,
чтобы модули памяти были как единое целое, т.е.
подряд идущие адреса разным модулям.ШФ шинный формировательТакая организация требует
усложнения устройств управления.
Буферизация данных.
Модули памяти
включены
параллельно по
ША, и работают
параллельно
(обращение ко
всем модулям
происходит
одновременно).
Если число
модулей =2n, то часть разрядов общая, а часть
разрядов задают номер модуля, т.е. память с
широким выборным УУ анализирует адрес,
который поступил.
На входе буферный регистр памяти (только за
одно обращение из памяти забирается не одно
(допустим слово), а два и затем нам не надо лезть в
память за вторым словом, а берем его и буфера
данных).
Модули памяти работают синхронно. Считывается
длинное машинное слово, следующее можно
извлекать из буфера, а не из памяти.
Такая память будет давать выигрыш, если
обращение будет по подряд идущим адресам, но
зато дёшево.
Такая схема будет работать если считывание
ведется по подряд идущим адресам
2.Для повышения производительности часто
используют особенности построения микросхем
ОЗУ. Наращивание числа накопителей (для
дешевых машин или для машин реализованных на
одной плате). При таком подходе устройство
управления изначально делается с запаслм по упрю блоками накопителя. Исп-ся в промышленных
сферах.
А далее существуют проблемы синхронизации.
Число изменения синхросигнала в 2 раза быстрее,
чем данных. Высокочастотные гармоники
формируют фронты т.е если ширина пропускания
меньше ширины импульса
14.КЭШ память: общие идеи и проблемы.
1)Конвейерный прием
2)Принцип локальности
Принцип
локальности
и
иерархическая
организация памяти как компромисс между
скоростью и производительностью.
Идея: В данный момент времени нам вся
информация не нужна. Разные блоки информации
используются с разной частотой (какая-то чаще,
какая-то реже).
Создается иллюзия, что количество памяти как у
нижнего, а скоростькак у верхнего.
Эта штуковина двигается в информационном
пространстве. Память надо делать в соответствии с
этой идеологией.
1-й уровень – ОЗУ, 2-й уровень – магнитная лента.
Идеология подключения:
Такая система работает эффективнее чем чаще
будет обращаться к СОЗУ. Необходимо, чтобы в
СОЗУ была та информация, которая нам нужна в
данный момент.
Управление СОЗУ:
Буферная
память
делается
программно видимая, т.е. адресуема
и тогда все лежит на совести
программиста. Управляет человек –
программист.
Программно невидимая память, т.е.
содержимое
формируется
автоматически и характеристики
будут зависеть от алгоритмов.
Автоматическое управление.
1.Один из механизмов – регистр общего
назначения (РОН) доступен программисту.
2. Один из механизмов – КЭШ.При заполнении
буферной памяти автоматически, надо решить ряд
проблем. Наиболее приемлемый путь к решению
проблем это построение КЭШ памяти.
Организация КЭШ памяти.
Проблемы:
1.
Что писать в КЭШ и когда.
2.
Как узнать есть ли в КЭШ то, что
нам необходимо.
3.
Когда производить запись в КЭШ?
4.
Как сделать, чтоб объем КЭШ и ОЗУ
были
бы
равны.
(Проблема
когерентности (согласования) КЭШ
и ОЗУ).
5.
Задача удаление из КЭШа.
Организация КЭШ памяти
Структура:
ЦП и ОЗУ не знают о существовании КЭШ.Только
сама КЭШ знает, есть она или нет.
1.) В КЭШ надо писать до того когда нам данные
понадобятся и, и что понадобится. В КЭШ в
основном используется механизм записи по
запросу, если со стороны запросов есть, то в КЭШ
переводится.
Что писать: используется принцип локальности
Принцип
временной
локальности.
Принцип
пространственной
локальности.
Временная локальность – наиболее вероятными
данными к использованию являются те, которые
использовались в данный момент.
Пространственная локальность – в следующий
момент времени будут обрабатываться те данные,
которые лежат рядом в памяти.
Побочные проблемы:
- как выбирать эту окрестность если пишем
пошаговую программу, то лучше выбирать эту
окрестность в сторону увеличения адресов.
Критерий выбора: простота построения системы –
проще, чтобы эта окрестность была равна 2n.
Можно расположить в любом месте адресного
пространства, но если начальный адрес этой
области сделаем кратным 2n, то адрес памяти будет
состоять из двух частей:
2.) Как определить наличие в КЭШ необходимой
информации?
Можно сделать КЭШ память ассоциативной.
Кроме адресной возможно построение безадресной
памяти, т.е. памяти при обращении к которой
адрес не нужен.
Безадресная память бывает двух типов:

Магазинного типа.
Делится в свою очередь также на 2 типа: магазин
1-го типа и магазин 2-го типа, т.е. формируется
принцип очередности: 1) FIFO, 2)LIFO

Ассоциативного типа.
Имеется 2 блока памяти, которые взаимосвязаны.
Запись данных берется на любое свободное место:
и записываются признаки и данные. Чтение
информации: извне подается признак, который
сравнивается со всеми записями признаков и там
где есть совпадение, производится выборка
данных.В адресной памяти при обращении идет
привязка к месту, а в ассоциативной – привязка к
признаку.
Ассоциативная память более дорогая.
В признаке записывается № области (адрес).
Возможны два способа записи в КЭШ память:
1)метод сквозной записи;
2)метод обратной записи.
Первый метод предполагает наличие двух копий
данных: одной в КЭШ памяти, а другой в ОЗУ.
Запись выполняется одновременно и в КЭШ и в
ОЗУ. В результате системная шина и процессор
работают с большой нагрузкой, поскольку на
каждую операцию изменения данных приходится
две операции записи. Метод сквозной записи
имеет преимущество в том, что ОЗУ всегда имеет
свежую копию данных, что важно в
мультипроцессорных системах и при организации
ввода-вывода данных. Кроме того сквозная запись
имеет простую схемную реализацию.
При использовании метода обратной записи цикл
записи происходит только в КЭШ памяти, если в
КЭШе находится строка, к которой идет
обращение (КЭШ попадание). Если адресуемой
строки в КЭШ нет, то информация записывается
сразу в ОЗУ. При КЭШ попадании запись в ОЗУ
происходит только при замещении строки КЭШа.
Для сокращения частоты копирования строк
запись в ОЗУ происходит только в том случае,
если замещаемая строка КЭШа была
модифицирована, то есть изменена. Для
определения факта изменения строки с каждой
строкой КЭШа связывают так называемый «бит
модификации». Если строка в КЭШ не
модифицирована, то обратное копирование
отменяется, поскольку ОЗУ содержит туже самую
информацию, что и КЭШ память.
Преимущество данного метода заключается в том,
что запись выполняется со скоростью КЭШ
памяти. А несколько записей на одну и туже
строку КЭШа требует только одной записи – в
ОЗУ, что снижает загрузку системной шины.
15.КЭШ память прямого отображения:
алгоритм работы и структурная схема.
Адресное пространство памяти разбивается на
модули одинакового размера, равного объему
КЭШ. При такой организации адрес ячейки памяти
внутри ОЗУ может быть представлен следующим
образом.
Адрес распадается на 3 части:
СС – степень сравнения.
Строка переписывается в тот же адрес в КЭШ, где
она была в ЗУ.
Данные – обычная однородная память.
Тэги – обычная адресная память.При записи в одни
адреса, старое содержимое стирается. В тэгах
хранятся
номера
блоков.Используют
многоуровневые
КЭШ
и
естественно
многоассоциативные КЭШ (для того чтобы не
затирать
предыдущую
информацию
по
одинаковым адресам)
Структурная схема
3.) Обеспечение связанности данных КЭШ и ОЗУ.
Наличие КЭШ приводит к тому, что в КЭШ и в
ОЗУ имеются одинаковые данные под одним
идентификатором, но если производятся какие-то
вычисления, то результат записывается не в ОЗУ, а
в
КЭШ.
Таким
образом,
под
одним
идентификатором в КЭШ и в ОЗУ разные данные
(в ОЗУ нет результатов вычисления).
Обеспечение когерентности работы с данными в
случае записи со стороны второго активного.
Приемы:
#Запрет работы второго активного с Кэшируемой
областью памяти.
#При каждой операции внешней записи в память
производится очистка КЭШ.
#Прозрачность аппаратуры – группа методов.
Делается попытка анализировать запросы к
памяти.
1)Слежение за адресами записи в память и
спулирование соответствующих записей в КЭШ.(в
486 и выше). Это самый простой вариант.
2)Аппаратура не только сбрасывает строки в КЭШ,
но и изменяет его содержимое при записи в ОЗУ
Кэш прямого отображения
Кэш прямого отображения представляет собой
наиболее простой с точки зрения аппаратных
затрат вариант решения задачи быстрого
определения того, имеется ли в данный момент в
кэш-памяти
информация,
затребованная
очередным обращением к оперативной памяти.
При
такой
организации
кэш-памяти
вся
кэшируемая
оперативная
память
(условно
разбивается на равные страницы, размер которых
равен емкости кэш-памяти, что показано на рис.
40. Кэш, в свою очередь, разбивается на строки по
32 байта, соответствующие одному стандартному
пакетному циклу обращения к динамической
памяти (4 передачи по 8 байт). На такие же строки
условно разделяются и страницы оперативной
памяти.
Именно
такими
строками
и
осуществляется обмен информацией между кэшпамятью и ОП.
При таком разбиении адрес кэшируемой памяти
можно рассматривать как состоящий из трех
частей, показанных в нижней части рисунка:
- номера страницы оперативной памяти,
называемого иначе тэгом и расположенного в
старших разрядах адреса);
- номера строки в странице, называемого индексом
и занимающего средние разряды адреса
- номера байта в строке, занимающего младшие
пять разрядов адреса.
Привязка адресов кэшируемой памяти к адресам
кэш-памяти, о которой сказано выше, состоит в
том, что в каждую строку кэш-памяти можно
занести строку из любой страницы кэшируемой
памяти, но только ту, которая имеет в странице
такое же расположение относительно начала
страницы, как и строка кэш-памяти, относительно
ее начала. Иначе говоря, номер строки в странице
оперативной памяти должен соответствовать
индексу строки кэш-памяти, чтобы ее можно было
туда занести.
При этом, когда кэшируемая строка заносится в
кэш-память, в память тэгов, каждая ячейка которой
соответствует одной строке кэш-памяти,
записывается номер страницы оперативной
памяти, к которой относится занесенная в кэш
строка.
Такая организация и позволяет предельно быстро,
не используя никаких поисковых схем,
определить, находится ли в кэш-памяти строка,
содержащая адрес оперативной памяти, по
которому должно быть выполнено обращение. Для
этого требуется только сравнить старшие разряды
адреса, по которому выполняется обращение, т.е.
его страницу или тэг, с тэгом строки кэш-памяти.
Поэтому в начале каждого обращения контроллер
памяти считывает соответствующий тэг из памяти
тэгов по данному адресу. Если номер страницы и
тэг совпадут, то искомая информация находится в
кэш-памяти (это называют попаданием – hit – в
кэш), в противном случае – в оперативной памяти
(тогда говорят о кэш-промахе – miss).
Однако оперативная память используется не
только процессором, имеются механизмы доступа
к ней, минуя процессор.
Для обработки таких ситуаций предусмотрен флаг
V (validity – действительность), устанавливаемый в
единичное значение при загрузке строки в кэшпамять и сбрасываемый в нулевое значение, если
информация в оперативной памяти, копия которой
имеется в кэш-памяти, была обновлена. Поэтому
при определении того, находится ли запрошенная
информация в кэш-памяти, производится не только
сравнение тэга строки с номером страницы ОП, но
и проверка действительности строки по значению
флага V.
Достоинствами кэш-памяти прямого отображения
является высокая скорость определения того,
имеется ли в ней запрашиваемая информация и
простота его организации. В ней также не
приходится решать вторую из названных выше
задач управления кэш-памятью: определение
строки – кандидата на удаление при
необходимости ввода новой строки из ОП,
поскольку место строк в кэше жестко привязано к
их адресам в ОП.
Недостатки. Основной из них – это невысокая
эффективность использования кэш-памяти, так как
в ней нельзя разместить одноименные строки
(группы строк) различных страниц. Поэтому, если
приложение работает с несколькими сегментами,
одинаково расположенными в различных
страницах памяти, кэш может оказаться даже
своего рода “тормозом”, вызывающим
интенсивный дополнительный обмен между
оперативной памятью и кэшем.
Если искомая информация находится в кэшпамяти, то процессор получает эту информацию
непосредственно из кэша при чтении или
записывает ее в кэш при записи.
При обращении по записи тоже возможны два
варианта (две политики записи): запись
производится только в кэш или сразу и в кэш и в
оперативную память по месту расположения в ней
этой информации. Эти два варианта получили
название алгоритмов обратной записи WB (Write
Back) и сквозной записи WT (Write Through)
соответственно. Второй из них более простой, но и
более медленный, хотя и гарантирует, что копии
одной и той же информации в кэш-памяти и в
оперативной памяти всегда совпадают.
Большинство ранних
процессоров Intel использовали именно этот
алгоритм.
Алгоритм обратной записи WB более
быстродействующий, так как не требует при
каждой записи обращаться к оперативной памяти.
Запись информации в оперативную память
производится только тогда, когда на место данной
строки кэша вводится строка из другой страницы
ОП или при выполнении команды обновления
содержимого кэша. Следовательно, этот алгоритм
более “тонкий” и требует более аккуратного
управления, поскольку существуют моменты,
когда копии одной и той же информации различны
в кэше и ОП.
Сквозная запись с буферированием
Буфер – самостоятельно поддерживает циклы
памяти. Запись в КЭШ идет по диаграмме записи в
КЭШ, а запись в ОЗУ – по диаграмме ОЗУ. В КЭШ
записывается быстрее и шина освобождается.
Часто буфер делают с памятью, или с
запоминанием запросов шины, т.е. в буфере
сделана очередь запросов к памяти.
Кроме того, для реализации обратной записи
желательно наличие некоторых дополнительных
средств: ведь не каждая строка изменялась за
время своего пребывания в кэше, куда она
изначально была загружена из оперативной
памяти. Если изменений строки не было, то нет и
необходимости записывать ее обратно в
оперативную память. Для экономии времени на
таких записях необходимо уметь определять,
производились ли модификации строки за то
время, пока она находилась в кэш-памяти. Для
этой цели используют флаг M (modified –
изменена) в памяти тэгов, который сбрасывается в
“0” при первоначальной загрузке строки в кэш и
взводится в “1” при записи в нее информации.
Тогда при выгрузке строки из кэша запись в ОП
выполняется только при единичном значении
флага M.
16.Пути обеспечения когерентности КЭШ и ОЗУ
в однопроцессорных системах.
Причины разбега данных
1)ЦП записывает в КЭШ, а в ОП нет
2)Кто-то со стороны записывает в ОП
Работая с кэш-памятью, необходимо помнить, что
одновременно могут существовать две копии одних
и тех же данных: одна в кэш-памяти, а другая в
основной памяти. Кэш-память должна содержать
систему обновления для предотвращения
использования устаревших данных в качестве
достоверных. Для согласования содержимого кэшпамяти с основной памятью используются три
общих метода: сквозная запись, буферизованная
сквозная запись и обратная запись.
Сквозная запись. При обновлении кэш-памяти
методом сквозной записи кэш-контроллер
одновременно обновляет содержимое основной
памяти.Быстрое обновление позволяет
перезаписывать любой блок в кэш-памяти в любое
время без потери данных. Система со сквозной
записью проста, но время, требуемое для записи в
основную память, снижает производительность и
увеличивает количество обращений по магистрали
(что особенно заметно в мультипроцессорной
системе).
Буферизованная сквозная запись. В схеме
обновления в буферизованной сквозной записью
любая запись в основную память буферизуется, т.е.
информация задерживается в кэш-памяти перед
записью в основную память (схемы кэш-памяти
управляют доступом к основной памяти асинхронно
по отношению к работе процессора). Затем
процессор начинает новый цикл до завершения
цикла записи в основную память. Если за записью
следует чтение, то это кэш-попадание, так как
чтение может быть выполнено в то время, когда
кэш-контроллер занят обновлением основной
памяти. Эта буферизация позволяет избежать
снижения производительности, характерного для
системы со сквозной записью.
Недостаток. Так как буферизируется 1 запись, то
две последовательные- требует циклы ожидания
ЦП.Кроме этого, запись с пропущенным
последующим чтением также требует ожидания
процессора.
Обратная запись. В схеме обновления с обратной
записью используется бит «изменения» в поле тега.
Этот бит устанавливается, если блок был обновлен
новыми данными и является более поздним, чем его
оригинальная копия в основной памяти. Перед тем
как перезаписать блок в кэш-памяти, контроллер
проверяет состояние этого бита. Если он
установлен, то контроллер переписывает данный
блок в основную память перед загрузкой новых
данных в кэш-память.
Обратная запись быстрее сквозной, так как обычно
число случаев, когда блок изменяется и должен
быть переписан основную память, меньше числа
случаев, когда эти блоки считываются и
перезаписываются.
Недостатки. Все измененные блоки должны быть
переписаны в основную память перед тем, как
другое устройство сможет получить к ним доступ.
Во-вторых, в случае катастрофического отказа,
например отключения питания, когда содержимое
кэш-памяти теряется, но содержимое основной
памяти сохраняется, нельзя определить, какие места
в основной памяти содержат устаревшие данные.
Наконец, кэш-контроллер для обратной записи
содержит больше (и более сложных) логических
микросхем, чем контроллер для сквозной записи.
Обеспечение когерентности работы с данными в
случае записи со стороны второго
активного(ПДП):
()Запрет работы второго активного с кэшируемой
областью памяти.
()При каждой операции внешней записи в память
производится очистка КЭШ.(Поставить кнтроллер
и если запись в память есть, то контроллер делает
недействительным весь КЭШ)
()Просматривать теги и смотеть куда пошла
запись (определить строку) и запретить и в
КЭШ объявить строку недействительной и
заменить (скорректировать)
Прозрачность аппаратуры – группа методов.
Делается попытка анализировать запросы к
памяти:
а)Слежение за адресами записи в память и
спулирование соответствующих записей в КЭШ.(в
486 и выше). Это самый простой вариант.
б)Аппаратура не только сбрасывает строки в КЭШ,
но и изменяет его содержимое при записи в ОЗУ.
Согласованность кэш-памяти. Устаревшие данные в
основной памяти, вызванные операциями записи,
виртуально уничтожаются сквозной и обратной
записью. Существует категория устаревших
данных, появляющаяся когда кэш-память
используется в системе с доступом к памяти более
чем из одного устройства. Например, пусть два
устройства копируют раздел памяти и устройство 1
обновляет его первым. Когда устройство 2
производит запись в память, оно разрушит любые
изменения, сделанные устройством 1. При этом
говорят, что нарушается согласованность кэшпамяти. В общем случае существуют три подхода к
обеспечению согласованности кэш-памяти.
Очистка кэш-памяти. При этой операции
измененные данные записываются в основную
память, а кэш-память очищается. Если все кэшпамяти в системе очищаются перед операцией
записи устройствами в память совместного
пользования, то возможность появления
устаревших данных в любой кэш-памяти
исключается. Преимуществом этого метода
является простая аппаратная реализация. Главный
недостаток в том, что следующий за очисткой
доступ в память должен по определению быть кэшпромахом до тех пор, пока кэш-память не
заполнится новыми данными.
Аппаратная прозрачность. Аппаратное решение
проблемы устаревших данных дает уверенность,
что все обращения к основной памяти (т.е. к той ее
части, что отображается в кэш-память) проводятся
через кэш-память. Это может быть сделано либо (1)
путем копирования всех кэш-записей, как в
основную память, так и во все другие кэш-памяти,
либо (2) пересылкой всех кэш-записей через
единственную кэш-память. На рис. 4.10 показаны
различные аппаратные подходы.
Некэшируемая память. Другой метод решения
проблемы согласованности кэш-памяти - это
использование общей памяти как некэшируемой. В
системе, основанной на этом методе, все обращения
к общей памяти являются кэш-промахами,
поскольку эта память никогда не копируется в кэш.
Некэшируемая память может быть
идентифицирована путем использования старших
битов адреса или с помощью логики выбора
микросхем памяти.
Конструкторы систем имеют тенденцию
применять некоторую комбинацию этих трех
методов для уверенности в достоверности данных.
Например, одна система может использовать
некэшируемую память для медленных задач вводавывода, таких как вывод на печать, и аппаратную
прозрачность для критичных по времени операций
ввода-вывода, подобных разбиению на страницы.
17.Общие вопросы управления памятью
(распределение ресурсов).
1.Разделение
свободной
памяти
между
процессами.
2.Защита памяти.
Рассмотрим эти проблемы:(1).Этапы
распределения:а)Одна программа, вся память
принадлежит ейб)Статическое(простота, но
неэффективное использование памяти) и
динамическое распределение памяти.
(2). Для защиты памяти нужно при загрузке
программ нужно следить, чтобы они не грузились
в одну и ту же область памяти.
1.Статическое и динамическое распределение
памяти (МА – математический адрес).При работе
в многопрограммном режиме и статическом
распределении оперативной памяти выделяется
определенная область фиксированной памяти
независимо от требований задачи.
При статическом распределении памяти
используется статическая адресация, т.е.
используется базовый адрес и смещение. При
каждой загрузке программы ей назначается
базовый адрес в области оперативной памят.
Динамическая переадресация (механизм
подмены адресов).Создается два адресных
пространства: в одном работает приложение,
другое является реальным физическим
пространством, а реально при обращении к памяти
происходит подмена адреса, по которому работает
программа, на адрес где находится необходимая
информация.
Объем таблицы соответствия
должен совпадать с объемом ЛА.Каким образом
можно уменьшить размер таблицы соответствия?
Надо описывать в странице не отдельный элемент,
а целый блок – это в Логической памяти.
Адресация внутри ЛП и ФП должна быть
одинакова.Варианты: 1) Все блоки одинаковы. ЛП
условно разбивается на одинаковые блоки
размеров кратных целой степени двойки. В этом
случае адрес как бы состоит из двух частей.Чтобы
совершить подмену, нужно изменять внешний
адрес ВАП кажд. процесса делится на страницы
фиксированного размера, к-рые наз. Вирт-ми
страницами. ОП т.ж. делится на блоки такого же
размера, называемыми физическими страницами,
Причем это деление не зависит от
программ.Страницы (физич.) располаг-ся
последовательно и имеют свой номер. Вирт-ый
адрес становится двумерным: р-номер страницы в
ВАП, d-смещение в странице.(p,d).
Это страничная организация
памяти.
2) Блоки разной длины. Причем лучше, если
размер блока 2n. В таблице кроме адреса блока
нужно будет хранить еще и дополнительную
информацию, которая задает размер
блока.Сегменты тоже имеют свои уникальные
номера (иден-ры), причем их упорядочивание
необязательно. Схема странично-сегментного
преобр-ния адреса.Виртуальное пр-во процессора
делится на вирт. сегменты, на которые
отображаются программные сегменты процесса.
Сегменты состоят из целого числа страниц.Это
сегментная организация памяти.Сегментностраничная организация памяти (делим на
сегменты, а сегменты на
страницы).Количественное отличие в понятиях
вирт сегм и вирт стр.СТРАНИЦА – физическ.
единица памяти, кот предназначена для
эффективного использования ОП. СЕГМЕНТ –
логическ. единица, связанная со структурой пр-мы
и данных.
Возникает вопрос: где хранить таблицу
соответствия?Каждой программе дается свое
адресное пространство. Нужно описать страницы и
описать сегменты.Дескриптор – описатель
сегмента, т.е. создается таблица дескрипторов. И
таким образом каждой программе дается своя
дескрипторная таблица. При переключении задач
(программ), активна таблица для данной
программы.Для защиты памяти нужно при
загрузке программ нужно следить, чтобы они не
грузились в одну и ту же область памяти.1.Защита
локального адресного пространства.Для обр к
памяти процесс использует дескр лок дискр
таблицы.У каждого процесса свой указатель на
дескр таблицу.Активная задача м. обращаться к
общему адресному простр-ву через глобальную
таблицу и к своему локальному адресному пр-ву
через LDT.Определяются правильные базовые
адреса сегментов, контролируется значение
смещения. На локальном уровне контролируется
размер сегмента – генерируется прерыв-е по
защите памяти.2. Защита по уровню привелегий.
Вап разделяется на сегменты, у каждого
дескриптора имеется 2 бит поле – привилегия
сегмента.0 – ядро ОС – самый привелигиров3 –
прикл.Для проверки доступа по ур-ню привилегий
процессор использует след. КодыDPL – уровень
привилегий дескриптора(нах-ся в байте доступа
дескриптора)CPL – текущий уровень привилегий.
Уровень привилегий сегмента кода пр-мы,
выполняемый в данный момент, Нах-ся в рег-ре cs.
Механизм Кэширования. Для его поддержки в
Intel вводится набор регистров дескрипторов (в 86
четыре дескрипторных регистра, далее восемь
дескрипторных регистров).
18.Динамическая переадресация: пути
реализации. Понятие виртуальной
памяти.Система управления памятью должна
обеспечить многопрограммный режим
работы, используя аппаратные средства
распределения оперативной памяти. Существует
два способа распределения памяти : статический и
динамический. При работе в многопрограммном
режиме и статическом распределении оперативной
памяти выделяется определенная область
фиксированной памяти независимо от требований
задачи. При статическом распределении памяти
используется статическая адресация, т.е.
используется базовый адрес и смещение. При
каждой загрузке программы ей назначается базовый
адрес в области оперативной памяти.При
динамическом распределении оперативной памяти выделяется необходимый объем памяти по запросу
с учетом потребности задачи. Параллельность
процессов обмена и обработки данных приводит к
тому, что к оперативной памяти может обращаться
несколько устройств (или программ) одновременно,
потому требуется организовать очередь
обслуживания и использовать концепцию
виртуальной памяти. Один из компонентов ядра
операционной системы - диспетчер памяти организует трансляцию виртуальных адресов,
используемых программами и другими
компонентами ядра, в реальные адреса физической
памяти.
Варианты:
1) Все блоки одинаковы. ЛП условно разбивается
на одинаковые блоки размеров кратных целой
степени двойки. В этом случае адрес как бы
состоит из двух частей.
Чтобы совершить подмену, нужно изменять
внешний адрес ВАП кажд. процесса делится на
страницы фиксированного размера, к-рые наз.
Вирт-ми страницами. ОП т.ж. делится на блоки
такого же размера, называемыми физическими
страницами, Причем это деление не зависит от
программ.
Страницы (физич.) располаг-ся
последовательно и имеют свой номер. Вирт-ый
адрес становится двумерным: р-номер
страницы в ВАП, d-смещение в странице.(p,d).
Это страничная организация памяти.
2) Блоки разной длины. Причем лучше, если
размер блока 2n. В таблице кроме адреса блока
нужно будет хранить еще и дополнительную
информацию,
которая
задает
размер
блока.Сегменты тоже имеют свои уникальные
номера (иден-ры), причем их упорядочивание
необязательно.
Схема странично-сегментного преобр-ния
адреса.Виртуальное пр-во процессора делится
на вирт. сегменты, на которые отображаются
программные сегменты процесса. Сегменты
состоят из целого числа страниц.
Это сегментная организация памяти.Сегментностраничная организация памяти (делим на
сегменты, а сегменты на страницы).
Количественное отличие в понятиях вирт сегм
и вирт стр.СТРАНИЦА – физическ. единица
памяти, кот предназначена для эффективного
использования ОП.
СЕГМЕНТ – логическ. единица, связанная со
структурой пр-мы и данных.
Возникает
вопрос:
где
хранить
таблицу
соответствия?
Каждой программе дается свое адресное
пространство. Нужно описать страницы и описать
сегменты.Дескриптор – описатель сегмента, т.е.
создается таблица дескрипторов. И таким образом
каждой программе дается своя дескрипторная
таблица. При переключении задач (программ),
активна таблица для данной программы.
Виртуальным называется ресурс, который
пользователю или пользовательской программе
представляется обладающим свойствами,
которыми он в действительности не обладает. Так,
например, пользователю может быть
предоставлена виртуальная оперативная память,
размер которой превосходит всю имеющуюся в
системе реальную оперативную память.
Пользователь пишет программы так, как будто в
его распоряжении имеется однородная
оперативная память большого объема, но в
действительности все данные, используемые
программой, хранятся на одном или нескольких
разнородных запоминающих устройствах, обычно
на дисках, и при необходимости частями
отображаются в реальную память.
Таким образом, виртуальная память - это
совокупность программно-аппаратных средств,
позволяющих пользователям писать программы,
размер которых превосходит имеющуюся
оперативную память; для этого виртуальная
память решает следующие задачи:
--размещает данные в запоминающих устройствах
разного типа, например, часть программы в
оперативной памяти, а часть на диске;
--перемещает по мере необходимости данные
между запоминающими устройствами разного
типа, например, подгружает нужную часть
программы с диска в оперативную память;
--преобразует виртуальные адреса в физические.
Все эти действия выполняются автоматически, без
участия программиста, то есть механизм
виртуальной памяти является прозрачным по
отношению к пользователю.
Наиболее распространенными реализациями
виртуальной памяти является страничное,
сегментное и странично-сегментное распределение
памяти, а также свопинг.
19. Принципы построения
однопроцессорных систем с
централизованным программным
управлением.
20. Принципы построения
однопроцессорных систем с Общей
шиной.
Устройство вв/выв 1 программный путь 2
построить автомат, который возьмет эти функции
на себя (т.е устройство управления)
1)Мы управляем всем с помощью ЦП. Нужно
реализовать алгоритм работы с устройством
ввода/вывода. Если ЦП делать нечего, то он все
это выполняет. В этом смысле устройства
ввода/вывода – это регистры.
2)Можем сделать УУ кот будет обслуживать эту
штуку. При этом ЦП будет только отдавать
команды. При этом освободится от лишне работы
(в промышленных системах)С точки зрения прогр
подсистемы вв/выв представляет из себя набор
регистров (програмнодоступных). Эти регистры
функционально можно разделить на 2 группы:
1)регистры данных 2)регистры управления и
состояний (регистры которые могут либо читаться,
либо записывать данные, они предназначены для
хранения состояний внешнего устройства и
хранения команд внеш устройств). Считывая код
программа может определить состояние внешн
устр.
Отображение внешних
устройств на память.
плюсы: однообразие подключения устройств,
возможность неограниченного наращивания
минусы: блокируется часть адресного
пространства, сложные схемы выбора регистров
в/в, эта структура явл процессорнозависимой, т. к.
шина имеет продолжение набора сигналов которые
имеет проц.
Избавиться от недостатка 1 можно выделив
устройства В/В в отдельную область со своим
адресным пространством.
Осуществляется программой, которую выполняет
ЦП
Это самые
простые с точки
зрения аппаратуры и
самые дешевые. На
практике это обычно
всевозможные контроллеры на базе
микропроцессоров. Фактически контроллер ввода
/вывода представляет собой набор программно
доступных регистров.
Если ввод/вывод отображен на память, то
может работать любая команда. Если
указываем адрес в памяти- берем из памяти, а
если с регистра ввода/вывода, то с ним. Однако
ЦП различает в команде это из ОЗУ или из
регистров ввода/вывода т.е нужны
специальные команды для работы с вводом,
выводом.
Системы с общей шиной.
Тут важно как навесить ЦП.
1)СШ навешивается к выходам процессора и
зависит от него для простоты.
2)Вводится как модуль и подключается через
устройство сопряжения.
В них не делается различия между памятью и
регистрами ввода / вывода. Все устройства
подключаются к единой магистрали или
системной шине. Все устройства подключаются по
единому правилу и работают по единому
протоколу. С точки зрения программы такая
система работает с единым адресным
пространством, условно разделенным на 2 части.
Любой контроллер ввода / вывода можно
представить в виде набора регистров (номер
регистра и номер ячейки памяти фактически не
отличаются). Таким образом адрес, который
вырабатывает процессор, может быть адресом
регистра или адресом памяти. Регистры ввода /
вывода отображены на память, это значит, что
регистры ввода / вывода находятся в памяти.
T3-T1>=twa+tac (шина данных+адресный
селектор)
T2-момент появления данных в регистре
Она может быть реализована по схемам в
зависимости от того, какие функции возлагаются
на ЦП и кто управляет шиной.
T2-T4 определяются временем срабатывания
процессора. Т.е чтобы обращатся к улице надо
увеличивать циклы т.е если тактовая частота 1
гигогерц, а вне будет 100 мегагерц. Т.е сейчас
данные КЭШ ставят в кристалл еще и устройство
управления ставят на кристалл.
Асинхронный
1.Простота, но при таком техническом решении
будем иметь процессорно-зависимые системы, что
неудобно. Имеет минимальные аппаратные
затраты. Тут ЦП тянет на себя все
2.Система на базе стандартных модулей. Для этого
нужно вводить стандартную системную шину.
Теперь мы можем разрабатывать модули памяти
под данный стандарт. ЦП, П/С ВВ, ЗУ – это
модули, которые подключаются к системной
шине. Только ЦП модет организовать передачу
данных СШ, т.е. ЦП активен, а остальные модули
– пассивны. Однако тут серьезные пороблемы. 1)
Работает на ограниченных тактовых частотах.
Проблема с шиной. И если хотим повысить
производительность нужно отдельно вешать у ЦП
ОП.Плюсы: простота, дешевизна, легкость
изменения конфигурации, допускается
эволюционное развитие.Минусы:
-Занимает часть адресного пространства под
системное пространство вв / выв.
-Практически невозможно параллельное
выполнение каких – либо действий.
-Передача данных между подсистемой вв / выв и
памятью требует двух циклов шины (в первом
цикле процессор берет данные в себя, а во втором
их выдает)
21Организация циклов обмена данными
на системной шине
Цикл шины – некот законч действие обесп прием,
передачу данных. При реализации данных машины
возможны 2 механизма управления:
1.
синхронный
2.
асинхронный
Тут все временные интервалы задает активное
устройство,(т.е заранее поделены уже интервалы) а
пассивное должно успевать, если пассивное не
успевает, то его использовать в данный момент
нельзя.
Длительность цикла и все фазы задаются ЦП, при
этом временное расписание проектирования
системы не меняется.
При асинхронном обмене формирование
временных интервалов происходит на
формирование активного и пассивного и
длительность цикла определяется самым
медленным. Здесь ввод/вывод происходит под
полным контролем центрального процессора и
реализуется специальной процедурой
ввода/вывода. Адрес модуля и ВУ, к которому
производит¬ся обращение, указывается в адресной
части команды ввода или вывода. Модуль
исполняет затребованное действие, после чего
устанавливает в единицу соответ¬ствующий бит в
своем регистре состояния. Ничего другого, чтобы
уведомить ЦП, модуль не предпринимает.
Следовательно, для определения момента
за¬вершения операции или пересылки очередного
элемента блока данных про¬цессор должен
периодически опрашивать и анализировать
содержимое регис¬тра состояния МВБ.
+ могут работать с устройствами с любой
скоростью
- если обратились не по адресу, система может
зависнуть.
Это решается путем установления таймера.
Если работаем с устройством кот не имеет отлика.
Выбор х синхронизацию активного.
Таймер- ожидание.
Как это реализуется
Системы нормальна – готовая
Система нормально –неготовая
1)В нормальной готовой системе сигнал в
пассивном состоянии – сигнал всегда готов. Если
ничего не делаем – то процессор работает в
синхронном режиме. Если устройство медленно то
она должно иметь устройство управления, кот
само вырабатывает сигнал.
2) Всегда не готов и всегда необходима система
управления кот посылает сигнал готовности.
Проблема
Синхронизации : на момент вывода должны быть
уверены что буфер свободет на момент вывода,
что буфер имеет актуальную инфу.
Решается : Программы обмен по прерыванию.
Програмный обмен
Синхронный программный обмен базируется на
гипотезе, что на момент выполнения ЦП in/out
буфер готов принять/выдать данные. Обеспечение
этой гипотезы лежит на программисте.
Но это не всегда можно использовать, а можно
когда известить быстродействие устройства (при
выводе). Т.е нам надо писать программный таймер.
Еще можно работать при start/stop-ые механизмы,
зная паспортные данные времени обработки мы
можем использовать эту технологию.
Но вся эта технология не для сложных систем.
Асинхронный програмноуправлемый обмен.
В аппаратной части добавляется регистр состояния
внешнего устройства и в самом простом случае так
должен быть хотя бы 1 бит состояние (готовность
порта к вводу/выводу)
Регистр состояния- программно доступный.
Программа:
2.Неявный
а -геометрическое представление идеи метода; б схемная реализация;
G – адресуемые элементы ЭВМ расположенные в
зоне LGадресного пространства P ЭВМ; Р –
адресное пространство ЭВМ; Н – адресное
пространство главной памяти; Lo – свободная зона
адресного пространства,в которой выделено окно
W.
Идея метода состоит в отображении на "большом"
отрезке лишь части "малого" отрезка. Эта часть
соответствует свободным адресам ЭВМ и
называется окном. Емкость главной памяти V =
2^d+g ячеек. Если, например, d=8, g=12, то
V=220=1M ячеек. Главную память можно
рассматривать как совокупность 2^d страниц,
каждая из которых имеет размер 2^g ячеек,
совпадающий с размером окна. Таким образом,
можно считать, что 2^d - число проекций окна,
которые, примыкая вплотную друг к другу,
заполняют собой всю "ось" главной памяти.
Существенно, что адресная шина расщепляется на
две части: одна поступает в главную память, а
другая "поглощается" дешифратором. Система
работает следующим образом.
1.Процессор загружает программно доступный
регистр старших разрядов адресас шины данных
задавая положение проекции окна в адресном
пространстве главной памяти или,в другой
терминологии, угол наклона проецирующих лучей.
2. Процессор обращается по некоторому адресу,
лежащему внутри окна.
3.Дешифратор опознает принадлежность текущего
адреса фиксированному окну и разрешает
передачу в главную память сигнала
сопровождения адреса . В главную память
выдается полный адрес (d+g) бит, определяющий
одну из ее ячеек.
4. Выбранная ячейка главной памяти выдает или
принимает информацию в зависимости от сигнала
на линии управления режимом работы и
посылаетсигнал по линии передачи ответа
Поскольку окно выбрано в зоне неиспользуемых
адресов внутреннего адресного пространства
ЭВМ, то конфликты, связанные с одновременным
выбором двух адресуемых элементов (внутри и вне
ЭВМ), исключаются.
С точки зрения аппаратной части в портах in/out 2
регистра кот имеют хотя бы по 1 тригеру.
Любой встает в 1 когда данные приходят в регистр
вв и в 0 когда данные ушли
При организации цикла, при передаче данных
возникают некоторые проблемы, которые связаны
с тем, что системная шина рассчитана на передачу
данных между одним активным и другим
пассивным, а нам в режиме ПДП нужно
организовать обмен данными между двумя
пассивными. Проблема заключается в том, что мы
не можем в одном цикле вставить два адреса.
Самый простой путь, если К(контроллер)ПДП
активный, то организовать передачу данных через
КПДП, либо передачу данных делать
двухцикловой.
ПЛЮС такой передачи заключается в том, что мы
можем организовать передачу данных между
любыми устройствами, подключенными к
системной шине стандартным способом.
МИНУСЫ:
увеличение или большая занятость СШ.
невозможность достигнуть максимальной
скорости передачи данных.
Второй путь – организация одно-цикловых
передач. Надо каким-то образом обеспечить выбор
ячейки памяти и внешнего устройства. Это можно
сделать, если выбор внешнего устройства
осуществлять напрямую по отдельным линиям
КПДП.
Схема будет следующая:
ПДП уже не имеет адресный селектор, а
выбирается напрямую сигналом “выбор”.
два сигнала: чт ЗУ,зп ЗУ
Два сигнала: чт ВУ,зп ВУ
Адрес не имеет явного признака
принадлежности к ВУ или ЗУ, но воспринимается
адресными селекторами, но устройство
выбирается с помощью сигналов чт ЗУ,зп ЗУ,
чт ВУ, зп ВУ.
22.Подключение регистров к системной
шине.
Для передачи данных нам надо организовать
активный->пассивный (ЦП- активный, память –
пассивный) Логика- должен быть 1 элемент
активынй. Чтобы небыло неразберихи. В
нормальном состоянии все отключены. Отличаем
друг друга по адресу. Т.к должен быть адрес нужна
шина адреса. И нужна шина управления для
сигнало чтения/ записи
Метод выбора (переключения) подсистемы (Метод
банков)
1.Подсистема выбирается средством ЦП. 5&D –
признаки обращения к нам, к стеку, к внешнему
устройству вывода. 216 + 216 + 256 + 256. 8086 –
четыре сегментных регистра 220 * 4 -> 4 Мб
Шинный формирователь- нужен для того чтобы
говорить в единицах, то нужен нормированость (т.к
элементы лог не нормированы)
23.Методы расширения адресного пространства в
малоразрядных МП и МКЭВМ.
Методы расширения адресного пространства
Очевидным способом расширения адресного
пространства является увеличение числа адресных
линий. Вместе с тем, такой подход не является
радикальным и лишь временно позволяет
отодвинуть на второй план эту проблему.
Наиболее интересными с технической точки
зрения способами расширения адресного
пространства являются - метод окна, метод
базовых регистров и метод банков.
2.Система выбора программного доступа.
Под термином «банк» подразумевается отдельный
блок памяти, содержащий возможно как
оперативную, так и постоянную части.
В процессе работы такой системы процессор ЭВМ
5.2.1. Метод окна косвенная адресация
m>n AИСП = B + A (База + смещение)
Самый простой случай (страничная организация)
Первое устройство
если находит свой сигнал, то откликается.
Каждому присваивается свой индивидуальный
идентификатор (адрес)
Схема подключения к шине А1&Чтение
Сегментная организация.
Для увеличения быстродействия нужно увеличить
число базовых регистров.
Выбор базового регистра можно осуществить
двумя способами:
1.Явный (указание номера регистра в команде)
через программно-доступный регистр открывает
нужный банк и использует содержащуюся в нем
информацию. Остальные банки логически
отключены от магистрали. ЭВМ может вставлять в
свое адресное пространство емкостью, например
64К, банки емкостью 56К. Последние 8К ячеек
остаются для собственных нужд. Такая
подстановка оказывается удобной для быстрого
переключения ЭВМ с решения одной задачи на
решение другой. Каждой задаче в этом случае
может соответствовать свой банк. При этом,
однако, в каждом банке должны храниться одни и
те же резидентные программы операционной
системы, что снижает эффективность
использования памяти в целом.
Другими недостатками являются разрывность
памяти, собранной из отдельных банков,
невозможность одновременной работы с
несколькими банками, а также сложность доступа
к этой памяти со стороны каналов прямого доступа
в память.
При включении напряжения питания регистр
устанавливается в исходное состояние,
соответствующее подключению к ЭВМ
единственного (вполне определенного) банка.
Регистр может содержать дополнительные
разряды, которые уточняют правила работы с
каждым банком: доступен ли банк по записи или/и
по чтению, включить или выключить его схемы
контроля и т.д.
Если две памяти отображаются на одно адресное
пространство, то они называются теневыми.
Метод базовых регистров
Базовые регистры - это регистры старших
разрядов. Метод базовых регистров является
обобщением метода окна. В адресном
пространстве выделяются не одно, а несколько
окон.
Обобщенная структура системы прерываний.
-на каждый запрос прерываний должна быть своя
подпрограмма
-для каждого сигнала своя точка входа
-запомнить состояние задачи на момент выхода
-фиксатор ЗП – для захвата и сохранения внешних
запросов прерываний (ЗП) есть фиксатор ЗП
(набор триггеров), т.е. регистр.
Но существует разная реализация
1)Трирер запроса прерывания привязан к
источнику, то привязаны к портам ввода/вывода.
Бит запроса.
2) триггер запроса прерывания объединяем в 1
блок и это регистр запроса прерываний.
-средства выбора ЗП – выбирается запрос и
программа обработки
-средство запуска – устройство управления
подсистемами
Эта модель Фон Неймана, т.е. мы можем
обслуживать лишь 1 запрос ; поэтому нужно
средство выбора запроса прерывания.
Положение окон в адресном пространстве задается
жестко - с помощью дешифратора. Углы наклона
лучей задаются содержимым базовых регистров.
Размеры окон для простоты будем считать
одинаковыми. Принцип формирования адресов
главной памяти тот же, что и по методу окна.
Стратегии выбора запроса прерывания:
1) С круговой диспетчеризацией
2) С относительными приоритетами
3) С абсолютными приоритетами
1.Система с круговой диспетчеризацией
Метод базовых регистров позволяет переносить в
адресное пространство ЭВМ одновременно
несколько различных страниц главной памяти,
например, одну страницу из области программ и
две страницы из области данных. Схемная
реализация метода базовых регистров близка к
реализации метода окна и показана на рис. 5.5.
Процессор загружает в базовые регистры с шины
К главной памяти
Запросы имеют одинаковые приоритеты. В такой
структуре каждый запрос будет обязательно
обслужен. При малой интенсивности запросов,
такая дисциплина фактически обеспечивает
обслуживание по очереди или в порядке
поступления.Недостатки: такая система
непозволяет выделить и построить
ранжированную систему запросов.
2.Система с относительными приоритетами
Запрещены прерывания прерываний. Перебор
источников прерываний всегда осуществляется в
одном и том же порядке. При такой дисциплине
четко просматривается приоритетность. Приоритет
сказывается только во время выбора приоритета
прерывания. Т.е. если обслуживание началось, то
оно будет доведено до конца.
При обращении в главную память через одно из m
окон дешифратор формирует сигнал выдачи
старших разрядов с соответствующего базового
регистра через мультиплексор.
В рассмотренных примерах старшие разряды из
внешнего регистра "под-стыковывались" к
младшим, выдаваемым непосредственно с части
16-разряд-ной адресной шины. При такой
"подстыковке" проекции окон в адресном пространстве главной памяти могут перемещаться с
шагом, равным размеру окна. Для более плавного
перемещения проекций в место "подстыковки"
используют аппаратное арифметическое
суммирование содержимого базового регистра (его
разрядность должна быть увеличена в сторону
младших разрядов) с кодом, выдаваемым в
адресную шину.
24.Обобщенная структура системы прерывания
ЭВМ: основные решаемые задачи и методы их
решения.
Прерывания - это переключения МП с одной
программы на другую в ответ на действия
некоторого внешнего сигнала. Как правило,
переключение обеспечивает возможность возврата
к прерванной программе. Набор средств,
обеспечивающих такое переключение и возврат,
называется системой прерываний.
Функциональная схема прерываний.
3.Система с абсолютными приоритетами
В такой системе всегда обслуживается событие с
высшим приоритетом. В таких системах,
разрешается прерывание прерываний (вложенные
прерывания). Вводится понятие
реентерабильности программы; регистр ЗП.В
простых системах управления приоритетами
используется идея маскирования. Каждому
разряду регистра запроса прерывания ставится в
соответствие триггер разрешения прерывания.
Маскирование используется практически во всех
системах.
Первый прием маскирования.
Разряд разрешения прерывания делается
доступным программно.
РП - программно доступен.
РРП – регистр
разрешения
прерывания
О
О
О
РМ - регистр маски.
РЗП - регистр запроса прерывания.
прерывание.
Есть проблема переключения на программу
обработки. Попробуем ее решить.
Допустим, у нас есть система и отдельные запросы
прерываний, т.е. есть отдельно входы для запроса
прерываний. И можно организовать внутреннюю
структуру привязки.
Простой вариант: за каждым входом ЗП мы
выделяем место в оперативной памяти. Т.е. все
возлагается на аппаратную часть системы.
Есть проблема: как отводить место в оперативной
памяти? Сколько места отводить под каждую
программную обработку? Нужно сделать, чтобы в
ОП умещалась команда перехода, например goto
(без возврата).
Это есть не что иное, как косвенная адресация, и
чтобы не забывать месть под команду перехода,
нужно, заменить косвенную адресацию, т.е.
каждому входу мы ставим соответственный
фиксированный адрес. Кроме адреса входа
желательно знать содержимое регистра состояния.
Поэтому очень часто, кроме адреса входа
записывают служебную информацию, которая
задаст состояние процессора на момент входа
программной оболочки.
Проблемы по выбору программы возникают, когда
у процессора всего 1 уровень прерывания или на 1
вход подвешивается несколько источников
прерываний. Тогда как найти того, кто запросил
прерывание?
Нужно, чтобы система не могла среагировать на
другие прерывания и нужно их прицепить на один
вход. За входом
закреплена
программа
обработчик.
Попробуем сделать
Т.е. мы объединяем
ЗП по «или», тогда,
нужно перебирать по очереди, чтобы понять какой
именно ЗП. Программа будет такая.
В этой схеме есть НО:
Время реакции – время от момента запроса до
момента выхода на 1- ую команду обработки
запроса. Время реакции для одних систем
критично, а для других нет. Для времени реакции
наш способ длинный. Поэтому часто проблемы
лучше решать аппаратными способами.
Например. Заменить «или» проводками. Это будет
монтажное «или».
Простой
вариант порта
Вв/Выв (ПВВ)
Теперь не надо
перебирать всех
кто просил, а
схема.Читаем
сразу слово.
Уменьшаем время за счет чтения сразу всего слова
Эта программа короче, т.к. требует только одно
обращение к внешнему миру.
Поиск “1” – приоритетный вывод одного из
запросов. Пойдем дальше и уберм поиск 1 вместо
нее ставим приоритетный шифратор
в систему вводится приоритетный уровень
выполняемой программы.
Если хотим использовать для машин реального
времени нало:
1)чтобы реализация мин во времени
2) Существует верхний порог запроса
Выс о к и й у р о в е н ь
низ кий урове нь
шт о р к а
Под уровнем приоритета выводится один разряд,
который либо разрешает, либо запрещает
В фиксатор ставится буфер. В этом случае
программа будет простой в чтении ПВВ – кода.
Чтобы пойдти дальше, надо поменять архитектуру
процессора, который научится считывать код
операции.
переходов, управление глобальным разрешением
работы программы.
2) Разрешение прерывания от данного внешнего
устройства.
3) Программа обработки запроса внешнего
устройства.
Программно управляемый обмен имеет
недостатки: при передаче данных участвует ЦП и
программа. Программный объем обеспечивает
передачу данных за 2 цикла:
В 1 – ЦП заберет данные на себя
В 2 – выкинет данные на улицу (на порт вв/выв)
Как преобразовать номер прерывания в адрес
программы обработки? Код(номер) является
частью адреса обработки.
Адрес
Векторное прерывание
Используем косвенную адресацию и переходим на
обработчик.
Чтобы это зароботало надо:
1)
Уникальный выбор кода
2)
Аппаратное средства считывания кода
3)
Аппаратное преобразование в адреса
На одном входе может висеть несколько
запросов, только надо менять обработчик
Сохранение состояния - построение прерывания с
набором регистров и они переключаются.
Где сохранить? Какими средствами?
Существуют 2 пути где
сохранять:1)Дублирующими регистрами
2)В оперативной памяти (в стеке алгоритм
возврата один и тот же и подходит для вложенных
прерываний)
Но если ЦП перескакивает с одной на другую
программу. То хранится в сегменте. Такой сегмет
называется сегмент состояния задачи.
Средства: аппаратные и программные
Апаратно надо сохронять адрес выполнения след.
Команды (точка возврата).
Сохранение идет простым способом в стеке
+: обеспечивает прерывание прерываний
Сохранять адрес возврата обязательно
Регистры флагов- влияют на ветвление
Восстановление.Как сделать чтобы узнать когда
закончили прерывание. Надо кусочек программы
выхода из прерывания
Нот так не подходит для мультипрограммного
режима. Тут операционка выполняет функции
восстановления.
Структура аппаратной части.
В структуре программы должны быть 3 фрагмента,
чтобы она работала.
1) Инициализация системы прерывания. Надо
обеспечить работу аппарата сохранения (можно
стек), т.е. установка стека, инициализация таблиц
25.Программно-управляемый вводвывод: структура программных и
аппаратных средств.
Программно-управляемый ввод/вывод
Данный режим характеризуется тем, что все
действия по вводу/выводу реализуются командами
прикладной программы. Наиболее простыми эти
действия оказываются для "всегда готовых"
внешних устройств, например индикатора на
светодиодах. При необходимости ВВ в
соответствующем месте программы используются
команды IN или OUT. Такая передача данных
называется синхронным или безусловным ВВ.
Наиболее простым методом управления
вводом/выводом является программно
управляемый ввод/вывод, часто называемый также
вводом /выводом с опросом. Здесь ввод/вывод
происходит под полным контролем центрального
процессора и реализуется специальной процедурой
ввода/вывода. Адрес модуля и ВУ, к которому
производится обращение, указывается в адресной
части команды ввода или вывода. Модуль
исполняет затребованное действие, после чего
устанавливает в единицу соответствующий бит в
своем регистре состояния. Ничего другого, чтобы
уведомить ЦП, модуль не предпринимает.
Следовательно, для определения момента
завершения операции или пересылки очередного
элемента блока данных процессор должен
периодически опрашивать и анализировать
содержимое регистра состояния МВБ.
Процессор проверяет флаг готовности с помощью
одной или нескольких команд. Если флаг
установлен, то инициируются собственно ввод или
вывод одного или нескольких слов данных. Когда
же флаг сброшен, процессор выполняет цикл из 23 команд с повторной проверкой флага READY до
тех пор, пока устройство не будет готово к
операциям ВВ (рис. 3.10). Данный цикл называется
циклом ожидания готовности ВУ и реализуется в
различных процессорах по-разному.
Процедура начинается с выдачи
процессором команды ввода, в которой указан
адрес конкретного МВБ и конкретного ВУ.
Существуют четыре типа команд В/ВЫВ, которые
может получить МВБ: управление, проверка,
чтение и запись.
Команды управления используются
для активизации ВУ и указания требуемой
операции. Например, в устройство памяти на
магнитной ленте может быть выдана команда
перемотки или продвижения на одну запись. Для
каждого типа ВУ характерны специфичные для
него команды управления.
Команда проверки применяется для
проверки различных ситуаций, возникающих в
МВБ и ВУ в процессе ввода/вывода. С помощью
таких команд ЦП способен выяснить, включено ли
ВУ, готово ли оно к работе, завершена ли
последняя операция ввода/вывода и не возникли
ли в ходе ее выполнения какие-либо ошибки.
Действие команды сводится к установке или
сбросу соответствующих разрядов регистра
состояния МВБ.
Команда чтения побуждает модуль
получить элемент данных из ВУ и занести его в
регистр данных (РД). ЦП может получить этот
элемент данных, запросив МВБ поместить его на
шину данных.
Команда записи заставляет модуль принять
элемент данных (байт или слово) с шины данных и
переслать его в РД с последующей передачей в
ВУ.
Основной недостаток программного ВВ связан с
непроизводительными потерями времени
процессора в циклах ожидания. К достоинствам
следует отнести простоту его реализации, не
требующей дополнительных аппаратных средств.
Главным аргументом в пользу программно
управляемого ввода/вывода является простота
МВБ,
поскольку
основные
функции
по
управлению В/ВЫВ берет на себя процессор. При
одновременной работе с несколькими ВУ
приоритет
устройств
легко
изменить
программными средствами (последовательностью
опроса). Наконец, подключение к СВВ новых
внешних устройств или отключение ранее
подключенных также реализуется без особых
сложностей.
25Организация ввода-вывода по
прерываниям: структура программных и
аппаратных средств.
Как уже отмечалось, основным недостатком
программно управляемого В/ВЫВ являются
простои процессора в ожидании, пока модуль
ввода/вывода выполнит очередную операцию.
Альтернативой может быть вариант, когда ЦП
выдает команду В/ВЫВ, а затем продолжает
делать другую полезную работу. Когда ВУ готово
к обмену данными, оно через МВВ извещает об
этом процессор с помощью запроса на
прерывание. ЦП осуществляет передачу
очередного элемента данных, после чего
возобновляет выполнение прерванной программы.
Обсудим процесс ввода блока данных е
использованием В/ВЫВ по прерываниям. ЦП
выдает команду чтения, а затем продолжает
выполнение других заданий, например другой
программы. Получив команду, МВВ приступает к
вводу элемента данных с ВУ. Когда считанное
слово оказывается в регистре данных модуля,
VIBB формирует на управляющей линии сигнал
прерывания ЦП. Выставив запрос, МВВ помещает
введенную информацию на шину данных, после
чего он готов к следующей операции В/ВЫВ. ЦП в
конце каждого цикла команды проверяет наличие
запросов прерывания. Когда от МВВ приходит
такой сигнал, ЦП сохраняет контекст текущей
программы и обрабатывает прерывание. Далее ЦП
восстанавливает контекст прерванной программы
и возобновляет ее выполнение.
Этот метод эффективнее программно
управляемого В/ВЫВ, поскольку устраняет
ненужные ожидания, однако обработка
прерывания занимает достаточно много времени
ЦП.
Реализация ввода/вывода по прерываниям
При реализации ввода/вывода по
прерываниям необходимо дать ответы на два
вопроса. Во-первых, определить, каким образом
ЦП может выяснить, какой из МВВ и какое из
подключенных к этому модулю внешних
устройств выставили запрос. Во-вторых, при
множественных прерываниях требуется решить,
какое из них должно быть обслужено в первую
очередь.
Сначала рассмотрим вопрос
идентификации устройства. Здесь возможны три
основных метода:



множественные линии прерывания;
программная идентификация;
векторное прерывание.
Наиболее простой подход к
решению проблемы определения источника запроса — применение множественных линий
прерывания между ЦП и модулями ввода/вывода.
Более того, даже если присутствует несколько линий прерывания, желательно, чтобы каждая линия
использовалась всеми МВБ. при этом для каждой
линии действует один из двух остальных методов
идентификации устройства.
При программной идентификации,
обнаружив запрос прерывания, ЦП переходит к
общей программе обработки прерывания, задачей
которой является опрос всех МВБ с целью
определения источника запроса. ЦП помещает на
адресную шину адрес опрашиваемого МВВ и
формирует на этой линии сигнал опроса. Реакция
модуля зависит от того, выставлял он запрос или
нет. Возможен и иной вариант, когда каждый МВВ
включает в себя адресуемый регистр состояния.
Тогда ЦП считывает содержимое PC каждого
модуля, после чего выясняет источник
прерывания. Недостаток метода программной
идентификации заключается в больших временных
потерях.
Наиболее эффективную процедуру
идентификации источника прерывания
обеспечивают аппаратурные методы, в основе
которых лежит идея векторного прерывания. В
этом случае, получив подтверждение прерывания
от процессора, выставившее запрос устройство
выдает на шину данных специальное слово,
называемое вектором прерывания. Слово
содержит либо адрес МВБ, либо какой-нибудь
другой уникальный идентификатор, который ЦП
интерпретирует как указатель на
соответствующую программу обработки
прерывания. Реализуется он с помощью
хранящейся в ОП таблицы векторов прерывания
(рис. 8,8), где содержатся адреса программ
обработки прерываний. Входом в таблицу служит
вектор прерывания. Начальный адрес таблицы
(база) обычно задается неявно.
Стратегии выбора запроса прерывания:
1) С круговой диспетчеризацией
2) С относительными приоритетами
3) С абсолютными приоритетами
1.Система с круговой диспетчеризацией
Запросы имеют одинаковые приоритеты. В такой
структуре каждый запрос будет обязательно
обслужен. При малой интенсивности запросов,
такая дисциплина фактически обеспечивает
обслуживание по очереди или в порядке
поступления.
Недостатки: такая система не позволяет выделить
и построить ранжированную систему запросов.
2.Система с относительными приоритетами
Запрещены прерывания прерываний. Перебор
источников прерываний всегда осуществляется в
одном и том же порядке. При такой дисциплине
четко просматривается приоритетность. Приоритет
сказывается только во время выбора приоритета
прерывания. Т.е. если обслуживание началось, то
оно будет доведено до конца.
3.Система с абсолютными приоритетами
В такой системе всегда обслуживается событие с
высшим приоритетом. В таких системах,
разрешается прерывание прерываний (вложенные
прерывания). Вводится понятие
реентерабильности программы; регистр ЗП.
переходит в системные выводы в 3
состояние.
А
потом
ПДП
захватывает шину.
Можно внедрить две структуры:
а) Организация межпроцессорного обмена в
системах с общей шиной.
б) Организация межпроцессорного обмена в
системах с общей памятью.
а) С общей шиной
Имеем такую структуру:
Если обмен идет между памятью и портом ввода –
вывода, то такой обмен называется прямым
доступом к памяти (ПДП).
Если обмен между двумя устройствами, то обмен
называется прямой передачей данных.
Прямой доступ к памяти осуществляется под
контролем специального устройства, который
получил название контроллера ПДП.
В такой структуре контроллер ПДП (КПДП)
должен:
1)
захватить системную шину.
2)
Организовать
циклы
передачи
данных.
КПДП не может самостоятельно принять
решение о моменте передачи данных.,
количестве и месте их расположения в
памяти. Эта информация записывается в
КПДП
программным
путем
(с
использованием программы вв/выв).
В
этом
отношении
КПДП можно
рассматривать
двояко:
а)
в
режиме
программировани
я он является
портом вв/выв.
б)
в
режиме
передачи данных
является
устройством,
управляющим
системной шиной.
КПДП выставляет сигнал запроса шины.
Процессор по окончании цикла обмена на шине
вырабатывает сигнал разрешения ПДП и
переводит свои выходы на СШ в третье состояние.
Здесь могут быть следующие режимы передачи:
В простых системах управления приоритетами
используется идея маскирования. Каждому
разряду регистра запроса прерывания ставится в
соответствие триггер разрешения прерывания.
27.Внепроцессорный обмен: общая идея и режимы
обмена.
28.Внепроцессорный обмен: основные подходы к
управлению КПДП и организации передачи данных.
Внепроцессорный обмен
Неэффективно заполнять данные из ВУ в ОП
через ЦП. Т.е эффективнее использовать прямой
доступ к памяти.
ПДП, работа адресного селектора при этом
блокируется.
Но теперь нельзя все устройства подключить, а те
кот подключены.
Как контроллер ПДП узнает что делать? Когда
делать?
1)Контроллер ПДП делается программируемым. В
состав контроллера вводится набор служебным
регистров. Может работать в режиме порта ввода
вывода и ПДП.
А)Должны задать область памяти
Б) Управление передачи.
В) Сколько обменов должно производится
Г) Что делать когда закончилась передача.
А) начало,напрвление,число
Начало,конец,направление
Конец,направлене,число
Б) прерывание по окончанию передачи. Зациклить
можно(для вывода картинки)
Также нужен бит пуска. То контроллер ПДПактивный,захватывающий шину производит обмен
т.т.д
2 вариант
Когда ПДП не программируем. А он сам читает
команды.
И он называется процессором
ввода/вывода. Он позволял выполнять команды
без вычисления (сдвиги будем считать не
вычислениями)
Организация циклов.
При организации цикла, при передаче данных
возникают некоторые проблемы, которые связаны
с тем, что системная шина рассчитана на передачу
данных между одним активным и другим
пассивным, а нам в режиме ПДП нужно
организовать обмен данными между двумя
пассивными. Проблема заключается в том, что мы
не можем в одном цикле вставить два адреса.
Самый простой путь, если КПДП активный, то
организовать передачу данных через КПДП, либо
передачу данных делать двухцикловой.
ПЛЮС такой передачи заключается в том, что мы
можем организовать передачу данных между
любыми
устройствами,
подключенными
к
системной шине стандартным способом.
МИНУСЫ:
увеличение или большая занятость СШ.
невозможность достигнуть максимальной
скорости передачи данных.
Второй путь – организация одно-цикловых
передач. Надо каким-то образом обеспечить выбор
ячейки памяти и внешнего устройства. Это можно
сделать, если выбор внешнего устройства
осуществлять напрямую по отдельным линиям
КПДП.
Схема будет следующая:
ПДП уже не имеет адресный селектор, а
выбирается напрямую сигналом “выбор”.
Обмен блоком на всю передачу.
Такой режим называется селекторным.
0 – активный сигнал
1 – пассивный сигнал.
Контроллер ПДП захватывает шину на один
цикл, после чего ее отдает.+: Возможность
получить мах возможность передачи данных
(определяется самым медленным устройством)
-простой ЦП (т.к нет подключения к СШ,если у
ЦП нет КЭШа)
Тут память должна иметь 2 порта (для ЦП и
порта ввода вывода) А что делать с простыми
машинами. Прямой доступ к памяти.
Обмен по циклам.
Такой режим называется мультиплексным
Может быть такая ситуация, что контроллер еще
один цикл вставит.
Проблема организацией ввода/вывода в память и
наоборот
Общая идея заключается в том, что передача
данных между отдельными частями системы
происходит без участия процессора. При этом
возможна передача данных двух типов:
1)
2)
Передача данных между памятью и
ВУ- прямой доступ в память
Передача данных между двумя ВУ прямая передача в память
//по разному реализуются
Когда необходимо ВУ-ОП ПДП
вносит запрос ПДП. Потом ЦП
выставляет разрешение ПДП и
Когда подключен ЦП- 1 активный, а другой
пассивный. И шина работает с 1 активным и 1
пассивным. Отключили ЦП и обмен между 2
пассивными. 1) Делаем активным ПДП (играет
роль буфера) принимает и передает. +:
Организовать можем с любым устройством. -:
Скорость обменападает минимум в два раза (т.е
вываем код не берем кладем в буфер, а потом в
усиройство).
Теперь вевдем линию прямого выбора.
Выбора регистра прямого сигнала будет
происходить, прямым сигналом с контроллером
ISA два сигнала: чт ЗУ,зп ЗУ
Два сигнала: чт ВУ,зп ВУ
Адрес не имеет явного признака
принадлежности к ВУ или ЗУ, но воспринимается
адресными
селекторами,
но
устройство
выбирается с помощью сигналов чт ЗУ,зп ЗУ,
чт ВУ, зп ВУ.
КПДП вырабатывает два сигнала: зп ЗУ,
чт ВУ и наоборот.
Сигналы чт ВУ и зп ВУ, идущие от КПДП
подключаются к ШУ от ПВВ
29.Общие подходы к повышению
производительности однопроцессорных
систем.
30.Методы повышения
производительности систем на расчетных
задачах.
модуля с процессором, будет носить командный
характер: ЦП передал команду, функциональный
модуль ее выполнил.
Под словами «повышение производительности»
мы понимаем увеличение в числе. Засчет чего
можно:
1)заставить отдельные элементы работать быстрее
2)увеличение скорость работы, уменьшение
времени (поднимать тактовую частоту, увеличить
скорость дисков →увеличить скорость передачи
данных→ув-е плотности записи) – самое простое
3)машина должна состоять из набора модулей,
каждый модуль должен работать независимо от
соседей, каждый модуль должен реализ работу.
Конвейр (чтение команды исполнение)
Методы повышения производительности могут
быть разделены:
1.расспараллеливание операций (процессов),
протекающих в системе. Для этого необходимо
иметь в системе самостоятельные узлы, которые
могли бы выполнять ряд функций, независимо от
соседей. Т.е. должна быть децентрализация
управления – это, в основном, единственный путь
повышения. Пример: система внепроцессорного
обмена в момент передачи данных – это
децентрализация. (Напр., механизм развёртки в
ЭЛТ).
2.можно у системы отнять управление
периферийными устройствами
1.Частота выборки равна частоте исполнению.. Т.е
время обращения к памят = исполнению
Функциональный модуль может быть:
модуль вычисления математических
функций (можно его назвать
математический сопроцессор).
Модуль обработки видеосигналов.
Модуль обработки сетевой карты.
Модуль обработки модема и т.д.
С точки зрения выполнения функциональных
расширителей, функциональные модули могут
подключатся к
системе
следующими
способами:
1)
Модуль
функционального
расширения,
который
подключается к
системе, как устройство вв/выв (может
работать в режиме прямого доступа).
Программа работы данного устройства
следующая:
(например, подсчитываем sin x и т.д.)
Как сделать так чтобы все работало параллельно,
одновременно.
Для каждой задачи создается свой сегмент
состояния. Запись и чтение информации из этого
сегмента происходит под управлением ЦП. Такой
подход резко увеличивает скорость передачи
информации. В этом случае уже не организуются
циклы команд, а организуются только циклы
передачи данных. Механизм переключения
дескрипторных таблиц в Intel следующий: все
адресное пространство делится на локальное и
глобальное.
Механизм переключения дескрипторных таблиц в
Intel следующий: все
адресное пространство делится на локальное и
глобальное.
31.Комплексирование ЭВМ: методы и
сравнительные характеристики.
Значит две машины (которые в разныех коробка)
должны вместе обмениваться данными, сигналами.
Вопросы возникающие 1.Как соединить 2.Как
управлять
Пути:
1)Децинтрализация
2)Для обеспечения загрузки необходимо
применить принцеп согласованности
взаимодействия отдельных подсистем. => Машину
будем строить по модульному принцепу-> строим
функциональный модуль. И управление
превращается в командный и подключатся должны
простым интерфейсом. Каким образом согласовать
быстрые и медленные шины. На 1 быструю
навешиваем медленные шины.
Способ повышения производительности переход
от программной реализации к аппаратной. Для
машины общего назначения они получили
название функциональных расширителей.
1)Функциональное расширители подключаются
как обычное внешнее устройство.
2) Подключать как сопроцессор т.е подключаем к
процессору.
3) подключается как внутренний модуль
процессора.
С логичеcкой точки зрения различают :
1)Процедура-функция
2)Расширители команд- создается иллюзия, что
как будто в систему добавили новые команды.
Считает, но подглядывает моя команда или не моя.
СоПР подожи ЦП, и выполняет ее
Универсальность-дань производительности.
Сейчас стали ставить микропроцессоры ОЗУ и ПУ
на устройство (устройство специализированно) и
снимает нагрузку с ЦП.
Попытатся внедрить устройство кот
специализированно и берет на себя решение этой
задачи.
С точки зрения железа:
1)Цеплять как обычно внешнее устройство
2)Как сопроцессор
Методы повышения производительности систем на
расчетных задачах.)))))
Можно увеличить функциональные возможности
машины. Для этого мы можем создать
функциональный модуль, который будет
выполнять какую-то определенную задачу, и
которая будет работать параллельно с
процессором. В результате данная задача будет
эффективно выполняться. Взаимодействие данного
2) К системе подключается расширитель
команд.
Идея состоит в следующем: она не требует
специального оборудования. Как правило, во всех
машинах при кодировке кода операции число
команд меньше, чем число операций, т.е. не
используется полностью заполнение при такой
кодировке команд. Например 8 разрядов отводится
под код операции, а 256 (28) операций в машине
нет. Отсюда вводится понятие запрещенная
команда (вырабатывается внутреннее
прерывание).
Мы берем код, который не занят, и занимаем его,
например код sin. Далее мы пишем программу по
обработке sin и программу по обработке этой
запрещенной команды. По терминологии Intel,
расширитель команд называется Coprocessor. Intel
8087 – сопроцессор для Intel 8086. 8087
подключается параллельно по всем линиям.
8087 может находиться в нескольких режимах.
1)
Режим подслушивания: 8087 следит за
ШД – проверяет, что за команда читается
ЦП в цикле чтения команды и сортирует:
“моя – не моя”. Свою команду забирает,
просит доступ к шине из CPU (WAIT) –
программа проверки занятости
сопроцессора – для 286. Функциональным
расширителем может быть не только
математический сопроцессор (загнать в
ROM таблицу Брадхена и подключить его
как ВУ).
2)
Подключить как дополнительный блок
АЛУ (акселератора) это можно было
сделать раньше, но на старых разработках
кристалла.
Проблема оптимальной загрузки оборудования.
В силу того, что большинство программ носит
централизованный характер, децентрализация не
дает повышения производительности. Таким
образом следующие пути ее повышения:
повышать грамотность программиста и
возлагать на него обеспечение
деятельности параллельных действий
попытаться автоматизировать. В машине
одновременно ведется обработка
нескольких устройств, в таком случае
проблема загрузки очень простая.
Аппаратная часть машины ориентирована на
многозадачную работу и должна иметь средства,
поддерживающие эту многозадачность (проблема
переключения с задачи на задачу; система защиты
памяти; проблема разделения памяти между
задачами).
Переключение с задачи на задачу.
1)
Уменьшение времени сохранения и
загрузки состояния машины.
2)
Решение проблемы переключения
дескрипторных таблиц виртуальной
памяти.
Сегмент состояния задачи – область памяти
фиксированного размера, куда переписывается
состояние задачи при сохранении и откуда
восстанавливается состояние задачи при
восстановлении.
Соединить : а) Общая память б) обмен
сообщениями.а) Оп общая С улицы двухпортовая
другое дело как сделать и нужно ли на
современном уровне. Б) Лазить к памяти соседа
можно сделать окно . Упирается все в провода.
Возможности:
1) Использование многопортовой памяти.
Возможны два варианта: а) многопоровая
оперативная память, б) многопортовая внешняя
память.
a)
Эта память является средством
информационного обмена. Возможно два
варианта использования.
-Использование общей области памяти в
режиме прямого общения.
-Использование общей области памяти в режиме
передачи сообщения общения.
б)
> CSI интерфейсы позволяют иметь два
активных контроллера на одной линии.
2) Использование портов ввода/вывода.
Интегрирование интерфейсов периферийных
устройств.
3) Соединение машин через связную аппаратуру.
Где АПД – аппаратура передачи данных.
4) Объединение машин на уровне локальных
сетей.
5) Объединение двух машин на уровне ресурсов.
Применяется чаще всего в машинах с общей
шиной.
-объединение машин с помощью переключателя
шин (ПШ имеет несколько режимов работы, и
один из них - ручной).
ПШ – переключатель шин.
-Объединение ресурсов: использование адаптеров
межпроцессорной связи.
АМС - адаптер межпроцессорной связи.
Окна практически совпадают с методом
расширения памяти. Адресное пространство
другой машины рассматривается как
расширение памяти для данной машины.
Соседняя машина бесправна по отношению к
другой. Для блокирования КПДП вводится
программно-доступный регистр. Это нужно для
того, чтобы программный обмен был
санкционирован.
системы в случае возрастания нагрузки. На
сегодняшний день кластерная технология
ограничена количеством операционных систем,
которые ее поддерживают.
Кластерная архитектура идеологически близка к
MPP архитектуре. Кластерная система
представляет собой набор рабочих станций или
персональных компьютеров общего назначения,
объединенных в систему с помощью одной из
стандартных сетевых технологий (Fast или Gigabit
Ethernet, Myrinet и др.) на базе шинной
архитектуры или коммутатора.
Кластер функционирует как единая система, то
есть для пользователя или прикладной задачи вся
совокупность вычислительной техники выглядит
как один компьютер. Именно это и является самым
важным при построении кластерной системы.
К общим требованиям, предъявляемым к
кластерным системам, относятся:
1.Высокая готовность
2.Высокое быстродействие
3.Масштабирование
4.Общий доступ к ресурса
5.Удобство обслуживания
Существуют три основных вида кластеров: Failover (отказоустойчивые), Load-balancing
(балансировочные, распределяющие нагрузку) и
High Performance Computing
(высокопроизводительные
вычислительные).Существует два подхода при
создании кластерных систем:
1. в единую систему объединяются
полнофункциональные компьютеры, которые
могут работать, в том числе, и как
самостоятельные единицы, например, компьютеры
учебного класса или рабочие станции
лаборатории;
2. целенаправленно создается мощный
вычислительный ресурс, в котором роль
вычислительных узлов играют промышленно
выпускаемые компьютеры, и тогда нет
необходимости снабжать такие компьютеры
графическими картами, мониторами, дисковыми
накопителями и другим периферийным
оборудованием, что значительно удешевляет
стоимость системы.
В последнем случае системные блоки
компьютеров, как правило, компактно
размещаются в специальных стойках, а для
управления системой и для запуска задач
выделяется один или несколько
полнофункциональных компьютеров, которые
называют хост-компьютерами. Преимущества. Вопервых, система пакетной обработки заданий
позволяет послать задание на обработку кластеру в
целом, а не какому-нибудь отдельному
компьютеру, что позволяет обеспечить более
равномерную загрузку компьютеров. Во-вторых,
появляется возможность совместного
использования вычислительных ресурсов
нескольких компьютеров для решения одной
задачи.
Для создания кластера используются
компьютеры, которые могут представлять собой
как простые однопроцессорные системы, так и
обладать сложной архитектурой SMP или даже
NUMA.
Кластеры фирмы DEC.
Первые кластеры фирмы DEC строились на базе
машин VAX. DEC выделила три базовых способа
объединения машин.:
Объединение на базе локальных
сетей – это кластеры NI.
2)
На базе интерфейсов рисковой
памяти – DSSI.
3)
На базе специального интерфейса,
позволяющего соединять машины и
диски между собой – CI.
По технологии Intel можно строить
кластеры отдельно по этим трем соединениям, или
по двум или трем соединениям.
Соединение машин через сеть является
вспомогательным и идет через соединения с
другим.
DSSI строится на основе соединения Digital System
Storage Inter connect – этот интерфейс дает доступ
к накопителям на дисках и взаимодействует с
другими интерфейсами. Этот интерфейс похож на
интерфейс SCSI. Отличие состоит в том, что DSSI
поддерживает прямую передачу данных между
машинами.
1)
32.Кластеры ЭВМ: общая идеология
построения и пути реализации.
Эта архитектура представляет собой классическую
слабосвязанную систему, надежную на уровне
отказов (одиночных), аппаратуры и программного
обеспечения.
Кластер – это многомашинный комплекс, единая
система с точки зрения пользователя. В кластере
есть общая файловая система, гибкость
конфигурирования, возможность наращивания
(малогабаритность), высокая надежность, единое
управление или администрирование всей системы.
Компьютеры кластера имеют общий интерфейс и
способны распределять между собой программную
нагрузку. Здесь имеется возможность широкого
маневра в плане резервирования и расширения
DSSI обеспечивает высокий уровень
защиты данных благодаря поддержке
альтернативных путей доступа и аппаратных
средств коррекции ошибок; поддерживает
структуры с несколькими шинами, что позволяет
увеличить производительность и надежность.
DSSI был реализован на всех машинах VAX – эта
машина относилась к классу супермини ЭВМ.
В основе лежит CI –– звезда. К CI
интегратору может быть подключено до 32
устройств. Причем 16 из этих устройств могут
быть машинами, а 16 – так называемыми
устройствами HSC – это устройство представляет
собой специализированный компьютер для
управления дисковой памятью.
Центральный коммутатор GS (Gida Switch) для
подключения использует обычные сетевые
технологии, со скоростями 100 Мбит/сек. 36портовое устройство, он поддерживает полную
систему коммутации в режиме точка, точка.
Для построения кластера кроме
аппаратной части необходима операционная
система. ОС, используемая в системах DEC – это
DSSI
DSSI
ЛВС
VAX
CI
Интерпретатор
NI
VAX
CI
HSC
DSSI
HSC
OpenMS.
Современные кластеры поддерживают NI.
В зависимости от того какие выполняются задачи,
кластеры делятся: Высокопроизводительные,
Отказоустойчивые, Универсальные
33.Построение высокопроизводительных
кластеров.
С точки зрения машин кластером наз-ся
многомашинный комплекс, представляющий для
внешнего Поль-ля единую систему.
В зависимости от того какие выполняются задачи,
кластеры делятся: Высокопроизводительные
,Отказоустойчивые ,Универсальные
Высокоскоростные кластеры используются для
задач, которые требуют значительной
вычислительной мощности. Классическими
областями, в которых используются подобные
системы, являются:
1.обработка изображений: рендеринг,
распознавание образов
2.научные исследования: физика, биоинформатика,
биохимия, биофизика
3.промышленность (геоинформационные задачи,
математическое моделирование)
Основным качеством, которым должен обладать
высокопроизводительный кластер являтся
горизонтальная масштабируемость, так как одним
из главных преимуществ, которые предоставляет
кластерная архитектура является возможность
наращивать мощность существующей системы за
счет простого добавления новых узлов в систему.
Причем увеличение мощности происходит
практически пропорционально мощности
добавленных ресурсов и может производиться без
остановки системы во время ее
функционирования. В системах с другой
архитектурой (в частности MPP) обычно возможна
только вертикальная масштабируемость:
добавление памяти, увеличение числа процессоров
в многопроцессорных системах или добавление
новых адаптеров или дисков. Оно позволяет
временно улучшить производительность системы.
Однако в системе будет установлено
максимальное поддерживаемое количество
памяти, процессоров или дисков, системные
ресурсы будут исчерпаны, и для увеличеия
производительности придется создавать новую
систему или существенно перерабатывать старую.
Кластерная система также допускает
вертикальную масштабируемость. Таким образом,
за счет вертикального и горизонтального
масштабирования кластерная модель обеспечивает
большую гибкость и простоту увеличения
производительности систем.
Высокопроизводительные
Главная задача при построении такой системы:
увеличить скорость решения сложных задач.
Каждая машина имеет собственную ОС, может
работать независимо от соседней машины, но
повышение производительности системы осущ-ся
за счет распараллеливания вычислений между
отдельными машинами. Строиться может на
обычной сетевой структуре. Такое
распараллеливание вычислений осущ-ся за счет
специализированных программных средств,
которые могут быть как встроенными, так и
внешними.
Высокопроизводительность обеспечивается
высокой производительностью для какой-то
задачи. Нужно повысить скорость обработки 1
задачи.
высокопроизводительных кластеров задача
ставится по другому: ставится не поднять
производительность, а обеспечить
работоспособность системы при выходе
оборудования из строя.Проблемы: при создании
отказоуст кластеров возникает 2 проблемы:
1.определение отказа 2.запуск приложения на
соседней машине
Решение этих задач:определение
отказа машины осуществляется путем слежения за
ее активностью. Одним из простых методов
является – метод прослушивания сердцебиения
(америк)
В рабочей машине запускается фоновая
программа, которая генерирует к-либо линию
связи в короткие сообщения. Через определенный
промежуток времени на второй машине крутится
программа и запускается таумер (на промежуток
времени превышающий период сердцебиения)
Тут никаких спец требований нередявляется тут
надо только оргпнизовать передачу сообщений.
Эта штука не отказаустойчивая т.к если сдохнет,
то машине не обработает данные.
Отказоуйстойчивость, надежность системы.
Требования по откузастойчивости и
быстродействие тут делать надо одно и тоже
внесение избыточности добавление машин.
34.Построение отказоустойчивых
кластеров.
С точки зрения машин кластером наз-ся
многомашинный комплекс, представляющий для
внешнего Поль-ля единую систему.
В зависимости от того какие выполняются задачи,
кластеры делятся: Высокопроизводительные,
Отказоустойчивые,Универсальные
Задача отказоустойчивого кластера — обеспечение
доступности сервиса в сети за счет минимальнонеобходимого времени восстановления после сбоя
любого происхождения (пожар, аппаратная
ошибка, атака и др.). Время восстановления
сервиса в таком кластере, как правило, не должно
превышать нескольких минут, а в ряде случаев, в
зависимости от требований, и секунд. Суть работы
отказоустойчивого кластера заключается в
способности отслеживать состояние узлов
кластера и запущенных сервисов и, при
обнаружении сбоя, перезапуска сервисов на
свободных узлах кластера
Данная схема отображает кластер с
отсутствующими точками отказа (null point of
failure), то есть в системе нет такого узла, отказ
которого повлек бы отказ системы. На схеме оба
RAID-массива функционируют в режиме зеркала
между собой, так что отказ одного массива не
повлечет отказа системы. В отличие от
Задача: если 1 ЭВМ ломается, остальное работает.
Мы должны иметь доступ к дискам, одинаковые
данные. 1) Тут поддерживать синхронизацию 2)
иметь общие диски.
Пусть 1 машину называем г лавной, а резервная не
работает и ждем пока. Главная сдохла. Но надо
узнать когда 1 сдохнет. Механизм подачи должен
быть программным (т.к если программа не
работает, то что-то не работает. Сделаем образ
памяти и если сбой то восстанавливаем (мах откат
размер ОП).
Т.к 2 простаивает делаем отказоустойчивость с
переключением нагрузки. Но тут нужно
сердцебиение в обе стороны. Если одна умерла, то
другая все на себя берет и наоборот. И еще может
пакет сердцебиением передавать через сеть.
35.Основные подходы к построению
многопроцессорных систем.
Понятие многопроцессорность связанное не с тем
сколько их, а связанно с тем,чем они занимаются:
Чем отличаются многопроцессорные системы
1)Отношение процессор-> память
2)У каждого своя память
3)Физически у каждого своя, а логически общая (
т.е могут лазить к другим)
Приходится решать две задачи:
1.Разрешение состязаний на общий ресурс.
2.Обеспечение межпроцессорного взаимодействия.
В зависимости от решения этих задач получают
различные функциональные схемы систем, с
возможными характеристиками и параметрами.
При рассмотрении многопроцессорных систем
используют несколько классификаций:
1. Классификация с точки зрения
функционального назначения. При этом
выделяют три группы:
а) Мкропроцессорные системы с функциональным
назначением –Вся система разбивается на ряд
функциональных модулей. В каждом модуле есть
процессор для решения конкретной задачи
б) Система с незакрепленными функциями. В
таких системах имеется несколько процессоров,
которые являются равноправными и могут
самостоятельно выполнять различные программы
или их фрагменты. Задачи не являются строго
закрепленными и иногда описываются термином
симметричные (одинаковые).
в) Системы с перестраиваемой структурой.
2. Классификация с точки зрения
взаимодействия процессоров.
Выделяют две группы:
-Системы со слабосвязанными системами.
-Системы с сильносвязанными системами.
Обычно сильносвязанными называются системы,
если взаимодействие не выходит за пределы
некоторой рассматриваемой системы.
С точки зрения фирмы Intel имеется три
группы связей между процессорами:
1.Сопроцессорная связь.
2.Сильносвязанная связь.
3.Слабосвязанная связь.
Любая вычислительная система (будь то суперЭВМ или персональный компьютер) достигает
своей наивысшей производительности благодаря
использованию высокоскоростных элементов и
параллельному выполнению большого числа
операций. Именно возможность параллельной
работы различных устройств системы (работы с
перекрытием) является основой ускорения
основных операций.
Можно выделить четыре основных типа
архитектуры систем параллельной обработки:
1) Конвейерная и векторная обработка.
Основу конвейерной обработки составляет
раздельное выполнение некоторой операции в
несколько этапов (за несколько ступеней) с
передачей данных одного этапа следующему.
Производительность при этом возрастает
благодаря тому, что одновременно на различных
ступенях конвейера выполняются несколько
операций. Конвейеризация эффективна только
тогда, когда загрузка конвейера близка к полной, а
скорость подачи новых операндов соответствует
максимальной производительности конвейера.
Если происходит задержка, то параллельно будет
выполняться меньше операций и суммарная
производительность снизится. Векторные
операции обеспечивают идеальную возможность
полной загрузки вычислительного конвейера.
2) Машины типа SIMD. Машины типа SIMD
состоят из большого числа идентичных
процессорных элементов, имеющих собственную
память. Все процессорные элементы в такой
машине выполняют одну и ту же программу.
Очевидно, что такая машина, составленная из
большого числа процессоров, может обеспечить
очень высокую производительность только на тех
задачах, при решении которых все процессоры
могут делать одну и ту же работу. Модель
вычислений для машины SIMD очень похожа на
модель вычислений для векторного процессора:
одиночная операция выполняется над большим
блоком данных.
3) Машины типа MIMD. Термин
"мультипроцессор" покрывает большинство
машин типа MIMD и (подобно тому, как термин
"матричный процессор" применяется к машинам
типа SIMD) часто используется в качестве
синонима для машин типа MIMD. В
мультипроцессорной системе каждый
процессорный элемент (ПЭ) выполняет свою
программу достаточно независимо от других
процессорных элементов. Процессорные
элементы, конечно, должны как-то связываться
друг с другом, что делает необходимым более
подробную классификацию машин типа MIMD. В
мультипроцессорах с общей памятью
(сильносвязанных мультипроцессорах) имеется
память данных и команд, доступная всем ПЭ. С
общей памятью ПЭ связываются с помощью
общей шины или сети обмена. В
противоположность этому варианту в
слабосвязанных многопроцессорных системах
(машинах с локальной памятью) вся память
делится между процессорными элементами и
каждый блок памяти доступен только связанному с
ним процессору. Сеть обмена связывает
процессорные элементы друг с другом.
4) Многопроцессорные машины с SIMDпроцессорами. Многие современные супер-ЭВМ
представляют собой многопроцессорные системы,
в которых в качестве процессоров используются
векторные процессоры или процессоры типа
SIMD. Такие машины относятся к машинам класса
MSIMD.
Многопроцессорные системы за годы развития
вычислительной техники претерпели ряд этапов
своего развития. Исторически первой стала
осваиваться технология SIMD. Однако в
настоящее время наметился устойчивый интерес к
архитектурам MIMD. Этот интерес главным
образом определяется двумя факторами:
1. Архитектура MIMD дает большую гибкость: при
наличии адекватной поддержки со стороны
аппаратных средств и программного обеспечения
MIMD может работать как однопользовательская
система, обеспечивая высокопроизводительную
обработку данных для одной прикладной задачи,
как многопрограммная машина, выполняющая
множество задач параллельно, и как некоторая
комбинация этих возможностей. 2. Архитектура
MIMD может использовать все преимущества
современной микропроцессорной технологии на
основе строгого учета соотношения
стоимость/производительность. В
действительности практически все современные
многопроцессорные системы строятся на тех же
микропроцессорах, которые можно найти в
персональных компьютерах, рабочих станциях и
небольших однопроцессорных серверах.
Одной из отличительных особенностей
многопроцессорной вычислительной системы
является сеть обмена, с помощью которой
процессоры соединяются друг с другом или с
памятью. Модель обмена настолько важна для
многопроцессорной системы, что многие
характеристики производительности и другие
оценки выражаются отношением времени
обработки к времени обмена, соответствующим
решаемым задачам. Существуют две основные
модели межпроцессорного обмена: одна основана
на передаче сообщений, другая - на использовании
общей памяти.
медленная схема; Приоритет в такой структуре
определяется местом установки в цепочку местом
установки в разрешение.
Слабосвязанные конфигурации
В слабоявязанных конфигурациях любой
процессорный модель может быть ведущим и
может содержать в себе сколько угодно
прецессоров. В слабоявязанных конфигурациях
прямые связи между процессорами отсутствуют, и
взаимодействие осуществляется через общий
ресурс, либо путем передачи сообщения. Если
взаимодействие осуществляется через общий
ресурс, то возникает проблема организации
доступа к этому ресурсу. Эту проблему решает
арбитр.Схемы арбитража:
Главный владеет ресурсами. Все остальные могут
получить доступ к системным ресурсам, через
запрос к главному. Если второстипенных
несколько, то назначаются приоритеты. Для этого
можно использовать специально
спроектированные процессоры. Если у нас есть
процессор который спроктированн как главный и
их несколько, то будет конфликт и не можем
построить текущую конфигурацию. Но есть
процессоры которые могут быть и главными и
второстепенными. (Т.е по внешнему сигналу
меняют конфигурацию.) Есть которые которые
бывают только второстипенные. Приоритеты
бывают по подключению (кто ближе то и
приоритетнее) По закрепленному приоритету
(задается процессором)Выпускаемые
микропроцессоры могут быть только ведущими,
только ведомыми или ведущими и
ведомыми.Intel 286, 386 –спроектированы, как
ведущие. Очень сложно на их основе построить
сильносвязанную систему.Pentium может быть как
ведущим, так и ведомым, т.е. можно на его основе
построить сильносвязанную систему (т.е. можно,
например, подключить два Pentium параллельно, а
наблюдателю видна работа только одного, хотя
они работают вдвоем).Дуальная архитектура использование двух Pentium - ов в
тесновзаимосвязанной конигурации – один из
Pentuim-щв является ведущим, другой –
ведомый.Тесновзаимосвязанная система их 4-х
процессоров.
87-ой
можно
рассматрив
ать как
сопроцессо
р.
Ведущий 1
Запрос занято
Ведущий 2
Запрос занято
адрес
запрос
занято
В такой структуре в ответ на запрос при снятии
сигнала
занято
арбитр
генерирует
последовательность адресов; когда модуль узнает
свой адрес он выставляет сигнал занято. Такая
схема свободна от недостатков предыдущей схема.
Типовая конфигурация
Приоритеты определяются не соединением
модулей между собой, а порядком опроса – это
плюс.
Минус: арбитр сложнее; время арбитража больше.
Метод независимых запросов.
Один ЦП главный, а остальные
второстепенные. Сначала надо посмотреть в
паспор может ли ЦП главным или
второстепенным. Тогда один главный, а второй
второстепенный.
Что делать если все главные.
При этом методе каждый модуль имеет отдельную
пару линий запроса и разрешения.
Ведущий 1
Разр зпр зан
А
Ведущий 2
Разр зпр зан
Разреш 1
Запрос 1
Разреш N
Запрос N
занято
Самая быстрая; достаточно плохо расширяется
(сделаешь арбитр на 8 устройств, то 9 устройств
еже не прицепишь); достаточно сложный арбитр.
Арбитр должен представлять некотурую схему
приоритетного выбора (выбирать должен запрос в
соответствии с приоритетом).
36. Сильно связанные и слабо связанные
многопроцессорные системы
В сильносвязанных структурах имеется
возможность соединения нескольких процессоров,
причем они разделяют все линии интерфейса, и
выглядят, как один процессор с точки зрения
внешнего наблюдателя. В таких структурах всегда
имеется ведущий процессор и несколько ведомых.
Структура будет следующая:
А
1)Последовательный арбитраж
Ключевым моментом реализации в
многопроцессорных системах с небольшим числом
процессоров как схемы записи с аннулированием,
так и схемы записи с обновлением данных,
является использование для выполнения этих
операций механизма шины. Для выполнения
операции обновления или аннулирования
процессор просто захватывает шину и транслирует
по ней адрес, по которому должно производиться
обновление или аннулирование данных. Все
процессоры непрерывно наблюдают за шиной,
контролируя появляющиеся на ней адреса.
Процессоры проверяют не находится ли в их кэшпамяти адрес, появившийся на шине. Если это так,
то соответствующие данные в кэше либо
аннулируются, либо обновляются в зависимости от
используемого протокола. Последовательный
порядок обращений, присущий шине,
обеспечивает также строго последовательное
выполнение операций записи, поскольку когда два
процессора конкурируют за выполнение записи в
одну и ту же ячейку, один из них должен получить
доступ к шине раньше другого. Один процессор,
получив доступ к шине, вызовет необходимость
обновления или аннулирования копий в других
процессорах. В любом случае, все записи будут
выполняться строго последовательно. Один из
выводов, который следует сделать из анализа этой
схемы заключается в том, что запись в
разделяемый элемент данных не может
закончиться до тех пор, пока она не захватит
доступ к шине.
Есть другой способ который можно свести к
способу опроса. При реализации способа опроса
может быть введена линя адресации (шина адреса)
модулей.
1. Шина
Схемы арбитража:
Можно выделить несколько способов (приемов)
приоритетного выбора:
1)
Приоритетная
цепочка
(относится
последовательным схемам арбитража)
к
2) Опрос (относится к последовательным схемам
арбитража)
3) Независимое опрашивание
параллельным схемам арбитража)
(относится
к
Приоритетная цепочка – самый простой способ.
Ведущий
1
1 2 3 4
арбитр
Ведущий
1
1 2 3 4
Ведущий
1
1 2 3 4
разрешение
опрос
занято
Линии по
принципу
монтажного
ИЛИ
Возникает проблема
разделения общей шины и
есть недостаток: нельзя
параллельно передавать
данные.
2. Топология последовательнного соединения
модулей, которое называется цепь или шлейф.
У каждого модуля
должно быть 2
порта: для приема и передачи данных.
3. Кольцевая структура.
Возможно
построени
е
одинарног
ои
двойного кольца. Это двойное кольцо.
Система с двойными кольцами обладает
повышенной живучестью.
В одинарном кольце выход из строя любого
элемента приводит к нарушению связи.
4. Матричные структуры
5. Звезда
6.
Полносвязанная
Каждое устройство имеет 4 линии:
1)
вход разрешения
2)
выход разрешения
3)
линия запрос
4)
линия занято
Когда какой-либо процессор хочет получить
доступ к СШ, он выставл сигнал – запрос доступа.
В исходном состоянии все процессоры от СШ
отключены. Арбитр шины выдает сигнал
разрешения, если сигнал запрос активен, а сигнал
записи активен.
Является самой простой, требует минимум затрат,
основной недостаток: в такой системе надо
следить за сохранностью линий разрешения, самая
Обладает живучестью.
37.SMP системы: основные структуры, достоинства
и недостатки.
SMP-архитектура
SMP (symmetric multiprocessing) – симметричная
многопроцессорная архитектура. Главной
особенностью систем с архитектурой SMP является
наличие общей физической памяти, разделяемой
всеми процессорами.
Память служит, в частности, для передачи
сообщений между процессорами, при этом все
вычислительные устройства при обращении к ней
имеют равные права и одну и ту же адресацию для
всех ячеек памяти. Поэтому SMP-архитектура
называется симметричной. Последнее
обстоятельство позволяет очень эффективно
обмениваться данными с другими
вычислительными устройствами. SMP-система
строится на основе высокоскоростной системной
шины (SGI PowerPath, Sun Gigaplane, DEC
TurboLaser), к слотам которой подключаются
функциональные блоки типов: процессоры (ЦП),
подсистема ввода/вывода (I/O) и т. п. Для
подсоединения к модулям I/O используются уже
более медленные шины (PCI, VME64). Наиболее
известными SMP-системами являются SMPcерверы и рабочие станции на базе процессоров
Intel (IBM, HP, Compaq, Dell, ALR, Unisys, DG,
Fujitsu и др.) Вся система работает под
управлением единой ОС (обычно UNIX-подобной,
но для Intel-платформ поддерживается Windows
NT). ОС автоматически (в процессе работы)
распределяет процессы по процессорам, но иногда
возможна и явная привязка.
Основные преимущества SMP-систем: 1.простота
и универсальность для программирования.
Архитектура SMP не накладывает ограничений на
модель программирования, используемую при
создании приложения: обычно используется
модель параллельных ветвей, когда все
процессоры работают независимо друг от друга.
Однако можно реализовать и модели,
использующие межпроцессорный обмен.
Использование общей памяти увеличивает
скорость такого обмена, пользователь также имеет
доступ сразу ко всему объему памяти. Для SMPсистем существуют довольно эффективные
средства автоматического распараллеливания;
2.простота эксплуатации. Как правило, SMPсистемы используют систему кондиционирования,
основанную на воздушном охлаждении, что
облегчает их техническое обслуживание;
3.относительно невысокая цена.
Недостатки: системы с общей памятью плохо
масштабируются.
Этот существенный недостаток SMP-систем не
позволяет считать их по-настоящему
перспективными. Причиной плохой
масштабируемости является то, что в данный
момент шина способна обрабатывать только одну
транзакцию, вследствие чего возникают проблемы
разрешения конфликтов при одновременном
обращении нескольких процессоров к одним и тем
же областям общей физической памяти.
Вычислительные элементы начинают друг другу
мешать. Когда произойдет такой конфликт,
зависит от скорости связи и от количества
вычислительных элементов. В настоящее время
конфликты могут происходить при наличии 8-24
процессоров. Кроме того, системная шина имеет
ограниченную (хоть и высокую) пропускную
способность (ПС) и ограниченное число слотов.
Все это очевидно препятствует увеличению
производительности при увеличении числа
процессоров и числа подключаемых
пользователей. В реальных системах можно
задействовать не более 32 процессоров. Для
построения масштабируемых систем на базе SMP
используются кластерные или NUMAархитектуры. При работе с SMP-системами
используют так называемую парадигму
программирования с разделяемой памятью (shared
memory paradigm).
38.MPP системы: основные структуры,
достоинства и недостатки.
MPP (massive parallel processing) – массивнопараллельная архитектура. Главная особенность
такой архитектуры состоит в том, что память
физически разделена. В этом случае система
строится из отдельных модулей, содержащих
процессор, локальный банк операционной памяти
(ОП), коммуникационные процессоры (рутеры) или
сетевые адаптеры, иногда – жесткие диски и/или
другие устройства ввода/вывода. По сути, такие
модули представляют собой полнофункциональные
компьютеры (см. рис.21.2). Доступ к банку ОП из
данного модуля имеют только процессоры (ЦП) из
этого же модуля. Модули соединяются
специальными коммуникационными каналами.
Пользователь может определить логический номер
процессора, к которому он подключен, и
организовать обмен сообщениями с другими
процессорами. Используются два варианта работы
операционной системы (ОС) на машинах MPPархитектуры. В одном полноценная операционная
система (ОС) работает только на управляющей
машине (front-end), на каждом отдельном модуле
функционирует сильно урезанный вариант ОС,
обеспечивающий работу только расположенной в
нем ветви параллельного приложения. Во втором
варианте на каждом модуле работает полноценная
UNIX-подобная ОС, устанавливаемая отдельно.
Главным преимуществом систем с раздельной
памятью является хорошая масштабируемость: в
отличие от SMP-систем, в машинах с раздельной
памятью каждый процессор имеет доступ только к
своей локальной памяти, в связи с чем не
возникает необходимости в потактовой
синхронизации процессоров. Практически все
рекорды по производительности на сегодня
устанавливаются на машинах именно такой
архитектуры, состоящих из нескольких тысяч
процессоров (ASCI Red, ASCI Blue Pacific).
Недостатки: 1. отсутствие общей памяти заметно
снижает скорость межпроцессорного обмена,
поскольку нет общей среды для хранения данных,
предназначенных для обмена между
процессорами. Требуется специальная техника
программирования для реализации обмена
сообщениями между процессорами;
2.вследствие указанных архитектурных
недостатков требуются значительные усилия для
того, чтобы максимально использовать системные
ресурсы. Именно этим определяется высокая цена
программного обеспечения для массивнопараллельных систем с раздельной памятью.
3.каждый процессор может использовать только
ограниченный объем локального банка памяти;
Системами с раздельной памятью являются
суперкомпьютеры МВС-1000, IBM RS/6000 SP,
SGI/CRAY T3E, системы ASCI, Hitachi SR8000,
системы Parsytec.Машины последней серии CRAY
T3E от SGI, основанные на базе процессоров Dec
Alpha 21164 с пиковой производительностью 1200
Мфлопс/с (CRAY T3E-1200), способны
масштабироваться до 2048 процессоров.При
работе с MPP-системами используют так
называемую Massive Passing Programming Paradigm
– парадигму программирования с передачей
данных (MPI, PVM, BSPlib).
39.Многопроцессорные системы с NUMA
архитектурой: достоинства и недостатки.
Главная особенность гибридной архитектуры
NUMA (nonuniform memory access) – неоднородный
доступ к памяти.Гибридная архитектура совмещает
достоинства систем с общей памятью и
относительную дешевизну систем с раздельной
памятью. Суть этой архитектуры – в особой
организации памяти, а именно: память физически
распределена по различным частям системы, но
логически она является общей, так что пользователь
видит единое адресное пространство. Система
построена из однородных базовых модулей (плат),
состоящих из небольшого числа процессоров и
блока памяти. Модули объединены с помощью
высокоскоростного коммутатора. Поддерживается
единое адресное пространство, аппаратно
поддерживается доступ к удаленной памяти, т.е. к
памяти других модулей. При этом доступ к
локальной памяти осуществляется в несколько раз
быстрее, чем к удаленной. По существу,
архитектура NUMA является MPP (массивнопараллельной) архитектурой, где в качестве
отдельных вычислительных элементов берутся SMP
(cимметричная многопроцессорная архитектура)
узлы. Доступ к памяти и обмен данными внутри
одного SMP-узла осуществляется через локальную
память узла и происходит очень быстро, а к
процессорам другого SMP-узла тоже есть доступ,
но более медленный и через более сложную
систему адресации.
Структурная схема компьютера с гибридной
сетью: четыре процессора связываются между
собой при помощи кроссбара в рамках одного
SMP-узла. Узлы связаны сетью типа "бабочка"
(Butterfly):
К основным достоинствам NUMA архитектуры
следует отнести следующие положения.
1. На базе NUMA архитектуры можно
построить
систему
с
большим
числом
процессоров, чем SMP, т.е. вычислительная
система хорошо масштабируется по числу
процессоров, а следовательно и по памяти.
2. Масштабирование NUMA систем не
добавляет сложности в логическую часть
аппаратуры, что увеличивает устойчивость
вычислительной системы в целом, одновременно,
снижая общую стоимость.
3. На NUMA архитектуру хорошо ложатся
задачи, в которых множество процессов не
пересекаются по общим данным, либо при
пересечении все процессы могут быть исполнены в
рамках одного модуля.
4. На основе NUMA архитектуры легко
реализуется разбиение системы на виртуально
независимые
машины
(партиции
это
программная
или
аппаратная
реализация
виртуальной машины).
К недостаткам NUMA архитектуры следует
отнести нижеследующие положения.
1. Необходимость иметь специализированное
системное программное обеспечение, которое
организует вычислительный процесс, исходя из
основного принципа NUMA архитектуры - память
и процессоры для процесса должны принадлежать
одному модулю. Только выполняя это условие,
можно
достичь
высокой
эффективности
применения компьютеров с NUMA архитектурой.
2. Большинство кодов прикладных программ
оттранслированы для SMP систем и запуск их без
перекомпиляции на NUMA системах, вполне
вероятно, не приведет к эффективному их
исполнению. Такое заключение сделано на основе
положения,
что
транслятор
в
основном
запрашивает
требуемую
для
задачи
как
статическую, так и динамическую память и
естественно
оказывает
влияние
на
её
распределение.
Это положение требует дополнительного
исследования, а ещё лучше подтверждения
практикой, т.к. сомнения вызывает механизм
отображения виртуальной памяти на физическую,
на который в ОС возложена обязанность учета
архитектуры вычислительной системы.
Впервые идею гибридной архитектуры предложил
Стив Воллох, он воплотил ее в системах серии
Exemplar. Вариант Воллоха – система, состоящая
из восьми SMP-узлов. Фирма HP купила идею и
реализовала на суперкомпьютерах серии SPP.
Идею подхватил Сеймур Крей (Seymour R.Cray) и
добавил новый элемент – когерентный кэш, создав
так называемую архитектуру cc-NUMA (Cache
Coherent Non-Uniform Memory Access), которая
расшифровывается как "неоднородный доступ к
памяти с обеспечением когерентности кэшей". Он
ее реализовал на системах типа Origin.
40.Методы организации доступа к Общей шине в
многопроцессорных системах.
Логика управления доступом к общей шине
должна обеспечивать режим, в котором в любой
момент времени линией управляет только один
ведущий. Одновременные запросы к шине
разрешаются на основе приоритетов.
буферов выходного разрешения. (время от
момента сигнала занято до момента захвата шины
самое маленькое).
Приоритетная шифрация породит 3-х разрядный
код; дешифрация породит 8 линий.
Структура
процессорного
модуля
для
Можно выделить несколько способов (приемов)
приоритетного выбора:
1)
Приоритетная
цепочка
(относится
последовательным схемам арбитража)
занято
дешифратор
(относится
по 3
к
Приоритетный
шифратор
Приоритетная цепочка – самый простой способ.
Ведущий
1
1 2 3 4
арбитр
Ведущий
1
1 2 3 4
запросы
Ведущий
1
1 2 3 4
многопроцессорных систем на базе общей шины.
По минимум должно быть :
разрешение
опрос
занято
Каждое устройство имеет 4 линии:
разрешения,
линия
Когда какой-либо процессор хочет получить
доступ к СШ, он выставил сигнал – запрос
доступа. В исходном состоянии все процессоры от
СШ отключены. Арбитр шины выдает сигнал
разрешения, если сигнал запрос активен, а сигнал
записи активен.
Является самой простой, требует минимум затрат,
основной недостаток: в такой системе надо
следить за сохранностью линий разрешения, самая
медленная схема; Приоритет в такой структуре
определяется местом установки в цепочку местом
установки в разрешение.
Есть другой способ который можно свести к
способу опроса. При реализации способа опроса
может быть введена линя адресации (шина адреса)
модулей.
Структура будет следующая:
Ведущий 1
Запрос занято
А

В
минимальной
конфигурации
процессорный
модуль
для
многопроцессорных систем с общей шиной
должен содержать процессор, схему
доступа к системной шине.

Схема доступа к системной шине состоит
из части схемы, которая взаимодействует с
арбитром.
Линии по
принципу
монтажного
ИЛИ
вход разрешения, выход
запрос, линия занято
Если система отказывает, то ее можно
восстановить по тем данным, что есть в памяти. В
многопроцессорной системе выигрыш будет при
почти любом КЭШ, за счет уменьшения
обращения к системной шине и как следствие
меньшего простоя в очереди. Вместо ЦП в
процессорных модулях может находиться любая
конфигурация модулей Большое внимание
уделяется ширине линий у КЭШа и шины.
к
2) Опрос (относится к последовательным схемам
арбитража)
3) Независимое опрашивание
параллельным схемам арбитража)
Параллельность за счет КЭШа, и есть время когда
процессор во внешний мир не лезет.
Ведущий 2
Запрос занято
адрес
запрос
занято
В такой структуре в ответ на запрос при снятии
сигнала
занято
арбитр
генерирует
последовательность адресов; когда модуль узнает
свой адрес он выставляет сигнал занято. Такая
схема свободна от недостатков предыдущей схема.
Приоритеты определяются не соединением
модулей между собой, а порядком опроса – это
плюс.
Минус: арбитр сложнее; время арбитража больше.
Адрес,данные,управление
ЦП
А,Д,У
СШИ
СШ
А,Д,У
ОЗУ
Сигнал
готовнос
ти
Арб1
Когда ЦП вырабатывает любой цикл обращения
со схемы шинного интерфейса выделяется запрос.
Он идет на арбитр. На запрос на шины
вырабатывается сигнал готов и т.д. Захват идет на
один цикл, по его истечении выключается схема
шинного интерфейса.
41.Проблемы обеспечения когерентности КЭШ в
многопроцессорных системах.
Что такое согласование кэша? В контексте
многоядерных процессоров согласование кэша
относится к целостности данных, хранящихся в
кэше каждого ядра. Но почему согласование кэша
так важно? Для ответа на этот вопрос я обращусь к
многоядерным процессорам, показанным на
рисунке 1. Предположим, что имеется две нити,
выполняющиеся на процессоре; одна в ядре 1 и
одна в ядре 2. Теперь представим, что каждое ядро
получает из основной памяти переменную ‘x’ и
помещает эту переменную в свой кэш. Теперь, если
ядро 1 изменит значение переменной ‘x’, то
значение, которое хранится в кэше ядра 2 для
переменной ‘x’ рассинхронизовано со значениемя в
кэше ядра 1. Это важная проблема многоядерных
процессоров. Фактически, эта проблема не очень
отличается от проблемы многопроцессорного (на
многих микросхемах) согласования кэша.
Проблема когерентности (согласованности)
первичных модулей кэш- памяти возникает в
многопроцессорных системах при параллельной
обработке массивов разделяемых данных, именно
при использовании обратной записи. Но при
записи данных одним процессором с обратной
записью, денные в оперативной памяти и,
возможно, в локальных модулях других
процессоров становятся устаревшими, т.е.
нарушается когерентность содержимого в кэшпамяти не только в оперативной памяти, но и в
других процессорах
В многоядерных процессорах проблема
согласования кэша решена использованием
внутриядерной шины. Внутриядерная шина – это
шина, которая соединена с кэшем каждого ядра;
смотрите на рисунке 2.
Доступ к шине имеет разное время, как будто на
шине стоит то медленное, то быстрое устройство.
Если на шине нет никого, то цикл шины будет
самым быстрым.
Самый
главный
недостаток
–
такая
межпроцессорная система с точки зрения
производительности
даст
незначительный
выйгрыш, который идет за счет уменьшения
времени преключения с задачи на задачу.
Процессорный модуль представляет из себя
законченный микроконтроллер с собственной
памятью и системой ввода/вывода.
С
точки
зрения
адресного
пространства
процессора есть две области: локальная и
системная область адресов. Если обращение идет к
локальной области, то процессор работает как
обычная однопроцессорная система. Если к
системной области, то все работает как в
предыдущем случае.
Рисунок 2: Многоядерная микросхема с
внутриядерной шиной (любезно предоставлена
csail.mit.edu)
Протокол согласования кэша
Существует два основных метода использования
внутриядерной шины для извещения других ядер,
Метод независимых запросов.
Плюсы – достигается реальная параллельная
работа модулей.
когда ядро меняет что-либо в своем кэше. Один
При этом методе каждый модуль имеет отдельную
пару линий запроса и разрешения.
Минусы – такая структура требует более сложной
диспетчеризации.
обновления если ядро 1 изменяет переменную ‘x’,
Ведущий 1
Разр зпр зан
А
Ведущий 2
Разр зпр зан
Разреш 1
Запрос 1
Разреш N
Запрос N
занято
Самая быстрая; достаточно плохо расширяется
(сделаешь арбитр на 8 устройств, то 9 устройств
еже не прицепишь); достаточно сложный арбитр.
Арбитр должен представлять некотурую схему
приоритетного выбора (выбирать должен запрос в
соответствии с приоритетом).
Время срабатывания – это время сратабвания
Такая
КЭШ
СШ
систем
а
А,Д,У
А,Д,У
требует
ЦП
СШИ
более
ОЗУ
сильно
готов
й
диспет
Арб1
чериза
ции.
Нужно было упростить диспетчеризацию и
соблюдать одновременно параллельность и
сделали следующее: поставили КЭШ.
В
современных микропроцессорах
КЭШ
обязательно стоит внутри, по размеру этот КЭШ
довольно маленький, и для построения долее
сложной системы желательно было бы, чтобы
КЭШ был больше, и поэтому еще ставят и
внешнюю КЭШ, (примерно на 4Мб и больше).
метод упоминается как ‘обновление’. В методе
оно отправляет обновленное значение ‘x’ по
внутриядерной шине. Каждый кэш постоянно
слушает внутриядерную шину; если кэш видит на
шине переменную, копия которой у него есть, он
прочитает обновленное значение. Это позволяет
удостовериться, что все кэши содержат наиболее
свежее значение переменной
Другой метод, который использует внутриядерную
шину называется аннулирование. Этот метод
посылает сообщение аннулирования по
внутриядерной шине при изменении переменной.
Другие кэши прочитают этот сигнал
аннулирования, и если их ядро попытается
получить доступ к этой переменной, результатом
будет отсутствие ее в кэше и переменная будет
прочитана из основной памяти.Метод обновления
вызывает значительное количество трафика на
внутриядерной шине, поскольку сигнал
обновления должен посылаться по шине при
2. Протоколы наблюдения (snooping). Каждый
кэш, который содержит копию данных некоторого
блока физической памяти, имеет также
соответствующую копию служебной информации
о его состоянии.
каждом обновлении переменной. Метод
аннулирования требует лишь посылки сигнала
аннулирования при первом изменении
переменной; вот почему метод аннулирования
более предпочтительный.
MSI – это основной, хорошо известный протокол
согласования кэша. MSI означает Modified, Shared,
and Invalid (измененный, общий,
недействительный). Имеется три состояния, в
которых может находиться линия кэша.
Измененное состояние означает, что переменная в
кэше была изменена и, таким образом, имеет
отличное значение от того, которое находится в
основной памяти; кэш отвечает за запись
переменной назад в память. Общее состояние
означает, что переменная имеется по меньшей
мере в одном кэше и не изменена; кэш может
удалить переменную без записи ее обратно в
основную память. Недействительное состояние
означает, что значение переменной было изменено
другим кэшем и эта переменная недействительна;
кэш должен прочитать новое значение из основной
памяти (или из другого кэша).I
Другой хорошо известный протокол согласования
кэша – это протокол MESI. MESI означает
Modified, Exclusive, Shared, and Invalid
(измененный, единственный, общий,
недействительный). Состояния измененный и
недействительный для этого протокола точно
такие же как и для протокола MSI. Этот протокол
представляет новое состояние – единственное.
Единственное состояние означает, что переменная
имеется только в этом кэше, и ее значение
совпадает со значением в основной памяти. Теперь
это означает, что общее состояние показывает, что
переменная содержится в более чем одном кэше.
Протокол MOSI идентичен протоколу MSI за
исключением того, что он добавляет состояние
Owned (принадлежащий). Состояние
принадлежащий означает, что процессор «владеет»
переменной и будет предоставлять текущее
значение другим кэшам, когда они запросят (или
как минимум он решит, что предоставит его при
запросе). Это полезно, потому что другому кэшу
не нужно будет читать значение из основной
памяти и получит его от «Владеющего» кэша на
много, на много быстрее.
Согласование кэша на основе каталога
Описанные выше протоколы работают очень
хорошо и в большинстве случаев замечены и в
многоядерных и в многопроцессорных системах. В
примере многоядерного процессора, показанного
мною выше, эти протоколы будут работать
хорошо. В будущем, когда процессоры будут
содержать множество ядер, я уверен, что эти типы
протоколов будут генерировать значительный
трафик по внутриядерной шине. Один из методов
преодоления этого будет состоять в использовании
подхода на основе каталога. В подходе на основе
каталога каждый кэш может связывать состояние
его переменных с единственным каталогом вместо
трансляции состояния всем ядрам.
1. Протоколы на основе справочника (directory
based). Информация о состоянии блока физической
памяти содержится только в одном месте,
называемом справочником (физически справочник
может быть распределен по узлам системы).
42.Общие подходы к повышению
надежности систем.
Не выводить из режимов нормального состояния.
Технологическая время работы на отказ.
Существует два подхода к повышению
надежности: уменьшение количества сбоев или,
что еще лучше, ускоренная реанимация системы.
Для операторов спутниковых приемных станций
пятикратное уменьшение времени перезагрузки
оказалось более предпочтительным, нежели
увеличение во столько же раз времени между
сбоями, хотя и то и другое определяло одинаковый
уровень надежности.
На сегодня наиболее распространенный способ
исправления сбоев - перезагрузка всей системы,
требующая от 10 с (если перезагружается только
одно приложение) до 1 мин. (если перезагружается
весь комплекс). По результатам исследований,
микроперезагрузка
только
необходимых
компонентов
занимает
меньше
секунды.
Пользователь не видит сообщение об ошибке, а
замечает лишь несколько секундную задержку.
Обеспечение надежности.
Требования
к
надежности
определяются
назначением вычислительной системы и задаются,
как
правило,
минимальным,
допустимым:
коэффициентом
готовности, характеризующим долю времени,
втечение
которого
система
сохраняет
работоспособность. В общем случае коэффициент
готовности ,где T – средняя наработка на отказ и
Тв – среднее время восстановления. Для систем
повышенной надежности, которые должны
функционировать непрерывно, требование к
надёжности может характеризоваться предельным
допустимым числом часов простоя системы в
заданный период времени, например 2 часа за
10лет работы. В тех случаях, когда некоторые
группы отказов приводят к прекращению
обслуживания отдельных пользователей при
сохранении
работоспособности
остальных,
требования к надежности задаются раздельно для
подсистем
вычислительной
системы,
обслуживающих часть рабочей нагрузки, и для
ядра системы.
Надежность
можно
увеличить
за
счет
использования
высоконадежных
элементов,
облегчения режима работы элементов и
совершенствования технологии изготовления и
сборки системы.
Другой подход к повышению надежности –
обеспечение отказоустойчивости системы за счет
резервирования.
Резервировать
можно
технические средства на уровне логических
элементов, устройств и ЭВМ или программные
средства путем повторной реализации функций на
основе одного и того же или разных алгоритмов и
создания
дополнительных
программ
для
выявления
и
исправления
ошибок.
При
резервировании технических средств в систему
вводится
аппаратурный
резерв,
при
резервировании программных средств – временной
резерв.
Значительные
трудности
возникают
при
разделении требований к надежности между
частями системы – ее подсистемами и
устройствами. Чтобы обеспечить заданную
надежность
при
минимальных
затратах,
необходимо установить соотношение между
надежностью и затратами на ее обеспечение, для
каждого типа устройств и подсистем.
Для вычислительных систем характерны сбои в
работе, вызванные электромагнитными помехами,
пульсацией питания и другими причинами.
Действие этих факторов обычно кратковременно.
Для обеспечения работоспособности в условиях
сбоев
в
систему встраиваются средства,
позволяющие обнаружить ошибки и запускать
процедуру восстановления (например, повторение
действий). Если процедура восстановления
работоспособности выполнена успешно, то
причиной ошибки считается сбой и система
продолжает функционировать в естественном
режиме. В противном случае отказ считается
катастрофическим.
В программе обеспечения надежности системы
важная
роль
отводится
повышению
ремонтопригодности,
позволяющей
снижать
затраты времени и средств на восстановление
работоспособности системы. Для повышения
ремонтопригодности
существует
множество
способов,
реализуемых
на
всех
стадиях
проектирования, производства и эксплуатации
системы: встраивание в систему эффективных
средств контроля и диагностики, унификация
конструкций и рациональная их компоновка и др.
Дополнение: БОРЬБА ЗА НАДЕЖНОСТЬ
Особое внимание уделяется снижению стоимости
обслуживания и поддержки вычислительных
комплексов. Сегодня специалисты Hewlett Packard
и IBM расширяют функциональность своих
изделий
и
внедряют
в
них
элементы
самоуправления. Разработка глобальных сетевых
систем, способных самостоятельно распределять
ресурсы, настраиваться, отслеживать и исправлять
неисправности без вмешательства оператора. В
рамках одного из проектов HP планируется
создание
корпоративных
информационновычислительных центров, включающих в себя до
50 тыс. офисных компьютеров - в 10 раз больше,
чем у современных аналогов.
Специалисты IBM черпают идеи из теории
управления (введение обратной связи для
стабилизации системы) и используют концепцию
искусственного интеллекта (накопление опыта
человека-эксперта и применение его для
самостоятельного устранения серьезных проблем).
Комплексы, построенные по этим принципам,
будут отличаться гибкостью поведения в
критических
ситуациях
и
способностью
адаптироваться к изменяющимся условиям.
Когда выяснилось, что ошибки операторов
неизбежны, разработчики стали проектировать
системы, функционирование которых требует
минимума человеческого вмешательства. Однако
гипертрофированная автоматизация, как правило,
только ухудшает ситуацию. Дело в том, что
полностью избавиться от участия человека
невозможно,
так
как
пока
удается
алгоритмизировать только относительно простые
процедуры.
43.RAID массивы: основные уровни и
сравнительные характеристики.
Обеспечение надежности.
RAID- массивы это набор дисковых накопителей
кот с точки зрения использования наружи
выглядят как 1
Направления:
1. Совершенствование технологий.
2. Выполнение (соблюдение) технологических
дисциплин.
3. Структурные методы построения систем.
3- надежность системы достигается путем
введения избыточности
Нужно
устройство,
обеспечивающее
переключение
блоков,
определения
неисправного. В качестве этого блока
может выступать человек. Система должна
продолжать работу при выходе отдельных
частей. В такой системе обычно вводится не
100% избыточность, а с минимальной
долей.
Построение надежных дисковых систем памяти
В литературе известен как RAID массив. RAID
сейчас ипользуют как понятие интеллектуальные
или независимые.
Общие признаки RAID массива.
1.
Обязательно
должно
быть
несколько
накопителей.
2. Набор физических дисков с точки зрения
пользователя представляется как один диск
(под пользователем понимается все, что
работает с диском – это не человек).
3. Данные распределяются по набору физических
дисков
4. В системе имеется избыточная емкость,
обеспечивающая
возможность
восстановления данных при выходе из
строя одного или нескольких накопителей
(физических дисков).
Вводится понятие уровня RAID массива.
Уровень RAID массива определяется способом
распределения данных по дискам и
способом распределения (определения)
избыточной емкости.
RAID0 –имеет избыточности и не обеспечивает
восстановления информации. Эта структура
разрабатывалась с целью повышения
производительности дисковой памяти.
Идея:
2
С
D
диска,
и
B
А
сообщение,
которое
нужно записать ABCD.
Такой подход позволяет увеличить скорость
чтения, так как запись идет параллельно.
При этом способе данные разбиваются на
сегменты
определенного
размера
и
располагаются на чередующихся дисках.
Этот принцип называется чередованием.
RAID1 – это зеркальные диски – там все пишется
параллельно.
B
A
C
B
D
A
C
D
Выход из строя одного диска не приводит к
потере информации. В такой структуре
необходимо иметь средства внутреннего
контроля,
которое
определяло
бы
работоспособность
накопителя.
Такая
структура не даст выйгрыша работы по
записи,
но
потенциально
обладает
увеличением скорости считывания, но при
этом нужно решить проблему адресации.
RAID10 – гибрид нулевого и первого - это
система,
в
которой
совмещается
сегментация
данных
и
зеркальное
дублирование. Здесь дисков должно быть
хотя бы 4.(2 раза по RAID0 и RAID1).
RAID3
–отказаустойчивый
и
высокопроизводительный
используется
прием
исправления
ошибки
основанный по способу операции сложения
по модулю 2.
A BC DFE
D
E
А
F
B
C
Имеется
возможность
восстановления
информации если исчезает один из
носителей.
АВС= ,
Если В пропал, то нужно просто
сложить АВ - если все правильно то
будет 0, если кто то исчез, то будет 1. Но
так мы не можем определить именно кто
сломался.
RAID2 –что и RAID3, но вместо корректирующих
кодов вставили коды Хемминга. Не нужно
ставить систему определения работающего
накопителя (это делает код Хемминга).
RAID4 – полностью совпадает с RAID3, но
блоки больше
RAID5 – полностью совпадает с RAID3, но
только сумма по модулю 2 пишется не на
один диск, в циклически извлекается по
массиву дисков.
D EF
- может
проверять вход/выход, можно внутрь залезть
Мы заранее готовим задание и знаем, что
должно получиться и смотрим правильно
или нет.
Далее тест->уже диагностика

Это достаточно эффективно

Система простая (мозгов нет)
Недостаток:
Нужно изъять объект из работы, а это значит, что
получим систему которая не работает в реальном
времени.
Функциональные.
Система наблюдает. И исходя из знака определяет
работает или нет.
A BC
D
А
вмешательство сторонних сил. Чаще сего
причины сбоев внешние помехи. Для того
чтобы реагировать- нужны средства
обнаружения сбоев – средства контроля и
диагностики
Контроль- процесс сбора информации с
объекта позволяющие ответить на вопрос
правильно работает устройство или нет.
Диагностика-процесс сбора инф с объекта
позволяющие ответить на вопрос почему не
работает?
На каком уровне можем производить
ремонт? На уровне сменных элементов.
Термин типовой элемент замены. На этом
уровне и заменяем модули. И чаще всего
идет смена на уровне модулей. Если сделать
контроль на все модули и соединим в одно
на индикаторы то получим диагностику. Т.е
если ошибка диод или бит покажет что не
работает.
Системы контроля и диагностики бывают 2
типов : тестовые, функциональные.
B
E
F
C
Этот сдвиг делают для того, чтобы можно было
поднять скорость обмена.
Такая реализация изменяет алгоритм доступа и
позволяет уменьшить число накопителей, с
которыми работает система во время записи
за счет распараллеливания.
RAID6 – корректирующая информация вычитается
с помощью кода ReadSolomon/
Самые распространенные RAID1; RAID3;
RAID5.
Чередование бит – каждый бит имеется по
очереди на другом диске.
Чередование байтов – каждый байт имеется по
очереди на другом диске.
Распределение данных – данные при записи
распределяются по разным дискам. При
этом возможно одновременное чтение с
нескольких
дисков.
Дает
хорошие
результаты по обработке больщих блоков
данных, так как обрабатывается один
запрос данных.
Зеркальное отражение – дублирование каждой
записи на другом диске. Снижает
производительность
при
записи,
но
увеличивает отказоустойчивость. Чтение
может производиться с любого диска, что
дает
возможность
увеличить
производительность при чтении (при
мелких запрсах).
Блок передачи – то, что передается с диска как
единое целое.
RAIDII – RAID2-го поколения – это концепция
построения больших бисковых массивов на
сонове
высокоскоростных
сетевых
технологий. Есть дисковые системы
памяти, которые выходят в сеть.
44.Организация систем контроля и
диагностики.
Надежность – способность системы
выполнить свои функции в течении
заданного промежутка времени. В
программировании- устойчивости программ
в ответ на внешний воздействия. Показатели
отказоустойчивости- мат ожидание (время
между поломками) и статистические методы.
Существуют отказы и сбои. Сбойсамопроизвольное изменение,
самовосстанавливающихся параметров для
машин. Самовосстановление- самое
противное.
Отказ- самопроизвольное изменение
характеристик, но для восстановления нужно
Кажется, что сложная задача но есть решения
(пример на кластерах)

Эти системы реального времени

На каждые ситуации решение
отдельное
Ошибку обнаружили, а потом как
восстановить. Если обнаружена ошибка,
надо повторить операцию. Повторение
операции-предотвращение сбоя. С дисками
(флоппи)- это характерный треск- повтор
чтения. Это происходит если кодовые слова
не совпали, операция может повторится до 8
раз. Если не удалось – надпись не удалось
прочитать.
Тут появляется понятие обратимость и не
обратимость процессов. Появляется понятие
граница обратимости- та точка дальше
которой операцию обратить нельзя. Т.е когда
строим восстановление на повторах, нужно
знать границу обратимости.
Нужно делать снимки и хранить копию –
это и будет точка обратимости. Делается
снимок состояния и их диск (прогеры делают
это решение)
Точки восстановления хороши для сбоев. Но
для отказов – нет.Появится термин время
восстановления.(сколько нужно чтобы поменять тот
блок). Время восстановления пророй – 5 мин.
Предполагается что есть шкаф с запасными
частями. Это время – когда обнаружится ошибка и
инженер заменит.
Надо оптимизировать и автоматизировать этот
процесс.
1)Путь
Хождение альтернативных путей или
реконфигурации. Если сломался блок то черт с ним
и попытаемся его обойти. И этот путь который
приводит к деградации параметров. Если есть 1
машина и 1 дублирующий то последняя возьмет на
себя работу.
А если если сервера выполняют свои задачи и 1
сервер сломался, то второй возьмет на себя работу
однако произойдет деградация параметров (это
блокировка нашрузки)
1)Система с маштабирование отказов. Тут время
восстановления =0. Но в таких системах – время
приведении системы в исходное состояние. Пример
RAID сам 1 сдох, то все ок. И если не заменить то
своийства масшибируемости теряются. На чем
основано обеспечение отказоустойчивости –
введение в систему избыточности. Т.е в автоматах с
точки зрения pnp переходов это хорошо, а если есть
избыточность- то отказоустйчивость. И если хотим
отказоустойчивость-нужна избыточность.
45.Общие подходы к реализации систем
восстановления вычислительного
процесса.
Программный механизм – не требует
специальных средств в машине, основан на
создании контрольных точек – состояния
машины в некоторый момент времени.
Если состояние программы сохраняется в
некоторый момент времени в памяти, то
получается возможность продолжения вычисления
и с этого места, независимо от того, что
произошло с машиной
1.
Механизм повтора операции – если сбой
машины, если все хорошо, то идем дальше
Могут возникать необратимые изменения,
которые не позволят повторять операцию.
Пример: Ак :=Ак * В
В таких системах необходимо рассматривать такой
аспект, как необратимость «граница
необратимости»
Механизм повтора операции – единственный
способ, который хорошо работает по ликвидации
последствия сбоев
2.
n+1
Для того, чтобы уменьшить время….. используют
системы с горячим резервированием. Резервное
оборудование находится во включенном состоянии
и ждет когда надо будет заменить основное.

Системы выравнивания нагрузки

Система с деградацией параметров

Схема контроля работы памяти
Общие подходы к реализации систем
восстановления вычислительного процесса
Почти 75% ошибок ЭВМ приходится на сбои,
следовательно, восстановление вычислительного
процесса после сбоев является важной проблемой.
Для реализации восстановления необходимо
вводить в программу контрольные точки, от
которых возможно начинать повторное
выполнение команд. Средства восстановления
могут быть программными, микропрограммноаппаратурными и аппаратными. Выбор
конкретных средств зависит от назначения и
структуры ЭВМ, а также от типа сбоев, который
определяется местом его возникновения.
При сбоях в памяти используют аппаратный
метод, корректирующие коды. При сбоях
процессора чаще применяются аппаратномикропрограммные и программные методы.
Этапы восстановления: 1. Классификация ошибки
(сбой или отказ). 2. Восстановление после ошибки
(по соотв. алгоритму). Алгоритм классификации
ошибки: І. Выполняется многократный перезапуск
операции или фрагмента программы. Операция
повторяется, если операнды не изменились (за
этим следит триггер повтора), если операнды
изменились, то ЭВМ читает слово состояния
машины, для каждой выполняемой программы, в
соответствующие регистры и выполняет действия
с этой точки программы (повторяется фрагмент
программы). Слово состояния машины
записывается в специальную область памяти ЛОГАУТ и обновляется каждые несколько
миллисек. ІІ. Если повторение выполнилось без
ошибки, то в сервисный журнал записывается сбой
и фиксируется слово состояния машины и
вычислительный процесс продолжается
(количество повторений 8, 16). В противном
случае фиксируется отказ и запускается: - система
автоматической диагностики; - система
реконфигурации (если она имеется в ЭВМ).
Реконфигурация означает, что неисправный узел
исключается из работы системы, а его функции
возлагаются на другие узлы. Тогда ЭВМ способна
выполнить вычислительный процесс после данной
ошибки без остановки на ремонт.
46.Источники бесперебойного питания:
основные типы и сравнительные
характеристики.
Если питание постоянно, то источник
«постоянен». Если питание начнет шевелить, то
это уже сложная задача.
Все источники питания:

Автономные (батарейки,
аккумуляторы)

От промышленной и бортовой сети
Если питание 5 В и 4,5 сист не работает →нужно
увеличить дмиапозон входных напряжений.
Промышленные сети: 380 В 3-х разрядные фазы 50
Гц.
2 задачи:
1)Построить систему, которая сохраняет
работоспособность при кратковременном
изменении питания напряжения (решение с
помощью системы бесперебойного питания)
2)Построить систему, которая сохраняет
работоспособность при длительном изменении
питания напряжения (решение с помощью
системы гарантированного электропитания –
строятся на мотор-генераторе + аккумулятор,
которые продолжают работать, пока двигатели не
заработают)
Проблемы:
отклонение от номиналов

по напряжению (140280)

по частоте (тандарт
0,5 Гц, на практике
больше)
пропадение фазы

допутимые 1 с.

недопутимые, аварии –
несколько минут.
высокочастотные помехи (100 Гц –
100МГц)
импульсные высокоомные помехи
(А=10КВ t=10мс)
аккумулятор включается если повышается, то
аккумулятор не работает. Время
срабатывания переключателя –
миллисекунды и это выглядит как мощная
ударная помеха.
Схема надежного электропитания.
2 категории организации:
схема гарантированного
электропитания (при отказе
поддерживают работу в течении
любого промежутка времени,
мотор-генераторы) (обеспечивает
нормальное питание при
значительных авариях в схемах
электропитания).
Источники бесперебойного
питания с дельта-функцией
Пример схемы электропитания
электронного комплекса баллистических
ракет с дизельгенератором, подается к двум
различным электросетям, аккумуляторная
система (2-х, 3-х ступенчатая).
минус: дорогая
преобразователя. Они дороже.
дизель
генератор
дизель
генератор
аккумуля
тор
А
потребитель
минус: дорогая
система (источники)
бесперебойного питания(в течение
ограниченного
времени,аккамуляторы)

индивидуальные

корпоративные
Отсутствие электростанции. Питание
поддерживается за счет аккумуляторных сетей.
индивидуальные системы –
источники бесперебойного питания
- обеспечивают поддержку питания
напряжения в интервале от
нескольких минут до часа.
высокочастотный
УУ
Сеть
~ 20
Входн
фильтр
индикат
к ЭВМ
перекл
зарядн.
устр-во
Нагрузка
~220 В
преобр.
АК
Входные фильтры высокочастотные либо
высокоомные обеспечивают защиту от
высокочастотных помех и от импульсных
помех. От импульсных высокоомных помех
ставят схемы шунтирующих импульсов.
Дальше стоит перелючатель, которые
включает/выключает вход на выход.
Устройство управления определяет
допустимые границы входного напряжения,
если выходит за границы, то переклюбчатель
переключает источник питания.
Аккумулятор подзаряжается через зарядное
устройство(генератор).
В более сложных системах в УУ
добавляются функции управления порогами
(тогда связь двусторонняя). Источники
бесперебойного питания отличаются видом
выходного напряжения.
Характеристики:
Допустимый диапазон входных напряжений,
допустимая нагрузка, допустимая емкость
наращивания аккумулятора.
Недостаток:
Работает только в режиме понижающего
напряжения. Если напряжение падает, то
Методы борьбы с недостатками:
На вход ставится автотрансформатор (после
входной фильтр) с переключателем.(снижает
напряжение при повышении и повышает
напряжение понижении).
Системы On Line.
Выходное напряжение всегда подается с
УУ
Входн
фильтр
индикат
к ЭВМ
выпрям
итель
преобр.
зарядн.
устр-во
Нагрузка
~ 220В
АК
Полностью отрезан вход и выход и помехи на
входе не относятся к нагрузке, скачков на
выходе нет, входная цепь изолирована от
выходной.
Минус: пиковые нагрузки
Источники бесперебойного питания с дельтафункцией
Появились сравнительно недавно.
Связь с машиной для того, чтобы сообщить, что
произошло переключ →для того чтобы машина
осторожно переключалась. Сначала переход на
батарейки →когда выкл 5 мин эта штука передает
сигнал о том, сколько остается. Когда система
выключена → сигнал о включении, если питание
восстановлено.
300 ватт-15 мин. Если ставить больше выт то
может накрыться. Переключение неудобно т.к
идет скачек. Чтобы это исправить на вход ставятся
автотрансворматор.
Download