Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учеб пособие по КР, СПО.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.72 Mб
Скачать

1. Содержание и объем курсовой работы

Курсовая работа состоит из расчетно-пояснительной записки (РПЗ).

Объем РПЗ – 25-30 листов машинописного текста на листах формата А4.

В расчетной части необходимо представить:

1) информационный граф;

2) программу коммутации;

3) схему коммутации счета в соответствии с заданием.

Согласно схеме коммутации счета написать программу, реализующую вычисление арифметического выражения на языке С/С++. Программа составляется для операционной системы Windows с использованием функций интерфейса прикладного программирования (API). Кроме того, в программе параллельные вычисления должны осуществляться с использованием четырех тредов. Программа на Ассемблере должна реализовывать последовательное вычисление арифметического выражения. При программировании необходимо учесть так называемые исключительные ситуации, например, деление на ноль.

В качестве задания каждому студенту выдается индивидуальное арифметическое выражение (прил. П6).

2. Оформление курсовой работы

Расчетно-пояснительная записка оформляется в соответствии с существующими стандартами. Оформление программного кода и других должно соответствовать примерам, приведенным в данном пособии.

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

Далее с абзаца приводят наименования разделов, подразделов и приложений РПЗ и указывают номера листов, с которых они начинаются. На заглавном листе РПЗ делают рамку и помещают штамп в соответствии со стандартом. В основной надписи штампа указывается обозначение курсовой работы. Например: КР …, где за буквами КР ставится шифр специальности и специализации, учебной группы и шифр варианта в виде последовательности цифр.

Текст РПЗ набирается на компьютере шрифтом Times New Roman, размер шрифта – 14, поля сверху, снизу и слева – 20 мм, справа – 10 мм. Схемы, рисунки и код также оформляются на компьютере в масштабе, позволяющем ясно различить их элементы.

Излагать материал в РПЗ следует от первого лица множественного числа (определяем, выбираем, принимаем и т.д.) или использовать неопределенную форму (определяется, выбирается, принимается и т.п.).

В конце РПЗ приводится список использованной литературы, включающий учебники, учебные пособия, справочники, государственные стандарты и др. Литературу в списке нумеруют арабскими цифрами и располагают в порядке появления ссылок на нее в тексте РПЗ. При ссылках проставляется номер литературного источника в квадратных скобках в соответствии со списком, например: [9]. В качестве примеров записи можно использовать список литературы в конце данного методического пособия.

3. Распараллеливание обработки

ИНФОРМАЦИИ – СПОСОБ ДОСТИЖЕНИЯ

ВЫСОКОЙ ПРОИЗВОДИТЕЛЬНОСТИ

ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

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

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

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

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

О

8

днако для полного использования всех возможностей распараллеливания необходимо применить его на уровне исполнитель­ных устройств процессора, входящих в состав его арифметическо-логического устройства (АЛУ). Такое применение послужило развитию архитектуры вычислительной системы, в которой в процессе обработки команд программы производится загрузка множества исполни­тельных устройств – решающего поля вычислительной системы. Задача оперативной загрузки решающего поля получила специфическое решение при идентичной обработке элементов массивов однородной информа­ции – при векторной обработке информации. Преобладание такой обработки во многих задачах определило ориентацию класса вычислительных систем. Обработка векторов в наибольшей степени соответствует идее конвейера. Поэтому именно конвейерные исполнительные устройства получили развитие в составе вычислительных систем, ориентированных на пред­почтительную обработку векторов. Подобные вычислительные системы называются векторно-конвейерными. При этом трудность организации кон­вейера для всех операций вычислительной системы, выполняемых одним исполнитель­ным устройством, приводит к разбиению таких устройств по ти­пам операций – к созданию, например, устройств сложения, ум­ножения, деления, выполнения логических операций. Это соответ­ствует неоднородному решающему полю вычислительной системы. На конвейере вы­полняются не только векторные, но и скалярные операции.

Таким образом, можно ввести поня­тие именованной или потенциально именованной работы, которая рассматривается в качестве неде­лимой в общей совокупности взаимосвязанных работ, подлежащих распараллеливанию в вычислительной системе. Такие работы могут быть определены (снабжены именем) выражениями вида "процедура решения за­дачи целочисленного линейного программирования", "расчет зна­чения полинома", "нахождение sinα", "сложение значений а и b", "умножение двух компонент векторов" и т. д. Другими словами, именованная работа отражается в программе вычислительной системы на алгоритмическом языке или в ее коде в виде программного модуля, от­дельной инструкции или операции над данными. Совокупность именованных работ задает пользователь.

Во-вторых, выделим два уровня распараллеливания:

  1. распределение отдельных задач, взаимодействующих программ­ных модулей, процедур и т. д. (соответствует построению много­процессорных вычислительных систем или многомашинных вычислительных систем);

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

Отметим тенденцию совмещения в одной вычислительной системе двух уровней рас­параллеливания. Вычислительные системы развиваются как многопроцессорные, процессоры в которых располагают сложными АЛУ – решающими полями.

Классификация вычислительных систем по реализуемым уровням распараллелива­ния, возможно, не является столь универсальной, она более близка к предложен­ной классификации, на основе таких характеристик, как число устройств управления (или процессоров), число АЛУ, свя­занных с каждым из них, параметры конвейерной реализации ус­тройств и разрядность машинного слова.