Текст книги "Аппаратные средства персональных компьютеров"
Автор книги: Валентин Соломенчук
Жанр: Компьютерное Железо, Компьютеры
сообщить о неприемлемом содержимом
Текущая страница: 14 (всего у книги 34 страниц)
Чипсеты
Для того чтобы процессор в персональном компьютере мог работать в полную силу, ему требуется помощь от специализированных микросхем, которые берут на себя рутинную работу с оперативной памятью и периферийными устройствами. Комплект таких вспомогательных микросхем носит название чипсет. Для каждого класса процессоров разрабатывается свой набор чипсетов, имеющий буквенно-цифровой индекс с весьма запутанным принципом классификации.
Для старых типов процессоров разнообразие чипсетов не было слишком большим, и их параметры не особенно различались. Сегодня, с ростом частоты системной шины, частоты работы ядра процессора и многообразия типов оперативной памяти ситуация несколько изменилась. Не каждый чипсет будет поддерживать всевозможные конфигурации вашего компьютера, а при неудачной комплектации производительность компьютера может быть весьма далекой от желаемой. Кроме того, чипсеты производит не только корпорация Intel, а еще ряд фирм. Соответственно, возникающее многообразие приводит к проблемам при самостоятельной сборке компьютера из-за неизбежной разницы между чипсетами конкурирующих фирм. К счастью, в большинстве случаев можно ориентироваться на чипсеты Intel, которые являются образцом для подражания, хотя, как показывает практика, чипсеты других фирм часто имеют более заманчивые параметры.
Достаточно сложно описать все типы выпускаемых чипсетов и показать их отличительные черты, поэтому ниже приводятся сведения о наиболее популярных сериях для процессоров линейки Pentium.
Для процессоров первых поколений Pentium предназначены чипсеты, перечисленные в табл. 4.6. Эта таблица поможет подобрать тип модулей памяти и оптимизировать для них BIOS. Отметим, что с внешним кэшем все наборы работают по диаграмме 3-1-1-1.
Таблица 4.6. Серия чипсетов семейства 430 корпорации Intel
Для процессоров Pentium II, III и Celeron корпорацией Intel выпускались чипсеты семейства 440 (табл. 4.7), которые до сих пор используются во многих компьютерах. Особенно популярным стал чипсет 440 ВХ, который устойчиво работает с процессорами на тактовой частоте до 1 ГГц, хотя, увы, не поддерживает высокопроизводительные режимы работы интерфейса IDE и память DDR.
Таблица 4.7. Серия чипсетов 440 корпорации Intel
В дальнейшем корпорацией Intel выпускались чипсеты 810, 815 820 и 840, которые позволяли иметь интегрированную на системной плате подсистемы звука и сети Ethernet.
Для процессоров Pentium 4 выпущено несколько типов чипсетов, каждый из которых имеет свои достоинства и недостатки. Но, видимо, наиболее популярным станет серия чипсетов 845, которые поддерживают дешевую память DDR. Правда, как будут развиваться события дальше, сказать трудно, т. к. новые чипсеты появляются чуть ли не каждый месяц.
Следует отметить, что для процессоров Athlon и Duron выпускаются свои типы чипсетов.
В заключение надо сказать, что в России очень популярны системные платы с чипсетами SIS, ALI и VIA.
Крепление системной платы
К великому удивлению человека, который первый раз захочет снять или установить системную плату, окажется, что позиции ее точек крепления не поддаются разумному объяснению. Увы, в этом случае мы опять имеем дело со стандартом de-facto. Места крепления системных плат закрепились на основе ранее выпущенных плат. На рис. 4.21 показан схематический план точек крепления, которого придерживаются большинство производителей. Обратите внимание, что на этом рисунке указаны точки для трех форм-факторов системных плат.
Рис. 4.21. Стандартные точки крепления системных плат
Для крепления системной платы используют металлические шестигранники (рис. 4.22) и пластмассовые стойки с отгибающимися усиками (рис. 4.23). Следует обратить внимание, что металлические стойки используются, в основном, для крепления системной платы в точках В и С, где создается заземление на корпус компьютера. Для всех остальных точек используются пластмассовые стойки. Если надо увеличить жесткость конструкции, то применяют металлические шестигранники с пластмассовыми шайбами.
Рис. 4.22. Крепление платы с помощью металлических шестигранников
Рис. 4.23. Крепление платы с помощью пластмассовых стоек
Для того чтобы вытащить системную плату из корпуса компьютера, следует с помощью отвертки открутить винты, крепящие плату к шестигранникам. После этого сдвинуть плату влево, если смотреть спереди, и вытащить ее из корпуса. Пластмассовые стойки останутся в отверстиях системной платы. На рис. 4.24 приведены фотографии пластмассовых стоек, которые применяются в компьютерах.
Рис. 4.24. Пластмассовые стойки для крепления системной платы
Глава 5
BIOS
Каким бы ни было замечательным компьютерное «железо» – «умным» и многофункциональным – без программного обеспечения оно представляет собой просто набор механических и электронных компонентов, которые ничего не умеют и не знают. Для активизации всех узлов компьютера всегда используются специальные программы, которые знают, как инициализируется то или иное установленное в компьютере устройство. Конкретная программа может быть очень короткой, например парой строк для активизации устройства, или очень большой и сложной, производящей тестирование устройства, настройку под окружающие элементы и даже интерактивное общение с пользователем, скажем, для выбора той или иной полезной функции.
В персональном компьютере все основные программы, предназначенные для начального "оживления", собраны в универсальную программу, которая записана в постоянном запоминающем устройстве, носящем название ROM BIOS или, проще, BIOS – Basic Input/Output System (базовая система ввода/вывода). Объем современной BIOS не менее 1–2 Мбайт.
Традиционно все программы, записанные в микросхеме BIOS, можно разделить по выполнению следующих функций:
• инициализация и начальное тестирование всех основных (стандартных) узлов компьютера – расположенных на системной плате, подключенных к шине IDE и вставленных в слоты расширения. Для этого используется программа POST (Power On Self Test), также записанная в микросхеме BIOS. Отметим, что "нестандартные" платы расширения, например старые интерфейсы сканеров не тестируются;
• загрузка операционной системы с внешнего устройства – гибкого диска, винчестера, компакт-диска или ПЗУ сетевой карты. В самых первых персональных компьютерах был вариант, когда можно было загрузить интерпретатор языка Basic, который находился в дополнительной микросхеме ПЗУ;
• обслуживание аппаратных прерываний, например, от клавиатуры и таймера, обработка программных прерываний BIOS, которые предназначены для управления обменом данными между операционной системой компьютера и подключенными к нему периферийными устройствами, выполнение базовых функций, например, вывод на экран монитора символов и работа с дисковыми устройствами;
• настройка и конфигурирование узлов системной платы и устройств, подключенных к ней, что выполняется с помощью программы BIOS Setup.
Примечание
Практически всегда мы пользуемся BIOS, которую разработала одна из трех фирм – AMI (http://www.megatrends.com), Award[8]8
Компания Award в настоящее время принадлежит Phoenix.
[Закрыть] и Phoenix (http://www.phoenIx.com). Производители системных плат не разрабатывают сами программное обеспечение для своих изделий, а лишь иногда дорабатывают стандартную BIOS для конкретной платы. Например, в России фирма Ramec устанавливает в свои компьютеры русифицированную версию BIOS.
Предупреждение
На сайтах производителей системных плат доступны обновления BIOS, которые пользователь может скачать и самостоятельно установить. Но следует сказать, что подобную операцию следует делать только в том случае, когда это жизненно необходимо, например, требуется поддержка нового процессора или интерфейса, или надо исправить ошибку BIOS (фактически, это означает, что невозможна эксплуатация системной платы с тем набором элементов, которые есть в наличии у пользователя). В остальных случаях данная операция более чем рискованна, т. к. велика вероятность неправильной прошивки BIOS, что не всегда возможно исправить без помощи сервисного центра производителя.
Инициализация
После включения питания или нажатия кнопки Reset у компьютера на адресной шине системной платы аппаратно устанавливается адрес точки входа в программу BIOS, которая в момент старта находится в самых старших ячейках адресуемой памяти. Например, в процессорах 8086/8088 по возникновении сигнала reset прекращаются все текущие процедуры, а по окончании действия этого сигнала управление передается инструкции по адресу 0FFFF0h, в процессорах 386 – по адресу 0FFFFFF0h и т. д.
Следует заметить, что первоначальный адрес загрузки искусственно формируется чипсетом системной платы, который принудительно устанавливает все адресные линии, кроме первых четырех, в единичное состояние. После передачи управления BIOS точка входа становится доступной по стандартному адресу 0FFFF0h, где ею может воспользоваться любая программа.
Раскроем смысл вышесказанного – разработчики IBM PC совместимых компьютеров всегда вынуждены оглядываться на самый первый персональный компьютер IBM PC. В нем стандартное место BIOS, как и у всех остальных потомков, находится в области по адресам от 0F0000h до 0FFFFFh. Соответственно, приходится вынужденно создавать условия, чтобы образ BIOS отображался в двух местах – в стандартном для IBM PC и в конце возможной физической памяти. (В ряде BIOS имеется возможность указать, что он находится под границей 16 Мбайт, что приводит к невозможности использования более 16 Мбайт ОЗУ.)
Сама точка входа представляет собой занимающую пять ячеек памяти (один байт – команда и 4 байта – адрес) команду дальнего безусловного перехода (JMP-адрес) на подпрограмму начального запуска компьютера.
Кроме стандартной точки старта системы, в BIOS определено еще несколько ячеек памяти, в которых всегда записывается вполне определенная информация (см. табл. 5.1). Из них наиболее важные ячейки находятся в самом начале и конце BIOS – признаки корректных данных в ПЗУ. В начале идут два байта с содержимым 55AAh, а в конце – число 0, которое должно получиться, если сложить значения всех байтов в ПЗУ (по модулю 256). Точно такими же признаками должны обладать и другие ПЗУ, которые могут быть установлены на платах расширения, например, видеоадаптера и сетевой платы.
Примечание
В персональных компьютерах с процессорами х86 принято, что данные из памяти читаются словами длиною два байта, причем первый байт – это младшая часть 16-разрядного слова, а второй байт – его старшая часть. То есть ячейки чередуются как 2, 1, 4, 3 и т. д. При этом следует помнить, что программисты стараются выравнивать данные и код по четным адресам, по границе 16-байтных параграфов и 64-килобайтных сегментов, что позволяет ускорить работу программ. Конечно, всегда можно прочитать или записать одиночный байт или бит, но этот режим не является оптимальным для процессора, памяти и чипсета. Заметим, что другие процессоры не придерживаются такого способа адресации.
Например, после начала работы программ BIOS проверяется наличие ПЗУ видеоадаптера (установлен ли видеоадаптер), и, если оно есть, управление передается программе, записанной в нем. После инициализации видеоподсистемы управление вновь возвращается программам BIOS. При наличии ПЗУ на сетевой плате дисковой станции после отработки всех стартовых программ управление передается программе, записанной в этом ПЗУ. Причем присутствие ПЗУ и возможность передачи управления проверяются по первым двум байтам и нулевой контрольной сумме.
Примечание
Стандартная статическая память CMOS имеет 64 регистра, к которым обращаются по адресам ввода/вывода от 0 до 3Fh. При выключении питания ячейки памяти питаются от батареи напряжением 3 В, которая установлена на системной плате. В CMOS хранится конфигурация компьютера и текущее системное время.
Так как микросхемы постоянной памяти, которые предназначены для хранения кода BIOS, отличаются неторопливостью, то для увеличения быстродействия компьютера пользователь может разрешить использование теневой памяти (Shadow RAM) – при этом код BIOS переписывается в ОЗУ, и все последующие обращения к микросхеме BIOS перенаправляются к соответствующей области ОЗУ (для программ адреса ячеек памяти в BIOS остаются неизменными, но сам код перемещается за пределы 1 Мбайт).
Таблица 5.1. Фиксированные ячейки BIOS
Ресурсы BIOS
Программы, находящиеся в BIOS, используют ряд ресурсов компьютера для хранения данных, полученных в ходе инициализации оборудования, тестирования и для работы служебных подпрограмм. На рис. 5.1 показано распределение оперативной памяти компьютера PC.
Рис. 5.1. Распределение адресного пространства ОЗУ для компьютера IBM PC
Наиболее важная служебная зона адресов размером в 1 Кбайт начинается с нулевого адреса. В ней находятся векторы аппаратных и программных прерываний, с которыми работают процессор и программное обеспечение. Сами векторы представляют собой инструкцию безусловного перехода[9]9
Вместо инструкции безусловного перехода JMP может содержаться команда iret, которая является командой возврата. То есть при вызове прерывания не будет выполняться никакая подпрограмма.
[Закрыть] на подпрограмму обработки прерывания. Каждый вектор занимает 4 байта, соответственно, всего может быть всего 256 прерываний.
С прерываниями связана одна из проблем персональных компьютеров, которая осложняет жизнь системным программистам. Дело в том, что зону векторов, расположенную с нулевого адреса, используют как сами процессоры семейства х86, так и различные устройства компьютера, в чем виноваты разработчики IBM PC. Вначале это не особенно осложняло жизнь программистам, поскольку у процессора было не так много аппаратных прерываний, но в дальнейшем, по мере совершенствования процессоров, 256 векторов стало маловато.
Ниже, только для иллюстрации использования таблицы векторов приведено назначение нескольких прерываний компьютера IBM PC AT (для современных процессоров назначение ряда векторов несколько иное):
• INT 00h – деление на 0;
• INT 01h – пошаговый режим;
• INT 02h – немаскируемое прерывание;
• INT 03h – точка останова;
• INT 04h – переполнение;
• INT 08h – таймер;
• INT 09h – клавиатура;
• INT 33h – поддержка мыши;
• INT 4Ah – будильник пользователя.
После зоны векторов прерываний идет область, называемая BIOS Data Area, где размещаются данные, полученные в ходе тестирования оборудования, буфера системных устройств, например буфер клавиатуры, и различные служебные регистры. Эта область данных имеет размер не менее 256 байтов и начинается с адреса[10]10
Различное представление одного и того же адреса связано с сегментацией памяти на сегменты размером в 64 Кбайт. Левая часть адреса указывает число 16-байтных параграфов. Для получения адреса в традиционном виде нужно к левой части справа добавить ноль и сложить обе части.
Буква «h» указывает, что для представления числа используется 16-разрядная система счисления. То же, когда число начинается с символов "0x".
[Закрыть] 0000:0400h или 0040:0000h. Назначение наиболее интересных для пользователя зон в области BIOS Data Area приведено в табл. 5.2.
Таблица 5.2. Назначение ячеек BIOS Data Area
Для работы с видеоадаптером BIOS использует область видеопамяти, расположенную выше 640 Кбайт. Видеопамять занимает 128 Кбайт, начиная с адреса AOOOOh и до COOOOh, но для конкретного режима работы видеоадаптера (монитора) используется строго определенная часть памяти. Например, в текстовом режиме могут использоваться только 4 Кбайт (см. гл. 12).
Распределение памятиВ персональных компьютерах традиционно принято два основных способа распределения оперативной памяти.
Первый способ, который начинает свой путь от IBM PC, когда даже 512 Кбайт оперативной памяти было чрезвычайно много, делит всю память на ряд небольших областей. Причем такой принцип остается даже у современных компьютеров в момент первоначальной работы BIOS и при переходе процессора в реальный режим, который характеризуется возможностью использования только 1 Мбайт памяти.
Второй способ реализуется, когда процессор переключается в защищенный режим и использует линейную модель памяти. Для разных поколений процессоров имеются некоторые различия, но надо учитывать, что современный процессор считает, что физическая память не имеет сегментации[11]11
Для каждой программы, которая запускается в защищенном режиме, выделяется свой кусочек физической памяти, который может произвольным образом располагаться в адресном пространстве.
[Закрыть].
На рис. 5.1 указаны названия различных областей памяти, которые используются процессором для тех или иных целей в реальном режиме, например, под управлением MS-DOS. Данное распределение является стандартным для многих операционных систем, особенно разработанных корпорацией Microsoft.
Основная часть ОЗУ (в пределах первого мегабайта, от 0 до начала видеопамяти) размером в 640 Кбайт называется стандартной памятью (Conventional Memory). Она используется для размещения кода программ, запущенных пользователем или операционной системой. В ней также хранятся различные данные, необходимые для работы программ.
За пределами 1 Мбайт существует область памяти НМА (High Memory Area), которая появилась из-за ошибки в процессоре 286. Эти дополнительные 64 Кбайт, если загружен драйвер HIMEM.EXE, можно использовать для хранения кода и данных любой программы. Правда, чаще всего этот подарок программистам и пользователям занимается под размещение резидентной части операционной системы и различных драйверов. Пользователь может самостоятельно указать, какие программы должны загружаться в эту память, например, корректируя системные файлы операционной системы MS-DOS – AUTOEXEC.BAT и CONFIG.SYS.
Между верхней границей стандартной памяти и до конца первого мегабайта существует область UMA (Upper Memoiy Area) размером 384 Кбайт, в которой расположены видеопамять, адресное пространство ПЗУ видеоадаптера и BIOS (а также ПЗУ других внешних устройств). Это пространство между верхней границей ПЗУ видеоадаптера и до начала BIOS, т. е. от C8000h до FOOOOh, у стандартного персонального компьютера почти всегда не занято. Чтобы использовать свободную часть этой памяти, например для размещения кода операционной системы, используют драйвер EMM386.EXE. Соответственно, надо указать в файлах AUTOEXEC.BAT и CONFIG.SYS, что пользователь разрешил использовать эту память.
Оперативная память за пределами 1 Мбайт и до верхней границы адресуемой памяти имеет название XMS (extended Memoiy Specification). Процессор, работающий в реальном режиме, обратиться к этой памяти может только используя метод EMS[12]12
Названия «Extended Memory Specification» и «Expanded Memory Specification» настолько похожи, что существовали правила, как запомнить, что к чему относится.
[Закрыть] (Expanded Memoiy Specification). Суть метода в том, что в области UMA выделяется окно размером 64 Кбайт, разделенное на четыре страницы по 16 Кбайт. Специальный драйвер отображает произвольный кусочек физической памяти на эти страницы, из-за чего, кстати, эту память еще называют «отображаемой памятью».
Программа POST
При включении компьютера и при перезагрузке операционной системы BIOS проверяет флаги условий, при которых произошло данное событие. Если состояние флагов говорит о том, что производится начальный старт компьютера, то первой из комплекта BIOS запускается программа POST (Power On Self Test), которая инициализирует и тестирует аппаратные средства компьютера, определяя его конфигурацию и исправность всех основных узлов.
Обязательные и наиболее важные этапы – это тестирование регистров процессора и оперативной памяти (особенно первых 64 Кбайт, где размещаются служебные регистры), т. к. при ошибках работы процессора или служебной зоны памяти остальное тестирование узлов компьютера не имеет смысла. После этого тестируются остальные ресурсы. Для примера ниже приведен краткий перечень шагов программы POST:
1. Проверка регистров процессора.
2. Проверка контрольной суммы BIOS.
3. Проверка таймера.
4. Проверка контроллеров DMA.
5. Проверка регенерации памяти и тестирование первых 64 Кбайт.
6. Проверка интерфейса клавиатуры.
7. Инициализация контроллера прерываний и установка векторов.
8. Проверка батареи и контрольной суммы CMOS.
9. Проверка защищенного режима.
10. Получение конфигурации из CMOS.
11. Проверка видеоадаптера.
12. Проверка контроллера прерываний.
13. Проверка клавиатуры.
14. Тест памяти от 64 до 640 Кбайт.
15. Тест памяти свыше 1 Мбайт.
При обнаружении какой-либо ошибки при тестировании аппаратуры BIOS информирует пользователя о неприятном событии звуковым сигналом или выводом текстового сообщения. Традиционно, если еще не активизирован и не протестирован видеоадаптер, пользователь информируется об ошибке набором звуковых сигналов, которые издает динамик, установленный в корпусе системного блока. Звуковые сигналы фатальных ошибок, при которых тестирование прекращается, а процессор переходит в режим останова, приведены в табл. 5.3 и 5.5. Если обнаруженная ошибка не является фатальной, например, села батарейка питания CMOS, после выдачи звукового сигнала (табл. 5.4 и 5.6) процесс тестирования продолжается.
Если к моменту обнаружения ошибки видеоадаптер работает, то на экран монитора выводятся код ошибки, например 101 или 1791, и краткое описание на английском языке. Обычно это ошибки, связанные с проблемами, которые не позволят загрузить операционную систему, например, не детектируется винчестер, хотя возможны и фатальные ошибки, связанные с неисправностью блоков на системной плате. Так как привести даже краткий перечень сообщений об основных ошибках невозможно из-за его обширности, то пользователю рекомендуется внимательно прочитать сообщение, записать его на бумаге, и, если самостоятельно не удастся решить проблему, обратиться к специалистам.
Когда процесс тестирования оборудования доходит до момента вывода на экран монитора сообщений, с помощью которых пользователь может следить за процессом работы программы POST, внизу экрана монитора появляется информационная строка, в которой содержится подсказка о том, как перейти в режим BIOS Setup (программы конфигурации оборудования и BIOS), например:
Press <DEL> if you want to run Setup
или
Press <Ctrl><Alt><Esc> if you want to run Setup
Таблица 5.3. Звуковые коды AMI BIOS при фатальных ошибках аппаратуры
Таблица 5.4. Звуковые коды AMI BIOS при нефатальных ошибках аппаратуры
Таблица 5.5. Звуковые коды Phoenix BIOS при фатальных ошибках аппаратуры
Таблица 5.6. Звуковые коды Phoenix BIOS при нефатальных ошибках аппаратуры
Правообладателям!
Это произведение, предположительно, находится в статусе 'public domain'. Если это не так и размещение материала нарушает чьи-либо права, то сообщите нам об этом.