170 likes | 507 Views
CISC vs RISC. Сложное против проÑтого. ОÑобенноÑти CISC. МножеÑтво команд Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð½Ð¾Ð¾Ð±Ñ€Ð°Ð·Ð½Ñ‹Ñ… операций Различное Ð²Ñ€ÐµÐ¼Ñ Ð½Ð° дешифрацию и выполнение команды ÐŸÐ»Ð¾Ñ…Ð°Ñ Ð¿Ñ€ÐµÐ´ÑказуемоÑÑ‚ÑŒ уÑловных переходов Сбои конвейера. Критика CISC. ПроÑтои конвейера обработки команд
E N D
CISC vs RISC Сложное против простого
Особенности CISC • Множество команд для выполнения разнообразных операций • Различное время на дешифрацию и выполнение команды • Плохая предсказуемость условных переходов • Сбои конвейера
Критика CISC • Простои конвейера обработки команд • Простои конвейера обработки данных • Сложность в освоении набора команд • Имеются неиспользуемые (или редко используемые) команды • Существуют команды, дублирующие действия друг друга
RISC – как альтернатива • Единое время дешифрации при едином формате команд
Архитектура RISC • Регистры • Регистровые окна • Структура команды
Критика RISC • Ограниченный набор команд усложняет программирование на низком уровне • Необходимо заботиться о распределении регистров между задачами и оптимизировать операции загрузки-выгрузки
Примеры RISC процессоров • Alpha 2x064 • PowerPC • Sparc • MIPS • F-CPU • Itanium
Состав команд Alpha • Целочисленные • Вещественные • Управляющие (переходы) • Load-Store • PAL По типу – 1,2,3-х и безадресные
Синтетические команды Примеры синтетических команд • CLR r0 = sub r31,r31,r0 • NEG r24 = sub r31,r24,r24 • MOV r13,r15 = sub r13,r31,r15
Особенности дешифрации команд • Поля определяют строку и столбец в матрице дешифрации • Количество матриц невелико • Операции над целыми числами и вещественными дешифрируются одинаков быстро
OTA vs TTA • Фиксация команды для дешифрации • Фиксация данных в оперативных регистрах • Устройства исполнения одинаковы • Разные функциональные устройства
Программа для TTA • Вместо ADD R0,R1,R3 • mov r0, add.1 • mov r1, add.2 • mov add.3, r3
SIMD - параллелизм (например, сложение) • пара 64-разрядных операндов • 2 пары 32-разрядных операндов • 4 пары 16-разрядных операндов • 8 пар 8-разрядных операндов Как реализовать практически?
микросуперскалярность • TTA • SIMD-команды • Параллельная работа разных функциональных устройств • Конвейер данных
Itanium • Состав регистров • Разрядность операндов • Разрядность команды • Связки команд • Состав команд