рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

For ia := 0 to 4 do

For ia := 0 to 4 do - раздел Архитектура, Шестнадцатеричное представление чисел 3 Ib := Ib + Ia; End; При Компиляции Этого Ц...

ib := ib + ia;

end;

При компиляции этого цикла в машинный код он преобразуется в такую последовательность команд:

004D998 mov word ptr [ia], $0000 ;ia := 0 004D9A1 mov ax, [$00450bd8] ;две строки 004D9A7 add [ib], ax ;выполняют сложение 004D9AE inc [ia] ;добавляем 1 к ia 004D9B5 cmp word ptr [ib], $05 ;сравниваем ia с 5 004D9BD jnz -$1e ;если цикл не ;закончился ;возвращаемся на ;начало цикла 004D9A1 004D9BF …… ;что-то после цикла

Как видите, переход со строки 5 в пяти случаях осуществляется на строку 2 (адрес 004D9A1) и только в одном на строку 7 (инструкция, следующая после цикла, адрес 004D9BF). Механизм предсказания при этом просто запомнит, куда произошел переход по условию в самый первый раз, после чего будет предполагать, что и в следующий раз переход осуществится туда же. Т.е. ошибется всего лишь один раз из пяти! А ведь в реальных задачах встречаются циклы с гораздо большим количеством повторений. Зная, какие команды последуют за операцией перехода, можно, соответственно, начать декодировать их задолго до того, как сама операция совершится, конвейер будет спасен от простоя. Для запоминания адресов перехода используется специальный буфер меток перехода (буфер адреса ветвления).

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

Разумеется, приведенный выше пример относятся к самым примитивным. На практике алгоритмы, ведающие предсказанием ветвлений, гораздо сложнее. Объявленная Intel эффективность работы блока предсказания ветвлений достигает 97-98 процентов.

Перечислим лишь некоторые механизмы, используемые в настоящее время:

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

- предсказатель коротких циклов, распознающий такие переходы и определяющий число итераций цикла (позволяет правильно предсказать момент выхода из цикла);

- предсказатель косвенных переходов, определяющий целевые адреса для различных исполнений инструкции перехода;

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

 

Вернемся к обзору процессоров.

 

Pentium MMX – процессор компании Intel, содержащий дополнительное расширение MMX. Впервые появился в 1997 году. Содержит 57 новых команд по параллельной обработке целочисленных данных, введен тип данных 64 бита. Для повышения производительности кэш инструкций и кэш данных были увеличены до 16 Кб каждый.

Остановиться на технологии ММХ (Multimedia Extensions — мультимедийные расширения) – коммерческое название дополнительного набора инструкций, выполняющих характерные для потоковых аудио/видео данных действия за одну машинную инструкцию.

Смысл в том, что для таких данных характерно применение одного и того же преобразования к массиву данных, например пикселям изображения. Обычный процессор обрабатывает каждый пиксель по отдельности, используя же MMX, он может обрабатывать несколько пикселей сразу! Для этого данные должны бать размещены в специальных длинных регистрах ММХ, при этом физически никаких новых регистров с введением MMX не появилось – используются регистры математического сопроцессора.

Pentium Pro – процессор Intel шестого поколения, совместимый с архитектурой, x86. Процессор был анонсирован в 1995 году, процессор позиционировался, в основном, как процессор для серверов и рабочих станций. Кроме того, процессор мог быть использован при сборке многопроцессорной конфигурации (до 4-х процессоров).

Этот процессор отличало применение технологии динамического исполнения (изменения порядка исполнения инструкций). В одном корпусе размещалось сразу два кристалла — само ядро процессора и кэш-память второго уровня (L2). Для работы с внутренним кэшем второго уровня была добавлена вторая шина данных.

Рассмотрим более детально понятия появившиеся в шестом поколении.

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

Для пояснения рассмотрим сильно упрощенную схему одного из типичных участков кода программы.

команда 1: R1 = А + 2;

команда 2: R3 = R1 + 5.

команда 3: R2 = В + 3;

В нашем случае для выполнения команды 2 требуется результат команды 1, и поэтому команда 2 не может быть выполнена, пока не будет завершена команда 1. Команда 3 не зависит от других команд. До 6-го поколения процессоры уже имели несколько вычислительных блоков, но они выполняли команды только строго в порядке их расположения в программе, т.е., пока не будет выполнена команда 1, все вычислительные блока простаивают. По идее, в это время можно было бы выполнять другую полезную вычислительную работу. Начиная с 6-го поколения процессор проверяет зависимость команды от результата предыдущих команд на много шагов вперед. Этот механизм называется «анализом потока данных» Процессор с этой технологией может выполнять команды в порядке, отличном от их порядка следования в программе. В нашем случае сначала будут выполнены команды 1 и 3, а только потом 2 (См. Рис. ..). Это вторая составляющая динамического исполнения – «опережающее» выполнение команд. Результат опережающего выполнения записывается в специальные регистры временного хранения.

 
 

Двухуровневый кэш: Большинство современных систем имеют как минимум два уровня кэш-памяти. (См. рис. ..) Первый, наиболее «близкий» к процессору (условно обозначаемый Level 1 или сокращенно L1). Объем L1-кэша весьма невелик и редко превышает 32 Кб, поэтому он должен хранить только самые-самые необходимые данные. Зато на обработку ячейки из кэша уходит всего один такт процессора.

Рисунок Структура двухуровневого кэша

 

Между кэшем первого уровня и оперативной памятью расположен кэш второго уровня (условно обозначаемый Level 2 или сокращенно L2). Он работает на пониженной тактовой частоте. Объем L2 кэша составляет сотни килобайт, а зачастую достигает и нескольких мегабайт! Между тем, скорость доступа к нему относительно невелика (хотя, естественно, многократно превосходит скорость доступа к основной памяти).

Intel Pentium II – процессор x86-совместимой архитектуры Intel P6, анонсированный в 1997 году. Ядро Pentium II представляет собой модифицированное ядро P6 (впервые использованное в процессорах Pentium Pro). Основными отличиями от предшественника являются увеличенный с 16 до 32 Кб кэш первого уровня и наличие блока инструкций MMX (появившихся немногим ранее в Pentium MMX).

Intel Pentium III выпущен в 1999 году. Ядро Pentium III представляет собой модифицированное ядро, которое использовалось в процессорах Pentium II. По сравнению с предшественником расширен набор команд (добавлен набор инструкций SSE).

Поясним, в чем заключается технология SSE.Технология SSE позволяла преодолеть основную проблему MMX — при использовании MMX невозможно было одновременно использовать инструкции сопроцессора, так как его регистры использовались для MMX и для работы с вещественными числами.

SSE включает в архитектуру процессора восемь 128-битных регистров.

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

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

Процессоры семейства Celeron строятся на основе Pentium II, Pentium III, Pentium 4, Pentium M и Core 2 Duo.

 

Pentium 4 – одноядерный x86-совместимый микропроцессор компании Intel, представленный в 2000 году, ставший первым микропроцессором, в основе которого лежала принципиально новая по сравнению с предшественниками архитектура седьмого поколения (по классификации Intel) — NetBurst. Помимо различных вариантов Pentium 4, к процессорам архитектуры NetBurst относятся двухъядерные процессоры Pentium D. Кроме того, часть процессоров Celeron, предназначенных для систем нижнего ценового уровня, представляет собой Pentium 4 с частично отключённым кэшем второго уровня.

Архитектура, лежащая в основе процессоров Pentium 4, разрабатывалась, в первую очередь, с целью достижения высоких тактовых частот процессоров. Она не является развитием архитектуры P6, использовавшейся в процессорах Pentium III, а представляет собой принципиально новую по сравнению с предшественниками архитектуру. Характерными особенностями архитектуры NetBurst являются гиперконвейеризация. Поясним сущность этого понятия.

Как мы уже говорили ранее, чем примитивнее команды, тем на большей частоте способно работать исполняющее их ядро. Однако элементы конвейера также подпадают под это правило: чем проще одна ступень конвейера тем с большей скоростью он может «продвигаться». Но простая ступень может выполнять только простое действие, следовательно, количество их должно возрасти. Поэтому было принято кардинальное решение: увеличить длину конвейера 20 ступеней! При этом многие части процессора, ранее входившие в конвейер (к примеру, блок декодирования команд), были вообще вынесены за его пределы и работают теперь как бы сами по себе. Данная архитектура получила название гиперконвейерной (hyperpipelined). Естественно, возможная частота работы возросла.

Описанный поход имеет очень серьезную проблему – возрастает цена ошибки предсказания перехода(это называется штраф). Что происходит, если предсказатель ошибся? А происходит следующее – весь конвейер приходится очищать от ненужных команд и в срочном порядке начинать готовить к исполнению новые, находящиеся еще в памяти и совсем по другому адресу. Естественно, ядро процессора в это время просто исполняет холостой цикл, так как ни подготовленных данных, ни команд к нему не поступает. Таким образом, основная проблема гиперконвейерной архитектуры следующая – чем длиннее конвейер, тем больше работы идет насмарку и тем дольше придется ждать, пока он будет «вычищен» от непонадобившихся команд и снова заполнен нужными.

Рассмотрим архитектуру процессора седьмого поколения более детально (См. рис….). Чтобы понять, как это работает, опишем последовательность работы:

1. Предварительно инструкции x86 поступают в кэш-память второго уровня. Обмен процессора с системной шиной осуществляется с помощью 64-разрядной двунаправленной шины данных.

2. Выполнение инструкции начинается с её выборки и декодирования. Блок предвыборки инструкций осуществляет предварительную выборку на основании информации полученной от блока трассировки и предсказания ветвлений.

3. Декодер инструкций осуществляет преобразование CISC-инструкций x86 в последовательность RISC-микроопераций (или иначе микрокоманд). Большинство x86 инструкций декодируются примерно в две или три микрокоманды. Но встречаются и такие инструкции, которые декодируются в десятки микрокоманд. При декодировании сложные команды заменяются на последовательности микроопераций, которые хранятся в памяти микропрограмм (ПЗУ микрокода). Если в потоке команд оказывается команда условного перехода (ветвления программы), то включается механизм предсказания ветвления, который формирует адрес следующей выбираемой команды до того, как будет определено условие выполнения перехода.

4. После дешифровки микрооперации поступают в кэш память микрокоманд (он же кэш трассировки, Trace cache), где хранятся в упорядоченном виде. Концепция кэш трассировки, состоит в том, чтобы сохранять в кэше инструкций первого уровня не те команды, которые считаны из памяти, а уже декодированные последовательности. Таким образом, если некая x86-команда исполняется повторно, и она всё ещё находится в L1I, декодеру процессора не нужно снова преобразовывать её в последовательность команд «внутреннего кода», так как кэш память микрокоманд содержит данную последовательность в уже декодированном виде.

5. После формирования потоков микрокоманд производится выделение регистров, необходимых для выполнения декодированных команд. Эта процедура реализуется блоком распределения регистров, который выделяет для каждого указанного в команде логического регистра один из 128 физических регистров, входящих в состав блоков регистров замещения (БРЗ, в некоторых источниках этот блок называется регистровый файл Register File).

6. После подготовки процессора к выполнению микроопераций (резервирования регистров), они помещаются в очередь микроопераций.

7. Микрокоманды, находящиеся в очереди должны быть подготовлены к исполнению, в частности необходимо прочитать операнды, хранящиеся в памяти Адреса операндов, выбираемых из памяти, вычисляются блоком формирования адреса (БФА), который реализует интерфейс с кэш-памятью данных 1-го уровня (L1). При выборке операнда из памяти производится обращение к кэш памяти данных. За один такт производится выборка операндов для двух команд. Кэш-память данных первого уровня в свою очередь соединяется с кэшем второго уровня (L2) шиной шириной 256 бит.

Рисунок Архитектура процессора Pentium 4.

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

9. Следующим шагом выполняется чтение операндов из регистров блока регистров замещения (регистрового файла). Напоминаем что, регистровый файл обеспечивает хранение результатов операций.

10. Исполнительные устройства, т.е. арифметико-логические устройства (ALU) или блоки обработки чисел с плавающей запятой (FP / MMX / SSE ) выполняют микрокоманду.

11. После выполнения микроопераций происходит проверка корректности результатов. Если результаты выполнения микрооперации некорректны (например, был неверно предсказан переход), эта микрооперация или отправляется на повторное исполнение, или потребуется перезагрузка конвейера.

 

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

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

- разделяемый ­– кэш расположен на одном с обеими ядрами кристалле и доступен каждому из них в полном объеме. Используется в процессорах семейств Intel Core.

- индивидуальный – отдельные кэши равного объема, интегрированные в каждое из ядер. Обмен данными из кэшей L2 между ядрами осуществляется через контроллер памяти.

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

На сегодняшний день (2009) основными производителями процессоров — Intel и AMD дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности. Уже освоено производство 4-ядерных процессоров для домашних компьютеров, а также 6-ядерных в серверных системах.

 

Intel Core 2 — восьмое выпущенное корпорацией Intel поколение микропроцессоров архитектуры x86, основанное на совершенно новой процессорной архитектуре, которая называется Intel Core. Это потомок архитектуры Intel P6 на которой, начиная с процессора Pentium Pro, построено большинство микропроцессоров Intel, исключая процессоры с архитектурой NetBurst. Первые процессоры Core 2 были представлены в 2006 году. Они делятся на модели Solo (одноядерные), Duo (двухъядерные), Quad (четырёхъядерные) и Extreme (двух- или четырёхъядерные с повышеной частотой и разблокированным множителем).

В отличие от процессоров архитектуры NetBurst (Pentium 4), в архитектуре Core 2 ставка делается не на повышение тактовой частоты, а на улучшение других параметров процессоров, таких как кэш, эффективность и количество ядер. Рассеиваемая мощность этих процессоров значительно ниже, чем у Pentium 4.

Информации по этим процессорам Intel предоставляет недостаточно, поэтому разобрать их архитектуру не представляется возможным.

Intel Core i7 —является преемником семейства Intel Core 2. Данная микроархитектура содержит ряд новых возможностей. Вот лишь некоторые из них, по сравнению с Core 2:

- Процессорная шина FSB (см. ниже) заменена на новую шину QuickPath (QPI), производительность которой составляет до 32 гигабайт в секунду.

- Контроллер памяти находится в самом процессоре, не в отдельном чипсете. Таким образом, процессор имеeт прямой доступ к памяти.

- Core i7 имеет 8-ми мегабайтный кэш третьего уровня (L3) .

 


– Конец работы –

Эта тема принадлежит разделу:

Шестнадцатеричное представление чисел 3

Системы счисления... Двоичное представление чисел... Шестнадцатеричное представление чисел...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: For ia := 0 to 4 do

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Двоичное представление чисел
Все компьютеры используют для хранения информации двоичную систему. Это значит, что каждый элемент хранимой информации может иметь только два состояния. Эти состояния обозначаются как «включен» и «

Шестнадцатеричное представление чисел
Шестнадцатеричное представление чисел – это система исчисления по основанию 16. Каждая цифра в числе может иметь значение от 0 до 15. Каждый разряд в числе является степенью 16. Шестнадцатеричное п

Перевод в десятичную систему из двоичной или шестнадцатеричной
Перевод в десятичную систему числа x, записанного в q-ичной cистеме счисления (q = 2 или 16) сводится к вычислению значения многочлена x = an*qn + an-1*q

Перевод целых чисел из десятичной системы в двоичную или шестнадцатеричную
Для перевода целого десятичного числа N в систему счисления с основанием q необходимо N разделить с остатком (нацело) на q, записанное в той же десятичной системе. Затем неполное частное, полученно

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

Представление целых чисел со знаком
Для представления как положительных так и отрицательных чисел используется так называемый дополнительный код –наиболее распространенный способ представления отрицательных целых чис

Представление целых чисел
Целые числа могут представляться в компьютере со знаком или без знака. Целые числа без знака обычно занимают в памяти один или два байта и принимают в однобайтовом формате значения от 0000

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

Архитектура компьютера и принципы его работы, сведения общего характера
Термин «архитектура» используется для описания принципа действия, конфигурации и взаимного соединения основных логических узлов ЭВМ. Архитектура – это многоуровневая иерархия аппаратно-программных

Принципы фон Неймана
В основу построения подавляющего большинства компьютеров положены следующие общие принципы, сформулированные Джоном фон Нейманом еще в 1945 г. 1. Принцип программного управления

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

Система команд
Система команд (язык) это конкретной вычислительной машины (машинный язык), который интерпретируется непосредственно микропроцессором. «Слова» машинного языка называются машинными

For ia := 0 to 4 do
ib := ib + ia; end;      

Упрощенная внутренняя структура процессора
Упрощенно структуру микропроцессора можно представить в следующем виде (Рис. …).  

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

Процессоры x86
Несмотря на то, что общие принципы работы характерны для всех процессоров, мы будем в дальнейшем иметь в виду наиболее распространенную и, самое главное, наиболее востребованную при проектировании

Математические сопроцессоры
Арифметико-логические устройства, рассмотренные в предыдущем разделе могут работать только с целыми числами. Так, например, в результате деления 3 на 2 мы получим 1. Для проведения математических р

Краткие сведенья о технологии производства процессоров
Производство большинства процессоров основано на технологии фотолитографии. В этом процессе на обработанную кремниевую подложку помещается «маска», повторяющая изображения элементов и проводников,

Параметры, характеризующие процессор
Для каждого поколения процессоров будем указывать следующие параметры: - Разрядность шины адреса –определяет адресное пространство процессора, -

Краткое описание процессоров
Краткая информация по процессорам в сведена в таблицу 1. Таблица 2 Эволюция процессоров х86. Поколение Наименование Год выпуска

Последовательные и параллельные шины
По способу передачи сигнала все шины можно разделить на последовательные и параллельные. Основным отличием параллельных шин от последовательных является с

Прерывания
Поясним понятие прерывание появившееся при рассмотрении шины управления. Прерывание это сигнал, сообщающий процессору о наступлении какого-либо события, иными слов

Процессорная шина
Любой процессор обязательно оснащён процессорной шиной, которую для архитектуры x86 принято называть FSB (Front Side Bus). По этой шине передаются данные между процессором и оперативной памятью, а

Шины расширения
Сначала покажем место шин расширения в общей архитектуре компьютера. В самом примитивном виде архитектура компьютера была показана на рис … (Упрощенная архитектура компьютера), покажем теперь архит

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

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

ISA -16
В 1984 году шина была усовершенствована — стала способной передавать 16-бит данных за такт, увеличена тактовая частота до 8 МГц, пропускная способность выросла до 5.3 Мб/сек, размер адресуемой памя

PCI Express
Интерфейс PCI Express (PCI-E) использует концепцию PCI, однако физическая их реализация кардинально отличается. На физическом уровне PCI Express представляет собой не шину, а некое подобие сетевого

Интерфейс RS-232
Стандарт на последовательный интерфейс RS-232 был опубликован в 1969 г. До недавнего времени последовательный интерфейс использовался для широкого спектра периферийных устройств (плоттеры, принтеры

Интерфейс IEEE 1284
Также используются синонимы: параллельный порт, порт принтера, LPT (англ. Line Print Terminal). В основном используется для подключения к компьютеру принтера, сканера и других внешних устр

Интерфейс IEEE 1394
Последовательная высокоскоростная шина (используются синонимы FireWire, i-Link). Используется в основном для: - Подключения видео мультимедийных устройств (используется как средство копиро

Интерфейс USB
Спецификация периферийной шины USB (Universal Serial Bus — универсальная последовательная шина) была разработана для подключения компьютерной периферии вне корпуса компьютера с автоматическим авток

Интерфейсы накопителей
Интерфейсы накопителей (жестких дисков и DVD/CD приводов) связывают сам накопитель с контроллером, подключенным к какой-либо внутренней шине, т.е. они занимают некоторое промежуточное положение меж

Компоненты на материнской плате
Основные электронные компоненты, определяющие архитектуру процессора, размещаются на основной плате компьютера, которая называется системной или материнской (MotherBoard). А контроллеры и адаптеры

Архитектура материнской платы для процессора Core i7 и перспективы.
Так как процессор Core i7 имеет встроенный контроллер памяти конфигурация материнской платы для него будет отличаться. Отличия заключаются в следующем: - Модули памяти подключаются непосре

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги