Инструменты пользователя

Инструменты сайта


examination:asm:question3

Вопрос №3. Адресность ЭВМ. Схемы выполнения команд в трех-, двух- одноадресных ЭВМ. Примеры. Понятие такта работы

Адресность ЭВМ

Адресность электронных вычислительных машин (ЭВМ) - количество адресов в команде.

А. определяется:

  • характером и связностью выполняемых операций;
  • длиной разрядной сетки машины;
  • ёмкостью и структурой оперативного запоминающего устройства (ОЗУ).

По количеству адресов команды делятся на многоадресные, одноадресные и безадресные.

В многоадресных командах А. может быть равномерной и неравномерной.

Равномерная А. характеризуется одинаковой структурой и длиной всех адресов команды.

При неравномерной А. в одной части команды содержатся полные (по всему объёму ОЗУ) и короткие (связанные с частью ОЗУ) адреса. В ряде случаев короткие адреса относятся к специальным сверхбыстродействующим ОЗУ ограниченного объёма.

Для ЭВМ широкого назначения (например, БЭСМ-6, «Урал-16») наиболее распространены одноадресные команды, позволяющие либо существенно расширить её служебную часть либо размещать в каждой ячейке по 2 команды.

Различают постоянную А., при которой количество адресов в команде устанавливается при разработке ЭВМ, и переменную А., предусматривающую оперативное изменение А. в процессе вычислений в зависимости от характера выполняемых процедур.

Переменная А. существенно повышает производительность ЭВМ, однако её реализация сопряжена с конструктивными и схемными усложнениями, Наиболее легко переменная А. осуществляется при последовательном или параллельно-последовательном способе обработки информации, как, например, в ЭВМ «Минск-23».


Схемы выполнения команд в 2-х, 3-х и одноадресных ЭВМ

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

В случае двухместной операции команда должна задавать (явно или неявно):

1. Операцию, 2. Адрес или значение первого операнда, 3. Адрес или значение второго операнда, 4. Адрес сохранения результата, 5. Адрес следующей команды (или двух альтернативных адресов команды для реализации ветвлений).

Задание операции. Кроме исполняемой операции, код операции часто задает формат и тип обрабатываемых данных. Под форматом здесь понимается размерность операндов (байт, слово, двойное слово и т.д.), а под типом – тип арифметики (целочисленные операции, с плавающей точкой, векторные операции и т.д.).

1. Трехадресная система команд.

Адрес следующей команды связывает отдельные команды в программе, определяющую всю последовательность операций, т.е. схему процедуры обработки. Но этот адрес можно не задавать явно в каждой команде. Вместо этого, команды программы можно располагать в ячейках памяти в той последовательности, в которой они должны выполняться, а в схеме процессора предусмотреть специальное устройство – счетчик команд (указатель команд), назначение которого – вычисление адреса следующий команды. Команда становится трехадресной (рис. 2.6).

2. Двухадресная система команд.

В качестве адреса результата операции можно использовать адрес одного из исходных операндов. При этом результат операции записывается «поверх» одного из операндов, значение которого теряется, но команда становится компактнее Это двухадресные команды. В двухадресных командах один адрес рассматривается, как адрес-источник, а другой – как адрес-приемник.

Естественно, что в этих командах только операнд-источник можно задавать непосредственным значением.

Неизбежная потеря значения одного из операндов при использовании двухадресных команд потребовала введения в состав команд процессора команды пересылки (копирования) объекта-источника в ячейке приемника. Примером такой команды может служить команда: – MOV А1, А2.

3. Одноадресная система команд.

Дальнейшее уменьшение адресов, явно заданных в команде, приводит к одноадресной структуре команд

В процессоре с одноадресной структурой команд предусматривается специальный регистр – аккумулятор. Это регистр, в котором находится один из операндов и в который записывается результат операции (поверх исходного операнда).

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

Это безадресная система команд. Такая система существует, но она ориентирована на использование стековой памяти. В командах указываются коды операции или данные.


Такт работы процессора

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

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

Такт работы процессора - промежуток времени между соседними импульсами (tick of the internal clock) генератора тактовых импульсов, частота которых есть тактовая частота процессора. Такт процессора (такт синхронизации) - квант времени, в течение которого осуществляется элементарная операция - выборка, сравнение, пересылка данных. Выполнение короткой команды - арифметика с Фиксированной точкой , логические операции, обычно занимает пять тактов:

1. выборка команды;

2. расшифровка кода операции (декодирование);

3. генерация адреса и выборка данных из памяти;

4. выполнение операции;

5. запись результата в память.

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

examination/asm/question3.txt · Последние изменения: 2014/01/15 12:12 (внешнее изменение)