Инфоpматика
3. Принцип адресности. Структурно основная память состоит из перенумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.
Отсюда следует возможность давать имена областям памяти, так, чтобы к запомненным в них значениям можно было впоследствии обращаться или менять их в процессе выполнения программ с использованием присвоенных имен.
Компьютеры, построенные на этих принципах, относятся к типу фон-неймановских.
Но существуют компьютеры, принципиально отличающиеся от фон-неймановских. Для них, например, может не выполняться принцип программного управления, т.е. они могут работать без “счетчика команд”, указывающего текущую выполняемую команду программы. Для обращения к какой-либо переменной, хранящейся в памяти, этим компьютерам не обязательно давать ей имя. Такие компьютеры называются не-фон-неймановскими.
2.4. Что такое команда?
Команда — это описание элементарной операции, которую должен выполнить компьютер.
В общем случае, команда содержит следующую информацию:
• код выполняемой операции;
• указания по определению операндов (или их адресов);
• указания по размещению получаемого результата.
В зависимости от количества операндов, команды бывают:
• одноадресные;
• двухадресные;
• трехадресные;
• переменноадресные.
Команды хранятся в ячейках памяти в двоичном коде.
В современных компьютерах длина команд переменная (обычно от двух до четырех байтов), а способы указания адресов переменных весьма разнообразные.
В адресной части команды может быть указан, например:
• сам операнд (число или символ);
• адрес операнда (номер байта, начиная с которого расположен операнд);
• адрес адреса операнда (номер байта, начиная с которого расположен адрес операнда), и др.
Рассмотрим несколько возможных вариантов команды сложения (англ. add — сложение), при этом вместо цифровых кодов и адресов будем пользоваться условными обозначениями:
• одноадресная команда add x (содержимое ячейки x сложить с содержимым сумматора, а результат оставить в сумматоре)
add x
•
• двухадресная команда add x, y (сложить содержимое ячеек x и y, а результат поместить в ячейку y)
add x y
•
• трехадресная команда add x, y, z (содержимое ячейки x сложить с содержимым ячейки y, сумму поместить в ячейку z)
add x y z
•
2.5.
|