Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОргЭВМ 2 курс 1 сем / comput_org_2018 / Теория / Уч_пос_АрхКомп_2017.docx
Скачиваний:
47
Добавлен:
01.09.2020
Размер:
626.15 Кб
Скачать

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, ECLIPSE)

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

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

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

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

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

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

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

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

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