Topic K6REF from CPU FAQ base


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


SU.HARDW.PC.CPU (2:5020/299) ————————————————————————————— SU.HARDW.PC.CPU From : Ilia Gavrichenkov 2:5020/1072.2 Tue 29 Apr 97 09:56 Subj : AMD!HELP! ——————————————————————————————————————————————————————————————————————————————— 24 Apr 97 19:10, Igor Matyushenko wrote to All: BA>> Как у subj отключается предсказание переходов? BA>> Говорили, был драйвер... BA>> Может быть кто-нибудь кинет его в письме? IM> Tочно! Hу запостьте кто-нть, а? IM> ПЛИИИИИЗ!! Hиже приводится текст проспекта, взятого у АМД на комтеке. ТЕХHИЧЕСКАЯ СПРАВКА Процессор AMD-K6 MMX Превосходный <мотор> для Windows Процессор шестого поколения AMD-K6 MMX обеспечивает передовую, шестикомандную RISC86R суперскалярную производительность для ПК общего профиля, работающих с 16-разрядными и 32-разрядными кодами. Таким образом, AMD-K6 обеспечивает превосходную производительность при работе в операционных системах Microsoft Windows 95 и Windows NT, а также с установленной базой программного обеспечения х86. Кроме того, благодаря совместимости процессора AMD-K6 с разъемом Socket 7, изготовители и торговцы ПК могут, опираясь на сегодняшнюю зрелую и экономичную инфраструктуру (материнские платы, наборы микросхем, источники питания и температурные конструктивные решения), быстро выходить на рынки с системами ПК, обладающими превосходным соотношением цены и производительности. Технические особенности и новаторские свойства процессора AMD-K6 MMX . Производительность шестого поколения, соперничающая с Pentium Pro . Высокая производительность при работе с операционными системами Windows 95 и Windows NT . Передовая, шестикомандная RISC86 суперскалярная микроархитектура . Семь параллельных исполнительных блоков . Множественные сложные дешифраторы команд x86/RISC86 . Передовое двухуровневое предсказание ветвлений . Спекулятивное (по предположению) исполнение команд . Полное исполнение команд с изменением последовательности . Переименование регистров и передача данных . Крупные 64-Кбайт L1 кэши, размещенные на кристалле . 32-Кбайт кэш инструкций плюс кэш предварительного декодирования . 32-Кбайт двухпортовый кэш данных с обратной записью . Протокол MESI для согласования кэшей . Высокопроизводительное IEEE 754-совместимое устройство для вычислений с плавающей точкой (FPU) . Высокопроизводительные, ставшие промышленным стандартом мультимедийные расширения (ММХ) . Полностью совместимый режим управления системой (SMM) . Совместимость с разъемом Socket 7, позволяющая изготовителям и торговцам ПК использовать преимущества недорогой инфраструктуры и системных конструкций . Поступает в продажу в керамическом корпусе с матрицей штырьковых выводов CPGA (совместим с Socket 7) с применением новаторской технологии flip-chip С4 . Производится с применением современной 0,35 мкм технологии обработки с пятью слоями металлизации на заводе AMD Fab 25 Полностью совместим с ведущими операционными системами и всем программных обеспечением х86. Архитектура процессора AMD-K6 полностью совместима с х86 бинарным кодом и поддерживает высокопроизводительные стандартные мультимедийные расширения ММХ. Конструкторы процессора AMD-K6 добились устойчивой совместимости, подтвержденной тщательным тестированием с использованием стандартных средств, а также сертификатами совместимости, представленными третьими сторонами. Богатый опыт AMD по производству четырех поколений процессоров х86 нашел свое воплощение в процессоре AMD-K6 и обеспечил полную совместимость с Windows 95, Windows З.х, Windows NT, MS-DOSR, OS/2, Novell NetWare, Unix, Solaris, Vines и другими ведущими операционными системами и приложениями. Hоваторская RISC86 микроархитектура. Отличительной особенностью RISC86 микроархитектуры процессора AMD-K6 является суперскалярная конструкция с раздельным декодированием/исполнением, которая обеспечивает улучшенную производительность шестого поколения и полную совместимость с х86 бинарным программным обеспечением. Передовые технологии, примененные в AMD-K6, включают декодирование множественных х86 инструкций, однотактовые внутренние RISC операции, исполнение с изменением последовательности, передачу данных, спекулятивное (по предположению) исполнение и переименование регистров. Процессор AMD-K6 содержит параллельные дешифраторы, централизованный планировщик RISC86 операций, а также семь исполнительных блоков, которые обеспечивают суперскалярное исполнение х86 инструкций. Hазванные элементы упакованы в высокоэффективный шестиступенчатый конвейер. Hоваторская RISC86 микроархитектура процессора AMD-K6 использует набор инструкций х86, выполняя внутреннее декодирование х86 инструкций в RISC86 операции, которые напрямую поддерживают набор команд х86, сохраняя при этом верность таким принципам RISC систем, как кодирование фиксированной длины, регулируемые поля инструкций и большой набор регистров. Микроархитектура RISC86 обеспечивает более высокую производительность процессорного ядра и упрощает прямое расширение в будущих конструкциях. Весто того, чтобы напрямую выполнять сложные х86 инструкции, длина которых может составлять от 1 до 15 байтов, процессор AMD-K6 выполняет менее сложные RISC86 операционные коды фиксированной длины, используя при этом преимущества кодирования команд, которыми обладают программы х86. Передовая логика предсказания ветвлений, примененная в процессоре AMD-K6, включает таблицу истории ветвлений из 8192 статей, кэш адресатов ветвлений и обратный адресный стек. Эти конструктивные особенности в совокупности обеспечивают вероятность предсказания, превышающую 95 процентов. Дешифраторы. Декодирование х86 инструкций начинается еще до наполнения размещенного на кристалле кэша инструкций. Логика предварительного декодирования определяет длину х86 инструкции на побитовой основе. Информация предварительного декодирования хранится вместе с х86 инструкциями в кэше инструкций для последующего использования дешифраторами. Дешифраторы преобразуют до двух х86 инструкций в RISC86 операции за такт. Эти команды подразделяются на три категории согласно трем типам декодирования: Короткие дешифраторы - декодируют наиболее часто используемые х86 инструкции Длинные дешифраторы - декодируют часто и менее часто используемые команды Векторные дешифраторы - декодируют редко встречающиеся, сложные х86 инструкции. Планировщик/Блок управления командами. Централизованный планировщик, или буфер, управляется Блоком управления командами (ICU). Блок ICU служит буфером и управляет одновременно до 24 RISC86 операциями. Размеры буфера, вмещающего 24 операции, являются оптимальными для эффективного использования шестиступенчатого RISC86 конвейера и семи параллельных исполнительных блоков процессора. Планировщик принимает от дешифраторов до четырех RISC86 операций одновременно. Блок ICU может одновременно выдавать на исполнительные блоки до шести RISC86 операций за такт. Регистры. Управляя упомянутыми 24 RISC86 операциями, планировщик использует 46 физических регистров, содержащихся в микроархитектуре RISC86. Эти регистры находятся в общем файле регистров и объединены в группы: 24 общих регистра плюс 24 регистра переименования. Логика ветвлений. Процессор AMD-K6 использует динамическую логику ветвлений, чтобы свести к минимуму задержки, связанные с инструкциями ветвлений, распространенными в программном обеспечении х86. Совершенная динамическая логика ветвлений процессора AMD-K6 содержит таблицу истории/предсказаний ветвлений, кэш адресатов ветвлений данных и обратный адресный стек. В процессоре воплощена двухуровневая схема предсказания ветвлений, основанная на таблице истории ветвлений (состоящей из 8192 статей), в которой хранится информация о предсказаниях, используемая для предсказания условных ветвлений. Поскольку таблица истории ветвлений не хранит предсказаний целевых адресов, специальные адресные арифметические логические устройства (ALU) вычисляют целевые адреса по ходу дела, во время декодирования инструкции. Кэш адресатов ветвлений обеспечивает еще более точное предсказание ветвлений, помогая избежать потери одного такта при выборке кэша. Этот специальный кэш адресатов поставляет на дешифраторы первые 16 Байт инструкций адресатов при предсказании ветвлений. Kэш, предварительная выборка инструкций и биты предварительного декодирования. L1 кэш с обратной записью процессора AMD-K6 содержит отдельный 32-Кбайт кэш инструкций и 32-Кбайт кэш данных с двунаправленной ассоциативностью. Предварительная выборка строк кэша осуществляется посредством эффективной конвейерной пакетной трансакции. По наполнении кэша инструкций каждый байт инструкций анализируется на предмет границ инструкций с использованием логики предварительного декодирования. Благодаря этой технологии дешифраторы могут эффективно декодировать множественные инструкции в пределах одной ступени конвейера. Кэш. Используемая в процессоре AMD-K6 конструкция кэша имеет секторную организацию. Каждый сектор состоит из 64 байтов, сконфигурированных как две 32-байтовые строки кэша, у которых общий тег, но раздельные пары битов MESI (Modified, Exclusive, Shared, Invalid), отслеживающие состояние каждой строки кэша. Случаи непопадания в кэш. В том случае, если команда или строка кэша данных, необходимые для исполнения, не попадают в кэш L1 процессора AMD-K6, процессор производит пакетное наполнение строки кэша из памяти. Чтобы сделать эту операцию максимально эффективной, процессор определяет, какое из четырех учетверенных слов в строке кэша содержит необходимые данные или команду. Искомое учетверенное слово первым возвращается в кэш L1, что позволяет процессору как можно скорее продолжить выполнение команды. Благодаря этой технологии варьирования очередности пакетов, задержки в исполнении после непопадания в кэш L1 сводятся к минимуму, что дает выигрыш в производительности. Предварительная выборка. AMD-K6 осуществляет предварительную выборку кэшей лишь для замены секторов. В результате, первой заполняется необходимая строка кэша, после чего осуществляется предварительная выб орка второй строки кэша. С точки зрения внешней шины, заполнение двух строк кэша обычно предстает в виде двух 32-битных циклов чтения пакета, примыкающих другу к другу, или, если это возможно, в виде конвейерных циклов. Биты предварительного декодирования. Декодирование х86 инструкций является особенно сложным, так как длина этих инструкций может варьироваться от 1 до 15 Байтов. Логика предварительного декодирования поставляет биты преддекодирования, относящиеся к каждому биту инструкций. Биты преддекодирования, помимо всего прочего, указывают на число байтов, отделяющих начало следующей х86 инструкции. Эти биты хранятся в расширенном кэше инструкций рядом с каждым байтом х86 инструкции. Биты преддекодирования пересылаются, вместе с байтами инструкций, на дешифраторы, где они помогают декодировать параллельные х86 инструкции, расширяя тем самым пропускную способность декодирования. Выборка и декодирование инструкций Выборка инструкций. Процессор AMD-K6 может выбирать из кэша инструкций или кэша адресатов ветвлений до 16 Байтов на такт. Выбранная информация поступает в 16 Байт буфер инструкций, непосредственно питающий дешифраторы. Выборка может осуществляться по единому потоку исполнения и задействовать до семи ветвлений, ожидающих своей очереди. Логика выборки инструкций может вызывать любые 16 смежных байтов информации в границах 32 битов. Причем, если данные 16 байтов инструкций выходят за границы строки кэша, никакой дополнительной потери во времени не происходит. Байты инструкций загружаются в буфер инструкций по мере их потребления дешифраторами. Декодирование инструкций. Логика декодирования призвана декодировать множественные х86 инструкции в пределах одного такта. Логика декодирования принимает байты х86 инструкций и их биты предварительного декодирования из буфера инструкций, устанавливает местонахождение действительных границ инструкций и преобразует эти х86 инструкции в RISC86 операции. RISC86 операции представляют собой внутренние инструкции фиксированного формата и, в большинстве своем, исполняются в пределах одного такта. Сочетание RISC86 операций позволяет выполнять любую функцию набора команд х86. Hекоторые х86 инструкции декодируются в ноль RISC86 операций или в одну RISC86 операцию. Более сложные х86 инструкции декодируются в несколько RISC86 операций. Процессор AMD-K6 использует комбинацию дешифраторов для преобразования х86 инструкций в RISC86 операции. Аппаратное обеспечение включает четыре дешифратора: Два параллельных коротких дешифратора - преборазуют наиболее часто используемые х86 инструкции в ноль, одну или две RISC86 операции. Причем они способны декодировать до двух х86 инструкций за такт. Длинный дешифратор - работает с часто используемыми х86 инструкциями, которые могут быть представлены в виде четырех или менее RISC86 операций. Векторный дешифратор - осуществляет все прочие преобразования в соответствии с последовательностями RISC86 операций, выбранными из памяти ROM, размещенной на кристалле. Hа аппаратном уровне, все часто встечающиеся и некоторые из редко встречающихся инструкций, в том числе с плавающей точкой, декодируются короткими дешифраторами. При подобном декодировании образуется RISC86 операция с плавающей точкой и, факультативно, связанная с ней операция с плавающей точкой или операция по сохранению. Декодирование инструкций с плавающей точкой или ESC (Escape) допустимо лишь в первом коротком дешифраторе, тогда как инструкции, отличные от ESC (за исключением инструкций ММХ), могут быть одновременно декодированы вторым коротким дешифратором. Все инструкции ММХ декодируются, на аппаратном уровне, короткими дешифраторами. При подобном ММХ декодировании образуется RISC86 ММХ операция и, факультативно, связанная с ней операция по загрузке ММХ или сохранению. Декодирование инструкций ММХ допустимо лишь в первом коротком дешифраторе, однако инструкции, отличные от ММХ и ESC, могут одновременно декодироваться вторым коротким дешифратором. Централизованный планировщик. Образно говоря, планировщик является сердцем процессора AMD-K6. В нем содержится логика, необходимая для управления исполнением с изменением последовательности, для передачи данных, переименования регистров, одновременной выдачи и отзыва множественных RISC86 операций, а также для спекулятивного (с изменением последовательности) исполнения. RISC86 операционный буфер планировщика может удерживать до 24 операций. Планировщик может одновременно выдавать RISC86 операцию на любой из имеющихся исполнительных блоков (хранение, загрузка, ветвление, целочисленные операции, целочисленные/ММХ или операции с плавающей точкой). В общей сложности планировщик может выдавать до шести и отзывать до четырех RISC86 операций за такт. Планировщик и его буфер операций могут одновременно просматривать окно х86 инструкций, эквивалентное 12 х86 инструкций. Это преимущество связано с тем обстоятельством, что планировщик работает с RISC86 операциями в параллельном режиме и позволяет AMD-K6 осуществлять по ходу дела динамическое планирование кодов инструкций в интересах оптимального исполнения. Хотя планировщик может выдавать RISC86 операции для исполнения с изменением последовательности, он всегда отзывает стоящие на очереди х86 инструкции. Исполнительные блоки. Процессор AMD-K6 содержит семь независимых исполнительных блоков, каждый из которых способен работать с RISC86 операциями: Блок загрузки - осуществляет чтение памяти данных с помощью двухступенчатого конвейера; данные из этого блока поступают через два такта. Блок хранения - осуществляет запись данных и вычисления регистров с помощью двухступенчатого конвейера; память данных и записи регистров поступают из блока хранения через один такт. Целочисленный Х блок - выполняет все операции ALU, умножает, делит, передвигает и вращает. Блок мультимедиа - выполняет все инструкции ММХ. Целочисленный Y блок - выполняет основные словные и двусловные ALU операции. Блок вычислений с плавающей точкой - выполняет все команды с плавающей точкой. Блок ветвлений - разрешает условные ветвления после того, как они получили соответствующую оценку. Логика предскачания ветвлений. Совершенная логика ветвлений, используемая в процессоре AMD-K6, призвана свести к минимуму или замаскировать последствия изменений в потоке программ. Ветвления в х86 коде бывают двух категорий: безусловные ветвления (всегда изменяют течение программы) и условные ветвления (могут изменять, а могут и не изменять течение программы). В том случае, если условное ветвление не состоялось, процессор продолжает декодировать и исполнять последующие команды в памяти. В типичных приложениях до 10 процентов приходится на безусловные ветвления и еще 10-20 процентов на условные ветвления. Логика ветвлений, используемая в процессоре AMD-K6, призвана учитывать подобное поведение программ и его влияние на выполнение команд (например, заминки, связанные с задержанной выборкой команд и дренажем конвейера). Таблица истории ветвлений. Процессор AMD-K6 работает с безусловными ветвлениями без каких-либо потерь во времени, перенаправляя выборку инструкций на целевой адрес безусловного ветвления. Однако для условных ветвлений требуется использование встроенного в процессор AMD-K6 механизма динамического предсказания ветвлений. Двухуровневый адаптивный алгоритм истории нашел свое воплощение в таблице истории ветвлений (8192 статей), которая хранит информацию об исполненных ветвлениях, предсказывает индивидуальные ветвления, а также предсказывает поведение групп ветвлений. Чтобы вместить эту крупную таблицу истории ветвлений, процессор AMD-K6 не хранит предсказанные целевые адреса: вместо этого, целевые адреса ветвлений вычисляются по ходу дела, с использованием блоков ALU на этапе декодирования. Кэш адресатов ветвлении. Чтобы избежать потерь во времени, связанных с однотактовой выборкой, при предсказании ветвления, встроенный кэш адресатов ветвлений поставляет первые 16 Байтов инструкций непосредственно на буфер инструкций. Кэш адресатов ветвлений организован как 16 статей из 16 Байтов. В общей сложности, логика предсказания ветвлений обеспечивает предсказание ветвлений с точностью, превышающей 95 процентов. Обратный адресный стек. Обратный адресный стек призван оптимизировать пары CALL и RET В интересах экономии пространства, программное обеспечение обычно компилируется с помощью подпрограмм, которые часто вызываются из различных участков в программе. Вход в подпрограмму осуществляется посредством выполнения команды CALL. В том случае, если процессор сталкивается с командой RET, логика ветвлений выдает адрес из стека и начинает выборку из указанного местонахождения. Во избежание задержек, связанных с запросами главной памяти во время операций CALL и RET, обратный адресный стек складирует адреса, помещенные в стек. Блок исполнения ветвлении. Этот блок, обеспечивающий эффективное выполнение команд по предположению, позволяет процессору выполнять команды за пределами условных ветвлений прежде, чем тот убедится в правильности предсказанного ветвления. Процессор AMD-K6 не обновляет на постоянной основе х86 регистры или местонахождения в памяти, пока не разрешены все инструкции условных ветвлений, исполненные по предположению. Процессор AMD-K6 может поддерживать до семи ожидающих своей очереди ветвлений. Процессор AMD-K6 ММХ Превосходный мотор для Windows. Процессор AMD-K6 представляет последнее поколение большой семьи процессоров х86 от AMD. Собственно говоря, компания AMD разработала, изготовила и поставила свыше 50 миллионов Windows-совместимых процессоров за последние пять лет. Процессор AMD-K6 сочетает в себе современную RISC86 суперскалярную архитектуру, полную совместимость с операционными системами х86 и Windows, а также ставшие промышленным стандартом инструкции ММХ. Благодаря этим особенностям процессор AMD-K6 обеспечивает превосходное соотношение цены и производительности и с 16-битным, и с 32-битным кодами. Во всех отношениях, AMD-K6 -наилучший выбор для сегодняшних и завтрашних конструкций ПК! Дополнительную информацию по процессорам AMD-K6 можно получить по телефону: +44(0) 1276-803299. Или на web-caйтe AMD ро адресу: www.amd.coм. AMD Internet: http://www.amd.com E-mail technical: euro.tech@amd.coм E-mail literature: euro.lit@amd.com AMD technical hotlines: FRANCE: 0800-908621 GERMANY: 089-450 531 99 ITALY: 1678-77224 UK&REST OF EUROPE: +44(0)1276-803299 AMD direct: Fax: +441276-803298 BBS: +441276-803211 AMD, логотип AMD и их комбинации, а также AMD-K6 и RISC86 являются товарными знаками Advanced Micro Devices, Inc. Microsoft и Windows являются зарегистрированными товарными знаками, a Windows NT является товарным знаком Microsoft Corporation. Novell и NetWare являются зарегистрированными товарными знаками Novell Corporation. Прочие названия продуктов, используемые в настоящей публикации, приводятся исключительно в целях наименования и могут являться товарными знаками соответствующих компаний. Ilia --- GoldED/386 3.00.Alpha3+ * Origin: Все в жизни - фигня. Главное - контpацепция! (2:5020/1072.2)

Return to the main CPU FAQ page