Академический Документы
Профессиональный Документы
Культура Документы
Кафедра ЭВМ
ОТЧЕТ
О ЛАБОРАТОРНОЙ РАБОТЕ 10
по предмету
«Архитектура компьютеров»
на тему:
«Идентификация процессоров семейства х86-64»
Вариант №14
Выполнила: Принял:
КИУКИ-18-3 Голубничий Д.Ю.
Столяр И.В.
2020
1 Цель работы
2 Постановка задачи
3 Теоретическая часть
4 Экспериментально-практическая часть
int main()
{
setlocale(LC_ALL, "Russian");
int i = 0;
_asm
{
//замена 12-15 бита на 0000 и проверка, удалось ли
pushf
pop ax
mov cx, ax
and ax, 0fffh
push ax
popf
pushf
pop ax
and ax, 0f000h
cmp ax, 0f000h
je is_8086
mov i, 1
is_8086:
is_80286:
not32bit:
is_80386:
is_80486:
mov EAX, 1;
}
switch (i)
{
case 5:
cout << "Процессор 32 или 64 битный, модель выше i486";
break;
case 0:
cout << "модель 8086/80";
break;
case 1:
cout << "модель 80826";
break;
case 3:
cout << "модель 80386";
break;
case 4:
cout << "модель 80486";
break;
case 2:
cout << "Произошла ошибка, процессор не 16 и не 32 битный";
break;
}
}
int main()
{
setlocale(LC_ALL, "Russian");
int i = 0, Iebx, Iedx, Iecx, max;
_asm
{
pushfd
pop eax
mov ecx, eax
xor eax, 200000h
push eax
popfd
pushfd
pop eax
xor eax, ecx
je isnot
mov i, 1;
mov EAX, 0
cpuid
mov max, EAX
Рис. 10.4 – в регистре EAX процессоров i486+ после выполнения CPUID с EAX = 1
В нашем случае процессор: DualCore Intel Core i5-7200U, 3100 MHz (Информация
взята с сайта http://instlatx64.atw.hu/).
2. Дополнительная информация
Рисунок 10.2 – Содержимое регистра EBX после выполнения команды CPUID с EAX = 1