Основы вычислительных систем
Использование сложных методов адресации позволяет существенно сократить количество команд в программе, но при этом значительно увеличивается сложность аппаратуры.
Команды традиционного машинного уровня можно разделить на несколько типов, которые показаны в табл. 3.3.
Таблица 3.3. Основные типы команд
Тип операции | Примеры |
Арифметические | Целочисленные арифметические и логические операции: сложение, вычитание, логическое сложение, логическое умножение и т. д. |
Пересылки данных | Операции загрузки/записи |
Управление потоком команд | Безусловные и условные переходы, вызовы процедур и возвраты |
Системные операции | Системные вызовы, команды управления виртуальной памятью и т. д. |
Операции с плавающей точкой | Операции сложения, вычитания, умножения и деления над вещественными числами |
Десятичные операции | Десятичное сложение, умножение, преобразование форматов и т. д. |
Операции над строками | Пересылки, сравнения и поиск строк |
Тип операнда может задаваться либо кодом операции в команде, либо с помощью тега, который хранится вместе с данными и интерпретируется аппаратурой во время обработки данных.
Обычно тип операнда (целый, вещественный, символ) определяет и его размер. Как правило, целые числа представляются в дополнительном коде. Для задания символов компания IBM использует код EBCDIC, другие компании применяют код ASCII. Для представления вещественных чисел с одинарной и двойной точностью придерживаются стандарта IEEE 754.
В ряде процессоров применяют двоично кодированные десятичные числа, которые представляют в упакованном и неупакованном форматах. Упакованный формат предполагает, что для кодирования цифр 0 – 9 используют 4 разряда и две десятичные цифры упаковываются в каждый байт. В неупакованном формате байт содержит одну десятичную цифру, которая обычно изображается в символьном коде ASCII.
Сформированное множество процессов необходимо распределить по процессорам для выполнения. Неизвестен эффективный способ априорного определения числа процессоров, для которого может быть получено наилучшее среди всех возможных распределение.