Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Система команд является одной из основных архитектурных характеристик МП. Система команд определяет совокупность операций, реализуемых МП. В понятие система команд входят:

– список команд, их функциональное назначение;

– форматы команд и обрабатываемых данных;

– способы адресации данных.

Команды, реализуемые любым МП, можно подразделить на следующие функциональные группы:

– пересылки данных и ввода-вывода;


– арифметических и поразрядных логических операций;

– передачи управления.

Команды пересылок данных обеспечивают как внутренний обмен информацией между регистрами внутри МП, так и внешние обмены данными при их передаче в МП из памяти или устройства ввода и из МП в память или устройство вывода. Обозначения команд пересылок, используемые в языках Ассемблера, имеют вид: move (переслать), load (загрузить), store (запомнить), exchange (обменять). В командах этой группы обычно указывается направление передачи, источник и/или приемник данных. Так как большинство современных МП различают адресные пространства ввода/вывода и памяти, то для обращения к портам ввода/вывода, выделенным в отдельное адресное пространство, используют специальные команды пересылок с обозначениями input для ввода и output для вывода. В группу команд пересылок часто включают команды загрузки в стек push и извлечения pop из стека.

Команды арифметических и поразрядных логических операций. В большинстве случаев в число команд этой группы входят команды простейших арифметических операций: сложить (add), вычесть (subtractsub) и команды поразрядных логических операций И (and), ИЛИ (or), Исключающее ИЛИ (exclusive orxor). К командам арифметических операций часто относят команды сдвигов (арифметических и логических), а к командам логических операций — команды сравнения compare (неразрушающего вычитания). Логические сдвиги отличаются от арифметических тем, что в них участвуют все разряды чисел, включая знаковые.

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

В некоторых МП система команд ориентирована только на обработку двоичных чисел с фиксированной запятой. Операции с другими формами представления двоичных чисел чаще всего выполняются программно. Большинство МП также обеспечивают обработку данных, представленных в двоично-десятичном коде. Для коррекции результатов арифметических операций над такими данными в группу команд арифметических операций включают специальные команды десятичной коррекции типа decimal adjust.

В число команд этой группы могут входить команды обработки чисел в формате с плавающей точкой, а также команды мультимедийной обработки (SIMD-команды).

Команды передачи управления используются для изменения последовательности выполнения команд при наличии программных ветвлений jump, обращении к подпрограммам call и выхода из них return. В зависимости от результата выполнения текущей команды с помощью команд условной передачи управления, например команды условного перехода при нулевом значении сигнала переноса jump on carry zero, МП может выбрать одну из возможных ветвей продолжения программы. Обычно в системе команд имеется несколько команд условных переходов по прямому и инверсному значениям различных признаков результата.

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

– команды операций над целыми числами. В их число включают команды пересылки данных и ввода-вывода, команды арифметических и поразрядных логических операций, в том числе команды сдвига, команды операций со строками символов, команды битовых операций.

– команды операций над числами с плавающей точкой;

– команды передачи управления;

– команды расширений MMX (MultiMedia Extensions) и SSE (Streaming SIMD Extensions), поддерживающие технологию SIMD (Single Instruction — Multiple Data) над целыми числами (ММХ) и числами с плавающей точкой (SSE). Команды данной группы выполняют однотипные действия сразу над всеми числами в упакованных форматах;

– команды поддержки языков высокого уровня;

– системные команды поддержки функций ОС по управлению памятью, средствами защиты и переключению задач;

– команды управления МП.

В системы команд конкретных МП могут входить команды, не вписыва­ющиеся в предложенную классификацию. Подобные команды не отражают общих принципов построения программ и рассматриваются как допол­нительные.

Структура команд. Выше отмечено, что команда МП в общем случае содержит операционную и адресные части. Соглашение о распределении разрядов между названными частями команды и о способе кодирования информации определяет структуру команды или ее формат (рис. 1.4). В операционной части команды, состоящей из nk двоичных разрядов, содержится код операции, обеспечивающий кодирование 2 n - k операций и определяющий, какие при этом будут задействованы устрой­ства в МП или вне него. В k‑ раз­ряд­ной адресной части команды содержится ин­формация об адресах операндов, учас­твую­щих в выполнении операции. В общем случае адресная часть команды должна содержать четыре адресных поля A1,…, A4. Они предназначены для задания кодов адресов операндов (А1, А2), адреса результата (А3) и адреса следующей команды (А4). В качестве адресов A1,…, A3 могут использоваться адреса ячеек оперативной памяти и адреса регистров внутренней памяти МП, а в качестве адреса А4 — только адреса ячеек оперативной памяти. При использовании полного набора адресов в адресной части команды ее формат оказывается громоздким. Из-за ограниченного числа разрядов в машинном слове, разрядность которого обычно равна разрядности МП и ячеек оперативной памяти, актуальны способы повышения экономичности представления информации в команде. Прежде всего, было отмечено, что не для всех операций необходим полный набор адресов А1 – А4. В адресной части большинства команд указывается меньшее число адресов. В зависимости от указываемого числа адресов команды подразделяются на безадресные (нульадресные), одно-, двух-, трех- и четырехадресные. Практически во всех МП в адресном поле команды исключен адрес А4. Это обусловлено тем, что большинство команд относятся к линейным участкам алгоритмов и такие команды могут быть размещены в ячейках оперативной памяти с последовательно возрастающими адресами. В этом случае для получения адреса следующей команды к адресу текущей достаточно прибавить единицу, что удобно реализовать путем инкремента счетчика команд. Такой способ адресации команд называют естественным. Соответственно МП, реализующие естественный способ адресации команд, называются МП с естественным способом адресации команд. При нарушении естественного порядка следования команд (разветвлениях, объединениях, циклах) используют специальные команды передачи управления, в которых содержится адрес перехода, но не используются адреса операндов. В отличие от МП с естественным способом адресации команд, МП, в адресном поле команд которых используется адрес перехода А4, называют МП с принудительным способом адресации команд.

Использование адреса результата А3 в адресном поле команды во многих случаях также оказывается избыточным. Это можно объяснить тем, что результат арифметических и логических операций над двумя операндами часто помещают на место одного из операндов (после вычисления результата операнды чаще всего больше не используются). При этом достигается не только сокращение разрядности команды, но и повышается производительность МП, поскольку исключаются лишние пересылки. Следует отметить, что при переходе к двухадресным командам в их адресное поле необходимо вводить дополнительные разряды, кодирующие назначение адресуемых операндов: кто из них является источником, а кто — приемником информации. По схеме двухадресного вычислителя реализованы МП х86 компании Intel, большинство процессоров фирмы Motorola и другие.

В МП аккумуляторной архитектуры число адресов в адресной части команды уменьшено до одного. В них один из операндов, размещенный в аккумуляторе, неявно задается кодом команды, и результат помещается в аккумулятор. По схеме одноадресного вычислителя реализованы МП 8080, MCS-51 компании Intel и ряд других.

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

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

Рассмотренные способы указания адресов операндов иногда используют для классификации МП по числу адресуемых в команде операндов. В соответствии с этим классификационным признаком различают безадресные, одно-, двух- и трехадресные архитектуры.





Дата публикования: 2014-11-02; Прочитано: 1358 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...