Информация


Programm.ws - это сайт, на котором вы можете почитать литературу по языкам программирования, а так-же посмотреть примеры работающих программ на С++, ассемблере, паскале и много другого..

Программирование — в обычном понимании, это процесс создания компьютерных программ.
В узком смысле (так называемое кодирование) под программированием понимается написание инструкций — программ — на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи). Соответственно, люди, которые этим занимаются, называются программистами (на профессиональном жаргоне — кодерами), а те, кто разрабатывает алгоритмы — алгоритмистами, специалистами предметной области, математиками.
В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Более точен современный термин — «программная инженерия» (также иначе «инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.

Глава 8. Профайлер

Расширение традиционной архитектуры Intel

С появлением микропроцессоров пятого поколения (Pentium, Pentium MMX...) программисту следует различать два слоя микропроцессоров архитектуры Intel: базовый и модельно-зависимый.
Слой базовой архитектуры включает в себя элементы архитектуры, поддержку неизменность которых производитель (Intel) гарантирует. Это набор и структура cистемных регистров и регистров общего назначения, архитектура памяти и т. д.
Модельно-зависимый слой архитектуры включает в себя средства, поддержка Всоторых зависит от конкретной модели процессора (как правило, снизу вверх). Для того чтобы программа, исполняемая процессором, могла получить сведения о возможностях этого процессора, в систему команд включена команда CPUID Данная команда позволяет программе в любой момент времени получить сведения о классе, модели и архитектурных особенностях текущего процессора. Подробное описание данной команды приведено ниже.
Физически модельно-зависимые средства представляют собой набор модель-но-зависимых регистров — MSR (Model Specific Registers). Наличие и назначение этих регистров по определению зависит от конкретной модели процессора, что, в свою очередь, не гарантирует их поддержку будущими процессорами архитектуры Intel. MSR-регистры обеспечивают управление различными аппаратно-и программно-зависимыми средствами, включая следующие:

  • счетчики мониторинга производительности;
  • расширения отладки;
    И поддержка исключения машинной ошибки и архитектуры машинного контроля (МСА);
  • регистры MTRR для поддержки расширенных средств кэширования.
Чтение и запись в MSR-регистры осуществляются командами RDMSR и WRMSR. Большинство MSR-регистров инициализируются при программной инициализации процессора, многие из них можно впоследствии установить в соответствии с конкретными потребностями программы. Приведем «краткое описание команд RDMSR, WRMSR И CPUID.