русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

RISC и CISC система команд в МП и МК


Дата добавления: 2015-08-14; просмотров: 846; Нарушение авторских прав


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-процессоры), в которых за счет максимального сокращения количества команд достигается увеличение эффективности и скорости их выполнения.

Рассмотрим теперь особенности четырех выделенных групп команд процессора более подробно.



<== предыдущая лекция | следующая лекция ==>
 | 


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.297 сек.