Архитектура с параллельными процессорами это
Аннотация: Данная лекция содержит описание параллельной архитектуры с векторными процессорами (PVP), а также кластерной архитектуры многопроцессорных вычислительных систем. Приводятся основные преимущества и недостатки каждой архитектуры, а также соответствующие парадигмы программирования. Описываются наиболее популярные вычислительные системы, имеющие данные архитектуры.
Многомашинная вычислительная система
В архитектуре многомашинной вычислительной системы каждый процессор имеет свою оперативную память. Применение многомашинной вычислительной системы эффективно при решении задач, которые имеют очень специальную структуру, которая должна состоять из такого количества ПК, на сколько слабо связанных подзадач разбита система.
Многопроцессорные и многомашинные вычислительные системы имеют преимущество перед однопроцессорными в быстродействии.
Многомашинная вычислительная система
В отличие от многопроцессорных ПК, имеющих единый канал оперативной памяти, в многомашинных ПК, каждому процессору доступен свой блок ОЗУ. Эффективность подобных систем проявляется при выполнении сложных задач, требующих работы специальной структуры с тем количеством ПК, сколько подзадач необходимо выполнить. Комплексы с несколькими процессорами или многомашинные системы значительно отличаются от «обычных» ПК по показателю быстродействия.
Типы кластеров
Условное деление на классы предложено Язеком Радаевским и Дугласом Эдлайном:
- Класс I. Класс машин строится целиком из стандартных деталей, которые продают многие поставщики компьютерных компонентов (низкие цены, простое обслуживание, аппаратные компоненты доступны из различных источников).
- Класс II. Система имеет эксклюзивные или не слишком широко распространенные детали. Таким образом можно достичь очень хорошей производительности, но при более высокой стоимости.
Как уже отмечалось, кластеры могут существовать в различных конфигурациях. Наиболее распространенными типами кластеров являются:
- системы высокой надежности;
- системы для высокопроизводительных вычислений;
- многопоточные системы .
Отметим, что границы между этими типами кластеров до некоторой степени размыты, и кластер может иметь такие свойства или функции, которые выходят за рамки перечисленных типов. Более того, при конфигурировании большого кластера , используемого как система общего назначения , приходится выделять блоки, выполняющие все перечисленные функции.
Кластеры для высокопроизводительных вычислений предназначены для параллельных расчетов. Эти кластеры обычно собраны из большого числа компьютеров. Разработка таких кластеров является сложным процессом, требующим на каждом шаге согласования таких вопросов как инсталляция , эксплуатация и одновременное управление большим числом компьютеров, технические требования параллельного и высокопроизводительного доступа к одному и тому же системному файлу (или файлам) и межпроцессорная связь между узлами, и координация работы в параллельном режиме. Эти проблемы проще всего решаются при обеспечении единого образа операционной системы для всего кластера . Однако реализовать подобную схему удается далеко не всегда и обычно она применяется лишь для не слишком больших систем.
Многопоточные системы используются для обеспечения единого интерфейса к ряду ресурсов, которые могут со временем произвольно наращиваться (или сокращаться). Типичным примером может служить группа web-серверов.
Многопроцессорная архитектура ПК
Наличие в ПК нескольких процессоров означает, что параллельно может быть организовано много потоков данных и команд, т.е. одновременно могут выполняться несколько фрагментов одной задачи.
Рисунок 3. Архитектура многопроцессорного ПК
PVP (Parallel Vector Process) – параллельная архитектура с векторными процессорами
Основным признаком PVP-систем является наличие специальных векторно-конвейерных процессоров, в которых предусмотрены команды однотипной обработки векторов независимых данных, эффективно выполняющиеся на конвейерных функциональных устройствах . Как правило, несколько таких процессоров (1-16) работают одновременно с общей памятью (аналогично SMP ) в рамках многопроцессорных конфигураций. Несколько узлов могут быть объединены с помощью коммутатора (аналогично MPP ). Поскольку передача данных в векторном формате осуществляется намного быстрее, чем в скалярном (максимальная скорость может составлять 64 Гбайт/с, что на 2 порядка быстрее, чем в скалярных машинах), то проблема взаимодействия между потоками данных при распараллеливании становится несущественной. И то, что плохо распараллеливается на скалярных машинах, хорошо распараллеливается на векторных. Таким образом, системы PVP-архитектуры могут являться машинами общего назначения ( general purpose systems). Однако, поскольку векторные процессоры весьма дорого стоят, эти машины не могут быть общедоступными.
Наиболее популярны три машины PVP-архитектуры:
- CRAY X1, SMP -архитектура. Пиковая производительность системы в стандартной конфигурации может составлять десятки терафлопс.
Парадигма программирования на PVP-системах предусматривает векторизацию циклов (для достижения разумной производительности одного процессора) и их распараллеливание (для одновременной загрузки нескольких процессоров одним приложением).
На практике рекомендуется выполнять следующие процедуры:
- производить векторизацию вручную, чтобы перевести задачу в матричную форму. При этом, в соответствии с длиной вектора, размеры матрицы должны быть кратны 128 или 256;
- работать с векторами в виртуальном пространстве, разлагая искомую функцию в ряд и оставляя число членов ряда, кратное 128 или 256.
За счет большой физической памяти (доли терабайта) даже плохо векторизуемые задачи на PVP-системах решаются быстрее на машинах со скалярными процессорами.
Кластер представляет собой два или более компьютеров (часто называемых узлами), объединяемых при помощи сетевых технологий на базе шинной архитектуры или коммутатора и предстающих перед пользователями в качестве единого информационно-вычислительного ресурса. В качестве узлов кластера могут быть выбраны серверы, рабочие станции и даже обычные персональные компьютеры. Узел характеризуется тем, что на нем работает единственная копия операционной системы. Преимущество кластеризации для повышения работоспособности становится очевидным в случае сбоя какого-либо узла: при этом другой узел кластера может взять на себя нагрузку неисправного узла, и пользователи не заметят прерывания в доступе. Возможности масштабируемости кластеров позволяют многократно увеличивать производительность приложений для большего числа пользователей технологий (Fast/Gigabit Ethernet , Myrinet) на базе шинной архитектуры или коммутатора. Такие суперкомпьютерные системы являются самыми дешевыми, поскольку собираются на базе стандартных комплектующих элементов (" off the shelf"), процессоров, коммутаторов, дисков и внешних устройств.
Кластеризация может осуществляться на разных уровнях компьютерной системы, включая аппаратное обеспечение , операционные системы, программы-утилиты, системы управления и приложения. Чем больше уровней системы объединены кластерной технологией, тем выше надежность , масштабируемость и управляемость кластера .
Готовые работы на аналогичную тему
Фон Нейманом также была предложена структура ПК (рис. 1).
Рисунок 1. Структура ПК
В состав машины фон Неймана входили:
- запоминающее устройство (ЗУ);
- арифметико-логическое устройство (АЛУ), которое выполняло все арифметические и логические операции;
- устройство управления (УУ), которое координирует действия всех узлов машины в соответствии с программой;
- устройства ввода-вывода.
Программы и данные вводились в ЗУ из устройства ввода через АЛУ. Все команды программы записывались в ячейки памяти последовательно, а данные для обработки – в произвольные ячейки.
Команда состояла из указания операции, которую необходимо выполнить, и адресов ячеек памяти, в которых хранятся данные и над которыми необходимо выполнить нужную операцию, а также адреса ячейки, в которую необходимо записать результат (для хранения в ЗУ).
Из АЛУ результаты выводятся в ЗУ или устройство вывода. Принципиально эти устройства отличаются тем, что в ЗУ данные хранятся в удобном для обработки ПК виде, а на устройства вывода (монитор, принтер и т.п.) в удобном для человека.
От УУ на другие устройства поступают сигналы с командами, а от других устройств УУ получает информацию о результате их выполнения.
В УУ содержится специальный регистр (ячейка) – счетчик команд, в который записывается адрес первой команды программы. УУ считывает из памяти содержимое соответствующей ячейки памяти и помещает его в специальное устройство – регистр команд. УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера.
После выполнения команды счетчик команд увеличивается на $1$ и указывает на следующую команду программы. При необходимости выполнения команды, которая не следует по порядку за текущей, специальная команда перехода содержит адрес ячейки, в которую нужно передать управление.
Классическая архитектура фон Неймана
В $1946$ году американские математики Джон фон Нейман, Герман Голдштейн и Артур Бёркс в совместной статье изложили новые принципы построения и функционирования ЭВМ. На основе этих принципов производилось $1$-е и $2$-е поколение компьютеров. В следующих поколениях происходили некоторые изменения, но принципы фон Неймана (как они были названы) сохранялись.
Основные принципы фон Неймана:
- Использование двоичной системы счисления в ПК, в которой устройствам гораздо проще выполнять арифметико-логические операции, чем в десятичной.
- Программное управление ПК. Работа ПК управляется программой, которая состоит из набора команд, выполняющихся последовательно одна за другой. Создание машины с хранимой в памяти программой положило начало программированию.
- Данные и программы хранятся в памяти ПК. Команды и данные кодируются одинаково в двоичной системе.
- Ячейки памяти ПК имеют последовательно пронумерованные адреса. Возможность обращения к любой ячейке памяти по ее адресу позволила использовать переменные в программировании.
- Возможность условного перехода при выполнении программы. Команды в ПК выполняются последовательно, но при необходимости можно реализовать переход к любой части кода.
Основным принципом было то, что программа уже стала не постоянной частью машины, а изменяемой, в отличие от аппаратуры, которая остается неизменной и очень простой.
Архитектура с параллельными процессорами
В данной архитектуре несколько АЛУ работают под управлением одного УУ. Это означает, что множество данных может обрабатываться по одной программе, т. е. по одному потоку команд. Высокое быстродействие такой архитектуры можно получить только на задачах, в которых одинаковые вычислительные операции выполняются одновременно на различных однотипных наборах данных.
Рисунок 4. Архитектура с параллельным процессором
В современных машинах часто присутствуют элементы различных типов архитектурных решений. Существуют и другие архитектурные решения, отличные от рассмотренных выше.
Архитектурой ПК (персонального компьютера) принято называть совокупность структуры, отражающей состав и обслуживающее ПО. Структурой называется комплекс функциональных систем ПК и их связующих элементов.
Особенности архитектуры являются определяющими факторами при рассмотрении принципов действия ПК, программно-информационных связей и последовательности соединения всех узлов логики компьютера. К узлам логики относят: ОЗУ (оперативная память), ЦП (центральный процессор), внешнее устройство памяти (жесткий диск), графический модуль (видеокарта), периферийные модули. Основным, принципиальным элементом архитектуры любого ПК, являются блоки программного управления.
Многомашинная версия вычислительной системы
Архитектура многомашинных электронно-вычислительных машин несет свое главное отличие прежде всего в том, что каждый в них имеющихся в них процессор обладает своей собственной оперативной памятью. Этот вид архитектуры эффективен в решаемых задачах, отличающихся сложной структурой. Многопроцессорные системы вычисления обладают огромным преимуществом по своей скорости по сравнению с системами с одним процессором.
Классическая архитектура фон Неймана
Группа ученых, в составе которой были американцы Г.Голдштейн, Дж. фон Нейман и А. Беркс, в 1946 году провели колоссальную работу по разработке новых принципов и архитектуры ЭВМ. Работа математиков легла в основу при создании компьютеров первого и второго поколений. Принципы фон Неймана были сохранены, хоть и существенно видоизменились, во время работ по созданию машин следующих поколений.
Основные принципы фон Неймана:
Интеграция методов двоичного счисления позволила упростить работу устройств и сделать ее выполнение гораздо быстрее, чем это было при использовании десятичной системы.
Программное управление ПК
Функционал ПК зависит от исправной работы программного обеспечения. Программа, управляющая компьютерной системой представляет собой набор последовательно исполняющихся команд. Проблема низких показателей быстродействия, актуальная для ранних ПК, была решена интеграцией модуля памяти, применяемого для записи программных данных. Кодированные в двоичной системе данные и командные коды, расположены в пронумерованных адресных блоках. Возможность быстрого доступа к адресной ячейки сделало возможной работу в переменных программных средах.
Условный переход при исполнении программы
По умолчанию программные компоненты имеют последовательную модель исполнения, но существует возможность реализации перехода к любому месту кода. Главным преимуществом подобного механизма стало превращение программного продукта из постоянной величины в изменяемую, аппаратная же часть осталась статичной и достаточно простой.
Фон Нейман предложил собственную структура персонального компьютера (рис. 1).
В состав ПК предложенного математиком входили:
- Устройство памяти или ЗУ;
- Устройство исполнения арифметико-логических задач или АЛУ;
- Управляющее устройство (УУ) задействованное в работе по координации работы узловых элементов ПК;
- Периферийные устройства ввода/вывода.
В данной модели ПК любой тип данных вводится в устройство запоминания опосредованно через АЛУ посредствам устройств ввода/вывода. Программные команды фиксируются последовательно в блоках памяти, тогда как обрабатываемые данные записываются в блоках произвольно.
Простейшая команда содержала в себе информацию об операции требующей выполнения и адресов памяти, хранящей данные требуемые для выполнения данной операции. Кроме этого в команде прописывались адреса блоков памяти доступных для сохранения результата выполнения команды. Арифметико-логическое устройство выводило обработанные данные в устройство запоминания или в выводное устройство. Существенным отличием систем подобного рода является форма данных удобная для сохранения и обработки, а также для восприятия человека при передачи на устройство вывода (печатающее устройство или монитор).
Устройство управление одного компьютера способно взаимодействовать с аналогичным компонентом другого ПК, получая и передавая информацию. Адрес первой команды ПК записывается в регистре УУ, регистрируясь счетчиком. После записи устройство управления осуществляет считывание памяти и перемещает содержимое заданной ячейки в командный регистр. Следующей операцией является определение командной операции и «выставление отметки» о ней в ячейке памяти, также регистрируются адреса и командные данные. В ходе текущих операций происходит контроль выполняемой команды.
Выполнение операции осуществляется аппаратная оснастка компьютера или АЛУ. По завершению выполнения команд значение счетчика увеличивается на единицу, что является сигналом для запуска следующей команды. При необходимости запуска команд без стандартной очередности, запускается команда переадресации, содержащая целевой адрес ячейки запуска управляющей команды.
Многопроцессорная архитектура ПК
Существуют компьютеры с несколькими процессорами, работающими параллельно. Такие ПК называются многопроцессорными и используются при необходимости обработать очень большой объем информации за максимально короткое время.
Архитектура с параллельными процессорами
Подобная система работает под управлением одного УУ, взаимодействующего с несколькими АЛУ. Подобный принцип позволяет обрабатывать большой объем информации в одном потоке. Актуален данный принцип только при выполнении однотипных задач с различным набором данных.
В настоящее время встречаются более сложные архитектурные решения, а также вариации ПК, в которых применяется несколько классических архитектурных принципов.
В данном материале будет подробно рассмотрен вопрос о том, что входит в понятие архитектуры персонального компьютера, а также ее особенности. Под термином “Архитектура компьютера”, как правило, понимается состав компьютера и относящееся к нему программное обеспечение, вся совокупность его функциональных элементов, начиная от самых главных узлов компьютера и заканчивая самыми простыми схемами, а помимо этого — связи всех этих составляющих между собой.
Архитектура ПК помимо всего прочего определяет также принципы действия и информационные связи между теми или иными типами логических узлов в персональном компьютере. Логическими узлами компьютера принято считать его процессор, а также его запоминающие устройства, относящиеся к нему и подключаемые периферийные компоненты. Программное управление представляет собой самый главный принцип в построении всех существующих персональных компьютеров.
PVP (Parallel Vector Process) – параллельная архитектура с векторными процессорами
Основным признаком PVP-систем является наличие специальных векторно-конвейерных процессоров, в которых предусмотрены команды однотипной обработки векторов независимых данных, эффективно выполняющиеся на конвейерных функциональных устройствах . Как правило, несколько таких процессоров (1-16) работают одновременно с общей памятью (аналогично SMP ) в рамках многопроцессорных конфигураций. Несколько узлов могут быть объединены с помощью коммутатора (аналогично MPP ). Поскольку передача данных в векторном формате осуществляется намного быстрее, чем в скалярном (максимальная скорость может составлять 64 Гбайт/с, что на 2 порядка быстрее, чем в скалярных машинах), то проблема взаимодействия между потоками данных при распараллеливании становится несущественной. И то, что плохо распараллеливается на скалярных машинах, хорошо распараллеливается на векторных. Таким образом, системы PVP-архитектуры могут являться машинами общего назначения ( general purpose systems). Однако, поскольку векторные процессоры весьма дорого стоят, эти машины не могут быть общедоступными.
Наиболее популярны три машины PVP-архитектуры:
- CRAY X1, SMP -архитектура. Пиковая производительность системы в стандартной конфигурации может составлять десятки терафлопс.
Парадигма программирования на PVP-системах предусматривает векторизацию циклов (для достижения разумной производительности одного процессора) и их распараллеливание (для одновременной загрузки нескольких процессоров одним приложением).
На практике рекомендуется выполнять следующие процедуры:
- производить векторизацию вручную, чтобы перевести задачу в матричную форму. При этом, в соответствии с длиной вектора, размеры матрицы должны быть кратны 128 или 256;
- работать с векторами в виртуальном пространстве, разлагая искомую функцию в ряд и оставляя число членов ряда, кратное 128 или 256.
За счет большой физической памяти (доли терабайта) даже плохо векторизуемые задачи на PVP-системах решаются быстрее на машинах со скалярными процессорами.
Кластер представляет собой два или более компьютеров (часто называемых узлами), объединяемых при помощи сетевых технологий на базе шинной архитектуры или коммутатора и предстающих перед пользователями в качестве единого информационно-вычислительного ресурса. В качестве узлов кластера могут быть выбраны серверы, рабочие станции и даже обычные персональные компьютеры. Узел характеризуется тем, что на нем работает единственная копия операционной системы. Преимущество кластеризации для повышения работоспособности становится очевидным в случае сбоя какого-либо узла: при этом другой узел кластера может взять на себя нагрузку неисправного узла, и пользователи не заметят прерывания в доступе. Возможности масштабируемости кластеров позволяют многократно увеличивать производительность приложений для большего числа пользователей технологий (Fast/Gigabit Ethernet , Myrinet) на базе шинной архитектуры или коммутатора. Такие суперкомпьютерные системы являются самыми дешевыми, поскольку собираются на базе стандартных комплектующих элементов (" off the shelf"), процессоров, коммутаторов, дисков и внешних устройств.
Кластеризация может осуществляться на разных уровнях компьютерной системы, включая аппаратное обеспечение , операционные системы, программы-утилиты, системы управления и приложения. Чем больше уровней системы объединены кластерной технологией, тем выше надежность , масштабируемость и управляемость кластера .
PVP (Parallel Vector Process) – параллельная архитектура с векторными процессорами
Основным признаком PVP-систем является наличие специальных векторно-конвейерных процессоров, в которых предусмотрены команды однотипной обработки векторов независимых данных, эффективно выполняющиеся на конвейерных функциональных устройствах . Как правило, несколько таких процессоров (1-16) работают одновременно с общей памятью (аналогично SMP ) в рамках многопроцессорных конфигураций. Несколько узлов могут быть объединены с помощью коммутатора (аналогично MPP ). Поскольку передача данных в векторном формате осуществляется намного быстрее, чем в скалярном (максимальная скорость может составлять 64 Гбайт/с, что на 2 порядка быстрее, чем в скалярных машинах), то проблема взаимодействия между потоками данных при распараллеливании становится несущественной. И то, что плохо распараллеливается на скалярных машинах, хорошо распараллеливается на векторных. Таким образом, системы PVP-архитектуры могут являться машинами общего назначения ( general purpose systems). Однако, поскольку векторные процессоры весьма дорого стоят, эти машины не могут быть общедоступными.
Наиболее популярны три машины PVP-архитектуры:
- CRAY X1, SMP -архитектура. Пиковая производительность системы в стандартной конфигурации может составлять десятки терафлопс.
Парадигма программирования на PVP-системах предусматривает векторизацию циклов (для достижения разумной производительности одного процессора) и их распараллеливание (для одновременной загрузки нескольких процессоров одним приложением).
На практике рекомендуется выполнять следующие процедуры:
- производить векторизацию вручную, чтобы перевести задачу в матричную форму. При этом, в соответствии с длиной вектора, размеры матрицы должны быть кратны 128 или 256;
- работать с векторами в виртуальном пространстве, разлагая искомую функцию в ряд и оставляя число членов ряда, кратное 128 или 256.
За счет большой физической памяти (доли терабайта) даже плохо векторизуемые задачи на PVP-системах решаются быстрее на машинах со скалярными процессорами.
Кластер представляет собой два или более компьютеров (часто называемых узлами), объединяемых при помощи сетевых технологий на базе шинной архитектуры или коммутатора и предстающих перед пользователями в качестве единого информационно-вычислительного ресурса. В качестве узлов кластера могут быть выбраны серверы, рабочие станции и даже обычные персональные компьютеры. Узел характеризуется тем, что на нем работает единственная копия операционной системы. Преимущество кластеризации для повышения работоспособности становится очевидным в случае сбоя какого-либо узла: при этом другой узел кластера может взять на себя нагрузку неисправного узла, и пользователи не заметят прерывания в доступе. Возможности масштабируемости кластеров позволяют многократно увеличивать производительность приложений для большего числа пользователей технологий (Fast/Gigabit Ethernet , Myrinet) на базе шинной архитектуры или коммутатора. Такие суперкомпьютерные системы являются самыми дешевыми, поскольку собираются на базе стандартных комплектующих элементов (" off the shelf"), процессоров, коммутаторов, дисков и внешних устройств.
Кластеризация может осуществляться на разных уровнях компьютерной системы, включая аппаратное обеспечение , операционные системы, программы-утилиты, системы управления и приложения. Чем больше уровней системы объединены кластерной технологией, тем выше надежность , масштабируемость и управляемость кластера .
Архитектура современных ПК
Современные компьютеры имеют магистрально-модульный тип архитектуры, то есть состоят из относительно самостоятельных компонентов, связанных между собой через ЦП.
Принцип модульности позволяет осуществлять произвольную комплектацию ПК устанавливая совместимые компоненты. Кроме этого современные ПК имеют возможность модернизации и улучшения. В данной системе функционирует магистральный тип обмена информацией. Для обеспечения взаимосвязи компонентов ПК используется магистральная шина, располагаемая на материнской плате в виде печатной платы. Преимуществом подобного вида ПК является возможность добавления или замены комплектующих.
Благодаря принципиальным переменам в архитектуре ПК произошло значительное повышение скорости обработки и обмена информации. Считываемая информация хранится в системной памяти, что позволяет работать напрямую с ЦП и значительно ускоряет работу ПК в целом. Максимум быстродействия ограничен скоростью обработки данных самой магистрали, чем выше данный показатель, тем выше скорость работы ПК в целом.
Для решения вопроса предпринято следующее:
-
Системная память напрямую (без буферов) подключается к шине, вместо магистрали, что избавляет ПК от проблем со скоростью обмена данных. Данное решение актуализировалось максимально с выходом высокопроизводительных ПК. Новшества привели к существенным изменением архитектуры и замене одношинных ПК трехшинными.
Классическая архитектура по Д. фон Нейману
Математиками Д. фон Нейманом, Г. Голдштейном, А. Бёрксом в их совместной статье были изложены новые на тот момент предложения по построению и функционированию компьютера. По ним и начали собираться первое и второе поколения ПК. Последующие же претерпевали ряд преобразований, но данные принципы оставались неизменными.
Главными принципами по фон Нейману считаются:
- применение двоичной системы счисления, по причине того, что с ее применением ЭВМ значительно легче проводить свои операции нежели в других;
- управление ЭВМ с помощью ПО, состоящего из определенной последовательности команд, и в этой четкой последовательности выполняющихся; создание устройства, хранящего в своей памяти программы, стало началом программирования;
- хранение различных данных в самой памяти ЭВМ, закодированных в двоичной системе счисления;
- ячейки памяти состоят из пронумерованных в четкой последовательности адресов, при условии того, что существует возможность обратиться к каждой из них. Это положило начало для использования в программировании переменных;
- последовательность выполнения программ в ЭВМ, при которой имеется такая возможность как реализация переходов к любым частям кода.
Основной принцип заключался прежде всего в том, что на тот момент уже программа начала становиться не константной неразрывной частью ПК, а изменяемой.
Нейман, помимо принципов, также предложил и свою теорию структуры для ПК. В нее вошли:
- запоминающее устройство (ЗУ);
- арифметико-логическое устройство (АЛУ);
- устройство управления (УУ), предназначенное для координации действий узлов ЭВМ;
- устройство ввода и вывода.
В запоминающем устройстве происходил процесс ввода данных из устройства ввода посредством АЛУ. Команды заносились в соответствующую ячейку памяти, а данные - в произвольные ячейки. Команды имели в составе своем определенные указания той самой операции, какую требовалось выполнять, адреса тех самых ячеек, в которых хранились эти данные и требовалось выполнение операции, и те ячеечные адреса, в содержимое которых требовалось записывать полученные данные. Из АЛУ они выводились в ЗУ и устройство вывода. Разница была в том, что в записывающем устройстве хранение происходит в адаптированном к компьютерной обработке формате, а подающиеся на вывод - в адаптированном для пользователя ПК. От устройства управления остальные получают определенные сигналы, а в УУ идет уже отчет о результатах выполнений этих команд.
Устройство управления содержит в себе специальные регистры (или ячейки), иными словами, представляет собой некий счетчик команд. Туда заносится адрес самой первой из поступивших команд от выполняемой программы. Устройство при этом считывает содержимое регистра и перемещает его в другое специальное устройство – так называемый, регистр команд. УУ в процессе определяет полностью всю операцию от данной команды, «помечает» нужные данные и ведет контроль по выполнению поступившей команды. Операция выполняется АЛУ и аппаратными средствами этого ПК. При завершении команды данный счетчик повышается на единицу, показывая последующую команду. Если необходимо выполнить команду, не являющуюся следующей, то команда перехода будет состоять из назначения той ячейки, в которую требуется передача.
Компьютерная архитектура при использовании параллельных процессоров
При использовании параллельных процессоров сразу ряд АЛУ управляется одним УУ. Множество данных имеет возможность быть обработанными по единой программе с одним потоком команд. Для такого типа архитектуры возможность иметь большее быстродействие имеется лишь при тех задачах, где будут выполняться параллельно одинаковые операции при разных наборах данных.
Используемые в настоящее время ЭВМ довольно часто в своем составе имеют элементы самых разных типов архитектуры. Есть абсолютно разные виды архитектурных решений, которые отличаются от тех, что упоминались ранее.
Аннотация: Данная лекция содержит описание параллельной архитектуры с векторными процессорами (PVP), а также кластерной архитектуры многопроцессорных вычислительных систем. Приводятся основные преимущества и недостатки каждой архитектуры, а также соответствующие парадигмы программирования. Описываются наиболее популярные вычислительные системы, имеющие данные архитектуры.
Типы кластеров
Условное деление на классы предложено Язеком Радаевским и Дугласом Эдлайном:
- Класс I. Класс машин строится целиком из стандартных деталей, которые продают многие поставщики компьютерных компонентов (низкие цены, простое обслуживание, аппаратные компоненты доступны из различных источников).
- Класс II. Система имеет эксклюзивные или не слишком широко распространенные детали. Таким образом можно достичь очень хорошей производительности, но при более высокой стоимости.
Как уже отмечалось, кластеры могут существовать в различных конфигурациях. Наиболее распространенными типами кластеров являются:
- системы высокой надежности;
- системы для высокопроизводительных вычислений;
- многопоточные системы .
Отметим, что границы между этими типами кластеров до некоторой степени размыты, и кластер может иметь такие свойства или функции, которые выходят за рамки перечисленных типов. Более того, при конфигурировании большого кластера , используемого как система общего назначения , приходится выделять блоки, выполняющие все перечисленные функции.
Кластеры для высокопроизводительных вычислений предназначены для параллельных расчетов. Эти кластеры обычно собраны из большого числа компьютеров. Разработка таких кластеров является сложным процессом, требующим на каждом шаге согласования таких вопросов как инсталляция , эксплуатация и одновременное управление большим числом компьютеров, технические требования параллельного и высокопроизводительного доступа к одному и тому же системному файлу (или файлам) и межпроцессорная связь между узлами, и координация работы в параллельном режиме. Эти проблемы проще всего решаются при обеспечении единого образа операционной системы для всего кластера . Однако реализовать подобную схему удается далеко не всегда и обычно она применяется лишь для не слишком больших систем.
Многопоточные системы используются для обеспечения единого интерфейса к ряду ресурсов, которые могут со временем произвольно наращиваться (или сокращаться). Типичным примером может служить группа web-серверов.
Архитектура персонального компьютера (ПК) включает в себя структуру, которая отражает состав ПК, и программное обеспечение.
Структура ПК – это набор его функциональных элементов (от основных логических узлов до простейших схем) и связей между ними.
Архитектура определяет принципы действия, информационные связи и взаимное соединение основных логических узлов ПК, к которым относят процессор, оперативное запоминающее устройство, внешние запоминающие устройства и периферийные устройства.
Основным принципом построения всех современных ПК является программное управление.
Архитектура персональных компьютеров, используемых в настоящее время
В основе архитектуры всех существующих и в нынешнее время используемых компьютеров лежит использование так называемого магистрально-модульного принципа. Он заключается в том, что компьютер имеет в составе обособленные модули, являющиеся частично автономными элементами. Данный принцип дает пользователю возможность собственными силами собрать требуемую конфигурацию компьютера. Этот принцип исходит из магистрального принципа в информационном обмене. Чтобы ПК мог работать по принципу единого механизма, нужен информационный обмен между модулями, за что отвечает работа магистральной шины, представленная печатным мостиком материнской платы.
Главные отличительные черты в архитектуре компьютеров соотносятся с принципами компоновки и с выбранным составом аппаратных средств. Эта архитектура отмечается принципом открытости – то есть возможностью включить в состав компьютера дополнительные устройства (как системные и так периферийные), возможностью встраивать обычные пользовательские программы на всех из уровней ПО данного компьютера.
Кроме этого процесс совершенствования архитектуры компьютера тесно связан с интенсивностью процесса обмена информацией с системной памятью ПК. Из нее ПК производит считывание всех исполняемых команд. Иными словами, получается так, что наибольшее число обращений от процессора совершается к памяти а, соответственно, ускорение обмена будет приводить к интенсивности в ускорении работы цепи.
Поэтому, в тех случаях, когда при обмене процессора с памятью происходит задействование магистральной шины, учитываются и все возможные ограничения в скорости именно магистрали, в этих случаях ускорение при обмене данными при помощи магистрали в принципе невозможно. Чтобы решить такую проблему, было решено подключать системную память к высокоскоростной шине. Та же является более близкой к процессору и ей нет потребности ни в использовании сложных буферов, ни использовании больших дистанций. Информационный обмен будет идти с наибольшей скоростью, при этом процесс замедляться не будет замедляться системной магистралью.
Благодаря описанному выше процессу оптимизации, структура компьютера стала уже трехшинной, что стало прогрессом. АЛУ в совокупности с УУ в современных компьютерах совместно представляют процессор.
Архитектура современных ПК
В основу архитектуры современных ПК заложен магистрально-модульный принцип. ПК состоит из отдельных частей – модулей, которые являются относительно самостоятельными устройствами ПК (напрмер, процессор, оперативная память, контроллер, дисплей, принтер, сканер и т.д.).
Модульный принцип позволяет пользователю самостоятельно комплектовать необходимую конфигурацию ПК и производить при необходимости его обновление. Модульная организация системы опирается на магистральный принцип обмена информацией. Для работы ПК как единого механизма необходимо осуществлять обмен данными между различными устройствами, за что отвечает системная (магистральная) шина, которая выполняется в виде печатного мостика на материнской плате.
Основные особенности архитектуры ПК сводятся к принципам компоновки аппаратуры, а также к выбранному набору системных аппаратных средств.
Подобная архитектура характеризуется ее открытостью – возможностью включения в ПК дополнительных устройств (системных и периферийных), а также возможностью простого встраивания программ пользователя на любом уровне программного обеспечения ПК.
Также совершенствование архитектуры ПК связано с максимальным ускорением обмена информацией с системной памятью. Именно из системной памяти, в которой хранятся данные, ПК считывает все исполняемые команды. Таким образом больше всего обращений центральный процессор совершает к памяти и ускорение обмена с памятью приведет к существенному ускорению работы всей системы в целом.
Т.к. при использовании системной магистрали для обмена процессора с памятью приходится учитывать скоростные ограничения самой магистрали, то существенного ускорения обмена данными с помощью магистрали добиться невозможно.
Для решения этого вопроса был предложен следующий подход. Системная память вместо системной магистрали подключается к специальной высокоскоростной шине, которая дистанционно находится ближе к процессору и не требует сложных буферов и больших расстояний. В этом случае обмен с памятью идет с максимально возможной для процессора скоростью, и системная магистраль не замедляет его. Особенно актуальным это решение стало с ростом быстродействия процессора.
Таким образом, структура ПК из одношинной, которая применялась только в первых компьютерах, становится трехшинной.
Рисунок 2. Трехшинная структура ПК
АЛУ и УУ в современных ПК образуют процессор. Процессор, который состоит из одной или нескольких больших интегральных схем, называется микропроцессором или микропроцессорным комплектом.
Архитектура ПК с использованием нескольких процессоров
Если ПК содержит несколько процессоров, то в данном случае есть возможность организации параллельно большого числа данных. Иными словами, может выполняться целый ряд частей одной задачи одновременно.
Читайте также: