Реклама:

Для большинства людей уровень архитектуры набора команд - это "машинный язык". На этом уровне машина имеет память с байтовой или пословной организацией, состоящую из нескольких десятков мегабайтов и содержащую команды наподобие MOVE, ADD и BEQ.

В большинстве современных компьютеров память организована в виде последовательности байтов, при этом 4 или 8 байт группируются в слова. Обычно в машине есть от 8 до 32 регистров, каждый из которых содержит одно слово. В некоторых машинах (например, в Pentium 4) при обращении к словам памяти выравнивание по естественным границам ячеек не требуется, в других (например, в UltraSPARC III) это - обязательное условие.

Команды обычно имеют 1, 2 или 3 операнда, обращение к которым происходит с помощью различных режимов адресации: непосредственной, прямой, регистровой, индексной и т. д. Команды обычно могут перемещать данные, выполнять унарные и бинарные операции (в том числе арифметические и логические), совершать переходы, вызывать процедуры, выполнять циклы, а иногда и некоторые операции ввода-вывода. Типичные команды перемещают слово из памяти в регистр или наоборот, складывают, вычитают, умножают или делят два регистра или регистр и слово из памяти, или сравнивают два значения в регистрах или памяти. Довольно часто количество команд в компьютерах превышает 200. В CISC-процессорах их и того больше.

Для передачи управления на уровне архитектуры команд используются различные примитивы: перехода, вызовов процедур и сопрограмм, перехвата исключений и обработки прерываний. Переходы нужны для того, чтобы остановить одну последовательность команд и начать новую. Процедуры позволяют выделить какой-то фрагмент программы, который можно затем вызывать из различных мест этой же программы. Сопрограммы позволяют двум потокам управления работать параллельно. Перехват исключений используется для сигнализации об исключительных ситуациях (например, о переполнении). Механизм прерываний дает возможность выполнять ввод-вывод параллельно с основными вычислениями, при этом, как только ввод-вывод завершается, центральный процессор получает сигнал об этом.

Задачу "Ханойская башня" можно решить с использованием рекурсии.

Наконец, в архитектуре IA-64 используется вычислительная модель EPIC, упрощающая реализацию параллелизма в программах. Для повышения быстродействия в этой архитектуре предусмотрены группировка команд, предикация и спекулятивная загрузка. Архитектура IA-64 способна стать удачной заменой Pentium 4, даже несмотря на то, что она возлагает на компилятор большую нагрузку в плане поддержания параллелизма.

Спекулятивная загрузка || Оглавление || Вопросы и задания5