Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АрхЭВМ часть 1.doc
Скачиваний:
24
Добавлен:
08.02.2015
Размер:
1.52 Mб
Скачать
    • Введение

Принципы последовательной и параллельной обработки информации широко используются на протяжении всего периода развития средств вычислительной техники, предназначенной для автоматизации выполнения вычислительных и информационных процессов. Понятно, что умение автоматизировать выполнение процессов подталкивает нас к мысли о возможности автоматизации одновременного выполнения ряда вычислительных и информационных процессов. В этом случае команды и данные должны обрабатываться вычислительной системой (ВС) одновременно или параллельно.

Современные ВС – вычислительные системы с последовательной или параллельной обработкой данных или команд и данных

ВС с последовательной обработкой данных или команд и данных извлекают из памяти хранения последовательно команды и операнды – в каждый момент времени выполняют 1 команду, обрабатывают её операнды (1-2 данное) и получают 1 результат.

ВС с параллельной обработкой данных– в каждый момент времени выполняют 1 команду, обрабатывают несколько данных и получает 1 или несколько результатов.

ВС с параллельной обработкой команд и данных – в каждый момент времени выполняют 2 и более команд, обрабатывают несколько данных и получают несколько результатов.

Параллельная обработка данных с использованием 1 команды применяется в сложных командах в ВС, процессоры которых имеют полный набор команд CISC-архитектуры.

В современных микропроцессорах (МП) для реализации параллельной обработки команд и данных применяются внутренние конвейеры команд, раздельные шины адресов, команд, данных, изолированные ОЗУ. Естественно, внешнее объединение МП в различные сетевые структуры (сеть, конвейер, дерево и т.д.) также поддерживает параллельную обработку команд и данных.

    • Конвейер команд

Группа 508

1 ступень – дешифрация кода операции

2 ступень – дешифрация 1го операнда

3 ступень – дешифрация 2го операнда

4 ступень – выполнение операции

5 ступень – запись результата в память

Внутренний конвейер – команды последовательно поступают на ступени конвейера:

e=a*b +c

k1=a*b =d

k2=c+d

k3=e – в память

Данные и команды хранятся в общей оперативной памяти универсального МП. Цифровые сигнальные процессоры (ЦСП) имеют 2 или 3 изолированных ОЗУ со своими шинами для возможности одновременной передачи по ним команд и данных.

Это пример параллельной системы

Группа 491

Рис. Параллельная обработка команд и данных

    • Архитектура эвм и языки программирования

У понятия архитектуры ЭВМ существует много формулировок. Есть 3 группы авторов, которые имеют отношение к понятию «архитектура ЭВМ»:

1) Производители ЭВМ, элементной базы (микропроцессоров и средств вычислительной техники): IBM, Intel, Apple, Inmas Ltd, AnalogDevices, Texas Instruments, Motorola.

2) Производители и разработчики системного ПО (ОС, языки программирования): Microsoft, Borland, Adobe, Oracle.

3) Крупные специалисты, работающие в университетах или исследовательских центрах: Джон фон Нейман (архитектура ЭВМ), Бобаян (ВС «Эльбрус»), Конрад Цюзе (до 2ой Мировой войны – главный конструктор средств ЭВМ в 3ем Рейхе) и др.

4) ГОСТ на разработку ПО.

В понятие «архитектура ЭВМ» входят отдельные блоки и устройства, находящиеся в составе аппаратного обеспечения конкретной ВС. Блоки и устройства могут находиться на одном кристалле МП, или на нескольких отдельных кристаллах, которые находятся в материнской плате и на тех платах, которые в нее вставлены.

Языки разделены на высокий и низкий уровни. Каждая конструкция языка высокого уровня состоит из большого количества команд, входящих в систему команд данного МП, и на таком языке удобно писать программы. Языки высокого уровня бывают символьными и графическими (используются компаниями, производящими МП для прикладных нужд: вентиляция, водоснабжение и пр.) – по представлению исходного текста программ.

Языки низкого уровня – различные assembler’ы: обычные ассемблеры и макроассемблер. Макросы заранее определены и входят в состав языка макроассемблер. Язык ассемблер макросов не содержит и является составной частью макроассемблера. Ассемблер для написания исходных текстов программ использует команды МП или ВС.

Существует определённая связь между аппаратным и программным системным обеспечением – через систему команд. Программирование осуществляется использованием команд из системы команд МП. Эффективность ПО (программного обеспечения) на языке высокого уровня как правило ниже, чем на ассемблере. В качестве критерия эффективности используется абсолютное время выполнения программ (измеряемое в секундах; чем меньше время выполнения одного и того же алгоритма, запрограммированного на языке высокого и низкого уровня – тем выше эффективность), ускорение выполнения (в кол-во раз; представляет собой отношение двух замеров времени для разных реализаций одного и того же алгоритма или задачи; показывает, во сколько раз быстрее выполнение алгоритма или задачи, при этом можно сравнивать различные программные реализации на различных аппаратных средствах (разных МП)), эффективность программного кода по требуемому объему памяти (чем меньше занимаемый объём памяти, тем она может считаться более эффективной; но при этом не обязательно, что время выполнения останется таким же), загруженность отдельных устройств вычислительной работой в процентах (отношение используемого процессором времени к полном ресурсу процессорного времени) и др.

Существуют языки программирования, которые относят к промежуточному уровню между языками высокого и низкого уровня. Такие языки: Occam, Occam 2 (в их составе – конструкторы, которые можно отнести к языкам высокого уровня, но вместе с тем, по своим возможностям создания исходных текстов программ сильно им уступают; в их тексте программ отсутствуют инструкции для команд ассемблера).

Новую версию реализации ПО на процессорах, можно сравнивать с любой уже, работающий версией.

Чем выше фактическая загруженность отдельных устройств, тем ближе фактическая производительность системы её потенциальной возможности. Потенцильное произведение определяется суммарной производной входящий в систему.

ПО может быть написано:

  1. Целиком на языке высокого уровня

  2. Целиком на языке низкого уровня

  3. Комбинированно

Разные системы программирования (языки) обладают разной эффективностью исполняемого программного кода наиболее объективной оценки разработки ПО сравнение реализации рабочих программ с используемыми одинаковыми критериями.

Прикладное и системное ПО может быть предназначено для выполнения в реальном времени и в масштабе реального времени (масштаб – для каждой системы различен).

Для реализации ПО систем реального времени для управления объектами, УУС могут быть использованы перечисленные методы написания ПО. Все системы реального времени работаю в масштабе реального времени. Масштаб реального времени, как правило, определяется способностью технической или экономической систем адекватно и правильно реагировать на изменения условия функционирования. Требование масштаба реального времени для различных систем работающих в различных условиях.

При разработке ПО таких систем могут быть предусмотрены несколько этапов:

  1. разработка на языке высокого уровня с целью отладки правильности работы ПО, тестирование на разных данных, подборка данных. Происходит обработка ситуаций и назначается выход из нее (выдача сообщения, передача управления ОС (операционной системе) или в главный модуль). Это режим масштаба реального времени (не реальное время, а время с коэффициентом).

  2. Для реализации режима реального времени и повышения эффективности ПО, написанного на языке высокого уровня определяются программные модули, которые должны быть реализованы на языке низкого уровня. Среди них могут быть драйверы устройств, которые не являются стандартными для данной ОС.

  3. Проводится комплексная отладка с использованием ПО, написанного на языках высокого и низкого уровня. При этом программы на языках высокого и низкого уровня могут быть работоспособными, но при совместном использовании не работать или давать неправильные результаты. Для тестирования используются различные тестовые наборы данных, созданных на первом этапе.

  4. Для реализации системы в требуемом масштабе реального времени может потребоваться замена отдельного программного модуля аппаратной реализации аллгоритмов, по которым они были разработанны. Считается, что аппаратные реализации по сравнению с программной позволяет достич ускорения в выполняемый аллгоритма, от одного и более порядков. В этом случае используется специализированные ВА на СБИС, представляющие собой многопроцессорные устройства.

Низкий уровень: Ассемблер, макроассемблер. Языки конкуренты – Оссат, Оссат-2.

Высокий уровень: С, Fortran, Pascal, Java, PHP.

Языки конкурентного программирования – заточены под многопроцессорные системы.

Возможность написать программу на языке высокого уровня не орицает возможность написать программу на языке низкого уровня: драйверы, увеличение производительности\эффективности.

Разрабатываем систему, в которой есть 2 процессора:

Группа 486

Нужно обеспечить обмен данными – программное обеспечение. Решение такой задачи может потребоваться для ПК с внешними устрйоствами.

Группа 471

Рис. Пример технической системы с цифровым управлением.

На ПК разрабатывается исходный текст программ для ПК и контроллера. ПК используется в качестве ЭВМ верхнего уровня и инструментальной ЭВМ (разработка и отладка прикладного ПО). Контроллер находится на нижнем уровне, и по отношению к ПК является ВУ. Контроллер содержит кроме МК внешнее устройство, позволяющее вводить и выводить данные с объекта и на объект. МК и ПК имеют разные системы команд. Прикладное ПО контроллера компилируется непосредственно на контроллере, хранится на ПК, а затем загружается на контроллер. Прикладное ПО ПК и контроллера может быть полностью реализовано на языке высокого уровня или на зыках высокого уровня и низкого уровня.

На языке низкого уровня пишется ПО, позволяющее сделать прикладную программу эффективной с точки зрения скорости выполнения или занимаемого объёма памяти, а также для возможности программирования обмена данных по каналам ВУ связи с объектом и по каналам контроллера и ПК.