|
||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Суперскалярная архитектура
Конвейеры в процессорах компании Intel появились, только начиная с 486-ой модели, содержавшей один конвейер. Pentium содержит 2 конвейера из 5 стадий (рис.6.7), причём главный конвейер U -конвейер может выполнять произвольные команды, второй- V -конвейер может выполнять только простые команды и одну команду с плавающей точкой (FXCH).
В процессорах Inte l все операции с плавающей точкой выполняет специальное устройство FPU с собственными регистрами и набором команд, начиная с 486 оно встроено в основной процессор, ранее сопроцессор FXCH. Имеются сложные правила определения совместимости пар команд. Pentium содержит особые компиляторы, которые объединяют совместимые команды в пары и могут порождать программы, выполняющиеся быстрее чем в предыдущих версиях процессоров. Переход к большему количеству конвейеров возможен, но требует создания громоздкого аппаратного обеспечения, поэтому используется другой подход. Основная идея – один конвейер с большим количеством функциональных блоков, для обозначения этого подхода был введён термин суперскалярная архитектура. Стадия 3 выпускает команды значительно быстрее, чем стадия 4 способна их выполнять, поэтому вводится несколько функциональных блоков 4 стадии. Большинство функциональных блоков 4-ой стадии для выполнения требуют значительно больше времени, чем занимает один цикл (это блоки доступа к памяти, блок выполнения операция с плавающей точкой). Основной объем вычислительной нагрузки приходятся на скалярные вычисления, то есть на обработку одиночных операндов. Для подобных вычислений дополнительный параллелизм реализуется значительно сложнее и, в частности, возможен при использовании суперскалярных процессоров. Суперскалярным называется центральный процессор, который одновременно выполняет более чем одну скалярную операцию. Это достигается за счет включения в центральный процессор нескольких самостоятельных функциональных (испольнительных) блоков, каждый из которых отвечает за свой класс операций и может присутствовать в процессоре в нескольких экземплярах (рис.6.8).
Суперскалярные процессоры конца 90-х годов могли исполнять до 4-6 инструкций за один машинный цикл. На практике они выполняют в среднем 1,5 инструкции за такт. «Продвинутые» суперскалярные процессоры (Advanced superscalar) смогут выполнять от 16 до 32 инструкций за такт. Чем это обернется на практике, пока сказать трудно, но и для «суперскалярной» архитектуры существенным ограничением является поток обрабатываемых данных. В общем виде «продвинутая» суперскалярная архитектура состоит из 24-48 высокооптимизированных конвейерных блоков (например, блоков, выполняющих операции с плавающей точкой или обрабатывающих целые числа). Как и в простых суперскалярных архитектурах, каждый блок получает свою собственную «резервацию» - временное место хранения, где накапливается очередь инструкций, выполняемых данным блоком. Более совершенное предсказание ветвлений - еще одна задача ближайшего будущего, и она тесно связана с предсказанием адресации: процессор попытается предсказать адреса ячеек памяти, которые будут затребованы последующими инструкциями, и вызвать их содержимое заранее.
[1] Подобные решения были приняты разработчиками ЭВМ различных фирм с учётом требований программистов. [2]При использовании комбинации обоих методов обычно производится трансляция программы, создаётся новая программа, в которой простые команды выполняются на языке нулевого уровня непосредственно (например: команда сдвига регистра на 1разряд), а сложные команды (например: команда умножения) интерпретируются, т.е. запускается на выполнение микропрограмма этой команды. [3] Полужирным шрифтом здесь и далее выделен знак числа. [4] В некоторых источниках статический способ представления информации называют импульсным, динамический способ - потенциальным. [5] Количество сигналов, их последовательность, временные выдержки между сигналами определяется в протоколах согласования работы узлов ВМ. [6] Такт-это время выполнения одной элементарной операции [7] Предикация- способ обработки условных ветвлений, компилятор указывает, что обе ветви выполняются на процессоре параллельно. [8] Омнибусами в Англии стали называть двухэтажные автомобили, которые стали первым общественным транспортом в Лондоне, т.е. транспортом для всех. В дальнейшем вторая часть слова омнибус стала основой для появления таких названий как автобус, троллейбус, а теперь и названием шины ВМ. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |