Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Организация ЭВМ и систем. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
гигаопераций с плавающей запятой в секунду (GFLOPS). На сегодняшний день су-
перкомпьютер, занимающий 500-е место в рейтинге суперкомпьютеров Top500, имеет производительность 67 GFLOPS.
Более точным подходом может быть перечисление основных характеристик,
которые характеризуют суперкомпьютеры. Помимо высокой производительности,
следует учитывать следующие аспекты:
применение передовых технологий, таких как GaAs-технология; специфические архитектурные решения, нацеленные на увеличение скоро-
сти выполнения операций, такие как операции над векторами;
высокая стоимость, обычно превышающая 1-2 миллиона долларов.
В разное время было предложено множество определений суперкомпьютеров,
включая серьезные и юмористические. Например, на конференции comp.parallel
пять лет назад Кен Батчер предложил следующее определение: суперкомпьютер -
это устройство, которое сводит задачу вычислений к задаче ввода/вывода. Хотя в
этом высказывании содержится элемент шутки, оно указывает на то, что то, что ра-
нее требовало продолжительных вычислений с записью на диск, может быть выпол-
нено мгновенно на суперкомпьютере, перенося бремя неэффективности на более
медленные устройства ввода/вывода. Основной характерной чертой суперкомпью-
теров является их большой размер и, соответственно, высокая стоимость, так как это
чрезвычайно дорогостоящие многопроцессорные системы. В большинстве случаев
суперкомпьютеры используют те же микропроцессоры, что и рабочие станции, по-
этому различие между ними чаще количественное, а не качественное. Например,
четырехпроцессорная рабочая станция от компании SUN и 64-процессорный супер­компьютер той же компании, вероятно, будут использовать одинаковые микропро­цессоры.
1.1.7 Кластеры. Кластеры представляют собой группы взаимосвязанных и
полноценных вычислительных машин, используемых как единое вычислительное
ресурсное объединение. Термин «полноценный компьютер» означает законченную
компьютерную систему, оборудованную всеми необходимыми компонентами для
нормального функционирования, включая центральные процессоры, оперативную
11
память, устройства ввода/вывода, операционные системы, прикладные программы и
так далее. В общем случае, такие готовые компьютеры, оснащенные архитектурой
SMP (симметричная многопроцессорность) или NUMA (несимметричная многопро-
цессорность), могут использоваться для создания кластеров.
Понятие «единый ресурс» подразумевает наличие программного обеспечения,
позволяющего пользователям, администраторам и приложениям рассматривать кла-
стер как одну целостную сущность. Например, система управления заданиями в
кластере позволяет отправлять задачи на выполнение на весь кластер, а не на от-
дельные компьютеры. Примером более сложной системы являются распределенные
системы управления базами данных. Ведущие поставщики таких систем предлагают
версии, способные работать параллельно на нескольких машинах кластера. Это поз-
воляет приложениям, использующим базу данных, не беспокоиться о том, где и как
выполняются их задачи, так как система управления базой данных (СУБД) обеспе-
чивает синхронизацию параллельных операций и обеспечивает целостность данных.
В последние годы кластерные системы получили широкое распространение во
всем мире как экономически более доступная альтернатива суперкомпьютерам. Та-
кие системы проектируются путем объединения готовых компьютеров, которые
массово производятся, с использованием соответствующего коммуникационного
оборудования.
1.1.8 Метакомпьютеры. Метакомпьютеры, известные также как системы мета-
компьютинга, являются понятием, возникшим в контексте развития высокоскорост-
ных сетей в начале 1990-х годов. Они представляют собой объединение разнообраз­ных вычислительных ресурсов, находящихся в локальной сети организации, с целью
совместного решения определенной вычислительной задачи. Основная задача мета-
компьютера тогда заключалась в эффективном распределении вычислительной
нагрузки между системами с различной архитектурой и производительностью.
С течением времени исследования в области метакомпьютинга эволюциони-
ровали в направлении обеспечения единообразного доступа к большому количеству
(до нескольких тысяч) компьютеров, находящихся в локальной или глобальной сети.
«Метакомпьютер» может включать в себя как обычные персональные компьютеры,
12
так и мощные параллельные системы. Важно отметить, что метакомпьютер не обя-
зательно имеет постоянную конфигурацию; его состав может изменяться, и техно-
логии метакомпьютинга обеспечивают бесперебойную работу системы в целом.
Современные исследовательские проекты в этой области стремятся обеспе-
чить прозрачный доступ пользователей через Интернет к распределенным вычисли-
тельным ресурсам и легкое подключение неиспользуемых вычислительных систем к
метакомпьютерам.
Очевидно, что метакомпьютеры наилучшим образом подходят для решения
задач, характеризующихся перебором и поиском, где вычислительные узлы в значи-
тельной степени функционируют автономно и взаимодействуют минимально. Ти-
пичный сценарий работы в таких случаях включает специального агента на вычис-
лительном узле, который определяет, когда компьютер простаивает, затем связыва-
ется с управляющим узлом метакомпьютера и получает порцию работы (конкретное
задание в пространстве поиска). По завершении задачи вычислительный узел от-
правляет отчет о проделанной работе или сигнал о завершении задачи поиска.
1.2 Краткая история появления параллелизма в архитектуре ЭВМ
В настоящее время, практически у всех современных компьютерных архитек-
тур можно наблюдать использование параллелизма. Будь то микропроцессоры, та-
кие как Pentium III, PA-8600, MIPS R14000, Е2К или Power2 SuperChip, они все
внедряют определенные формы параллельной обработки. Этот факт подчеркивается
как высший стандарт технического прогресса и передовые достижения науки, осо-
бенно при анализе их реализации на кристаллах микропроцессоров [1].
Тем не менее, стоит отметить, что идеи параллельной обработки в компьюте-
рах появились давно. Изначально они применялись в передовых, зачастую единич-
ных, компьютерах своего времени. С появлением технологических усовершенство-
ваний и снижением стоимости производства, эти идеи стали доступны средним
классам компьютеров. В результате, сегодня мы видим их полное воплощение в ра-
бочих станциях и персональных компьютерах.
13
Для подтверждения факта, что основные инновации в архитектуре современ-
ных процессоров имеют свои корни в далеком прошлом, даже до появления микро-
процессоров и понятия суперкомпьютеров, мы можем провести краткую экскурсию
в историю, начиная с момента появления первых электронных вычислительных ма-
шин.
1.2.1 Первые два компьютера IBM, а именно IBM 701 (1953) и IBM 704 (1955),
отличались использованием разрядно-параллельной системы памяти и разрядно-
параллельной арифметики. Все ранние компьютеры, такие как EDSAC, EDVAC и
UNIVAC, применяли разрядно-последовательную память, где слова обрабатывались
последовательно, бит за битом. Первым коммерчески доступным компьютером, в
котором была внедрена разрядно-параллельная система памяти (с использованием катодно-лучевых труб) и разрядно-параллельная арифметика, был IBM 701. Однако
наибольшую известность получила модель IBM 704, которая была продана в коли-
честве 150 экземпляров. Этот компьютер также отличался использованием памяти
на ферритовых сердечниках и аппаратным устройством с плавающей запятой, что
делало его особенно значимым в развитии компьютерной технологии.
1.2.2 IBM 709 (1958): независимые процессоры ввода/вывода.
В начальные периоды развития компьютеров процессоры выполняли функции
контроля операций ввода/вывода самостоятельно. Однако скорость работы самого
быстрого внешнего устройства, на тот момент чаще всего представленного магнит-
ной лентой, значительно уступала скорости процессора и составляла лишь долю его
производительности. В результате, во время операций ввода/вывода процессор фак-
тически простаивал.
В 1958 году к компьютеру IBM 704 было добавлено шесть независимых про-
цессоров управления вводом/выводом. Эти процессоры могли одновременно функ-
ционировать в параллель с основным процессором после получения соответствую-
щих команд. В связи с этим компьютер был переименован в IBM 709. Эта модель
оказалась чрезвычайно успешной, и было продано около 400 экземпляров, включая
различные модификации. Последний экземпляр этой модели был выключен в 1975
году, что означает 20 лет существования этой системы.
14
1.2.3 IBM STRETCH (1961): Прогрессивный предварительный обзор и сегмен-
тация памяти.
В 1956 году компания IBM заключила соглашение с Лос-Аламосской научной
лабораторией о создании компьютерной системы STRETCH, которая включала два
важных инновационных элемента: прогрессивный предварительный обзор для вы-
борки команд и сегментацию памяти на два банка с целью согласования низкой ско-
рости доступа к памяти и скорости выполнения операций.
1.2.4 ATLAS (1963): применение принципа конвейера в области выполнения
команд.
Изначально, принцип конвейера для выполнения команд был внедрен в ком-
пьютере ATLAS, разработанном Манчестерским университетом. Выполнение ко-
манд в данном контексте подразделяется на четыре последовательных стадии: вы-
борку команды, вычисление адреса операнда, выборку операнда и выполнение опе-
рации. Применение конвейера позволило сократить время выполнения команд с 6
микросекунд до 1,6 микросекунд. Этот компьютер оказал значительное воздействие
как на архитектуру вычислительных машин, так и на программное обеспечение: в
рамках данной системы впервые была использована мультипрограммная операци-
онная система, основанная на применении виртуальной памяти и системы прерыва-
ний.
1.2.5 CDC 6600 (1964): независимые функциональные устройства.
Фирма Control Data Corporation (CDC) при непосредственном участии одного
из ее основателей, Сеймура Р.Крэя (Seymour R.Cray) выпускает компьютер CDC­6600 – первый компьютер, в котором использовалось несколько независимых функ-
циональных устройств. Для сравнения с сегодняшним днем приведем некоторые па-
раметры компьютера:
время такта 100нс; производительность 2-3 млн. операций в секунду; оперативная память разбита на 32 банка по 4096 60-ти разрядных слов; цикл памяти 1мкс; 10 независимых функциональных устройств.
15
Машина имела громадный успех на научном рынке, активно вытесняя маши-
ны фирмы IBM.
1.2.6 CDC 7600 (1969): конвейерные независимые функциональные устрой­ства. CDC выпускает компьютер CDC-7600 с восемью независимыми конвейерными функциональные устройствами - сочетание параллельной и конвейерной обработки. Основные параметры:
такт 27,5 нс; 10-15 млн. опер/сек; 8 конвейерных ФУ; 2-х уровневая память.
1.2.7 ILLIAC IV (1974): матричные процессоры.
Проект: 256 процессорных элементов (ПЭ) = 4 квадранта по 64ПЭ, возмож-
ность реконфигурации:
квадранта по 128ПЭ или 1 квадрант из 256ПЭ, такт 40нс, производитель-
ность 1Гфлоп;
работы начаты в 1967 году, к концу 1971 изготовлена система из 1 квадран-
та, в 1974 г, она введена в эксплуатацию, доводка велась до 1975 года;
центральная часть: устройство управления (УУ) + матрица из 64 ПЭ; УУ это простая ЭВМ с небольшой производительностью, управляющая
матрицей ПЭ;
все ПЭ матрицы работали в синхронном режиме, выполняя в каждый мо-
мент времени одну и ту же команду, поступившую от УУ, но над своими данными;
ПЭ имел собственное АЛУ с полным набором команд, ОП - 2Кслова по 64
разряда, цикл памяти 350нс, каждый ПЭ имел непосредственный доступ только к
своей ОП;
сеть пересылки данных: двумерный тор со сдвигом на 1 по границе по гори-
зонтали.
Несмотря на результат в сравнении с проектом: стоимость в 4 раза выше, сде-
лан лишь 1 квадрант, такт 80нс, реальная производительность до 50Мфлоп – данный
16
проект оказал огромное влияние на архитектуру последующих машин, построенных по схожему принципу, в частности: PEPE, BSP, ICL DAP.
1.2.8 CRAY-1 (1976): Векторно-конвейерные процессоры. В 1972 году инже­нер Сеймур Крэй покидает компанию Control Data Corporation (CDC) и учреждает свою фирму, Cray Research. В 1976 году последняя представляет в мире свой первый векторно-конвейерный компьютер CRAY-1. Время выполнения одного такта на этой
машине составляет 12.5 наносекунды, а в ее составе имеется 12 конвейерных функ-
циональных блоков. Максимальная производительность устройства достигает 160
миллионов операций в секунду, и оно может оперировать оперативной памятью
вместимостью до 1 миллиона слов (где слово состоит из 64 бит). Время доступа к
памяти на данной машине составляет 50 наносекунд. Важным достижением этой
архитектуры является внедрение векторных команд, которые способны обрабаты-
вать целые массивы данных независимо друг от друга, что позволяет эффективно
использовать конвейерные функциональные блоки.
С этим кратким экскурсом в историю можно завершить наше изложение, так
как роль параллелизма и его воздействие на развитие компьютерных архитектур
становятся уже очевидными.
1.2.9 Иерархия памяти. Иерархия памяти не обладает прямой связью с парал-
лелизмом, однако она является ключевым аспектом архитектуры компьютеров, ко-
торый имеет значительное воздействие на повышение их производительности,
уменьшая разрыв между скоростью процессора и временем доступа к памяти. Эта
иерархия включает в себя следующие уровни: регистры, кэш-память, оперативную память и дисковую память. С течением времени, время доступа к данным на каждом
из этих уровней уменьшается, но стоимость доступа к одному слову (байту) увели-
чивается. Важно отметить, что подобная структура иерархии памяти в настоящее
время присутствует даже в персональных компьютерах. На рисунке 1.1.показан классический пример памяти с многоуровневой структурой [2].
17
ры?
мы?
Рисунок 1.1 – Многоуровневая структура памяти
1.3 Вопросы для закрепления материала по первому разделу
1. Перечислите основные классы ЭВМ.
2. Основные характеристики и области применения ПК.
3. В каких областях применяются минисуперкомпьютеры и суперкомпьюте-
4. Основные характеристики и области применения серверов и суперсерверов.
5. Какие основные характеристики и области применения имеют мейнфрей-
6. В чем разница между рабочими станциями и Х-терминалами?
7. Что такое метакомпьютеры и какова их основная задача?
8. Дайте характеристику CRAY-1.
9. Что нового было предложено в ILLIAC IV?
10. Дайте характеристику ЭВМ IBM 701, IBM 704 и IBM 709.
11. Что нового было предложено в CDC 6600 и CDC 7600?
12. Какие новшества были внедрены в IBM STRETCH и ATLAS?
13. Что такое иерархия памяти?
18
2 Функциональная и структурная организация ЭВМ
2.1 Функциональная организация ЭВМ
Для обозначения круга вопросов, относящихся к функциональной организа-
ции ЭВМ, часто, особенно в зарубежной литературе, используется термин архитек-
тура ЭВМ.
ЭВМ, как и любую систему, можно рассматривать в двух аспектах: функцио-
нальном и структурном.
С функциональной точки зрения ЭВМ – это система функциональных аб-
страктных элементов.
К числу элементов архитектуры ЭВМ можно отнести [3]:
1) тип обрабатываемых в ЭВМ данных и способы их представления в ЭВМ;
2) адресные структуры основной памяти;
3) способы адресации информации;
4) структуры команд и их микропрограммная интерпретация;
5) регистровые структуры процессоров (программистские модели);
6) системы прерывания;
7) особенности системных команд ЭВМ.;
8) рабочий цикл процессора.
2.2 Структурная организация ЭВМ
Структурное устройство вычислительной машины (ЭВМ) определяет ее кон-
фигурацию, физические компоненты и способы их взаимосвязи. Это включает в се-
бя следующие аспекты [4]:
определение набора устройств, необходимых и достаточных для построения
ЭВМ с определенными характеристиками;
методы, используемые для установления связей и взаимодействия между
этими устройствами;
19
различные конфигурации, включая разнообразие устройств и способы их
взаимодействия.
Важно отметить, что одни и те же функции могут быть реализованы с исполь-
зованием разных структур, которые могут различаться по производительности и
стоимости оборудования.
Существует несколько классов устройств в составе ЭВМ, и они могут быть
классифицированы в зависимости от их функциональных характеристик:
операционные устройства, которые выполняют арифметические и логиче-
ские операции;
запоминающие устройства, предназначенные для хранения данных и про-
грамм;
устройства ввода и вывода, используемые для взаимодействия ЭВМ с
внешними устройствами и пользователями.
2.3 Декомпозиция вычислительного устройства на операционные и управляющие блоки
С точки зрения функциональных и структурных аспектов операционное
устройство можно разделить на две составные части: операционный автомат и
управляющий автомат (рисунок 2.1).
Такой подход способствует упрощению понимания процессов функциониро-
вания вычислительного устройства.
Рисунок 2.1 – Декомпозиция вычислительного устройства на операционные
и управляющие блоки
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]