Типовые вычислительные структуры
Достоинства и недостатки архитектуры вычислительных машин и систем изначально зависят от их структуры — способа соединения компонентов. В общем случае существует два типа структур вычислительных машин и два типа структур вычислительных систем.
Структуры вычислительных машин. В настоящее время примерно одинаковое распространение получили два способа построения вычислительных машин: с непосредственными связями и на основе шины.
Типичным представителем первого способа может служить классическая фон-неймановская вычислительная машина (см. рис. 1.1). В ней между взаимодействующими устройствами (процессором, памятью, устройством ввода-вывода) имеются непосредственные связи. Достоинством такой архитектуры можно считать возможность улучшения состава и характеристик отдельных связей. Недостаток — вычислительные машины с непосредственными связями плохо поддаются реконфигурации.
В варианте архитектуры с общей шиной все устройства вычислительной машины подключены к магистральной шине, служащей единственным трактом для потоков команд, данных и управления (рис. 1.3).
Рис. 1.3. Структура вычислительной машины на основе общей шины
Наличие общей шины существенно упрощает реализацию вычислительной машины, позволяет легко менять состав и конфигурацию машины. Благодаря этим свойствам шинная архитектура получила широкое распространение в персональных компьютерах.
Недостаток шинной архитектуры: в каждый момент времени передавать данные по шине может только одно устройство. Причем основную нагрузку на шину создают обмены между процессором и памятью.
В целом следует отметить, что при сохранении фон-неймановской концепции последовательного выполнения команд программы шинная структура в чистом виде оказывается неэффективной. Более распространена структура с иерархией шин. При такой структуре кроме магистральной шины может обеспечиваться непосредственная связь между устройствами с наиболее интенсивным обменом, например процессором и памятью. Могут существовать дополнительные шины, объединяющие однотипные устройства ввода-вывода, с последующим выходом на магистральную шину. Эти меры позволяют снизить нагрузку на общую шину и более эффективно расходовать ее пропускную способность.
Структуры вычислительных систем. Понятие «вычислительная система» предполагает наличие нескольких центров обработки данных: процессоров или вычислительных машин, при объединении которых используется один из двух подходов: общая память и распределенная система.
В вычислительных системах с общей памятью (рис. 1.4) имеется общая основная память, совместно используемая всеми процессорами системы через общую шину. Достоинство такой структуры: обмен данными между процессорами не связан с дополнительными операциями и обеспечивается за счет доступа к общим областям памяти. Вычислительные системы с общей памятью называют мультипроцессорными компьютерами. Основные достоинства мультипроцессора:
· высокая производительность, которая достигается за счет параллельной работы нескольких процессоров;
· отказоустойчивость, т. е. способность к продолжению работы при отказах отдельных процессоров.
Рис. 1.4. Структура вычислительной системы с общей памятью
В распределенной структуре вычислительной системы общая основная память отсутствует, каждый процессор или вычислительная машина обладает собственной основной и внешней памятью (рис. 1.5). Обмен данными между составляющими системы обеспечивается с помощью коммуникационной сети посредством обмена сообщениями.
Рис. 1.5. Структура распределенной вычислительной системы
Подобное построение вычислительной системы снимает ограничения, присущие для общей шины, но приводит к дополнительным издержкам на пересылку сообщений между процессорами или машинами.
Более эффективна распределенная система, когда отдельные машины объединяются в кластер. В этом случае они могут иметь общую внешнюю (дисковую) память (рис. 1.6), что ускоряет обращение процессоров к данным.
Рис. 1.6. Структура кластера
Все компьютеры кластера работают под управлением специального программного обеспечения, синхронизирующего их работу. Взаимодействие компьютеров осуществляется через общую внешнюю память.
Кластеры применяются для повышения надежности и производительности вычислительных систем.
Архитектура системы команд
Архитектура системы команд служит границей между аппаратурой и программным обеспечением и представляет ту часть системы, которая «видна» программисту.
Современные технологии программирования ориентированы на языки высокого уровня, главная цель которых — облегчить процесс программирования. Однако сложные операторы, характерные для высокоуровневых языков, существенно отличаются от простых машинных операций, реализуемых в большинстве вычислительных машин. Проблема получила название семантического разрыва, а ее следствием становится недостаточно эффективное выполнение программ на вычислительной машине. Пытаясь преодолеть семантический разрыв, разработчики вычислительных машин в настоящее время выбирают один из трех подходов и, соответственно, одну из трех архитектур системы команд:
· архитектуру c полным набором команд — CISC (Complex Instruction Set Computer);
· архитектуру с сокращенным набором команд — RISC (Reduced Instruction Set Computer);
· архитектуру с командными словами сверхбольшой длины — VLIW (Very Long Instruction Word).
В вычислительных машинах с CISC-архитектурой проблема семантического разрыва решается за счет расширения системы команд, семантически аналогичных операторам языков высокого уровня.
Для CISC-процессоров характерно:
· сравнительно небольшое число регистров общего назначения (от 8 до16);
· большое количество машинных команд;
· разнообразные способы методов адресации операндов;
· большое количество форматов команд различной разрядности;
· наличие команд, при выполнении которых обработка совмещается с обращением к памяти.
Признанным лидером в разработке микропроцессоров c CISC-архитектурой считалась компания Intel (семейство процессоров Ix86). Сложность архитектуры семейства Ix86 стала главным фактором, ограничивавшим производительность процессоров на ее основе.
Для процессоров с RISC-архитектурой характерно:
· большое число регистров общего назначения (32 и более);
· упрощенный набор команд фиксированной длины и фиксированного формата;
· раздельное выполнение команд обработки данных и команд работы с памятью;
· аппаратная реализация выполнения команд.
Реализация сложных команд за счет последовательности из простых, но быстрых RISC-команд оказывается не менее эффективной, чем аппаратный вариант сложных команд в CISC-архитектуре.
В последних микропроцессорах фирмы Intel и AMD широко используются идеи, свойственные RISC-архитектуре, так что многие различия между CISC и RISC постепенно стираются.
Концепция VLIW базируется на RISC-архитектуре, где несколько простых RISC-команд объединяются в одну сверхдлинную команду и выполняются параллельно. Появление параллелизма вычислений позволяет применять VLIW в мультипроцессорных вычислительных системах
4. Различные классы, классификация и архитектура вычислительных сетей
Компьютерная сеть (вычислительная сеть) — система, обеспечивающая обмен данными между вычислительными устройствами (компьютеры, серверы, маршрутизаторы и другое оборудование). Для передачи информации могут быть использованы различные физические явления[уточнить], как правило, — различные виды электрических сигналов, световых сигналов или электромагнитного излучения[1].
Классификация