ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 5235
Скачиваний: 8
34 Глава Становление и эволюция цифровой вычислительной техники
Характерным примером первого подхода может служить система Sequent Balan-
ce 8000, в которой имеется большая основная память, разделяемая 20 процессорами.
Помимо этого, каждый процессор оснащен собственной кэш-памятью. Каждый из
процессоров может выполнять задачу своего пользователя, но при этом в составе
программного обеспечения имеется библиотека подпрограмм, позволяющая про-
граммисту привлекать для решения своей задачи более одного процессора. Систе-
ма широко использовалась для исследования параллельных алгоритмов и техни-
ки программирования.
Второе направление развития систем пятого поколения — системы с распреде-
ленной памятью, где каждый процессор обладает своим модулем памяти, а связь
между процессорами обеспечивается сетью взаимосвязей. Примером такой ВС
может служить система
фирмы Intel, более известная как «гиперкуб». Мак-
симальный вариант системы включал 128 процессоров. Применение распределен-
ной памяти позволило устранить ограничения в пропускной способности тракта
«процессор-память», но потенциальным «узким местом» здесь становится сеть
взаимосвязей.
Наконец, третье направление в архитектуре вычислительных систем пятого
поколения — это ВС, в которых несколько тысяч достаточно простых процессоров
работают под управлением единого устройства управления и одновременно про-
изводят одну и ту же операцию, но
над своими данными. К этому классу
можно отнести Connection Machine фирмы Thinking Machines Inc. и
фирмы
Inc.
В научных вычислениях по-прежнему ведущую роль играют векторные
ЭВМ. Многие производители предлагают более эффективные варианты с несколь-
кими векторными процессорами, но число таких процессоров обычно невелико
(от 2 до 8).
RISC-архитектура выходит из стадии экспериментов и становится базовой ар-
хитектурой для рабочих станций (workstations).
Знаковой приметой рассматриваемого периода стало стремительное развитие
технологий глобальных и локальных компьютерных сетей. Это стимулировало
изменения в технологии работы индивидуальных пользователей. В противовес
мощным универсальным ВС, работающим в режиме разделения времени, пользо-
ватели все более отдают предпочтение подключенным к сети индивидуальным
рабочим станциям. Такой подход позволяет для решения небольших задач задей-
ствовать индивидуальную машину, а при необходимости в большой вычислитель-
ной мощности обратиться к ресурсам подсоединенных
сети мощных файл-
серверов или суперЭВМ.
Шестое поколение
На ранних стадиях эволюции вычислительных средств смена поколений ассоци-
ировалась с революционными технологическими прорывами. Каждое из первых
четырех поколений имело четко выраженные отличительные признаки и вполне
определенные хронологические рамки. Последующее деление на поколения уже
не столь очевидно и может быть понятно лишь при ретроспективном взгляде на
развитие вычислительной техники. Пятое и шестое поколения в эволюции ВТ —
это отражение нового качества, возникшего в результате последовательного на-
Концепция машины с хранимой в памяти программой 35
копления частных достижений, главным образом в архитектуре вычислительных
систем и, в несколько меньшей мере, в сфере технологий.
Поводом для начала отсчета нового поколения стали значительные успехи
в области параллельных вычислений, связанные с широким распространением вы-
числительных систем с массовым параллелизмом. Особенности организации та-
ких систем, обозначаемых аббревиатурой МРР (massively parallel processing), бу-
дут рассмотрены в последующих разделах. Здесь же упрощенно определим их как
совокупность большого количества (до нескольких тысяч) взаимодействующих,
но достаточно автономных вычислительных машин. По вычислительной мощно-
сти такие системы уже успешно конкурируют с суперЭВМ, которые, как ранее от-
мечалось, по своей сути являются векторными ВС. Появление вычислительных
систем с массовым параллелизмом дало основание говорить о производительности,
измеряемой в TFLOPS (1
соответствует 10
12
операциям с плавающей за-
пятой в секунду).
Вторая характерная черта шестого поколения — резко возросший уровень ра-
бочих станций. В процессорах новых рабочих станций успешно совмещаются RISC-
архитектура, конвейеризация и параллельная обработка. Некоторые рабочие стан-
ции по производительности сопоставимы с суперЭВМ четвертого поколения.
Впечатляющие характеристики рабочих станций породили интерес к гетерогенным
(неоднородным) вычислениям, когда программа, запущенная на одной рабочей стан-
ции, может найти в локальной сети не занятые в данный момент другие станции,
после чего вычисления распараллеливаются и на эти простаивающие станции.
Наконец, третьей приметой шестого поколения в эволюции ВТ стал взрывной
рост глобальных сетей. Этот момент, однако, выходит за рамки данной книги, по-
этому далее комментироваться не будет.
Завершая обсуждение эволюции ВТ, отметим, что верхняя граница шестого
поколения хронологически пока не определена и дальнейшее развитие вычисли-
тельной техники может внести в его характеристику новые коррективы. Не ис-
ключено также, что последующие события дадут повод говорить и об очередном
поколении.
Концепция машины с хранимой
в памяти программой
Исходя из целей данного раздела, введем новое определение термина «вычисли-
тельная машина» как совокупности технических средств, служащих для автома-
тизированной обработки дискретных данных по заданному алгоритму.
Алгоритм — одно из фундаментальных понятий математики и вычислитель-
ной техники. Международная организация стандартов (ISO) формулирует поня-
тие
алгоритм
как «конечный набор предписаний, определяющий решение задачи
посредством конечного количества операций» (ISO 2382/1-84). Помимо этой стан-
дартизированной формулировки существуют и другие определения. Приведем
наиболее распространенные из них. Итак, алгоритм — это:
• способ преобразования информации, задаваемый с помощью конечной систе-
мы правил;
36 Глава Становление и эволюция цифровой вычислительной техники
• совокупность правил, определяющих эффективную процедуру решения любой
задачи из некоторого заданного класса задач;
• точно определенное правило действий, для которого задано указание, как и в
какой последовательности это правило необходимо применять к исходным дан-
ным задачи, чтобы получить ее решение.
Основными свойствами алгоритма являются: дискретность, определенность,
массовость и результативность.
Дискретность
выражается в том, что алгоритм описывает действия над диск-
ретной информацией (например, числовой или символьной), причем сами эти дей-
ствия также дискретны.
Свойство
определенности
означает, что в алгоритме указано все, что должно
быть сделано, причем ни одно из действий не должно трактоваться двояко.
Массовость алгоритма подразумевает его применимость к множеству значений
исходных данных, а не только к каким-то уникальным значениям.
Наконец,
результативность
алгоритма состоит в возможности получения ре-
зультата за конечное число шагов.
Рассмотренные свойства алгоритмов предопределяют возможность их реали-
зации на ВМ, при этом процесс, порождаемый алгоритмом, называют
вычислитель-
ным процессом.
В основе архитектуры современных ВМ лежит представление алгоритма реше-
ния задачи в виде программы последовательных вычислений. Согласно стандарту
ISO 2382/1-84, программа для ВМ — это «упорядоченная последовательность ко-
манд, подлежащая обработке».
ВМ, где определенным образом закодированные команды программы хранят-
ся в памяти, известна под названием
вычислительной машины с хранимой в памя-
ти программой.
Идея принадлежит создателям вычислителя
Эккерту, Моч-
ли и фон Нейману. Еще до завершения работ над
они приступили к новому
проекту —
главной особенностью которого стала концепция хранимой
в памяти программы, на долгие годы определившая базовые принципы построе-
ния последующих поколений вычислительных машин. Относительно авторства
существует несколько версий, но поскольку в законченном виде идея впервые была
изложена в 1945 году в статье фон Неймана [219], именно его фамилия фигурирует
в обозначении архитектуры подобных машин, составляющих подавляющую часть
современного парка ВМ и ВС.
Сущность фон-неймановской концепции вычислительной машины можно све-
сти к четырем принципам:
• двоичного кодирования;
• программного управления;
• однородности памяти;
• адресности.
Принцип двоичного кодирования
Согласно этому принципу, вся информация, как данные, так и команды, кодиру-
ются двоичными цифрами 0 и 1. Каждый тип информации представляется
Концепция машины с хранимой в памяти программой 37
ной последовательностью и имеет свой
формат.
Последовательность битов в фор-
мате, имеющая определенный смысл, называется
полем.
В числовой информации
обычно выделяют
поле знака
и
поле значащих разрядов.
В формате команды можно
выделить два поля (рис. 1.2):
поле кода операции
(КОп) и
поле адресов
(адресную
часть — АЧ).
Код операции представляет собой указание, какая операция должна быть вы-
полнена, и задается с помощью r-разрядной двоичной комбинации.
Вид адресной части и число составляющих ее адресов зависят
типа команды:
в командах преобразования данных АЧ содержит адреса объектов обработки
(опе-
рандов)
и результата; в командах изменения порядка вычислений — адрес следую-
щей команды программы; в командах ввода/вывода — номер устройства ввода/
вывода. Адресная часть также представляется двоичной последовательностью,
длину которой обозначим через Таким образом, команда в вычислительной ма-
шине имеет вид (
r р
)-разрядной двоичной комбинации.
Принцип программного управления
Все вычисления, предусмотренные алгоритмом решения задачи, должны быть пред-
ставлены в виде
программы,
состоящей из последовательности управляющих
слов —
команд.
Каждая команда предписывает некоторую операцию из набора опе-
раций, реализуемых вычислительной машиной. Команды программы хранятся
в последовательных ячейках памяти вычислительной машины и выполняются
в естественной последовательности,
то есть в порядке их положения в программе.
При необходимости, с помощью специальных команд, эта последовательность мо-
жет быть изменена. Решение об изменении порядка выполнения команд програм-
мы принимается либо на основании анализа результатов предшествующих вычис-
лений, либо безусловно.
Принцип однородности памяти
Команды и данные хранятся в одной и той же памяти и внешне в памяти неразли-
чимы. Распознать их можно только по способу использования. Это позволяет про-
изводить над командами те же операции, что и над числами, и, соответственно,
открывает ряд возможностей. Так, циклически изменяя адресную часть
можно обеспечить обращение к последовательным элементам массива данных.
Такой прием носит название
модификации команд
и с позиций современного про-
граммирования не приветствуется. Более полезным является другое следствие
принципа однородности, когда команды одной программы могут быть получены
как результат исполнения другой программы. Эта возможность лежит в основе
трансляции
— перевода текста программы с языка высокого уровня на язык конк-
ретной
Концепция вычислительной машины, изложенная в статье фон Неймана, пред-
полагает единую память для хранения команд и данных. Такой подход был принят
38 Глава Становление и эволюция цифровой вычислительной техники
в вычислительных машинах, создававшихся в Принстонском университете, из-за
чего и получил название
принстонской архитектуры.
Практически одновременно
в Гарвардском университете предложили иную модель, в которой ВМ имела от-
дельную память команд и отдельную память данных. Этот вид архитектуры назы-
вают
гарвардской архитектурой.
Долгие годы преобладающей была и остается
принстонская архитектура, хотя она порождает проблемы пропускной способности
тракта
В последнее время в связи с широким использовани-
ем кэш-памяти разработчики ВМ все чаще обращаются к гарвардской архи-
тектуре.
Принцип адресности
Структурно основная память состоит из пронумерованных ячеек, причем процес-
сору в произвольный момент доступна любая ячейка. Двоичные
команд
и данных разделяются на единицы информации, называемые
словами,
и хранятся
в ячейках памяти, а для доступа к ним используются номера соответствующих яче-
ек —
адреса.
Фон-неймановская архитектура
В статье фон Неймана определены основные устройства
с помощью которых
должны быть реализованы вышеперечисленные принципы. Большинство совре-
менных ВМ по своей структуре отвечают принципу программного управления.
Типичная фон-неймановская ВМ (рис. 1.3) содержит: память, устройство управ-
ления, арифметико-логическое устройство и устройство ввода/вывода.
Рис.
Структура фон-неймановской вычислительной машины
В любой ВМ имеются средства для ввода программ и данных к ним. Информа-
ция поступает из подсоединенных к ЭВМ
периферийных устройств
(ПУ) ввода.
Результаты вычислений выводятся на периферийные устройства вывода. Связь
и взаимодействие ВМ и ПУ обеспечивают
порты ввода
и
порты вывода.
Терми-
ном
порт
обозначают аппаратуру сопряжения периферийного устройства с ВМ
и управления им. Совокупность портов ввода и вывода
устройством вво-
да/вывода
(УВВ) или
модулем ввода/вывода
ВМ (МВБ).