Современная цифровая эпоха, определяемая стремительным развитием искусственного интеллекта, интернета и мобильных технологий, предъявляет беспрецедентные требования к вычислительной технике. В основе любого вычислительного устройства лежит микропроцессор, и его архитектура — фундаментальный принцип организации и взаимодействия его компонентов — является главным фактором, определяющим производительность и специализацию всей системы. Однако путь к созданию оптимальной архитектуры представляет собой диалектический процесс борьбы и синтеза двух ключевых концепций: CISC (Complex Instruction Set Computing) и RISC (Reduced Instruction Set Computing) [1].
Анализ архитектуры современных микропроцессоров на примере RISC и CISC обусловлен их наглядностью как двух противоположных путей решения одной задачи. CISC-архитектура, с ее набором сложных инструкций, направлена на максимальное приближение к языкам высокого уровня и эффективность на уровне одной команды. В противовес ей, RISC — простота и минимализм набора коротких и быстрых инструкций, выполняемых за один такт, в совокупности дают гораздо более высокую производительность. Современные CISC-процессоры внутри своего ядра используют RISC-принципы, декодируя сложные инструкции в последовательность простых микроопераций.
Целью данной работы является анализ эволюции архитектур микропроцессоров на примере противостояния и взаимовлияния концепций RISC и CISC, а также оценка их роли в современных вычислительных системах [2].
Процессорную архитектуру можно трактовать как фундаментальную модель программированного вычислительного устройства, которая служит важным интерфейсом между аппаратным обеспечением и программным кодом. Стоит отметить, что кардинальное отличие архитектур и их несовместимость обнаруживаются именно на уровне машинного кодирования или низкоуровневого программирования (ассемблирования).
С программной точки зрения, процессорная архитектура определяет набор регистров, команд, их структуру и способ выполнения, в результате чего, с одной стороны, программы, собранные для процессоров одной архитектуры, могут выполняться практически на всех процессорах одинаковой (или подобной) архитектуры, а с другой — не смогут работать на процессорах иной архитектуры.