русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Системы и форматы команд


Дата добавления: 2014-03-21; просмотров: 2218; Нарушение авторских прав


 

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

Загружаемое ПО МПр (программа для ЭВМ) для исполнения аппаратными средствами процессора должна быть преобразована в специальную форму, учитывающую только существующие микрокоманды процессора. Это преобразование осуществляется специальной программой – компилятором, на выходе которой получается машинный код в виде «0» и «1», который непосредственно считывается из оперативной памяти и интерпретируется микропроцессором.

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

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



 

Рис.6 – Общая структура машинной команды

 

В качестве содержания поле «П» может указывать размер и тип ожидаемого операнда.

Адрес в команде – часть машинной команды, которая указывает на устройство или элемент данных.

В адресной части могут указываться следующие значения:

  • А1, А2, А3 – абсолютные адреса ячеек физической памяти, причем А1 и А2 – адреса ячеек операндов, А3 – адрес ячейки для записи результата.
  • А4 – абсолютный адрес ячейки физической памяти с машинным кодом следующей команды
  • R1, R2 – номера регистров общего назначения, где находятся операнды.
  • В – значение базового адреса
  • D – смещение или сдвиг

В зависимости от числа адресов, которые указаны в адресной части команды могут быть четырех-, трех-, двух- или одноадресные.

Четырехадресная машинная команда имее формат (см.рис7):

 

Рис.7 – Формат четырехадресной машинной команды

 

Результат операции записывается по адресу А3, при этом А1 … А3 – номер ячейки памяти или номер регистра, А4 – только адреса ячеек памяти. Такая машинная команда обеспечивает максимальную производительность МПр за счет того, что адреса операнда и адрес результата указывается явным образом. Однако в большинстве МПр поле А4 не используется. Использование адреса А3 в некоторых случаях также является избыточным. Поэтому большинство МПр серии х86 Intel или Motorola поддерживают двухадресные команды, которые имеют следующий формат (см.рис.8):

 

Рис.8 – Формат двухадресной машинной команды

 

Результат выполнения машинной команды записывается на место одного из операндов. Такая команда является наиболее часто используемой. Одноадресная команда имеет формат (см.рис.9):

Рис.9 - Формат одноадресной машинной команды

 

Адрес первого операнда в одноадресной команде задается явно; второй операнд хранится в специальном неадресуемом регистре (аккумуляторы). Результат может записываться по адресу А1 либо в аккумулятор. Для задач управления, где большая часть времени уходит на пересылки данных и логические операции целесообразнее использовать двухадресные команды, а для многошаговых вычислительных процедур целесообразно использовать одноадресные команды.

Команды ПУСК, ОСТАНОВ процессора относятся к безадресным.

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

Далее рассмотрим различные способы адресации, применяемые в рамках системы команд микропроцессора.

 



<== предыдущая лекция | следующая лекция ==>
Типы и форматы данных | Способы адресации


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.043 сек.