Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_з_1.doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
2.57 Mб
Скачать

Контрольные вопросы

  1. Перечислите функции процессора.

  2. Каковы функции РК и СчК в процессоре?

  3. Назначение АЛУ процессора?

  4. Что дает введение в состав АЛУ РОНов?

  5. Назначение УУ процессора?

  6. Основное отличие между аппаратными и микропрограммными УУ?

  7. Перечислите основные узлы блока микропрограммного управления.

  8. Опишите процедуру выполнения команд условного и безусловного переходов.

  9. Опишите процедуру выполнения команды вызова подпрограммы.

  10. Какое основное отличие выполнения команд вызова подпрограмм и выполнения команд условного и безусловного переходов?

4. Система команд и адресация данных

4.1. Группы команд

Основная функция любого процессора, ради которой он и создается, – это выполнение команд. Система команд, выполняемых процессором, представляет собой нечто подобное таблице истинности логических элементов или таблице режимов работы более сложных логических микросхем. То есть она определяет логику работу процессора и его реакцию на те или иные комбинации внешних событий. Система команд микропроцессора - это полный перечень элементарных действий, которые он может выполнить. Управляемый командами микропроцессор выполняет простые действия (+,–,*,/,<,>,=, логические операции и т.д.). Однако, с помощью этих действий (команд) можно запрограммировать любую сложную операцию.

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

Система команд является одной из важнейших архитектурных характеристик процессора и ВМ в целом. Она определяет сово­купность операций, реализуемых процессором. В понятие система команд входят:

• форматы команд и обрабатываемых данных;

• список команд, их функциональное назначение;

• способы адресации данных.

Команды, реализуемые любым МП, можно подразделить на следующие функциональные группы:

- пересылки данных и ввода-вывода;

- арифметических и поразрядных логических операций;

- передачи управления.

Команды пересылок данных обеспечивают как внутренний об­мен информацией между регистрами внутри МП, так и внешние обмены данными при их передаче в МП из памяти или устройства ввода и из МП в память или устройство вывода. Обозначения ко­манд пересылок, используемые в языках Ассемблера, имеют вид: move (переслать), load (загрузить), store (запомнить), exchange (обменять). В командах этой группы обычно указывается направ­ление передачи, источник и (или) приемник данных. Так как боль­шинство современных МП различают АП ввода-вывода и памя­ти, то для обращения к портам ввода-вывода, выделенным в от­дельное адресное пространство, используют специальные коман­ды пересылок с обозначениями input для ввода и output для выво­да. В группу команд пересылок часто включают команды загрузки в стек push и извлечения pop из стека.

В большинстве случаев в число команд арифметических и пораз­рядных логических операций входят команды простейших арифме­тических операций: сложить (add), вычесть (subtract - sub) и ко­манды поразрядных логических операций И (and), ИЛИ (ог), ис­ключающее ИЛИ (xor). К командам арифметиче­ских операций часто относят команды сдвигов (арифметических и логических), а к командам логических операций - команды срав­нения compare (неразрушающего вычитания). Логические сдвиги отличаются от арифметических тем, что в них участвуют все раз­ряды чисел, включая знаковые.

Команды сложных арифметических операций типа умножения и деления содержатся в системах команд не у всех МП. В простей­ших МП таких команд нет, и эти операции выполняются про­граммным путем, что требует существенно больших затрат време­ни. В некоторых МП система команд ориентирована только на обработку двоичных чисел с фиксированной запятой. Операции с другими формами представления двоичных чисел чаще всего вы­полняются программно. Большинство МП также обеспечивают об­работку данных, представленных в двоично-десятичном коде. Для коррекции результатов арифметических операций над такими данными в группу команд арифметических операций включают специальные команды десятичной коррекции типа decimal adjust.

Команды передачи управления используются для изменения по­следовательности выполнения команд при наличии программных ветвлений jump, обращении к подпрограммам call и выхода из них return. Команды условных переходов реализуют передачи уп­равления в зависимости от значения признаков результата в регистре признаков. С их помощью МП может выбрать одну из возможных ветвей продолжения программы. Обычно в системе ко­манд имеется несколько команд условных переходов по прямому и инверсному значениям различных признаков результата.

Системы команд современных МП наряду с традиционными командами пересылок, арифметических и логических операций, командами передачи управления содержат в своем составе груп­пы команд, значительно расширяющие функциональные возмож­ности МП по обработке информации, управлению его работой, а также обеспечивающие реализацию многозадачного защищенно­го режима работы. В частности, команды МП Pentium можно раз­делить на следующие функциональные группы:

• команды операций над целыми числами (в их число включа­ют команды пересылки данных и ввода-вывода, команды ариф­метических и поразрядных логических операций, в том числе ко­манды сдвига, команды операций со строками символов, коман­ды битовых операций);

• команды операций над числами с плавающей точкой;

• команды передачи управления;

• системные команды поддержки функций ОС по управлению памятью, средствами защиты и переключению задач;

• команды расширений ММХ и SSE, поддерживающие техно­логию SIMD (Single Instruction - Multiple Data) над целыми чи­слами (ММХ) и числами с плавающей точкой (SSE - Streaming SIMD Extensions). Команды данной группы выполняют однотип­ные действия сразу над всеми числами в упакованных форматах;

• команды поддержки языков высокого уровня;

• команды управления МП.

В системы команд конкретных МП могут входить команды, не вписывающиеся в предложенную классификацию. Подобные ко­манды не отражают общих принципов построения программ и рассматриваются как дополнительные.