Федеральное агенство железнодорожного транспорта

ФЕДЕРАЛЬНОЕ АГЕНСТВО Жд ТРАНСПОРТА

Государственное образовательное учреждение высшего проф образования.

ИРКУТСКИЙ Муниципальный Институт ПУТЕЙ СООБЩЕНИЯ





Выполнил:


Иркутск 2010


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

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

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


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

• Концепция семейства машин. Эта концепция была внедрена в первый Федеральное агенство железнодорожного транспорта раз специалистами из 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 и систем с суперскалярной архитектурой.

Эту главу мы начнем с маленького Федеральное агенство железнодорожного транспорта обзора особенностей процесса выполнения программки и разглядим три только-только упомянутых темы. Потом последует описание 2-ух определенных 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. Потом в процессе выполнения прогр оценивалось среднее количество машинных команд и воззваний к памяти при реализации операторов - различных типов. Надлежащие данные представлены Федеральное агенство железнодорожного транспорта во 2-ой ж третьей колонках табл. 12.2. Они были получены при регистрации частоты возникновения определенных групп команд в процессе выполнения программки и, как следует, отражают динамику выполнения прогр Федеральное агенство железнодорожного транспорта. Данные в четвертой и пятой колонках табл. 12.2 представляют взвешенные статистические оценки и были получены последующим образом: каждое значение из 2-ой и третьей колонок множилось на количество машинных команд, которое сформировал компилятор при Федеральное агенство железнодорожного транспорта трансляции оператора соответствующего типа в начальной программке. Потом результаты были нормализованы. Таким макаром, каждый элемент в четвертой и пятой колонках представляет собой относительную частоту возникновения, оператора определенного типа в типовой программке Федеральное агенство железнодорожного транспорта, взятую с весом, пропорциональным количеству машинных команд, нужных для его реализации в выполняемой программке. По этому же принципу сформированы и данные в 6-ой и седьмой колонках табл. 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



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

В уже упоминавшейся работе Паттерсона [РАТТ82-а] рассматривалась динамическая частота возникновения в программках переменных различных Федеральное агенство железнодорожного транспорта классов (табл. 12.3). Статистические характеристики для программ, написанных на языках С и Pascal, довольно отлично согласуются, и оказывается, что большая часть ссылок в программке относится к скалярным переменным. Более того, выше 80% этих скалярных Федеральное агенство железнодорожного транспорта переменных являются локальными. Ссылки на массивы либо составные структурные переменные требуют подготовительного воззвания к соответствующему индексу либо указателю, который, в свою очередь, в большинстве случаев также является локальной переменной. Как следует, в Федеральное агенство железнодорожного транспорта обычной программке

превалируют ссылки на скалярные переменные, при этом значимая часть ез. являются локальными.

В исследовании Паттерсона анализировались динамические статистические характеристики программ на языках высочайшего уровня, не зависящие от того, какова архитектура Федеральное агенство железнодорожного транспорта компьютера, на котором эта программка будет производиться. Как ранее говорилось в прошлом разделе, при более глубочайшем статистическом анализе программ архитектуру компьютера следует непременно учесть. В работе [LUND77] рассматривались динамические свойства программ Федеральное агенство железнодорожного транспорта компьютера PDP-10 и было показано, что в среднем на одну машинную команду приходится 0.5 ссылок на операнд, находящийся в памяти, и 1.4 ссылок на операнды в регистрах. Подобные результаты приводятся Федеральное агенство железнодорожного транспорта и в работе [HUCK83J, где анализировались программки компов IBM S/370, PDP-11 и VAX, написанные на языках С, Pascal и FORTRAN. Естественно, эти характеристи-ки очень зависят от особенностей архитектуры компов Федеральное агенство железнодорожного транспорта и свойства компиляторов, но, все же, они несут беспристрастную информацию о соотношении различных методов воззвания к переменным в программках.

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


Таблица 12.3. Динамическое рассредотачивание типов операндов в программках




Pascal

C

В среднем

Целые константы

16

23

20

Скалярные переменные

58

53

55

Массивы/структуры

26

24

25



Вызовы подпрограмм

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

В собственной работе [TANE78] Таненбаум (Tanenbaum) показал, что при вызове 98% подпрограмм передается наименее 6 характеристик и Федеральное агенство железнодорожного транспорта что в 92% вызванных подпрограмм' употребляется наименее 6 скалярных локальных переменных. Аналогичные результаты получила и группа исследователей из Беркли [КАТЕ83] (табл. 12.4). Они свидетельствуют, что для активизации подпрограмм необходимо передавать очень ограниченное Федеральное агенство железнодорожного транспорта количество слов данных. Работы, на которые мы ссылались выше, также указывают на то, что большая часть операций снутри подпрограмм производится с локальными скалярными переменными, при этом количество таких переменных в обычном Федеральное агенство железнодорожного транспорта случае очень невелико.

Группа исследователей RISC-архитектуры из Беркли также проанализировала типичную последовательность вызовов подпрограмм и возврата из их в главной программке, написанной на языке высочайшего уровня. Было найдено, что в программках достаточно Федеральное агенство железнодорожного транспорта изредка встречается непрерывная последовательность вызовов вложенных подпрограмм и, соответственно, непрерывная последовательность операторов возврата из подпрограмм. Существенно почаще программка имеет дело со сравнимо узеньким окном вложенности. Ранее, в главе 4, мы уже Федеральное агенство железнодорожного транспорта иллюстрировали это свойство обычных программ диаграммой, представленной на рис. 4.29. Результаты упомянутых исследовательских работ снова подтверждают уже не один раз описанное свойство локализации ссылок, присущее подавляющему большинству компьютерных программ.


Таблица 12.4. Аргументы ж локальные переменные Федеральное агенство железнодорожного транспорта подпрограмм

Черта выполняемой подпрограммы

Компиляторы, интерпретаторы

Маленькие программки,

не включающие численных расчетов

Более 3 аргументов

0-7%

0-5%

Более 6 аргументов

0-3%

0%

Более 8 слов аргументов и локальных скалярных переменных

1-20%

0-6%

Более 12 слов аргументов и локальных скалярных переменных

1-6%

0-3%



Реализация

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

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

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

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

federativnaya-forma-gosudarstvennogo-ustrojstva.html
federativnie-otnosheniya-i-federativnoe-ustrojstvo-rf-predmeti-vedeniya-rf-i-ee-subektov.html
federativnoe-gosudarstvo.html