
metoda_2013
.pdf
АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
3) |
MP V1, V2, V3 |
умножение |
4) |
SUM V3, S1 |
суммирование |
См. рис. 7.9 Зацепление:
1)LD L,A, V1
2)ЗЦ V1,B,S1
На рис. 7.10 – приведена структура операционного конвейера Пример конвейерных систем:
GREY (американская система) разрабатывается до сих пор
HEP VP-200 S-810
Конвейер команд
Для организации любого конвейера команд, необходимо выполнение 2-х условий:
1)Существование потока однотипных действий
2)Возможность разбиения каждого действия на ряд последовательных этапов.
Каждая команда может быть разбита на несколько этапов и исполнения Этап подготовки делится на:
1)Выборка кода команды из памяти
2)Декодирование
3)Передача команды на исполнение
Этап исполнения делится на:
1)Подготовка исполнительных адресов
2)Чтение команды с памяти
3)Исполнение команд
460

АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
Для реализации каждого этапа должны быть аппаратные средства, которые освобождаются сразу после выполнения данного этапа текущей команды. В современных процессорах реализуется принцип суперскалярности – это принцип при котором команды не зависящие друг от друга могут обрабатываться в нескольких конвейерах. Чтобы не нарушался порядок следования результатов они помещаются в выходной буфер в соответствие с тэгами отражающими их порядковый номер в программе.
В составе структуры процессора Pentium можно увидеть 2 целочисленных конвейера команд. Устройство с плавающей точкой которое является продолжением главного конвейера и организована, как операционный конвейер.
-КЭШ памяти данных и команд
-устройство управления (управляющие ПЗУ)
-буфер предвыборки
-буфер предсказания переходов
-дешифратор команд
-устройство страничного преобразования
-шинное устройство
Оба конвейера аналогичны по структуре и порядку функционирования. Главный конвейер может выполнять все целочисленные команды и команды с плавающей точкой. Если две инструкции сразу запустить невозможно, то 1-я запускается в главном конвейере, а 2-я простаивает. Запуск команд производится одновременно в оба конвейера. Выполнение определенных ступеней конвейеров синхронизируется между собой.
подготовка
4-я - ступень исполнения EX
5-я – обратная запись WB
Команда выбирается из КЭШ-памяти или из ВЗУ с учетом предсказаний переходов – позволяет продолжить выборку ID кодирования потоков инструкций, после выборки инструкция ветвления, не дожидаясь проверки самого условия.
Предсказание переходов 3-х типов:
1)Статические – она работает по схеме, считая что переходы по условию произойдут с большей вероятностью (не всегда эффективно).
461
АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
2)Динамический – он упирается на предисторию вычислительного процесса. Эта информация собирается во время выполнения программы.
3)Исполнение по предположению. Предсказание после переходов инструкции не только декодируются, но и по возможности исполняются. По мимо предсказания переходов, выполняется алгоритм с изменениями последовательности.
Используется два независимых буфера предвыборки. Один применяется … с предположением, что перехода нет, а другой, что переход есть.
На ступени D1 происходит декодирование и запуск двух команд. D2 – происходит вычисление операндов размещенных в памяти. EX – исполняются команды в АЛУ, происходит доступ к КЭШпамяти данных.
WB – завершается выполнение команд, которое модифицирует состояние процессора. Реализуется с помощью 2-х буферов выгрузки и реализовано как устройство сдвига. В память будут записаны только те команды, где есть уверенность, что вычисление выбрано правильно. Устройство с плавающей точкой реализуется на 3-х ступенчатом командном конвейере. Основной конвейер может выполнять целочисленные инструкции независимо от инструкций с плавающей точкой.
Каждая КЭШ-память является частично – ассоциативной, она разбита на 8 банок, поэтому конвейеры могут обращаться к памяти одновременно.
Pentium 2 – 6 ступеней. Между 1-й и 2-й это выборка F Pentium 3 – 12-17 - целочисленных, 25 – с плавающей точкой
Athlon – 10(15)
462
АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
7.Многопроцессорные вычислительные комплексы (МПВК). Типы структур. Проблемы организации. Способы распределения ресурсов в МПВК. Сравните типы структур МПВК по следующим критериям: а) быстродействию; в) аппаратным затратам на систему коммутации; г) надежности.
В ВС типа МКМД (множественный поток команд, множественный поток данных) множество вычислительных устройств реализует независимые потоки команд по обработке собственных локальных данных. В них используется параллелизм независимых ветвей и задач. Принцип параллельной обработки – пространственный.
Классические многопроцессорные комплексы выполняют крупноблочные операции, что позволяет уменьшить расходы на взаимодействие процессоров.
Многопроцессорный вычислительный комплекс – это комплекс, который состоит из нескольких процессоров, работающих с общей ОЗУ и общими периферийными устройствами под управлением единой ОС, которая организует весь процесс обработки. Единым ресурсом могут быть машины – посредники, ОЗУ, ВЗУ, общие шины, коммутаторы. Каноническая структура – объединение через общую память машины. Существует проблема повышения производительности:
1.Организация связи между элементами комплекса, т.к. практически каждый его элемент должен быть связан с остальными. При большом числе процессоров модули ОЗУ и каналов ввода-вывода – это достаточно сложно;
2.Организация вычислительного процесса в комплексе. Задачи управления, которые решаются в комплексе:
1.Все задачи, которые встают при реализации мультипрограммного режима;
2.Распределение ресурсов и заданий между процессорами;
3.Синхронизация процессов при реализации несколькими процессорами одной задачи;
4.Разрешение конфликтных ситуаций при обращении нескольких процессоров к единому ресурсу;
5.Обеспечение работоспособности комплекса при выходе из строя какого-либо блока;
6.Планирование с учётом оптимизации загрузки всех процессоров.
Существует 3 типа структур многопроцессорного вычислительного комплекса:
463

АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
1.С общим или раздельным во времени;
2.С перекрёстной коммутацией;
3.С многовходовой ОП.
ЦП1 |
|
ЦП2 |
|
ОП1 |
|
ОП2 |
||||
|
|
|
|
|
|
|
|
|
|
|
увв1 увв2
Все устройства соединяются общей совокупностью проводов, по которым передаются данные, адреса, команды и управляющие сигналы; Достоинства:
простота построения и использования; Недостатки:
при такой структуре одновременно обмениваться информацией могут 2 устройства, а остальные вынуждены ожидать освобождения шины;
неизбежно возникновение конфликтов из-за совместного использования внешней шины;
низкая эффективность использования оборудования, которое
вданном случае больше простаивает, чем работает;
при высокой интенсивности обмена между процессорами падает эффективная производительность комплекса. Псть комплекса. Прхитектурой делают 2-3 процессора;
надёжность всего комплекса зависит от надёжности общей шины. Эту проблему решают резервированием шины.
ЦП1 |
|
|
ЦП2 |
|
ОП1 |
|
|
ОП2 |
|
Структура |
с |
полным |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
коммутатором |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
увв1 |
|
|
|
увв2 |
|
|
|
предусматривает |
наличие |
||||||
специального |
|
централизованного |
коммутатора, |
который |
связывает между собой все компоненты комплекса. Коммутатор строится таким образом, что одновременно может передаваться информация между несколькими парами устройств. За счёт этого резко снижается количество конфликтов при взаимных обменах между устройствами. Увеличивается пропускная способность и эффективное быстродействие.
Недостаток: сложность и высокая стоимость коммутатора. Для упрощения коммутатора и снижения его стоимости его делают состоящим из 2-х отдельных коммутаторов. Один является высокоскоростным и служит для обмена данными между
464

АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
процессами, второй – низкоскоростной – для периферийного оборудования.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Использование |
ЦП1 |
|
|
ЦП2 |
|
ОП1 |
|
|
ОП2 |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
многовходовой памяти в |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
некоторой |
степени |
|
|
|
|
увв1 |
|
|
|
увв2 |
|
|
снижает |
недостатки |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
комплексной с перекрёстной коммутацией. Коммутация осуществляется в модулях ОЗУ, каждый из которых имеет число портов, равное числу остальных компонентов комплекса. Коммутатор распределён по всем модулям памяти
Способы организации вычислительного процесса в МПВК.
Эффективность работы многопроцессорного комплекса в очень сильной степени зависит от способа распределения и использования аппаратных, программных и информационных ресурсов (т.е. от того, как будет организован вычислительный процесс). Наиболее простая организация вычислительного процесса в комплексах cтроится по принципу “ведущий-ведомый”. На один из процессоров возлагаются функции по управлению всеми остальными. Ведущий процессор распределяет задание и необходимые для их выполнения ресурсы. Такой подход исключает конфликты из-за ресурсов и уменьшает частоту внештатных ситуаций. При этом сам процессор является узким местом вычислительного комплекса.
Организация с раздельным выполнение заданий: все процессоры находятся в равных условиях. Они выполняют все функции, связанные с обработкой информации. Это достигается за счёт статического освобождения ресурсов одновременно с распределением заданий. В процессе выполнения заданий процессы перераспределяться не могут, что приводит к неравномерной загрузке процессора, каналов и памяти.
Симметричная обработка: при симметричной обработке устанавливается перечень задач и каждый процессор при освобождении 2-х предыдущих задач выбирает себе новую из общего перечня. При этом он выбирает необходимые ресурсы. Потенциально такая организация может обеспечить максимальную загрузку процессора. Недостатки: могут возникать конфликтные ситуации между процессорами (из-за общих ресурсами) и усложняется проблема синхронизации процессов.
465
АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
8. Машины, управляемые потоком данных. Недостатки принципа управления потоком данных. Граф потока данных. Типы вершин графа потока данных. Можно ли использовать принцип управления потоком данных в конвейерных вычислительных системах? Ответ обоснуйте.
В вычислительных системах, управляемых потоками данных, или машинах потоков данных (МПД) отсутствует понятие программы как последовательности команд, а следовательно, отсутствует понятие состояния процесса. Каждая инструкция передается на исполнение при создании условия для ее реализации; при наличии достаточных аппаратных средств одновременно может обрабатываться произвольное число готовых к исполнению инструкций. В инструкциях МПД параллелизм не задается явно, а аппаратные средства обработки должны его выявлять на этапе исполнения. Кроме того, в МПД используется метод передачи операндов между инструкциями по значению (а не по ссылке), что приводит к тому, что память не рассматривается как пассивное хранилище переменных.
Архитектура МПД отличается мелкоблочным характером и рассчитана на параллельное выполнение задач, плохо поддающихся векторизации, т.е. в алгоритмах которых отсутствует параллелизм объектов. Большинство архитектур МПД обладают свойством наращиваемости, позволяя увеличивать вычислительную мощность за счет добавления новых процессорных элементов. Однако реализация принципа управления потоком данных вызывает ряд трудностей, часть из которых носит принципиальный характер. К их числу необходимо отнести громоздкость программы, трудность обработки итерационных циклов, трудность работы со структурами данных.
Программа МПД. Хотя в различных МПД используются различные машинные языки, все они основаны на одних и тех же принципах. Наиболее распространенной формой представления программы для МПД, которая носит название программы потока данных, является форма графа потока данных (ГПД). Граф потока данных является еще одной моделью вычислений; в его основе лежит информационный граф, а архитектура МПД является непосредственным отображением ГПД на аппаратуру. Используемая терминология заимствована из теории графов и сетей Петри.
Инструкциям на ГПД соответствуют вершины, а дуги, обозначаемые стрелками, указывают на отношения предшествования. Точка вершины, в которую входит дуга, называется входным
466

АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
портом (или входом), а точка, из которой она выходит,— выходным. По дугам передаются метки, называемые токенами данных.
Срабатывание вершины означает выполнение инструкции; оно происходи т в
произвольный момент времени при выполнении условий, соответствующих правилу запуска, или спусковой функции. Обычно используется строгое правило запуска, согласно которому срабатывание вершины происходит при наличии хотя бы одного токена на каждом из ее входных портов. Срабатывание вершины сопровождается удалением одного токена из каждого входного порта и размещением не более одного токена результата операции в выходные порты. В зависимости от конкретной архитектуры МПД порты могут хранить один или несколько токенов, причем они могут использоваться по правилу FIFO или в произвольном порядке.
На рис. 1, а приведен пример ГПД, включающего три вершины, обозначенные большими кружочками. Символы внутри этих кружочков обозначают код примитивной операции (ADD — сложения, MUL—умножения, SUB —вычитания). В двух входных портах вершины Ор1 присутствуют токены, изображенные маленькими кружочками, внутри которых указаны значения переменных. Поскольку токены присутствуют на всех входных портах вершины Ор1, операция может выполняться в произвольный момент, при этом токены данных из входных портов удаляются, а в выходные порты помещается токен результата (рис. 1, б). Константа, используемая при реализации вершины Ор3, обозначается особым символом, так как она не удаляется из входного порта после срабатывания вершины. В результате срабатывания вершины Ор1 создались условия для срабатывания вершин Ор2
467
АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
и ОрЗ. Отметим, что если вершина формирует больше токенов, чем поглощает, то это, как правило, приводит к увеличению уровня параллелизма. В результате (срабатывания вершин Ор2 и ОрЗ формируются токены результатов (рис. 1, в):
а = (х+у) = (2+3) = 25, b= (x+y)4= (2+3)—4= 1.
Рассмотренные вершины являются функциональными, т.е. значения токена результата определяются только кодом операции Ор и значениями входных токенов.
468
ПРАКТИЧЕСКАЯ ЧАСТЬ
XII. ПРАКТИЧЕСКАЯ ЧАСТЬ
1. Разработка баз данных. Пример №1.
1.Проблемная область: «Заправочная станция»
2.Постановка задачи:
1)Обосновать для пользователя необходимость разработки базы данных в заданной проблемной области. Сформулировать требования к ней. Указать категории пользователей.
2)Разработать ER-диаграмму.
3) Описать состав и содержание таблиц базы (не менее
5таблиц).
4)Указать первичные ключи и связи таблиц.
5)Обосновать, что таблицы находятся в третьей нормальной форме. При необходимости провести нормализацию.
6) Дать пример заполнения таблиц (не менее 5 записей
втаблице).
7)Описать, какие пользователи и к каким таблицам должны иметь доступ. Какие виды доступа (чтение данных, включение записей, обновление, удаление)?
8)Как предполагается поддерживать целостность данных? Дать полные рекомендации с указанием Ваших таблиц.
9) Составить и проверить в FoxPro или SQL Explorer по 3 примера на каждый из следующих видов запросов SQL:
–к одной таблице;
–к нескольким с внутренними соединениями;
–к нескольким с внешними соединениями;
–сгруппированные запросы;
–запросы с подзапросами;
–запросы на включение, удаление, обновление
групп записей по заданным условиям;
–группы связанных между собой запросов,
объединенных в транзакции.
10) Разработать подробное задание на программное обеспечение для работы с Вашей базой данных.
469