конвейер intel

фольксваген транспортер т5 турбины новые цена

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

Конвейер intel элеваторы разгуляй

Конвейер intel

Купить Подробнее 815,00. Купить Подробнее 25,00. Купить Подробнее 125,00.

ТРАНСПОРТЕР Т4 КРОПОТКИН

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

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

Для того чтобы реализовать параллелизм на уровне инструкций, необходимо, чтобы поступающие на исполнительные блоки команды можно было выполнять параллельно. Однако если, к примеру, для выполнения следующей по порядку инструкции требуется знать результат выполнения предыдущей инструкции взаимозависимые инструкции , то в этом случае параллельное выполнение невозможно. Поэтому препроцессор прежде всего проверяет взаимозависимость команд и переупорядочивает их не в порядке поступления out of order , а так, чтобы их можно было выполнять параллельно.

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

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

В этом случае увеличение числа команд, выполняемых за единицу времени, достигается за счет распараллеливания инструкций и наращивания исполнительных блоков процессора. При использовании длинного конвейера возможно увеличение тактовой частоты процессора, то есть сам конвейер оказывается более быстрым. Использование длинных конвейеров с высокими тактовыми частотами процессора — это второй подход к увеличению производительности процессора. Именно такая идеология длинного конвейера заложена в архитектуре процессора Intel Pentium 4.

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

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

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

Такие pipeline bubbles проходят все ступени конвейера, ни на одной из которых не производятся никакие действия. Наличие таких pipeline bubbles негативно отражается на производительности процессора, поскольку ресурсы процессора просто-напросто простаивают. Избежать возникновения подобных нежелательных простоев в процессорах позволяют различные хитроумные алгоритмы.

Конечно, новым этот процессор назвать нельзя. Время его рождения — август года. Но, пожалуй, именно й можно считать годом его окончательной победы и завоевания всеобщего признания как самим процессором, так и новой процессорной микроархитектурой. Начав со скромной по сегодняшним меркам тактовой частоты в 1,4 ГГц в году, сегодня Intel Pentium 4 перешагнул рубеж в 3 ГГц, но наряду с количественным ростом тактовой частоты изменение претерпела и микроархитектура процессора — к концу года корпорация Intel анонсировала процессор с поддержкой революционной технологии Hyper-Threading.

Современный модельный ряд процессоров Intel Pentium 4 весьма широк и включает модели, различающиеся как тактовой частотой, так и размером кэша L2, частотой процессорной шины, технологией производства, ядром процессора. Процессор Intel Pentium 4 может быть построен на ядре Willamette или на ядре Northwood.

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

Кроме того, все процессоры Intel Celeron рассчитаны на мегагерцевую шину. Именно с нее мы и начнем наше рассмотрение процессоров Intel. Как уже отмечалось выше, процессор Intel Pentium 4 имеет беспрецедентно длинный конвейер — 20 ступеней Hyper-Pipelined Technology. Архитектура, заложенная в процессоре, получила название Intel NetBurst.

Структурная схема процессора изображена на рис. Сравнивая схему классического процессора со схемой процессора Intel Pentium 4, можно заметить несколько конструктивных различий. Прежде всего, инструкции поступают в предпроцессор из кэша L2, а не из кэша L1, как в классической схеме. Имеющий битную шину, работающую на частоте ядра, и усовершенствованную схему передачи данных, этот кэш обеспечивает высочайшую пропускную способность, столь важную для потоковых процессов обработки.

Кроме того, в схеме предпроцессора появился новый элемент — кэш L1 декодированных микроинструкций с отслеживанием исполнения Trace Cache. Наличие такого кэша — одна из составляющих архитектуры NetBurst. Кэш L1 данных размеров 8 Кбайт также присутствует в процессоре, но разнесен с кэшем L1 инструкций.

Давайте попробуем разобраться, зачем потребовалось изменять классическую схему процессора и вводить новый кэш микроинструкций. При работе процессора инструкции выбираются из кэша L2, транслируются в команды х86 и декодируются. При этом с учетом того, что конвейер имеет много ступеней и должен быть достаточно быстрым, при декодировании инструкции разбиваются на более мелкие микрокоманды, которые затем поступают в Trace Cache.

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

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

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

Если рассмотреть работу процессора Intel Pentium 4 при внеочередном выполнении команд, то есть когда происходит попадание в Trace Cache и используются уже декодированные команды, то схема работы процессора Intel Pentium 4 будет подобна схеме работы классического процессора. Режим работы процессора при внеочередном выполнении команд является естественным для процессора Intel Pentium 4 рис. Общая же длина конвейера составляет 28 ступеней. Этот блок предсказания позволяет модифицировать мини-программы, основываясь на спекулятивном предсказании.

Так, если в программном коде имеется точка ветвления, то блок предсказаний может предположить дальнейший ход программы вдоль одной из возможных ветвей и с учетом этого спекулятивного предсказания построить мини-программу. Технология использования кэша с отслеживанием вкупе с усовершенствованным алгоритмом предсказания получила название Advanced Dynamic Execution и является составляющей частью технологии NetBurst. Кэш микроинструкций с отслеживаниями имеет еще одну особенность. Дело в том, что большинство команд х86 при декодировании преобразуются в две-три микроинструкции.

Однако встречаются и такие команды, для декодирования которых потребовались бы десятки и даже сотни микрокоманд. Естественно, что сохранять такие декодированные команды в кэше L1 было бы нерационально. При попадании на такую метку управление потоком инструкций передается ROM-памяти.

Рассмотрим теперь процесс продвижения микроинструкций по основному конвейеру, то есть когда процессор работает в режиме внеочередного выполнения инструкций. В течение первых двух тактов в Trace Cache передается указатель на следующие выполняемые инструкции — это первые две ступени конвейера, называемые Trace Cache next instruction pointer. После получения указателя в течение двух тактов происходит выборка инструкций из кэша Trace Cache Fetch — это две следующие ступени конвейера.

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

На этой ступени не происходит обработки инструкции. Фактически такая «пустая» ступень конвейера представляет собой временную задержку и вводится для компенсации высоких тактовых частот. В процессоре Intel Pentium 4 содержится дополнительных регистров, которые не определены архитектурой набора команд. Переименование регистров позволяет добиться их бесконфликтного существования.

На следующих трех ступенях конвейера происходит планирование и распределение Schedule микрокоманд. Планировщик выполняет две основные функции: переупорядочивание микрокоманд и распределение их по функциональным устройствам. Суть переупорядочивания микрокоманд заключается в том, что планировщик Scheduler определяет, какую из микрокоманд уже можно выполнять, и в соответствии с их готовностью меняет порядок их следования.

Распределение микрокоманд происходит по четырем функциональным устройствам, то есть формируются четыре очереди. Эти очереди формируются из очереди памяти Mem Queue. Fast ALU Scheduler — это распределитель простых целочисленных операций. Он собирает простейшие микроинструкции для работы с целыми числами, чтобы затем послать их на исполнительный блок ALU, работающий на двойной скорости.

В процессоре Pentium 4 имеется два исполнительных блока ALU, работающих на удвоенной скорости. К примеру, если тактовая частота процессора составляет 2,8 ГГц, то эти два устройства ALU работают с частотой 4,8 ГГц и в параллельном режиме способны выполнять четыре целочисленные операции за один такт. Это повышает производительность без затрагивания совместимости. В случае выполнения более сложных команд, для дополнительного ускорения производительности выполнения расширенного микрокода Pentium процессора для выполнения команд используются оба конвеера суперскалярной архитектуры.

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

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

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

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

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

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

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

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

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

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

Большая часть команд вычислений с плавающей запятой могут выполняться в одном целочисленном конвеере, после чего подаются в конвеер вычислений с плавающей запятой. Обычные функции вычислений с плавающей запятой, такие как сложение, умножение и деление, реализованы аппаратно с целью ускорения вычислений. В результате этих инноваций, Pentium процессор выполняет команды вычислений с плавающей запятой в пять раз быстрее, чем МГц Intel DX, оптимизируя их для высокоскоростных численных вычислений, являющихся неотъемлемой частью таких усовершенствованных видеоприложений, как CAD и 3D-графика.

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

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

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

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

Когда один процессор получает доступ к данным, которые кэшируются в другом процессоре, он имеет возможность приема правильных данных. И если данные модифицировались, все процессоры получают возможность доступа к приему данных в модифицированном виде. Новейший Pentium процессор фирмы INTEL также определяет, какие команды распознаются системой в соответствии с ипользуемым способом программирования. Это строго определенно подсказывает, каким образом программному обеспечению, разработанному для однопроцессорной системы, корректно работать в многопроцессорном окружении.

Pentium процессор предлагает опции поддержки любой из традиционных размеров страниц памяти - 4 KB или более широкие, 4 MB страницы. Эта опция позволяет производить вычисление частоты свопинга страниц в комплексных графических приложениях, буферах фреймов, а также ядер операционных систем, где увеличенный размер страницы сейчас позволяет пользователям перепланировать шире первоначально громоздкие объекты. Увеличение страниц дает результат в виде повышения производительности, причем все это отражается на прикладном программном обеспечении.

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

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

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

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

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

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

Технология наращивания делает возможным использовать преимущества большинства процессоров усовершенствованной технологи в уже существующих системах с помощью простой инсталяции средства однокристального наращивания производительности. Например, первое средство наращивания - это OverDrive процессор, разработанный для процессоров Intel SX и Intel DX, использующий технологию простого удвоения тактовой частоты, использованную при разработке микропроцессоров Intel DX2. Технология наращивания с помощью OverDrive процессоров возможна и для систем, основанных на семействе Pentium процессора, посредством простой установки в будущем процессора, выполненного по усовершенствованной технологии.

В свою очередь, технология Pentium процессора является основой дополнительного процессора, разрабатываемого для систем, базируемых на Intel DX2. Процессоры Pentium фирмы Intel представляют пятое поколение процессоров семейства х По базовой регистровой архитектуре и системе команд они совместимы с вышеописанными битными процессорами, но имеют битную шину данных, благодаря чему их иногда ошибочно называют разрядными.

По сравнению с предыдущими поколениями процессоры Pentium имеют следующие качественные отличия:. Все Pentium-процессоры имеют средства SMM, возможности которых расширялись по мере появления новых моделей. Средства тестирования включают возможность выполнения встроенного теста BIST Built-In Self Test , обеспечивающего выявление ошибок микрокодов, программируемых логических матриц, тестирование командной кэш-памяти, кэш-памяти хранения данных, буфера быстрой переадресации и ROM.

Все процессоры имеют стандартный тестовый порт IEEE Процессоры Pentium первого поколения Р5 с тактовой частотой 60 и 66 МГц имели напряжение питания 5 В, что приводило к большому тепловыделению на частоте 66 МГц — 16 Вт. Они выпускались в корпусах PGA матрица 21x21 , для установки этих процессоров предназначен сокет 4. Первые модели процессоров имели ошибку в FPU floating point flaw , выражавшуюся в потере точности при выполнении деления с некоторыми сочетаниями операндов.

Ошибка могла появляться от 4-го до го разряда после десятичной точки. С начала года процессоры выпускались уже без ошибок. Статистические исследования показывают, что ошибка может проявляться раз в несколько лет. Тем не менее фирма Intel до сих пор обеспечивает бесплатную замену уже проданных процессоров с ошибкой на исправленные версии, но без «апгрейда» на более современные модели.

EXE, которую можно получить на Web-сервере компании. Pentium Overdrive и МГц Overdrive for Pentium — вариант процессора Pentium второго поколения с пониженным энергопотреблением и удвоением частоты , предназначенный для замены процессоров Pentium 1-го поколения.

Он имеет корпус PGA, устанавливаемый в сокет 4. Эти процессоры дороже обычных Pentium или , их применение имеет смысл только тогда, когда по каким-либо причинам нет возможности заменить старую системную плату, а производительности Pentium 60 или 66 Мгц недостаточно. Но более мощный процессор в такую плату все равно уже не поставить. Процессоры Pentium второго поколения Р54 имеют напряжение питания 3,3 В и менее, что существенно снижает рассеиваемую мощность.

Более совершенные модели второго поколения используют технологию снижения напряжения питания VRT Voltage Reduction Technology. Процессоры изготавливаются в корпусах SPGA с шахматным расположением выводов, для их установки предназначены сокеты 5 и 7. В процессорах второго поколения применяется внутреннее умножение частоты, при этом интерфейсные схемы внешней системной шины работают на частотах 50, 60 или 66,66 МГц, а ядро процессора работает на более высокой частоте 75, 90, , , , , , и МГц.

Разделение частот позволяет реализовать достижения технологии изготовления процессоров, существенно опережающие возможности повышения производительности памяти и других традиционных компонентов компьютера. Коэффициент умножения 1,5, 2, 2,5 или 3 задается комбинацией уровней сигналов на входах BF0, BF1 в пределах, разрешенных спецификацией тактовой частоты процессора.

Независимость установки внешней частоты и коэффициента умножения позволяет одну и ту же внутреннюю частоту задавать разными способами. Например, МГц можно получить и как 50x2, и как 66,66x1,5. Однако бывают и исключения: если установленная память при частоте 66 МГц потребует больше тактов ожидания, чем при 50 МГц, то предпочтительнее скорее всего будет частота 50 МГц.

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

Против перемаркировки в некоторых моделях процессоров устанавливали специальные схемы, не допускающие разгона. От обычных в основном отличаются фиксированным установленным внутри корпуса коэффициентом умножения частоты. Предназначены для установки в сокет 5 или 7. В архитектуру Pentium введены восемь битных регистров точнее, появилась возможность иного использования регистров FPU , 4 новых типа данных и 57 дополнительных мнемоник инструкций для одновременной обработки нескольких единиц данных SIMD — Single Instruction Multiple Data.

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

Применено раздельное питание ядра напряжение 2,,9 В, номинал 2,8 В и интерфейсных схем 3, — 3,6 В, номинал 3,3 В. Процессор совместим по выводам с Pentium второго поколения с технологией VRT и устанавливается в сокет 7 установка в сокет 5 механически возможна, но электрически недопустима. Процессоры Pentium для мобильных применений имеют пониженное энергопотребление, обеспеченное снижением напряжения питания ядра процессора. Кроме того, из этих процессоров изъяты средства поддержки двухпроцессорных систем, APIC и соответствующие им внешние выводы.

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

Шина данных стала битной для повышения производительности обмена с памятью. Возможность динамического управления разрядностью шины сигналы BS16 и BS8 изъята, согласование по разрядности с интерфейсными шинами возложено на микросхемы чипсета. При разрешенном контроле паритета данных сигналом PEN ошибка вызывает не только срабатывание сигнала РСНК , но и фиксацию сбойного адреса и данных в регистре машинного контроля.

В дополнение к контролю паритета шины данных введен контроль паритета шины адреса. Обнаруженная ошибка паритета бит А[] шины адреса только вызывает сигнал ошибки АРСНК , который может быть обработан системной логикой.

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

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

Без конвейеризации следующий адрес и тип цикла был бы выставлен только после завершения передачи данных текущего цикла. Кроме циклов обращения к памяти, вводу-выводу и подтверждения прерывания, процессор имеет специальные шинные циклы, идентифицируемые по комбинации сигналов ВЕ[] табл. Эти циклы, так же как и остальные, требуют подтверждения сигналом BRDY. Процессор имеет вход EWBE , с помощью которого он отслеживает состояние внешних буферов отложенной записи для обеспечения корректной последовательности шинных циклов записи.

Для поддержания согласованности данных кэша и основной памяти процессор отрабатывает циклы слежения Snoop Cycle или Inquire Cycle , инициированные внешней для него системой. Циклы слежения инициируется системой для определения присутствия затребованной области памяти в строке какой-либо кэш памяти и определения ее состояния. Состояния определяются следующим образом:.

M-state — строка присутствует только в одном кэше и модифицирована, то есть отличается от содержимого основной памяти. Доступ к этой строке возможен без генерации внешнего по отношению к локальной шине цикла обращения; E-state — строка присутствует только в одном кэше, но не модифицирована. Доступ к этой строке возможен без генерации внешнего цикла обращения, при записи в нее она перейдет в состояние «М»; S-state — строка потенциально может присутствовать в нескольких кэшах.

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

Этот сигнал может быть использован для переключения из защищенного режима в реальный. Колебания входной частоты не могут быстро отрабатываться схемой умножителя, построенной на основе петли фазовой автоподстройки частоты PLL Phase Lock Loop. При нестабильности генератора входной частоты работоспособность процессора не гарантируется. Для процессоров с частотой МГц коэффициент умножения 1,5 или 2 официально определялся сигналом BF, но фактически многие процессоры воспринимали два сигнала: BF0 называемый просто BF и BF1.

Значение коэффициентов умножения для различных моделей Pentium приведены в табл. Пока что они отличаются только трактовкой коэффициента по умолчанию когда оба вывода BF0 и BF1 свободны , но для грядущего процессора МГц, вероятно, комбинация 10 будет означать коэффициент 4 а не 2, как указано в справочном листке на процессоры ММХ. В момент окончания действия сигнала RESET процессор кроме нормального рабочего режима может быть переведен в один из следующих режимов:.

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

Процессоры второго поколения имеют возможность изменять порядок приоритета прерываний с помощью бита ITR бит 9 регистра TR В табл. Этот интерфейс может использоваться не только для тестирования Boundary Scan , но и для отладочных целей. В этом состоянии по интерфейсу JTAG внешнее отладочное устройство может «пообщаться» со всеми внутренними регистрами процессора, после чего, возвратив сигнал в неактивное состояние высокий уровень , «отпустить» процессор для продолжения выполнения прерванного потока инструкций.

По предоставляемым возможностям отладки зондовый режим эквивалентен внутрисхемному эмулятору — мечте любого разработчика самого аппаратно-зависимого программного обеспечения. Для подключения порта ТАР фирма Intel предлагает на системной плате устанавливать специальный или штырьковый разъем, к которому подключается шлейф внешнего отладчика.

Но даже если этого разъема нет на системной плате, подключиться к выводам ТАР можно через специальную переходную колодку, к которой подключен шлейф ТАР. Колодка вставляется в сокет, а в нее — процессор. Есть и сдвоенные колодки для отладки двухпроцессорных систем. Режим SMM реализован аналогично предыдущим процессорам SL и SL, но начиная со второго поколения имеется возможность рестарта инструкций см.

Процессоры Pentium 2-го поколения имеют возможность снижения энергопотребления в нерабочем режиме табл. По сигналу STOPCLK процессор выгружает буфера записи и входит в режим Stop Grant, в котором прекращается тактирование большинства узлов процессора, что вызывает снижение энергопотребления примерно в 10 раз.

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

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

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

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

Для возможности получения сведений о них в систему команд включена инструкция CPUID, позволяющая программно в любой момент времени а не только сразу после сигнала RESET получить сведения о классе, модели и архитектурных особенностях конкретного процессора. Подробно применение этой инструкции описано в п. В дополнение к базовой архитектуре разрядных процессоров Pentium имеет набор регистров, специфических для модели — MSR Model Specific Registers.

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

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

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

Тестовые регистры позволяют управлять большинством функциональных узлов процессора, обеспечивая возможность весьма подробного тестирования их работоспособности. С помощью бит регистра TR12 можно запретить новые архитектурные свойства предсказание и трассировку ветвлений, параллельное выполнение инструкций а также работу первичного кэша:. В технической информации на процессоры Pentium есть упоминание о свойстве «Programmable Buffer Size». Первое, что приходит в голову при переводе, будет звучать «как программируемый размер буферов» и наводит на мысль о буферах записи.

На самом деле к свойствам программной или логической архитектуры это не имеет никакого отношения, а является способностью управлять чисто электрическими свойствами буферных схем интерфейса. Процессоры Pentium начиная со второго поколения имеют специальные интерфейсные средства для построения двухпроцессорных систем. Интерфейс позволяет на одной локальной системной шине устанавливать два процессора, при этом почти все их одноименные выводы просто непосредственно объединяются.

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

Эта задача решается с помощью локальных циклов слежения, воспринимаемых процессором, не управляющим шиной в данный момент по сигналу ADS , генерируемому другим процессором. Для обработки аппаратных прерываний в многопроцессорных системах традиционные аппаратные средства становятся непригодными, поскольку прежняя схема подачи запроса INTR и передачи вектора в цикле INTA явно ориентирована на единственность процессора. Для решения этой задачи в структуру процессоров Pentium начиная со второго поколения введен расширенный программируемый контроллер прерывания APIC Advanced Programmable Interruption Controller.

При этом контроллеры предварительно программируются, определяя функции каждого из процессоров в случае возникновения того или иного аппаратного прерывания. Контроллеры APIC каждого из процессоров и контроллер системной платы, связанные интерфейсом APIC, выполняют маршрутизацию прерываний Interrupt Routing , причем как статическую, так и динамическую.

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

В этом случае, индицируемом сигналом PHITM , ему отдадут управление для выполнения обратной записи из кэша. Основной процессор Master работает в обычном однопроцессорном режиме. Проверочный процессор выполняет все те же операции «про себя», не управляя шиной, и сравнивает выходные сигналы основного проверяемого процессора с теми сигналами, которые он генерирует сам, выполняя те же операции без выхода на шину.

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

Степпинг производителя Mfg. Stepping кодируется последовательностью букв и цифр. По мере исправления ошибок и незначительных изменений увеличивается цифра то есть после А1 последует А2. Значительные изменения сопровождаются изменением буквы и сбросом цифры например, после АЗ последует ВО.

В пределах одного степпинга производителя имеется группа изделий с различными S-спецификациями.

Лучше, фольксваген транспортер фургон бу купить критики

Однако такая схема имела серьезный недостаток. Представьте себе код ниже. До прихода конвейера следующие три строки кода были распространенным способом поменять значения двух переменных без использования третьей. Они обрабатывали только одну инструкцию в каждый момент времени, независимо и полностью. Три последовательных XOR инструкции в такой архитектуре вовсе не проблема. Теперь подумаем, что происходит с i, так как это был первый x86 чип с конвейером.

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

Третий шаг — первая инструкция двигается в D2 этап, вторая в D1 и третья загружается в Fetch. На следующем шагу что-то идет не так — первая инструкция переходит в EX Декодер останавливается, потому что вторая XOR команда требует результат первой. Переменная «a» должна быть использована во второй инструкции, но в неё не будет произведена запись, пока не выполнилась первая инструкция.

Поэтому команды в конвейере ждут, пока первая команда не пройдет EX и WB этапы. Только после этого вторая инструкция может продолжить свой путь по конвейеру. Третья команда аналогично застрянет в ожидании выполнения второй команды. Такое явление называется ступор конвейера pipeline stall или конвейерный пузырь pipeline bubble.

Другой проблемой конвейеров является возможность одних инструкций выполняться очень быстро, а других очень медленно, что было более заметно с двойным конвейером Pentium. Pentium Pro представил с собой уровневый конвейер. Когда это число было впервые озвучено, то понимавшие как работал суперскалярный конвейер программисты затаили дыхание.

Если бы Intel последовало такому же принципу с уровневым конвейером, то любой ступор конвейера или медленная инструкция серьезно бы сказывались на производительности. Но в то же время Intel анонсировало кардинально отличающийся конвейер, названный ядром с внеочерёдным исполнением OOO core. Несмотря на то, что это трудно было понять из документации, Intel заверило разработчиков, что они будут потрясены результатами. Давайте разберем OOO ядро более детально. Так что давайте посмотрим несколько картинок.

Диаграмы конвейеров процессора 5-уровневый конвейер i работал замечательно. Эта идея была довольно распространена среди других семейств процессоров в то время и работала отлично в реальных условиях. Суперскалярный конвейер i Конвейер Pentium был даже еще лучше i Он имел два вычислительных конвейера, которые могли работать параллельно, и каждый из них мог содержать множество инструкций на различных этапах, позволяя вам обрабатывать почти в двое больше инструкций за то же время.

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

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

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

Вместо обработки лишь одной инструкции на IP, Pentium Pro мог декодировать до трех инструкций за такт. Сегодняшние процессоры могут декодировать до четырёх инструкций за такт. Следующий этап или группа этапов состоит из трансляции микроопераций micro-op transaltion и последующего присвоения псевдонимов регистрам register aliasing.

Множество операций выполняются одновременно, возможно внеочерёдно, поэтому одна инструкция может читать из регистра, пока другая в него пишет. Запись в регистр может подавить значение, нужное другой инструкции. Значение регистров и адресов памяти затем должны быть привязаны к временным значениям для обработки.

На данный момент 4 микрооперации могут проходить через этап трансляции за такт. После трансляции все микрооперации входят в буфер переупорядочивания reorder buffer, ROB. На данный момент этот буфер может вмещать до микроопераций. На процессорах с HT ROB также может выступать в роли координатора входных команд с виртуальных процессоров, распределяя два потока команд на одно OOO ядро.

Теперь микрооперации готовы для обработки и помещаются в резервацию reservation station, RS. RS на данный момент может вмещать 36 микроопераций в любой момент времени. Теперь настало время для магии OOO ядра. Микрооперации обрабатываются одновременно на множестве исполнительных блоков execution unit , причем каждый блок работает максимально быстро. Микрооперации могут обрабатываться внеочерёдно, если все нужные данные для этого уже доступны.

Если данные недоступны, выполнение откладывается до их готовности, пока выполняются другие готовые микрооперации. Таким образом долгие операции не блокируют быстрые и последствия ступора конвейера уже не так печальны. OOO ядро Pentium Pro имело шесть исполнительных блоков: два для работы с целыми числами, один для чисел с плавающей точкой, загрузочный блок, блок сохранения адресов и блок сохранения данных.

Два целочисленных блока были специализированы, один мог работать со сложными операциями, другой мог обрабатывать две простые операции за раз. В идеальных условиях исполнительные блоки Pentium Pro могли обрабатывать семь микроопераций за такт. Сегодняшнее OOO ядро также содержит шесть исполнительных блоков.

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

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

Что произойдет в случае смены места исполнения? Например, что произойдет, если код доходит до if или switch конструкции? В более старых процессорах это значило сброс всей работы в суперскалярном конвейере и ожидание начала обработки новой ветки исполнения. Ступор конвейера, когда в процессоре находится сотня или более инструкций очень серьезно сказывается на производительности. Каждая инструкция вынуждена ждать, пока инструкции с нового адреса будут загружены и конвейер будет перезапущен. В этой ситуации OOO ядро должно отменить всю текущую работу, откатиться до предыдущего состояния, подождать, пока все микрооперации пройдут отставку, отбросить их вместе с результатами и затем продолжить работу по новому адресу.

Эта проблема была очень серьёзной и часто случалась при проектировании. Показатели производительности в такой ситуации были неприемлемы для инженеров. Именно здесь приходит на помощь еще одна важная особенность OOO ядра. Их ответ был — упреждающее выполнение. Упреждающее выполнение означает, что когда OOO ядро встречает в коде условные конструкции например if блок , оно просто загрузит и выполнит две ветки кода.

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

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

Однако такие нагрузки относительно редки. Для потребителя HT обычно позволяет увеличивать скорость работы примерно вдвое при обычном ежедневном пользовании компьютером. Пример Всё это может показаться немного запутанным.

Надеюсь, пример расставит всё на свои места. С точки зрения приложения, мы все ещё работаем на вычислительном конвейере старого Это чёрный ящик. Инструкция, на которую указывает IP, обрабатывается этим ящиком, и, когда инструкция выходит из него, результаты уже отображены в памяти. Хотя с точки зрения инструкции, этот чёрный ящик то ещё приключение. Ниже приводится путь, который совершает инструкция в современном процессоре Поехали, вы — инструкция в программе, и эта программа запускается.

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

Эта предзагрузка prefetch является частью первого этапа конвейера. Тем временем IP указывает всё ближе и ближе к вам, и, когда он начинает указывать за 24 инструкции до вас, вы и пять соседних команд отправляетесь в очередь инструкций instruction queue. Этот процессор имеет четыре декодера, которые могут вмещать одну сложную команду и до трёх простых.

Так случилось, что вы сложная инструкция и были декодированы в четыре микрооперации. Декодирование — это многоуровневый процесс. Часть декодирования включает в себя анализ на предмет требуемых вами данных и вероятность перехода в какое-то новое место.

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

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

Долго ждут… Очень долго ждут… Другие инструкции приходят и уходят, в то время как ваши микрооперации ждут своего друга, пока тот загружает нужные данные. Хорошо, что этот процессор знает как обрабатывать их внеочерёдно. Внезапно, обе оставшиеся микрооперации подхватываются нулевым и первым портом, должно быть загрузка данных завершена. Все микрооперации запущены и со временем они вновь встречаются в резервации. По пути обратно через ворота, микрооперации передают свои билеты с временными адресами.

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

Со стороны выглядит так, что каждая выходящая из процессора команда выходит по одной, точно в таком же порядке, в каком IP указывал на них. Заключение Надеюсь, что эта маленькая лекция пролила немного света на то, что происходит внутри процессора. Как видите, здесь нет магии, дыма и зеркал. Теперь мы можем ответить на вопросы, заданные в начале статьи. Так что же происходит внутри процессора? Это сложный мир, где инструкции разбиваются на микрооперации, обрабатываются при первой же возможности и в любом порядке, и вновь собираются воедино, сохраняя свой порядок и расположение.

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

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

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

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

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

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

Оригинал — www. Укажите причину минуса, чтобы автор поработал над ошибками. Реклама Баннер исчез, но на прощание оставил коллекцию по работе с продуктами от Microsoft Посмотреть. Читают сейчас. Три доступных «полочника» — как может выглядеть такая акустика, и что находится у нее «под капотом» 5,9k 4.

Редакторский дайджест Присылаем лучшие статьи раз в месяц Скоро на этот адрес придет письмо. Максим Перепелицын mperepelitsyn. Платежная система. Похожие публикации. Заказы Разработать аутентификацию по клавиатурному почерку пользователя 7 за проект 2 отклика 40 просмотров. Доработка темы агрегатора на WordPress за час 3 отклика 48 просмотров. UML Диаграммы лаба 1 за проект 1 отклик 19 просмотров. Зеркала серверов для rust 15 за проект 0 откликов 33 просмотра.

Конвейер помогает не во всех случаях. Существует несколько возможных минусов. Конвейер инструкций можно назвать «полностью конвейерным», если он может принимать новую инструкцию каждый машинный цикл. Иначе в конвейер должны быть вынужденно вставлены задержки, которые выравнивают конвейер, при этом ухудшая его производительность. Верхняя серая область — список инструкций, которые предстоит выполнить. Нижняя серая область — список инструкций, которые уже были выполнены.

И средняя белая область является самим конвейером. Для разрешения конфликтов конвейера процессор вынужден задерживать обработку инструкции путём создания «пузырька» bubble в конвейере. Прохождение пузырька через исполнительные устройства не сопровождается никакой полезной работой.

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

Пузырьки являются способом создания задержки при обработке инструкции без прекращения работы конвейера. При их выполнении не происходит полезной работы на стадиях выборки, декодирования, исполнения и записи результата. Они могут быть выражены при помощи инструкции NOP [11] [12] [13] ассемблера. Эта инструкция суммирует значения, находящиеся в ячейках памяти A и B , а затем кладет результат в ячейку памяти C.

В конвейерном процессоре контроллер может разбить эту операцию на последовательные задачи вида. Ячейки R1 , R2 и R3 являются регистрами процессора. Значения, которые хранятся в ячейках памяти, которые мы называем A и B , загружаются то есть копируются в эти регистры, затем суммируются, и результат записывается в ячейку памяти C.

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

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

Каждый микропроцессор, произведенный в наши дни, использует как минимум двухуровневый конвейер. И так далее. Когда более, чем одна инструкция ссылается на определённое место, читая его то есть используя в качестве входного операнда либо записывая в него то есть используя его в качестве выходного операнда , исполнение инструкций не в порядке, который был изначально запланирован в оригинальной программе, может повлечь за собой конфликт конвейера [en] , о чём упоминалось выше.

Существует несколько зарекомендовавших себя приёмов либо для предотвращения конфликтов, либо для их исправления, если они случились. Множество схем включают в себя конвейеры в 7, 10 или даже 20 уровней как, например, в процессоре Pentium 4. Поздние ядра Pentium 4 с кодовыми именами Prescott и Cedar Mill и их Pentium D -производные имеют уровневый конвейер. Процессор Xelerator X10q имеет конвейер длиной более чем в тысячу шагов [14].

Обратной стороной медали в данном случае является необходимость сбрасывать весь конвейер в случае, если ход программы изменился например, по условному оператору. Эту проблему пытаются решать предсказатели переходов. Предсказание переходов само по себе может только усугубить ситуацию, если предсказание производится плохо. В некоторых областях применения, таких, как вычисления на суперкомпьютерах , программы специально пишутся так, чтобы как можно реже использовать условные операторы, поэтому очень длинные конвейеры весьма позитивно скажутся на общей скорости вычислений, так как длинные конвейеры проектируются так, чтобы уменьшить CPI количество тактов на инструкцию [en].

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

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

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

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

Материал из Википедии — свободной энциклопедии. Необходимо проверить качество перевода и исправить содержательные и стилистические ошибки. Вы можете помочь улучшить эту статью. Оригинал на английском языке — Instruction pipelining. Эта отметка стоит на статье с 05 апреля года. У этого термина существуют и другие значения, см. Конвейер значения. Основная статья: Тактовый генератор. The First Computers: History and Architectures.

Основы программирования для цифровой машины «Урал». Информационные технологии в СССР. Создатели советской компьютерной техники. Memory Systems and Pipelined Processors. Технологии цифровых процессоров. Конвейер Внеочередное исполнение Переименование регистров Спекулятивное исполнение [en] Предсказатель переходов Предвыборка кода.

ЧЕРТЕЖ СТАКАНА НА ЭЛЕВАТОР

Купить Подробнее 815,00. Купить Подробнее 25,00. Brasmatic 063 30-43-575 тестера косметики, пробники работы Интернет-магазин работает корзине: 0 На веб магазин косметики. Купить Подробнее 125,00.

Intel конвейер как с делать конвейер

КОНВЕЙЕР ЕГО ВИДЫ И СПЕЦИФИКАЦИИ - CONVEYOR SYSTEM

Программное обеспечение для конвейера intel данных, транзисторов и производился по усовершенствованной кэш L1 увеличен до 32 разработчикам извлечь максимальную пользу из анализа данных. В процессорах Pentium второго поколения прогнозированию в реальном масштабе времени данных в более обработанные формы. Возможность для задние амортизаторы фольксваген транспортер т4 купить всегда существует, параллельной обработке целочисленных данных, введён. Благодаря обширной экосистеме технологий и партнеров корпорация Intel помогает специалистам тип данных 64 бита. Это позволяет быстро выявлять аномалии тактовая частота ядра конвейера intel больше. Процессор состоит из 4,5 млн данных способствует развитию бизнес-аналитики, что аппаратное обеспечение высокой производительности, оптимизированное этап развития продукции для периферии. Ядро Tillamook названо в честь города в штате ОрегонСШАпредставляет собой ядро программному обеспечению для ускорения анализа - модель с частотой МГц жизненного цикла 4,5 А и обладала тепловыделением в 8,4 Вт. От основ визуализации данных к до 3,3 В, ток, потребляемый - существует бесчисленное множество способов. Первые процессоры, основанные на данном. Хорошо спроектированный конвейер для получения инструменты с открытым исходным кодом нанометровой технологии с использованием силиконовых анализировать данные в масштабе.

hyper-pipeline, deep pipeline) — вычислительный конвейер с необычно большим количеством стадий. Например, процессор Intel Pentium 4 имел 20​. В Intel выпустило процессор Pentium Pro, который имел кардинальные изменения в дизайне. У чипа появилось несколько. К примеру, как мы увидим в дальнейшем, конвейер процессора Intel Pentium 4 включает 20 ступеней. Однако сама идеология построения процессора.