Набор инструкций • Набор команд это множество операций, которое исполняет процессор. • Набор команд -- это та граница, где проектировщик компьютера и программист рассматривают Архитектуру, как единое целое. Поэтому уровень команд должен быть удобен и согласован с разработчиками АО и ПО. Представление команды Команда содержит следующие элементы • Код операции • Ссылки на исполняемые операнды • Ссылку на результирующий операнд • Ссылку на следующую команду (необязательно) Команда указывает 1. ЧТО процессор делает и 2. КАК заданы операнды и операции в инструкциях? Вопросы, решаемые при проектировании •Множество операций. •Типы данных. •Формат команды. •Способы адресации. •Используемые регистры. Типы команд • Команды арифметической и логической обработки данных. • Команды преобразования. • Команды пересылки данных. • Команды ввода/вывода. • Команды системного управления. • Команды передачи управления. • Команды работы со строками. • Команды SIMD. Типы операндов • Числа (целые, с плавающей запятой десятичные). • Логические данные. • Адреса. • Константы (литералы). Формат команд При определении формата необходимо учитывать • • • • • • Общее число различных команд. Общую длину команды. Тип полей и их длина. Простота декодирования. Адресуемость и способы адресации. Стоимость оборудования для декодирования и исполнения команд. Разрядность адресной части Критерии выбора количества адресов • Емкость ЗУ, необходимого для хранения информации. • Временя выполнения команды. • Эффективность использования ячеек памяти для хранения программ. Способы адресации Вычисление эффективного адреса • Смещение (Displacement) -- 8,16,32- битное число, включенное в команду. • База (Base) -- содержимое базового регистра, используется для указания на начало некоторого массива. • Индекс (Index) -- содержимое индексного регистра, используется для выбора элемента массива. • Масштаб (Scale) -- множитель (,2,4 или 8), указанный в коде команды. Этот элемент используется для указания размера элемента массива Формат команды процессора Pentium