Исследование и реализация базовой вычислительной машины с внутренним языком высокого уровня тема диссертации и автореферата по ВАК РФ 05.13.15, кандидат технических наук Чернов, Сергей Александрович

  • Чернов, Сергей Александрович
  • кандидат технических науккандидат технических наук
  • 2003, Москва
  • Специальность ВАК РФ05.13.15
  • Количество страниц 220
Чернов, Сергей Александрович. Исследование и реализация базовой вычислительной машины с внутренним языком высокого уровня: дис. кандидат технических наук: 05.13.15 - Вычислительные машины и системы. Москва. 2003. 220 с.

Оглавление диссертации кандидат технических наук Чернов, Сергей Александрович

ИСПОЛЬЗУЕМЫЕ СОКРАЩЕНИЯ.

ВВЕДЕНИЕ.

1. ПРЕДПОСЫЛКИ К СОЗДАНИЮ ЭВМ С ВНУТРЕННИМ ЯЗЫКОМ ВЫСОКОГО УРОВНЯ.

1.1 Преимущества и недостатки ЯВУ в сравнении с языком Ассемблера.

1.2 Традиционные ЭВМ с оптимизирующими компиляторами ЯВУ.

1.3 Машины языков высокого уровня.

1.4 МВК Эльбрус и язык Эль-76.

1.5 Базовая вычислительная машина с внутренним языком высокого уровня.

1.6 Выводы.

2. ТЕОРЕТИЧЕСКАЯ МОДЕЛЬ МАШИННОГО ЯЗЫКА ВЫСОКОГО

УРОВНЯ.

2.1 Синтаксис.

2.2 Абстрактная FALGOL-машина. Операционная семантика языка.

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.10 Адреса.

5.11 Логические константы.

5.12 Команды условного выполнения.

5.13 Объектные команды и объектные термы.

5.14 Элементарные функциональные константы.

5.15 Пустая команда и команда останова.

5.16 Команды индексного доступа к элементам структур.

5.17 Структуризация.

5.18 Упаковка термов и их последовательностей.

5.19 Выводы.

6. ФУНКЦИОНИРОВАНИЕ БВМ.

6.1 Ситуационный принцип дешифрации команд.

6.2 Машинный цикл.

6.3 Представление константных процедур.

6.4 Выполнение подпрограмм с использованием регистров IP, РР.

6.5 Определение характеристик процедур.

6.6 Динамическое связывание переменных. Обработка подстановки.

6.7 Обработка рекурсивных процедур.

6.8 Сборка мусора.

6.9 Исследование влияния структурных параметров БВМ на производительность.

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

6.9.2 Описание стратегий управления активными регистрами.

6.9.3 Разработка программы, реализующей укрупненную имитационную модель вычислительной системы.

6.9.4 Исходные данные и анализ результатов моделирования.

6.10 Выводы.

7. АССЕМБЛЕР.

7.1 Синтаксис.

7.2 Семантика.

7.3 Виртуальная машина компилятора.

7.4 Выводы.

8. ПРЕДСТАВЛЕНИЕ Л4£С4£-ПРОГРАММ СРЕДСТВАМИ БАЗОВОГО МАШИННОГО ЯЗЫКА.

8.1 Организация выбора по условию.

8.2 Циклическое выполнение.

8.3 Определение и использование структур и массивов.

8.4 Строки символов.

8.5 Процедуры и функции.

8.6 Сравнение характеристик P^sc^l-программ и программ на базовом машинном языке.

8.7 Выводы.

Рекомендованный список диссертаций по специальности «Вычислительные машины и системы», 05.13.15 шифр ВАК

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

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

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

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

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

Сознание программистов все более абстрагируется от аппаратуры, на которой будет выполняться программа, и оперирует объектами и конструкциями, предоставляемыми ЯВУ. В этом смысле компилятор с языка высокого уровня является нежелательным посредником между программистом и машиной, поскольку при компиляции теряется информация о структуре программы и внутренних семантических связях её объектов. В результате, пусть даже эквивалентная содержательно, машинная программа представляет собой застывший набор элементарных операций, выполнение которых не может быть основано на глубоком анализе и использовании семантических зависимостей описанных программистом в исходном тексте. Рост эффективности выполнения такой машинной программы возможен только за счет применения средств общего плана, таких как организация конвейера элементарных операций, спекулятивные вычисления, суперскалярность и т.д. Сказанное является одним из аспектов существующей и хорошо известной проблемы "семантического разрыва" [1], т.е. проблемы рассогласования уровней машинных языков и языков программирования, применяемых человеком для непосредственного решения поставленных перед ним задач. Преодоление семантического разрыва в будущем, безусловно, откроет новые перспективы развития и применения вычислительной техники.

Научная новизна. Попытки устранения семантического разрыва предпринимались неоднократно. Разработано множество аппаратных интерпретаторов, широко известных в программной индустрии языков высокого уровня, например, Lisp-, Prolog-, Рефал- машины (см. разд. 1.3) и т. д.

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

Возможно первым проектом ЭВМ, базирующимся на новых архитектурных принципах, был проект ЭВМ "Украина" [2], разработанный в СССР в конце 60-х годов прошлого века. В основу этого проекта положена идея структурной интерпретации языка высокого уровня. Впоследствии, эта идея нашла практическое воплощение в ЭВМ серии МИР [3]. Позднее были созданы МВК семейства Эльбрус и язык Эль-76 [1] (см. разд. 1.4).

Развитие идеи структурной интерпретации языков программирования высокого уровня продолжалось в работах В.Н Фалька [4], который в 1987 г. опубликовал теоретическую модель языков высокого уровня, имеющую "двойное применение". Дело в том, что эту модель можно рассматривать не только как модель языков программирования высокого уровня, но и как модель архитектуры перспективных ЭВМ с внутренним ЯВУ.

В основе предложенной модели лежит язык FALGOL {Formal ALGOrithmic Language). Отличительными особенностями этого языка являются простота синтаксиса, наличие описания операционной семантики как алгоритма работы абстрактной FALGOL-uamimbi и описания трансформационной семантики как конечного набора схем преобразования FALGOL-программ специального вида. Впервые в языке FALGOL были одновременно формализованы подстановка, присваивание и рекурсия, причем эта формализация, в отличие, например, от \i-Lisp' а, носила естественный, органичный характер.

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

В результате исследований вариантов реализации программного интерпретатора FALGOL'а [5-7], сформировались основные принципы его структурной организации, принципы представления символов теоретического языка, а также фрагменты алгоритма функционирования интерпретатора FALGOL-щотфамм, например, алгоритмы подсчета дефицита и объектности, необходимые для выявления константных процедур (см. основную часть работы).

Начиная с 1992 г. предпринимались попытки комплексной программной реализации интерпретатора расширенного языка FALGOL, однако, до создания относительно законченной, отчуждаемой системы ни одна из этих попыток доведена не была. Тем не менее, выполненные НИР внесли существенный вклад в развитие принципов построения механизмов, положенных в основу архитектуры базовой вычислительной машины, разработке и исследованию которой полностью посвящена данная диссертация.

В ходе работы над диссертацией удалось на основе усовершенствованной теоретической модели разработать базовый машинный язык (БМЯ), структуру и алгоритм функционирования базовой вычислительной машины, сделав тем самым ещё один шаг на пути создания ЭВМ с внутренним ЯВУ (см. рис.1.2).

Резюмируя сказанное, научная новизна диссертации состоит в следующем:

1) Модифицирована и расширена элементарными константами теоретическая модель языков высокого уровня FALGOL. На основе этой модели разработан базовый машинный язык высокого уровня и программно, на платформе Intel х86, MS Windows 98, реализован его интерпретатор - базовая вычислительная машина, являющаяся прототипом ЭВМ с внутренним ЯВУ. Создание такой ЭВМ, предполагается, позволит:

• решить проблему семантического разрыва, препятствующую полному переводу программирования на ЯВУ (см. разд.1.1);

• повысить производительность и обеспечить программную совместимость вновь разрабатываемых архитектур.

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

3) Сформулирован и опробован на практике новый подход к организации вычислительного процесса, сочетающий в рамках одной ЭВМ такие средства как:

• тегированное представление команд и данных;

• эквивалентные преобразования программы во время вычислений, направленные на сокращение числа выполняемых операций и времени выполнения программы;

• стековый принцип обработки, т.е. размещение операндов в стеке;

• переменный формат команды, обеспечивающий высокую компактность программного кода.

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

Программы на БМЯ могут быть откомпилированы средствами FVM в двоичные файлы, что позволяет, еще до появления аппаратно реализованной БВМ, сформировать пакеты системных и прикладных программ, готовых к исполнению. Программная модель БВМ допускает загрузку файлов программ, содержащих машинный код БМЯ, что обеспечивает возможность выполнения и отладки программ, созданных с использованием средств, не входящих в состав программного комплекса.

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

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

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

Цель и задачи диссертации. Диссертация преследовала две главные цели:

I. Разработку и исследование архитектуры базовой вычислительной машины, как макета для отладки и проверки принципиальных научно-технических решений, необходимых для создания реальной ЭВМ с внутренним языком высокого уровня.

II. Создание программной модели БВМ и комплекса инструментальных средств, позволяющих исследовать и развивать БВМ.

Для достижения поставленных целей требовалось, чтобы были решены следующие основные задачи.

Цель I:

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

• разработана структура БВМ, структуры ситуационного дешифратора команд, процессора и компонентов памяти;

• разработана система команд БВМ и алгоритмы выполнения каждой из команд БВМ;

• определен алгоритм машинного цикла БВМ;

• разработан алгоритм функционирования БВМ в целом;

• разработан и исследован метод компактного представления структур данных, найдены эффективные алгоритмы их обработки;

• разработаны и исследованы эффективные методы обработки рекурсивных процедур, удаления неконстантных процедур и команд вызовов переменных.

Цель II:

• разработана программная модель БВМ;

• разработан язык ассемблера БВМ;

• разработан и испытан программный комплекс, обеспечивающий полный цикл создания, отладки и прогона программ на базовом машинном языке, включающий: редактор ассемблерного кода, ВМК с языка ассемблера в машинный код БВМ, ОМК, средства отображения и изменения состояния БВМ (среду отладки и прогона программ).

В основе решения перечисленных выше задач лежит теоретическая модель языков высокого уровня, основанная на применении нового фундаментального языка FALGOL [8], и изложенные в [9] основные принципы машинного представления FALGOL-щютфамм.

Основной материал диссертации сгруппирован в восемь глав.

Похожие диссертационные работы по специальности «Вычислительные машины и системы», 05.13.15 шифр ВАК

Заключение диссертации по теме «Вычислительные машины и системы», Чернов, Сергей Александрович

8.7 Выводы

1) Основные конструкции ЯВУ блочно-процедурного типа таких, как Pascal, С или Java могут быть эффективно реализованы в виде макросов базового машинного языка. Это обеспечивает быстрый переход к программированию на БМЯ, программистов знакомых с ЯВУ указанного типа. Освоение базового машинного языка может происходить поэтапно, за счет постепенного вытеснения из программ макросов, приведенных в данной главе, и замены их более эффективными последовательностями команд БМЯ.

2) Программы на базовом языке по объему исходного текста сравнимы с аналогичными по смыслу программами языка Pascal, а по объему машинного кода значительно более компактны и сравнимы с программами на ассемблере для процессоров семейства х86.

3) Недостатком БМЯ, не устраненным на данном этапе исследований, является генерация мусора в памяти БВМ при выполнении ей циклических конструкций программ. Этот недостаток, возможно, будет устранен за счет разработки более совершенных макроопределений для циклов, а также за счет создания эффективных алгоритмов сборки мусора. Однако, для полного устранения эффекта "замусоривания" памяти, скорее всего, необходимы: дополнительное исследование и разработка нового механизма распределения памяти под переменные блока.

ЗАКЛЮЧЕНИЕ

Цели, поставленные в процессе подготовки диссертации, полностью достигнуты. В ходе проведенных исследований были получены следующие основные результаты.

1) Разработана архитектура базовой вычислительной машины с внутренним языком высокого уровня, принципы реализации которой обеспечивают её непротиворечивое и обоснованное расширение.

2) Разработан базовый машинный язык высокого уровня, реализованный в виде системы команд БВМ.

3) Разработана структура базовой вычислительной машины. Определен состав и функции всех её компонентов. Показана реализуемость компонентов структуры средствами существующей элементной базы, в виде набора отдельных интегральных модулей. Возможна также, реализация БВМ на одном кристалле. Исследованы зависимости наиболее важных структурных характеристик БВМ от применяемых стратегий управления и параметров потоков команд.

4) Разработаны алгоритмы функционирования БВМ - алгоритм выполнения машинного цикла и алгоритмы выполнения каждой из команд внутреннего языка. Алгоритмы выполнения команд формализованы в программной форме в виде обработчиков ситуаций, что, при аппаратной реализации БВМ, позволяет выделить логику обработки каждой команды и реализовать её на микропрограммном уровне.

5) Детально проработан алгоритм выполнения машинного цикла БВМ. Операции общие для всех команд выявлены и вынесены из обработчиков ситуаций в алгоритм машинного цикла, что позволяет свести к минимуму объем памяти, требуемый для хранения микропрограмм обработки ситуаций. Алгоритм машинного цикла БВМ с незначительными изменениями используется и в ВМК, что говорит о возможности применения данного подхода к организации машинного цикла в вычислительных машинах различного назначения.

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

7) Разработаны и алгоритмически реализованы эффективные методы обработки рекурсивных процедур, удаления неконстантных процедур и команд вызовов переменных.

8) В БВМ реализована прямая аппаратная поддержка сложных структур данных. Предложен и исследован способ компактного представления структур данных, согласующийся с их семантикой. Разработаны алгоритмы выполнения команд индексного доступа к структурам данных, основанные на строгих макроопределениях операций индексной записи и чтения. Предложен алгоритм структуризации, обеспечивающий динамическое расширение структур на стадии обработки. Алгоритм структуризации основан на макроопределении, но реализован в БВМ более эффективным эквивалентным алгоритмом.

9) Разработан язык ассемблера БВМ, обеспечивающий быстрое создание программ на БМЯ, за счет использования мнемонического представления команд, расширенных средств описания переменных и операций над ними и средств описания данных с минимальным указанием на их типы. Синтаксис языка ассемблера описан в расширенной форме Бэкуса-Наура. Текстуально программы на ассемблере БВМ схожи с программами на языке FALGOL. Семантика любой программы на ассемблере совпадает с семантикой /vlLGOL-программы, получаемой подстановкой макроопределений команд БВМ в программу на БМЯ. Поэтому для программирования на БМЯ программисту достаточно знания семантики FALGOL"а и макроопределений команд БВМ, и нет необходимости в детальном изучении особенностей структуры БВМ и реализации алгоритмов выполнения каждой из её команд.

10) Разработаны виртуальная машина компилятора и оптимизатор машинного кода. Выявлено, что ВМК и ОМК могут быть эффективно реализованы аппаратно, на существующей элементной базе. Это открывает возможность создания интерактивной вычислительной системы, интерпретирующей исходные тексты программ на ассемблере БВМ. Разработанный ОМК может применяться для упаковки программ в любой системе команд, к которой применимы средства упаковки термов, используемые в БВМ.

11) Выявлено, что программы на БМЯ по уровню абстракции и объему исходного текста сравнимы с аналогичными в семантическом отношении Pascal-программами, а по объему машинного кода - с ассемблерными программами микропроцессоров семейства х86. Малый объем семантически нагруженного кода открывает перспективы использования БМЯ в качестве языка межмашинного взаимодействия.

12) Обнаружено, что недостатком БМЯ, не устраненным на данном этапе исследований, является генерация значительного объема мусора в памяти БВМ при выполнении ей циклических конструкций программ. Этот недостаток, возможно, будет устранен за счет разработки более совершенных макроопределений для циклов, а также за счет создания эффективных алгоритмов сборки мусора. Однако, для полного устранения эффекта "замусоривания" памяти, скорее всего, необходимы дополнительное исследование и разработка нового механизма распределения памяти под переменные блока.

13) Разработан программный комплекс под рабочим названием Falgol Virtual Machine, включающий программную модель БВМ, ВМК, ОМК, средства отображения и изменения состояния БВМ, среду программирования на ассемблере БВМ. Программный комплекс может использоваться для исследования и изучения БМЯ, создания и отладки программ на БМЯ в отсутствии аппаратно реализованной БВМ, а также в качестве основы для дальнейшего совершенствования БМЯ и БВМ.

14) Основным и наиболее значимым практическим результатом диссертации можно считать создание FVM, поскольку он явился первой отчуждаемой реализацией БВМ, основанной на теоретической модели языка FALGOL. Ожидается, что программный комплекс позволит существенно расширить круг лиц занимающихся разработкой или, по крайней мере, изучением БМЯ.

15) Комплекс программ Falgol Virtual Machine доведен до уровня программного средства учебного назначения и может быть применен в учебном процессе кафедр МЭИ (ТУ) для углубленного изучения принципов работы вычислительных машин с внутренними ЯВУ.

Список литературы диссертационного исследования кандидат технических наук Чернов, Сергей Александрович, 2003 год

1. Пентковский В.М. Язык программирования Эль-76. Принципы построения языка и руководство к пользованию. 2-е изд. испр. и доп. - М.: Наука. Гл. ред. физ.-мат. лит., 1989 (Б-чка программиста).

2. Глушков В.М., Михновский С.Д., Рабинович 3.JI. ЭВМ со структурной интерпретацией языков высокого уровня // Кибернетика.-1981№4. С. 73-81.

3. Глушков В.М., Стогний А.А., Молчанов И.Н. Алгоритмический язык малой электронной цифровой вычислительной машины МИР, Т.2, кн. 1, изд-во "Нау-кова думка", Киев, 1971.

4. Криницкий Н.А., Мороховец Ю.Е., Мусина М.Д., Фальк В.Н. Разработка принципов построения бортовой ЭВМ с языком высокого уровня. Отчет о НИР № 02860000485, М., МИРЭА, 1985 92с.

5. Мороховец Ю.Е., Мусина М.Д., Фальк В.Н. "Принципы построения и возможности реализации базового машинного языка высокого уровня", Труды МЭИ №86, 1986 г.

6. Мороховец Ю.Е., Фальк В.Н. "Принципы построения аппаратно-программного обеспечения ВС с внутренним языком высокого уровня", Отчет о НИР №02890006301, МИРЭА, 1989 г.

7. Фальк В.Н. Теоретическая модель языка программирования высокого уровня // Программирование, №4, 1987. С. 3-12

8. Мороховец Ю.Е., Фальк В.Н. Разработка архитектуры вычислительной машины с внутренним языком высокого уровня. Отчет о НИР № 01980005592. Инв. № 02.99.00 04466. М.: МЭИ, 1999. 34 с.

9. Майерс Г. Аритектура современных ЭВМ. М.: Мир, 1985.

10. Computer architecture: some old ideas that have not quite made in yet / Dening P.-CACM, 24, 1981.

11. Ананьев JI.И. Перемещение задач в МВК Эльбрус. Препринт / ИТМ и ВТ

12. АН СССР. М., 1985. - №5. - 37 с.

13. Валиев К.А. и др. Развитие элементной базы высокопроизводительных ЭВМ // Информационные технологии и вычислительные системы. 1996. - №1.

14. Ж.К. Голенкова, А.В. Заблоцкий, M.JI. Мархасин, С.С. Порошин,

15. Б.В. Цесин, A.M. Шугаев. Руководство по архитектуре IBM PC AT. М.: ООО "Консул", 1992.-950 с.

16. Искусственный интеллект: В 3-х кн. Кн. 3. Программные и аппаратные средства: Справочник/ Под ред. В.Н. Захарова, В.Ф. Хорошевского. М.: Радио и связь, 1990. - 368 с.

17. Андреев В.М., Голосов И.С., Самойленко С.М. Особенности проведения оптимизирующих преобразований // Методы трансляции и конструирования программ. Новосибирск: ВЦ СО АН СССР, 1986. - С.55-59.

18. Дж. Айлиф. Принципы построения базовой машины. М.: Издательство "Мир", 1973.- 120 с.

19. Задыхайло И.Б., Камынин С.С., Любимский Э.З., Вопросы конструирования вычислительных машин из блоков повышенной квалификации, изд-во ИПМ АН СССР, М., 1971, препринт №68.

20. J. Backus. Can Programming be Liberated from the Von Neumann Style? A Functional Style and its Algebra of Programs. Communications of ACM, 21 (8), 613-641 (Aug., 1978).

21. Department of Defense. Reference manual for the Ada Programming Language. Superintendent of Documents, US Government Printing Office, Wahington, D.C. 20402, 1980.

22. Вегнер П. Программирование на языке АДА / Пер.с англ. ред. В.Ш.Кауфмана. М.: Мир, 1983. - 240 с.

23. Allen J. Anatomy of LISP. New-York: McGraw-Hill, 1978. - 273 p.

24. Турчин В.Ф- Метаязык для формального описания алгоритмических языков // Цифровая вычислительная техника и программирование. М.: Сов. радио,1966.-С. 116-124.

25. Турчин В.Ф. Метаалгоритмический язык // Кибернетика. 1968. - №4 -С. 45-54.

26. Базисный Рефал и его реализация на вычислительных машинах / ЦНИИПИАСС. М„ 1977. - 238 с.

27. R.W. Doran High-Level Language Computer Architecture. Academic Press, New York, 1975, pages 63-108. Chapter: Architecture of Stack Machines.

28. Пентковский B.M. Языковые основы проектирования системы Эльбрус // Системное и теоретическое программирование: Тез. докл. 4 Всесоюзн. симпоз. -Кишинев.: Кишиневский государственный университет, 1983. С. 294—296.

29. Java Virtual Machine Specification // Sun Microsystems, Inc http://java.sun.com/docs/books/

30. Чернов C.A. "Разработка и исследование механизмов выполнения программ процессором с внутренним языком высокого уровня". Дис. на соискание степени магистра, М.: МЭИ, 2000 457 с.

31. Чернов С.А. Ассемблер виртуальной FALGOL-uam\mb\ // "Радиоэлектроника, электротехника и энергетика": Тез. докл. Девятой Междунар. науч.-техн. конф. студентов и аспирантов. В 3-х т. М.: Изд-во МЭИ, 2003. - Т. 1. С. 351 -352.

32. Б. Страуструп. Язык программирования С++. Пер. с англ. Киев: "ДиаСофт", 1993.

33. Собоцинский В.В. Практический курс Turbo С++. Основы объектно-ориентированного программирования. М.: Изд-во "Свет", 1992. - 236 с.

34. К. Рейсдорф. Borland С++ Builder 3. Освой самостоятельно: Пер. с англ. -М.: ЗАО "Издательство БИНОМ", 1999. 736 с.

35. Гладков С.А. Фролов Г.В. Программирование в Microsoft Windows: В 2-х ч.-М.: "ДИАЛОГ-МИФИ", 1992. ч.1 - 320 е., ч.2.-288 с.

36. Э. Органик. Организация системы Интел 432: Пер. с англ. М.: Мир, 1987. i • - 446 с.

37. Е. W. Dijkstra, L. Lamport, A. J. Martin, С. S. Scholten, E. M. F. Steffens. On-the-Fly Garbage Collection: An Exercise in Cooperation. Communications of the ACM 20, 966-975 (November, 1978).

38. Burroughs Corporation. The Descriptor A definition of the В 5000 Information Processing System. Burroughs Corp. Detroit, Michigan, 1961.1 45) http://www.citforum.ru/hardware/svk/glava3.shtml Оценка производительности вычислительных систем.

39. Шеннон Р. Иммитационное моделирование систем: искусство и наука . -М.: Мир, 1978,-424 с.

40. Армстронг Дж. Р. Моделирование цифровых систем на языке VHDL. М.:1. Мир, 1992.

41. Поляков А.К. Моделирование ЭВМ на языке VHDL. М.: Изд-во МЭИ,1994.

42. Р. Хантер. Проектирование и конструирование компиляторов / Пер. с англ. М.: Финансы и статистика, 1984. - 232 с.

43. Ф. Вайнгартен. Трансляция языков программирования. М.: Мир, 1977.190 с.

44. Фельдман Дж., Грайс Д., Системы построения трансляторов, пер. с англ., "Алгоритмы и алгоритмические языки", вып. 5, 1971.

45. Рейуорд-Смит В.Дж. Теория формальных языков. Вводный курс / Пер. с англ. М.: Радио и связь, 1988. - 128 с.

46. Фаронов В.В. Программировнаие на персональных ЭВМ в среде Турбо-Паскаль. М.: Изд-во МГТУ, 1991. - 580 с.

47. Пильщиков В.Н. Программирование на языке ассемблера IBM PC. М.: "ДИАЛОГ-МИФИ", 1994.-288 с.

48. The Unicode Standard: Worldwide Character Encoding, Version 1.0, Volume 1, ISBN 0-201-56788-1, and Volume 2, ISBN 0-201-60845-6. Доп. информация no Unicode 1.1 есть на ftp://unicode.org

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