Какая информация может содержаться в одной команде программы
Команда это совокупность сведений используемых микропроцессором для выполнения одной из предусмотренных в нём операций по обработке данных.
В целом, система команд микропроцессора предназначена для осуществления последовательности действий с целью выполнения требуемого задания (программы).
В зависимости от степени универсальности или специализации каждый микропроцессор обладает определённой, присущей только ему системой команд.
Что же определяет система команд?
Это, как правило,
· перечень и содержание всех команд, которые способен выполнять микропроцессор;
· название машинных операций и коды, присвоенные этим операциям в соответствии с выполняемыми командами;
· структуру (формат) кодов команд;
· условия, при которых признаки результатов выполнения операций принимают определенные значения;
· условия переполнения разрядной сетки и т.д.
Современные микропроцессоры имеют свою индивидуальную систему команд, состоящую из 70-100 базовых команд. Базовыми являются команды, под воздействием которых микропроцессор выполняет все предписанные ему операции. С учётом модификации команд, вызванных использованием различных способов адресации памяти система команд микропроцессоров расширяется до 200-300 команд. (Например: i80386 – 220 команд, Pentium MMX – дополнительно к основным командам 57 команд по обработке мультимедийной информации, Pentium III – . дополнительно к основным командам 70 SIMD команд по обработке мультимедийной информации и т.д.).
Классификация команд микропроцессора.
Команды микропроцессоров классифицируются по нескольким основным признакам.
Рис. 1 Классификация команд микропроцессоров
Рассмотрим эту классификацию.
1. С функциональной точки зрения команды делятся на:
* команды передачи данных;
* команды обработки данных;
* команды управления;
* дополнительные команды.
2. С точки зрения структуры команд они делятся:
а) по числу адресов в команде:
* безадресные команды;
* одноадресные команды;
* двухадресные команды;
б) по длине команд:
* длиной в один байт;
* длиной в два байта;
* длиной в три байта.
3. По виду операндов:
* скалярные;
* векторные.
4. По типу адресации:
* с неявной адресацией;
* с непосредственной адресацией;
* с прямой адресацией.
Рассмотрим основное назначение команд, классифицируемых с функциональной точки зрения.
Команды передачи данныхобеспечивают пересылку информации между внутренними регистрами микропроцессора или регистрами и ячейками внешней памяти без выполнения каких либо операций обработки информации. Команды этой группы делятся на
* команды, связанные с обращением к регистрам;
* команды, связанные с обращением к памяти;
* команды ввода-вывода, выполняющие процедуру ввода-вывода информации из внешней памяти и периферийных устройств.
Команды обработки данных делятся на арифметические и логические.
Арифметические команды предназначены для выполнения в микропроцессоре арифметических операций сложения, вычитания, для добавления или вычитания константы и т.п. с данными, находящимися во внутренней (регистровой) или внешней памяти. Особенностями выполнения этой группы команд в микропроцессоре является то, что один из исходных операндов и результат операции хранятся в накопительном регистре (аккумуляторе). Поэтому эта группа команд адресует только один из исходных операндов.
Логические команды предназначены для выполнения в микропроцессоре логических операций: логического сложения, логического умножения, неравнозначности, поразрядного сравнения, сдвигов и других операций над символами, хранящимися во внутренних регистрах внешней памяти. Так как при выполнении этой группы команд один из операндов хранится в регистре-аккумуляторе, то эти команды так же адресуют только один из операндов.
Команды управления. Обычно в памяти микропроцессора команды программ расположены в последовательных ячейках памяти и выполняются одна за другой. Такая выборка команд из памяти для исполнения называется естественной. Однако, нередко случаются ситуации, когда необходимо изменить естественную последовательность выполнения команд. Это может иметь место тогда, когда вычислительный процесс должен пойти по одной из альтернативных ветвей алгоритма или в случае необходимости принудительного перехода на другой участок выполнения программы.
Команды управления (по другому команды перехода или команды ветвления) позволяют выполнять переходы в программе в соответствии со значением сформированных внутри микропроцессора признаков результатов. Все команды управления делятся на команды безусловного и условного перехода.
К числу команд управления часто относят команды вызова подпрограмм и команды возврата, предназначенные для организации входа в подпрограмму и последующего возврата к основной программе. В микропроцессоре эти команды находят исключительно широкое применение, так как по подпрограммам реализуются сложные арифметические операции типа умножения, деления, вычисления сложных тригонометрических функций и др.
Дополнительные команды используются для определения текущего состояния микропроцессора, работы со стековой памятью микропроцессора, изменения состояния специальных внутренних регистров или триггеров, влияющих на управление ходом вычислительного процесса, и др.
Структура команд.
Важнейшей характеристикой любой команды является её формат. Под форматом команды принято понимать распределение полей кода команды по разрядам машинного слова. Формат команды определяет её длину. Длина команды определяется в байтах.
Каждая команда должна указывать:
* машинную операцию подлежащую выполнению;
* местоположение операндов, участвующих в выполняемой операции;
* местоположение результата выполняемой операции.
Кроме указанной информации, в некоторых случаях в команде могут размещаться адрес следующей команды, непосредственно операнд или другая дополнительная информация.
В большинстве случаев команда состоит из трёх основных частей (полей):
* признаковой;
* операционной;
* адресной.
Упрощенная структура команды имеет вид:
Признаковая часть | Операционная часть | Адресная часть |
Рис. 2 Упрощенная структура команды
Каждая часть команды интерпретируется определённым образом при её выполнении.
Признаковая часть команды содержит информацию о типе используемых запоминающих устройств, способе адресации, памяти, типе формата выполняемой команды.
В некоторых случаях признаки команд содержат другую вспомогательную информацию или не используются вообще. В командах микропроцессора из-за ограниченной разрядной сетки, как правило, поле признаков отсутствует, а способы адресации операндов и другая дополнительная информация указывается в неявном виде в коде операции.
Операционнаячасть команды называется ещё кодом операции. Она содержит указание о типе выполняемой машинной операции, т.е. о тех действиях, которые должен выполнять микропроцессор. Число двоичных разрядов (n), отводимое для представления кода операции, определяется из соотношения
n > log2N
где N – число всех операций, выполняемых микропроцессором.
Адресная часть содержит адреса операндов участвующих в операции. Под адресомпонимается номер внутреннего регистра микропроцессора или ячейка внешней памяти, где содержатся необходимые данные для выполнения операции. В некоторых случаях в адресной части команды непосредственно содержится операнд.
Адресность – одна из основных характеристик МП и определяется количеством полей в формате команды, отводимых для размещения адресов операндов и результата операции.
Число указываемых в команде адресов может быть различным или совсем отсутствовать. Соответственно этому числу в МП используются безадресные, одноадресные, двухадресные, трёхадресные и четырёхадресные команды соответственно:
формат безадресной команды
Рис. 3 Формат безадресной команды
формат одноадресной команды
Рис. 4 Формат одноадресной команды
формат двухадресной команды
КОП | А1-адрес операнда 1 и результата | А2-адрес операнда 2 |
Рис. 5 Формат двухадресной команды
формат трёхадресной команды
КОП | А1-адрес операнда 1 | А2-адрес операнда 2 | А3-адрес результата |
Рис. 6 Формат трёхадресной команды
формат четырёхадресной команды
КОП | А1-адрес операнда 1 | А2-адрес операнда 2 | А3-адрес результата | А4-адрес очередной команды |
Рис. 7 Формат четырёхадресной команды
Безадресные команды состоят только их операционной части (КОП) и используются в тех случаях, когда действия выполняются над операндами, хранящимися в специально предусмотренных регистрах, адреса которых заранее известны. Признаки этих регистров (для безадресного обращения к ним) содержатся в кодах операции команд.
(Так, например, если перед выполнением операции операнд должен быть записан в специальный накопительный регистр (аккумулятор), то в команде передачи данных нет необходимости специально указывать адрес (номер) этого регистра. Эта информация может содержаться в коде операции команды, а ее выполнение при этом упрощается, так как не надо расшифровывать адрес регистра, к которому идется обращение. Однако при этом усложняется аппаратная реализация выполнения такой команды.)
Одноадресные команды содержат адрес только одного операнда. Местонахождение второго операнда и результата операции определяются неявно с помощью информации, заключенной в коде операции. В этом случае второй операнд находится в аккумуляторе и его использование предусматривается кодом операции. Аналогично, результат операции предполагается помещать, например в один и тот же накопительный регистр-аккумулятор или любой внутренний регистр МП.
Двухадресные команды содержат адреса двух операндов, участвующих в операции. Так как третий адрес в команде отсутствует, то результат операции можно записать либо по первому (второму) адресу с потерей информации, которая там была записана, либо оставить в регистре- аккумуляторе.
Использование трехадресных и многоадресныхкоманд не нашло широкого применения в микропроцессорах по причине неэкономного расходования памяти, аппаратных затрат и увеличения времени обработки таких команд.
Увеличение адресности команд, расширение самих адресных полей с ростом объема адресуемой памяти и использование вспомогательных полей для записи дополнительной информации в командах ведет к увеличению их длины.
а) | К | К | D | D | D | S | S | S | г) | К | К | R | P | K | K | K | K | ||||||||||||||||
б) | К | К | D | D | D | K | K | K | д) | К | К | К | К | К | К | К | К | ||||||||||||||||
в) | К | К | К | К | К | S | S | S | е) | К | К | С | С | С | К | К | К | ||||||||||||||||
ж) | К | К | N | N | N | К | К | К | |||||||||||||||||||||||||
Рис. 8 Структура однобайтовых команд
Современные МП оперируют с командами переменной длины. При этом число разрядов, образующих двоичный код команды, не является произвольным. Оно, как правило, кратно длине байта.
Широкое применение в МП получили одно-, двух- и трехбайтовые команды. Варианты форматов команд МП различной длины приведены ниже на Рис. 8 Рис. 9 Рис. 10.
а)
1 байт | 2 байта | |||||||
К | К | D | D | D | K | K | K | Непосредственный операнд |
б)
1 байт | 2 байта | ||||||||||||||||
К | К | К | К | К | K | K | K | Операнд или адрес порта | |||||||||
Рис. 9 Структура двухбайтовых команд
Трёхбайтовые команды | ||||||||||||||||||
1 байт | 2 байта | 3 байта | ||||||||||||||||
К | К | Р | Р | К | K | K | K | Младший полуадрес | Старший полуадрес | |||||||||
а) | ||||||||||||||||||
1 байт | 2 байта | 3 байта | ||||||||||||||||
К | К | К | К | К | K | K | K | Младший полуадрес | Старший полуадрес | |||||||||
б) | ||||||||||||||||||
1 байт | 2 байта | 3 байта | ||||||||||||||||
К | К | С | С | С | K | K | K | Младший полуадрес | Старший полуадрес | |||||||||
7 6 5 4 3 2 1 0 | 7 6 5 4 3 2 1 0 | |||||||||||||||||
в) | ||||||||||||||||||
Рис. 10 Структура трёхбайтовых команд
На Рис. 8 Рис. 9 Рис. 10 обозначено:
К – разряд поля кода операции;
Д – разряд трехбайтного номера регистра – приемника;
S – разряд номера регистра – источника;
PR – указатель, адресующую регистровую пару;
ССС – указатель условной передачи управления;
NNN – указатель адреса вектора прерывания.
Увеличение длины команды приводит к уменьшению производительности МП, так как обычно в МП осуществляется пословная (побайтная) обработка команд. Поэтому однобайтовые команды выполняются быстрее любых команд.
Вывод.
Таким образом, командаэто совокупность сведений используемых микропроцессором которая предназначена для осуществления последовательности действий с целью выполнения требуемого задания (программы).
2. выполнение команд в МП
Источник
- 1
- 2
- 3
- 4
- 5
3.0/5, Голосов: 48
Задание 1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Дополняет ли презентация информацию, содержащуюся в тексте параграфа? Какими слайдами вы могли бы дополнить презентацию?
Скачать презентацию
Дополняет, безусловно.
Можно было бы добавить еще про исполнителя Черепашка, например.
Задание 2. Что называют алгоритмом?
Алгоритм — это предназначенное для конкретного исполнителя описание последовательности действий, приводящих от исходных данных к требуемому результату.
Задание 3. Подберите синонимы к слову «предписание».
Это то же самое, что КОМАНДА, или по-другому указание к действию.
Задание 4. Приведите примеры алгоритмов, изучаемых вами в школе.
Написание сочинения (тема, введение, заключение и т. д.).
Решение квадратного уравнения через дискриминант.
Задание 5. Кто может быть исполнителем алгоритма?
Исполнитель — это некоторый объект (человек, животное, техническое устройство), способный выполнять определённый набор команд.
Задание 6. Приведите пример формального исполнителя. Приведите пример, когда человек выступает в роли формального исполнителя.
1) Калькулятор перемножает числа по заданному алгоритму.
2) Когда человека просят перезвонить по указанному номеру. Он вводит этот номер в телефон и нажимает вызов.
3) Когда ученик складывает числа столбиком или умножает, или решает квадратное уравнение по формуле – если отбросить фактор невнимательности и/или арифметической ошибки.
Задание 7. От чего зависит круг решаемых задач исполнителя «компьютер»?
Круг решаемых задач исполнителя “компьютер” зависит от его мощности, операционной системы, установленных на него программ.
Задание 8. Рассмотрите в качестве исполнителя текстовый процессор, имеющийся на вашем компьютере. Охарактеризуйте круг решаемых этим исполнителем задач и его среду.
Круг решаемых задач: введение текста, форматирование, удаление, редактирование и т. д.
Среда – программа, в которой это все можно сделать, например MS Word.
Задание 9. Что такое команда, система команд исполнителя?
Команда – предписание исполнителю о выполнении отдельного законченного действия.
Система команд исполнителя – совокупность всех команд, которые могут быть выполнены некоторым исполнителем.
Какие команды должны быть у робота, выполняющего функции:
а) кассира в магазине;
поздороваться, пробить товар по штрихкоду, упаковать товар, взвесить товар, посчитать количество товара 1 вида, принять деньги, проверить фальшивые купюры, посчитать сдачу, выдать сдачу, попрощаться и много другое частное.
б) дворника;
найти мусор/грязь, взять инструмент (метла, лопата, грабли), использовать инструмент (соответственно каждый), убрать инструмент, отчитаться о выполненной работе и т. д.
в) охранника?
Записать приходы/уходы, проверять документы/пропуска, здороваться, объяснять, почему нельзя пройти данному лицу, согласовывать проход тех, кого нет в списке по установленному порядку и т. д.
Задание 10. Исследуйте один из исполнителей системы КуМир. Охарактеризуйте его назначение, среду, СКИ, возможности ручного и программного управления.
Информацию можно найти в справочном руководстве программы КуМир.
Задание 11. Перечислите основные свойства алгоритма.
Основные свойства алгоритма:
• дискретности
• понятности
• определённости
• результативности
• массовости
Задание 12. К чему может привести отсутствие какого-либо свойства у алгоритма? Приведите примеры.
Приводит к тому, что не будет получен желаемый результат после исполнения алгоритма исполнителем.
• Нет понятности – на определенном этапе исполнитель остановится и не сможет выполнить следующий шаг – результат не будет достигнут.
• Нет определённости – исполнитель выполнит по-своему, не так, как ожидается, и мы не сможем быть уверены в финальном результате. Например, исполнитель берет любые камни – что там в итоге останется мы не знаем – включается фактор случайности от действий исполнителя.
Задание 13. В чём важность возможности формального исполнения алгоритма?
Его можно автоматизировать, дает определенный предсказываемый результат.
Задание 14. Последовательность чисел строится по следующему алгоритму: первые два числа последовательности принимаются равными 1; каждое следующее число последовательности принимается равным сумме двух предыдущих чисел. Запишите 10 первых членов этой последовательности. Выясните, как называется эта последовательность.
Ответ: 1, 1, 2, 3, 5, 8, 13, …
Чи́сла Фибона́ччи (иногда пишут Фибона́чи) — элементы числовой последовательности, в которой первые два числа равны либо 1 и 1, либо 0 и 1, а каждое последующее число равно сумме двух предыдущих чисел. Названы в честь средневекового математика Леонардо Пизанского (известного как Фибоначчи).
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, … (последовательность A000045 в OEIS)
Задание 15. Некоторый алгоритм получает из одной цепочки символов новую цепочку следующим образом. Сначала записывается исходная цепочка символов, после нее записывается исходная цепочка символов в обратном порядке, затем записывается буква, следующая в русском алфавите за той буквой, которая в исходной цепочке стояла на последнем месте. Если в исходной цепочке на последнем месте стоит буква «Я», то в качестве следующей буквы записывается буква «А». Получившаяся цепочка является результатом работы алгоритма. Например, если исходная цепочка символов была «ДОМ», то результатом работы алгоритма будет цепочка «ДОММОДН». Дана цепочка символов «КОМ». Сколько букв «О» будет в цепочке символов, которая получится, если применить алгоритм к данной цепочке, а затем ещё раз применить алгоритм к результату его работы?
Исходная цепочка | КОМ |
---|---|
1-й шаг | КОММОК |
2-й шаг | КОММОКН |
3-й шаг | КОММОКННКОММОК |
4-й шаг | КОММОКННКОММОКО |
Результат | КОММОКННКОММОКО |
Количество «О» в результате | 5 |
Ответ: 5 букв
Задание 16. Найдите в сети Интернет анимацию шагов алгоритма Эратосфена. С помощью алгоритма Эратосфена найдите все простые числа, не превышающие 50.
Для нахождения всех простых чисел не больше заданного числа n, следуя методу Эратосфена, нужно выполнить следующие шаги:
1. Выписать подряд все целые числа от двух до n (2, 3, 4, …, n).
2. Пусть переменная p изначально равна двум — первому простому числу.
3. Зачеркнуть в списке числа от 2p до n считая шагами по p (это будут числа кратные p: 2p, 3p, 4p, …).
4. Найти первое не зачёркнутое число в списке, большее чем p, и присвоить значению переменной p это число.
5. Повторять шаги 3 и 4, пока возможно.
Теперь все не зачёркнутые числа в списке — это все простые числа от 2 до n.
На практике алгоритм можно улучшить следующим образом. На шаге № 3 числа можно зачеркивать начиная сразу с числа p^2, потому что все составные числа меньше него уже будут зачеркнуты к этому времени. И, соответственно, останавливать алгоритм можно, когда p^2 станет больше, чем n. Также, все простые числа (кроме 2) — нечётные числа, и поэтому для них можно считать шагами по 2p, начиная с p^2.
Ответ: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47
Задание 17. Что будет результатом исполнения Черепашкой алгоритма?
Повтори 8 [Направо 45 Вперёд 45]
Ответ: правильный восьмиугольник
Задание 18. Запишите алгоритм для исполнителя Вычислитель, содержащий не более 5 команд.
а) получения из числа 3 числа 16:
3-1=2*3=6*3=18-1=17-1=16
Ответ: 12211
б) получения из числа 1 числа 25:
1*3=3*3=9*3=27-1=26-1=5
Ответ: 22211
Задание 19. Система команд исполнителя Конструктор состоит из двух команд, которым присвоены номера:
1 — приписать 2
2 — разделить на 2
По первой из них к числу приписывается справа 2, по второй число делится на 2. Как будет преобразовано число 8, если исполнитель выполнит алгоритм 22212? Составьте алгоритм в системе команд этого исполнителя, по которому число 1 будет преобразовано в число 16 (в алгоритме должно быть не более 5 команд).
8/2=4 >> 4/2=2 >> 2/2=1 >> 12 >> 12/2=6
Ответ: 6
1 >> 12 >> 12/2=6 >> 6/2=3 >> 32 >> 32/2 = 16
Ответ: 12212.
Задание 20. В какой клетке должен находиться исполнитель Робот, чтобы после выполнения алгоритма 3241 в неё же и вернуться?
Робот сделает полный круг по 4 клеткам, значит подходят только квадраты, между которых совсем нет стен. И нас будет интересовать верхний левый угол, т. к. движение будет такое:
Такому условию удовлетворяет на поле только старт из точки В.
Во всех других случаях робот врежется в стену.
Задание 21. К пятизначному натуральному числу применяется следующий алгоритм:
1) вычислить сумму первых двух цифр;
2) вычислить сумму последних трёх цифр;
3) записать полученные два числа друг за другом в порядке возрастания (неубывания).
Выясните наименьшее и наибольшее пятизначные числа, в результате применения к которым этого алгоритм получится число 1215.
Найдём наибольшее:
Первая сумма двух цифр: 15 = 9+6
Вторая сумма двух цифр: 12 = 9+3+0
Наибольшее пятизначное число: 96930
Найдем наименьшее:
Первая сумма двух цифр: 12 = 3+9
Вторая сумма двух цифр: 15 = 0+6+9
Наименьшее пятизначное число: 39069
Задание 22. К четырёхзначному натуральному числу применяется следующий алгоритм:
1) вычислить сумму первых двух цифр;
2) вычислить сумму последних двух цифр;
3) записать полученные два числа друг за другом в порядке возрастания (неубывания).
Выясните, какие из приведённых ниже чисел могут получиться в результате работы этого алгоритма: 2118, 1818, 1718, 1214, 123.
2118: не может получиться, так как нельзя получить результат 21 из цифр, максимум 18.
1818: может получиться, как пример число 9999.
1718: может получиться, как пример 9899.
1214: может получиться, как пример 7586.
123: не может получиться.
Ответ: 1818, 1718, 1214.
Задание 23.
Задание 24. Три актёра готовятся к спектаклю. С ними работают два опытных гримера. Каждый актер должен быть накрашен и причесан. Макияж у каждого актера продолжается полчаса, а причесывание – только 10 минут. Спланируйте работу гримеров так, чтобы актеры как можно быстрее подготовились к выходу на сцену. Сколько для этого потребуется времени?
Ответ: потребуется 1 час
Первый гримёр пока делает макияж одному актёру в течение 30 минут, за это время второй гримёр успеет сделать причесывание всем трём актерам. А затем оба приступят к макияжу для остальных двух актеров.
Задание 25. Группа четырёх туристов должна пройти по мосту в темноте. Идти по мосту одновременно могут не более двух туристов. При этом они могут пользоваться только одним фонарём. Перебросить фонарь с одного берега на другой нельзя, поэтому кто-то из них должен вернуться с фонарём.
Аня проходит через мост за 1 минуту, Борис – за 2 минуты, Вася – за 5 минут и Даша – за 10 минут.
Какое наименьшее время требуется туристам, чтобы все они перешли по мосту на другой берег?
1) Аня и Борис идут на другой берег, что займёт 2 минуты.
2) Аня возвращается обратно с фонарём за 1 минуту.
3) Аня отдаёт фонарь Васе и Даше, за 10 минут перейдут на другой берег.
4) Они отдают фонарь Борису, и он возвращается за Аней за 2 минуты.
5) Аня и Борис идут на другой берег за 2 минуты.
6) ФиналОчка: Туристам потребуется 17 минут перейти на другой берег.
Ответ: 17 минут
Решение заданий из учебника Информатика 8 класс Босова, параграф 2.1 Алгоритмы и исполнители. Понятие алгоритма, Исполнитель алгоритма, Свойства алгоритма, Возможность автоматизации деятельности человека.
Источник