Компьютерные архитектуры.
Операционные системы
Рассмотрим некоторую классификацию по архитектуре и составным компонентам вычислительных систем1. Пусть все компьютеры состоят из трех основных компонент: процессоры, модули памяти и коммутирующая сеть. Можно рассмотреть и более утонченное разбиение компьютера на составляющие, однако эти три компоненты лучше всего характеризуют вычислительные системы. В качестве разбиения компьютеров на группы… Читать ещё >
Компьютерные архитектуры. Операционные системы (реферат, курсовая, диплом, контрольная)
Архитектура традиционных последовательных компьютеров основана на идеях Дж. фон Неймана и включает в себя центральный процессор, оперативную память — адресное пространство с линейной адресацией и блок управления. Последовательность команд применяется к последовательности данных. Быстродействие такого традиционного компьютера определяется быстродействием его центрального процессора и временем доступа к оперативной памяти. Быстродействие центрального процессора может быть повышено за счет увеличения тактовой частоты, величина которой зависит от плотности элементов в интегральной схеме, способа их «упаковки» и быстродействия микросхем оперативной памяти. Другие методы повышения быстродействия последовательного компьютера основаны на расширении традиционной неймановской архитектуры, а именно применении:
- 1) Я^С-процессоров, т. е. процессоров с сокращенным набором команд. В К.15С-нроцессорах большая часть команд выполняется за 1—2 такта, по сравнению с традиционной С1БС архитектурой, где количество тактов на команду достигает полутора сотен;
- 2) суиерскалярных процессоров, в которых за один такт может исполняться несколько команд;
- 3) конвейеров.
В высокопроизводительных вычислительных системах используются как традиционные элементы архитектуры, так и ее расширения, а также новые элементы, такие, например, как векторные процессоры и т. д.
Рассмотрим некоторую классификацию по архитектуре и составным компонентам вычислительных систем1. Пусть все компьютеры состоят из трех основных компонент: процессоры, модули памяти и коммутирующая сеть. Можно рассмотреть и более утонченное разбиение компьютера на составляющие, однако эти три компоненты лучше всего характеризуют вычислительные системы. В качестве разбиения компьютеров на группы воспользуемся таксономией Флинна, предложенной в 1966 г. и до сих пор широко применяемой. Она основана на понятии потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. По Флинну принято классифицировать все возможные архитектуры компьютеров на четыре категории, к которым впоследствии добавилось еще две (SPMD и MPMD) (табл. 7.1)[1][2]:
- • SISD (Single Instruction Stream — Single Data Stream) — один поток команд и один поток данных;
- • SIMD (Single Instruction Stream — Multiple Data Stream) — один поток команд и множество потоков данных;
- • MISD (Multiple Instruction Stream — Single Data Stream) — множество потоков команд и один поток данных;
- • MIMD (Multiple Instruction Stream — Multiple Data Stream) — множество потоков команд и множество потоков данных;
- • SPMD (single program, multiple data) — архитектура, в которой для ускорения решения задача разделяется на части и выполняется одновременно на нескольких процессорах с различными входными данными;
- • MPMD (Multiple programs, multiple data streams) — архитектура, в которой на нескольких процессорах выполняются разные задачи, которые обрабатывают один массив данных (coupled analysis). Задачи выполняются независимо, возможна синхронизация их работы. Кроме того в MPMD всегда присутствует процессор, который контролирует потоки данных и распределение задач на процессорах. Примером такой архитектуры являются системы основанные на OpenCL, CUDA, DirectComputc (DirectX extension).
Таблица 7.1
Классификация компьютерных архитектур по Флинну.
Single. instruction. stream. | Multiple. instruction. streams. | Single. program. | Multiple. programs. | |
Single data stream. | SISD. | MISD. | ; | ; |
Multiple data streams. | SIMD. | MIMD. | SPMD. | MPMD. |
Рассмотрим эту классификацию более подробно.
Single instruction stream — это обычные, «традиционные» последовательные компьютеры (рис. 7.2), в которых в каждый момент времени на процессоре (Пр) выполняется одна команда из потока управления (ПУ) над одним потоком данных (ПД). Большинство современных персональных ЭВМ, например, попадает именно в эту категорию.
Рис. 7.2. Архитектура БВО.
В архитектурах БШЕ) (рис. 7.3) один поток команд, который может включать, в отличие от предыдущего класса, векторные команды. Это позволяет выполнять одну арифметическую операцию сразу над многими данными — элементами вектора. Способ выполнения векторных операций не определен, поэтому обработка элементов вектора может производиться процессорной матрицей либо с помощью конвейера.
Рис. 7.3. Архитектура вШВ.
Компьютеры М1БЭ (рис 7.4) по определению подразумевают наличие в архитектуре многих процессоров, обрабатывающих один и тот же поток данных. Вычислительных машин такого класса практически нет, и трудно привести пример их успешной реализации. Среди них — систолический массив процессоров — в нем процессоры находятся в узлах регулярной решетки, роль ребер которой играют межпроцессорные соединения. Здесь все процессорные элементы синхронизированы одним тактовым генератором. В каждом цикле работы каждый процессорный элемент получает данные от своих соседей, выполняет одну команду и передает результат соседям. Существует реализация типа ПС1−2 (параллельные структуры), разработанная в ИПУ АН СССР, которую можно с некоторой натяжкой отнести к этому классу. В ней множество процессоров сначала загружаются одной командой, а затем эта команда выполняется над множеством данных за один такт.
Рис. 7.4. Архитектура М15 В.
Класс МШГЭ-компьютеров (рис. 7.5) предполагает, что в вычислительной системе есть несколько устройств обработки команд, объединенных в единый комплекс и работающих каждое со своим потоком команд и данных. Эта категория архитектур вычислительных машин наиболее богата, в нее попадают симметричные параллельные вычислительные системы, рабочие станции с несколькими процессорами, кластеры рабочих станций и т. д. Уже довольно давно появились компьютеры с несколькими независимыми процессорами, но вначале на таких компьютерах был реализован только параллелизм заданий, т. е. на разных процессорах одновременно выполнялись разные и независимые программы.
Рис. 7.5. Архитектура MIMD.
Предложенная схема классификации вплоть до настоящего времени является самой применяемой при первичном описании некоторой вычислительной системы. Если говорят, что компьютер принадлежит классу SIMD или MIMD, то сразу становится понятным базовый принцип его работы, а этого часто бывает достаточно.
Кроме изложенной существует множество других классификаций, таких как: Фенга, Шора, Хендлера, Хокни, Шнайдера, Джонсона, Базу, Кришнамарфи, Скилликорна, Дазгупты, Дункана и некоторые другие. Подробное их описание на русском языке можно посмотреть на сайте[3].
- [1] Flynn M.J. Some Computer Organizations and Their Effectiveness // IEEE Trans. Com put.1972. Vol. C-21. № 9. P. 948−960.
- [2] Flynn M.J. Computer Architecture: Pipelined and Parallel Processor Design. Boston: Jonesand Bartlett Publishers, 1995.
- [3] Сайт Научно-исследовательского вычислительного центра Московского государственного университета (НИВЦ МГУ). 1Л1Г: http://www.parallel.ru/.