Процессоры Amd

Mike22

Местный
Не так давно корпорацией AMD была опубликована информация о так называемой "Ошибке TLB"(кодовое название Bug #298) в процессорах AMD Opteron серии 2ххх, а также в настольных процессорах AMD Phenom степпинга B2.
Суть проблемы заключается в не совсем корректной работе механизма обработки кэш-промахов, что может в очень редких случаях при полной загрузке всех четырех ядер процессора привести к краху системы.
Практически сразу был предложен патч в виде загружаемого в процессор микрокода, который отключал некоторую часть логики кэша третьего уровня, устраняя проблему ценой 15-20 процентного падения производительности.

10 дней назад организация AMD's Operating System Research Center завершила тестирование альтернативного решения проблемы, патча к ядру Linux 2.6.23.8, который не приводит к существенной потере производительности (снижение менее чем на 1%), и в то же время устраняет ошибку.

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

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

LOR
 

pr0fet

Новичок
Таким образом, в очередной раз подтверждются преимущества открытой модели разработки.

я бы сказал, таким образом, в очередной раз подтверждаются преимущества Intel перед AmD
 

Steeply

Skynet
я бы сказал, таким образом, в очередной раз подтверждаются преимущества Intel перед AmD
во во.
Капец, раньше на ОС были глюки, теперь на процах.
Началось нашествие, завтра поди уже даже карманный калькулятор будет глючить и ошибки выдать при расчетах 2+2=error
 

Dusty

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

qwestion

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

pr0fet

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

Mike22

Местный
Ошибки у всех бывают и обновления микрокода процессора - обычная практика.
Тут речь о том, что решение для Linux было достаточно быстро найдено, а для Windows его до сих пор не смогли реализовать.
 

qwestion

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

Mike22

Местный
Pentium Pro из старых
Intel Core 2 из новых :blink:
Это совершенно нормальный процесс.
Что у Intel, что у AMD, примерно каждый квартал выходят процессоры с новым степпингом, где старые ошибки исправлены, новые добавлены ;)

В Linux уже много лет существует модуль ядра "CPU microcode Update" - он и занимается исправлением ошибок в процессоре.

Надеюсь я не для кого секрета не открою - современные x86-процессоры на самом деле давно являются RISC-процессорами и система комманд x88 эмулируется в них программно.
 

Mek_ph

Активный пользователь
Надеюсь я не для кого секрета не открою - современные x86-процессоры на самом деле давно являются RISC-процессорами и система комманд x88 эмулируется в них программно.

Призводительность такого решения намного ниже. К тому-же большинство RISC выполняют простые команды за один такт, а у интел и амд конвейер, да к тому-же не маленький.
Типичный пример RISC: архитектура ARM, на которой делают смартфоны, карманники, терминалы и т.п.
Как правило это архитектура микроконтроллеров (MCS51, AVR, AVR32, ARM и т.п.), кстати, ARM изначально микроконтроллер.
 

Mike22

Местный
Призводительность такого решения намного ниже.
Чем что?
К тому-же большинство RISC выполняют простые команды за один такт, а у интел и амд конвейер, да к тому-же не маленький.
Типичный пример RISC: архитектура ARM, на которой делают смартфоны, карманники, терминалы и т.п.
Как правило это архитектура микроконтроллеров (MCS51, AVR, AVR32, ARM и т.п.), кстати, ARM изначально микроконтроллер.
Боюсь вас разочаровать, - сейчас на рынке не существует ни одного чистого x86-процессора, только эмулируемые!
Учите матчасть!
 

Cosinus

Новичок
Все сбалансировано... это 2 разных процессора

у одного работает одно лудше у другого другое

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

вот и процессоры тоже разные и выбирать их надо для конкретных целей.
 

Mek_ph

Активный пользователь
Чем что?
Боюсь вас разочаровать, - сейчас на рынке не существует ни одного чистого x86-процессора, только эмулируемые!
Учите матчасть!

Что считать чистой x86? Давно уже добавлены дополнительные команды.
Эмуляция это потеря производительности. Характерный пример - эмуляция x86 на ARM.
Так что процы, разрабатываемые для конкретных применений, поддерживают основной набор команд нативно. Дополнительные команды - микрокод, но это неколько прогонов через конвейер.
Таким образом что Core "аналогичные" процы от AMD основной набор команд, соответствующий поколению поддерживают нативно.
Если кто желает с матчастью ознакомится, могу для примера выложить набор команд AVR, для Core найдете сами. Вот и сравните :blink:.
 

amk

Новичок
Что считать чистой x86? Давно уже добавлены дополнительные команды.
Эмуляция это потеря производительности. Характерный пример - эмуляция x86 на ARM.
Так что процы, разрабатываемые для конкретных применений, поддерживают основной набор команд нативно. Дополнительные команды - микрокод, но это неколько прогонов через конвейер.
Таким образом что Core "аналогичные" процы от AMD основной набор команд, соответствующий поколению поддерживают нативно.
Если кто желает с матчастью ознакомится, могу для примера выложить набор команд AVR, для Core найдете сами. Вот и сравните ;).

Лучше выложи набор команд для PDP11/60 :)
набор команд ничего не значит к сожалению.

___
PS: для тех кто не в курсе PDP11/60 - машина с загружаемым микрокодом -
технологическая машина при разработке процессоров VAX
___
PS1: Пример конечно неудачный, но ...
А как реализован PATCH микрокода у интел и AMD ?
___
PS3: Уточните пожалуйста понятия микрокод и эмуляция
 

Mek_ph

Активный пользователь
Лучше выложи набор команд для PDP11/60 ;)
Такого у меня нет. Да и не нужен он уже :).

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

___
PS: для тех кто не в курсе PDP11/60 - машина с загружаемым микрокодом -
технологическая машина при разработке процессоров VAX
Ну и что, это не повышает быстродействие.

___
PS1: Пример конечно неудачный, но ...
А как реализован PATCH микрокода у интел и AMD ?
Какая разница как реализован. В любом случае это несколько прогнов через конвейер. Что лучше- RISC процессор с частотой 3 ГГц и длиной конвейера 10, который команду исполняет за 3 прогона или
процессор, который ту же команду поддерживает нативно и исполняет за 1 прогон с частотой в 3 раза меньшей B). Это условность, конвейер как раз и нужен процессорам с длинным набором команд, чтобы на разных этапах исполнялись разные операции. А RISC чаще всего выполняет команду за такт, но их набор существенно ограничен. И быстродействие у них на разных задачах разное, под каждую задачу своя архитектура.

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

Mike22

Местный
Не знаю что имел в виду Mike22
During execution, current x86 processors employ a few extra decoding steps to split most instructions into smaller pieces, micro-operations (μ-ops). These are readily executed by a micro-architecture that could be described (simplisticly) as a fairly large set of ALU and LOAD/STORE units working in parallel and which are fed by an advanced control unit that buffer μ-ops and schedules them in accordance to x86 semantics, but reordered so that several μ-ops (often extracted from several different x86-instructions) can be issued simultaneously.

When Intel first introduced this technique, they referred to it as a "RISC Core", but soon dropped that term. This is similar to traditional microcode, but differs mainly in the fact that the translation from the external instruction set to the micro-ops occurs asynchronously, so the ALU and pipeline are not lockstepped to the instruction set's instruction boundaries. Just as in traditional microcode, there are a two main approaches to the design of the internal instruction set: vertical, with narrow micro-ops, and horizontal, with wide micro-ops. Conventional wisdom used to be that Intel favored vertical "RISC-like" micro-ops, while AMD preferred horizontal ones, but it's likely that both are using the more-easily-scheduled vertical micro-ops now.

http://en.wikipedia.org/wiki/X86

Более подробные описания современных реализаций x86 ищите сами.
 

Mek_ph

Активный пользователь
http://en.wikipedia.org/wiki/X86

Более подробные описания современных реализаций x86 ищите сами.

Зачем вы абзацы вырываете? На той-же странице:

The x86 architecture is a variable instruction length, primarily two-address, "CISC" design with emphasis on backward compatibility. The instruction set is not typical CISC however, but basically an extended and orthogonalized version of the simple eight-bit 8085 architecture. Words are stored in little-endian order and 16-bit and 32-bit accesses are allowed to unaligned memory addresses.

To conserve opcode space, most register-addresses are three bits, and at most one operand can be in memory (some highly orthogonal "CISC" designs, such as the PDP-11, may use two memory operands), but this memory operand may also be the destination, while the other operand, the source, can be either register or immediate. This contributes, among other factors, to a code footprint that rivals eight-bit machines and enables efficient use of instruction cache memory. The relatively small number of general registers (also inherited from 8085) has made register-relative addressing (using small immediate offsets) an important method of accessing operands, especially on the stack. Much work has therefore been invested in making such accesses as fast as register accesses, i.e. a one cycle instruction throughput in most circumstances.


А вообще есть в русской википедии:

x86 — это CISC-архитектура. Доступ к памяти происходит по «словам». «Слова» размещаются по принципу little-endian. Современные процессоры включают в себя декодеры команд x86 для преобразования их в упрощённый внутренний формат с последующим их выполнением, тем самым они являются RISC и CISC одновременно.

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