русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Параллелизм (распараллеливание операций).


Дата добавления: 2015-06-12; просмотров: 1099; Нарушение авторских прав


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

 

Параллелизм на уровне команд.

 

Этапы выполнения одной команды центральным процессором:

 

1) Вызывает следующую команду из памяти и переносит её в регистр команд(регистр команд это регистр процессора, который служит для хранения команды, которая выполняется в данный момент времени).

2) Меняет положение счетчика команд, который после этого указывает на следующую команду.

3) Определяет тип вызванной команды.

4) Если команда использует слово из памяти, определяет, где находится это слово.

5) Переносит слово, если это необходимо в регистр центрального процессора.

6) Выполняет команду

7) Переходит к первому пункту.

 

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



Конвейер из пяти блоков

 

 



<== предыдущая лекция | следующая лекция ==>
Технологии производства микропроцессоров. | Архитектура центрального процессора


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.