Особенности процессорных архитектур. Cisc и risc мархитектура. Их краткая характеристика
Скачать 2.4 Mb.
|
Организация автоматической работы ЭВМ. В основе организации большинства современных ЭВМ лежат принципы Дж. фон Неймана: Использование двоичной системы счисления в вычислительных машинах. Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто. Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием. Память компьютера используется не только для хранения данных, но и программ. При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными. Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании. Возможность условного перехода в процессе выполнения программы. Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода. Управляющие функции процессора. Функции процессора: чтение команд из ОЗУ декодирование команд, то есть определение их назначения, способа выполнения и адресов операндов исполнение команд управление пересылкой информации между МПП, ОЗУ и периферийными устройствами обработка прерываний управление устройствами, составляющими ЭВМ. Общая организация выполнения программы на ЭВМ. Один из «прозрачных» процессов машины – это организация ввода, преобразование и отображение результатов работы системного программного обеспечения. Программа задания, написанная программистом на алгоритмическом языке называется исходным модулем. Перевод исходной программы на машинный язык осуществляет программа translator. Он делится на: компилятор и интерпретатор. Интерпретатор – после перевода на язык машины каждого оператора исходного модуля немедленно его исполняет. Компилятор – сначала полностью переводит всю программу исходного модуля на машинный язык, затем его исполняет. Объектный модуль – машинный язык. Полученный объектный модуль записывается в библиотеку объектных модулей или сразу исполняется. Для исполнения отлаженного объектного модуля к нему могут быть добавлены недостающие программы из библиотеки компиляторов. Такую связь выполняет программа редактор связи. В результате образуется загрузочный модуль. Исполнение загрузочного модуля осуществляется программой – загрузчиком. Операционная система (ОС) – выполняет функцию управления. 34.Память и запоминающие устройства. Виды и характеристики ЗУ: адресная, стековая и ассоциативная организация памяти Память и запоминающие устройства Запоминающее устройство - носитель информации, предназначенный для записи и хранения данных. В основе работы запоминающего устройства может лежать любой физический эффект, обеспечивающий приведение системы к двум или более устойчивым состояниям. Виды и характеристики ЗУ: адресная, стековая и ассоциативная организация памяти Запоминающее устройство, как правило, содержит множество одинаковых запоминающих элементов, образующих запоминающий массив (ЗМ). Массив разделен на отдельные ячейки; каждая из них предназначена для хранения двоичного кода, число разрядов в котором определяется шириной выборки памяти. Адресная память. В памяти с адресной организацией размещение и поиск информации в ЗМ основаны на использовании адреса хранения слова (числа, команды и т. п.), адресом служит номер ячейки ЗМ, в которой это слово размещается. При записи (или считывании) слова в ЗМ инициирующая эту операцию команда должна указывать адрес (номер ячейки), по которому производится запись (считывание). Ассоциативная память. В памяти этого типа поиск нужной информации производится не по адресу, а по ее содержанию (по ассоциативному признаку). При этом поиск по ассоциативному признаку (или последовательно по отдельным разрядам этого признака) происходит параллельно во времени для всех ячеек запоминающего массива. Стековая память, так же как и ассоциативная, является безадресной. В стековой памяти (рис. 4.4) ячейки образуют одномерный массив, в котором соседние ячейки связаны друг с другом разрядными цепями передачи слов. Запись нового слова производится в верхнюю ячейку (ячейку 0), при этом все ранее записанные слова (включая слово, находившееся в ячейке 0), сдвигаются вниз, в соседние ячейки с большими на 1 номерами. 35. Тестирование вычислительных систем. Требования к тестам: 1) Полнота. Тест должен оценивать только те параметры, для оценки которых создавался. Выдаваемые результаты должны быть непротиворечивыми, лаконичными и легкими для понимания. 2) Легкость в использовании. 3) Масштабируемость. Тест должен быть доступен для большого числа разного по вычислительной мощности аппаратного обеспечения. 4) Переносимость. Тест должен быть доступен для большого числа разного по архитектуре аппаратного обеспечения. Основной чертой переносимости является язык программирования, и, соответственно, наличие компилятора под данную платформу. 5) Репрезентативность. Вне зависимости от платформы тест должен оценивать наиболее важные для большинства приложений/пользователей характеристики (выборка характеристик должна быть показательной). Репрезентативностью определяют, то насколько возможно обобщать результаты исследования с привлечением определённой выборки на всю основную совокупность, из которой она была собрана. 6) Доступность. Тест должен быть доступен, в том числе и его исходный код. При представлении результатов должна быть указана версия и все внесенные изменения. 7) Воспроизводимость. При необходимости должна быть возможность повторить тест с получением аналогичных результатов. При публикации результатов необходимо предоставлять исчерпывающую информацию о программном и аппаратном обеспечении. Классификация тестов: «Игрушечные» тесты – маленькие, длиной в несколько сотен строк исходного кода. Как правило, такие тесты представляют собой решение какой-либо широко известной математической задачи. Микротесты – специализированные, ориентированные на определение какой-то одной из основных количественных характеристик аппаратного обеспечения:(производительность CPU; пропускная способность RAM; пропускная способность коммуникационной среды; и т.д.) Тесты ядра – это фрагменты кода, взятые из реальных приложений. Синтетические тесты - искусственно сгенерированные тесты для оценки большого количества показателей без привязки к какому-либо приложению. Приложения – программы, наиболее часто применяемые для решения тех или иных реальных задач. Псевдо приложения – программы, созданные на основе реальных приложений, но специально адаптированные для задач тестирования. Пакеты тестов – коллекции различных типов тестов с преобладанием приложений. Практически отдельно от этого всего стоит Тестирование производительности вычислительной системы - тестирование, которое проводится с целью определения, как быстро работает вычислительная система или её часть под определённой нагрузкой. Виды тестов на производительность: Нагрузочное тестирование Нагрузочное тестирование — это простейшая форма тестирования производительности. Нагрузочное тестирование обычно проводится для того, чтобы оценить поведение приложения под заданной ожидаемой нагрузкой. Этой нагрузкой может быть, например, ожидаемое количество одновременно работающих пользователей приложения, совершающих заданное число транзакций за интервал времени. Такой тип тестирования обычно позволяет получить время отклика всех самых важных бизнес-транзакций. В случае наблюдения за базой данных, сервером приложений, сетью и т. д., этот тип тестирования может также идентифицировать некоторые узкие места приложения. Стресс-тестирование Стресс-тестирование обычно используется для понимания пределов пропускной способности приложения. Этот тип тестирования проводится для определения надёжности системы во время экстремальных или диспропорциональных нагрузок и отвечает на вопросы о достаточной производительности системы в случае, если текущая нагрузка сильно превысит ожидаемый максимум. Тестирование стабильности Тестирование стабильности проводится с целью убедиться в том, что приложение выдерживает ожидаемую нагрузку в течение длительного времени. При проведении этого вида тестирования осуществляется наблюдение за потреблением приложением памяти, чтобы выявить потенциальные утечки. Кроме того, такое тестирование выявляет деградацию производительности, выражающуюся в снижении скорости обработки информации и/или увеличении времени ответа приложения после продолжительной работы по сравнению с началом теста. Конфигурационное тестирование Конфигурационное тестирование — ещё один из видов традиционного тестирования производительности. В этом случае вместо того, чтобы тестировать производительность системы с точки зрения подаваемой нагрузки, тестируется эффект влияния на производительность изменений в конфигурации. Хорошим примером такого тестирования могут быть эксперименты с различными методами балансировки нагрузки. Конфигурационное тестирование также может быть совмещено с нагрузочным, стресс или тестированием стабильности. Результаты тестирования позволяют: - на стадии проектирования принимать решения о примерном составе будущей вычислительной системы; - на стадии отладки и ввода в эксплуатацию путем сравнения с аналогами принимать решение о достижении необходимых характеристик; - на стадии эксплуатации/модификации выявлять узкие места системы. - на любой из стадий позволяют выявлять баги в коде системы. 36. Общие требования, предъявляемые к современным ЭВМ. Отношение стоимость/производительность Появление любого нового направления в вычислительной технике определяется требованиями компьютерного рынка. Большая универсальная вычислительная машина (мейнфрейм) или суперкомпьютер стоят дорого. Для достижения поставленных целей при проектировании высокопроизводительных конструкций приходится игнорировать стоимостные характеристики. Другим крайним примером может служить низко стоимостная конструкция, где производительность принесена в жертву для достижения низкой стоимости. К этому направлению относятся дешёвые/старые персональные компьютеры/ноутбуки. Между этими двумя крайними направлениями находятся конструкции, основанные на отношении стоимость/ производительность, в которых разработчики находят баланс между стоимостными параметрами и производительностью. Типичными примерами такого рода компьютеров являются мини-компьютеры и рабочие станции. Для сравнения различных компьютеров между собой обычно используются стандартные методики измерения производительности. Эти методики позволяют разработчикам и пользователям использовать полученные в результате испытаний количественные показатели для оценки тех или иных технических решений, и в конце концов именно производительность и стоимость дают пользователю рациональную основу для решения вопроса, какой компьютер выбрать. Надежность и отказоустойчивость Важнейшей характеристикой вычислительных систем является надежность. Повышение надежности основано на принципе предотвращения неисправностей путем снижения интенсивности отказов и сбоев за счет применения электронных схем и компонентов с высокой и сверхвысокой степенью интеграции, снижения уровня помех, облегченных режимов работы схем, обеспечение тепловых режимов их работы, а также за счет совершенствования методов сборки аппаратуры. Отказоустойчивость — это такое свойство вычислительной системы, которое обеспечивает ей, как логической машине, возможность продолжения действий, заданных программой, после возникновения неисправностей. Введение отказоустойчивости требует избыточного аппаратного и программного обеспечения. Направления, связанные с предотвращением неисправностей и с отказоустойчивостью, - основные в проблеме надежности. Концепции параллельности и отказоустойчивости вычислительных систем естественным образом связаны между собой, поскольку в обоих случаях требуются дополнительные функциональные компоненты. Поэтому, собственно, на параллельных вычислительных системах достигается как наиболее высокая производительность, так и, во многих случаях, очень высокая надежность. Имеющиеся ресурсы избыточности в параллельных системах могут гибко использоваться как для повышения производительности, так и для повышения надежности. Структура многопроцессорных и многомашинных систем приспособлена к автоматической реконфигурации и обеспечивает возможность продолжения работы системы после возникновения неисправностей. Следует помнить, что понятие надежности включает не только аппаратные средства, но и программное обеспечение. Главной целью повышения надежности систем является целостность хранимых в них данных. Масштабируемость Масштабируемость представляет собой возможность наращивания числа и мощности процессоров, объемов оперативной и внешней памяти и других ресурсов вычислительной системы. Масштабируемость должна обеспечиваться архитектурой и конструкцией компьютера, а также соответствующими средствами программного обеспечения. Добавление каждого нового процессора в действительно масштабируемой системе должно давать прогнозируемое увеличение производительности и пропускной способности при приемлемых затратах. Одной из основных задач при построении масштабируемых систем является минимизация стоимости расширения компьютера и упрощение планирования. В идеале добавление процессоров к системе должно приводить к линейному росту ее производительности. Однако это не всегда так. Потери производительности могут возникать, например, при недостаточной пропускной способности шин из-за возрастания трафика между процессорами и основной памятью, а также между памятью и устройствами ввода/вывода. В действительности реальное увеличение производительности трудно оценить заранее, поскольку оно в значительной степени зависит от динамики поведения прикладных задач. Возможность масштабирования системы определяется не только архитектурой аппаратных средств, но зависит от заложенных свойств программного обеспечения. Масштабируемость программного обеспечения затрагивает все его уровни от простых механизмов передачи сообщений до работы с такими сложными объектами как мониторы транзакций и вся среда прикладной системы. В частности, программное обеспечение должно минимизировать трафик межпроцессорного обмена, который может препятствовать линейному росту производительности системы. Аппаратные средства (процессоры, шины и устройства ввода/вывода) являются только частью масштабируемой архитектуры, на которой программное обеспечение может обеспечить предсказуемый рост производительности. Важно понимать, что простой переход, например, на более мощный процессор может привести к перегрузке других компонентов системы. Это означает, что действительно масштабируемая система должна быть сбалансирована по всем параметрам. Совместимость и мобильность программного обеспечения Концепция программной совместимости впервые в широких масштабах была применена разработчиками системы IBM/360. Основная задача при проектировании всего ряда моделей этой системы заключалась в создании такой архитектуры, которая была бы одинаковой с точки зрения пользователя для всех моделей системы независимо от цены и производительности каждой из них. Огромные преимущества такого подхода, позволяющего сохранять существующий задел программного обеспечения при переходе на новые (как правило, более производительные) модели были быстро оценены как производителями компьютеров, так и пользователями и начиная с этого времени практически все фирмы-поставщики компьютерного оборудования взяли на вооружение эти принципы, поставляя серии совместимых компьютеров. Следует заметить, однако, что со временем даже самая передовая архитектура неизбежно устаревает и возникает потребность внесения радикальных изменений архитектуру и способы организации вычислительных систем. В настоящее время одним из наиболее важных факторов, определяющих современные тенденции в развитии информационных технологий, является ориентация компаний-поставщиков компьютерного оборудования на рынок прикладных программных средств. Это объясняется прежде всего тем, что для конечного пользователя в конце концов важно программное обеспечение, позволяющее решить его задачи, а не выбор той или иной аппаратной платформы. Переход от однородных сетей программно-совместимых компьютеров к построению неоднородных сетей, включающих компьютеры разных фирм-производителей, в корне изменил и точку зрения на саму сеть: из сравнительно простого средства обмена информацией она превратилась в средство интеграции отдельных ресурсов - мощную распределенную вычислительную систему, каждый элемент которой (сервер или рабочая станция) лучше всего соответствует требованиям конкретной прикладной задачи. Этот переход выдвинул ряд новых требований. Прежде всего такая вычислительная среда должна позволять гибко менять количество и состав аппаратных средств и программного обеспечения в соответствии с меняющимися требованиями решаемых задач. Во-вторых, она должна обеспечивать возможность запуска одних и тех же программных систем на различных аппаратных платформах, т.е. обеспечивать мобильность программного обеспечения. В-третьих, эта среда должна гарантировать возможность применения одних и тех же человеко-машинных интерфейсов на всех компьютерах, входящих в неоднородную сеть. В условиях жесткой конкуренции производителей аппаратных платформ и программного обеспечения сформировалась концепция открытых систем, представляющая собой совокупность стандартов на различные компоненты вычислительной среды, предназначенных для обеспечения мобильности программных средств в рамках неоднородной, распределенной вычислительной системы. 37. Эталонная модель взаимодействия открытых систем. Сетевая модель OSI (базовая эталонная модель взаимодействия открытых систем, англ. Open Systems Interconnection Basic Reference Model) — абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к сети. Каждый уровень обслуживает свою часть процесса взаимодействия. Модель состоит из 7-ми уровней, расположенных друг над другом. Уровни взаимодействуют друг с другом (по «вертикали») посредством интерфейсов, и могут взаимодействовать с параллельным уровнем другой системы (по «горизонтали») с помощью протоколов. Каждый уровень может взаимодействовать только со своими соседями и выполнять отведённые только ему функции. 38. Многоуровневая организация управления в ИВС. Протоколы и интерфейсы. Способы и средства коммутации и передачи данных. ИВС - система коллективного пользования, состоящая из одного или нескольких процессоров, компьютеров (ЭВМ) и обеспечивающая независимый и одновременный доступ к своим информационно-вычислительным ресурсам многих пользователей. Для обеспечения открытости, гибкости и эффективности сети управление процессами организуется по многоуровневой схеме. В каждой из систем прямоугольниками обозначены программные и аппаратные модули, реализующие определенные функции обработки и передачи данных. Рассмотренная многоуровневая организация обеспечивает независимость управления на уровне п от порядка функционирования нижних и верхних уровней. В частности, управление каналом (уровень 2) происходит независимо от физических аспектов функционирования каналов связи, которые учитываются только на уровне 1. Управление сетью реализует специфичные процессы передачи данных по сети, но транспортный уровень взаимодействует с сетью передачи данных как единой системой, обеспечивающей доставку сообщений абонентам сети. В конечном результате прикладной процесс создается только для выполнения определенной функции обработки данных без учета структуры сети, типа каналов связи, способов выбора маршрутов и т. д. Этим обеспечивается открытость и гибкость системы. Интерфейсы Для реализации функций управления передачей данных используются технические и программные средства. Как правило, уровни 1 и 2 реализуются в основном техническими средствами. На уровнях с 3 по 7 используются программные средства. Взаимодействие между уровнями одной системы производится на основе соглашения - интерфейса, определяющего структуру данных и способ (алгоритм) обмена данными между соседними уровнями. Уровни управления 1 и 2 связываются между собой и с уровнем 3 посредством схемных интерфейсов - интерфейсных шин. Порядок взаимодействия между уровнями управления, реализуемыми с помощью программных средств, определяется программными интерфейсами - совокупностью процедур. Протоколы Гибкость организации и простота реализации сетей достигаются, в частности, за счет того, что обмен сообщениями допускается только между процессами одного уровня. Это означает, что прикладной процесс может взаимодействовать только с прикладным процессом, а процессы управления передачей сообщения на уровнях 1,2,… - только с процессами одноименных уровней. Эта схема взаимодействия процессов - необходимое условие логической независимости уровней организации сети. Набор семантических и синтаксических правил, которые определяют поведение систем или устройств, выполняющих определенные логически связанные группы функций при передаче данных называется протоколом. Протоколы имеют следующие особенности, отличающие их от интерфейсов: - параллелизм взаимодействующих процессов; - взаимная неопределенность состояния процессов, связанная с отсутствием у каждого из них полной информации о состоянии другого процесса; - отсутствие однозначной зависимости между событиями и действиями, выполняемыми при их наступлении; - отсутствие полной гарантии доставки сообщений. Способы коммутации и передачи данных Базовая СПД обеспечивает информационный обмен между абонентами путем установления соединений, проходящих через узлы и линии связи. Важнейшая характеристика СПД - время доставки данных, которое зависит от структуры СПД, производительности узлов связи и пропускной способности линий связи, а также от способа организации каналов связи между взаимодействующими абонентами и способа передачи данных по каналам. 39. Функции сетевого и транспортного уровней, маршрутизация пакетов. Управление потоками передаваемых данных. |