Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Системы команд компьютеров



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

Эффективность системы команд. Эффективность системы команд, используемых в компьютере, определяется двумя основными показателями: затратами оборудования на хранения и обработку команд и затратами времени на реализацию программ. Основная доля затрат оборудования приходиться на память, используемую для хранения программ. Поэтому для минимизации затрат оборудования необходимо, в первую очередь, минимизировать количество информации, составляющей программу, т.е. выбрать такие форматы команд, которые позволяют закодировать алгоритм минимальным числом бит информации. Формат команд, используемых в компьютере, существенно сказывается на числе обращений к памяти в процессе вычислений и влияет на время выполнения программ.

В предыдущем разделе было сказано, что к 90-м годам XX века сокращенная система команд компьютеров RISC оказалась наиболее согласованной с уровнем технологии производства компьютеров общего применения. За счет микропрограммирования и программ операционной системы система команд процессора может быть сколь угодно расширена в любом желаемом направлении. В связи с этим рассмотрим только систему команд RISC.

Сокращенная система команд. В связи с большим различием в быстродействии процессора и быстродействия основной памяти в компьютерах общего применения стремятся по возможности уменьшить длину команд за счет сокращения числа битов, используемых для представления кодов операций, и числа битов в адресной части команд. Наиболее радикальный способ сокращения длины команд – ориентация большинства команд на обработку данных, хранимых в регистрах общего назначения процессора, и организация обмена данными между процессором и основной памятью с помощью небольшого числа команд. Итак, будем ориентироваться на каноническую структуру компьютера (см. рис. 1.2), в процессоре которого имеются N регистров общего назначения R 0, R 1, …, RN- 1 и все команды программ и все данные размещены в памяти компьютера. Количество регистров ограничено и, как правило, равно 8, 16, 32, 64 и возможно более. Время чтения – записи слова из регистра составляет малую долю наносекунды, поскольку все регистры входят в состав сверхбольшой интегральной схемы процессора. Время обращения к памяти значительно больше и составляет как минимум 5 – 10 нс.

Минимальное количество команд, обеспечивающих загрузку слова в регистр из памяти и запись слова из регистра в память, равно двум:

LOAD A, Ri

и

STORE B, Rj,

где LOAD – операция ЗАГРУЗИТЬ и STORE – операция ЗАПИСАТЬ, A и B – загружаемый в регистр Ri и записываемый в память по адресу Rj операнд соответственно и Ri и Rj –адреса регистров общего назначения. Для адресации памяти могут использоваться любые способы, но чаще всего адрес ячейки памяти является относительным и модифицируемым. Естественно, что можно расширить список команд загрузки за счет передачи между регистром и памятью байта, слов разной длины, чисел с плавающей запятой, чисел с обратным знаком и т. д. При этом увеличивается эффективность системы посылочных операций, но одновременно с этим увеличивается длина кода операции и, как следствие, длина команд.

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

ADD Ri, Rj, Rk,

где ADD – операция сложения, Ri и Rj адреса операндов и Rk – адрес результата. В компьютерах могут использоваться двухадресные и одноадресные команды.

При использовании двухадресной системы команд и выполнении операций только над содержимым регистров задача вычисления значения C = A + B выполняется следующей последовательностью команд:

LOAD A, R 1
LOAD B, R 2
ADD R 1, R 2
STORE C, R 2 ,

где операция сложения выполняется в виде R 2:= R 1 + R 2 . Операции безусловного и условного переходов происходят, как правило, в одноадресном режиме, когда при наличии признаков перехода выполняется переход по заданному адресу, который и определяет адрес следующей команды программы, а при отсутствии признаков перехода будет выполнен переход к следующей команде программы.

Одноадресная система команд строится аналогично двухадресной. Однако для выполнения операций, в которых участвуют два операнда, необходимо располагать регистром общего назначения, в котором хранится один из операндов. В качестве такого регистра может использоваться регистр R 0 , который называется итоговым регистром процессора и служит для размещения результатов всех операций. Естественно, что каждая арифметическая и логическая операция выполняются в следующем виде: R 0 := R 0 * Ri, где * – знак операции.

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

В компьютерах, производимых различными фирмами, используются слова разной длины, как правило, длиной 8, 16, 32 и 64 бита, различные способы адресации данных и систем кодирования операций. По этим причинам сокращенные системы команд оказываются крайне разнообразными.





Дата публикования: 2014-11-29; Прочитано: 1850 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...