Структурные способы повышения производительности. RISC архитектура

Страницы работы

Содержание работы

Структурные способы повышения производительности. RISC архитектура.

Лит. Корнеев В.В., Киселев А.В. Современные микропроцессоры.-М.:НОЛИДЖ,2000.

Понятие производительности.

Общие соображения.

В конечном итоге имеет значение уменьшение времени, необходимого для получения требуемого результата. Этого можно достигнуть а) увеличением количества [АПН1] производящих элементов (работников, рабочих коллективов, работающих устройств) или (и) повышением производительности каждого элемента.

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


Действие человека по настройке СВТ
(программирование)

Выполнение средством ВТ предписанного действия.

В таком простейшем варианте человек должен ожидать окончания операции. Пример – последовательность действий «поиск-замена» в текстовом редакторе. Вмешательство человека иногда необходимо, в других случаях можно выполнить все замены «на автомате».

Выполнение средством ВТ предписанного действия №1.


Действие человека по настройке СВТ

Выполнение средством ВТ предписанного действия №2.


Выполнение средством ВТ предписанного действия №3.

Человек может решать задачи только последовательно (одну за одной). Средства ВТ можно запараллелить.

Наивысшая эффективность достигается только тогда, когда и человек, и используемые им средства ВТ оказываются полностью загруженными (не простаивают). По мере развития средств ВТ, их «рабочее время» все более дешевеет (по сравнению с рабочим временем человека). Существенно, чтобы не простаивал человек.

Что можно запараллеливать и что мешает этому.

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


1

вводить и редактировать собственный текст

Текстовый редактор

MS Word или TEX

2

готовить штриховые рисунки

Графический векторный редактор

Corel Draw или
MS Word Graphic Editor

3

обрабатывать растровые рисунки

растровый графический редактор

MS Photo Editor или
Adobe Photoshop

4

заимствовать фрагменты текста и рисунки из других электронных документов

Средства просмотра документов

Adobe Acrobat Reader (pdf)
MS Internet Explorer (html)

5

заимствовать тексты и рисунки из печатных документов

Сканирование документов, распознавание текста

MS Photo Editor и
FineReader

6

готовить формулы

редактор специальных текстов

MS Equation Editor или
TEX

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

При любом из этих решений надо как-то обеспечить обмен данными между программами.

Итак, можно проводить распараллеливание на уровне программ. Отметим некторые моменты. Каждую программу нужно запустить, после чего выдать ей команду на выполнение порции работы. После того, как программа закончила предыдущую порцию работы, нужно
1) передать куда-то ее выходные результаты (может быть на вход другой программе)
2) запрограммировать данную программу на следующую порцию работы
3) перед запуском этой следующей порции работы для нее должны быть готовы данные (возможно – результат работы другой программы, которая еще не завершила свою работу).

Таким образом, работа программы параллельно с другими программами может тормозиться следующими причинами:
1) программе для продолжения работы требуются данные, являющиеся результатом другой программы (зависимость по данным – она отсутствует, если программы работают с различными данными)
2) программе для продолжения работы требуется ресурс, занятый другой программой (например, один сетевой принтер на несколько компьютеров)
3) программа ждет команд от человека, который в это время занят работой с другой программой.

Можно проводить распараллеливание на более низких иерархических уровнях.

1.  Отдельные части (блоки, модули) одной программы (могут и не иметь зависимостей по данным) - многопоточность

2.  Отдельные фрагменты кода одного модуля (скорее всего имеют зависимости по данным) - многопоточность

3.  Соседние или близкорасположенные команды – суперскалярная архитектура

4.  Этапы выполнения одной команды или соседних команд - конвейеризация

Тенденции развития универсальных процессоров и систем на их основе

Производительность вычислительной системы далее будет пониматься на интуитивном (пользовательском) уровне как «скорость» решения прикладной задачи в предположении абстрагирования от организационных моментов. Вопрос оценки производительности уже обсуждался во Введении (см.).

Цель развития – повышение производительности вычислительной системы, построенной на базе этих микропроцессоров – достигается продвижением в трех направлениях:

1)  Повышение тактовой частоты

2)  Увеличение пропускной способности подсистемы памяти

3)  Повышение степени внутреннего параллелизма вычислительной системы (структурные способы повышения скорости)

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

Похожие материалы

Информация о работе