Меню
Видеоучебник
Видеоучебник  /  Информатика  /  10 класс  /  Информатика 10 класс (ФГОС)  /  Архитектура и варианты реализации ненеймановских вычислительных машин

Архитектура и варианты реализации ненеймановских вычислительных машин

Урок 16. Информатика 10 класс (ФГОС)

На этом уроке учащиеся рассмотрят многопроцессорные вычислительные комплексы и на примере узнают, как они работают. А также познакомятся с различными суперкомпьютерами, например, таким, как «Ломоносов».

Конспект урока "Архитектура и варианты реализации ненеймановских вычислительных машин"

На прошлом уроке мы с вами узнали, что в 50-х годах XX века благодаря появлению электронных ламп начали производиться однопроцессорные ЭВМ на основе фон-неймановской архитектуры. Их быстродействие находилось в пределах 10 – 20 тыс. оп./с.

Далее в 60-х годах появились периферийные процессоры на основе всё той же фон-неймановской однопроцессорной архитектуры. Это произошло благодаря созданию транзисторов. Быстродействие таких ЭВМ находилось в пределах от 100 тыс. до 3 млн оп./с.

В 70-х годах XX века стали производить ПК, основанные на интегральных схемах и больших интегральных схемах. Все устройства связывались между собой через шину. Их быстродействие достигало 10 млн оп./с.

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

В наше время персональные компьютеры очень быстро развиваются и совершенствуются, но несмотря на это, существует некоторые классы задач, для которых не хватает производительности нынешних ЭВМ. Рассмотрим некоторые из них.

К таким задачам относятся математические расчёты, которые лежат в основе реализации математических моделей многих процессов. Давайте для примера возьмём прогноз погоды. Как вы думаете, получится ли у вас сделать расчёты по прогнозу погоды, например, на следующий день на своём компьютере? Или же решить инженерные вопросы по строительству жилого здания? Конечно же нет. Для этого нужны более мощные электронно-вычислительные машины.

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

Сюда ещё относится такая задача, как моделирование интеллекта. Как бы не хотелось сделать это, но объём оперативной памяти современных компьютеров составляет лишь малую долю объёма памяти человека.

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

Но если так поступить, то мы ещё больше отойдём от архитектуры фон Неймана.

Давайте разберёмся на примере, зачем компьютеру несколько процессоров.

У нас есть массив из 60 чисел: А1, А2 и так далее до А60. Нам нужно найти произведение всех чисел.

Для решения примера на компьютере мы бы составили следующую блок-схему.

В первом блоке действия нужно задать исходное значение произведения. Обозначим его буквой P. Присвоим произведению значение 1, так как при умножении числа на единицу, мы получим само это число. Далее во втором блоке процесса зададим исходное значение переменной i. i – это порядковый номер элемента массива. Изначально ему будет присвоено значение, равное 1. Далее начнётся наш цикл. В блоке процесса зададим формулу вычисления произведения. P присвоим значение P умноженное на Аi. Затем зададим шаг для i. То есть i присвоим значение i плюс 1, чтобы каждый раз, после вычисления i наша программа переходила к следующему элементу массива. Затем нарисуем блок принятия решения, в котором будет проверяться следующее: i<=60. Если да, то стрелочка будет идти к блоку вычисления произведения. Этот цикл будет выполняться до тех пор, пока i не станет равно 61. После чего программа в блоке принятия решения пойдёт по стрелке «Нет», и программа завершиться.

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

В первую очередь необходимо объединить элементы массива в пары. По два элемента на каждого ученика. То есть первый ученик возьмёт себе 1 и 2 элементы массива, второй ученик – 3 и 4 и так далее.

Затем скажем каждому учащемуся, чтобы он перемножил эти числа.

После этого необходимо записать получившееся произведение. В результате у нас получится пятнадцать чисел.

Так как у нас только 15 человек, а чисел 60, то после выполнения первых трёх действий у нас будут перемножены только тридцать первых элементов. Поэтому снова элементы с 31 по 60 объединяем в пары уже известным способом и снова учащиеся должны будут выполнить 2 и 3 действия. У нас получилось ещё 15 чисел. Итого 30.

И снова объединяем эти числа в пары, перемножаем и записываем результат. Действия с 1 по 5 будут повторяться до тех пор, пока не получится одно число, которое и будет равно искомому произведению.

Если же мы захотим записать все наши действия в виде блок-схемы, то нужно будет учесть некоторые нюансы. Все мы знаем, что кто-то может выполнить действия 2 и 3 быстрее, а кто-то медленнее. Поэтому нужно будет ещё и синхронизировать действия учащихся, до того, как они перейдут к выполнению пункта 4. Иначе может возникнуть путаница. И соответственно это может привести к неправильному ответу.

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

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

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

Но здесь всё-таки существует ещё один нюанс. Давайте представим, что все 15 процессоров выполнили действия 2 и 3, и перешли к выполнению 4, то есть обратились к оперативной памяти для записи в неё получившихся результатов.

А шина то у нас одна. Это говорит о том, что числа по ней могут перемещаться по одному. Соответственно необходимо организовать очередь передачи результатов по шине. Но тут возникает ещё один закономерный вопрос: а не приведёт ли это всё к тому, что наше преимущество в быстроте при выполнении перемножения сойдёт на нет? Даже если преимущество останется, то оно будет уже не так велико, как хотелось бы. И снова ещё один закономерный вопрос: окупятся ли тогда все расходы на пятнадцать процессоров?

В этой ситуации есть такой выход, как ввод в архитектуру нескольких системных шин.

А если ещё немножко подумать над этим вопросом, то придётся вводить ещё и несколько устройств оперативной памяти.

Как мы можем видеть, при внесении в архитектуру всех новшеств, это приводит к «ненеймановской» архитектуре. То есть мы всё больше и больше отходим от архитектуры фон Неймана. Изобретателям таких систем приходится искать компромисс между возрастающей сложностью, а также соответственно стоимостью, и ускорением работы.

Давайте рассмотрим варианты реализации ненеймановских вычислительных систем.

Ненеймановская архитектура допускает одновременный анализ более одной команды. То есть такая архитектура позволяет производить процессы параллельной обработки данных. Таким образом идёт распределение выполнения программы между несколькими исполнителями – процессорами.

Счётчик команд при этом не нужен. Порядок выполнения определяется наличием исходной информации для выполнения каждой из них.

Параллельные вычисления реализуются не только за счёт новой архитектуры вычислительной техники, но и за счёт новых технологий программирования. Эти технологии называются параллельным программированием.

Распределённые вычисления – это способ реализации параллельных вычислений путём использования множества компьютеров, которые объединены в сеть. Такие вычислительные системы ещё называются мультикомпьютерными.

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

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

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

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

С середины 60-х годов XX века до 1996 года американский инженер в области вычислительной техники Сеймун Крэй разрабатывал вычислительные системы, которые в основном становились главными вычислительными средствами правительственных, промышленных и академических научно-технических проектов США.

Также в России есть такой суперкомпьютер «Ломоносов». Он был построен компанией «Т-Платформы» для Московского государственного университета имени Михаила Васильевича Ломоносова. До ноября 2014 года он был самым мощным суперкомпьютером в России.

Суперкомпьютер «Ломоносов» является первым гибридным суперкомпьютером в России и Восточной Европе. В нём используется три вида вычислительных узлов и процессоры с различной архитектурой. Данный суперкомпьютер предполагается использовать для ресурсоёмких вычислительных задач в рамках фундаментальных научных исследований, а также для проведения научной работы в области разработки алгоритмов и программного обеспечения для мощных вычислительных систем. Что же касается стоимости создания этого суперкомпьютера, она составила 1,9 млрд руб. Плюс ещё 770 млн было потрачено в 2010 – 2011 годах на расширение суперкомпьютера с наращиванием пиковой производительности. Быстродействие суперкомпьютера «Ломоносов» составляет более 100 трлн оп./с.

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

2347

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт