Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Недостаточное дублирование некоторых ресурсов




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

Борьба с конфликтами такого рода проводится путем увеличения количества однотипных функциональных устройств, которые могут одновременно выполнять одни и те же или схожие функции.

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

Конфликты из-за функциональных (исполнительных) устройств обычно сглаживаются введением в состав ядра процессора дополнительных блоков. Например, для обработки целочисленных данных имеется 4 АЛУ. При этом появляется возможность параллельной обработки информации в нескольких конвейерах.

Ядра процессоров, имеющие в своем составе более одного конвейера подготовки команд, принадлежащих одному программному потоку, называются суперскалярными.

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

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

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

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

 

 





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 389 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Человек, которым вам суждено стать – это только тот человек, которым вы сами решите стать. © Ральф Уолдо Эмерсон
==> читать все изречения...

2316 - | 2171 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.