Рубрика «cpuid»

Было время, когда много полезной информации о новых процессорах можно было выудить из документа «Intel Processor Identification and the CPUID Instruction». Сей мануал регулярно обновлялся и был полон описаниями инноваций, буквально переполнявших компанию Intel. К сожалению, с мая 2012 года описание инструкции CPUID перекочевало в многотомник «Intel 64 and IA-32 Architectures Software Developer’s Manual», а ссылка на указанный документ форвардится на один из томов ярбуха (конкретно – Vol. 2A).

С этого момента уследить за новшествами стало сложнее. Возникла мысль с помощью несложной утилиты визуализировать результаты работы CPUID с тем, с тем чтобы мониторить внедрение новинок и быть в курсе.Читать полностью »

Давным-давно, когда компьютеры были большими, а программы маленькими, использовалось такое важное понятие, как Environment. Этот хороший термин уже утратил зарезервированный смысл, но не потерял своей актуальности. В связи с широким использованием виртуализации, информация об операционном окружении стала предметом обсуждения и в чем-то даже спортивного интереса среди программистов. Поучаствовать в этом мы решили с «железным» аргументом — инструкцией CPUID.Читать полностью »

В этой статье я попытаюсь описать терминологию, используемую для описания систем, способных исполнять несколько программ параллельно, то есть многоядерных, многопроцессорных, многопоточных. Разные виды параллелизма в ЦПУ IA-32 появлялись в разное время и в несколько непоследовательном порядке. Во всём этом довольно легко запутаться, особенно учитывая, что операционные системы заботливо прячут детали от не слишком искушённых прикладных программ.

Процессоры, ядра и потоки. Топология систем - 1

Используемая далее терминология используется в документации процессорам Intel. Другие архитектуры могут иметь другие названия для похожих понятий. Там, где они мне известны, я буду их упоминать.

Цель статьи — показать, что при всём многообразии возможных конфигураций многопроцессорных, многоядерных и многопоточных систем для программ, исполняющихся на них, создаются возможности как для абстракции (игнорирования различий), так и для учёта специфики (возможность программно узнать конфигурацию).
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js