АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Суперскалярность и внеочередное выполнение команд

Читайте также:
  1. Team kata male 8-13 years (Командне ката хлопці 8-13 років)
  2. VIII. Выполнение аннотации курсовой работы
  3. Алгоритми виконання команд
  4. БУДУЩЕЕ – НУЖНА ЕСЛИ НЕ ЖЕРТВА, ТО ПО КРАЙНЕЙ МЕРЕ, ВЫПОЛНЕНИЕ ДОГОВОРА.
  5. В командном спарринге могут принимать участие только команды, участвовавшие в командных туль.
  6. Вбудовані команди
  7. Внеочередное общее собрание акционеров
  8. Внутренние команды MS-DOS размещены в файле
  9. Внутрішні команди MS-DOS
  10. Вывод сооб-я команды в конец файла с сохр-ем ранее записан инф-и (дозапись) или созд-ем нов файла осущ-ся
  11. Выполнение
  12. Выполнение внутреннего анализа (10019)

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

запускать на исполняющие устройства сразу несколько команд (если они не зависят друг от друга и могут быть безболезненно выполнены одновременно);

переупорядочивать независящие друг от друга команды так, как это необходимо (этот подход назвали внеочередное выполнение команд - Out-of-Order).

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

Для того, чтобы обеспечить эффективное использование большого количества специализированных исполнительных устройств (например, 4-6 команд в течение одного такта) необходимо иметь и соответствующую производительность подсистемы подготовки команд (Front-end процессора) для выполнения (например, 4 команд за такт).

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

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

 

 


1 | 2 | 3 | 4 | 5 | 6 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)