CISC архитектура Мокшин Павел, 12225 Наборы команд • Набор команд (instruction set) – позволяет писать программы • Существует несколько архитектур набора команд: CISC, RISC, VLIW и др. Что такое CISC? • CISC (англ. Complex Instruction Set Computing) – «компьютер с полным набором команд» • Архитектура получила такое название после появления термина RISC (Reduced Instruction Set Computing) Черты CISC • Команды имеют разную длину и время исполнения • Команды поддерживают несколько режимов адресации • Многие команды работают напрямую с памятью, а не с регистрами • Поддерживаются структуры данных и команды, характерные для языков программирования высокого уровня • Малое количество регистров общего назначения Количество команд • То что набор команд «сложный» не означает что команд много • У многих RISC процессоров не меньше команд, чем в CISC • Например, у CISC процессора компьютера PDP-8 было всего 8 основных команд: 000 – AND – AND the memory operand with AC. 001 – TAD – Two's complement ADd the memory operand to <L,AC> (a 12 bit signed value (AC) w. carry in L). 010 – ISZ – Increment the memory operand and Skip next instruction if result is Zero. 011 – DCA – Deposit AC into the memory operand and Clear AC. 100 – JMS – JuMp to Subroutine (storing return address in first word of subroutine). 101 – JMP – JuMP. 110 – IOT – Input/Output Transfer. 111 – OPR – microcoded OPeRations Почему CISC такой? • Раньше программы писались на языках низкого уровня (например, на ассемблере). Программы были большими и труднопонимаемыми. • Сложные команды, делающие сразу много действий, позволяли сократить размер кода • С появлением языков высокого уровня, процессоры стали реализовывать инструкции, напрямую использовавшие возможности этих языков • Память была медленная и дорогая. CISC инструкции спроектированы так, чтобы минимизировать количество обращений в память • Кроме того, размеры памяти были малы, компьютеры не могли хранить большие программы CISC и RISC подход • Хотим умножить 2 числа в ячейках 1:3 и 4:2, а результат положить в 1:3 • Процессор имеет 4 регистра A, B, C и D CISC • MUL 1:3, 4:2 RISC • LOAD A, 1:3 LOAD B, 4:2 PROD A, B STORE 1:3, A Недостатки • Сложность аппаратной части из-за различий в формате, длине и времени исполнения команд • Высокая стоимость • Большинство компиляторов языков высокого уровня использует от силы 20% команд из набора команд CISC процессора В настоящее время • CISC переняла многие идеи от RISC архитектуры, такие как конвейеризация, и в чистом виде уже не встречается • Раньше все х86-процессоры являлись CISC-процессорами, однако новые процессоры, начиная с Intel Pentium Pro, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISCинструкции процессоров x86 в более простой набор внутренних инструкций RISC Спасибо за внимание!