Учебное пособие Санкт-Петербург Издательство спбгэту «лэти» 2006

Вид материалаУчебное пособие

Содержание


1.4. Понятия архитектуры, организации и реализации ЭВМ
1.5. Многоуровневая организация ЭВМ
6 – концептуальный
5 – проблемно-ориентированных ПС
4 – промежуточного ПО
3 – языков высокого уровня
2 – ассемблера
0 – машинных команд
Системы промежуточного ПО
1.6. Понятие семантического разрыва между уровнями
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   26

1.4. Понятия архитектуры, организации и реализации ЭВМ


Архитектура – это множество ресурсов ЭВМ, доступных пользователю на логическом уровне, без детализации способов взаимодействия процессоров, устройств памяти, внешних устройств и программных средств. При изучении архитектуры рассматривают:

- состав и характеристики процессоров, включая системы команд;

- состав и характеристики устройств памяти и ВУ;

- состав программных средств разработки ПО;

- вид ОС и режимы обработки данных.

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

- представление и форматы данных;

- уровни памяти и их взаимодействие;

- состав и форматы машинных команд;

- систему прерываний;

- способы обмена данными.

Реализация – способы технического исполнения конкретных устройств, линий или шин связи и протоколов взаимодействия между ними.

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

1.5. Многоуровневая организация ЭВМ


В общем случае обработку информации на ЭВМ можно рассматривать в виде иерархической системы уровней, представленных в табл. 1.1.


Таблица 1.1

Пользователь данного уровня

Уровень

Примечания

Постановщик задач

6 – концептуальный

(язык спецификаций)

Задаются режимы и виды
обработки данных, необходимые для решения задачи,
состав системных ПС

Пользователь функционального ПО, решающий задачи из конкретной предметной области

5 – проблемно-ориентированных ПС

(входной язык пакета
программ)

Уровень приложений
для конкретной предметной области

Разработчик функциональных программных комплексов

4 – промежуточного ПО

(например, язык UML)

Middleware ( 1 - Delphi, Visual C;

2 - DCOM, CORBA, RMI)

Разработчик функциональных (прикладных) программ

3 – языков высокого уровня

Паскаль, СИ, С++, Java, Prolog

Системный программист,

прикладной программист

2 – ассемблера

Программирование фрагментов программ высокой
эффективности

Системный программист


1 – ОС

Выполнения привилегированных команд, управление памятью

Программист/электронщик

(системный архитектор)

0 – машинных команд

Цифровое кодирование
и представление команд

Программист/электронщик

(системный архитектор)

(–1) – микрокоманд

(микроархитектурный уровень)

Описание набора элементарных операций, реализующих машинные команды

Электронщик


(–2) – межрегистровых передач

Реализация элементарных операций как пересылок
между регистрами

Электронщик

(технолог)

(–3) – вентилей

(цифровой логический уровень)

Технологический уровень, устройства машины представляются в виде интегральных схем


Системы промежуточного ПО:

1. Инструментальные среды программирования (Delphi, Visual C, С++ Builder)

2. Инструментальные технологии программирования (DCOM, CORBA, RMI )


Особенности многоуровневой организации:

1. Каждый верхний уровень интерпретируется одним или несколькими нижними уровнями.

2. Каждый из уровней можно проектировать независимо.

3. Модификация нижних уровней не влияет на реализацию верхних.

4. Чем ниже уровень реализации программы, тем более высокая производительность достижима.

1.6. Понятие семантического разрыва между уровнями


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

1) для традиционных ЭВМ, считающихся машинами со сложным набором команд (CISC), используется специализация машин, при которой операторы проблемно-ориентированных языков могут непосредственно выполняться аппаратными средствами машины; платой за повышение производительности является увеличение сложности устройства управления и отход от универсальности; примерами могут служить: аппаратная реализация графических преобразований; аппаратная реализация операций с векторами и матрицами;

2) переход к ЭВМ с сокращенным набором команд (RISC), характеризующихся ограниченным списком простых команд, оперирующих в основном данными, размещенными в регистрах; в результате реализация операторов ЯВУ на основе команд RISC-процессора оказывается почти столь же эффективной, что и аппаратная реализация, но не усложняет устройства управления.