Методические указания. +Му к практ.работам всс. Методические указания к практическим работам по дисциплине Вычислительные системы и сети Специальность 5В070200 Автоматизация и управление
Скачать 0.98 Mb.
|
Практическая работа№2Память. Конвейерная и многопроцессорная обработка информации в ЭВМКраткая теория Память. Важнейшими характеристиками отдельных устройств памяти являются емкость памяти, удельная емкость, время доступа. Емкость памяти определяется максимальным количеством данных, которые могут в ней храниться. Емкость измеряется в двоичных единицах (битах), машинных словах, но большей частью в байтах. Время доступа к памяти – время, которое занимает установка адреса на адресной шине и считывание данных с шины данных. В некоторых устройствах памяти считывание информации сопровождается ее разрушением (стиранием). В таком случае цикл обращения должен содержать операцию восстановления (регенерации) считанной информации на прежнем месте в памяти. Таким образом, время доступа к памяти при считывании определяется по формуле tобр_с = tдост_с + tсчит + tрег, где tдост_с - промежуток времени между моментом начала операции считывания и моментом, когда становится возможным доступ к данной единице информации; tсчит - продолжительность самого физического процесса считывания; tрег - время, затрачиваемое на регенерацию информации (равно нулю для ЗУ, которым регенерация не требуется). Время доступа при записи определяется по формуле tобр_з = tдост_з + tподг + tзап, где tдост_з - промежуток времени между моментом начала операции записи и моментом, когда становится возможным доступ к запоминающим элементам; tподг - время подготовки, расходуемое на приведение в исходное состояние запоминающих элементов для записи заданной единицы информации; tзап - время занесения информации. В качестве продолжительности цикла обращения к памяти принимается величина. tобр = max(tобр_с, tобр_з). Простейшая организация конвейера. Выполнение типичной команды в конвейерной систем можно разделить на следующие этапы: • выборка команды – IF (по адресу, заданному счетчиком команд, из памяти извлекается команда); • декодирование команды/выборка операндов из регистров – ID; • выполнение операции/вычисление эффективного адреса памяти – EX; • обращение к памяти – MEM; • запоминание результата – WB. Чтобы конвейеризовать выполнение программы, мы можем просто разбить выполнение команд на указанные выше этапы, отведя для выполнения каждого этапа один такт синхронизации, и начинать в каждом такте выполнение новой команды. Естественно, для хранения промежуточных результатов каждого этапа необходимо использовать регистровые станции. Хотя общее время выполнения одной команды в таком конвейере будет составлять пять тактов, в каждом такте аппаратура будет выполнять в совмещенном режиме пять различных команд. Чаще всего для представления работы конвейера используются временные диаграммы (таблица), на которых обычно изображаются выполняемые команды, номера тактов и этапы выполнения команд. Диаграмма работы простейшего конвейера
Конвейеризация увеличивает пропускную способность процессора (количество команд, завершающихся в единицу времени), но она не сокращает время выполнения отдельной команды. В действительности она даже несколько увеличивает время выполнения каждой команды из-за накладных расходов, связанных с управлением регистровыми станциями. Однако увеличение пропускной способности означает, что программа будет выполняться быстрее по сравнению с простой неконвейерной схемой. Тот факт, что время выполнения каждой команды в конвейере не уменьшается, накладывает некоторые ограничения на практическую длину конвейера. Кроме ограничений, связанных с задержкой конвейера, имеются также ограничения, возникающие в результате несбалансированности задержки на каждой его ступени и из-за накладных расходов на конвейеризацию. Частота синхронизации не может быть выше, а, следовательно, такт синхронизации не может быть меньше, чем время, необходимое для работы наиболее медленной ступени конвейера. Накладные расходы на организацию конвейера возникают из-за задержки сигналов в конвейерных регистрах (защелках) и из-за перекосов сигналов синхронизации. Конвейерные регистры к длительности такта добавляют время установки и задержку распространения сигналов. Так при определении среднего времени, которое потребуется для выполнения определенного количества команд используется следующая формула: tср = t i max + tнс где t i max – максимальная длительность этапа выполнения операции tнс - накладные расходы времени на организация конвейера. А определение времени выполнения программы зависит от числа команд программы, количества этапов выполнения операций и среднего времени. Многопроцессорная обработка в ЭВМ. При организации вычислений в многопроцессорной системе осуществляется преобразование входной переменной (сигнала). Вычисление можно одновременно выполнить на N процессорах. Процессор Рi в исходном состоянии получает на вход одно из значений х и в конце вычисления выдает значение Аi. Если рассматривать процесс вычислений в виде графа, то горизонтальные пути на графе будут соответствовать обработке внутри процессора, а промежуточные вершины — промежуточным этапам вычисления. Остальные дуги графа будут определять межпроцессорные обмены. На каждом этапе вычисления число обменов равно N. Результаты, полученные на любом этапе, нужны только для следующего этапа. Все процессоры, начавшие вычисления, заняты их выполнением до получения результата. На практике процессоры освобождаются постепенно, причем, как правило, в неизвестные заранее моменты времени. Если освобождающийся ресурс не используется (он выделен только для данной работы), это приводит к снижению параллелизма и соответственно к снижению эффективности использования ресурсов системы. Обмены информацией между процессорами достигают большого значения, что может привести к малой эффективности многопроцессорной обработки. Поэтому выгоднее распараллеливать обработку данных более крупными блоками. За счет наличия в блоках операций самого различного характера появляется возможность наиболее полного использования процессоров. Процессоры работают таким образом, что данные, полученные на предыдущем этапе, необходимы для выполнения последующих операций. При отказе одного из процессоров общее решение оказывается неверным. Во избежание этого вычисления, ранее проводившиеся на отказавшем процессоре, необходимо продолжить на другом (исправном). Задание 1. Определите время доступа к памяти при считывании, записи и продолжительность обращения к памяти.
2. Определить, за какое время Т будет выполнена программа в конвейерной машине.
3. Определите среднее время выполнения программы в неконвейерной машине.
4. Составить граф выполнения вычислений в многопроцессорной системе.
Для этого необходимо выделить группы операций, которые могут выполняться одновременно, затем определить количество этапов вычислений, после построить граф. Пример. Составить граф выполнения следующих вычислений в трехпроцессорной системе: 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 |