Детальная информация
RISC-процессоры обычно реализуют около 100 команд, имеющих фиксированный формат длиной 4 байта. Обычно в RISC-процессорах все команды обработки данных выполняются только с регистровой или непосредственной адресацией.
Наборы команд в более ранних архитектурах для облегчения ручного написания программ на языках ассемблеров или прямо в машинных кодах, а также для упрощения реализации компиляторов, выполняли как можно больше работы. Нередко в наборы включались команды для прямой поддержки конструкций языков высокого уровня. Другая особенность этих наборов - большинство команд, как правило, допускали все возможные методы адресации (т. н. «ортогональность системы команд (англ.)») - к примеру, и операнды, и результат в арифметических операциях доступны не только в регистрах, но и через непосредственную адресацию, и прямо в памяти.
Однако многие компиляторы не задействовали все возможности таких наборов команд, а на сложные методы адресации уходит много времени из-за дополнительных обращений к медленной памяти. Было показано, что такие функции лучше исполнять последовательностью более простых команд, если при этом процессор упрощается и в нем остается место для большего числа регистров, за счет которых можно сократить количество обращений к памяти. В первых архитектурах, причисляемых к RISC, большинство команд для упрощения декодирования имеют одинаковую длину и похожую структуру, арифметические операции работают только с регистрами, а работа с памятью идет через отдельные команды загрузки (load) и сохранения (store). Эти свойства и позволили лучше сбалансировать этапы конвейеризации, сделав конвейеры в RISC значительно более эффективными и позволив поднять тактовую частоту.