Определение конфигурации на аппаратном уровне. Определение конфигурации компьютера Определение конфигурации π-диастереомеров дикетонов с двойными связями в цепи

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

Когда ученые получают пространственные изомеры, возникает вопрос: каково их пространственное строение, то есть конфигурация?

Подход к решению вопроса об относительной пространственной конфигурации отличается в зависимости от того, о каком типе пространственных изомеров идет речь - о $\pi$- или $σ$-диастереомеры, или о энантиомераъ.

Определение относительной конфигурации π-диастереомеров по дипольным моментам

Совокупность методов количественного определения вещества и исследования его молекулярной структуры, основанных на измерении диэлектрической проницаемости $ε$, принято называть диэлектрометрией. Диэлектрометрия охватывает различные методы анализа, которые чаще всего сводятся к измерению диэлектрической проницаемости вещества, что, как правило, обусловлено ориентацией в электрическом поле частиц (молекул, ионов с дипольным моментом).

Базой для использования метода диэлектрометрии были труды немецкого физика Пауля Друде (1897) и труда нидерландского физика и химика, лауреата Нобелевской премии по химии за 1936 год, Петера Дебая (1925-1929). Паулю Друде принадлежат разработки теории электро- и теплопроводности металлов, им впервые было обнаружена и объяснена аномальная дисперсия диэлектрической проницаемости. Им также были предложены методы измерения диэлектрической проницаемости и показателя поглощения жидких диэлектриков в метровом и дециметровом диапазонах электромагнитных волн, установил эмпирическую связь между строением молекул и диэлектрическими потерями. Дебай установил связь между диэлектрической проницаемостью и диэлектрическими потерями со строением молекул. Однако методы измерения диэлектрической проницаемости начали использовать на практике значительно позже, когда появились достаточно простые и удобные приборы для измерения диэлектрической проницаемости.

Одним из первых, кто аналитически доказал перспективность применения диэлектрических измерений для задачи определения влагосодержания твердых тел, был Марк Берлинер (1929 г.). Уже позже были разработаны методы определения чистоты органических соединений и анализа бинарных органических систем. А в 1950-1960 гг. впервые были опубликованы методы диэлектрометрического титрования органических систем. Стоит отметить, что методы диэлектрометрии были разработаны, как правило, для анализа непроводящих или низкопроводящих органических систем, что не исчерпывает всех возможностей диелькометрии.

Для многих $\pi$-диастереомеров характерны определенные значения дипольных моментов:

интернет-биржа студенческих работ">

Рисунок 1. Цис- и транс- (μ = 0) формы. Автор24 - интернет -биржа студенческих работ

В трансформе при векторном составлении противоположно ориентированы диполи одинаковых связей взаимнопогашаются и суммарный дипольный момент равен нулю ($μ = 0$); в цис-форме диполи связей суммируются и образуют суммарный дипольный момент молекулы. Так, например, в 1,2-дигалогенэтиленах (показанных на рисунке выше):

  • для транс-изомеров дипольный момент равен нулю;
  • в случае цис-изомеров дипольный момент зависит от природы атома галогена: 2,42 ($F$), 1,89 ($Cl$), 1,35 ($Br$) и 0,75Д ($І$).

Для цис-изомера дипольный момент всегда больше. Определение дипольного момента дает возможность установить $Z$ или $E$ конфигурации для $\pi$-диастереомеров.

Метод циклизации

Метод циклизации является одним из универсальных методов определения $Z$ и $E$ конфигурации для π-диастереомеров.

Мы знаем, что существует некоторая кислота - белое кристаллическое вещество с $t_{пл.}$ = 130 ° С, хорошо растворимая в воде с молекулярной формулой $C_4H_4O_4$ и структурной $HOOC-CH=CH-COOH$ (этилендикарбоновая кислота) эту кислоту называют малеиновой. Но одновременно с ней существует вещество с той же молекулярной массой и структурной формулой - кислота с $t_{пл.}$ = 287 ° С, мало растворимая в воде - фумаровая кислота. То есть речь идет о $\pi$-диастереомерах (геометрические цис-транс-изомеры), которые могут иметь формулы:

Рисунок 2.

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

Фумаровая кислота такого ангидрида не образует. Поскольку для образования циклического ангидрида карбоксильные группы должны быть приближены, то логично, такое их расположение в малеиновой кислоте. Фумаровая кислота соответственно соответствует иная формула с разносторонним расположением –$COOH$ групп. Определение конфигурации в данном случае решается методом циклизации:

Рисунок 3.

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

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

Рисунок 4.

кумариновая к-та кумарин кумаровая к-та

Определение конфигурации π-диастереомеров дикетонов с двойными связями в цепи

Данным методом также возможно определить конфигурацию π-диастереомеров дикетонов с ненасыщенной структурой. Для примера можно рассмотреть 1,2-дибензоилэтилен, формуле которого соответствует два изомера один из которых плавится при 111 °С, а другой - при 134 °С. Второй, более тугоплавкий изомер, способен образовыват в реакции с гидразином циклический продукт 3,6-дифенил- пиридазин:

Рисунок 5.

Это свидетельствует о том, что данный изомер имеет цис-конфигурацию:

Рисунок 6.

Первый изомер, который плавится при 111 °С, следовательно должен иметь транс-конфигурацию:

Рисунок 7.

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

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

Конфигурация аппаратных средств записывается в область данных BIOS и в энергонезависимую память CMOS специальной программой BIOS Setup .

BIOS

(слайд №2)

Базовая система ввода-вывода (BIOS - Basic Input/Output System )- это программный интерфейс между программами и оборудованием ПЭВМ .BIOS изолирует операционную систему и прикладные программы от аппаратных особенностей конкретных устройств и позволяет программистам, пишущим на языках ассемблера, Си и т.п. , выполнять операции ввода-вывода, не заботясь об адресах устройств или их аппаратных характеристиках. Кроме того,BIOS обеспечивает ряд системных услуг, например, позволяет узнать размер памяти ПЭВМ или текущее время дня.

Рекомендуется использовать запросы к BIOS вместо прямой манипуляции портами ввода-вывода при написании как системных, так и прикладных программ .Программирование на уровне BIOS уменьшает зависимость программ от изменения параметров оборудования ПЭВМ и, тем самым, повышает их мобильность.

После включения компьютера BIOS за несколько секунд выполняет проверку практически всех компонентов системы.

BIOS в своем нынешнем виде существует уже около 15 лет, и до сих пор ее работа не вызывает нареканий. Тем не менее, у этой системы уже есть преемник - EFI (Extensible Firmware Interface) . Данный интерфейс поддерживает 64-битные системы , благодаря чему совместим и с компьютерами следующего поколения . Кроме того, обладающий графической оболочкой EFI обеспечивает возможность более простого конфигурирования ПК . Однако до сих пор эта новая технология проверки встречается только на компьютерах Macintosh и лишь немногих обычных ПК.

После включения питания ПК к работе приступает первая составляющая BIOS - программа самотестирования POST (Power On Self Test) . Она проверяет корректность функционирования основных аппаратных компонентов ПК. После этого BIOS инициализирует чипсет компьютера.

Сначала система выполняет сброс центрального процессора , запрещая линии немаскируемых прерываний в нем (Non-Maskable Interrupt).

Почти одновременно с этим, как только поступает напряжение , выполняется аналогичная процедура для клавиатурного контроллера . На этапе Reset Determination (определение способа) BIOS проверяет, можно ли ограничиться только программным сбросом. Для этого считываются соответствующие биты в контроллере клавиатуры. Преимущество программного сброса заключается в том, что он выполняется на несколько миллисекунд быстрее.

Теперь BIOS осуществляет самопроверку , выполняя подсчет контрольной суммы на основе всех битов микросхемы своего ПЗУ . В сумме с определенной заданной величиной должно получиться значение «00» .

Далее компьютер посылает контроллеру клавиатуры команду, которая вызывает выполнение следующего теста и выделяет буфер для программных команд . В него BIOS записывает командный байт, проверяя, таким образом, встроенный контроллер клавиатуры .

Далее выполняется проверка CMOS-чипа (Complementary Metal Oxide Semiconductor) , в котором хранятся пользовательские настройки BIOS . Эти конфигурационные файлы считываются при каждом запуске системы. Сохранность данных и настроек в чипе зависит от того, подключена ли питающая его батарея.

Система тестирует также контрольную сумму микросхемы CMOS . Эта операция нацелена , прежде всего, на выявление неисправности батареи : при длительном сроке службы она будет не в состоянии обеспечить определенные компоненты микросхемы достаточным напряжением. Первые признаки неисправности - сброс пользовательских настроек BIOS и системного времени .

(слайд №3)

Затем POST тестирует работоспособность таймера , отвечающего за корректное распределение аппаратных прерываний (IRQ, Interrupt Request ) . Запрос на такое действие - команда, посылаемая процессору жестким диском или видеоплатой с целью оповестить CPU о наличии данных, подлежащих обработке. При этом с момента поступления запроса до начала обработки данных проходит определенный промежуток времени, который называется задержкой прерывания .

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

Процессор считывает из контроллера номер соответствующего прерывания (вектора) и использует его в качестве индекса в таблице. В ней содержатся инструкции, предусмотренные для каждого отдельного прерывания , - например, определенное действие по обслуживанию какого либо устройства.

Поскольку количество свободных прерываний в системе ограничено, в современном компьютере несколько устройств располагаются на одной линии прерывания (Interrupt Sharing). В этом случае обработчик должен запускать на выполнение драйверы всех устройств, от которых мог поступить запрос. Это может вызвать проблемы, если написанный с ошибками драйвер слишком долго имеет статус активного. Другое устройство данной линии прерывания выполняет в это время запись информации в буфер, который в определенный момент окажется переполненным, что может привести к потере данных. Поэтому в современных ПК операционная система самостоятельно распределяет номера IRQ между периферийными устройствами.

Затем BIOS тестирует адресные линии в первом блоке памяти размером 1 Мбайт на наличие ошибок . Для этого POST осуществляет запись шаблонов данных в оперативную память с целью их последующего сравнения .

Далее BIOS определяет тип видеоадаптера , подвергает его и монитор ряду тестов, а затем инициализирует видеоплату . Только после этого на экране могут отображаться сообщения об ошибках .

Далее наступает очередь контроллера DMA (Direct Memory Access) . Главный мост (Host Bridge), который также называют северным (мостом, связывает процессор и оперативную память с системной шиной материнской платы). Основное количество транзакций на шине выполняется между мостом и остальными периферийными устройствами. Для сокращения времени обработки своих данных последние могут напрямую обращаться к главному мосту и таким образом «без посредников» производить запись информации в оперативную память. В тесте BIOS вновь использует шаблоны данных, которые система помещает в ОЗУ .

Интерфейс клавиатуры также подлежит проверке . При его неисправности BIOS выдает сообщение об ошибке именно на данном этапе.

BIOS еще раз проверяет оптические приводы, жесткие диски и разъемы, перед тем как выполнить прерывание INT 19 и передать управление загрузчику, который отвечает за запуск операционной системы и обмен данными между жестким диском и его контроллером . Многие версии BIOS позволяют отключить выполнение IRQ 19 - это целесообразно в тех случаях, когда в системе имеется дополнительный дисковый контроллер, например PCI RAID .

Если на каком-либо этапе самотестирования возникает ошибка, компьютер подает несколько звуковых сигналов и выводит на экран сообщение о ней . Для расшифровки сигналов BIOS существуют таблицы POST-кодов . Если вы хотите точно знать, какой компонент неисправен, вам поможет стандартная карта PCI POST для диагностики неисправностей материнских плат , которая устанавливается в слот PCI. Неисправность отображается в виде числового кода. С помощью, поставляемой в комплекте с платой, таблицы кодов можно определить проблемный компонент системы.

Если все в порядке, BIOS сгенерирует короткий звуковой сигнал, после чего на загрузочном устройстве будет выполнен поиск запускаемой операционной системы . Если на данном этапе возникает ошибка , то причина , как правило, кроется в отсутствии главной загрузочной записи - MBR (Master Boot Record). В этом случае можно попытаться оживить систему с помощью установочного DVD.

(слайд №4)

В последнее время также стали широко обсуждаться и развиваться вопросы, связанные с заменой BIOS интерфейсомUEFI ( Unified Extensible Firmware Interface ). Данный интерфейс призван стать новым стандартом базовой системы для ПК.

Для чего нужны BIOS и UEFI?

Для обозначения базовой системы (микропрограммы) используют также термин Firmware :аппаратно реализованное (встроенное) ПО . Он указывает на то, что программа «зашита» в микросхему на материнской плате (то есть ее не нужно устанавливать) и запускается автоматически.Сразу после включения ПК BIOS и UEFI выполняют несколько задач:

    Тестирование оборудования. ВначалеBIOS осуществляет базовую проверку основных узлов компьютера. При этом проверяются не все компоненты, а лишь те, которые необходимы для запуска ПК, напримерпроцессори оперативная память.

    После окончания процедуры самотестирования (она занимает меньше минуты)BIOS определяет некоторые настройки. Сюда относятся, например, частота оперативной памяти, время включения встроенных вентиляторов или выбор режима энергосбережения, в который перейдет компьютер после длительного простоя. Многие из настроек можно изменить и в самой операционной системе, однако большинство параметровBIOS устанавливает непосредственно перед запуском Windows. На данном этапе загрузки пользователь также может изменить некоторые настройки – например, включить или отключить отдельные интерфейсы на материнской плате (например, для жестких дисков или USB-устройств). Кроме того, есть возможность выбора последовательности, в которой компьютер будет обращаться к загрузочным устройствам при запуске операционной системы (например, сначала – к жесткому диску, затем – к приводу CD/DVD, а после – к USB-накопителю).

Что означают аббревиатуры BIOS и UEFI?

    BIOS. Basic Input-Output System (базовая система ввода-вывода) существует почти 30 лет.

    UEFI. ИнтерфейсUnified Extensible Firmware Interface с2001 года разрабатывался компаниейIntel какстандартEFI (Extensible Firm­ware Interface , расширяемый интерфейс встроенного ПО) для серверного процессораItanium . Ввиду того, что данная модель представляла собой воплощение новейших технологий, найти подходящую версиюBIOS , которая работала бы сItanium после небольшой доработки, оказалось невозможным.Apple – первый производитель, начавший использовать во всех своих настольных компьютерах и ноутбуках индивидуальную версиюEFI . Компания остается вернаEFI с2006 года, когда она принялась оснащать ПК и ноутбуки процессорамиIntel . В2005 году аббревиатураEFI была дополнена словомUnified . Оно говорит о том, что координацию разработки интерфейса осуществляют несколько компаний. Сюда относятся производители ПК, напримерDell ,HP иIBM , а также разработчикиBIOS , напримерPhoenix иInsyde . Не обошлось и безMicrosoft как основного разработчика ОС.

Почему BIOS должна уйти?

Разрабатывая BIOS , программисты не задумывались о том, в течение какого времени будет использоваться эта система. Поэтомув этойбазовой системе есть несколько компонентов, изменение которых невозможно либо связано с весьма большими трудностями .Например, BIOS (без специальных ухищрений) способна распознать диск емкостью лишь до 2 Тб , а современные 3,5-дюймовые жесткие диски могут хранить уже до 3 Тб данных.В UEFI подобных ограничений нет. Притом новая система предоставляет единый интерфейс программирования – это облегчает разработку программ, запускаемых до загрузки операционной системы. Кроме того,UEFI позволяет интегрировать дополнительные функции, например программу резервного копирования данных. Наконец,в UEFI отсутствуют некоторые технически устаревшие функции, имеющиеся в BIOS , – например, переключение процессора при загрузке системы в медленный режим работы Real Mode.

Преимущества UEFI:

(слайд №5)

    Поддержка жестких дисков большой емкости .Для управления жесткими дисками BIOS использует MBR (Master Boot Record, главная загрузочная запись) –она содержит информацию о разделах жесткого диска. Основной недостаток MBR :размер каждой записи в ней составляет 32 бита . В результатеBIOS может контролировать приблизительно 4 млрд (232) секторов. К тому же базовая система «рассчитывает» на то, что размер каждого сектора составляет 512 байт;в итоге оказывается, чтоBIOS не может работать с дисками свыше 2 Тб . И если двадцать лет назад подобный объем считался несбыточной мечтой, то сейчас это суровая реальность. Секторы больших размеров позволили бы использовать диски емкостью 3 Тб, но не все программы из тех, которые напрямую обращаются к жесткому диску, работают с ними корректно. Что касаетсяинтерфейса UEFI , он использует для управления жесткими дисками технологию GPT (GUID Partition Table), обеспечивающую возможность записи на жесткий диск большего объема данных . В итогестандарт GPT поддерживает жесткие диски емкостью до почти 8 млрд Тб.

    Встроенная BIOS . При использовании материнских плат на базеUEFI отпадает необходимость вBIOS , поскольку все функции BIOS содержатся в UEFI в виде так называемого модуля поддержки совместимости (Compatibility Support Module) . Поэтому программа, использующая функцииBIOS , работает и на компьютерах сUEFI .

    Простота управления. Для навигации по меню настроек и выбора программ можно пользоваться мышью. ВBIOS , напомним, можно было работать только с помощью клавиатуры. К тому же интерфейсUEFI поддерживает более высокое разрешение.

    Преимущества в скорости загрузки. От включения компьютера до момента, покаBIOS загрузит операционную систему, проходит 30–60 с.UEFI работает быстрее.

    Встроенная операционная система. UEFI имеет также собственную оболочку . По сути – этоминиатюрная операционная система, которая , как иDOS (далекий предок Windows),«понимает» только текстовые команды . Она может оказаться полезной для опытных пользователей или системных администраторов, пытающихся установить причины отказа загрузки основной ОС. Некоторые производители, в том числе компанияMSI , предлагают дляUEFI собственные операционные системы на базеLinux , загружаемые с CD/DVD.

    Дополнительные программы. Встроенная мини-ОС подходит и для установки дополнительных программ. Последние можно интегрировать в виде отдельных пунктов меню интерфейса UEFI либо загружать с CD/DVD . Однако это дело будущего – в настоящее время доступно небольшое количество приложений. К тому же речь идет, как правило, о вспомогательных утилитах и очень простых играх, например Pair Match.

Определение конфигурации с помощью BIOS.

Доступ к BIOS.

(слайд №6)

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

За процедурами BIOS закреплены прерывания Int 10h – Int 11Ah .

Например , Int 12h вызывает процедуру, которая возвращает вызвавшей ее программе размер оперативной памяти ПЭВМ.

Входные и выходные параметры процедур BIOS передаются в регистрах общего назначения центрального процессора ПЭВМ.

Например , для установки системного времени нужно подать следующие команды:

MOV AH, 1 ; Функция 1 - установка времени

MOV CX, HIGH_COUNT ; CX:DX = новое значение времени MOV DX,LOW_COUNT

INT 1AH ; Точка входа в BIOS, обслуживающая запросы к таймеру

Для чтения времени используется следующая программа:

MOV AH,0 ; Функция 0 - чтение времени

INT 1AH ; Запрос к BIOS. Результат будет возвращен в регистрах CX и DX.

Процедуры BIOS сохраняют значения всех регистров, кроме тех из них, в которых возвращаются значения.

Области данных BIOS.

(слайд №7)

Области данных BIOS - это либо области ОЗУ, в которых хранится текущая информация о состоянии ПЭВМ, либо области ПЗУ, в которых записаны аппаратные характеристики устройств.

Сведения о наличии основных устройств компьютера записывается в область данных BIOS с адресом 0000:0410 размером в двухбайтовое слово - слово конфигурации . С помощью прерывания INT 11h программа может получить в регистре AX слово конфигурации из указанной выше области данных BIOS .

Как обозначить конфигурацию соединения, чтобы по названию можно было изобразить пространственное расположение групп у хирального атома углерода? Для этого используют R,S -систему, предложенную К. Ингольдом, Р. Каном, З. Прелогом. R,S -система основана на определении старшинства заместителей вокруг хирального центра. Старшинство групп определяется следующим образом:

1). Атом с большим атомным номером является старшим относительно атома с меньшим атомным номером.

2). Если непосредственно соединенные с углеродом С* атомы одинаковы, то необходимо рассмотреть старшинство последующих атомов.

Например, как определить старшую из групп: -C 2 Н 5 и СН(СН 3) 2 в соединении

В этильной группе за атомом, соединённым с хиральным центром, следуют Н, Н и С, а в изопропильной группе - Н, С и С. Сравнивая эти группы между собой, устанавливаем, что изопропильная группа старше, чем этильная.

3). Если хиральный углерод С* соединён с атомом, имеющим кратную связь, то связи этого атома следует представить как простые связи.

4). Для того, чтобы установить конфигурацию молекулы, её располагают так, чтобы связь хирального центра с младшей группой под номером 4 была направлена от наблюдателя, и определяют расположение оставшихся групп (рис. 2.6).

Рис. 2.6. Определение R,S -конфигураций

Если старшинство групп убывает (1®2®3) по часовой стрелке, то конфигурация хирального центра определяется как R (от латинского слова “rectus” - правый). Если старшинство заместителей убывает против часовой стрелки, то конфигурация хирального центра - S (от латинского “sinister” - левый).

Знак оптического вращения (+) или (-) определяется экспериментально и не связан с обозначением конфигурации (R ) или (S ). Например, правовращающий 2-бутанол имеет (S )-конфигурацию.

Для того, чтобы определить конфигурацию соединения, изображённого проекционной формулой Фишера поступают следующим образом.

1). Выполняют чётное число перестановок заместителей у хирального центра (нечётное число перестановок приведёт к энантиомеру) так, чтобы младший заместитель под номером 4 оказался вверху или внизу.



2). Определяют расположение оставшихся групп, обходя их в порядке убывания старшинства. Если старшинство заместителей убывает по часовой стрелке, то исходную конфигурацию определяют как R -конфигурацию, если против часовой стрелки, то конфигурацию определяют как S -конфигурацию.

Если преобразовать проекционную формулу непросто, можно установить порядок уменьшения старшинства, отбросив младший заместитель, стоящий сбоку, но выбрать для обозначения конфигурации «обратный» символ. Например, в исходном соединении

отбросив младший заместитель (H), устанавливаем порядок уменьшения старшинства: 1→2→3. Получаем обозначение (S ), меняем его на (R ) и получаем правильное название: (R )-2-хлорэтансульфоновая кислота.

Определение конфигурации компьютера

Лабораторная работа

Информатика, кибернетика и программирование

Возможности программы - определение процессоров и сопроцессоров фирм Intel AMD Cyrix VIA Centaur IDT Rise Transmeta NexGen UMC IBM Texas Instruments CT IIT ULSI National Semiconductor SiS; - определение тактовой частоты процессора коэффициента умножения и частоты системной шины определение оригинальной без учета разгона частоты процессора типа разъема slot socket и типа упаковки Platform ID процессора определение поддерживаемых процессором возможностей MMX SSE SSE2 SSE3 3DNow 3DNow Extensions и другое...

ОПРЕДЕЛЕНИЕ КОНФИГУРАЦИИ КОМПЬЮТЕРА

Цель работы: изучить основные методы и средства для определения конфигурации ПК, получить представление о преимуществах и недостатках различных способов получения информации об аппаратных средствах компьютера

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

Краткие теоретические сведения

Встроенные средства операционной системы Windows

Список устройств, установленных в системе можно получить, используя стандартный менеджер оборудования:

Необходимо последовательно выполнить следующие действия: Пуск  Настройка  Панель управления  Система

Открытое в результате выполненных действий диалоговое окно Система имеет семь вкладок.

  1. «Общие» - вкладка предназначена для предоставления данных об установленной операционной системе, об активном пользователе, серийном номере, торговой марки центрального процессора и о количестве установленной оперативной памяти. Эта вкладка также доступна при нажатии комбинации клавиш +.
  2. Имя компьютера - отображает имя компьютера, рабочую группу и домен (если они заданы), которым он принадлежит. Вкладка также позволяет изменить данные параметры.
  3. «Оборудование» – на вкладке располагаются средства установки оборудования, выбор действий при обнаружении новых устройств (средство «подписывание драйверов»). Для просмотра списка установленного оборудования служит средство «Диспетчер устройств». Мастер предназначен для предоставления данных обо всех установленных устройствах, таких как используемые драйвера, прерывания, адреса памяти, каналы DMA и т.д. и их настройки. Также на данной вкладке находится средство « Профили оборудования », которое позволяет устанавливать и хранить различные конфигурации оборудования.
  4. «Дополнительно» – вкладка включает три средства. « Быстродействие» - предназначено для предоставления информации об установленной оперативной памяти, активизации различных режимов, например, 32 разрядной поддержки со стороны файловой системы и т. п. В версии Windows XP данное средство обеспечивает настройку визуальных эффектов для увеличения скорости работы или улучшения внешнего вида интерфейса операционной системы. Кроме того, мастер позволяет настроить размер файла подкачки и оптимизировать работу процессора и оперативной памяти.

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

  1. «Автоматическое обновление» позволяет настроить параметры обновления Windows Update.
  2. «Удаленное использование» включает средства настройки удаленного доступа к данному ПК для управления и настройки.
  3. «Восстановление системы» - вкладка для настройки контроля за изменением системы и возможностью отмены нежелательных изменений.

Для определения моделей и типов подключенных устройств используется закладка «Диспетчер устройств». Имеется два варианта отображения информации об установленных устройствах.

1. Устройства по типам - при указании этого режима установленные устройства разделяются на типы. Опишем некоторые пункты:

Дисковые накопители - в этом пункте отражается количество установленных винчестеров с интерфейсом IDE, а также дисководов для гибких дисков (для операционных систем Windows 98 или Me). Если же используется Windows 2000 или Windows XP в этом пункте отражается название модели установленного жесткого диска.

Контроллеры SCSI и RAID - в этой папке отображены контроллеры, используемые для подключения жестких дисков, сканеров и т. д. Иногда здесь оставляют запись программы виртуальных дисков, например Paragon CD Emulator

Сетевые платы - здесь указана модель сетевой платы. Если имеется подключение к сети Интернет, здесь же будет указан Контроллер удаленного доступа, который в принципе не является реальным устройством.

Системные устройства - здесь указаны все устройства, размещенные на материнской плате, такие как системный динамик, BIOS, CMOS и т.д.. В этом пункте нет информации о модели материнской платы,. Однако имеется некоторая информация о микросхемах, используемых в чипсете.

2. Устройства по подключению - при указании этого режима можно получить ту же информации об установленных устройствах, только последовательность ее отображения будет изменена. В результате, можно узнать, какие устройства подключены к шине PCI или к контроллеру IDE.

Название модели подключенного принтера можно найти, выполнив последовательность Пуск  Настройка  Принтеры.

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

Объем жесткого диска определяется из пункта Свойства контекстного меню жесткого диска (вызывается из окна «Мой компьютер» или Проводника правой кнопкой мыши).

Тактовая частота центрального процессора определяется при включении или перезагрузке ПК в свойствах BIOS.

Программы тестирования внешних производителей

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

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

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

Рассмотрим наиболее популярные средства определения конфигурации ПК.

1. Программа Sisoft Sandra

Программное средство анализа и диагностики аппаратных средств ПК фирмы Catalin - Adrian Silasi - SiSoft Sandra Professional скриншот программы на рис.1

SiSoft Sandra (" System Analyser , Diagnostic and Reporting Assistant ") - утилита для сбора информации и диагностики системы, написанная под Win 32" s . Предлагаемая информация о состоянии системы и настройки Plug-and-Play устройств является, по мнению авторов, наиболее полной, т.к. в нее включены не документированные источники информации. SiSoft Sandra - это 32-х разрядное приложение, которое пользуется преимуществом всех усовершенствований, разработанных для операционных систем MS Windows.

Программа предоставляет возможность работы с 4 видами модулей:

Information Modules . - в этом окне имеются модули, при помощи которых можно узнать информацию об установленных устройствах. Например, при выборе информационного модуля Mainboard Information можно узнать модель материнской платы и тип применяемого чипсета, частоту системной шины, тип установленных модулей памяти и многое другое.

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

Listing Modules - в этом окне содержатся ссылки на все текстовые файлы, доступные для чтения в обычном режиме, т. е. без дополнительной дешифрации. Это позволяет убедится в загрузке определенных драйверов в память компьютера и т. п.

Testing Modules - в этом окне имеются модули, позволяющие протестировать компьютер по основным параметрам, таким как отсутствие конфликтов каналов DMA, прерываний и т. п.

2. Программа H winfo 32

Hardware Info предназнчена для определения компонентов персонального компьютера: после эталонных тестов на экран будет выведена очень подробная информация о процессоре, материнской плате, винчестере, видеокарте, оперативной памяти, PCI-устройствах, мониторе, аудио- и сетевом контроллере, портах и так далее. Кроме того, HWiNFO снимает показатели интегрированных в систему датчиков, предназначенных для измерения температуры процессора, скорости вращения вентиляторов и т.п. При необходимости можно также провести и сравнительный анализ быстродействия как всего ПК в целом, так и отдельных его устройств – например, жесткого диска или CPU. Утилита выпускается в двух версиях, адаптированных для работы под управлением операционной системы DOS или Windows 9х/ME/NT/2000/XP. Прочие особенности HWiNFO перечислены ниже:

3. Программа A ida 32

Информация, которую предоставляет AIDA32, сгруппированна по вкладкам. Каждая вкладка, в свою очередь, зачастую имеет несколько своих внутренних разделов, содержащих более специфичную информацию. Самих информационных вкладок в программе 15:

Summary - сводная информация о системе.

Motherboard - подробная информация о процессоре, его текущей загрузке, материнской плате, памяти, чипсете, BIOS.

OS - подробная информация об операционной системе, включая список текущих процессов и dll-файлов.

Video - информация о видеоподсистеме, включая монитор, DirectX и OpenGL.

Multimedia - информация о мультимедийных устроствах

Drives - информация о накопителях.

Input - информация об устройствах ввода.

Devices - информация обо всех устройствах. Возможен просмотр устройств в представлении Windows, а также по способу подключения.

Network - информация о сети, включая сетевые ресурсы, список почтовых аккаунтов, cookie Internet Explorer"а, и т.п.

Software - список установленного программного обеспечения, автозапускающихся программ, а также зарегистрированных типов файлов.

Files - конфигурационные файлы.

Config - список переменных окружения и содержание панели управления.

Misc - информация об управлении питанием, DMI, ODBC, и т.п.

Tools- создание отчета о системе с возможностью отсылки его по электронной почте, дамп содержимого BIOS, Video BIOS, IDE, PCI.

4. Программа ASTRA 32

ASTRA32 - Advanced System Information Tool. Программа определения конфигурации компьютера. Позволяет получить подробную информацию (в том числе недокументированную) о процессоре, кэше, материнской плате, жестких дисках, CD/DVD, SCSI устройствах, модулях памяти, чипсете, BIOS, PCI/AGP, USB и ISA/PnP устройствах, DMI/SMBIOS, мониторе, видеокарте, звуковой и сетевой карте, принтере, установленных программах и многом другом. Создание файла-отчета, возможность экспорта данных в программы учета вычислительной техники. Возможность работы в режиме командной строки.

Возможности программы

Определение процессоров и сопроцессоров фирм Intel, AMD, Cyrix, VIA, Centaur/IDT, Rise, Transmeta, NexGen, UMC, IBM, Texas Instruments, C&T, IIT, ULSI, National Semiconductor, SiS;

Определение тактовой частоты процессора, коэффициента умножения и частоты системной шины, определение оригинальной (без учета разгона) частоты процессора, типа разъема (slot, socket) и типа упаковки (Platform ID) процессора, определение поддерживаемых процессором возможностей (MMX, SSE, SSE2, SSE3, 3DNow!, 3DNow! Extensions и другое), размера и параметров кэша

Определение производителя материнской платы и URL сайта, определение производителя, даты и версии BIOS, определение производителя и модели чипсета

Определение модели и емкости ATA/ATAPI устройств (винчестеры, CD/DVD устройства, ZIP накопители). Определение PIO, DMA и UltraDMA режимов (в том числе активных в данной конфигурации). Работа с ATA/ATAPI устройствами на внешних UDMA/SATA контроллерах. Определение скорости чтения/записи CD приводов определение SCSI устройств (винчестеры, CD приводы, сканеры, стримеры) и их параметров (имя устройства, тип, размер, серийный номер, температура, размер буфера, скорость вращения винчестеров и другое) чтение SPD информации из модулей памяти (объем, тип, производитель, скоростные характеристики и многое другое)

Определение PCI/AGP/PCI-X/PCI-E/PCMCIA, ISA/PnP устройств и используемых ими ресурсов.

Определение USB устройств (производитель, модель, серийный номер, версия, скорость и другое).

Поддержка стандарта DMI/SMBIOS, в т.ч. определение названия системы, модели материнской платы, параметров BIOS, процессора, кэша, подсистемы памяти, вывод информации о слотах и портах материнской платы

Определение производителя и названия видеокарты, размера видеопамяти определение типа звуковой карты, модема, сетевой карты, LPT/PnP устройств (принтеры, сканеры) и многое другое

Информация о Windows, установленных программах и обновлениях

Создание файла-отчета в текстовом и INI формате, возможность работы в режиме командной строки

Возможность импорта отчетов в различные программы учета компьютеров на предприятии («Hardware Inspector», «JoyStock», «Учет и контроль компьютеров в сети», «Токен КомпьюЛиб»).

Большинство программ тестирования также доступны в версии для DOS , что является удобным, так как дает возможность выполнять загрузку с дискеты, компакт-диска или другого устройства (например USB -диска) и не устанавливать дополнительного программного обеспечения на рабочую систему. Так же использование таких версий является незаменимым при определении конфигурации ПК без установленного программного обеспечения.

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

Другой фактор, влияющий на конечный результат, - оптимизация программного кода тестовой программы под один из наборов SIMD. Например, если применяется набор инструкций SSE2, то процессор Pentium покажет значительно более высокие показатели, чем процессор Athlon. И, наоборот, при использовании набора инструкций 3DNow! Обязательно выиграет процессор Athlon. Для того чтобы получить правдоподобный результат, необходимо отключить все возможные параметры оптимизации и использовать только основной вычислительный центр процессора. В этом случае результаты тестирования будут наиболее близкими к реальным показателям производительности.

Наилучшим вариантом является использование тестовых программ независимых производителей, например, компании Standard Performance Evaluation Corporation (SPEC), которая предлагает пользователям программное обеспечение для оценки производительности как профессиональных компьютеров, так и компьютеров для домашнего использования. Некоторые версии тестовых программ доступны для свободного "скачивания" на официальном сайте компании (http://www.spec.org/).

Порядок выполнения работы

  1. Выполнить анализ конфигурации выделенного компьютера при помощи встроенных средств Windows и программы тестирования.
  2. Подготовить и защитить отчет.

Требования к оформлению отчета

Отчет по лабораторной работе должен содержать следующие разделы:

  1. Задание по лабораторной работе.
  2. Таблица конфигурации ПК
  3. Выводы по проделанной работе.

Основные контрольные вопросы

  1. Для чего необходимо точное знание конфигурации ПК?
  2. Какую информацию можно получить, используя стандартные средства Windows ?
  3. Чем отличаются режимы отображения информации об установленных устройствах По типам и По подключению?
  4. Какие программы тестирования аппаратных и программных средств ПК Вы знаете, в чем их отличия?
  1. Трасковский А. В. Устройство, модернизация, ремонт IBM PC .- СПб.: БХВ-Петербург, 2003.
  2. Касперски К. ПК. Решение проблем.

А также другие работы, которые могут Вас заинтересовать

25067. Различие между Востоком и Западом 36 KB
О чертах отличающих культуры Запада и Востока друг от друга можно говорить лишь с большей или меньшей долей условности. Вовторых восточная культура неоднородна в гораздо большей степени чем западная; она охватывает три разных культурных мира китайский индобуддийский арабомусульманский в которых доминируют различные религии тогда как культура Запада объединяется одной религией христианством. Причины обусловившие особенности культур Запада и Востока связаны с разницей климатических исторических и социальноэкономических...
25068. Реформація в освіті 46.5 KB
Одним з основних завдань реформування освіти незалежна держава визначила відродження і подальшу розбудову національної системи освіти її орієнтацію на задоволення потреб народу України національнокультурних та національноосвітніх прав і запитів усіх громадян незалежно від їх етнічної приналежності. Концептуальні засади реформи освіти в Україні були визначені державною національною програмою Освіта Україна ХХІ століття спрямованою на досягнення якісно нового стану навчання і виховання українських громадян що відповідатиме сучасному...
25069. Елітарна культура 33 KB
Для масової культури характерним є загальнодоступність легкість сприйняття спрощеність розважальність.
25070. Основные культурологические школы 43.5 KB
Малиновский; Ее главная черта стремление подчеркнуть биологическую обусловленность культуры значительно преувеличивая ее.Парсонс; Она объединяет тех ученых которые ищут истоки и объяснение культуры не в истории и самопроизвольном божественном развитии человеческого духа не в психике и не в биологической предыстории человечества а в его общественной природе и организации. Веселовский объясняла сходство материальной и духовной культуры. Основные культурологические концепции: Философия Гегеля как теория культуры...
25071. Мифология 36.5 KB
mutos сказание сказание и logos слово рассказ совокупность мифов созданных какимлибо народом или разными народами; система знаний о мире основанная на вере в сверхъестественное; научная дисциплина изучающая мифы их особенности элементы. Современные мифы вбирают в себя элементы заимствованные из других культурных форм в том числе и из науки. В современной культуре имеют хождение мифы различного вида: Старые мифы дожившие до наших дней преданья старины глубокой рассказы о духах вроде лешего и домового о колдовстве и...
25072. Основні функції культури 32.5 KB
Адаптаційна дає можливість кожному індивідууму який включається в процес функціонування і розвитку прилаштовуватися до існуючих в суспільстві оцінок і форм поведінки. Аксіологічна ціннісна дає можливість виробити ціннісні орієнтації людини коригувати норми поведінки та ідентифікувати себе у суспільстві. Нормативна відпрацьовування і поширення відповідних норм поведінки які суспільство диктує людині у відповідності з якими формується образ життя людей їх установки й ціннісні орієнтації способи поведінки.
25073. Християнство 52 KB
Основу християнства становить учення про Боголюдину Ісуса Христа який щоб звільнити людей від первородного гріха прийняв смерть через розп"яття на хресті але воскрес вознісся на небо і обіцяв повернутись на землю вдруге У Судний день для того щоб судити живих і мертвих; за результатами Божого суду одних направити до Раю а інших у пекло; Християнство зародилося на сході Римської імперії території сучасного Ізраїлю в Палестині в I ст. Мудра віра Ісуса привертала до Нього кращих людей ізраїльського народу. завіт договір назва...
25074. Исла́м 51 KB
Слово ислам переводится как предание себя Богу покорность подчинение законам Аллаха. В арабском языке слово ислам отглагольное существительное образованное от глагола который означает быть благополучным спасаться сохраняться быть свободным. В шариатской терминологии ислам это полное абсолютное единобожие подчинение Аллаху Его приказам и запретам отстранение от многобожия. Приверженцев ислама называют мусульманами.
25075. Регулятив (регулятивний смисл) 37.5 KB
Наявні в культурі регулятиви визначають прийняті в даній культурі норми поведінки і діяльності тобто вказують якими шляхами та засобами досягнення мети допустиме нормальне і навпаки. Культурні норми досить різноманітні. Норми культури мінливі. Разом з тим норми культури забезпечують надійність передбачуваність і загальнозрозумілість поведінки.

Введение.

В данной статье мы рассмотрим вопросы нахождения и определения параметров различных устройств.

Когда у программиста возникает вопрос типа «Как определить сколько в компе оперативки?», в 90% случаев он решается тривиально – используется определенный сервис операционной системы который и отвечает на все вопросы вроде этого.

А что делать, если пользоваться сервисами нельзя, например в случае разработки собственной ОС? (звучит конечно малореально, но, тем не менее, энтузиасты всегда были, и если уж не писать свою ОС, то хотя бы разобраться как это делают уже написанные ОС, думаю, будет интересно.

На вопрос как определить установленное оборудование на полностью аппаратном уровне и призвана ответить данная статья.

Сразу определимся, что именно мы будем определять:

  1. Процессор (частота, производитель, возможности)
  2. Оперативная память (объем)
  3. HDD (Объем).
  4. Устройства PCI (производитель, модель)

1) ПРОЦЕССОР .

Определение любого существующего intel-совместимого процессора складывается из 3 основных этапов:

  1. Определение поддержки инструкции CPUID.
  2. Если она поддерживается — определение остальных параметров.
  3. Определение тактовой частоты.

Процессоры поддерживают инструкцию CPUID (как intel, так и AMD), начиная с пятого поколения (Pentium) и поздних моделей 486 (чтобы TASM вас «правильно понял» при использовании CPUID, он должен быть версии 5.0 и выше).

Если она не поддерживается – определить производителя и другие параметры процессора возможно только какими-либо недокументированными путями.

Посмотрим, чем отличаются процессоры не поддерживающие CPUID (80386, 80486, более старые процессоры вроде 80286 и ниже, я думаю, рассматривать нет смысла).

Все просто – если бит 18 в EFLAGS доступен, значит процессор 486 или круче, если его невозможно изменить инструкцией POPF – 386.

В том же EFLAGS нужно попробовать изменить бит ID (21) если его можно программно изменить – процессор поддерживает инструкцию CPUID.

CPUID имеет параметр, который задается в регистре EAX.

Обычно в ответ на вызов CPUID с EAX=0 процессор возвращает в EBX:ECX:EDX некоторую строку-идентификатор производителя.

У intel это «GenuineIntel», у AMD – «AuthenticAMD», у Cyrix – «CyrixInstead».

(Обратите внимание, что размеры всех строк – 12 символов – три 4-байтных регистра).

При вызове CPUID с EAX=1 в регистре EAX возвращается информация о типе, модели и степпинге (изменения в рамках одной модели) процессора.

Эти значения расшифровываются по специальным таблицам.

EAX – степпинг (stepping)
EAX – модель (model)
EAX – семейство (family)
EAX – тип (type)
EAX – резерв (reserved)
EAX – расширенная модель (extended model) (только Pentium 4)
EAX – расширенное семейство (extended family) (только Pentium 4)
EAX – резерв (reserved)
EBX – брэнд-индекс (brand-index)
EBX – длина строки, очищаемой инструкцией CLFLUSH (Pentium 4)
EBX — резерв
EBX – идентификатор APIC процессора.
ECX – 0

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

Бит Описание
0 Наличие сопроцессора
1 Расширение для режима V86, наличие флагов VIP и VIF в EFLAGS
2 Расширения отладки (останов по обращению к портам)
3 Возможности расширения размера страниц до 4Мб
4 Наличие счетчика меток реального времени (и инструкции RDTSC)
5 Поддержка модельно-специфических регистров в стиле Pentium
6 Расширение физического адреса до 36 бит
7 Поддержка Machine Check Exception (исключение машинного контроля)
8 Инструкция CMPXCHG8B
9 Наличие APIC
10 RESERVED
11 Поддержка инструкций SYSENTER и SYSEXIT (для AMD – SYSCALL и SYSRET)
12 Регистры управления кэшированием (MTRR)
13 Поддержка бита глобальности в элементах каталога страниц
14 Поддержка архитектуры машинного контроля
15 Поддержка инструкций условной пересылки CMOVxx
16 Поддержка атрибутов страниц
17 Возможность использования режима PSE-36 для страничной адресации
18 Поддержка серийного номера процессора
19 Поддержка инструкции CLFLUSH
20 RESERVED
21 Поддержка отладочной записи истории переходов
22 Наличие управления частотой синхронизации(ACPI), для AMD – “фирменное” MMX
23 Поддежка MMX
24 Поддержка инструкций сохранения\восстановления контекста FPU
25 SSE
26 SSE2
27 Самослежение (Self Snoop)
28 RESERVED
29 Автоматическое снижение производительности при перегреве
30 Наличие расширенных инструкций AMD 3Dnow!
31 Наличие AMD 3Dnow!

При вызове CPUID с EAX=2 (функция появилась начиная с Pentium II, в процессорах AMD она недоступна) в регистрах EAX, EBX, ECX, EDX возвращаются так называемые «дескрипторы», которые описывают возможности кэшей и TLB буферов. Причем AL содержит число, указывающее сколько раз необходимо последовательно выполнить CPUID (с EAX=2) для получения полной информации. Дескрипторы постоены по такому принципу: никаких битов тестировать не нужно, если определенный байт просто присутствует в регистре – значит его нужно интерпретировать. На практике обычно делают так, к примеру EDX, сначала смотрят что в DL, интерпретируют его содержимое, потом делают SHR EDX,8 и смотрят опять DL и т.д. Признаком достоверности информации в регистре является бит 31, если он равен 1 – содержимое регистра достоверно. Прежде чем выполнять команду CPUID с EAX=2 сначала нужно удостовериться что текущий процессор ее подерживает.

Счастливые обладатели процессоров Pentium III (только их) могут определить серийный номер своего процессора (предварительно разрешив в BIOS его сообщение процессором, которое по умолчанию отключено) при помощи CPUID с EAX=3.

В регистрах EDX:ECX возвращаются младшие 64 бита номера, вместе с тем, что возвращается в EAX при CPUID (EAX=1), они составляют уникальный 96-битный идентификатор процессора (о котором, в свое время, было столько разговоров).

Кроме того, процессоры AMD имеют возможности вызова функций EAX=80000005h и 80000006h по ним сообщается такая информация как ассоциативность TLB и элементов кэша, но в такие дебри мы сейчас углубляться не будем.

В процессорах AMD (начиная с K5) и Pentium4 имеются возможности сообщения некоторой 48-символьной строки (не той что по CPUID(0)) эти возможности также задействуются с помощью номеров функций более 80000000h.

Инструкция CPUID доступна в любом режиме процессора и с любым уровнем привилегий.

К мануалу прилагается исходник посвященный использованию инструкции CPUID, программа определяет поддержку MMX, SSE, SSE2. Там используются только случаи с EAX=0 и EAX=1, причина этого проста — начиная с EAX=2 начинаются очень большие разночтения между intel и AMD, а я не хочу делать мануал заточенный под intel (так же как и под AMD). Предусмотреть оба случая — значит усложнить программу и найти себе проблемы с тестированием на разных процессорах.

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

Начиная с Pentium в архитектуру был введен счетчик тактов (вообще говоря интел его так не называет, и утвеждает что в будущем он может считать не такты, гарантируется лишь, что счетчик будет монотонно возрастать) мы будем определять частоту процессора используя именно этот счетчик. Для начала немного о нем самом: Счетчик тактов имеет разрядность 64 бита и увеличивается на 1 с каждым тактом процессора начиная с сигнала RESET#, он продолжает счет при выполнении инструкции HLT (собственно при выполнении этой инструкции процессор вовсе не останавливается, а всего-навсего непрерывно выполняет инструкцию NOP, которая,в свою очередь, является закамуфлированной инструкцией XCHG AX,AX (опкод NOP – 10010000b, опкод XCHG AX,reg – 10010reg, что при использовании регистра AX (000) дает 10010000b, интересно, что фактически существует 32-разрядный аналог NOP-а – XCHG EAX,EAX, на кодовую последовательность 66h,90h процессор реагирует нормально). Считывание счетчика тактов можно запретить для прикладных программ (CPL=3) уставнокой в 1 бита TSD в CR4 (в win считываение запрещено). После выполнения инструкции RDTSC (у кого на нее ругается компилятор – db 0fh,031h) регистры EDX:EAX содержат текущее значение счетчика. Измерение частоты при помощи RDTSC происходит следующим образом:

  1. Маскируются все прерывания кроме таймерного.
  2. Делается HLT.
  3. Считывается и сохраняется значение счетчика.
  4. Снова HLT.
  5. Считывается значение счетчика.
  6. Разность значений считанных в пунктах 3 и 5 есть количество тактов за 1 тик таймера (частота прерываний таймера примерно 18,2Гц).

На первый взгляд ничего непонятно. Посмотрим на временную диаграмму.

Момент запуска программы обозначен как t0, штрихи на оси – моменты, когда происходит прерывание от таймера. Первый HLT в листинге нужен для того чтобы преодолеть время t1, которое неизвестно заранее, так как программа может быть запущена в произвольное время. Затем, в момент между t1 и t2 считывается значение счетчика, оно сохраняется и снова делается HLT, процессор будет простаивать до первого прерывания, то есть практически ровно период t2, который и равен периоду прерываний от таймера. Таким образом, при известном значении периода таймера 18,2 Гц, а также количества тактов за этот период можно узнать точную тактовую частоту.

Mov al,0FEh ;маскируем все прерывания кроме таймера out 21h,al hlt rdtsc mov esi,eax hlt rdtsc sub eax,esi ;в EAX - количество тактов процессора за 1 тик таймера …….. ;преобразование в мегагерцы и вывод на экран mov al,0 out 21h,al

2) ОПЕРАТИВНАЯ ПАМЯТЬ

Теперь поговорим о оперативной памяти.

Ставший уже классическим метод определения ее объема заключается в следующем принципе:

Если что-то записать по несуществующему физически адресу, а потом прочитать что-то с этого же адреса — записанное и прочитанное значения естественно не совпадут (в 99,(9) процентах случаев прочитаются нули). Сам алгоритм такой:

  1. Инициализировать счетчик.
  2. Сохранить в регистре значение из памяти по адресу [счетчик]
  3. Записать в память тестовое значение (в нашем случае это будет AAh)
  4. Прочитать из памяти.
  5. Восстановить старое значение по этому адресу.
  6. Сравнить записанное и прочитанное значение
  7. Если равны – счетчик=счетчик+1, если нет – выход из цикла.
  8. JMP пункт 2

На первый взгляд все очень просто, при практической же реализации приведенного алгоритма возникает множество проблем: во-первых сама программа считающая память расположена в этой самой памяти и рано или поздно она сама себя перезапишет тестовым значением. Этот нюанс обычно решается так:

программа выполняется в реальном режиме в пределах первого мегабайта, счет же начинается с адресов выше мегабайта.

Этот метод порождает другую проблему – в реальном режиме непосредственно доступен только этот самый один мегабайт. Эта проблема решается путем применения «нереального» режима, он же Big real-mode.

Кто в курсе что такое «нереальный» режим может пропустить этот абзац, те же кто в не в курсе приготовьтесь слушать %)

Как известно в процессоре каждый сегментный регистр имеет скрытые или теневые (shadow parts) части в которых в защищенном режиме кэшируется дескриптор сегмента, для программиста они невидимы. В защищенном режиме эти части обновляются всякий раз когда в сегментный регистр загружается новое значение, в реальном же режиме обновляются только поля базового адреса сегмента. Если в защищенном режиме создать сегмент с лимитом в 4Гб и загрузить в сегментный регистр такой селектор, после чего переключиться в реальный режим, и, не следуя рекомендациям интел, оставить предел равным 4Гб – значение лимита сегмента сохранится позволяя использовать 32-битные смещения. Алгоритм перехода в нереальный режим:

  1. Создать дескриптор с базой равной 0
  2. Установить предел сегмента в 4Гб
  3. Переключиться в защищенный режим
  4. Загрузить селектор сегмента в какой-либо сегментный регистр
  5. Переключиться в реальный режим

После этих действий можно в реальном режиме использовать конструкции типа:

мov ax,word ptr fs:

Где EDX может изменяться от нуля до 4Гб не вызывая никаких исключений защиты (в «настоящем» реальном режиме превышение 64Кб вызывает исключение GP#) Фактически EDX=целевой адрес, поскольку база сегмента в FS=0.

В защищенном режиме при включенной страничной адресации считать память этим методом бесполезно потому что кроме основной память будет считаться еще и файл подкачки на винчестере, и в перпективе можно всегда получать значение около 4Гб (зависит от ОС).

Здесь есть еще один тонкий момент: в книгах М.Гука и В.Юрова пишется что в качестве «нереального» сегментного регистра надо использовать FS или GS так как другие регистры часто перезагружаются и процессор якобы сбрасывает лимит в 64Кб после перезагрузки сегментного регистра в реальном режиме. На практике оказывается совсем не так. Процессор НЕ ТРОГАЕТ поля лимитов в реальном режиме.

Во избежание дополнительных проблем (возможных) я буду приводить пример с регистром FS.

Отвлеклись мы немного от главного, а именно от оперативной памяти.

Алгоритм:

  1. Установить «нереальный режим»
  2. Открыть старшие адресные линии (GateA20)
  3. Установить счетчик в 1048576 (1Mb)
  4. Цикл записи-чтения
  5. Вывести значение счетчика
  6. Закрыть вентиль A20
  7. Выход

Пример листинга:

586P DESCRIPTOR STRUC ;Структура дескриптора сегмента для;защищенного режима limit dw 0 base_1 dw 0 base_2 db 0 attr db 0 lim_atr db 0 base_3 db 0 ENDS GDT segment use16 ;Таблица GDT empty dq 0 _code descriptor <0,0,0,0,0,0> ;Дескриптор для сегмента кода программы _temp descriptor <0,0,0,0,0,0> ;"Нереальный" дескриптор GDT ends data segment use16 gdtr df 0 ;Поле для регистра GDTR string db "Memory available: ",20 dup (0) data ends stck segment stack use16 ;Стек db 256 dup (0) stck ends code segment use16 assume cs:code,ss:stck,ds:gdt start: ;entry point mov ax,gdt mov ds,ax mov _code.limit,65535 ;Лимит сегмента кода 64Кб mov eax,code ;Получаем физический адрес и загружаем базу shl eax,4 mov _code.base_1,ax shr eax,8 mov _code.base_2,ah mov _code.attr,09Ah ;Атрибуты - сегмент кода mov _temp.limit,65535 ;Устанавливаем лимит в максимальное значение mov _temp.attr,092h ;Атрибуты - сегмент данных, доступ чтение\запись mov _temp.lim_atr,08Fh ;Устанавливаем старшие биты лимита и бит G assume ds:data ;Получаем физический адрес таблицы GDT mov ax,data mov ds,ax mov eax,gdt shl eax,4 mov dword ptr ,eax ;загружаем лимит и адрес таблицы GDT mov word ptr gdtr,23 cli ;Запрет прерываний mov al,80h ;Запрет NMI mov dx,70h out dx,al lgdt gdtr ;Загружаем GDTR mov eax,cr0 ;Переключаемся в защищенный режим inc al mov cr0,eax db 0EAh ;Дальний JMP для загрузки CS селектором dw offset protect dw 08h protect: mov ax,10h ;Загружаем FS в защищенном режиме mov fs,ax mov eax,cr0 ;Идем назад в реальный режим dec al mov cr0,eax db 0EAh dw offset real dw code real: ;Открываем вентиль GateA20 mov dx,92h in al,dx or al,2 out dx,al mov ecx,1048576 ;Начальное значение счетчика - 1 Мегабайт mov al,0AAh ;Тестовое значение count: mov dl,byte ptr fs: ;Сохраняем старое значение по адресу mov byte ptr fs:,al ;пишем туда тестовое mov al,byte ptr fs: ;читаем с того же адреса mov byte ptr fs:,dl ;востанавливаем старое значение cmp al,0AAh ;прочитали то что записали? jnz exit ;Нет - такого адреса физически не существует inc ecx ;Да - увеличиваем счетчик и повторяем все еще раз jmp count exit: ;Разрешить прерывания mov al,0 mov dx,70h out dx,al sti mov dx,92h ;Закрыть вентиль A20 in al,dx and al,0FDh out dx,al mov ax,cx ;процеруда преобразования числа в строку требует shr ecx,16 ;чтобы значение располагалось в DX:AX mov dx,cx ;Преобразуем DX:AX=ECX push ds pop es lea di,string add di,18 ;пропускаем строку "Memory available" call DwordToStr ;преобразование в символьную форму mov ah,9 mov dx,offset string ;вывод int 21h mov ax,4c00h ;Завершение работы int 21h code ends end start

После запуска программы следует немного подождать, примерно в 2 раза больше времени, чем то время, за которое считает оперативку BIOS при загрузке.

Есть один способ многократного увеличения скорости программы. Дело в том, что этот исходник считает память с точностью до байта, такая точность вообще говоря не нужна, т.к. размер современной планки памяти не может быть некратным мегабайту, поэтому можно наращивать счетчик сразу прибавляя к нему значение 1048576, чего можно достичь заменив в цикле записи-чтения команду inc ecx на add ecx,1048576.

3) ОБЪЕМ HDD

Детект объема винчестера производится с помощью ATA команды IDENTIFY DEVICE.

Что там к чему, смотрите мою статью «ATA для дZенствующих. Часть 1»

Там же лежит исходник ATA_ID.asm который определяет объем винта..

4) Устройства PCI.

Теперь пришло время препарировать шину PCI.

Сначала введем фундаментальное понятие – конфигурационное пространство PCI (PCI configuration space).

Так называется массив регистров, который имеется у каждого PCI-устройства, через них задаются различные параметры (номера прерываний для устройства и т.д.). Общение с PCI-устройствами происходит в основном через 2 32-битных порта 0CF8h и 0CFCh. Через них можно читать и писать в это самое конфигурационное пространство определенного устройства.

Происходит этот процесс следующим образом:

В регистре 0CF8h задается адрес устройства на шине, после чего из 0CFCh считываются (записываются) данные.

Координаты устройства на шине (формат 0CF8h) выглядят так:

31-й бит показывает достоверность информации в регистре, там должен быть 1.

Bus Number – номер шины PCI. (их вполне может быть несколько, например порт AGP использует не ту шину, к которой подключены слоты PCI).

Device Number – номер устройства на шине

Function Number – номер функции устройства (здесь надо немного определится с терминологией, дело в том что под функцией и подразумевается собственно устройство, тогда так под устройством (device) подразумевается абонент шины, то есть, если, например, есть карта в которой совмещены 2 каких-либо устройства, то она будет восприниматься как одно устройство с двумя функциями, причем даже такое «однофункциональное» устройство как видеокарта может иметь множество функций). Это деление на устройства и функции в большинстве случаев чисто логическое, «основное» устройство соответствует функции 0.

Register Number – номер регистра конфигурационного пространства который следует прочитать (записать). (Вообще используется все поле до 0-го бита, но поскольку обмен производится двойными словами (4 байта) то получается что младшие 2 бита всегда нулевые).

Нас сейчас интересует, как можно узнать тип и производителя устройства. Посмотрим на карту конфигурационного пространства:

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

VendorID – код производителя.

DeviceID – код устройства.

Пришло время ответить на очень важный вопрос «А что, если прочитать что-то из конфигурационного пространства реально несуществующего устройства?»

Ответ: прочитается специально зарезервированное для этой цели значение 0FFFFFFFFh (хотя если это делать под win то ОС может подставить туда все что угодно).

Из этого всего можно сделать такой вывод: чтобы найти все устройства нужно в цикле (изменяя Bus от нуля до 255, dev от 0 до 31, func от нуля до 7) читать их конфигурационные простраства, если прочиталось 0FFFFFFFFh значит устройства нет, если же прочиталось что-то другое – устройство присутствует.

Вот пример процедуры читающей из конфигурационного пространства PCI.

Номер функции задается в BL, номер устройства в BH, функция в CL, и смещение (номер регистра) в CH.

;BL - bus, BH - device, CL - function, CH - register RD_PCI PROC NEAR mov dx,0CF8h xor eax,eax mov al,bl or ah,80h ;Бит достоверности в 1 shl eax,16 mov ah,bh shl ah,3 or ah,cl mov al,ch and al,0FCh ;Сбросить 2 младших бита out dx,eax mov dx,0CFCh in eax,dx ret RD_PCI ENDP

А вот как может выглядеть код для нахождения всех устройств:

Mov bl,0;bus mov bh,0;device mov cl,0;function mov ch,0;register label1: call rd_pci ;Читаем регистр cmp eax,0ffffffffh ;Если прочитались все единички - устройства нет jnz device_found ;Если же не все единички - "что-то есть" label2: ;inc cl ;Если этот блок раскомментировать будут выводится не;cmp cl,8 ;только устройства, но и все их функции;jnz label1 ;mov cl,0 inc bh ;Цикл устройств cmp bh,32 jnz label1 mov bh,0 inc bl ;Цикл шин PCI cmp bl,255 jz exit jmp label1 device_found: … ;Преобразование в символьную форму считанных значений и вывод на экран

… ;Преобразование в символьную форму считанных значений и вывод на экран

  1. Вывод строки (CPUID(0)) и определение поддержки MMX,SSE, SSE2. (CPUID.asm)
  2. Определение частоты с помощью RDTSC (CLOCK.asm).
  3. Определение объема оперативной памяти (MEMORY.asm).
  4. Объем HDD в секторах по 512 байт (ATA_ID.asm)
  5. Нахождение и вывод VendorID и DeviceID всех PCI устройств (PCI.asm).
  6. TXT-файл по которому нужно расшифровывать VendorID и DeviceID (PCIDEVS.TXT).

Если возникнут какие-либо проблемы – пишите [email protected]

Публикации по теме