Cтраница 1
Фаза адресации служит для вычисления адресов операндов и извлечения операндов из памяти Последовательность действий ЦП на этой фазе определяется способом задания операндов ( способом адресации) и может включать многократное обращение к памяти, а также приращение содержимого счетчика команд, если команда занимает больше 1 слова в памяти. Для безадресных команд фаза адресации отсутствует. [1]
Команды с такой адресацией выполняются наиболее быстро, поскольку ни ни фазе адресации, ни на фазе выполнения не требуется обращения к памяти. В остальных способах прямой адресации содержимое регистра используется для получения адреса операнда, сам же операнд находится в памяти. [2]
Управляющее устройство любую операцию согласно коду, заданному командным словом, распределяет на последовательность фаз ( фазы адресации и фазы выполнения), называемую циклом. Из-за ограниченной разрядности МП действия над операндами большой разрядности могут выполняться за два и более циклов. Очевидно, что это в 2 и более раз снижает быстродействие МП. Отсюда следует интересный и практически важный вывод: быстродействие МП находится в обратной зависимости от точности, однозначно определяемой разрядностью операндов. [3]
Управляющее устройство любую операцию согласно коду, заданному командным еловом, распределяет на последовательность фаз ( фазы адресации и фазы выполнения), называемую циклом. Из-за ограниченной разрядности МП действия над операндами большой разрядности могут выполняться за два и более циклов. Очевидно, что это в 2 и более раз снижает быстродействие МП. Отсюда следует интересный и практически важный вывод: быстродействие МП находится в обратной зависимости от точности, однозначно определяемой разрядностью операндов. [4]
Выполнение команды ADD содержит еще одну очевидную особенность - обращение к регистру CSR будет происходить дважды: на фазе адресации и фазе выполнения. Операция Z будет инициирована только после второго обращения к CSR, когда в разряд 9 регистра будет записана единица. [5]
Фаза адресации служит для вычисления адресов операндов и извлечения операндов из памяти Последовательность действий ЦП на этой фазе определяется способом задания операндов ( способом адресации) и может включать многократное обращение к памяти, а также приращение содержимого счетчика команд, если команда занимает больше 1 слова в памяти. Для безадресных команд фаза адресации отсутствует. [6]
Поскольку в команде использован индексный режим, на фазе адресации ЦП выполнит следующую последовательность действий. Содержимое слова памяти, на которое указывает счетчик команд ( ячейка с адресом 001012) будет скопировано в регистр данных аналогично тому, как это делалось на фазе выборки, и содержимое счетчика команд будет увеличено на два. Путем сложения содержимого регистра R1 и регистра данных процессор вычислит адрес операнда, и на фазе выполнения содержимое ячейки с этим адресом будет увеличено на единицу. Наиболее важным моментом этого рассмотрения является приращение счетчика команд на фазе адресации, позволяющее процессору обрабатывать команды, состоящие более чем из одного слова. В данном случае это произошло из-за индексного режима адресации, поскольку процессор знает, что использование этого режима приводит к увеличению длины команды. Таким образом, процессор запрограммирован на последовательное выполнение команд, расположенных в памяти, и любую информацию, считанную на фазе выборки, он будет рассматривать как команду. Программист же должен позаботиться, чтобы эта информация была командой, которую должен и может вы-волнить процессор, а не данными. [7]
Ряд команд ( JSR, RTS, RTI, RESET, WAIT) будут подробно рассмотрены в последующих главах. Команды ЕМТ, TRAP, ЮТ, ВРТ имеют специальное назначение и используются в системном программировании. По команде HALT ( останов процессора) процессор прекращает выборку команд из памяти. Выполнение команды NOP ( холостая операция) сводится только к одной фазе выборки, а фазы адресации и выполнения отсутствуют. В табл. 1.11 представлены команды, позволяющие устанавливать и сбрасывать разряды условий. Их часто используют для передачи одного бита информации из подпрограммы в основную программу. [8]
В общем случае, в зависимости от способа адресации, одна команда может занимать до трэх последовательно расположенных слов памяти. Во втором и третьем слова при этом размещается информация: б операнд-эх сами огшранды, их адреса либо смещение, отно - СИТРПЬНО которого эгя адреса вычисляются. Возникает вопрос, каким образом процессор узнает, сколько слов в памяти занимает команда, и как он сохраняет естественную последовательность выполнения команд. На фазе адресации в ЦП организовано приращение счетчика команд таким образом, чтобы к началу фазы выполнения он указывал на первое слово следующей команды. [9]
Поскольку в команде использован индексный режим, на фазе адресации ЦП выполнит следующую последовательность действий. Содержимое слова памяти, на которое указывает счетчик команд ( ячейка с адресом 001012) будет скопировано в регистр данных аналогично тому, как это делалось на фазе выборки, и содержимое счетчика команд будет увеличено на два. Путем сложения содержимого регистра R1 и регистра данных процессор вычислит адрес операнда, и на фазе выполнения содержимое ячейки с этим адресом будет увеличено на единицу. Наиболее важным моментом этого рассмотрения является приращение счетчика команд на фазе адресации, позволяющее процессору обрабатывать команды, состоящие более чем из одного слова. В данном случае это произошло из-за индексного режима адресации, поскольку процессор знает, что использование этого режима приводит к увеличению длины команды. Таким образом, процессор запрограммирован на последовательное выполнение команд, расположенных в памяти, и любую информацию, считанную на фазе выборки, он будет рассматривать как команду. Программист же должен позаботиться, чтобы эта информация была командой, которую должен и может вы-волнить процессор, а не данными. [10]