Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс_ЛЕКЦИЙ_АРХ_2012.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.17 Mб
Скачать
    1. Система команд

Система команд — набор элементарных вычислительных опера­ций, обеспечивающих выполнение заданного класса алгоритмов и ре­ализованных аппаратными средствами компьютера. В литературе ча­сто можно встретить термин «инструкции, операцияя», эквивалентный термину « команда».

Системы команд бывают универсальные и специализированные. Команды по количеству адресов делятся на:

  • безадресные команды (КОп - Код Операции);

  • одноадресные команды (КОп А — Код Операции, Адрес опе­ранда);

  • двухадресные команды (КОп А1А2 — Код Операции, Адрес пер­вого операнда, Адрес второго операнда или аккумулятора);

  • трехадресные команды (КОп А1А2А3 — Код Операции, Адрес первого операнда, Адрес второго операнда, Адрес результата).

Здесь под адресом операндов понимается двоичный код в адрес­ном поле команды.

Он еще не равен физическому адресу ячейки и должен быть преобразован в зависимости от способа адресации. К основным способам адресации относятся:

Регистровая (операнд – в регистре данных или адреса).

Косвенно-регистровая (операнд – в ячейке памяти, адресуемой содержимым регистра адреса).

Косвенно-регистровая с постинкрементом (операнд – в ячейке памяти, адресуемой содержимым регистра адреса, который автоматически увеличивается после выборки операнда).

Косвенно-регистровая с пердинкрементом (операнд – в ячейке памяти, адресуемое содержимым регистра адреса, которое автоматически уменьшается перед выбором операнда).

Косвенно-регистровая с индексированием (операнд – в ячейке памяти, ее адрес равен сумме содержимого регистра адреса, индексного регистра и задаваемого в команде 8-ми (иногда 16-ти и 32-х) разрядного смещения).

Прямая (операнд – в ячейке памяти, адрес которой задается числом, указанным в команде).

Относительная (операнд – в ячейке памяти, адрес которой – сумма текущего содержимого программного счетчика и данного в команде 16-ти (32-х) разрядного смещения).

Относительная со смещением (операнд –в ячейке памяти, адрес которой – сумма содержимого программного счетчика, индексного регистра и указанного в команде 16-ти (32-х) разрядного смещения).

Непосредственная (операнд – в команде). После преобразования из адресного кода получается исполни­тельный адрес Аисп, который подается на запоминающее устройство.

Команды выполняют следующие функции.

  • КОп - команды остановки, ожидания, сброса и другие служеб­ные команды

  • КОп А — результат всегда записывается в специальный регистр-аккумулятор. Адрес операнда А показывает откуда бе­рутся данные.

  • КОп А1А2 — выбираются два операнда, результат операции за­поминается по одному из адресов операндов. При этом соответ­ствующий операнд теряется. Такие команды составляют основу системы команд процессоров Intel.

  • КОп А1А2А3 — выбираются два операнда, и задается адрес, куда следует направить результат.

Центральный процессор выполняет каждую команду в соответствии с алгоритмом, включающим следующую последовательность шагов:

  1. Вызов следующей команды из памяти и перенос ее в регистр команд,

  2. Изменение положения счетчика команд, который после этого указывает на следующую команду,

  3. Определение типа вызванной команды,

  4. Если команда использует слово из памяти, определение адреса этого слова,

  5. Считывание содержимое слова в регистр центрального процессора.

  6. Выполнение команды,

  7. Переход к шагу 1, чтобы начать выполнение следующей команды.

Такая последовательность шагов (выборка декодирование выполнение) является основой работы всех компьютеров.

Алгоритм работы центрального процессора всегда можно представить в виде про­граммы. А это

означает, что программа не обязательно должна выпол­няться реальным процессором (устройством).

Такой алгоритм может реализовываться некоторой программой, выполняемой на другом процессоре. Та­кая программа называется интерпретатором (интерпретация – перевод на другой язык)

Интерпретатор реализует команды процессора с помощью более мелкие элементарных микрокоманд другого процессора.

В резуль­тате машина, предназначенная для выполнения интерпретатора, может быть го­раздо проще и дешевле, чем процессор, выполняющий программы без интерпретации (на аппаратном уровне).

Это важно при большом количестве сложных команд с различными параметрами.

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

При наличии сложных команд программы выполняются быстрее, хотя выполнение каждой отдельной команды занимает больше времени.

Если обнаруживалось, что пара тех или иных команд часто выполняется после­довательно, вводилась новая команда, заменяющая эти две.

Таким образом, у дорогих компью­теров было гораздо больше команд, чем у дешевых.

Требования совместимости программ привело к тому, что сложные команды стали использоваться и в дешевых компьютерах. Характеристикой такой совместимости является понятие архитектура команд процессора.

Семейство компьютеров, отличающихся производительностью и стоимостью, но имеющих единую архитектуру команд, должны обеспечивать выполнение одних и тех же программ.

Способом обеспечения такого свойства стала интерпретация.

Пример. Архитектура System/360 (IBM) — семейство совместимых компьютеров, различающихся по цене и производительности. Аппаратное обес­печение, позволяющее работать без интерпретации, использовалось только в са­мых дорогих моделях.

Метод интерпретации имеет следующие достоинства:

  • возможность исправлять неправильно выполненные команды или даже ком­пенсировать ошибки аппаратного обеспечения;

  • возможность добавлять новые команды при минимальных затратах, при­чем при необходимости уже после покупки компьютера;

  • возможность (благодаря структурированной организации) разработки, про­верки и документирования сложных команд.

Широкое применение подхода интерпретации привело к появлению понятия RISC - архитектура (Reduced Instruction Set Computer — компьютер с сокращенным набором команд) Такие ЭВМ имели около 50 быстрых команд.

RISC - архитектура — основа современных рабочих станций и мощных серверов. Причиной их создания стало стремление отойти от неймановской архитектуры ЭВМ, чтобы избавиться от некоторых ее недостатков.

Примерами RISC машин являются: а) суперкомпьютеры Cray, б) компьютеры Sun Microsystems, реализующие архитектуру SPARC - масштабируемые процессорные структуры (обеспечиваю­щие возможность наращивания количества процессоров).

Для них ха­рактерна 64-х разрядная арифметика. Теоретически для целочисленных операций оптимальна тридцати двух битовая раз­рядность, а для операций с плавающей точкой - шестидесяти четырех битовая.

Особенности RISC:

  • отделение медленной оперативной памяти от высокоскоростных внутренних регистров. Все операции обработки данных обраща­ются только к регистрам внутри процессора;

  • эффективное конвейерное выполнение команд;

  • реализация любой команды из системы за один машинный такт, при этом все команды имеют фиксированную длину;

  • логика выполнения команд реализуется аппаратными средства­ми, а не микропрограммным управлением;

  • наличие регистрового файла с большим числом (до двухсот пя­тидесяти шести) регистров.

Использование RISC архитектуры позволяет обойтись меньшим количеством транзисторов на кристалле, чем CISC, поэтому RISC - процессоры давно имеют шестидесяти четырех битовую организа­цию.

Недостаток RISC — увеличение размера транслируемого кода программы. В современных процессорах Intel использовано много ар­хитектурных приемов из RISC- архитектуры.

Архитектура ЭВМ использующая только аппаратное выполнение команд процессором получила наименование CISC (Complex Instruction Set Compu­ter — компьютер с полным набором команд). (200-300 команд).

Для универсальных ЭВМ характерно использование всех типов команд. Такие системы команд называются CISC. Характеристики CISC-процессоров:

  • сравнительно небольшое число регистров общего назначения;

  • разнообразие типов команд, многие из которых аналогичны опе­раторам языков высокого уровня;

  • разнообразие методов адресации;

  • много форматов команд разной длины: от безадресных до трех­адресных;

  • наличие команд регистр-память (обрабатывающие команды об­ращаются к оперативной памяти).

В современных ЭВМ используются также архитектура системы команд VLIW (Very Long Instruction Word) - система с командными сло­вами сверхбольшой длины. Эта архитектура базируется на RISC архитектуре, при этом несколько простых RISC - команд объединяются в одно сверхдлинное слово, и выполняется параллельно. Такая архитектура команд применена в процессорах Itanium фирмы Intel.