Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
(4) Маленькая шпорка2.doc
Скачиваний:
72
Добавлен:
24.12.2018
Размер:
2.87 Mб
Скачать

50. Адресация пк в защищенном режиме.

Для получения операнда из памяти процессору необходимо знать селектор сегмента и смещение в сегменте. Селектор может быть указан непосредственно в коде инструкции или можно явно или неявно использовать значение одного из сегментных регистров. Под неявным - подразумевается то, что в зависимости от предназначения операнда процессор использует определенный сегментный регистр для обращения к памяти: CS - для выборки инструкций; SS - для работы со стеком или обращения к памяти через регистры ESP или EBP; ES - для получения адреса операнда-приемника в цепочечных командах; DS - при всех остальных обращениях к памяти.

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

Указание префикса смены сегмента допустимо не для всех команд: нельзя менять сегмент для команд работы со стеком (всегда используется SS), для цепочечных команд можно менять сегмент только операнда-источника (операнд-приемник всегда адресуется через ES).

51. Архитектура системы команд стекового типа

Обратная польская запись

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

a=a+b+a*c обычная запись

a=ab+ac*+ польская

Последовательность вычисления выражения а = ab+ac*+ на вычислительной машине со стековой архитектурой

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

Стек становится «узким местом» при повышении производительности.

Последние события в области ЭВМ свидетельствуют о возрождении интереса к стековой архитектуре. Связано это с популярностью языка Java и расширением сферы применения языка Forth, семантике которых наиболее близка именно стековая архитектура.

52. Архитектура системы команд аккумуляторного типа

Аккумуляторная архитектура - одна из первых. В ней для хранения одного из операндов арифметической или логической операции в процессоре имеется выделенный регистр — аккумулятор. В этот же регистр заносится и результат операции. Адрес одного из операндов предопределен (аккумулятор), в командах нужно указать местоположение только второго операнда.

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

Аккумуляторная архитектура - популярна в ранних ЭВМ (PDP-8, IBM7090)

Для загрузки в аккумулятор содержимого ячейки Х предусмотрена команда загрузки load х. По этой команде информация считывается из ячейки памяти Х, выход памяти подключается к входам аккумулятора и происходит занесение считанных данных в аккумулятор. Запись содержимого аккумулятора в ячейку Х осуществляется командой сохранения store х, при выполнении которой выходы аккумулятора подключаются к шине, после чего информация с шины записывается в память.