Сделай Сам Свою Работу на 5

Адресация данных и команд





Архитектура системы команд

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

Двумя основными архитектурами набора команд, используемыми компьютерной промышленностью на современном этапе развития вычислительной техники являются архитектуры CISC и RISC. Основоположником CISC-архитектуры можно считать компанию IBM с ее базовой архитектурой /360, ядро которой используется с1964 года и дошло до наших дней, например, в таких мейнфреймах как IBM ES/9000.

Микропроцессоры с архитектурой CISC (Complex Instruction Set Computers) - архитектура вычислений с полной системой команд. Реализующие на уровне машинного языка комплексные наборы команд различной сложности (от простых, характерных для микропроцессора первого поколения, до значительной сложности, характерных для современных 32 -разрядных микропроцессоров типа 80486, 68040 и др.).

Лидером в разработке микропроцессоров c полным набором команд (CISC - Complete Instruction Set Computer) считается компания Intel со своей серией x86 и Pentium. Эта архитектура является практическим стандартом для рынка микрокомпьютеров.



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

Микропроцессоры с архитектурой RISC (Reduced Instruction Set Computers) используют сравнительно небольшой (сокращённый) набор наиболее употребимых команд, определённый в результате статистического анализа большого числа программ для основных областей применения CISC - процессоров исходной архитектуры.

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



Все команды работают с операндами и имеют одинаковый формат. Обращение к памяти выполняется с помощью специальных команд загрузки регистра и записи. Простота структуры и небольшой набор команд позволяет реализовать полностью их аппаратное выполнение и эффективный конвейер при небольшом обьёме оборудования. Арифметику RISC - процессоров отличает высокая степень дробления конвейера. Этот прием позволяет увеличить тактовую частоту (значит, и производительность) компьютера; чем более элементарные действия выполняются в каждой фазе работы конвейера, тем выше частота его работы. RISC - процессоры с самого начала ориентированны на реализацию всех возможностей ускорения арифметических операций, поэтому их конвейеры обладают значительно более высоким быстродействием, чем в CISC - процессорах. Поэтому RISC - процессоры в 2 - 4 раза быстрее имеющих ту же тактовую частоту CISC - процессоров с обычной системой команд и производительней, несмотря на больший объём программ, на ( 30 % ). Дейв Паттерсон и Карло Секуин сформулировали 4 основных принципа RISC:

  1. Любая операция должна выполняться за один такт, вне зависимости от ее типа.
  2. Система команд должна содержать минимальное количество наиболее часто используемых простейших инструкций одинаковой длины.
  3. Операции обработки данных реализуются только в формате "регистр - регистр" (операнды выбираются из оперативных регистров процессора, и результат операции записывается также в регистр; а обмен между оперативными регистрами и памятью выполняется только с помощью команд загрузки-записи).
  4. Состав системы команд должен быть "удобен" для компиляции операторов языков высокого уровня.

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



Среди других особенностей RISC-архитектур следует отметить наличие достаточно большого регистрового файла (в типовых RISC-процессорах реализуются 32 или большее число регистров по сравнению с 8 - 16 регистрами в CISC-архитектурах), что позволяет большему объему данных храниться в регистрах на процессорном кристалле большее время и упрощает работу компилятора по распределению регистров под переменные. Для обработки, как правило, используются трехадресные команды, что помимо упрощения дешифрации дает возможность сохранять большее число переменных в регистрах без их последующей перезагрузки.

Таблица 3.1

Основные характеристики архитектур типовых MП:

Характеристика CISC RISC
     
Формат команд Переменный Фиксированный
Структура команд Сложная Простая
Выполнение всех команд Аппаратно- программное Аппаратное
Число команд Большое Небольшое
Число регистров Небольшое Большое
Время обработки прерывания Среднее Очень малое
Среднее число тактов за инструкцию 4 - 6 1 - 2

Постепенное усложнение CISC-процессоров происходит в направлении более совершенного управления машинными ресурсами, а также в направлении сближения машинных языков с языками высокого уровня.

В то же время сложная система команд и переменный формат команды процессором с CISC архитектурой привели к быстрому росту сложности схем (80386 содержит 270 тыс., а 80486 - 1 млн. транзисторов) и, как следствие, к пределу возможностей CISC- архитектуры в рамках существующей кремниевой технологии.

Усложнение RISС процессоров фактически приближает их архитектуру к СISC- архитектуре.

В настоящее время число MП с RISC-архитектурой существенно возросло и все ведущие фирмы США их производят, в том числе фирмы Intel, Motorola - производители основных семейств МП с СISC- архитектурой.

Процессоры с RISC - архитектурой широко применяются в платах - ускорителях ( акселераторах ) для преобразования стандартных 16 - разрядных ПЭВМ в 32 - разрядные персональные системы высокой производительности. К настоящему времени эта архитектура прочно занимает лидирующие позиции на мировом компьютерном рынке рабочих станций и серверов.

Форматы команд

Любая команда ЭВМ представляет собой некоторую упорядоченную последовательность двоичных разрядов, которая определяет:

  • Операцию, инициируемую этой командой.
  • Адреса операндов участвующих в этой операции.

Поэтому в большинстве ЭВМ команда имеет операционно-адресную систему.

Код ОП Код адресов (операндов)

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

Форматы команд должны обеспечивать достаточное пространство для задания всех операций.

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

Длина адресного поля команды очень тесно связана с организацией памяти компьютера, а также с размером адресного пространства памяти, которую можно непосредственно адресовать в памяти компьютера. Если память включает в себя M адресных элементов, тогда минимальная длина адресного поля: mmin = ]log2M[. Если исходить от фиксированной длины адресного поля, то емкость памяти будет зависеть от того, какова минимально адресуемая единица информации.

Адресация данных и команд

Любая машинная команда - это машинный код, который определяет:

  • Операцию.
  • Указывает на данные.

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

Таблица 3.2

Метод адресации Область применения
Регистровая Требуемое значение в регистре
Непосредственная или литеральная Для задания констант
Базовая со смещением Для обращения к локальным переменным
Косвенная регистровая Для обращения по указателю или вычисленному адресу
Индексная Полезна при работе с массивами
Прямая или абсолютная Полезна для обращения к статическим данным
Косвенная Выбирается значение по указателю
Автоинкрементная Полезна для прохода в цикле по массиву с шагом: В каждом цикле получает приращение
Автодекрементная Аналогична предыдущей. Обе могут использоваться для реализации стека
Базовая индексная со смещением и масштабированием Для индексации массивов

Все известные способы адресации данных разделены на две большие группы.

  • Прямые.
  • Непрямые.

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

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.