Наличие сопроцессора как узнать

woman 600225 1920 Советы на день

Наличие сопроцессора как узнать

Эксперт
pippippippip

Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61

В отличие от общепринятого мнения не всее клоны 486/586/686/ и Pentium имеют сопроцессор для вычислений с плавающей запятой. В примере определяется наличие сопроцессора и под Win16 и под Win32.
Пример:

function HasCoProcesser : bool;
<$IFDEF WIN32>
var
TheKey : hKey;
<$ENDIF>
begin
Result := true;
<$IFNDEF WIN32>
if GetWinFlags and Wf_80x87 = 0 then
Result := false;
<$ELSE>
if RegOpenKeyEx(HKEY_LOCAL_MACHINE,
‘HARDWARE\DESCRIPTION\System\FloatingPointProcessor’,0,
KEY_EXECUTE, TheKey) <> ERROR_SUCCESS then result := false;
RegCloseKey(TheKey);
<$ENDIF>
end;

p pm on p email on p www on p im on p icq on p aim on p yim on p msn on p skype on p gtalk on p jabber on p report on p delete on p edit on p quick quote on p quote on p show on p hide on p tofaq on

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »

[ Время генерации скрипта: 0.0990 ] [ Использовано запросов: 22 ] [ GZIP включён ]

Источник

Драйвер сопроцессора отсутствует в Windows 10 (решено)

Coprocessor Driver Missing Windows 10

Если вы видите, что сопроцессор неправильно установлен в Windows 10, не волнуйтесь. Вы можете исправить это простыми методами, описанными в этом посте.

coprocessor driver missing windows 10

После обновления системы до Windows 10 с Windows 7 или Windows 8 ваш компьютер может работать медленно. Затем вы проверили статус драйвера в диспетчере устройств и увидели устройство с именем Сопроцессор с желтым восклицательным знаком рядом с ним. Вы не представляете, что это за устройство и как убрать желтую метку. Не волнуйся. Вы можете исправить эту проблему с драйвером с помощью методов, описанных в этой публикации.

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

Метод 1. Обновите драйвер вручную через диспетчер устройств.

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

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

coprocessor driver missing windows 10

coprocessor driver missing windows 10 2

5) После завершения обновления проверьте, по-прежнему ли вы видите Сопроцессор с желтой меткой в ​​диспетчере устройств.

Метод 2: обновите драйвер автоматически с помощью Driver Easy

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

Вы можете автоматически обновлять драйверы с помощью БЕСПЛАТНОЙ или Pro версии Driver Easy. Но с версией Pro требуется всего 2 клика (и вы получаете полную поддержку и 30-дневную гарантию возврата денег):

1) Скачать и установите Driver Easy.

coprocessor driver missing windows 10 2

3) Щелкните значок Обновить рядом с отмеченным драйвером набора микросхем, чтобы автоматически загрузить и установить правильную версию этого драйвера (вы можете сделать это в БЕСПЛАТНОЙ версии).

coprocessor driver missing windows 10 3

4) После обновления драйвера проверьте, по-прежнему ли вы видите сопроцессор с желтой меткой в ​​диспетчере устройств.

Надеюсь, вы сможете легко исправить проблему с драйвером сопроцессора в Windows 10 с помощью описанных выше методов. Если у вас есть вопросы или идеи, оставьте свой комментарий ниже. 😛

Источник

Определить наличие мат.сопроцессора у ПК (Ревизия системных ресурсов)

Вопрос: как мне написать код программы, чтобы считать данные из 1 бита? Код будет схожим с вышеописанной программой? Как понять, где какой бит? (Увы, я не могу понять по какому принципу он определиться). И еще, как проверить число присоединенных принтеров!

Заранее спасибо!
С ув.Андрей

Определить наличие математического сопроцессора (с использованием cpuid)
Помогите написать программу определяющая наличие математического сопроцессора с использованием.

Недостаточно системных ресурсов
Всем привет. У меня проблема с виндовсом вот например когда устанавливаю игру и в конце закачки.

Недостаточно системных ресурсов
Здравствуйте ребята. Подскажите при форматировании флешки выходит сообщение «»Windows не удаётся.

Решение

Добавлено через 8 минут

Для 16-ричной записи чисел в паскале используется префикс «$». Следовательно, речь идет о memw[$40:$10]

Я так понимаю, что для 15 бита будет точно такая же запись только измениться shr 14 на shr 15? верно?

Спасибо большое за лаконичные ответы!

Я так понимаю, что для 15 бита будет точно такая же запись только измениться shr 14 на shr 15? верно?

Я показал один из способов.

Добавлено через 2 минуты
APALoff, варианта с циклом от вас не было.
Тем не менее, использование суррогатов вместо битовой арифметики сродни почесыванию левого уха пяткой правой ноги.

А изначальный вопрос был в определении количества принтеров с вариантом неоптимального решения вместо выделения битового поля.

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

Рассмотрим другой случай, где такая маска нужна. Допустим нужно получить число, записанное в 2-5 битах байта

Источник

Методическое пособие по дисциплине «организация эвм и систем» и указания по выполнению лабораторных и курсовой работ

7.2.1. Определение наличия сопроцессора

Перед использованием сопроцессора необходимо определить его наличие в компьютере. Это актуально для процессоров 8086, 80286, 80386 и 80486 SX. В старших моделей процессоров сопроцессор уже присутствует непосредственно в кристалле процессора. Существует несколько способов определения наличия сопроцессора. Каждый способ имеет свои достоинства и недостатки, а также определенную надежность определения наличия сопроцессора. Под надежностью определения наличия сопроцессора понимается вероятность того, что конкретный способ правильно определит наличие сопроцессора. Далее рассмотрены способы определения наличия сопроцессора.

1. Чтение слова области данных BIOS. Это слово расположено в памяти по абсолютному адресу 0410H (сегмент 0040H и смещение 0010H). Если в прочтенном слове бит 1 установлен, то сопроцессор есть, если этот бит сброшен, сопроцессор отсутствует. Как показывает практика, такой способ определения наличия сопроцессора ненадежен. Очевидно, это происходит из-за несоблюдения соглашений по содержанию информации в области данных BIOS его разработчиками. Рекомендуется пользоваться другими способами. Достоинством же данного способа является его простота. Пример определения наличия сопроцессора с использованием данного способа:

MOV ES, AX ; настройка ES на область данных BIOS

TEST BYTE PTR ES:0010H, 0002H ; проверка 1-го бита

2. Чтение информации о конфигурации компьютера. Этот способ зависит от типа ПК. В XT и некоторых моделях AT информация о конфигурации хранится в регистрах микросхемы 8255. Эта микросхема имеет три однобайтовых регистра A, B и C с номерами соответствующих портов 60H, 61H и 62H. Для того чтобы считать содержимое из порта C, в котором хранится информация о конфигурации, необходимо предварительно установить бит 3 порта B. Если в считанном из порта C байте бит 1 установлен, то сопроцессор есть, в противном случае он отсутствует. Следующий пример показывает определение наличия сопроцессора с использованием данного способа.

IN AL, 61H ; чтение из порта B

OR AL, 00001000B ; установка 3-го бита

OUT 61H, AL ; запись в порт B

IN AL, 62H ; чтение из порта C

TEST AL, 00000010B ; проверка 1-го бита

Достоинством способа является надежность его работы в старых моделях компьютеров (XT), в отличие от первого способа. Недостатком способа является то, что на старших моделях компьютеров он не всегда работает.

3. Вызов прерывания 11H, возвращающего информацию об оборудовании. Этот способ полностью аналогичен первому рассмотренному способу, так как прерывание 11H возвращает в регистре AX слово из области данных BIOS по адресу 0410H. Пример:

INT 11H ; вызов прерывания 11H

TEST AL, 00000010B ; проверка 1-го бита

4. Чтение управляющего регистра сопроцессора. Этот способ основан на том, что если сопроцессор присутствует, то в его управляющем регистре будут установлены определенные биты. Для реализации этого способа нужно сначала попытаться инициализировать сопроцессор командой FINIT, а затем прочесть содержимое его управляющего регистра. При инициализации сопроцессора, если он присутствует, в управляющий регистр записывается определенный код. Для выделения из управляющего регистра определенных бит используется маска 0F3FH. Этой маской выделяются биты управления точностью результатов выполнения арифметических операций (с восьмого по одиннадцатый) и биты управления маскированием исключительных ситуаций (с нулевого по пятый). Выделенное значение должно быть равно 033FH или, в двоичном представлении 0000001100111111B. Если это не так, то сопроцессора нет. Достоинством этого метода является возможность определения типа сопроцессора, так как разные сопроцессоры после инициализации возвращают отличающуюся информацию, например в 15-ом разряде регистра управления. Пример использования данного способа:

FINIT ; инициализация сопроцессора

FSTCW CrtlReg ; чтение управляющего регистра

AND CrtlReg, 0F3FH ; наложение маски

CMP CtrlReg, 033FH ; сравнение значений

7.2.2. Команды сопроцессора

Все команды сопроцессора имеют мнемонические обозначения, начинающиеся с буквы ‘F’. Коды этих команд состоят из специального префикса и непосредственно самого кода команды. При выполнении программы центральный процессор, встретив префикс команды сопроцессора, передает саму команду на выполнение сопроцессору. Перед выполнением очередной команды сопроцессора необходимо выполнить команду центрального процессора WAIT, которая синхронизирует работу центрального процессора и сопроцессора. Команда WAIT не имеет операндов. Для процессоров, которые уже содержат сопроцессор, команду WAIT можно не использовать. При написании программы команду WAIT можно не ставить, так как транслятор Turbo Assembler автоматически вставляет ее после каждой команды сопроцессора.

Операнды команд сопроцессора могут быть ячейками памяти или внутренними регистрами сопроцессора.

7.2.3. Архитектура сопроцессора с точки зрения программиста

Программисту доступны восемь регистров общего назначения сопроцессора, имеющих мнемонические обозначения ST(0) – ST(7), и пять нечисловых регистров, которые будут рассмотрены позже. Десятибайтовые регистры ST(0) – ST(7) используются как стек, они предназначены для хранения операндов и результатов арифметических операций. Первый из этих регистров ST(0) можно обозначать в командах просто как ST.

Структура стека сопроцессора представлена на рис. 7.1.

Направление роста стека

Рис. 7.1 – структура стека сопроцессора.

Из рисунка видно, что регистр ST(0) соответствует тому физическому регистру сопроцессора, который является вершиной стека, регистр ST(1) – следующему после вершины регистру и т. д. Таким образом, при обращении к регистру ST(0) происходит обращение к вершине стека сопроцессора. Направление роста стека определяет, что при записи в стек очередного значения, указатель стека уменьшается, а при выталкивании из стека очередного значения – увеличивается. При этом если указатель стека доходит до 0, то при его уменьшении в нем устанавливается значение 7. Если же указатель стека доходит до 7, то при его увеличении в нем устанавливается значение 0. Таким образом, стек сопроцессора представляет собой кольцевой буфер.

При выполнении команд сопроцессора в стек (регистры ST(0) – ST(7)) заносятся операнды. После выполнения команды эти операнды могут выталкиваться из стека, а в стек заносится результат выполнения арифметической операции. Арифметические операции берут свои операнды с вершины стека и помещают результат в вершину стека. Рассмотрим, например, действие команды сложения вещественных чисел FADD. Эта команда имеет два операнда, которые берутся из вершины стека – из регистров ST(0) и ST(1). Результат выполнения команды FADD записывается в вершину стека в регистр ST(0). На рис. 7.2 показано содержимое стека до выполнения команды FADD, после занесения операндов в стек и после занесения в стек результата выполнения команды.

Состояние стека до выполнения команды FADD

Состояние стека после занесения операндов

Состояние стека после выполнения команды FADD

Рис. 7.2 – состояние стека в процессе выполнения команды FADD.

Существуют специальные команды сопроцессора, которые загружают регистры ST(0) – ST(7) значениями, взятыми из ячеек памяти. Другие команды наоборот извлекают из регистров ST(0) – ST(7) значения и записывают их в ячейки памяти. При выполнении этих команд автоматически выполняются преобразования типов операндов. Например, можно из ячейки памяти с целочисленным значением записать это значение в вершину стека и при этом будет выполнено преобразование целочисленного значения в вещественное. И наоборот, при записи значения из регистров ST(0) – ST(7) в память может выполняться преобразование вещественного значения в целочисленное.

Нечисловые регистры сопроцессора предназначены для хранения состояния сопроцессора и признаков значений регистров ST(0) – ST(7). Нечисловыми регистрами являются:

Структура нечисловых регистров сопроцессора представлена на рис. 7.3 (символами ‘X’ обозначены неопределенные значения битов для некоторых моделей сопроцессоров).

Регистр управления


Регистр состояния


Регистр признаков

Рис. 7.3 – нечисловые регистры сопроцессора.

7.2.3.1. Регистр управления

Биты 0 – 5 для всех сопроцессоров являются масками недействительных состояний. Если бит маски для какого-либо недействительного состояния, например переполнения – сброшен, то возникновение этого состояния вызывает прерывание центрального процессора. Если этот бит установлен, то прерывание не вырабатывается, а в качестве результата формируется особое значение (в рассматриваемом случае код бесконечности). Используются следующие маски особых случаев:

IM (Invalid Operation Mask) – маска недействительной операции;

DM (Denormalized Operand Mask) – маска денормализованного операнда;

ZM (Zero Divide Mask) – маска деления на нуль;

OM (Overflow Mask) – маска переполнения;

UM (Underflow Mask) – маска антипереполнения;

PM (Precision Mask) – маска особого случая при неточном результате.

В сопроцессорах 80287 и выше поля в битах 6 и 7 не используются. В сопроцессоре 8087 в поле 7 содержится маска недействительных прерываний IEM (Interrupt Enable Mask). Если IEM = 0, то прерывания центрального процессора не будет даже при возникновении незамаскированной ошибки.

Содержимое поля PC (Precision Control, биты 8 и 9) определяет точность вычислений в сопроцессоре:

11B – используется расширенная точность;

10B – результат округляется до двойной точности;

00B – результат округляется до одинарной точности.

Двухбитовое поле RC (Rounding Control, биты 10 и 11) определяет режим округления при выполнении операций с вещественными числами:

00B – производится округление к ближайшему представимому числу. Этот режим устанавливается при инициализации сопроцессора;

01B – производится округление в направлении к отрицательной бесконечности;

10B – производится округление в направлении к положительной бесконечности;

11B – производится округление в направлении к нулю.

В сопроцессорах 8087 и 80287 содержимое бита 12 (IC – Infinity Control) предназначено для управления трактовкой понятия бесконечности. Данные сопроцессоры могут работать в двух режимах – проективном (IC = 0) и аффинном (IC = 1). В проективном режиме существует только одна бесконечность, которая не имеет знака. В аффинном режиме определено две бесконечности: положительная и отрицательная. В этом режиме допускается выполнение арифметических операций с бесконечностями. Сопроцессоры 80387 и выше работают только в режиме аффинной арифметики.

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

7.2.3.2. Регистр состояния

Биты 0 – 5 для всех сопроцессоров являются признаками (флагами) особых случаев Они устанавливаются при возникновении следующих ошибок:

IE (Invalid Operation) – недействительная операция;

DE (Denormalized Operand) – денормализованный операнд;

ZE (Zero Divide) – деление на нуль;

OE (Overflow) – переполнение;

UE (Underflow Mask) – антипереполнение;

PE (Precision Mask) – потеря точности.

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

Бит 6 содержит флаг ошибки стека SF (Stack Fault). Этот флаг устанавливается сопроцессором при возникновении переполнения или антипереполнения стека. Переполнение стека возникает в том случае, если стек полностью заполнен при попытке записи в него очередного значения. Антипереполнение стека возникает в том случае, если при попытке вытолкнуть значение из стека он оказывается пустым. Флаг SF сбрасывается только при непосредственной записи значения в регистр состояния.

Бит 7 содержит флаг суммарной ошибки ES (Summary Error), который устанавливается при возникновении любого незамаскированного особого случая, т. е. установке любого из битов 0 – 5 регистра состояния. Это справедливо для сопроцессоров 80287 и выше. Для сопроцессора 8087 бит 7 содержит флаг IR (Interrupt Request) запроса прерывания при возникновении незамаскированного особого случая.

Биты C0, C1, C2 и C3 (Condition Code) – коды условий. Они устанавливаются по результатам выполнения команд сравнения и команд нахождения остатка.

В поле STYLE=»(Stack Pointer) содержится номер числового физического регистра, являющегося вершиной стека.

Бит занятости B (Busy) устанавливается, если сопроцессор выполняет команду или происходит прерывание от основного процессора. Если сопроцессор свободен, то бит занятости сбрасывается.

При инициализации сопроцессора все флаги, за исключением STYLE=»и ES (значения которых не определены) сбрасываются.

7.2.3.3. Регистр признаков

Регистр признаков содержит восемь 2-х битовых полей TAG0 – TAG7. Содержимое каждого поля характеризует значение соответствующего числового регистра ST(0) – ST(7). По содержимому полей TAG0 – TAG7 можно судить о том, какое число хранится в регистрах ST(0) – ST(7). Возможны следующие значения каждого поля TAG0 – TAG7:

00B – в числовом регистре находится действительное ненулевое число;

01B – в числовом регистре находится нуль;

10B – числовой регистр содержит недействительное число – бесконечность, специальное нечисловое значение NaN (Not a Number) или денормализованное число.

11B – числовой регистр пуст.

Если регистр не отмечен как пустой, то при попытке записи в него вырабатывается код недействительной операции (устанавливается бит 0 регистра состояния) и запись в стек не производится. Этот особый случай может быть замаскирован, и тогда запись будет произведена. Для этого нужно установить бит 0 регистра управления, иначе возникновение особого случая вызовет прерывание центрального процессора.

7.2.3.4. Указатель команды

Указатель команды содержит 20-разрядный физический адрес команды, вызвавшей особый случай, а также 11-разрядный код последней выполненной операции. Если при возникновении особого случая использовался операнд, то его адрес заносится в регистр указателя операнда.

Источник

Как узнать, какой процессор установлен на ПК

Процессор — один из самых ключевых компонентов ПК и именно с него нужно начинать апгрейд. Но как посмотреть модель ЦПУ, чтобы можно было подобрать высокопроизводительный аналог под сокет материнской платы? Рассказываем в статье.

fit 300 200 false crop 1920 1080 0 100 q90 358292 852b7a2286

fit 960 530 false crop 1920 1080 0 100 q90 358292 852b7a2286

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

Как узнать, какой процессор на компьютере: встроенные в ОС средства

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

Свойства системы

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

fit 960 530 false crop 1220 729 0 0 q90 358662 d1af4a3513

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

fit 960 530 false crop 1087 585 0 0 q90 358672 5184eba450

Диспетчер устройств

Для того, чтобы посмотреть не только наименование процессора, но и количество его ядер, нажмите на пункт «Диспетчер устройств» в левой части окна со свойствами системы. Если по каким-либо причинам у вас не получается попасть в диспетчер устройств, то вы можете вызвать его с помощью специальной команды. Для этого нажмите на клавиатуре комбинацию клавиш Win + R и в появившемся поле введите следующий текст: devmgmt.msc. После этого подтвердите операцию, нажав «Enter». Точку в конце команды ставить не нужно.

fit 723 530 false crop 775 568 0 0 q90 358682 53c6eedef3

После проделанных манипуляций вы увидите окно со всеми подключенными к ПК устройствами, которые удалось распознать операционной системе. Как нетрудно догадаться в графе «Процессоры» и находится искомая информация. Необходимо посчитать количество пунктов в открывшейся графе. Вероятнее всего они и будут равняться числу ядер вашего процессора. Однако следует понимать, что диспетчер устройств считывает потоки процессора, а не его ядра. А количество ядер не всегда равняется количеству потоков. Поэтому если вы знаете, что ваш ЦПУ поддерживает функцию гиперпоточности (когда одно фактическое ядро делится на два виртуальных потока), то делите полученный результат на два. Так, например, Ryzen 5 2600 выдал нам 12 пунктов. Мы знаем, что данная модель поддерживает технологию SMT (от англ. simultaneous multithreading — аналог технологии Hyper-threading от Intel), а значит количество ядер равняется 6.

Диспетчер задач

Диспетчер задач предоставляет пользователю много полезной информации о компьютере, и в том числе может показать поверхностные данные об установленном процессоре. Для того, чтобы вызвать диспетчер задач, нажмите комбинацию клавиш Ctrl + Shift + Esc. после этого появится окно, в котором будут отображаться все запущенные процессы, которые потребляют ресурсы следующих компонентов ПК: процессор, оперативная память и жесткий диск. Кстати, исходя из этой информации, можно сделать вывод о том, насколько хорошо справляется с задачами ваш ЦПУ. Если вы столкнулись с высокой загрузкой процессора без видимой на то причины, то можете прочесть вот этот материал для того, чтобы устранить проблему.

Источник

Оцените статью
Добавить комментарий

Adblock
detector