Файл: Кафедра по предмету тема.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.01.2024

Просмотров: 27

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.




МИНИСТЕРСТВО ПО РАЗВИТИЮ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И КОММУНИКАЦИЙ РЕСПУБЛИКИ УЗБЕКИСТАН ФЕРГАНСКИЙ ФИЛИАЛ ТАШКЕНТСКОГО УНИВЕРСИТЕТА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

ИМЕНИ МУХАММАДА АЛ-ХАРЕЗМИЙ
ФАКУЛЬТЕТ

«_________________________________________________________»

КАФЕДРА

«_________________________________________________________»

ПО ПРЕДМЕТУ

«_________________________________________________________»
Тема:_______________________________________

____________________________________________

САМОСТОЯТЕЛЬНАЯ РАБОТА

Выполнил(а): студент(ка) группы _______

_________________________

Принял(а): _________________________

ФЕРГАНА -2021

Система команда Машины

Введение

Система машинных команд является важнейшей частью архитектуры компьютера, так как с их помощью производится непосредственное управление работой процессора. Каждая команда ассемблера = 1 команде машины. Команды, которые не содержат операндов, занимают в памяти 1 байт.Каждая программа состоит из отдельных машинных команд; команда является указанием процессору произвести какую-либо элементарную операцию, например, копирования информации, сложения
и др. Все программы более высокого уровня (текстовый редактор, лазерный проигрыватель и прочие, в том числе написанные на языках программирования) сводятся к последовательности машинных команд.

1Что такое Систе́ма кома́нд (также набо́р кома́нд) — соглашение о предоставляемых архитектурой средствах программирования, а именно:

  • определённых типах данных,

  • инструкций,

  • системы регистров,

  • методов адресации,

  • моделей памяти,

  • способов обработки прерываний и исключений,

  • методов ввода и вывода.

Система команд представляется спецификацией соответствия (микро)команд наборам кодов (микро)операций, выполняемых при вызове команды, определяемых (микро)архитектурой системы. (При этом на устройствах с различной (микро)архитектурой может быть реализована одна и та же система команд. Например, Intel Pentium и AMD Athlon имеют почти идентичные версии системы команд x86, но имеют радикально различный внутренний дизайн.)


Базовыми командами являются, как правило, следующие:

  • арифметические, например, «сложения» и «вычитания»;

  • битовые, например, «логическое и», «логическое или» и «логическое не»;

  • присваивание данных, например, «переместить», «загрузить», «выгрузить»;

  • ввода-вывода, для обмена данными с внешними устройствами;

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

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

  • Если объединить наиболее часто используемую последовательность микроопераций под одной микрокомандой, то надо будет обеспечивать меньше микрокоманд. Такое построение системы команд носит название CISC (Complex Instruction Set Computer), в распоряжении имеется небольшое число составных команд.

  • С другой стороны, это объединение уменьшает гибкость системы команд. Вариант с наибольшей гибкостью — наличие множества близких к элементарным операциям команд. Это RISC (Reduced Instruction Set Computer), в распоряжении имеются усечённые, простые команды.

  • Ещё большую гибкость системы команд можно получить, используя MISC-подход, построенный на уменьшении количества команд до минимального и упрощении вычислительного устройства обработки этих команд.



2.Виды системных команд

Совокупность всех операций, которые может выполнять машина, образует систему ее команд. Система команд зависит от конструкции ЭВМ;
в пределах одного семейства компьютеры имеют совместимые инструкции.

Несмотря на отдельные отличия, системы машинных команд имеют много общего. Любая ЭВМ обязательно содержит следующие группы команд обработки информации.

1. Команды передачи данных (перепись), копирующие информацию из одного места в другое. Команды передачи данных предназначены для пересылок байт (обозначается В), слов (W) или двойных слов (D) из памяти в регистр, из регистра в память и из регистра в регистр. В одной команде невозможно использование двух операндов, расположенных в памяти (за исключением цепочечных команд и операций со стеком).



Команда MOV передает байт, слово или двойное слово из источника в приемник. В поле операндов приемник находится на первом месте, источник - на втором.

Команда XCHG осуществляет обмен байт, слов или двойных слов. Различий между приемником и источником нет.

Команда XLAT заменяет значение в регистре AL на байт из таблицы, адресуемой регистром (Е)BX, причем индексом таблицы служит содержимое регистра AL. Эта команда удобна для преобразования из одного кода в другой.

Команда LEA обеспечивает вычисление эффективного адреса ЕА ячейки памяти в соответствии с указанным способом адресации и загрузку ЕА (а не содержимого адресуемой ячейки памяти!) в указанный общий регистр.
Команды LDS, LES... загружают четыре (или шесть) смежных байта из памяти в адресуемый регистр (16 или 32 бита) и в соответствующий сегментный регистр (16 бит). Слово (двойное слово) операнда источника из ячейки памяти, адресуемой в соответствии с указанным методом адресации, передается в выбранный регистр, а следующее слово - в регистр DS (команда LDS), в регистр ES (команда LES) и т.д.

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

3. Логические операции, позволяющие компьютеру производить анализ получаемой информации. После выполнения такой команды, с помощью условного перехода ЭВМ способна выбрать дальнейший ход выполнения программы. Простейшими примерами команд рассматриваемой группы могут служить сравнение, а также известные логические операции И, ИЛИ, НЕ (инверсия). Кроме того, к ним часто добавляется анализ отдельных битов кода, их сброс и установка.

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

5. Команды ввода и вывода информации для обмена с внешними устройствами.

6. Команды управления
, к которым прежде всего следует отнести условный и безусловный переход, а также команды обращения к подпрограмме (переход с возвратом). Некоторые ЭВМ имеют специальные команды для организации циклов, но это не обязательно: любой цикл может быть сведен к той или иной комбинации условного и безусловного переходов. Часто к этой же группе команд относят операции по управлению процессором; с ростом сложности устройства процессора количество такого рода команд увеличивается.

По степени сложности команд и их ассортименту процессоры разделяют на две группы — RISC и CISC (см. “Процессор”).

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

Любая команда ЭВМ обычно состоит из двух частей — операционной и адресной. Операционная часть (иначе она еще называется кодом операции — КОП) указывает, какое действие необходимо выполнить с информацией. Адресная часть описывает, где используемая информация хранится и куда поместить результат.

Команды могут быть одно-, двух- и трехадресные в зависимости от количества возможных операндов. Первые ЭВМ имели наиболее простую и наглядную трехадресную систему команд. Например: взять числа из адресов памяти А1 и А2, сложить их и сумму поместить в адрес А3. Для реализации этого сложения на одноадресной машине потребуется выполнить не одну, а три команды:

a) извлечь содержимое ячейки А1 в сумматор;

b) сложить сумматор с числом из А2;

c) записать результат из сумматора в А3.

Может показаться, что одноадресной машине для решения любой задачи потребуется втрое больше команд, чем трехадресной. На самом деле это далеко не всегда так. Попробуйте самостоятельно спланировать программу вычисления выражения Y = (X1 + X2) * X3/X4 и вы с удивлением обнаружите, что потребуется 3 трехадресных команды и всего 5 одноадресных. Таким образом, одноадресная машина в чем-то даже эффективнее, т.к. она не производит ненужной записи в память промежуточных результатов.

Ради полноты изложения следует сказать о возможности реализации безадресной (нульадресной) машины, использующей особый способ организации памяти — стек. Хотя подобная машина неудобна для человека, она легко реализуется в компьютере; в частности, именно так устроена JAVA-машина.


Чтобы получить хотя бы некоторое представление об уровне машинных команд, приведем примеры нескольких типичных инструкций для процессоров семейства Intel.

С точки зрения программиста, машинные команды — это самый низкий уровень. Но для процессора каждая инструкция распадается на еще более простые составные части, которые принято называть тактами. На каждом такте процессор выполняет какие-либо совсем элементарные действия, например, обнуляет один из своих внутренних регистров, копирует содержимое из одного регистра в другой, анализирует содержимое отдельных битов информации и т.д. Для синхронизации последовательных машинных тактов они инициируются с помощью специального тактового генератора. Его частота выбирается инженерами таким образом, чтобы к началу следующего такта все операции предыдущего успевали надежно заканчиваться.

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

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

Эксперименты показывают 5, что для процессоров типа Pentium и ниже простые инструкции (пересылки, сложение регистров и т.п.) выполняются примерно за один такт. Таким образом, тактовая частота вполне может служить приблизительной оценкой количества таких операций, выполняемых за 1 секунду. Для более поздних моделей картина существенно “размывается” из-за сложных методов одновременного выполнения нескольких операций.

3.Форматы машинных команд


Представление данных и архитектура ЭВМ / Структура и форматы машинных команд

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