Основные особенности МК. Понятие микроконтроллера. Классификация микропроцессоров. 8-разрядные МК, страница 5

В принципе, в систему команд RISC-процессоров включаются только команды, наиболее часто используемые при решении задач обработки данных.

Первые модели RISC-процессоров имели мощность системы команд, равную примерно 50÷70 команд.

Для современных моделей RISC-процессоров имеется явная тенденция к расширению системы команд, и мощность системы команд определяется значениями порядка 150÷200.

Система команд современных RISC-процессоров включает в себя:

- целочисленную арифметику (может быть без команды деления);

- арифметику с плавающей запятой;

- мультимедийные расширения (векторные команды).

2. Выполнение почти всех машинных команд за один такт.

Фактически, в RISC-процессорах стираются грани между машинными командами и микрокомандами. В соответствии с этим тактовая частота RISC-процессора может являться прямой оценкой пиковой производительности. Так, например, при тактовой частоте 1ГГц пиковая производительность приближается к 1000 MIPS (Millions of Instructions Per Second).

3. Отсутствие блока микропрограммной памяти в устройстве управления (УУ).

Устройство управления RISC-процессоров реализуется в виде так называемого схемного автомата (в отличие от микропрограммного автомата в CISC-процессорах).

В RISC-процессорах машинные команды выполняются в режиме прямого управления, а не в режиме интерпретации, как в CISC-процессорах.

4. Фиксированная длина машинной команды.

32 бита = 4 байта.

5.Небольшое число разнообразных форматов команд (3-5).

Самая короткая команда – IA32 – 1-байтная.

6. Небольшое число используемых режимов (способов) адресации.

Типичными режимами адресации в RISC-процессорах являются:

• прямая регистровая;

• относительная (регистр + смещение);

• непосредственная;

• косвенная регистровая.

7. Как следствие из пунктов 3,4,5,6 – упрощение устройства управления в RISC-процессорах приводит к тому, что оно занимает 5-10% площади кристалла, в отличие от CISC-процессоров, где оно занимает 30-50% площади кристалла.

Освобожденная площадь кристалла используется для следующих целей:

1) увеличение числа внутренних регистров (минимальный объем регистровой памяти в RISC-процессорах включает в себя 32 РОН и 32 РПЗ (регистр с плавающей запятой), не считая специальных регистров);

2) увеличение объема кэш-памяти уровня L1;

3) увеличение блоков конвейера команд, дублирование или троирование конвейера.

8. Большое число регистров в RISC-процессорах порождает проблему их сохранения и восстановления при входах в программы и выходах из них, а также при обработке прерываний. Кроме того, существует проблема совместного использования различных регистров многими процедурами.

Для решения этих проблем специально для RISC-процессоров разработан механизм регистровых окон.

9. Все команды обработки данных используют только регистровые операнды, т.е. являются командами типа «reg ↔ reg». Обмен с памятью реализован с помощью специальных выделенных команд:

LOAD (mem → reg);

STORE (reg → mem).

Впервые подход с выделенным доступом к памяти был реализован С. Креем в компьютерах CDC-6600, CDC-7600 и, позднее, в суперкомпьютере CRAY-1 (70-е годы).


10. Широкое использование принципов конвейерной и суперскалярной обработки. Эти принципы основаны на параллельном выполнении нескольких последовательных команд машинной программы (самый низкоуровневый параллелизм).

Благодаря использованию конвейерной и суперскалярной обработки увеличивается производительность процессора и компьютера в целом.

Конвейеризация команд базируется на двух основных принципах:

1) Разделение выполнения машинной команды на ряд последовательных этапов (фаз, стадий) для классического конвейера команд разделяется на 6 фаз:

1. выборка команды – IF (Instruction Fetch);

2. декодирование команды – D (Decode);

3. формирование адресов операндов – ОА (Operand Address);

4. выборка операнда – OF (Operand Fetch);

5. выполнение операции – EX (EXecutive);

6. запись результата – S (Store).

2) Выделение в аппаратуре CPU нескольких относительно независимых блоков, способных функционировать параллельно во времени, выполняя одну или несколько последовательных фаз машинной команды.