Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 64 • Страница 3 из 4<  1  2  3  4  >
  Версия для печати (полностью) Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 05.12.2006
Откуда: Из-за компутера
maco прошу прощения, если пропустил, но что вы подразумеваете тогда под микрокодом /firmware для других устройств/, если это ни исполняемый так или иначе код, ни данные, то что же это? :)
firmware ODD - скоростные хар-ки болванок разных фирм производителей, HDD - алгоритмы и способы обработки секторов, напр. NCQ - как коромысло ездить будет по оптим.траектории, BIOS'ы железок - код реального режима для инициализации оборудования, SPD - тайминги во флеш-памяти для разных режимов работы + EPP всякие там :)
И вопрос - каким образом обновлением микрокода C2D подправили проблемы с TLB и возможностю его эксплуатации чужеродным кодом?

_________________
enthusiast



Партнер
 

Advanced member
Статус: Не в сети
Регистрация: 27.02.2007
Откуда: Москва
Фото: 89
Russian писал(а):
HertZ вопрос
при комилировании ядра линукса 2.6
там пунтик есть
Цитата:
/dev/cpu/microcode - Intel IA32 CPU microcode support - НЕТ (можно и ДА)
поддержка доступа к микрокоду процессора

это что такое?

Если этот пунктик не отключать, то в системе будет присутствовать устройство /dev/cpu/microcode, через которое можно будет загружать в процессор новый микрокод налету (во время загрузки системы, например). Перезагрузки при этом не требуется, удобно для серверов с большим аптаймом, которые перезагружать чревато..

З.Ы. после аппаратного сброса микрокод придется обновлять заново.

asmfan
Микрокод CPU и прошивки всякой периферии-это далеко не одно и то же, не занимайтесь сравниванием несравнимого.

_________________
9950X3D / x870e CH Extreme / RX 6900XT / 2x48 Trident Z5 @ 6400 CL28 (ICE-RDT, No GDM Vdd 1.55 Vddq 1.45 SoC 1.3 VDDP 1.08)


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
maco, как тебе эта каша? :)

Как правило, любое устройство имеет ASIC или процессор в том или ином виде. При включении устройства запускается ASIC и настраивает устройство. Очень часто программа для него записана в нем (в ROM), причем сделано маской - т.е. сразу при изготовлении чипа. Естественно, ее изменить невозможно. Типичный пример - DSP.
В этом ROM хранится или вся программа или только загрузчик, который должен откуда-то взять саму программу. Загрузчик должен выполнить первичную инициализацию ASIC и канала ввода-вывода до устройства хранения программы (до внешней памяти). После этого ASIC переходит в режим загрузки внешней программы.
Если вся программа прописана в ROM, то для работы устройства может потребоваться дополнительная и настраиваемая информация. При этом внешняя память используется для хранения этой настраиваемой информации. Классический вариант - EEPROM на сетевых картах, там лежит режим устройства и MAC адрес. Если устройство достаточно продвинутое, то EEPROM встраивают в сам chip. Например, процессоры старше Pentium - значительная часть характеристик может меняться по желанию фирмы-изготовителя (например, тот-же множитель).
Микрокод несколько другое, это ни программа и не данные. Я затрудняюсь точно классифицировать, скорее это смесь исполняемых макроинструкций и настроек регистров для ASIC внутри процессора.

Кстати, функция обновления микрокода есть и на AMD.
Добавлено спустя 3 минуты, 53 секунды
Кстати, сам микрокод во-первых, написан на странном языке, кажется с разрядностью не кратным 8 бит, во-вторых - зашифрован. Изменить его нельзя, Intel специально этим озаботилась.
Сама загрузка осуществляется запихиванием данных через пару MSR и в случае заталкивания неверной информации можно повредить встроенные настройки процессора (необратимо). Я это не делал и вам не советую.


 

Member
Статус: Не в сети
Регистрация: 22.05.2006
Откуда: Мариуполь, Ua
serj писал(а):
Кстати, сам микрокод во-первых, написан на странном языке, кажется с разрядностью не кратным 8 бит, во-вторых - зашифрован. Изменить его нельзя, Intel специально этим озаботилась.
Сама загрузка осуществляется запихиванием данных через пару MSR и в случае заталкивания неверной информации можно повредить встроенные настройки процессора (необратимо). Я это не делал и вам не советую.


Хех. То есть, это все-таки возможно? Мнения разделились.

Поймите, никакой энергозависимой/энергонезависимой памяти в процах нет. Иначе давно бы уже появились Black Edition из обычных атлонов/феномов и Extreem из корок. Вся инфа о множителе/частоте/напряжении зашивается в проц железно (в буквальном смысле). И подвержена модификациям эта информация также только железным способом.

А насчет микрокода - вообще бредни.... Зачем внутри процессора создавать еще один процессор? Похоже на "сидит жучек, на нем значок, а на значке - жучек, а на груди еще значок..." Все команды в процессоре исполняются отнюдь не программно. Вся исполнительная часть постоена на транзистор-транзисторной логике, и больше ни на чем. Внутри проца - только транзюки, и никакого кода. Так понятней?


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
Нравится мне это.

"энергонезависимая память" есть даже в SDRAM.


 

Member
Статус: Не в сети
Регистрация: 25.02.2008
Откуда: Москва
да, serj правильно охарактеризовал микрокод процессора.
Имхо этот микрокод по своей сути ближе к аналогичному микрокоду от ПЛИС, которым задаётся его структура, + макроинструкции и прочая информация для инициализации компонентов cpu.
В самом процессоре (современном) записан только загрузчик, а сам микрокод загружает биос. От сюда получается некоторая гибкость архитектуры и возможность "программно" исправить ошибки допущенные при проектировании проца.
Думаю можно, взяв соответствующую утилиту для ковыряния биосов, вытащить бинарный код, загружаемый в процессор, но вот что потом с ним делать - ХЗ. Ибо документов по его структуре найти сложно, да и действительно возможно что он зашифрован и подписан ЭЦП.

_________________
...Нас добьёт конкретный сильный дождь...
PS. Прошиваю биосы матерей, 200р - без пайки, 400р - с пайкой.


 

KORESHOCHEK, кури RISC и CISC архитектуру. Есть там процессор в процессоре.


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
Russian писал(а):
а вот это врятли
Что именно подразумевается под словом "это" :)?
Я, кстати, четко определил место действия - IBM PC совместимые компы, т.е. как раз от model 5150 и более поздние (иначе говоря, получившие широкое распространение).


asmfan
Микрокод - это набор микроинструкций, которые могут изменять микроархитектуру процессора/контроллера. Т.е. можно (при закладке таких возможностей на уровне разработки) изменять принцип выполнения существующих инструкций и формировать новые. Такая модель позволяет исправлять найденные ошибки и легче формировать новые инструкции при проектировании очередной серии процессоров/контроллеров.
Исполняемый код - это набор инструкций (с операндами), которые может выполнить процессор/контроллер.
Данные - это то, над чем выполняются действия.
asmfan писал(а):
BIOS'ы железок - код реального режима для инициализации оборудования
Уже не только реального режима :).


serj
Насчет загрузчика как отдельного программного/микропрограммного модуля - это IMHO сильно зависит от архитектуры конкретного процессора/контроллера.


Murlika
Вытаскивать необязательно, можно просто скачать отдельным файлом набор микрокодов для некоторого количества процессоров. О загрузчике в современных x86-совместимых процессорах IMHO говорить как-то странновато - имеется определенное состояние, в которое переходит процессор после reset'а. Это состояние позволяет строить дальнейшую модель запуска системы без участия "загрузчика в процессоре".


 

Member
Статус: Не в сети
Регистрация: 05.12.2006
Откуда: Из-за компутера
maco писал(а):
Уже не только реального режима .

Вах. Это как? bios MoBo сам себя переводит в защищённый :)? поподробнее плиз. EFI/UEFI? Или это не про биосы MoBo было сказано?

_________________
enthusiast


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
asmfan
Оно самое, EFI/UEFI :).


 

Member
Статус: Не в сети
Регистрация: 05.12.2006
Откуда: Из-за компутера
Microcode
Цитата:
Some hardware vendors, especially IBM, also use the term microcode as a synonym for firmware, whether or not it actually implements the microprogramming of a processor.[1] Even simple firmware, such as the one used in a hard drive, is sometimes described as microcode.[2]

Firmware
Цитата:
firmware is a computer program that is embedded in a hardware device, for example a microcontroller. It can also be provided on flash memory or as a binary image file that can be uploaded onto existing hardware by a user.

Добавлено спустя 5 минут, 20 секунд
Там же про интелы
Цитата:
Several Intel CPUs in the IA32 architecture family have writable microcode[5]. This has allowed bugs in the Intel Core 2 microcode and Intel Xeon microcode to be fixed in software, rather than requiring the entire chip to be replaced. Such fixes can be installed by Linux[6], Microsoft Windows[7], or the motherboard BIOS[8].

_________________
enthusiast


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
asmfan
В данной теме под микрокодом подразумевается термин, отличающийся от исполняемого кода и данных.
А вот трактовка слова "микрокод" разными источниками в контексте собственных высказываний - это уже вопрос терминологии.
Кстати, эта статья в Wikipedia как раз говорит о том, что термин "микрокод" в общем случае понимается именно в виде
Wikipedia писал(а):
Microprogramming (i.e. writing microcode) is a method that can be employed to implement machine instructions in a CPU relatively easily, often using less hardware than with other methods. It is a set of very detailed and rudimentary lowest-level routines which controls and sequences the actions needed to execute (perform) particular instructions, sometimes also to decode (interpret) them. A machine instruction implemented by a series of microinstructions is thus loosely comparable to how an interpreter implements a high-level language statement using a series of machine instructions.

The microcode is normally written by the CPU engineer during the design phase. It is generally not meant to be visible or changeable by a normal programmer, not even an assembly programmer, one of the reasons being that microcode (by design) can be dramatically changed with a new microarchitecture generation. Machine code often retains backwards compatibility. Microcode has often been used to let one microarchitecture emulate another, usually more powerful, architecture.

а не в виде синонима термину "firmware" :).


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
asmfan, запомните - BIOS, в том числе, переводит процессор в защищенный режим. Это нужно для настройки дескрипторов. Если этого не сделать, то банально не будут работать E** регистры.


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
asmfan
А что вам в цитате об Intel'ах не понравилось с точки зрения терминологии :)?


 

Member
Статус: Не в сети
Регистрация: 05.12.2006
Откуда: Из-за компутера
serj я в ступоре от таких сведений. Т.е. после POST мы в защитном режиме или BIOS обратно его сбрасывает в real? В ДОС мы пользуемся сервисами bios, которые используют e* регистры? при условии, что дос 16разрядная ОС.
serj поясните сказанное вами.
Добавлено спустя 1 минуту, 5 секунд
maco это было *к сведению

_________________
enthusiast


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
Потом возращает, DOS работает в реальном режиме.
E-регистры использует сам BIOS и постоянно.


 

Member
Статус: Не в сети
Регистрация: 05.12.2006
Откуда: Из-за компутера
serj писал(а):
E-регистры использует сам BIOS и постоянно.

отуда информация? анализировали дамп биоса? тогда какой именно код там 32битный, если все сервисы 16 битн.? И "постоянно" это когда, если биос по большому счёту только для запуска загрузчика нужен.

_________________
enthusiast


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
asmfan, помогает командный префикс 66/67. :)
E-регистры можно использовать и в реальном режиме.


 

Member
Статус: Не в сети
Регистрация: 05.12.2006
Откуда: Из-за компутера
serj писал(а):
префикс 66/67

Есть такие. Только вот про защищённый режим в биосе откуда вестимо?

_________________
enthusiast


 

Member
Статус: Не в сети
Регистрация: 30.07.2006
Откуда: Москва-Ярик
Припоминаю, что команды в микрокоде в основном записаны "тяжелые" - более чем из n-мопов (к оным относятся вроде-бы все SIMD/float инструкции), их фактически процессор извлекает оттуда в реальном времени, на этапе декодирования команд. Мопы потом распределяются по исполнительным устройствам. Во всяком случае так было во времена PIII, когда я с ассемблером занимался.

_________________
Плавайте поездами Аэрофлота!
И синий BSOD нам заменяет небосвод...


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 64 • Страница 3 из 4<  1  2  3  4  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 22


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan