Особенности архитектуры процессоров шестого поколения
Шина адреса
Такая архитектура, применяющая для обработки поступивших данных несколько конвейеров, называется суперскалярной и применяется сегодня во всех современных процессорах
Шина адреса представляет собой набор проводников, по которым передается адрес ячейки памяти, в которую или из которой пересылаются данные. По каждому проводнику передается один бит адреса, соответствующий одной цифре в адресе. Увеличение количества проводников (разрядов шины) используемых для формирования адреса, позволяет увеличить количество адресуемых ячеек. Разрядность шины адреса определяет максимальный объем памяти, адресуемой процессором.
Например: процессор 8086 имел адресную шину 20 бит. Тогда он мог адресовать {2 в степени 20=1048576} байт оперативной памяти, т.е. 1 Мбайт.
Таким образом, максимальный объем оперативной памяти, поддерживаемой процессором 8086, составляет 1 Мбайт.
286-ой процессор имел адресную шину равную 24 битам, адресуя, таким образом, уже 16 Мбайт. Современные процессоры имеют адресную шину равной 36 бит, что соответствует поддерживаемой оперативной памяти объемом 64 Гбайт!
|
|
Процессор Pentium 4 имеет разрядность 64/32, и его адресное пространство составляет 64 Гб.
Шины данных и адреса независимы, и разработчики микросхем выбирают их разрядность по своему усмотрению. Разрядность этих шин является показателем возможностей процессора: разрядность шины данных определяет возможности процессора быстро обмениваться информацией, разрядность адресной шины определяет объем поддерживаемой процессором памяти.
Основных процессоров класса P6 два: Pentium Pro и Pentium II.
Основные особенностями процессоров шестого поколения:
- динамическое выполнение,
- улучшенное суперскалярное исполнение,
- архитектура двойной независимой шины (DIB, Dual Independent Bus).
Благодаря динамическому выполнению процессор может параллельно обрабатывать большое количество команд.
Основные особенности динамического выполнения следующие:
* множественное предсказание ветвлений; это средство предназначено для прогнозирования значения счетчика команд при выполнении команд ветвления;
* анализ потока данных, благодаря которому можно получить информацию, необходимую для планирования выполнения команд, независимо от их первоначального порядка в программе;
* упреждающее выполнение, которое "предугадывает" изменения счетчика команд и выполняет команды, результаты которых, вероятно, вскоре понадобятся.
Предсказание ветвления ранее использовалось только в высокопроизводительных универсальных процессорах. Это средство позволяет полностью задействовать возможности конвейера команд процессора, что способствует повышению быстродействия.
|
|
В специальном устройстве выборки и дешифрации команд используется высокооптимизированный алгоритм предсказания ветвления, благодаря которому удается с большой точностью прогнозировать поток и результаты команд, которые будут выполнены после нескольких команд ветвления, вызовов процедур и возвратов. Работа этого алгоритма подобна выработке множественных стратегий шахматистом, который в процессе игры, предсказывая стратегию противника, как бы перемещается в будущее. Прогнозируя результаты команд заранее, можно избежать задержек при выполнении других команд.
Средство анализа потока данных исследует этот поток через процессор, чтобы предотвратить неправильный порядок выполнения команд. Специальный модуль диспетчеризации и выполнения команд в процессоре контролирует многие команды и может обрабатывать их в таком порядке, при котором множественные суперскалярные модули выполнения команд используются оптимально. Выполнение команд в неподходящем порядке может привести к тому, что модули выполнения команд будут заняты даже в том случае, если из-за промахов кэша и зависимости команды от результатов других команд они были приостановлены.
Упреждающее выполнение - возможность процессоров выполнять команды с опережением фактического значения счетчика команд.
Устройство диспетчеризации и выполнения команд процессора использует результаты анализа потока данных для выполнения всех доступных команд из пула команд и сохраняет результаты во временных регистрах. Затем специальный модуль (модуль вытеснения результатов) отыскивает в списке команд завершенные команды, которые больше не зависят от данных, вычисляемых в других командах, или от других команд ветвления. Когда такие завершенные команды найдены, модуль вытеснения или соответствующие средства, предусмотренные в стандартной архитектуре Intel, запоминают их результаты таким образом, как в случае выполнения этих команд в порядке их первоначального расположения. После этого список команд от них освобождается.
Динамическое выполнение, по существу, ликвидирует недостатки и зависимость от линейного (последовательного) выполнения команд.
Поддерживая независимое от линейного расположения выполнение команд, это средство может предотвратить задержки в модулях обработки команд, возникающие вследствие ожидания данных из памяти. Несмотря на то, что устройство предсказания порядка команд помогает изменить порядок выполнения, результаты записываются так, как если бы команды выполнялись в первоначальном порядке. Поэтому процессор Р6 точно так же, как процессоры Р5 (Pentium) и более ранние, может выполнять имеющееся программное обеспечение, но только значительно быстрее!