Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Состав и свойства вычислительных систем. Информационное и математическое обеспечение вычислительных систем (Классификация, состав и свойства вычислительных систем)

Содержание:

Введение

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

Термин «вычислительная система» появился в начале — середине 60-х гг. при создании ЭВМ третьего поколения. В это время появилась новая элементная база — интегральные схемы, и, как следствие, появились новые технические решения: разделение процессов обработки информации и ее ввода—вывода, множественный доступ и коллективное использование вычислительных ресурсов в пространстве и во времени. Появились сложные режимы работы ЭВМ — многопользовательская и многопрограммная обработка. Отражая эти новшества, и появился термин «вычислительная система».

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

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

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

Источником информации для написания настоящей курсовой работы послужили учебные пособия, научно—популярная литература и статьи, посвященные вычислительным системам. Среди них учебные пособия Бройдо В.Л., Симоновича С.В., Козлова В.Н., Пятибратова А.П. и других авторов, книги Андреева А.М., Горнец Н.Н. Также был использован ряд интернет-источников, на которых размещены лекции по теме курсовой работы. Все источники подробно раскрывают тему вычислительных систем, информация указана в доступной форме, с учетом последних исследований. Именно поэтому данные источники можно считать надежными и достоверными.

 1. Классификация, состав и свойства вычислительных систем

Понятие и классификация вычислительных систем

Вычислительная система (ВС) – это совокупность ЭВМ и средств программного обеспечения, которая предназначена для выполнения вычислительных процессов. Иными словами, вычислительная система – это любая автоматизированная система, основанная на использовании ЭВМ [4, с. 37].

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

Рисунок 1 — Вычислительная система [3]

Прежде чем рассматривать состав вычислительных систем, необходимо охарактеризовать их классификацию. Существует большое количество признаков, по которым классифицируют вычислительные системы [6, с. 118]. В Приложении 1 представлена принципиальная схема классификации вычислительных систем. К примеру, по назначению вычислительные системы делят на универсальные и специализированные. Специализированные системы ориентированы на решение узкого класса задач, в отличие от универсальных, предназначенных для широкого спектра задач.

По типу построения вычислительные системы разделяются на многомашинные и многопроцессорные. Это означает, что вычислительные системы могут строиться на базе нескольких компьютеров или на базе нескольких процессоров. В первом случае ВС будет многомашинной, во втором — многопроцессорной [1, с. 59].

Многомашинные вычислительные системы (ММС) появились раньше, чем многопроцессорные. Основные отличия ММС заключаются в организации связей и обмена информацией между ЭВМ, входящими в комплекс. Многомашинная ВС содержит некоторое число компьютеров, информационно взаимодействующих между собой. Машины могут находиться рядом друг с другом, либо быть удалены друг от друга на некоторое, иногда значительное расстояние (вычислительные сети). В многомашинных ВС каждый компьютер работает под управлением своей операционной системы (ОС). А поскольку обмен информацией между машинами выполняется под управлением ОС, взаимодействующих друг с другом, динамические характеристики процедур обмена несколько ухудшаются, т.к. требуется время на согласование работы самих ОС. Информационное взаимодействие компьютеров в многомашинной ВС может быть организовано на уровне процессоров, оперативной памяти, каналов связи [10, с. 118].

При непосредственном взаимодействии процессоров друг с другом информационная связь реализуется через регистры процессорной памяти и требует наличия в ОС весьма сложных специальных программ.
Взаимодействие на уровне оперативной памяти (ОП) сводится к программной реализации общего поля оперативной памяти, что несколько проще, но также требует существенной модификации ОС. Под общим полем имеется в виду равнодоступность модулей памяти: все модули памяти доступны всем процессорам и каналам связи [4, с.124].

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

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

Однако МПС имеют и существенные недостатки. Они, в первую очередь, связаны с использованием ресурсов общей оперативной памяти. При большом количестве объединяемых процессоров возможно возникновение конфликтных ситуаций, когда несколько процессоров обращаются с операциями типа «чтение» и «запись» к одним и тем же ячейкам памяти. Помимо процессоров, к ОП подключаются все процессоры ввода—вывода, средства измерения времени и пр. Поэтому вторым серьезным недостатком МПС является проблема коммутации и доступа абонентов к ОП. Опыт построения подобных систем показал, что они эффективны при небольшом числе объединяемых процессоров (от 2 до 10) [11, с. 92].

По типу ЭВМ или процессоров, используемых для построения ВС, различают однородные и неоднородные системы. Однородная ВС строится на базе однотипных компьютеров или процессоров [10, 126]. Однородные системы позволяют использовать стандартные наборы технических, программных средств, стандартные протоколы (процедуры) сопряжения устройств, поэтому их организация значительно проще, облегчается обслуживание систем и их модернизация.

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

По методам управления элементами ВС различают централизованные, децентрализованные и ВС со смешанным управлением. В централизованных ВС за управление отвечает главная или диспетчерская ЭВМ (процессор). Ее задачей является распределение нагрузки между элементами, выделение ресурсов, контроль состояния ресурсов, координация взаимодействия [15, с. 103]. Централизованный орган управления в системе может быть жестко фиксирован, или эти функции могут передаваться другой ЭВМ (процессору), что способствует повышению надежности системы. Централизованные системы имеют более простые ОС.

В децентрализованных системах функции управления распределены между ее элементами. Каждая ЭВМ (процессор) системы сохраняет некоторую автономию, а необходимое взаимодействие между элементами устанавливается по специальным наборам сигналов [7, с. 51].

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

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

По степени территориальной разобщенности вычислительных модулей ВС делятся на системы: 

  • территориально—сосредоточенные, в которых все компоненты располагаются в непосредственной близости друг от друга;
  • распределенные, где компоненты могут располагаться на значительном расстоянии, например, вычислительные сети [12, с. 46];
  • структурно—одноуровневые, в которых имеется лишь один общий уровень обработки данных;
  • многоуровневые (иерархические) структуры, где в иерархических ВС машины или процессоры распределены по разным уровням обработки информации, некоторые машины (процессоры) могут специализироваться на выполнении определенных функций [6, с. 146].

По режиму работы различают системы, работающие в оперативном и неоперативном временных режимах. Первые, как правило, используют режим реального масштаба времени. Этот режим характеризуется жесткими ограничениями на время решения задач в системе и предполагает высокую степень автоматизации процедур ввода—вывода и обработки данных [4, с. 139].

Состав и структура вычислительных систем

Состав вычислительной системы называется конфигурацией. Аппаратные и программные средства вычислительной техники принято рассматривать отдельно, и соответственно, отдельно рассматривается аппаратная конфигурация вычислительных систем и их программная конфигурация. Такой принцип разделения имеет особое значение, поскольку очень часто решение одних и тех же задач может обеспечиваться как аппаратными, так и программными средствами [5]. Критериями выбора аппаратного или программного решения являются производительность и эффективность. Обычно принято считать, что аппаратные решения в среднем оказываются дороже, однако реализация программных решений требует более высокой квалификации персонала.

К аппаратному обеспечению вычислительных систем относятся устройства и приборы, образующие аппаратную конфигурацию. Современные компьютеры и вычислительные комплексы имеют блочно—модульную конструкцию — аппаратную конфигурацию, необходимую для исполнения конкретных видов работ, которую можно собирать из готовых узлов и блоков [5].

По способу расположения устройств относительно центрального процессорного устройства (ЦПУ— Central Processing Unit, CPU) различают внутренние и внешние устройства. Внешними, как правило, являются большинство устройств ввода—вывода данных (их также называют периферийными устройствами) и некоторые устройства, которые предназначены для длительного хранения данных.

Согласование между отдельными узлами и блоками выполняют с помощью переходных аппаратно—логических устройств, которые называют аппаратными интерфейсами. Стандарты на аппаратные интерфейсы в вычислительной технике называют протоколами. Таким образом, протокол — это совокупность технических условий, которые должны быть обеспечены разработчиками устройств для успешного согласования их работы с другими устройствами [4, с. 155].

Многочисленные интерфейсы, присутствующие в архитектуре любой вычислительной системы, можно условно разделить на две большие группы: последовательные и параллельные. Через последовательный интерфейс данные передаются последовательно, бит за битом, а через параллельный — одновременно группами битов [13]. Количество битов, участвующих в одной посылке, определяется разрядностью интерфейса, например, восьмиразрядные параллельные интерфейсы передают один байт (8 бит) за один цикл.

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

Устройство последовательных интерфейсов проще, как правило, для них не надо синхронизировать работу передающего и принимающего устройства, поэтому их часто называют асинхронными интерфейсами. Однако, пропускная способность их меньше и коэффициент полезного действия ниже, т.к. из-за отсутствия синхронизации посылок полезные данные начинаются и завершаются посылками служебных данных, т.е. на один байт полезных данных могут приходиться 1—3 служебных бита (состав и структуру посылки определяет конкретный протокол) [13]. Поскольку обмен данными через последовательные устройства производится не байтами, а битами, их производительность измеряют битами в секунду (бит/с, Кбит/с, Мбит/с).

Последовательные интерфейсы применяют для подключения «медленных» устройств: простейших устройств печати низкого качества, устройств ввода и вывода знаковой и сигнальной информации, контрольных датчиков, малопроизводительных устройств связи и т. п., а также в тех случаях, когда нет существенных ограничений по продолжительности обмена данными (большинство цифровых фотокамер) [5].

Программное обеспечение составляют программы — упорядоченные последовательности команд. Конечной целью любой компьютерной программы является управление аппаратными средствами. Даже если на первый взгляд программа не взаимодействует с оборудованием, не требует никакого ввода данных с устройств ввода и не осуществляет вывод данных на устройства вывода, в любом случае ее работа основана на управлении аппаратными устройствами компьютера [15, с. 153].

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

Состав программного обеспечения вычислительной системы называют программной конфигурацией. Между программами, как и между физическими узлами и блоками существует взаимосвязь — многие программы работают, опираясь на другие программы более низкого уровня, т.е. можно говорить о межпрограммном интерфейсе [5]. Возможность существования такого интерфейса также основана на существовании технических условий и протоколов взаимодействия, а на практике он обеспечивается распределением программного обеспечения на несколько взаимодействующих между собой уровней (см. рисунок 2). Каждый следующий уровень опирается на программное обеспечение предшествующих уровней.

Прикладное ПО

Служебное ПО

Системное ПО

Базовое ПО

Рисунок 2 – Уровни программного обеспечения вычислительной системы [13]

Такое разделение удобно на всех этапах работы с вычислительной системой, начиная с установки программ и заканчивая практической эксплуатацией и техническим обслуживанием. Следует обратить внимание на то, что каждый вышележащий уровень повышает функциональность всей системы [10, с. 206]. Так, например, вычислительная система с программным обеспечением базового уровня не способна выполнять большинство функций, но позволяет установить системное программное обеспечение.

Базовый уровень — самый низкий уровень программного обеспечения, он отвечает за взаимодействие с базовыми аппаратными средствами. Как правило, базовые программные средства непосредственно входят в состав базового оборудования и хранятся в специальных микросхемах — постоянных запоминающих устройствах (ПЗУ— Read Only Memory, ROM). Программы и данные записываются («прошиваются») в микросхемы ПЗУ на этапе производства и не могут быть изменены в процессе эксплуатации.

В тех случаях, когда изменение базовых программных средств во время эксплуатации является технически целесообразным, вместо микросхем ПЗУ применяют перепрограммируемые постоянные запоминающие устройства (ППЗУ — Erasable and Programmable Read Only Memory, EPROM) [11, с. 143]. В этом случае изменение содержания ПЗУ можно выполнять как непосредственно в составе вычислительной системы (флэш-технология), так и отдельно от нее, на специальных устройствах, называемых программаторами.

Системный уровень — переходный. Программы, работающие на этом уровне, обеспечивают взаимодействие прочих программ компьютерной системы с программами базового уровня и непосредственно с аппаратным обеспечением, т.е. выполняют «посреднические» функции [9, с. 101].

От программного обеспечения этого уровня во многом зависят эксплуатационные показатели вычислительной системы в целом. Так, например, при подключении к вычислительной системе нового оборудования на системном уровне должна быть установлена программа, которая обеспечивает для других программ взаимосвязь с этим оборудованием. Конкретные программы, отвечающие за взаимодействие с конкретными устройствами, называются драйверами устройств — они входят в состав программного обеспечения системного уровня [5].

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

Совокупность программного обеспечения системного уровня образует ядро операционной системы компьютера. Если компьютер оснащен программным обеспечением системного уровня, то он уже подготовлен к установке программ более высоких уровней, к взаимодействию программных средств с оборудованием и, самое главное, к взаимодействию с пользователем [9, с. 118]. То есть наличие ядра ОС — непременное условие для возможности практической работы человека с вычислительной системой.

Программное обеспечение служебного уровня взаимодействует как с программами базового уровня, так и с программами системного уровня. Основное назначение служебных программ (их также называют утилитами) состоит в автоматизации работ по проверке, наладке и настройке компьютерной системы [13]. Во многих случаях они используются для расширения или улучшения функций системных программ. Некоторые служебные программы (как правило, это программы обслуживания) изначально включают в состав ОС, но большинство служебных программ являются для нее внешними и служат для расширения ее функций.

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

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

Между прикладным программным обеспечением и системным существует непосредственная взаимосвязь (первое опирается на второе). Поэтому можно утверждать, что универсальность ВС, доступность прикладного программного обеспечения и широта функциональных возможностей компьютера напрямую зависят от типа используемой ОС, от того, какие системные средства содержит ее ядро, как она обеспечивает взаимодействие триединого комплекса человек — программа — оборудование [4, с. 218].

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

Разработчикам программного обеспечения ОС позволяет абстрагироваться от деталей реализации и функционирования устройств, предоставляя минимально необходимый набор функций [5]. С 1990-х гг. и по сей день наиболее распространенными операционными системами являются системы семейства Windows, UNIX и UNIX—подобные системы.

Основные функции ОС:

  • исполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.) [11, с. 207];
  • загрузка программ в оперативную память и их выполнение;
  • стандартизированный доступ к периферийным устройствам (устройства ввода—вывода);
  • управление оперативной памятью (распределение между процессами, организация виртуальной памяти);
  • управление доступом к данным на энергонезависимых носителях (таких как жесткий диск, оптические диски и др.), организованным в той или иной файловой системе [3];
  • обеспечение пользовательского интерфейса;
  • сохранение информации об ошибках системы.

Дополнительные функции:

  • параллельное или псевдопараллельное выполнение задач (многозадачность);
  • эффективное распределение ресурсов вычислительной системы между процессами;
  • разграничение доступа различных процессов к ресурсам;
  • организация надежных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам [5];
  • взаимодействие между процессами: обмен данными, взаимная синхронизация;
  • защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений;
  • многопользовательский режим работы и разграничение прав доступа

Многозадачность и распределение полномочий требуют определенной иерархии привилегий компонентов в самой операционной системе. В составе операционной системы различают три группы компонентов:

  • ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;
  • системные библиотеки;
  • оболочка с утилитами [13].

Большинство программ, как системных (входящих в ОС), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система, а точнее, ее ядро управляет оборудованием.

В определении состава ОС значение имеет критерий операциональной целостности (замкнутости): система должна позволять полноценно использовать свои компоненты, включая модификацию [6, с. 156]. Поэтому в полный состав ОС включают и набор инструментальных средств (от текстовых редакторов до компиляторов, отладчиков и компоновщиков).

Типичная структура вычислительной системы включает в себя три основных типа устройств: процессор, память, устройства ввода—вывода (рисунок 3).

:

Рисунок 3 — Структура вычислительной сети [5]

Память включает в себя оперативную память (ОЗУ, RAM – Random Access Memory) и постоянную память (ПЗУ, ROM – Read Only Memory), которая служит для хранения данных и программ. Устройства ввода/вывода (УВВ, I/O – Input/Output Devices) служат для связи микропроцессорной системы с внешними устройствами, для приема (ввода, чтения, Read) входных сигналов и выдачи (вывода, записи, Write) выходных сигналов [5]. Все устройства вычислительной системы объединяются общей системной шиной (системной магистралью или каналом).

Системная магистраль включает в себя четыре основные шины нижнего уровня:

  • шина адреса (Address Bus);
  • шина данных (Data Bus);
  • шина управления (Control Bus);
  • шина питания (Power Bus).

Шина адреса служит для определения адреса (номера) устройства, с которым процессор обменивается информацией в данный момент. Каждому устройству, кроме процессора, каждой ячейке памяти в микропроцессорной системе присваивается собственный адрес [4, с. 259]. Когда код какого—то адреса выставляется процессором на шине адреса, устройство, которому этот адрес приписан, понимает, что ему предстоит обмен информацией. Шина адреса может быть однонаправленной или двунаправленной.

Шина данных – это основная шина, которая используется для передачи информационных кодов между всеми устройствами микропроцессорной системы [11, с. 219]. Обычно в пересылке информации участвует процессор, передающий код данных в какое—либо устройство или ячейку памяти, или же принимающий код данных из какого—либо устройства или ячейки памяти. Но возможна также и передача информации между устройствами без участия процессора. Шина данных всегда двунаправленная.

Шина управления в отличие от шины адреса и шины данных состоит из отдельных управляющих сигналов, каждый из которых имеет свою функцию. Некоторые сигналы служат для стробирования передаваемых или принимаемых данных, т.е. определяют моменты времени, когда информационный код выставлен на шину данных [5]. Другие управляющие сигналы могут использоваться для подтверждения приема данных, сброса всех устройств в исходное состояние, тактирования всех устройств и т.д. Линии шины управления могут быть однонаправленными или двунаправленными.

Шина питания предназначена для питания системы. Каждому напряжению питания соответствует своя линия связи. Все устройства подключены к этим линиям параллельно.

Характеристики и свойства вычислительных систем

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

На первый взгляд, более быстродействующая вычислительная техника должна обеспечивать более высокие показатели производительности. Однако практика измерений значений этих характеристик может давать противоречивые результаты [6, с. 180]. Основные трудности в решении данной задачи заключены в проблеме выбора: что и как измерять. Укажем наиболее распространенные подходы.

Одной из альтернативных единиц измерения быстродействия была и остается величина, измеряемая в MIPS (Million Instructions Per Second – миллион операций в секунду). В качестве операций здесь обычно рассматриваются наиболее короткие операции типа сложения. MIPS широко использовалась для оценки больших машин второго и третьего поколений, но для оценки современных вычислительных систем применяется достаточно редко по следующим причинам:

  • набор команд современных микропроцессоров может включать сотни команд, сильно отличающихся друг от друга длительностью выполнения;
  • значение, выраженное в MIPS, меняется в зависимости от особенностей программ;
  • значение MIPS и значение производительности могут противоречить друг другу, когда оцениваются разнотипные вычислители (например, ЭВМ, содержащие сопроцессор для чисел с плавающей точкой и без него) [3].

При решении научно—технических задач в программах резко увеличивается удельный вес операций с плавающей точкой. В этом случае для больших однопроцессорных машин используется характеристика быстродействия, выраженная в MFPOPS (Million Floating Point Operation Per Second—миллион операций с плавающей точкой в секунду) [10, с. 224] Для персональных ЭВМ этот показатель практически не применяется из-за особенностей решаемых задач и структурных характеристик.

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

  • наборы тестов фирм—изготовителей для оценивания качества собственных изделий (например, компания Intel для своих микропроцессоров ввела показатель iCOMP—Intel Comparative Microprocessor Performance);
  • стандартные универсальные тесты для ЭВМ, предназначенных для крупномасштабных вычислений (например, пакет математических задач Linpack, по которому ведется список ТОР 500, включающий 500 самых производительных вычислительных систем в мире) [11, с. 225];
  • специализированные тесты для конкретных областей применения.

Результаты оценивания вычислительных систем, проведенные по различным тестам несопоставимы. Наборы тестов и области применения компьютеров должны быть адекватны.

Емкость запоминающих устройств является важнейшей характеристикой ЭВМ. Она измеряется количеством структурных единиц информации, которые одновременно можно разместить в памяти [15, с. 177]. Этот показатель позволяет определить, какой набор программ данных может быть. Наименьшей структурной единицей информации является бит – одна двоичная цифра. Как правило, емкость памяти оценивается в более крупных единицах измерения — байтах (байт равен восьми битам). Следующими единицами измерения служат: 1 Гбайт=210 =1024 байта, 1 Мбайт =210 Кбайта=220, 1 Гбайт=210 Мбайт=220 Кбайта=230 байта.

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

Точность вычислительной системы – это возможность различать почти равные значения переменных. Точность получения результата обработки в основном определяется разрядностью ЭВМ, которая может составлять 32, 64 и 128 двоичных разрядов.

Необходимо отметить, что есть много применений, при которых не требуется большой точности, например при обработке текстов, управлении технологическими процессами, достаточно иметь 8— и 16— разрядные коды. При выполнении сложных математических расчетов необходима высокая разрядность (32, 64 и более), для ее достижения могут использоваться программные способы, что позволяет достигать практически любой необходимой для решения задач точности [10, с. 228].

Достоверность – свойство информации быть воспринятой адекватно тому источнику информации, который она представляет. Достоверность характеризует вероятность получения безошибочных результатов. Возможны методы контроля достоверности решения эталонных задач и повторных расчетов.

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

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

Свойство наращиваемости производительности предоставляет потенциальную возможность решать задачи любой заданной сложности. Однако для практической реализации этой возможности требуется, чтобы алгоритм решения сложной задачи удовлетворял условию локальности, а межмодульные пересылки информации слабо влияли на время решения задачи. Это может быть достигнуто за счет крупноблочного распараллеливания сложных задач и (или) аппаратных средств, которые позволяют совместить межмодульные обмены информацией с вычислениями [10, с. 238].

Вычислительные системы алгоритмически и структурно универсальны. Принято считать, что ЭВМ, основанные на модели вычислителя, являются алгоритмически универсальными, если они обладают способностью без изменения своих структур реализовать алгоритм решения любой задачи. С другой стороны, ВС – это комплекс вычислителей, каждый из которых обладает алгоритмической универсальностью, следовательно, и система универсальна в общепринятом смысле [2].

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

Структурная универсальность ВС – следствие воплощения архитектурных принципов коллектива вычислителей, в частности, принципа программируемости структуры [3]. Суть этого принципа – возможность автоматически (программно) порождать специализированные (проблемно—ориентированные) виртуальные конфигурации, которые подходят структурам и параметрам решаемых задач.

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

Структурная универсальность позволяет говорить и о специализированности ВС: для каждой задачи допустима автоматическая настройка такой конфигурации из ресурсов ВС, которая наиболее подходит алгоритму решения задачи [11, с. 259]. Итак, вычислительная система – это средство, в котором сочетаются противоположные свойства универсальности и специализированности.

Выводы:

      1. Вычислительная система – это совокупность ЭВМ и средств программного обеспечения, предназначенная для выполнения вычислительных процессов и основанная на использовании ЭВМ.
      2. По различным признакам вычислительные сети делятся на универсальные и специализированные, многомашинные и многопроцессорные, однородные и неоднородные, территориально—сосредоточенные, распределенные и многоуровневые, а также работающие в оперативном и неоперативном режимах.
      3. Аппаратное обеспечение вычислительных систем составляют внутренние и внешние по отношению к центральному процессору устройства, соединенные многочисленными последовательными и параллельными интерфейсами.
      4. Программное обеспечение вычислительных систем делится на прикладное, служебное, системное и базовое, работающее на разных уровнях системы. Особое место занимает операционная система, которая предназначена для управления ресурсами компьютера и организации взаимодействия с пользователем.
      5. Важнейшими характеристиками вычислительной системы являются ее быстродействие и производительность, главными свойствами — масштабируемость и универсальность.

Информационное и математическое обеспечение вычислительных систем

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

В специализированных компьютерных системах (бортовых компьютерах автомобилей, судов, ракет, самолетов, космических летательных аппаратов и т. п.) совокупность программного и информационного обеспечения называют математическим обеспечением [8, с. 116]. Как правило, оно «жестко» записывается в микросхемы ПЗУ и может быть изменено только путем замены ПЗУ или его перепрограммирования на программаторах.

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

Форматы данных и сообщений, должны максимально эффективно использовать производительность технических средств [14, с. 168]. Различные сегменты ВС должны обладать свойством информационной совместимости. Это означает, что данные, различные по своей природе (аудио, видео, и пр.), должны обрабатываться одинаково эффективно.

Необходимость организации вычислительной системы подразумевает создание единой информационно—коммуникационной среды. Для этого могут быть применены две основные технологии — клиент-серверная и файл-серверная [14, с. 170]. Кроме этого, массивы информации в виде баз данных (БД), могут иметь статус коллективного (доступны всем пользователям) и индивидуального ресурса (имеется один владелец—пользователь).

БД, используемые в вычислительной системе, размещаются локально на одной ЭВМ или являются распределенными и располагаются на нескольких ЭВМ. Для управления БД применяются стандартные СУБД (системы управления БД) и СУРБД (системы управления распределенными БД) [6, с. 201].

Математическое обеспечение – это совокупность математических методов, моделей, алгоритмов обработки информации, которые используются при решении задач в вычислительной системе, и является составной частью ее программного обеспечения [8, с. 118]. Математическое обеспечение (МО) состоит из алгоритмического и программного.

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

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

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

Одна из классификаций математического обеспечения предполагает деление его на следующие разделы: подпрограммы, пакеты программ, библиотеки программ, системы математического обеспечения [3].

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

Пакетом программ называют комплекс программ для решения серийных задач в конкретной области науки и техники. Пакет прикладных программ (ППП) — это система взаимосвязанных программ и средств организации процесса вычислений [14, с. 174]. При помощи этих средств, в рамках реализованной в пакете стратегии организации вычислений, автоматически генерируется цепочка прикладных вычислительных программ для проведения конкретного вычислительного эксперимента. Базовым уровнем пакетов этого класса служит пакет BLAS (Basic Linear Algebra Subroutine), реализующий основные операции нижнего уровня вычислительной линейной алгебры. Он входит в состав всех пакетов и библиотек линейной алгебры, обеспечивая низкоуровневый интерфейс между программами широкого класса библиотек и ЭВМ различных архитектур [8, с. 127]. Пакет разделяется на три уровня BLAS: Level 1 BLAS — для векторных операций, Level 2 BLAS — для матрично-векторных операций, Level 3 BLAS — для матричных операций. Этот пакет был разработан еще в 70—е гг. поэтому возникла необходимость разработки методологии автоматической генерации высокоэффективных подпрограмм для современных вычислительных машин.

Наиболее простой и широко используемый метод оптимизации программ пакета заключается в параметризации характеристик вычислителей и использовании этих данных на уровне трансляции приложений. Другим способом оптимизации программ пакета является разработка кодового генератора [8, с. 133]. Основой такой технологии является возможность генерации нескольких вариантов объектного кода, а адаптация пакета заключается в определении его наилучшей версии для конкретной архитектуры ЭВМ и может производиться с учетом времени счета эталонных задач. Эти технологии использовались, к примеру, в рамках проекта ATLAS (Automatically Tuned Linear Algebra Software), для создания инструментальных систем разработки программного обеспечения для адаптации оптимального объектного кода пакета линейной алгебры на различные архитектуры ЭВМ.

Библиотеки программ состоят из набора пакетов программ (пакет пакетов), предназначенных для решения широкого круга задач, например задач численного анализа, математической статистики и др. [3]. Прототипами библиотек можно считать программы общего назначения, поставляемые производителями ЭВМ для своих машин.

Система математического обеспечения — это библиотека программ широкого назначения с проблемно—ориентированным языком, обеспечивающим дружественный интерфейс с пользователями. Одной из старейших систем математического обеспечения ЭВМ является MATLAB [10, с. 344]. В расчетах допускается использования таких мощных типов данных, как многомерные массивы чисел, символов, структур, задаваемых пользователями. Область применения MATLAB — это построение математических моделей и разработка алгоритмов, программирование и проведение вычислений, использование научной и технической графики для визуализации и анализа данных.

Прогресс технологии производства оборудования ЭВМ значительно опережает темпы роста производства программного обеспечения. Поэтому очень велико значение систем математического обеспечения как элемента индустриальной технологии разработки программ приложений. Современное МО, кроме программ элементарных математических функций для вычисления синусов и логарифмов и др., содержит обширный набор стандартных программ для реализации массовых вычислительных алгоритмов [3]. Техника сборки программы из готовых вычислительных компонент снижает трудоемкость программирования приложений. Значительное усложнение программирования из-за появления многопроцессорных кластеров и графических процессоров повышает роль такой техники.

Библиотечная программа для расширения области применения должна допускать широкую вариацию входных параметров, обеспечивать настройку на особенности исходных данных и аппаратного обеспечения [8, с. 159]. Наиболее впечатляющих успехов структуризация библиотечных программ достигла при программировании ППП для задач линейной алгебры. Особенностью данного класса задач является устойчивость большинства алгоритмов: эффективность вычислений зависит главным образом от особенностей размещения данных в памяти ЭВМ.

Один из главных критериев качества математического обеспечения —надежность вычислений, которая обеспечивается, в частности, сертификацией библиотечных программ. Будущее данного направления — в ускоренном развитии технологии «облачных пакетов» — генерация сертифицированных пакетов программ с открытым исходным кодом, которые настроены на заданную предметную область и конкретную ВС [4, с. 307].

Вывод: Информационное обеспечение — это совокупность программ и предварительно подготовленных данных для работы данных программ. Математическое обеспечение – математические методы, модели, алгоритмы обработки информации, которые являются составной частью ее программного обеспечения.

Заключение

По результатам исследования, проведенного в ходе написания курсовой работы, можно сделать следующие выводы:

      1. Вычислительная система – это совокупность ЭВМ и средств программного обеспечения, предназначенная для выполнения вычислительных процессов и основанная на использовании ЭВМ.
      2. По различным признакам вычислительные сети делятся на универсальные и специализированные, многомашинные и многопроцессорные, однородные и неоднородные, территориально—сосредоточенные, распределенные и многоуровневые, а также работающие в оперативном и неоперативном режимах.
      3. Аппаратное обеспечение вычислительных систем составляют внутренние и внешние по отношению к центральному процессору устройства, соединенные многочисленными последовательными и параллельными интерфейсами.
      4. Программное обеспечение вычислительных систем делится на прикладное, служебное, системное и базовое, работающее на разных уровнях системы. Особое место занимает операционная система, которая предназначена для управления ресурсами компьютера и организации взаимодействия с пользователем.
      5. Важнейшими характеристиками вычислительной системы являются ее быстродействие и производительность, главными свойствами — масштабируемость и универсальность.
      6. Информационное обеспечение вычислительной системы — это совокупность программ и предварительно подготовленных данных для работы данных программ. Математическое обеспечение – математические методы, модели, алгоритмы обработки информации, которые являются составной частью ее программного обеспечения.

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

    • технологии уровня N — это суперкомпьютерные технологии будущего, которые еще не вполне освоены, а только—только разрабатываются.
    • инновационные технологии — это совершенно новые технические решения, недоступные на рынке.

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

Список использованных источников

Андреев А.М. Многопроцессорные вычислительные системы: теоретический анализ, математические модели и применение / А.М. Андреев. — М.: Изд-во МГТУ, 2015. — 332 с.

  1. Архитектурные свойства вычислительных систем. URL: https://studopedia.ru/6_130905_arhitekturnie-svoystva-vichislitelnih-sistem.html (дата обращения 08.05.2019 г.)
  2. Базовые принципы организации вычислительных систем. URL: https://siblec.ru/telekommunikatsii/vychislitelnye-sistemy-seti-i-telekommunikatsii/1-bazovye-printsipy-organizatsii-vychislitelnykh-sistem (дата обращения 04.05.2019 г.)
  3. Бройдо В.Л. Вычислительные системы, сети и телекоммуникации: Учебник для вузов / В.Л. Бройдо, О.П. Ильина. — СПб.: Питер, 2016. — 560 с.
  4. Видовой состав вычислительных и автоматизированных систем. URL: http://www.gpntb.ru/win/book/2/Doc4.HTML (дата обращения 02.05.2019 г.)
  5. Горнец Н.Н. ЭВМ и периферийные устройства. Компьютеры и вычислительные системы / Н.Н. Горнец. — М.: Академия, 2016. — 233 с.
  6. Информатика. Базовый курс / Под ред. С. В. Симоновича. – СПб.: Питер, 2016. — 640 с.
  7. Козлов В.Н. Математика и информатика / В.Н. Козлов. — СПб.: Питер, 2014. — 266 с.
  8. Молчанов А.Ю. Системное программное обеспечение: Учебник для вузов / А.Ю. Молчанов. — СПб.: Питер, 2016. —182 с.
  9. Орлов С.А. Организация ЭВМ и систем: Учебник для вузов / С.А. Орлов, Б.Я. Цилькер. — СПб.: Питер, 2014. — 688 с.
  10. Пятибратов А.П. Вычислительные системы, сети и телекоммуникации / А.П. Пятибратов, Л.П. Гудыно, А.А. Кириченко. — М.: Проспект, 2016. — 332 с.
  11. Радченко Г.И. Распределенные вычислительные системы: учебное пособие. / Г.И. Радченко. — М.: Фотохудожник, 2017. — 182 с.
  12. Состав вычислительной системы. URL: http://csaa.ru/sostav-vychislitelnoj-sistemy/ (дата обращения 02.05.2019 г.)
  13. Фисун В.А. Математическое обеспечение вычислительных систем // Вестник МГТУ им. Н.Э.Баумана. Сер. «Естественные науки». — 2012. — С. 168—187.
  14. Чекмарев Ю.В. Вычислительные системы, сети и телекоммуникации / Ю.В. Чекмарев. — М.: ДМК Пресс, 2017. — 184 с.

Приложение 1

Принципиальная схема классификации вычислительных систем

https://sites.google.com/site/informatika1011kl/_/rsrc/1516889247622/lekcia-vycislitelnye-sistemy/000999.PNG

Источник: 6, с. 118