Восемь функциональных модулей процессоров С6000 можно разделить на четыре группы, так как для каждого модуля одной шины данных (А) существует идентичный в другой шине данных (В). Функциональные модули и выполняемые ими операции рассмотрены в таблице 1. Операции, выполняемые только процессором С64х, показаны жирным шрифтом.
Таблица 1. Функциональные модули
Функциональный
модуль
Операции над числами с фиксированной точкой
Операции над числами с
плавающей точкой
.L модуль (.L1, .L2)
32/40 –битные арифметические операции и операции сравнения
32 – битные логические операции
Сдвиг байт
Упаковка/распаковка данных
Генерация 5-битных констант
Двойные 16-битные арифметические операции
Четверные 8-битные арифметические опреации
Двойные 16-битные min\max операции
Четверные 8-битные min\max операции
Арифметические операции
Операции преобразования DP-SP, INT-DP, INT-SP
.S модуль(.S1, .S2)
32-битные арифметические операции
32/40- битные операции сдвига
32-битные логические операции
Операции перехода
Генерация констант
Регистровые перемещения (только .S2)
Сдвиг байт
Упаковка/распаковка данных
Двойные 16-битные операции сравнения
Четверные 8-битные операции сравнения
Двойные 16-битные операции сдвига
Двойные 16-битные арифметические операции насыщения
Четверные 8-битные арифметические операции насыщения
Сравнение
Операции возведения в квадрат и извлечения корня
Операции с абсолютными значениями
Операции преобразования SP-DP
.М модуль (.М1, .М2)
16*16 операции умножения
16*32 операции умножения
Четверные 8*8 операции умножения
Двойные 16*16 операции умножения
Двойные 16*16 операции умножения с добавлением/вычитанием
Четверные 8*8 операции умножения с добавлением
Расширение бит
Различные операции сдвига
Операции умножения
.D модуль (.D1, .D2)
32-битное сложение, вычитание
Загрузка и хранение с5-битными константами
Загрузка и хранение с 15-битными константами
Загрузка и хранение двойных слов с 5-битными константами
Загрузка и хранение неориентированных и двойных слов
Генерация 5-битных констант
32-битные логические операции
Загрузка двойных слов с 5-битными константами
Операции над числами с фиксированной точкой возможны на всех трех процессорах. Операции над числами с плавающей точкой и 32*32 – битное умножение чисел с фиксированной точкой возможны только у процессора С67х. Операции, выполняемые только процессором С64х, показаны жирным шрифтом.
Каждый функциональный модуль имеет свой собственный 32-битный порт записи в регистровом файле общего назначения. Все модули, обозначение которых заканчивается на 1(например, .L1), относятся к регистровому файлу А, все модули, обозначение которых заканчивается на 2 относятся к регистровому файлу В. Каждый функциональный модуль имеет два 32-битных порта чтения для текущих операндов src1 и src2. Для модулей (.L1, .L2, .S1, .S2) существуют добавочные 8-битные расширенные порты записи и чтения для 40 – битных длинных слов. Так как каждый модуль имеет собственный 32-разрядный порт записи, при выполнении 32-разрядных операций могут быть задействованы параллельно все восемь портов в каждом цикле.