Теория компиляторов-2. Л.41 Теория компиляторов Часть II Лекция 4. Объектный файл и виртуальная машина.

Презентация:



Advertisements
Похожие презентации
Теория компиляторов-2. Л.71 Теория компиляторов Часть II Лекция 7. Курсовой проект.
Advertisements

Регистры общего назначения – сумматор, регистр данных, адресный регистр и т.д. Арифметико- логическое устройство Устройство управления
Теория компиляторов-2. Л.31 Теория компиляторов Часть II Лекция 2.
Тема 2. Способы адресации и система команд МП. Непосредственная адресация Суть способа. Требуемые данные (#data ̶ непосредственный операнд, константа)
Архитектура набора команд Instruction set architecture.
Архитектура ЭВМ Практика 3. Линейные программы на языке ассемблера.
Лекция 3 ПЕРВЫЕ ПРОГРАММЫ, ВВОД/ВЫВОД В ЯЗЫКЕ С++
Уровни организации ЭВМ. Машинный уровень Лекция 5.
Объектно-ориентированное программирование Карпов В.Э. Смолток. Лекция 4. Байт-код.
Теория компиляторов-1. Л.41 Классическая теория компиляторов Лекция 4.
RISC-архитектуры ( Reduced Instruction Set Computer)
Самостоятельная работа тема – MICROSOFT EXCEL. План Что такое Microsoft Excel? Что такое Microsoft Excel? Запуск и завершение программы Запуск и завершение.
1 из 18 Основные типы данных языка программирования Паскаль.
АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 7: Уровень операционной системы. Уровень ассемблера. ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК Чл.-корр., профессор,
С ИСТЕМА КОМАНД ЕОМ. С ТРУКТУРА ТА ФОРМАТИ КОМАНД.
1 Лекция 5 Абстрактные структуры данных. 2 Таблицы Таблица – это набор элементов, содержащих ключ – отличительный признак для поиска элементов, и тело.
УЧЕБНЫЙ АЛГОРИТМИЧЕСКИЙ ЯЗЫК. 1. Назначение языка ИнтАл Для изучения основ программирования. Для решения широкого круга задач.
ГОСТ Описание программы. Описание программы должно содержать следующие разделы: общие сведения; функциональное назначение; описание логической.
Лекция 7 Управление памятью Сегментная, страничная и сегментно- страничная организация памяти.
Функциональные возможности ВС. Составные части понятия «архитектура» Вычислительные и логические возможности ВС. Они обусловливаются системой команд (СК),
Транксрипт:

Теория компиляторов-2. Л.41 Теория компиляторов Часть II Лекция 4. Объектный файл и виртуальная машина

Теория компиляторов-2. Л.42 Формат объектного файла 3 основных сегмента: сегмент текста (исполняемые инструкции); сегмент данных (располагаются глобальные данные); сегмент стека (временные переменные).

Теория компиляторов-2. Л.43 Сегменты Заголовок. Содержит необходимую управляющую информацию: –DATA_LEN – размер сегмента данных в словах. –TEXT_LEN – количество командных слов в сегменте текста. –STACK_LEN– размер сегмента стека в словах. –прочая служебная информация, определяющая конфигурацию ВМ: количество ФУ, размер регистрового файла и т.п. => гибкая система. Сегмент данных.. Содержит таблицу имен. Количество имен = DATA_LEN. Описание имени (тег): –Тип (число (0), строка (1)) –Вид (константа (0), переменная (1)) –Значение. Запись в сегменте данных – это тройка (вид, тип, значение) Сегмент текста.. Содержит командные слова (с произвольным количеством слогов). (Тетрада 1 ; Тетрада 2 ; … Тетрада n ) Тетрада i =(OP, A 1, A 2, R)

Теория компиляторов-2. Л.44 Пример объектного файла DATA_LEN = 6 TEXT_LEN = 4 STACK_LEN = 20 ; Описание архитектуры ВМ FU_NUM = 3; Количество функциональных устройств в ВМ RF_SIZE = 10; Количество регистров в регистровом файле (1,0,50); 000: переменная, число, 50 (1,0,3.14); 001: переменная, число, 3.14 (0,1,qwerty); 002: константа, строка символов (1,0,1); 003: переменная, 1 (1,1,any string); 004: переменная, строка символов (0,0,0); 005: константа, число, 0 ((+,0,1,6)) ((+,1,6,6);(*,3,5,7);(:=,1,5,)) ((out,4,,);(+,7,3,1)) ((out,1,,))

Теория компиляторов-2. Л.45 Образ программы в памяти Загрузчик Размещение. Выделение места для программы в оперативной памяти. Перемещение. Настройка всех величин в программе, зависящих от физических адресов в соответствии с адресами выделенной программе памяти. Загрузка. Фактическое размещение структур объектной программы в памяти и инициация ее выполнения.

Теория компиляторов-2. Л.46 Архитектура виртуальной машины

Теория компиляторов-2. Л.47 Особенности ВМ 1.Содержит N функциональных устройств. 2.Каждое ФУ имеет M регистров общего назначения и регистр флагов. 3.ВМ использует микропрограммное управление. 4.Организация памяти – теговая 5.Существует общий для всех ФУ регистровый файл.

Теория компиляторов-2. Л.48 Базовые инструкции ВМ Арифметические операции sum R1, R2, R3R3 := R1 + R2 sub R1, R2, R3R3 := R1 - R2 mul R1, R2, R3R3 := R1 * R2 div R1, R2, R3R3 := R1 / R2 Операции ввода-вывода out Rвывод R на терминал in Rввод значения R с терминала Операции управления BR BRZ BRP BRM Прочие операции exitзавершить выполнение программы nopпустая инструкция Операции регистр-память load A, Rзагрузка аргумента, находящегося по адресу A, в регистр R: A R store R, Aсохранение регистра R в ячейке памяти по адресу A: R A Операции регистр-регистр set R1, R2R2 := R1 Операции память-память mov A1, A2A2 := A1

Теория компиляторов-2. Л.49 Микрокоманды mc + A1 A2 A3 load A1,RA load A2,RB sum RA, RB, RC store RC, A3 # (+, 101, 240, 012) load 101,RA load 240,RB sum RA, RB, RC store RC, 012