Характеристики выполнения команд (46537)

Посмотреть архив целиком

Характеристики выполнения команд

Иркутский государственный университет путей сообщения

Иркутск 2010

Анализ процесса выполнения программ, написанных на языках высокого уровня, создал предпосылки для разработки нового типа архитектуры процессоров — RISC-архитектуры. Ее особенностью является использование сокращенного набора машинных команд. Анализ показал» что доминирующими в программе являются операторы присваивания, а это означает, что основные усилия следует направить на оптимизацию операций передачи переменных. Кроме того, в программах встречается очень много условных выражений XF и операторов цикла LOOP, что требует разработки эффективного механизма управления, оптимизирующего конвейерную организацию выполнения ма-шинных команд. В то же время анализ форм адресации показал, что вполне возможно добиться высокой производительности работы процессора, размещая операнды в регистрах.

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

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

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

Концепция семейства машин. Эта концепция была внедрена впервые специалистами из IBM при проектировании семейства S/360 в 1964 году. За ними последовали разработчики из DEC со своим семейством PDP-8. Концепция семейства предусматривает определенное дистанцирование архитектуры компьютера от его структурной и схемной реализации. Потребителю предлагается функциональный ряд компьютеров, разных по производительности и стоимости, но имеющих одинаковую архитектуру.

Микропрограммное управление. Этот принцип предложен М. Уилксом (M.V. Wiikes) в 1951 году и реализован в семействе IBM S/360 в 1964 году. Микропрограммирование облегчает разработку и упрощает структуру устройства управления процессора, а также хорошо сочетается с концепцией семейства компьютеров.

Применение кэш-памяти. Реально впервые реализовано в модели IBM 360/85 в 1968 году. Включение уровня, кэш-памяти в иерархию памяти компьютера позволило существенно повысить его производительность.

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

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

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

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

большое количество универсальных регистров в составе процессора или ориентация на применение компиляторов, оптимизирующих использование регистров;

ограниченное количество относительно простых команд в наборе; .

перенос центра усилий при проектировании на' оптимизацию конвейера операций.

В табл. 12.1 сравниваются параметры некоторых RISC-систем, CISC-систем1 и систем с суперскалярной архитектурой.

Эту главу мы начнем с небольшого обзора особенностей процесса выполнения программы и рассмотрим три только что упомянутых темы. Затем последует описание двух конкретных RISC-систем, по которым имеется широко доступная и подробная техническая документация.

1Аббревиатура CISC означает complex instruction set computer — компьютер с расширенным набором команд. — Прим, перев.

Таблица 12:1. Сравнительные характеристики процессоров с CISC-, RISC- и суперскалярной архитектурой



CISC-системы

RISC-системы

Суперскалярные

системы

Параметр

IBM 370/168

VAX 11/780

Intel 80486

SPAEC

MIPS

R4000

Power

PC

Ultra SPARC

MIPS

R10000

Год разработки

1973

1978

1989

1987

1991

1993

1996

1996

Количество команд в наборе

208

308

235

69

94

225




Размер команды (байт)

2-6

2-57

1-11

4

4

4

4

4

Количество режимов адресации

4

22

11

1

1

2

1

1

Количество

универсальных регистров

16

16

8

40-520

82'

32

40-620

32

Размер управляющей памяти (Кбит)

420

480

246

_

_

_

_

_

Размер кэш-памяти' (Кбайт)

64

64

8

32

128

16-32

32

64

Характеристики выполнения команд

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

В ответ на запросы пользователей разных категорий разрабатываются все новые и новые языки программирования высокого уровня (ЯПВУ), которые позволяют в более компактной форме представлять алгоритмы, берут на себя заботы о деталях реализации вычислений и "часто поддерживают естественный для многих задач объектно-ориентированный характер обработки информации.

Но увы, повышение уровня "интеллектуальности" ЯПВУ порождает проблему, известную сейчас под именем "семантического разрыва" — существенного разрыва между операциями, описываемыми выражениями ЯПВУ, и операциями, поддерживаемыми на уровне машинного языка. Этот разрыв проявляется в снижении эффективности процесса выполнения программы, росте размеров машинного программного кода и усложнении программ-компиляторов. Специалисты, занятые разработкой архитектуры компьютеров, задались целью устранить разрыв. Среди причин его возникновения многие называют возросшее количество машинных команд в наборе, большое разнообразие режимов адресации, стремление аппаратно реализовать некоторые операторы ЯПВУ. Примером последней тенденции является машинная команда CASE в процессоре VAX. Использование расширенных наборов команд преследует такие цели:

упрощение компиляторов;

повышение эффективности выполнения программы, поскольку сложные последовательности операций могут быть реализованы на уровне микрокоманд;

поддержка все более сложных и "интеллектуальных" ЯПВУ.

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

Чтобы понять ход рассуждений адептов нового подхода, обратимся к особенностям процесса выполнения машинной команды. Вас интересуют следующие аспекты этого процесса.


Случайные файлы

Файл
147974.rtf
113932.rtf
93557.rtf
83833.rtf
93213.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.