46537 (665580)

Файл №665580 46537 (Характеристики выполнения команд)46537 (665580)2016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

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

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

Иркутск 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. Использование расширенных наборов команд преследует такие цели:

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

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

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

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

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

• Выполняемые операции — функции, которые возлагаются на процессор, и взаимодействие процессора с памятью.

• Используемые операнды — типы операндов и частота их использования в командах. Эта информация послужит для выбора множества режимов адресации.

• Последовательность выполнения. Эта информация определяет структуру управления процессором и конвейера операции.

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

Операции

Анализу частоты применения операторов определенных типов в программах на языках высокого уровня посвящено довольно много исследований, основные результаты которых приведены в табл. 4.9 (см. приложение 4А в конце главы 4). Как видно из этой таблицы, данные, полученные при исследовании программ разного назначения, написанных на • распространенных языках, достаточно хорошо согласуются. Доминирующее положение в 'программах занимают операторы присваивания, что указывает на важность простых средств пересылки данных в наборе машинных команд. Следующими по частоте появления в программах являются условные выражения вроде IF и LOOP. В машинных программах эти выражения реализуются командами сравнения и условного перехода. Отсюда следует, что при проектировании набора команд особое внимание должно быть уделено командам управления ходом выполнения программы. Результаты анализа структур программ служат исходной информацией разработчику набора машинных команд процессора, указывая, какие операции встречаются при выполнении программ чаще других, а следовательно, оптимальная реализация каких команд дает наиболее ощутимый эффект. Нужно отметить, что оценки, полученные при анализе текстов программ, не несут информации о том, сколько времени реально тратится в процессе выполнения программы на операции того или иного типа. Чтобы получить оценки динамических параметров, требуется анализировать процесс выполнения странсированной программы на машинном языке и выяснить, какие операторы в исходном тексте программы повлекли за собой включение в выполняемую машинную программу большей части команд.

Такой анализ был выполнен следующим образом. В исследовании Паттерсона (Patterson) [РАТТ82-а], о котором мы уже упоминали в главе 4, тестовые программы на языках С и Pascal были скомпилированы в машинные программы компьютеров VAX, PDP-11 и Motorola 68000. Затем в процессе выполнения программ оценивалось среднее количество машинных команд и обращений к памяти при реализации операторов - разных типов. Соответствующие данные представлены во второй ж третьей колонках табл. 12.2. Они были получены при регистрации частоты появления определенных групп команд в процессе выполнения программы и, следовательно, отражают динамику выполнения программы. Данные в четвертой и пятой колонках табл. 12.2 представляют взвешенные статистические оценки и были получены следующим образом: каждое значение из второй и третьей колонок умножалось на количество машинных команд, которое сформировал компилятор при трансляции оператора соответствующего типа в исходной программе. Затем результаты были нормализованы. Таким образом, каждый элемент в четвертой и пятой колонках представляет собой относительную частоту появления, оператора определенного типа в типовой программе, взятую с весом, пропорциональным количеству машинных команд, необходимых для его реализации в выполняемой программе. По этому же принципу сформированы и данные в шестой и седьмой колонках табл. 12, 2, но в качестве весовых коэффициентов взято количество обращений к памяти при реализации в машинной программе оператора каждого типа.

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

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

Таблица 12.2. Взвешенная относительная динамическая частота появления в программах операторов языков высшего уровня

Динамическая частота появления

Взвешенная оценка количества машинных команд

Взвешенная оценка количества обращений к памяти

Pascal

С

Pascal

С

Pascal

С

Присваивание

45

38

13

14

15

(ASSIGN)

Возврат на

5

3

42

32

83

26

начало цикла

(LOOP)

Вызов

15

12

31

33

44

45

подпрограмм

(CALL)

Условный

29

43

11

21

7

13

переход (IF)

Безусловный

переход

-

3

-

-

-

-

(GOTO)

Другие

6

1

3

1

2

1

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

Характеристики

Тип файла
Документ
Размер
539,58 Kb
Тип материала
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

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

Список файлов реферата

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7027
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее