Главная страница
Навигация по странице:

  • Краткая теория Память.

  • Простейшая организация конвейера

  • Номер команды Номер такта 1 2

  • Многопроцессорная обработка в ЭВМ

  • Задание 1.

  • Методические указания. +Му к практ.работам всс. Методические указания к практическим работам по дисциплине Вычислительные системы и сети Специальность 5В070200 Автоматизация и управление


    Скачать 0.98 Mb.
    НазваниеМетодические указания к практическим работам по дисциплине Вычислительные системы и сети Специальность 5В070200 Автоматизация и управление
    АнкорМетодические указания
    Дата21.01.2023
    Размер0.98 Mb.
    Формат файлаdoc
    Имя файла+Му к практ.работам всс.doc
    ТипМетодические указания
    #897134
    страница4 из 10
    1   2   3   4   5   6   7   8   9   10

    Практическая работа№2

    Память. Конвейерная и многопроцессорная обработка информации в ЭВМ



    Краткая теория
    Память. Важнейшими характеристиками отдельных устройств памяти являются емкость памяти, удельная емкость, время доступа.

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

    Время доступа к памяти – время, которое занимает установка адреса на адресной шине и считывание данных с шины данных.

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

    Таким образом, время доступа к памяти при считывании определяется по формуле

    tобр_с = tдост_с + tсчит + tрег,

    где tдост_с - промежуток времени между моментом начала операции считывания и моментом, когда становится возможным доступ к данной единице информации;

    tсчит - продолжительность самого физического процесса считывания;

    tрег - время, затрачиваемое на регенерацию информации (равно нулю для ЗУ, которым регенерация не требуется).

    Время доступа при записи определяется по формуле

    tобр_з = tдост_з + tподг + tзап,

    где tдост_з - промежуток времени между моментом начала операции записи и моментом, когда становится возможным доступ к запоминающим элементам;

    tподг - время подготовки, расходуемое на приведение в исходное состояние запоминающих элементов для записи заданной единицы информации;

    tзап - время занесения информации.

    В качестве продолжительности цикла обращения к памяти принимается величина.

    tобр = max(tобр_с, tобр_з).

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

    • выборка команды – IF (по адресу, заданному счетчиком команд, из памяти извлекается команда);

    • декодирование команды/выборка операндов из регистров – ID;

    • выполнение операции/вычисление эффективного адреса памяти – EX;

    • обращение к памяти – MEM;

    • запоминание результата – WB.

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

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

    Диаграмма работы простейшего конвейера

    Номер команды

    Номер такта

    1

    2

    3

    4

    5

    6

    7

    8

    9

    Команда i

    IF

    ID

    EX

    MEM

    WB













    Команда i+1




    IF

    ID

    EX

    MEM

    WB










    Команда i+2







    IF

    ID

    EX

    MEM

    WB







    Команда i+3










    IF

    ID

    EX

    MEM

    WB




    Команда i+4













    IF

    ID

    EX

    MEM

    WB


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

    Тот факт, что время выполнения каждой команды в конвейере не уменьшается, накладывает некоторые ограничения на практическую длину конвейера. Кроме ограничений, связанных с задержкой конвейера, имеются также ограничения, возникающие в результате несбалансированности задержки на каждой его ступени и из-за накладных расходов на конвейеризацию. Частота синхронизации не может быть выше, а, следовательно, такт синхронизации не может быть меньше, чем время, необходимое для работы наиболее медленной ступени конвейера. Накладные расходы на организацию конвейера возникают из-за задержки сигналов в конвейерных регистрах (защелках) и из-за перекосов сигналов синхронизации. Конвейерные регистры к длительности такта добавляют время установки и задержку распространения сигналов.

    Так при определении среднего времени, которое потребуется для выполнения определенного количества команд используется следующая формула:

    tср = t i max + tнс

    где t i max – максимальная длительность этапа выполнения операции

    tнс - накладные расходы времени на организация конвейера.

    А определение времени выполнения программы зависит от числа команд программы, количества этапов выполнения операций и среднего времени.

    Многопроцессорная обработка в ЭВМ. При организации вычислений в многопроцессорной системе осуществляется преобразование входной переменной (сигнала). Вычисление можно одновременно выполнить на N процессорах. Процессор Рi в исходном состоянии получает на вход одно из значений х и в конце вычисления выдает значение Аi. Если рассматривать процесс вычислений в виде графа, то горизонтальные пути на графе будут соответствовать обработке внутри процессора, а промежуточные вершины — промежуточным этапам вычисления. Остальные дуги графа будут определять межпроцессорные обмены. На каждом этапе вычисления число обменов равно N. Результаты, полученные на любом этапе, нужны только для следующего этапа.

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

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

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

    Задание

    1. Определите время доступа к памяти при считывании, записи и продолжительность обращения к памяти.


    Вариант№ 1

    Если время между моментом начала операции считывания и моментом, когда становится возможным доступ к данной единице информации tдост_с = 25 нс, время считывания tсчит = 80 нс, время регенерации tрег = 2 нс., tдост.з. = 10 нс, tподг. = 5 нс, tзап = 30 нс

    Вариант№ 2

    Если время между моментом начала операции считывания и моментом, когда становится возможным доступ к данной единице информации tдост_с = 15 нс, время считывания tсчит = 60 нс, время регенерации tрег = 3 нс. tдост.з. = 3 нс, tподг. = 2 нс, tзап = 2 нс

    Вариант№ 3

    Если время между моментом начала операции считывания и моментом, когда становится возможным доступ к данной единице информации tдост_с = 60 нс, время считывания tсчит = 150 нс, время регенерации tрег = 8 нс. tдост.з. = 25 нс, tподг. = 15нс, tзап = 60 нс

    Вариант№ 4

    Если время между моментом начала операции считывания и моментом, когда становится возможным доступ к данной единице информации tдост_с = 35 нс, время считывания tсчит = 100 нс, время регенерации tрег = 6 нс. tдост.з. = 8 нс, tподг. = 4 нс, tзап = 15 нс

    Вариант№ 5

    Если время между моментом начала операции считывания и моментом, когда становится возможным доступ к данной единице информации tдост_с = 10 нс, время считывания tсчит = 20 нс, время регенерации tрег = 4 нс. tдост.з. = 3 нс, tподг. = 1 нс, tзап = 7 нс

    2. Определить, за какое время Т будет выполнена программа в конвейерной машине.


    Вариант№ 1

    Если программа состоит из 20 команд, на конвейерной машине с пятью этапами выполнения операций, которые имеют длительности ti, равные 20, 40, 60, 50, 70 нс соответственно, если накладные расходы на организацию конвейера составляют tнс = 5 нс

    Вариант№ 2

    Если программа состоит из 100 команд, на конвейерной машине с четырьмя этапами выполнения операций, которые имеют длительности ti, равные 50, 50, 50, 50 нс соответственно, если накладные расходы на организацию конвейера составляют tнс = 10 нс.

    Вариант№ 3

    Если программа состоит из 70 команд, на конвейерной машине с шестью этапами выполнения операций, которые имеют длительности ti, равные 60, 60, 40, 40, 60, 50 нс соответственно, если накладные расходы на организацию конвейера составляют tнс = 5 нс

    Вариант№ 4

    Если программа состоит из 60 команд, на конвейерной машине с пятью этапами выполнения операций, которые имеют длительности ti, равные 30, 40, 50, 30, 50 нс соответственно, если накладные расходы на организацию конвейера составляют tнс = 5 нс.

    Вариант№ 5

    Если программа состоит из 25 команд, на конвейерной машине с шестью этапами выполнения операций, которые имеют длительности ti, равные 70, 50, 50, 40, 40, 40 нс соответственно, если накладные расходы на организацию конвейера составляют tнс = 20 нс.


    3. Определите среднее время выполнения программы в неконвейерной машине.


    Вариант№ 1

    Неконвейерная машина с пятью этапами выполнения операций, которые имеют длительность 50, 50, 60, 50 и 50 нс.

    Вариант№ 2

    Неконвейерная машина с пятью этапами выполнения операций, которые имеют длительность 80, 60, 50, 70 и 65 нс.

    Вариант№ 3

    Неконвейерная машина с четырьмя этапами выполнения операций, которые имеют длительность 30, 40, 45, 35 нс.

    Вариант№ 4

    Неконвейерная машина с шестью этапами выполнения операций, которые имеют длительность 50, 60, 55, 70, 65 и 80 нс.

    Вариант№ 5

    Неконвейерная машина с пятью этапами выполнения операций, которые имеют длительность 30, 40, 50, 35 и 55 нс.



    4. Составить граф выполнения вычислений в многопроцессорной системе.


    Вариант№ 1

    Составить граф выполнения следующих вычислений в двухпроцессорной системе:

    1. А1=В1 · В1 3. С=2 · 100

    2. В2=А1 · А1 4. D=В2+С


    Вариант№ 2

    Составить граф выполнения следующих вычислений в трехпроцессорной системе:

    1. А1=В1+С1 4. D=А1+А2

    2. А2=В1·С1 5. D= D+А3

    3. А3=В1/С1

    Вариант№ 3

    Составить граф выполнения следующих вычислений в трехпроцессорной системе:

    1. А1=В1 + С1 4. D=А1+А2

    2. А2=В2 + С2 5. D= D +А3

    3. А3=А1 · А2

    Вариант№ 4

    Составить граф выполнения следующих вычислений в двухпроцессорной системе:

    1. А1=В1 · 2 4. С2=В3 · В4

    2. А2=В2 · 2 5. D=С1 + С2

    3. С1=А1 · А2

    Вариант№ 5

    Составить граф выполнения следующих вычислений в двухпроцессорной системе:

    1. А1=В1 + С1 4. D=А1 · А2

    2. А2=А1 + С2 5. D=D · А3

    3. А3=А2 + С3


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

    1. А1=В1 · 2 4. С1=(А1+А2)/2

    2. А2=В2 · 4 5. С2=(А2+А3)/2

    3. А3=В3 · 8 6. D=С1+С2
    1) Выделяем три этапа, в которые входят операции:

    1-й этап: 1, 2, 3

    2-й этап: 4, 5

    3-й этап: 6

    2)

    А1 С1 D

    В 1

     

    В2 А2 С2

     

    В3 А3

     
    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта