Изложены основы организации, архитектура и схемотехника построения вычислительных машин, систем и сетей. Рассмотрены устройства вычислительных машин: процессоры, устройства памяти, интерфейсы, контроллеры. Приведены основные характеристики различных классов систем обработки данных и способы их оценки. Рассмотрены современные компьютеры, микропроцессорные системы на базе микроконтроллеров, вычислительные системы параллельной обработки данных, основы построения компьютерных сетей, а также тенденции развития архитектур, обусловленные успехами микроэлектроники и развитием информационных технологий.
Организацию динамического распараллеливания исполнения команд с использованием резервирующей станции иллюстрирует рис. С увеличением уровня интеграции микросхем появилась возможность создания систем на одном кристалле — . Вкристалле интегрируются функции, для . При интеграции функциональных устройств системы на одном кристалле с одной стороны уменьшаются задержки при их информационных обменах, что повышает производительность, с другой стороны уменьшается общее число микросхем системы, упрощается изготовление и монтаж плат, а это ведет к снижению стоимости систем и повышению их надежности. Таким образом, интеграция функций системы на кристалле улучшает все общетехнические показатели системы. В частности, в кристалл процессора интегрируются стандартные интерфейсы сетевых и телекоммуникационных систем, что позволяет без дополнительных адаптеров соединять МП друг с другом, с ТВС. Разработка систем с распределенной разделяемой памятью . Рассмотрим реализацию такого подхода на примерах МП . Укрупненная функциональная схема МП . Операционная часть процессорного ядра содержит два блока операций с плавающей точкой и четыре — для целочисленной обработки. Для динамического распараллеливания исполнения в резервирующей станции рассматриваются сразу . После декодирования команда помещается в очередь к соответствующим ОБ. Команды, получившие все операнды, при освобождении требуемого ОБ поступают на исполнение . Для динамического переименования доступны . Обмен данными между кэшами . Благодаря встроенному сетевому интерфейсу упрощаг ется объединение МП в мультипроцессорные системы. Сетевой интерфейс поддерживает четыре межпроцессорных соединения типа . Скорость обмена по каждому соединению . Сетевой интерфейс обеспечивает когерентность кэшей в мультипроцессорной системе и реализует асинхронный обмен данными с адаптивной маршрутизацией. Наличие четырех сетевых каналов позволяет строить системы с топологией . Укрупненная функциональная схема МП . ЦШ ЦП. Каждый центральный процессор содержит раздельные кэш. Наряду с параллелизмом уровня команд . Это параллелизм на более высоком уровне организации вычислительных процессов, чем . Тред — это изолированный процесс с собственными командами и данными. Имеется достаточно большое число прикладных программ, для которых характерна хорошая распараллеливаемость на уровне тредов. Особенно это относится к серверам. Для них мультитредовые архитектуры весьма эффективны . Динамическое выявление параллелизма позволяет уменьшать простои процессора при трудно выявляемых в статике ситуациях. Процессор реализован на кристалле площадью . Одна из существенных особенностей этого процессора — наличие кэш. Связь блоков памяти с процессорами реализована через коммутатор с пропускной способностью . Порт, предназначенный для связи кристалла с внешней кэш. При объединении четырех кристаллов . Это позволяет вести обмен между кристаллами фрагмента мультипроцессорной системы с предельно достижимой пропускной способностью. Фрагмент имеет четыре канала для организации связей с другими фрагментами. Таким образом, имеется возможность строить мультипроцессорные системы масштабируемой вычислительной мощности с топологией . Рассмотрим подробнее особенности мультитредовой архитектуры процессоров. Особенностью мультитредовых архитектур является введение множества устройств выборки команд, каждое из которых организует окно исполнения для одного треда . В рамках одного треда выполняется предсказание переходов, ди . с о Рис. Выявление тредов осуществляется как при компиляции . Компилятор не может разрешить проблемы зависимостей тредов при использовании общих регистров или ячеек памяти. Учет этих зависимостей может быть реализован только динамически. Для решения этих проблем в мультитредовых процессорах предусмотрен дополнительный механизм условного исполнения тредов. При необходимости специальная аппаратура обеспечивает возврат с отбрасыванием наработанных результатов при обнаружении нарушения зависимостей между тредами. По оценкам аналитиков мультитредовый процессор . Направления развития мультипроцессорных систем с распределенной памятью В мультипроцессорных ВС с распределенной памятью . Такой подход позволяет создавать системы, содержащие тысячи процессоров и достигать суммарной производительности в сотни миллиардов операций в секунду. Основные проблемы, связанные с созданием систем МРР. Написание программ с учетом особенностей организации системы и архитектуры процессорных узлов весьма трудоемко и требует весьма высокой квалификации программистов. Различные экземпляры систем МРР могут содержать различное число процессоров . Коммуникационные подсистемы могут реализовать сеть с различной топологией и пропускной способностью каналов. Программы системы МРР, стремящиеся максимально полно использовать ее возможности, оказываются достаточно жестко привязанными к ее архитектуре. В результате число пакетов программ, разработанных для каждой из систем МРР, весьма ограничено. Это сдерживает распространение таких систем и делает их дороже. А это в свою очередь сдерживает рост числа приложений. В результате возникает порочный круг, тормозящий развитие . Рассмотрим основные направления в развитии систем рассматриваемого класса, позволяющие преодолевать отмеченные трудности. Одно из направлений связано с использованием концепции виртуальной памяти . Все узлы мультипроцессорной системы используют единое АП. Если программа обратилась по адресу, принадлежащему локальной памяти другого процессора, генерируется аппаратное прерывание по особому случаю адресации, и ОС выполняет пересылку сообщения от одного узла другому. В результате можно ускорять исполнение программы, первоначально разработанной для последовательных систем, транслируя ее с помощью специального распараллеливающего компилятора. При высоком быстродействии коммуникационной системы этот подход оправдывает себя. При этом снижать производительность системы может эффект пинг.