Железный закон производительности процессора
В компьютерной архитектуре железный закон производительности процессора (или просто железный закон производительности) описывает компромисс производительности между сложностью и количеством примитивных инструкций , которые процессоры используют для выполнения вычислений. [1] Такая формулировка компромисса стимулировала развитие [ нужна ссылка ] компьютеров с сокращенным набором команд (RISC), чьи архитектуры набора команд (ISA) используют меньший набор основных инструкций для повышения производительности. Этот термин был придуман Дугласом Кларком. [2] на основе исследований, проведенных Кларком и Джоэлом Эмерами в 1980-х годах. [3]
Объяснение
[ редактировать ]Производительность процессора – это время, необходимое для выполнения программы: . Это можно еще разбить на три фактора: [4]
Выбор архитектуры набора команд влияет , тогда как во многом определяется технологией изготовления. Оптимизированы ISA для компьютера с классическим комплексным набором команд (CISC) предоставляя больший набор более сложных инструкций ЦП . Однако, вообще говоря, сложные инструкции увеличивают количество тактовых циклов на команду. потому что их необходимо декодировать в более простые микрооперации , фактически выполняемые аппаратным обеспечением. После преобразования двоичного кода X86 во внутренние микрооперации общее количество операций близко к тому, что производится для сопоставимого RISC ISA. [5] Железный закон производительности процессора делает этот компромисс явным и требует оптимизации в целом, а не какой-то один компонент.
Хотя железный закон считается стимулом для развития RISC-архитектур, [ нужна ссылка ] это не означает, что более простая ISA всегда быстрее. Если бы это было так, самая быстрая ISA состояла бы из простой двоичной логики. Одна инструкция CISC может быть быстрее, чем эквивалентный набор инструкций RISC, если она позволяет выполнять несколько микроопераций за один такт. На практике, однако, регулярность инструкций RISC позволила реализовать конвейерную реализацию, в которой общее время выполнения инструкции составляло (обычно) ~ 5 тактов, но каждая инструкция следовала за предыдущей инструкцией примерно на 1 такт позже. [ нужна ссылка ] . Процессоры CISC также могут достичь более высокой производительности, используя такие методы, как модульные расширения, прогнозирующую логику, сжатые инструкции и объединение макроопераций. [6] [5] [7]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Экхаут, Ливен (2010). Методы оценки производительности компьютерной архитектуры . Морган и Клейпул. стр. 5–6. ISBN 9781608454679 . Проверено 9 марта 2021 г.
- ^ Джоэл, Эмер (13 апреля 2021 г.), Keynote YArch 2021 , получено 2 сентября 2021 г.
- ^ Характеристика производительности процессора VAX-11/780 , Джоэл С. Эмер, Дуглас В. Кларк, 1984, IEEE
- ^ Асанович, Крсте (2019). «Лекция 4. Конвейерная обработка» (PDF) . Кафедра электротехники и компьютерных наук Калифорнийского университета в Беркли (слайды лекций). п. 2. Архивировано (PDF) из оригинала 12 марта 2021 г. Проверено 11 марта 2020 г.
- ^ Jump up to: а б Селио, Кристофер; Даббелт, Палмер; Паттерсон, Дэвид А.; Асанович, Крсте (08 июля 2016 г.). «Обновленный аргумент в пользу компьютера с сокращенным набором команд: предотвращение раздувания ISA с помощью Macro-Op Fusion для RISC-V». arXiv : 1607.02318 [ cs.AR ].
- ^ Энгхайм, Эрик (28 декабря 2020 г.). «Гений микропроцессоров RISC-V» . Середина . Проверено 11 марта 2021 г.
- ^ Селио, Кристофер (26 июля 2016 г.), Сравнение RISC V, ARM и x86 , получено 11 марта 2021 г.