vasek |
|
Темы:
47
Сообщения:
11916
Участник с: 17 февраля 2013
|
nafanja 0x200 ... 0x20X - вроде бы регионы памяти rdmsr 0x202 ….. 6 rdmsr 0x200 ….. ffc00005 (4290772997 - 4G) rdmsr 0x2ff …… c00 (3072) Предположу (хотя и не обязательно) lscpu | grep 3072 L3 cache: 3072K UPD - Вот поленишься заглянуть в DOC, теряешь кучу времени на поиск, да еще и не понимаешь - почему не получается. А все просто - к данному типу регистров не применишь msr-tools. Ну хоть в этом разобрались, и то пошло на пользу.
Ошибки не исчезают с опытом - они просто умнеют
|
nafanja |
|
![]()
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
vasekне угадал, нет в моем процессоре L3 cache ))) vasekтада
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
vasek |
|
Темы:
47
Сообщения:
11916
Участник с: 17 февраля 2013
|
nafanjaДа это не то, это связано с MTRR, но лучше проверять регистры 0x200 (202, 204, 206, 208, 20A, 20C, 20E) Вывод rdmsr 0x200 (202, 204, 206, 208, 20A, 20C, 20E) должен совпасть (приближенно) с cat /proc/mtrr
Ошибки не исчезают с опытом - они просто умнеют
|
nafanja |
|
![]()
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
vasekда, совпадают некоторые регистры
по остальным регистрам 0не понятно почему в регистре 0x200 = 0x6, по этому приходится вычитать это число из других регистров что бы было правильно. но главный вопрос как преобразовать D18F3xA4 в адрес который можно было прочитать rdmsr.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
vasek |
|
Темы:
47
Сообщения:
11916
Участник с: 17 февраля 2013
|
У меня совпадение полное (если не считать в 5 регионах не совпадение на 6 байт) cat /proc/mtrr Значения регистров (совпадение лучше смотреть по адресам) И как писал выше, точного совпадения нет, есть небольшое отличие в 5 регионах на 6 байт0x0ffc00000 - 0x0ffc00005, 0x000000000 - 0x000000006 и так далее Чем обусловленно, не рабирался - все-таки это память, идет округление, а может причина и в другом ….. но это мелочь. nafanjaСразу почему и не скажешь - информация о регионах в /proc/mtrr берется из регистров, в принципе количество регионов памяти должно совпадать в обоих случаях. nafanjaЭто регистры PCI, информацию с них спомощью rdmsr не прочитаешь (rdmsr читает/пишет только в регистрах msr). Обозначение D18F3 нужно сначала перевести в pci-addres, а затем смотреть по какому адресу в памяти это хранится и оттуда считать. Но не все можно считать из user-spаces, если не ошибаюсь, то есть один бит, в котором прописано (или 0 или 1) есть ли право считывать эту информацию. И если нет, то только из kernal-spaces (ring 0). И спецы для считывания/записи такой информации пишут свои драйвера.
Ошибки не исчезают с опытом - они просто умнеют
|
nafanja |
|
![]()
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
vasekладно, благодарю за помощь, и как говорится: - "было интересно, но ничего не понятно :)"
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
vasek |
|
Темы:
47
Сообщения:
11916
Участник с: 17 февраля 2013
|
В частиnafanjaМне это то же мало понятно, в моих силах только преобразовать обозначение D18F3 в pci-adres (0xC3), а вот как дальше, то же не понятно - так как это адресное пространство не является адресным пространством PCI устройств в обычном его понимании (размером 256 байт), а что то другое, связанное с адресным пространством cpu, с которым никогда дела не имел. Так что здесь я чайник и не помощник. Не знаток AMD, но затратив часть времени на изучение в части температурных измерений, попробую высказать свои предположения о неверных значениях температуры процессоров AMD - жалко потерять информацию, кто то будет искать и наткнется, возможно кому и пригодится. Со времени развития процессоров AMD изменялась и методика расчета температуры cpu 1. Ранние модели (архитектура K8) Temp = Трег - 49 2. Новые модели (архитектура K10 и выше) Temp = Трег / 8 3. Новейшие модели (архитектура A8, A10 и другие) Temp = Трег - Тmax ( конкретное значение Тmax нужно смотреть в datasheet) Конкретную методику расчета для конкретного железа нужно уточнять в datasheet. И плюс к этому, многое зависит от конкретного используемого модуля. Привожу выдержки значений температуры, приведенные в этом топике VadimИ как видно многое зависит от используемого модуля, в котором, думаю, забит свой метод расчета. Вот так и хочется сказать, что если temp1= 6°C умножить на 8, то будет 48°C, ну очень реальная величина. А вот для it8620 значение temp1: +35.0°C думаю низковато и, возможно, в регистре D18F3x64 забито производителем заниженное/завышенное Tmax. ЭТО все предположение, могу и ошибаться, привел для размышлений. UPD - для Intel все просто и методика расчета не менялась Temp = Трег - Tjunction . К тому же при желании можно считать прямо из регистров, методику описал (для AMD считать значение регистра не представляется возможным, это не msr регистр). EDIT 1 - если есть мнение, что это бред, напишите - я этот бред удалю (смотрю на это просто)
Ошибки не исчезают с опытом - они просто умнеют
|
Vadim |
|
![]()
Темы:
337
Сообщения:
2292
Участник с: 20 ноября 2013
|
Я не очень понял про msr регистр,не мой уровень,но нашёл температуру,примерно показывающюю температуру цпу,it8620-isa-0228 temp4.Для меня точности хватит,проблема в другом. Включаю через какое-то время компьютер,температуру не показывает.Команда вывод sensors it8620-isa не показывает. После sensors-detect всё восстанавливается,через время опять пропадает.Шо это может быть? Может после обновления ядра пропадает?Не помню,обновлялось ядро или нет.
Linux Forever!
|
vasek |
|
Темы:
47
Сообщения:
11916
Участник с: 17 февраля 2013
|
VadimПредположу, что не правильно делаешь, не загружается нужный модуль. Не использую lm-sensors, но по памяти - все ли прописано в /etc/conf.d/lm_sensors? Иногда, раньше, приходилось прописывать загрузку модуля и в другом месте. Сейчас, наверное, немного изменилось - читай Wiki. И, кстати, команда sensors -u вроде бы должна показать все загруженные модули, смотри что загружено. Если не загружен нужный модуль, прописывай. Вопрос - неужели у AMD такая низкая температура, 35 град? - ниже чем у юзера? EDIT 1 - у меня используется стандартный coretemp, входящий в ядро, а потому и не нужно его загружать и даже отсутствует файл /etc/conf.d/lm_sensors zgrep CORETEMP /proc/config.gz CONFIG_SENSORS_CORETEMP=m sensors | grep coretemp coretemp-isa-0000 lsmod | grep coretemp coretemp 20480 0
Ошибки не исчезают с опытом - они просто умнеют
|
Vadim |
|
![]()
Темы:
337
Сообщения:
2292
Участник с: 20 ноября 2013
|
vasek,спасибо,посмотрю попозже.vasekэто сразу после загрузки,потом до 50 градусов показывает. Пробовал инфракрасным термометром прями на крышечке процессора-ещё немного меньше. Понятно что показывает температуру крышки процессора а не кристала,но не думаю что там большая разница,кристал kaveri большой а проц почти новый. И tdp проца 65 вт,там нечему грется.Специально подбирал себе чтобы со встроеным неплохим видео и не слишком мощный.
Linux Forever!
|