Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory gosy.docx
Скачиваний:
123
Добавлен:
03.05.2019
Размер:
5.99 Mб
Скачать

113. Системы памяти эвм. Назначение каждого типа элементов памяти и место его в иерархии. Что дает для характеристик эвм каждый тип элементов памяти

Иерархия устройств памяти.

П

ринято все элементы памяти используемые в вычислителях представлять про степени приближения к процессору. Непосредственно к АЛУ приближены схемы СОЗУ — РОН выполняются на одном кристалле с АЛУ. Связь CPU—АЛУ—СОЗУ по внутренней шине процессора. Адресация внутренняя в структуре КОП. Здесь же на кристалле может находиться буферная память (кэш) причем как данных, так и команд. БОЗУ в этом случае также обменивается с АЛУ через внутреннюю шину. БОЗУ может выполняться и вне кристалла, причем связь процессор – буфер через внешнюю шину данных. Такая ситуация возможна если цикл работы микропроцессора и ОЗУ отличаются незначительно. Роль ПЗУ синхронизировать во времени процедуры обмена ОЗУ—CPU. Основная память — ОЗУ. Объем ОЗУ может быть значительным, наращиваемым. Условие: в пределах физического адреса формируемого схемой можно наращивать ОЗУ. ПЗУ в вычислителе как правило выступает в роли системного. В нем хранятся процедуры базовой системы ввода\вывода, а также процедуры контроля, тестирования блоков вычислителя. В зависимости от назначения ПЗУ может быть от нескольких килобайт до сотен килобайт. В небольших вычислителях в нем хранятся не только системные программы, но и рабочие. Внешние ЗУ расширяют возможности вычислителя. При этом они могут хранить как данные, так и командные файлы. Процессор напрямую с ВЗУ не работает, отсюда приходится перегружать содержимое ВЗУ в ОЗУ с тем чтобы уменьшить время выполнения операций. Различные типы ВЗУ позволяют хранить информацию большого объема. На сегодня это устройства с магнитными и оптическими принципами хранения. Большинство ВЗУ имеет контролер — схему формирования хранимой информации в нужном формате.

114. Память программ. Виды носителей. Жесткие диски и их твердотельные аналоги

115. Компиляторы. Назначение компиляторов, их виды. Последовательность процедуры компиляции

Компилятор – программа, которая преобразует в текстовый файл с написанной символикой программы .asm в управляющие коды, которые должны располагаться в сегменте команд памяти. В любой версии языка должен быть поставлен компилятор.

Любой компилятор как программа должен выполнять три обязательные процедуры:

  1. Лексический анализ.

  2. Синтаксический анализ.

  3. Генерация машинных кодов.

Лексический анализ – поиск типовых сочетаний символов в текстовой строке. Лексема – набор символов однозначно обозначающих свою принадлежность к тому или иному полю данных, метке. Лексический анализ выполняется последовательно по каждой строке методом скользящего окна. В новой строке рассматривается код первого символа, сравнивается с типовым набором лексем. Если такого набора в таблице лексем нет окно увеличивается до двух символов и вновь производится поиск по таблице от 3 и т.д. пока не найдем типовой набор в таблице. В противном случае – выводится комментарий плохой переменной.

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

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

Вторая часть – синтаксический анализ – проверка на правильность компоновки лексем: какой код лексем следует за каким, все ли записи, лексемы, строки имеются и правильно ли они поставлены.

Синтаксический анализ основывается на структуре и правилах построения языка программирования. Язык же, в свою очередь – на принятой грамматике, в которой основную роль играют формы языка.

Для современных языков чаще всего применяют нормальные формы грамматик. На основании полученных таблиц с лексемами опять же по таблицам, находим соответствие строки лексем адресу, если нужно, команде.

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

В зависимости от времени работы последовательности различают программы-компиляторы. Непосредственно компилятор может быть одно-, двух-, трехпроходным. Проход – анализ исходного текста сверху вниз. Любой проход сопровождается появлением новых кодов, диапазон измен(р)ения.

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

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

Динамическое изменение вариантов языка заставило разрабатывать программы по автоматизации проектирования компиляторов. Объект – компилятор. Входные данные – перечень команд, лексемы. Синтаксис лексем. Ясно, что в основе такого подхода табличного преобразования по шагам от одной таблицы к другой.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]