Совмещение выполнения операций во времени

Классификация процессоров по системе команд

Типы машинных команд

Современные ЭВМ имеют от 60 до 120 базовых команд. Общее количество команд, которое может быть в процессорах, с учетом способов адресации и регистров, 250-400. Такое большое количество команд, по замыслу разработчиков, должно сокращать длину программы пользователя, следовательно, уменьшается время решения задачи. Практика же показывает, что программист всем возможным множеством команд никогда не пользуется. Обычно пользователь ограничивается некоторым подмножеством команд, которые он четко понимает и знает. Все команды ЭВМ разделяют по следующим признакам:

1. Функциональное назначение.

1.1. Команды передачи данных.

1.2. Команды обработки данных.

1.3. Команды передачи управления.

1.4. Дополнительные команды.

2. Адресность команды.

2.1. Безадресные команды.

2.2. Одноадресные команды.

2.3. Двухадресные команды.

2.4. Прочие команды.

3. По способам адресации.

3.1. Данных.

3.2. Команд.

4. Способ кодирования операций.

4.1. Команды с фиксированным полем кода операций.

4.2. Команды с расширяющимся полем кода операций.

5. По длине.

5.1. Однобайтные.

5.2. Двухбайтные.

5.3. Многобайтные.

В зависимости от набора и порядка выполнения команд процессоры подразделяются:

1. классические процессоры CISC (Complex Instruction Set Computing) - процессор с полным набором команд, выполняющий до 300 машинных инструкций.

Семейство микропроцессоров 80х86, поддерживаемых фирмами Intel, AMD, Cyrix и NEC, являются CISC-процессорами.

Процессоры CISC c исторически сложившейся архитектурой, в которой, в силу требований совместимости с предыдущими поколениями, накоплено множество команд, специализированных регистров и концепций.

2. Процессоры RISC (Reduced Instruction Set Computing) - с сокращенным набором команд.

Процессор RISC - процессор, в котором:

- реализован упрощенный набор команд, имеющих одинаковую длину;

- большинство команд выполняются за один цикл процессора;

- отсутствуют макрокоманды;

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

RISC и CISC - это некие идеализированные концепции. Реальные же микропроцессоры классифицировать очень трудно. В последнее время производители используют одни и те же технологии и схожие инженерные решения. Граница проводится больше из исторических соображений и с каждым годом размывается все сильнее.

3. Процессоры MISC - c минимальным набором длинных команд.

4. Процессоры VLIW с набором сверхдлинных команд.

Определение. Совмещением операций в ЭВМ называется одновременное выполнение нескольких операций одной или разных программ. Совмещение операций - один из основных способов повышения производительности и эффективности использования ЭВМ, т.к. оно увеличивает эффективное быстродействие и сокращает простои машин.

Совмещение операций осуществляется следующими методами. На уровне процессора - совмещением обработки данных (например, сложения, вычитания или умножения чисел) с обработкой команд программ (например, с выборкой команд, расшифровкой кода операции, модификацией адресов); совмещением выполнения нескольких (до 4—8) соседних команд одной программы; совмещением операций по обработке данных в независимых блоках. На уровне памяти - одновременным обращением к нескольким однотипным блокам памяти, что обеспечивается разделением оперативной памяти на независимые блоки с собственной адресацией и введением нескольких каналов внешней памяти; независимым обменом данными между носителями информации. На уровне устройств ввода-вывода информации - организацией мультиплексного режима работы или одновременного обслуживания нескольких устройств ввода-вывода за счёт быстрого обмена данными с процессором и медленной подготовки к обмену.

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

Под параллельной работой понимается выполнение в одном рабочем такте процессора нескольких операций, например, работа АЛУ и выборка операнда из оперативной памяти, выполнение операции ввода или вывода, вычисление адреса команды или операнда и другие. Как правило, для этого требуется некоторое дополнительное оборудование.

Конвейерное выполнение команд, также называемое совмещением выполнения операций, является частным случаем параллельной работы узлов процессора. Оно основано на том, что, в большинстве случаев, выполняемые процессором команды находятся в последовательных ячейках памяти. Выполнение процессором простой команды можно разбить на четыре этапа:

1. Выборка команды из памяти (IF).

2. Декодирование команды (ID).

3. Выполнение операции (EX).

4. Сохранение результата (WB).

Так как эти четыре этапа выполнения команды поддерживаются различными узлами процессора, то возможно совмещение выполнения последовательности четырех команд. При этом в одном такте процессора записывается результат первой команды последовательности, выполняется операция, заданная второй командой, декодируется третья и выбирается из памяти четвертая (таблица 1).

  Такт 1 Такт 2 Такт 3 Такт 4 Такт 5 Такт 6 Такт 7
Команда 1 IF ID EX WB      
Команда 2   IF ID EX WB    
Команда 3     IF ID EX WB  
Команда 4       IF ID EX WB

Таким образом, при выполнении последовательности коротких команд производительность процессора увеличивается в четыре раза. На самом деле получить такую степень повышения производительности процессора не удается из-за того, что в программах существуют команды условных и безусловных переходов, вызовов процедур, а в конвейере возможны конфликтные ситуации, изменяющие гладкую последовательность выполнения команд. С увеличением уровней совмещения операций количество факторов, нарушающих работу конвейера команд, увеличивается и существенным образом усложняется схема управления процессором. Поэтому обычно в процессорах универсальных вычислительных машин ограничиваются 4-5 уровнями совмещения выполнения операций. Но организация конвейера выполнения команд, тем не менее, является наиболее эффективным структурным методом повышения производительности и применяется практически во всех современных процессорах.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: