RISC и CISC система команд в МП и МК
CISC (Complex instruction set computer — компьютер с комплексным набором команд)
RISC (Restricted (reduced) instruction set computer — компьютер с сокращённым набором команд)
В RISC-архитектурах, по сравнению с традиционными CISC-архитектурами, используется сокращенные наборы команд, что приводит к уменьшению объема программного кода и более быстрому решению поставленных задач. По этой причине, когда важна скорость, нередко предпочитают именно модули микроконтроллеров RISC.
Для примера, в сравнении с обычными RISC-микроконтроллерами, компания Atmel реализовала в своем семействе AVR расширенную систему команд, благодаря чему кода становиться меньше, а быстродействие – еще выше. Были реализованы CISC-подобные команды, однако без потерь в RISC-производительности и потребляемой мощности.
Система команд микроконтроллера AT90S8515 составляет целых 118 команд, в то время как другие RISC-микроконтроллеры того же уровня представляют в среднем лишь 50-60 машинных команд. Благодаря малому времени выполнения команд из своего расширенного набора, микроконтроллеры AVR решают задачи в 4-16 раз быстрее многих других своих конкурентов.
Благодаря тому, что в большинстве микроконтроллеров AVR реализованы 32 рабочих регистра, каждый из которых напрямую связан с АЛУ, многие операции выполняются за период такта системной синхронизации.
Представленный ниже пример демонстрирует, насколько эффективнее, по сравнению с традиционными CISC-контроллерами, решается задача в микроконтроллерах AVR с помощью одного лишь накапливаемого сумматора.
AVR-код eor v2,v3 andi v1,$84 add v1,v2 ori v1,$80 | CISC-код MOR A,V2 EOR A,V3 MOV TMP,A MOV A,V1 AND A,#84h ADD A,TMP OR A,#80h MOV V1,A |
4 машинных слова (8 байт) 4 такта осциллятора | 10-18 байт 48-96 тактов осциллятора |
Далее речь пойдет об основных группах команд процессора, об особенностях выполнения различных команд, о методах организации подпрограмм.
В общем случае система команд процессора включает в себя следующие четыре основные группы команд:
• команды пересылки данных;
• арифметические команды;
• логические команды;
• команды переходов.
Команды пересылки данных не требуют выполнения никаких операций над операндами. Операнды просто пересылаются (точнее, копируются) из источника (Source) в приемник (Destination). Источником и приемником могут быть внутренние регистры процессора, ячейки памяти или устройства ввода/вывода. АЛУ в данном случае не используется.
Арифметические команды выполняют операции сложения, вычитания, умножения, деления, увеличения на единицу (инкрементирования), уменьшения на единицу (декрементирования) и т.д. Этим командам требуется один или два входных операнда. Формируют команды один выходной операнд.
Логические команды производят над операндами логические операции, например, логическое И, логическое ИЛИ, исключающее ИЛИ, очистку, инверсию, разнообразные сдвиги (вправо, влево, арифметический сдвиг, циклический сдвиг). Этим командам, как и арифметическим, требуется один или два входных операнда, и формируют они один выходной операнд.
Наконец, команды переходов предназначены для изменения обычного порядка последовательного выполнения команд. С их помощью организуются переходы на подпрограммы и возвраты из них, всевозможные циклы, ветвления программ, пропуски фрагментов программ и т.д. Команды переходов всегда меняют содержимое счетчика команд. Переходы могут быть условными и безусловными. Именно эти команды позволяют строить сложные алгоритмы обработки информации.
В соответствии с результатом каждой выполненной команды устанавливаются или очищаются биты регистра состояния процессора (PSW). Но надо помнить, что не все команды изменяют все имеющиеся в PSW флаги. Это определяется особенностями каждого конкретного процессора.
У разных процессоров системы команд существенно различаются, но в основе своей они очень похожи. Количество команд у процессоров также различно. Например, у процессора МС68000 всего 61 команда, а у процессора 8086 — 133 команды. У современных мощных процессоров количество команд достигает нескольких сотен. В то же время существуют процессоры с сокращенным набором команд (так называемые RISC-процессоры), в которых за счет максимального сокращения количества команд достигается увеличение эффективности и скорости их выполнения.
Рассмотрим теперь особенности четырех выделенных групп команд процессора более подробно.
Дата добавления: 2016-12-27; просмотров: 3083;