Исследование и реализация базовой вычислительной машины с внутренним языком высокого уровня

Исследование и реализация базовой вычислительной машины с внутренним языком высокого уровня

Автор: Чернов, Сергей Александрович

Шифр специальности: 05.13.15

Научная степень: Кандидатская

Год защиты: 2003

Место защиты: Москва

Количество страниц: 220 с. ил

Артикул: 2612266

Автор: Чернов, Сергей Александрович

Стоимость: 250 руб.

СОДЕРЖАНИЕ
ИСПОЛЬЗУЕМЫЕ СОКРАЩЕНИЯ
ВВЕДЕНИЕ
1. ПРЕДПОСЫЛКИ К СОЗДАНИЮ ЭВМ С ВНУТРЕННИМ языком ВЫСОКОГО УРОВНЯ.
1.1 Преимущества и недостатки ЯВУ в сравнении с языком Ассемблера.
1.2 Традиционные ЭВМ с оптимизирующими компиляторами ЯВУ
1.3 Машины языков высокого уровня.
1.4 МВК Эльбрус и язык Эль.
1.5 Базовая вычислительная машина с внутренним языком высокою уровня
1.6 Выводы
2. ТЕОРЕТИЧЕСКАЯ МОДЕЛЬ МАШИННОГО ЯЗЫКА ВЫСОКОГО
УРОВНЯ.
2.1 Синтаксис.
2.2 Абстрактная ГЯЛ0мл1иинА. Операционная семантика языка.
2.3 Трансформационная семантика.
2.4 Выводы.
3. ПРИНЦИПЫ РЕАЛИЗАЦИИ ЭВМ С ВНУТРЕННИМ ЯЗЫКОМ ВЫСОКОГО УРОВНЯ
3.1 Основные положения
3.2 Базовая вычислительная машина.
3.3 Язык ассемблера и система программирования
3.4 Выводы
4. СТРУКТУРА БАЗОВОЙ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ
4.1 Стеки.
4.2 Память переменных.
4.3 Памятыюдпрограмм и память структур
4.4 Процессор.
4.5 Выводы
5. СИСТЕМА КОМАНД.
5.1 Представление команд в БВМ и их мнемоническое обозначение.
5.2 Схемы выполнения команд.
5.3 Базисные команды
5.4 Команда сохранения
5.5 Ссылки
5.6 Элементарные объектные кона анты
5.7 Индексы вхождения переменных
5.8 Комбинаторы.
5.9 Указатели переменных
5. Адреса.
5. Логические константы.
5. Команды условного выполнения.
5. Объектные команды и объектные термы
5. Элементарные функциональные константы
5. Пустая команда и команда останова
5. Команды индексного доступа к элементам структур
5. Структуризация.
5. Упаковка термов и их последовательностей.
5. Выводы.
6. ФУНКЦИОНИРОВАНИЕ БВМ.
6.1 Ситуационный принцип дешифрации команд
6.2 Машинный цикл
6.3 Представление константных процедур.
6.4 Выполнение подпрограмм с использованием регистров ГР.
6.5 Определение характеристик процедур.
6.6 Динамическое связывание переменных. Обработка подстановки
6.7 Обработка рекурсивных процедур.
6.8 Сборка мусора
6.9 Исследование влияния структурных параметров БВМ на производительность.
6.9.1 I Остановка задачи.
6.9.2 Описание стратегий управления активными регистрами.
6.9.3 Разработка программы, реализующей укрупненную имитационную модель вычислительной системы.
ш 6.9.4 Исходные данные и анализ результатов моделирования
6. Выводы
7. АССЕМБЛЕР
7.1 Синтаксис
7.2 Семантика
7.3 Виртуальная машина компилятора.
7.4 Выводы.
8. ПРЕДСТАВЛЕНИЕ ПРОГ РАММ СРЕДСТВАМИ БАЗОВОГО МАШИННОГО ЯЗЫКА.
8.1 Организация выбора по условию
8.2 Циклическое выполнение.
8.3 Определение и использование структур и массивов
8.4 Строки символов
8.5 Процедуры и функции
8.6 Сравнение характеристик Рлзсжпрограмм и программ на базовом машинном языке.
8.7 Выводы
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


Проанализировав представленный фрагмент машинной программы можно заметить, что сложение значений переменных а и b выполняется на каждой терапии цикла for, притом, что эту операцию можно было выполнить лишь однажды, до входа в цикл. Компилятор Pascal'я не обнаружил и не оптимизировал вычисление, в условиях, когда решение очевидно. Из примера 1 следует, что множество статических преобразований программы выполняемых компилятором [] не позволяет достичь максимального уровня производительности М. Вог1ап(1. Рис. Таким образом, одним из способов повышения производительности вновь разрабатываемых универсальных ЭВМ, может являться аппаратная реализация и них средств преобразования проірамм во время вычислений, направленных на сокращение числа операций подлежащих выполнению. По-видимому, для создания подобных машин потребуется отказ от традиционной архитектуры машины и разработка новых или поиск и исследование ранее предложенных моделей вычислений, допускающих такие преобразования. Модификация гіроірамм, осуществляемая в ЭВМ с традиционной архитектурой, например, изменение последовательности выполнения команд, параллельное выполнение трупп команд, не ставит целью исключение из числа обрабатываемых - команд, не влияющих на результат вычислительного процесса. Причина этого - низкий уровень машинного языка. Невозможность достижения максимальной производительности традиционных архитектур средствами только статической компиляции, на мой взгляд, обусловлена отсутствием среды выполнения программы, т. Под эффективными понимаются преобразования, улучшающие соотношение производительность/аппаратура для данной ЭВМ. В ходе развития вычислительной техники были созданы различные машины языков высокого уровня, например. Lisp-, Prolog- и Рефал- машины []. Каждая из названных машин была специально разработана для интерпрегации программ конкретного ЯВУ, но их системы команд не являются машинным представлением множества примитивов реализуемого языка. Разработка этих машин исходила из потребностей компилятора конкретного языка. Отличия в архитектуре машин реализующих один и тот же язык, но созданных разными разработчиками, приводили к появлению различных диалектов реализуемых языков программирования, поскольку для достижения приемлемого уровня эффективности выполнения программ на конкретной машине, как правило, было необходимо некоторое ограни-ченис или изменение исходного языка, что в результате приводило к проблеме переносимости программ даже между машинами, создававшимися, в принципе, для интерпретации одного и того же языка. В связи с этим, возникает вопрос: "Нельзя ли создать такой машинный язык, назовем его базовым машинным языком, который выступал бы в роли стандартного интерфейса [-| между архитектурой машины и ЯВУ? ЯВУ функционального типа []. Lisp [] и Ре фаз |,]. Последнее свойство может быть обеспечено посредством включения в БМЯ фундаментальных средств ЯВУ, в число которых входят: типизация и структурирование объектов, распределенный контекст. Большинство существующих ЯВУ создавались как средство профаммиро-нания под определенную архитектуру. Часто для достижения приемлемот уровня эффективности выполнения профамм на машинах, существовавших на момент разработки языка, осуществлялось офаничение ЯВУ или в ЯВУ вносились средства неконтролируемого ассемблерного программирования, разрушающие концептуальную целостность языка. Поэтому при использовании таких ЯВУ в качестве основы для создания БМЯ, последний может оказаться под влиянием решений, необоснованных с точки зрения цели его создания. В настоящее время, существует множество ЯВУ, в то же время, каждый профаммист, в силу различных причин, отдаег предпочтение либо одному конкретному ЯВУ, либо некоторому подмножеству существующих ЯВУ. Поэтому внедрение интерпретатора БМЯ, в основе которого лежит известный и широкопримеияе-мый ЯВУ, можег столкнуться с неприятием его значительной частью профаммист-ского сообщества. Исходя из требований, предъявляемых к БМЯ, и результатов изучения существующих моделей вычислений, в диссертации в качестве основы для разработки БМЯ выбран теоретический язык FALGOL (см.

Рекомендуемые диссертации данного раздела

28.06.2016

+ 100 бесплатных диссертаций

Дорогие друзья, в раздел "Бесплатные диссертации" добавлено 100 новых диссертаций. Желаем новых научных ...

15.02.2015

Добавлено 41611 диссертаций РГБ

В каталог сайта http://new-disser.ru добавлено новые диссертации РГБ 2013-2014 года. Желаем новых научных ...


Все новости

Время генерации: 0.193, запросов: 244