Template by:
Free Blog Templates

понедельник, 29 сентября 2008 г.

Выбор системной платы. Часть 2

Совет
Довольно трудно найти системную плату, обладающую всеми нужными вам свойствами, в бесконечном потоке производимых аппаратных компонентов. Поэтому обратите внимание на поисковый сервер Motherboard Homeworld's Mobot, который позволит найти наиболее подходящую плату на основании выбранных формфактора системной платы, платформы, набора микросхем, процессора, производителя, типа модулей памяти и разъемов, встроенных портов и т. п. Убедитесь в этом сами, обратившись по адресу: http://iceberg.pchomeworld.com/cgi-win/ mobotGen/mobot.asp.
-Документация. Системные платы должны непременно сопровождаться подробной технической документацией, описывающей все имеющиеся на плате перемычки и переключатели, разводки контактов всех разъемов, параметры микросхем кэшпамяти, модулей SIMM, DIMM, RIMM и прочих заменяемых элементов, а также содержащей другую необходимую информацию. Имеет смысл разыскать документацию к BIOS, установленной в компьютере, а также справочную информацию обо всех имеющихся на системной плате микросхемах. Кроме того, неплохо было бы получить справочную информацию о микросхемах контроллеров и ввода-вывода.
На первый взгляд может показаться, что эти требования слишком строги и большинство имеющихся в продаже системных плат не удовлетворяют им (включая и ту, которая уже установлена в вашем компьютере!). Однако, придерживаясь всех этих критериев, вы сможете выбрать системную плату наивысшего качества, сделанную по последнему слову компьютерной технологии, которую можно будет модернизировать и расширять в течение многих лет. Советую приобретать системные платы таких известных компаний, как ASUS, MSI, Gigabyte и т. п. И хотя они могут стоить несколько дороже других, известная марка придаст вам некоторую уверенность: ведь, чем больше плат продает компания, тем выше вероятность того, что имевшиеся недостатки уже обнаружены и устранены. Кроме того, техническую поддержку легче получить у крупных производителей.
Оптимальное соотношение быстродействия компонентов
Некоторые производители совместимых компьютеров для экономии средств применяют нестандартные компоненты. Самым дорогостоящим элементом системной платы является процессор. В связи с тем, что платы часто поставляются без процессоров, компании-сборщики устанавливают в них микросхемы с меньшим быстродействием. Например, компьютер может быть продан как работающий с тактовой частотой 3600 МГц, но на самом деле в нем установлен процессор, рассчитанный на 3000 МГц. Даже если компьютер будет работать нормально, то надолго ли это? Когда процессор работает на частоте, превышающей номинальную, он перегревается, что может привести к зависаниям, сбоям и т. д. Поэтому лучше не приобретать компьютеров, тактовая частота которых превышает номинальную частоту используемых элементов.
Искушению приобрести такой компьютер легко поддаться, так как "быстрые" микросхемы стоят дороже, а Intel и другие производители маркируют процессоры "с запасом". Я вполне мог бы купить компьютер с процессором Pentium 2.8 МГц и попытаться заставить его работать с тактовой частотой 3.4-3.6 МГц. Если бы я обнаружил, что он зависает или сбоит, то немедленно вернул бы его в исходное состояние. Но, покупая систему, рассчитанную на частоту 3.6 ГГц, я вправе требовать, чтобы все ее детали были рассчитаны именно на 3.6, а не на меньшее число мегагерц.
Чтобы положить конец порочной практике разгона, Intel стала встраивать защиту от него в свои процессоры. Такие процессоры не будут работать на повышенной частоте. (Но они смогут работать на более низких частотах.)
Необходимо предупредить, что маркировку микросхем AMD и Cyrix ( до 2002) легко стереть. Поскольку большинство микросхем AMD могут хорошо работать и на повышенных частотах, бывали случаи их перемаркировки.
Замечание
Будьте осторожны, определяя скорость процессора с помощью тестовых программ! Большая часть из них может показать только ту частоту, на которой он работает в данный момент, но не ту, на которую он рассчитан.
Не смотрите также на индикатор частоты на передней панели корпуса. Эти цифровые индикаторы можно заставить показывать все, что угодно! Их показания не имеют отношения к действительной частоте системы.
Гораздо лучше воспользоваться программой Norton Utilities фирмы Symantec, которая может читать идентификатор процессора и номер изменения.

воскресенье, 28 сентября 2008 г.

Выбор системной платы. Часть 1


Многие пользователи при выборе системных плат руководствуются информацией из журнальных обзоров или, что еще хуже, чьими-то соображениями.
Ими стоит пользоваться, чтоб быть в курсе о новинках и цене компонентов, но не стоит свято верить сказанному в журналах. Да, есть хорошие журналы, которые довольно неплохо оценивают и производительность компонентов и соотношение стоимость-качество, но стоит также и самому знать на что именно стоит обратить внимание и менно вам, так как только вы знаете чего хотите от системы, бюджет и т.д. Чтобы исключить такие случайные факторы, как чьи-то соображения, ниже приведен список компонентов и критериев выбора компьютера. В нем учтено несколько важных критериев, отсутствующих в большинстве подобных списков и гарантирующих, что выбранная модель будет действительно совместимой и ее можно модернизировать.
Выбирая плату, внимательно рассмотрите ее со всех сторон. Не забудьте о технической поддержке на профессиональном (а не на пользовательском) уровне. Будет ли обеспечена такая поддержка? Есть ли документация и все ли она охватывает?
Перечисленными ниже компонентами и критериями можно руководствоваться при оценке любого PC-совместимого компьютера. Рассматривая конкретный компьютер, не следует рассчитывать, что он будет удовлетворять буквально всем этим требованиям. Но если он не удовлетворяет многим из них, держитесь от него подальше. Несколько первых пунктов наиболее критичны (хотя я считаю, что все они одинаково важны!).
- Наборы микросхем системной платы. Системные платы должны использовать высокоэффективный набор микросхем системной логики, поддерживающий модули DIMM SDRAM или RIMM RDRAM (предпочтительно те, в которых применяются коды коррекции ошибок). Кроме этого, обязательна поддержка PCI-express (для любителей поиграть, нужно два тиких разъема работающих в режимах х16 на х16 в идеале, или х16 на х8 или х4. Два разъема нужны в случае, если вы захотите использовать две видеокарты) и интерфейсов ATA, SATA. Наборы микросхем являются основой системы и, вероятно, одним из ее наиболее важных элементов. Я трачу довольно много времени, решая, какой из наборов микросхем следует ввести в собираемую систему, поскольку используемые наборы влияют практически на все системные компоненты.
- Процессор. В современных системах обычно используется "гнездовая" конструкция процессора со встроенной кэш-памятью второго уровня. Оцените параметры существующих процессоров и выберите из их числа процессор, шина которого имеет наибольшую частоту(но если вы оверклокер,то тут дело обстоит немного иначе. Смотрите раздел разгона). Не забывайте также о размерах кэша второго уровня; недостаточный объем кэш-памяти снижает производительность процессора. Не менее важно, чтобы кэш-память работала на полной частоте ядра (обычно это относится ко встроенной кэш-памяти). Перечисленным критериям полностью соответствуют более поздние версии процессоров Core2Duo, Core Quad и т.д, подробнее расскажу о каждом с них, может это вам поможет выбрать систему. Обычно рекомендуются только "боксированные" процессоры компаний Intel или AMD, которые включают в себя высококачественный активный теплоотвод, а также обеспечиваются инструкциями по установке и гарантией со стороны непосредственного изготовителя.
- Установочное гнездо процессора. Наиболее приемлемым вариантом с позиции максимальной расширяемости и производительности являются системы, использующие для установки процессоров разъемы гнездового типа. Сегодня используются в основном разъемы S775 для процессоров Intel и AM2 для AMD . Если выбранная системная плата содержит один из этих разъемов, значит, вы не прогадали.
- Быстродействие системной платы. Существует обычно определенный диапазон частот для системных плат того или иного типа, включающий, например, частоты от 66 до 266 МГц для системных плат на базе процессоров Celeron/Pentium III, 200/266 МГц для системных плат Duron/Athlon или 400/533 МГц для системных плат Pentium 4 или 1ГГц для Core2Duo\Quad Перед приобретением системной платы убедитесь, что ее частота достаточна для поддержки процессора, который будет на ней установлен.
- Кэш-память. Во всех современных системах используются процессоры с интегральной кэш-памятью, встроенной непосредственно в кристалл процессора, что позволяет достичь максимальной частоты кэш-памяти. В сущности, в современных компьютерах кэш-память практически исчезла с системных плат. Убедитесь в том, что процессор содержит встроенную кэш-память второго уровня, частота которой равна полной частоте ядра, так как подобное соотношение частот предполагает максимальное быстродействие процессора. Все современные процессоры в настоящее время содержат встроенную кэш-память второго уровня.
- Модули памяти SIMM/DIMM/RIMM. Модули памяти SIMM по сегодняшним стандартам устарели, поэтому держитесь подальше от системных плат, использующих эти модули. Системная плата должна поддерживать стандарты DDR DIMM или RIMM, которые содержат SDRAM, DDR SDRAM или RDRAM. Выбор модулей памяти зависит главным образом от набора микросхем системной платы, поэтому выбирайте плату и набор микросхем системной логики, поддерживающие тот тип памяти, которым вы собираетесь воспользоваться. В настоящее время DDR SDRAM, DDR2, DDR3 и RDRAM представляют собой наиболее быстрые типы памяти, причем RDRAM является более дорогой.
В системах, используемых для выполнения ответственных заданий, применяется память с коррекцией ошибок (ЕСС), поэтому убедитесь в том, что системная плата полностью поддерживает ЕСС. Обратите внимание, что многие наборы микросхем низшего класса, например Intel 810/815, не поддерживают код коррекции ошибок, следовательно, их применение ограничено. Это необходимо учитывать перед приобретением системы.
В заключение следует заметить, что большинство системных плат поддерживают три-четыре (не пугайтесь если 6) разъема DIMM или два-три разъема RIMM. Устанавливайте модули памяти таким образом, чтобы их не пришлось удалять при модернизации системы, а значит берите модули памяти большего обьема, скажем если есть возмодность, то лучше брать вместо двух планок по 1024МВ одну на 2048МВ.
-Тип шины. Современные системные платы обычно не имеют слотов шины ISA. Вместо этого увеличивается число разъемов локальной шины PCI (пять и более). Убедитесь, что шина PCI удовлетворяет спецификации PCI 2.1 и выше. Обратите внимание на расположение разъемов, чтобы удостовериться, что вставленные в них платы расширения не блокируют доступ к разъемам памяти и сами не заблокированы другими компонентами. Во всех современных системных платах должна быть установлена шина PCI-express. В случае использования двух видеокарт(2хPCI-express), скорее всего одним или двумя разъемами PCI прийдется пожертвовать, так как видеокарта, точнее ее система охлаждения может их закрыть.Существует несколько моделей плат, содержащих разъемы AMR (Audio Modem Riser) или CNR (Communications Networking Riser), предназначенные для установки специальных плат, используемых в качестве модема или обеспечивающих аналогичные возможности.
-BIOS. В системных платах должна использоваться стандартная программа BIOS компаний AMI, Award или Phoenix. Для упрощения модернизации BIOS должна быть записана в микросхемах Flash-ROM или EEPROM и поддерживать технологию Plug and Play, Enhanced IDE или Fast ATA, дисководы LS-120 и загрузку с накопителя CD-ROM. В BIOS должны поддерживаться системы управления питанием APM (Advanced Power Management) или ACPI (Advanced Configuration and Power Interface).
- Формфактор. Лучше всего использовать один из формфакторов семейства ATX, имеющий значительные преимущества перед Baby-AT и LPX. Кроме этого, для дешевых настольных компьютеров предназначен формфактор NLX, разработанный Intel.
- Встроенные интерфейсы. В идеальном варианте системная плата должна иметь как можно больше встроенных стандартных контроллеров и интерфейсов (за исключением, возможно, видеоадаптеров). Наметилась тенденция к использованию нестандартных систем, не содержащих компонент Super I/O и, следовательно, имеющих для внешнего расширения только порты USB. В системах подобного рода отсутствуют обычные порты мыши и клавиатуры, последовательные и параллельные порты и даже, вероятно, внутренний контроллер дисковода для гибких дисков. Стандартный интерфейс характерен для систем, использующих встроенную микросхему Super I/O.
Также достаточно удобны встроенные сетевые адаптеры Ethernet 10/100, особенно при использовании кабельного модема или DSL-соединения с Internet. В некоторых ситуациях плюсом можно назвать наличие встроенного видеоадаптера. Оптимальным является видеоадаптер, подключаемый к локальной шине. То же самое можно сказать о встроенных звуковых платах. Обычно они поддерживают основные функции и совместимость с платой Sound Blaster, но зачастую не имеют других характеристик, свойственных подключаемым звуковым платам.
-Встроенные интерфейсы IDE. Все системные платы, существующие сегодня на рынке, содержат встроенные интерфейсы IDE, однако далеко не все интерфейсы IDE эквивалентны. Системная плата должна поддерживать, по меньшей мере, частоты UDMA/33 (ATA-33), которые соответствуют реально существующему быстродействию дисководов IDE. Быстродействие UDMA/66 и UDMA/100 превышает фактическую эффективность дисководов, использующих эти стандарты, обеспечивая, таким образом, некоторый запас для будущих дисководов. Для уверенного повышения производительности стоит обратить внимание на системные платы со встроенными контроллерами IDE RAID. При определенной конфигурации системные платы позволяют ускорить операции чтения-записи, выполняя расслоение данных или, напротив, их зеркальное отражение, которое дает возможность повысить надежность системы, использующей два или более идентичных дисковода IDE. Эти системные платы созданы на основе стандартных наборов микросхем, в которые включены дополнительные наборы микросхем RAID, изготовленные компаниями AMI, HighPoint или Promise.
-Управление питанием. Системная плата должна полностью поддерживать все возможности процессоров SL Enhanced с APM (Advanced Power Management) и SMM (System Management Mode), которые позволяют переводить различные узлы компьютера на разные уровни готовности и энергопотребления. Усовершенствованный стандарт для управления питанием называется ACPI (Advanced Configuration and Power Interface). Компьютеры, удовлетворяющие стандарту Energy-Star, в режиме приостановки потребляют меньше 30 Вт электроэнергии.

суббота, 27 сентября 2008 г.

Системные ресурсы.Системы Plug and Play

Эти системы произвели настоящий переворот в современной технологии распределения ресурсов. Впервые они появились на рынке в 1995 году, и в большинстве новых систем используются преимущества этой технологии. Раньше каждый раз при добавлении нового устройства пользователи компьютеров должны были пробираться сквозь "дебри" переключателей и перемычек, а результатом чаще всего были конфликты системных ресурсов и неработающие платы.
Plug and Play нельзя назвать абсолютно новой технологией, ее возможности были реализованы в таких шинах, как MCA и EISA, но в большинстве существующих компьютеров используются другие шины. Однако многие пользователи еще беспокоятся об адресах ввода-вывода, каналах DMA и установках IRQ. Сейчас спецификация Plug and Play применяется в стандартах ISA, PCI, SCSI, IDE и PCMCIA.
Чтобы реализовать возможности Plug and Play, необходимо следующее:
-аппаратные средства поддержки Plug and Play;
-поддержка Plug and Play в BIOS;
поддержка режима Plug and Play операционной системой.
Каждый из этих компонентов должен поддерживать стандарт Plug and Play, т. е. удовлетворять определенным требованиям.

Аппаратные средства
Под аппаратными средствами подразумеваются как компьютеры, так и платы адаптеров. Некоторые пользователи полагают, что в компьютере Plug and Play нельзя использовать старые адаптеры шины ISA. Применять их можно, но, разумеется, преимуществ, которые предоставляет автоматическая конфигурация, уже не будет.
Платы адаптеров Plug and Play информируют системную BIOS и операционную систему о необходимых им ресурсах. В свою очередь, BIOS и операционная система по возможности предотвращают конфликты и передают платам адаптеров информацию о конкретных выделенных ресурсах. После этого плата адаптера автоматически настраивается под эти ресурсы.

Компоненты BIOS
Большинству пользователей придется заменить BIOS или приобрести новые компьютеры с BIOS, поддерживающей стандарт Plug and Play. В совместимую BIOS включено 13 дополнительных системных функций, которые используются операционными системами компьютеров Plug and Play. BIOS, в которой поддерживается технология Plug and Play, разрабатывают такие компании, как Compaq, Intel и Phoenix Technologies.
Возможности Plug and Play в BIOS реализуются в процессе выполнения процедуры POST при включении компьютера. BIOS идентифицирует и определяет расположение плат в разъемах, а также настраивает адаптеры Plug and Play. Эти действия выполняются в несколько этапов.
1. На системной плате и платах адаптеров отключаются настраиваемые узлы.
2. Обнаруживаются все устройства ISA типа Plug and Play.
3. Создается исходная таблица распределения ресурсов: портов, линий IRQ, каналов DMA и памяти.
4. Подключаются устройства ввода-вывода.
5. Осуществляется поиск ROM в устройствах ISA.
6. Выполняется конфигурация устройств программами начальной загрузки, которые затем участвуют в запуске всей системы.
7. Настраиваемым устройствам передается информация о выделенных им ресурсах.
8. Запускается начальный загрузчик.
9. Управление передается операционной системе.

Операционная система
В компьютер можно установить одну из версий Windows 9x/Me/2000/XP. Если вы используете Windows NT 4.0, драйверы Plug and Play, возможно, не будут загружены автоматически. В этом случае драйвер может быть найден на компакт-диске Windows NT 4.0 в папке \DRVLIB\PNPISA. Откройте подходящий для вашего набора микросхем системной логики подкаталог и установите файл PNPISA.INF. В Windows 2000 встроены все необходимые средства для поддержки технологии Plug and Play.
Замечание
Учтите, что технология Plug and Play постоянно совершенствуется. Так, в Windows 95 для ее поддержки требуется BIOS хотя бы версии 1.0а ISA Plug and Play. Если в вашей системе используется устаревшая BIOS, то установите более новую версию.
Операционная система должна сообщить вам о конфликтах, которые не были устранены BIOS. В зависимости от возможностей операционной системы, вы можете настроить параметры адаптеров вручную (с экрана) или выключить компьютер и изменить поло-жение перемычек и переключателей на самих платах. При перезагрузке будет выполнена повторная проверка и выданы сообщения об оставшихся (или новых) конфликтах. После нескольких "заходов" все конфликты, как правило, устраняются.

Системные ресурсы. Как избежать проблем. Часть2

Сетевые адаптеры
Локальные сети приобретают все большую популярность. Стандартная сетевая плата не требует такого количества ресурсов, как платы других устройств, рассмотренных в этом разделе. Обычно это несколько адресов портов ввода-вывода и один канал прерывания. Многие сетевые адаптеры также требуют дополнительных 16 Кбайт свободной верхней памяти, чтобы создать буфер для хранения передаваемой информации. Как и при работе с другими платами, проследите, чтобы все ресурсы были уникальными для этой платы и не использовались совместно с другими устройствами. одно прерывание (IRQ). Это позволяет практически без ограничений подсоединять или отключать устройства от шины USB, не беспокоясь о возможной нехватке или конфликтах существующих ресурсов.
Если вы не применяете никаких устройств USB, отключите порт с помощью программы установки параметров CMOS на системной плате, чтобы освободить IRQ, который использовался этим портом. В будущем, когда на шине USB будут устанавливаться клави-атура, мышь, модемы, принтеры и пр., недостатка в IRQ не будет. Кроме того, разрешению этой проблемы может способствовать и удаление шины ISA.

Другие платы
Некоторые видеоадаптеры поставляются с усовершенствованным программным обеспечением, которое предоставляет дополнительные возможности (например, рабочий стол размером больше экрана), позволяет использовать специальные мониторы, динамически переключать режимы и т. д. К сожалению, зачастую для этого программного обеспечения требуется сконфигурировать плату таким образом, чтобы она использовала прерывание. Советую обходиться без этого ненужного программного обеспечения и конфигурировать плату так, чтобы освободить прерывание для других устройств.
К дополнительным ресурсам можно также отнести декодер MPEG, который работает вместе с обычным графическим адаптером. Этот декодер используется для создания видеофильма, его редактирования или просмотра DVD-фильмов.

Системные ресурсы. Как избежать проблем. Часть2

Сетевые адаптеры
Локальные сети приобретают все большую популярность. Стандартная сетевая плата не требует такого количества ресурсов, как платы других устройств, рассмотренных в этом разделе. Обычно это несколько адресов портов ввода-вывода и один канал прерывания. Многие сетевые адаптеры также требуют дополнительных 16 Кбайт свободной верхней памяти, чтобы создать буфер для хранения передаваемой информации. Как и при работе с другими платами, проследите, чтобы все ресурсы были уникальными для этой платы и не использовались совместно с другими устройствами. одно прерывание (IRQ). Это позволяет практически без ограничений подсоединять или отключать устройства от шины USB, не беспокоясь о возможной нехватке или конфликтах существующих ресурсов.
Если вы не применяете никаких устройств USB, отключите порт с помощью программы установки параметров CMOS на системной плате, чтобы освободить IRQ, который использовался этим портом. В будущем, когда на шине USB будут устанавливаться клави-атура, мышь, модемы, принтеры и пр., недостатка в IRQ не будет. Кроме того, разрешению этой проблемы может способствовать и удаление шины ISA.

Другие платы
Некоторые видеоадаптеры поставляются с усовершенствованным программным обеспечением, которое предоставляет дополнительные возможности (например, рабочий стол размером больше экрана), позволяет использовать специальные мониторы, динамически переключать режимы и т. д. К сожалению, зачастую для этого программного обеспечения требуется сконфигурировать плату таким образом, чтобы она использовала прерывание. Советую обходиться без этого ненужного программного обеспечения и конфигурировать плату так, чтобы освободить прерывание для других устройств.
К дополнительным ресурсам можно также отнести декодер MPEG, который работает вместе с обычным графическим адаптером. Этот декодер используется для создания видеофильма, его редактирования или просмотра DVD-фильмов.

Системные ресурсы. Как избежать проблем. Часть1

Как избежать проблем: специальные платы
Большинство устанавливаемых в компьютер устройств используют линии IRQ и каналы DMA, поэтому добавление новой платы адаптера может привести к новым конфликтам. Отслеживая и регистрируя все изменения, вы избавите себя от многих неприятностей.
Документацию к плате лучше читать до установки платы в компьютер. В ней обычно приводятся данные об используемых платой линиях IRQ и каналах DMA. Там же можно найти сведения о том, какая верхняя память используется для ROM и RAM адаптеров.
Необходимо сказать несколько слов о конфликтах, с которыми вы можете столкнуться при установке наиболее популярных сейчас адаптеров. Хотя список этих устройств далеко
не полон, приводимые сведения помогут установить довольно сложные современные устройства, например звуковую плату, плату SCSI и сетевой адаптер.

Звуковые платы
Для большинства звуковых плат требуется несколько каналов связи: хотя бы одна линия IRQ, два канала DMA и несколько портов ввода-вывода. Звуковая плата — это, вероятно, самое большое и сложное устройство из всех подключаемых к компьютеру. В качестве примера рассмотрим плату Sound Blaster, производимую компанией Creative Labs.
Совет
Сразу же после видеоадаптера установите звуковую плату — настоящего монстра в мире дополнительных компьютерных устройств. Другими словами, предоставьте звуковой плате все необходимые ресурсы и никогда не изменяйте этих стандартных установок. Обнаружив конфликт между звуковой платой и какими-либо другими устройствами, измените конфигурацию этих устройств, а не звуковой платы. Часто проблемы возникают из-за того, что обучающие и игровые программы, которые используют звуковую плату, разработаны непрофессионально и требуют от нее использования несвойственных ей ресурсов. Постарайтесь смириться с этим и позвольте звуковой плате работать в нормальном режиме.

Довольно часто возникают конфликты между звуковой платой Sound Blaster и адаптером Adaptec SCSI. Оба устройства конфликтуют при использовании канала DMA 5 и портов ввода-вывода 330-331. В таком случае необходимо изменить конфигурацию потребления ресурсов платы SCSI и предоставить ей другие доступные в системе ресурсы, как это было сделано в рассмотренном выше примере с шаблоном конфигурации.
Данные платы в этом примере не рассматриваются, так как несмотря на определенные недостатки, они принадлежат к числу весьма распространенных плат этого типа и часто используются вместе.

Совет
Современные звуковые платы PCI в значительной степени несовместимы с ранними версиями программного обеспечения (например, DOS), так как они, в отличие от плат ISA, не используют каналы DMA. Поэтому для корректной работы новых звуковых плат следует воспользоваться 32-разрядной версией программного обеспечения. Большинство новых плат PCI включают в себя программу эмуляции, которая позволяет плате работать с ранними версиями DMA-зависимого программного обеспечения, однако результаты зачастую получаются довольно сомнительными.
Чтобы выйти из этого положения, воспользуйтесь разъемом PC/PCI, имеющимся на некоторых системных платах для соединения коммутационного кабеля с PC/PCI-совместимой звуковой платой. Благодаря этому разъему звуковая плата может использовать каналы DAM ISA-типа без неуклюжего программного обеспечения эмуляции.


Платы адаптеров SCSI
Эти платы используют больше системных ресурсов по сравнению почти со всеми другими сложными современными устройствами, за исключением, возможно, звуковой платы. Именно для них зачастую довольно сложно подобрать распределение ресурсов: между такими устройствами и звуковой или сетевой платой часто возникают конфликты из-за ресурсов. Например, для стандартной платы адаптера SCSI требуется линия IRQ, канал DMA, диапазон адресов портов ввода-вывода и 16 Кбайт в неиспользуемой области верхней памяти для ее ROM и, возможно, RAM (область памяти для записи вразброс). К счастью, адаптеры стандарта SCSI легко перенастраиваются, и это не влияет на работу самих устройств.
Прежде чем устанавливать адаптер SCSI, ознакомьтесь с документацией на него и проверьте, свободны ли необходимые плате линии IRQ, каналы DMA, адреса портов ввода-вывода и верхняя память. Если эти системные ресурсы заняты, выясните с помощью шаблона таблицы конфигурации, как их можно освободить. Не забудьте установить перемычки и переключатели на плате в соответствии с документацией и запустить прилагаемую к ней программу настройки.

Системные ресурсы.Часть6.Предотвращение конфликтов вручную

К сожалению, единственный способ устранить конфликт вручную — открыть компьютер и переставить перемычки и переключатели на платах адаптеров. После каждой перестановки или переключения приходится перезагружать компьютер, на что уходит много времени.
Прежде чем что-либо изменить, запишите параметры исходной конфигурации системы, чтобы в любой момент можно было вернуться к ней.
Постарайтесь раздобыть документацию к платам адаптеров. Если руководств нет, то назначение перемычек и переключателей можно выяснить у производителя.
Теперь вы готовы к работе. Прежде чем приступить к ней, ответьте на несколько важных вопросов (это поможет вам сузить область поиска).
-Когда впервые возник данный конфликт? Если после установки новой платы адаптера, то, по-видимому, причиной была именно она; если после запуска новой программы, возможно, эта программа использует какое-то устройство, которое по-новому перераспределяет ресурсы компьютера.
-Есть ли в компьютере два устройства, которые не работают одновременно? Если, например, не работают мышь и модем, значит, конфликт возник именно из-за них.
-Возникала ли аналогичная проблема у других пользователей и как они ее решали? Найдите с помощью Internet пользователей, которые помогут вам справиться с трудностями.
После любого изменения конфигурации компьютера перезагрузите его и проверьте, не исчез ли конфликт. Если вам кажется, что все в порядке, проверьте работу всех программ. Устранение одних проблем часто порождает другие. Убедиться в их полном отсутствии можно только после тщательной проверки всей системы.
При ликвидации конфликтов, связанных с применением ресурсов, удобно использовать таблицу конфигурации, которую следует обновлять после каждого изменения параметров компьютера.

Системные ресурсы.Часть5.Предотвращение конфликтов

Предотвращение конфликтов, возникающих при использовании ресурсов
Ресурсы компьютера ограниченны, а потребность в них поистине беспредельна. Устанавливая в компьютер новые платы адаптеров, вы существенно увеличиваете вероятность возникновения между ними конфликтов. Если система не удовлетворяет спецификации Plug and Play, то этим приходится заниматься вручную.
Каковы признаки конфликтов, связанных с неправильным использованием ресурсов? Один из них — прекращение работы какого-либо устройства. Но могут быть и другие признаки, например:
-данные передаются с ошибками;
-компьютер часто зависает;
-звуковая плата искажает звук;
-мышь не функционирует;
-на экране неожиданно появляется "мусор";
-принтер печатает бессмыслицу;
-гибкий диск не поддается форматированию;
-Windows 9х при загрузке переключается в режим защиты от сбоев.
Диспетчер устройств в Windows 9х отмечает конфликтующие устройства желтой или красной пиктограммой. Это самый быстрый способ обнаружения конфликтов.
Ниже рассматриваются некоторые способы выявления и устранения причин конфликтов.
Внимание!
Диагностируя систему, будьте внимательны. Возможно, проблемы связаны не с неправильным (конфликтным) использованием ресурсов, а с компьютерным вирусом. Большинство из них создаются именно для того, чтобы периодически отравлять вам жизнь. Если вы заподозрили, что в компьютере неправильно распределяются ресурсы или "назревает" какой-либо другой конфликт, то на всякий случай запустите какую-нибудь антивирусную программу — это, возможно, избавит вас от многих часов бессмысленной работы.
Один из способов разрешения конфликтов состоит прежде всего в их предотвращении. Я хочу дать вам несколько советов, которые помогут избежать многих проблем при формировании новой системы. Во-первых, старайтесь не использовать устройства ISA ранних версий. Как уже отмечалось, эти устройства не позволяют совместно использовать прерывания (IRQ), активно применяемые системой. Вместо ISA лучше подходят платы PCI и AGP, допускающие совместное использование прерываний и поддерживающие функцию управления прерываниями.
Во-вторых, платы необходимо устанавливать в определенной последовательности. Порядок установки плат весьма важен, так как многие из них используют вполне определенные прерывания, характерные для каждой марки или модели платы. При последо-вательной инсталляции плат, программное обеспечение устройств Plug and Play (PnP) значительно упрощает решение конфликтов IRQ, вызванных заданными по умолчанию конфигурациями различных плат.
При первоначальной загрузке собранной или модернизированной системы сразу же следует обратить внимание на BIOS Setup. Если операционная система, установленная на вашем компьютере, поддерживает устройства Plug and Play (как, например, Windows 9x/Me/2000/XP, Vista), убедитесь в том, что это нашло свое отражение в настройках BIOS. В противном случае (например, для операционной системы Windows NT) придется отключить поддержку PnP.
Для первого запуска я бы порекомендовал использовать минимальную конфигурацию системы, включающую в себя только графическую плату, модули памяти, жесткий диск, дисководы гибких дисков, CD-ROM или DVD. Подобная конфигурация позволяет уменьшить вероятность возникновения системных конфликтов. Если к системной плате прилагался компакт-диск с необходимыми драйверами наборов микросхем или других встроенных компонентов, то их нужно сразу загрузить или инсталлировать. Перед установкой каких-либо других плат или внешних устройств, необходимо завершить конфигурацию всех встроенных компонентов.
Завершив конфигурирование основной системы и успешно загрузив операционную систему со всеми "заплатами" и обновлениями, начинайте устанавливать различные устройства. Порядок установки следующий: выключите компьютер, установите нужную плату, включите питание, а после загрузки операционной системы инсталлируйте необходимые драйверы и конфигурируйте устройство. Чтобы полностью завершить конфигурирование, вероятно, придется снова перезагрузить систему.
Совет
Иногда перед установкой новых устройств можно записать установочные параметры ресурсов (Пуск :Настройка->Панель управления (Control Рапе1)->Система (System)-> Устройства (Device Manger)). Это позволит определить, как изменились параметры системы во время инсталляции устройств и их последующей конфигурации.
Существует определенная последовательность установки дополнительных плат.
1. Звуковая плата.
2. Внутренний или внешний модем.
3. Сетевая плата.
4. Дополнительные видеоустройства, например декодер MPEG, BD-акселераторы и т. п.
5. Адаптер SCSI.
6. Другие устройства.
Описанный порядок формирования или конфигурирования системы позволяет значительно упростить процесс интеграции и уменьшить количество возможных конфликтов.

Системные ресурсы.Часть5.Каналы прямого доступа к памяти

Каналы прямого доступа к памяти (DMA) используются устройствами, осуществляющими высокоскоростной обмен данными. Последовательный и параллельный порты, например, не используют DMA, в отличие от звуковой платы или адаптера SCSI. Один канал DMA может использоваться разными устройствами, но не одновременно. Например, канал DMA 1 может использоваться как сетевым адаптером, так и накопителем на магнитной ленте, но вы не сможете записывать информацию на ленту при работе в сети. Для этого каждому адаптеру необходимо выделить свой канал DMA.

Адреса портов ввода-вывода
Через порты ввода-вывода к компьютеру можно подключать разнообразные устройства для расширения его возможностей. Принтер, подключенный к одному из параллельных портов LPT, позволяет вывести на бумагу результаты работы. Модем, соединенный с одним из последовательных портов СОМ, обеспечивает связь по телефонным линиям с другими компьютерами, находящимися за тысячи километров от вас. Сканер, подключенный к порту LPT или адаптеру SCSI, позволяет ввести в компьютер графические изображения или текст непосредственно с листа бумаги и преобразовать их в необходимый формат для дальнейшей обработки.
В большинстве компьютеров имеется хотя бы два последовательных порта и один параллельный. Последовательные порты обозначаются как СОМ1 и СОМ2, а параллельный — LPT1. В принципе в компьютере можно установить до четырех последовательных (СОМ1-СОМ4) и трех параллельных (LPT1-LPT3) портов.
Порты ввода-вывода позволяют установить связь между устройствами и программным обеспечением в компьютере. Они подобны двусторонним радиоканалам, так как обмен информацией в ту и другую сторону происходит по одному и тому же каналу.
В отличие от прерываний IRQ и каналов прямого доступа к памяти, в персональных компьютерах множество портов ввода-вывода. Существует 65 535 портов, пронумерованных от 0000h до FFFFh, и это, пожалуй, самый удивительный артефакт в процессоре Intel. Хотя многие устройства используют до восьми портов, все равно их количество более чем достаточное. Самая большая проблема состоит в том, чтобы двум устройствам случайно не назначить один и тот же порт.
Современные системы, поддерживающие спецификацию Plug and Play, автоматически разрешают любые конфликты из-за портов, выбирая альтернативные порты для одного из конфликтующих устройств.
Хотя порты ввода-вывода обозначаются шестнадцатеричными адресами, подобными адресам памяти, они не являются памятью, они — порты. Различие состоит в том, что данные, посланные по адресу памяти 1000h, будут сохранены в модуле памяти SIMM или DIMM. Если вы посылаете данные по адресу 1000h порта ввода-вывода, то они попадают на этот "канал" шины и любое устройство, прослушивающее канал, может принять их. Если никакое устройство не прослушивает этот адрес порта, то данные достигнут конца шины и будут поглощены ее нагрузочными резисторами.
Специальные программы — драйверы — взаимодействуют прежде всего с устройствами, используя различные адреса портов. Драйвер должен знать, какие порты использует устройство, чтобы работать с ним. Обычно это не проблема, поскольку и драйвер и устройство, как правило, поставляются одним и тем же производителем.
Системная плата и набор микросхем системной логики обычно используют адреса портов ввода-вывода от 0h до FFh, а все другие устройства — от 100h до FFFFh.


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

Чтобы точно выяснить, какие адреса используют ваши устройства, настоятельно рекомендую обратиться к документации или просмотреть информацию об устройстве в диспетчере устройств Windows.
В действительности все устройства на системных шинах используют адреса портов ввода-вывода. Большинство из них стандартизировано, поэтому, как правило, не возникает каких-либо конфликтов или проблем с адресами портов для этих устройств.

Системные ресурсы.Часть4.Конфликты прерываний

Вероятно, наиболее распространенный конфликт прерываний (IRQ) связан с интегрированным последовательным портом COM2, существующим в современных системных платах, и внутренним модемом (имеется в виду полноценный внутренний PC-модем, а не программный модем, который также называется WinModem). Внутренний модем, соединенный с одним из последовательных портов, использует его в качестве одного из элементов схемы собственной платы. Этот порт назначается по умолчанию как по-следовательный порт СОМ2. В результате в компьютере появляются два порта СОМ2, использующих одни и те же прерывания (IRQ) и адреса портов ввода-вывода.
Решить эту проблему достаточно просто: следует войти в BIOS Setup системы и отключить встроенный порт COM2. Кроме того, можно подумать также об отключении порта COM1, который используется довольно редко. Отключение неиспользуемых портов СОМх — один из лучших способов высвобождения прерываний (IRQ) для других используемых устройств.
Чаще всего конфликты IRQ возникают между последовательными портами СОМ. Как уже отмечалось, прерывание IRQ 3 предназначено для СОМ2, а IRQ 4 — для СОМ1. Проблемы появляются при установке в компьютере дополнительных последовательных портов, что вполне логично, поскольку их максимальное количество равно четырем. Принятое в свое время распределение линий IRQ между портами СОМ оказалось неудачным. Прерывание IRQ 3 предназначено для портов СОМ с четными номерами, а IRQ 4 — для портов СОМ с нечетными номерами. В результате порты СОМ2 и СОМ4 используют одну линию IRQ 3, а порты СОМ1 и СОМ3 — IRQ 4. Следовательно, использовать одновременно СОМ1 и COM3 невозможно; то же самое относится и к портам СОМ2 и СОМ4. Напомним, что, если к одной линии IRQ подключено несколько устройств, ни одно из них не сможет привлечь к себе внимание процессора. При работе в DOS это допускалось, поскольку тогда одновременно могла выполняться только одна задача, но в системах Windows и OS/2 это совершенно невозможно.
Для того чтобы в компьютере можно было применять более двух параллельных портов COM, необходима многопортовая плата, которая, помимо прерываний с номерами 3 и 4, позволяет использовать дополнительные прерывания.
Если в вашем компьютере какое-либо из перечисленных в таблице устройств отсутствует, например на системной плате нет порта мыши (IRQ 12) или параллельного порта 2 (IRQ 5), то соответствующие им прерывания вы можете использовать как свободные. Так, второй параллельный порт встречается довольно редко и во многих компьютерах IRQ 5 используется в качестве звуковой платы.
Обратите внимание, что проще всего для проверки бесконфликтности прерываний использовать диспетчер устройств в Windows 9х или Windows NT/2000/XP. Дважды щелкнув на пиктограмме "Компьютер" во вкладке "Устройства" окна "Свойства: Система", вы получите краткий список всех используемых ресурсов системы. Microsoft также включила программу HWDIAG в Windows 95B и более поздние версии; эта программа сообщает об использовании ресурсов системы.

Системные ресурсы.Часть3.Прерывания шины PCI

Шина PCI поддерживает аппаратные прерывания, которые использует установленное устройство, чтобы привлечь внимание шины. Это прерывания INTA#, INTB#, INTC# и INTD#. Прерывания INTx# чувствительны к уровню, что позволяет распределять их среди нескольких устройств PCI. Если одиночное устройство PCI использует только одно прерывание, то им должно быть INTA# — одно из основных правил спецификации шины PCI. Остальные дополнительные устройства должны использовать прерывания INTB#,
INTC# и INTD#.
Для нормального функционирования шины PCI в персональном компьютере ее прерывания должны быть установлены в соответствии с существующими прерываниями ISA. Прерывания ISA не могут использоваться совместно, поэтому в большинстве случаев для каждой платы PCI, использующей прерывание INTA# шины PCI, следует установить прерывания, отличные от неразделяемых прерываний шины ISA. Рассмотрим в качестве примера систему, имеющую четыре разъема PCI и четыре установленные платы PCI, каждая из которых использует прерывание INTA#. В таком случае каждой из плат должен быть назначен отдельный запрос прерывания ISA, например IRQ9, IRQ10, IRQ11 или IRQ5.
Установка одинаковых прерываний для шин ISA и PCI обязательно приведет к конфликту. Также будут конфликтовать два устройства ISA с одинаковым прерыванием. Что же делать, если доступных прерываний недостаточно для всех установленных в системе устройств? В большинстве новых систем допускается использование одного прерывания несколькими устройствами PCI. Все системные BIOS, удовлетворяющие спецификации Plug and Play, а также операционные системы, начиная с Windows 95b (OSR 2), поддерживают функцию управления прерываниями. В таких компьютерах всю заботу о прерываниях берет на себя система. Обратите внимание, что оригинальная версия Windows 95, а также Windows 95a эту функцию не поддерживают.
Чаще всего BIOS назначает уникальные прерывания устройствам PCI. А если операционная система поддерживает управление прерываниями, то эту задачу она выполняет самостоятельно. Следует заметить, что, даже если активизирована системная функция управления прерываниями, их начальное распределение берет на себя BIOS. Если свободных прерываний недостаточно, то операционная система распределяет одно прерывание между несколькими устройствами PCI. Если операционная система не обладает функцией управления прерываниями, то она просто деактивизирует устройство до появления свободного прерывания.
Чтобы определить, поддерживается ли описанная функция в вашем компьютере, выполните ряд действий.
1. Щелкните на кнопке Пуск (Start) и выберите команду Настройка->Панель управления (SettingsOControl Panel).
2. Дважды щелкните на пиктограмме Система (System).
3. В появившемся окне активизируйте вкладку Устройства (Device Manager).
4. Щелкните на знаке "+" возле группы Системные устройства (System Devices).
5. Дважды щелкните на компоненте Шина PCI (PCI Bus). В появившемся окне активизируйте вкладку Управление IRQ (IRQ Steering). Вы увидите группу флажков.
Управление прерываниями осуществляется с помощью нескольких таблиц. В поисках необходимых параметров Windows последовательно просматривает такие таблицы IRQ:
ACPI BIOS;
спецификации MS;
PCIBIOS 2.1 в защищенном режиме;
PCIBIOS 2.1 в реальном режиме.
Для устранения проблем с распределением прерываний попробуйте по одному отключать установленные по умолчанию флажки во вкладке Управление IRQ. В первую очередь используйте таблицу IRQ из ACPI BIOS, а если проблема не будет устранена — таблицу IRQ из PCIBIOS 2.1 в защищенном режиме. Обратите внимание, что описанные действия подходят только для Windows 98; в Windows 95 эти параметры несколько отличаются.
Шина PCI позволяет использовать два типа устройств — bus master (инициатор) и slave (назначение). Устройство bus master берет на себя управление шиной и инициирует передачу данных на устройство slave. Согласно спецификации PC 97 все устройства PCI могут выступать как в роли инициирующего, так и в роли получателя. В настоящее время практически все разъемы PCI поддерживают "универсальные" устройства.
Шиной PCI управляет арбитр, который является частью контроллера шины PCI в наборе микросхем системной логики. Именно этот арбитр управляет доступом всех устройств к шине. Перед "захватом" управления шиной устройство Bus Master получает на это разрешение у арбитра. Примерно аналогичные действия происходят в локальной сети: сначала отправляется запрос на выполнение определенных действий, а при получении положительного ответа на него выполняются сами действия.

Системные ресурсы.Часть2.Прерывания

Каналы запросов прерывания (IRQ), или аппаратные прерывания, используются различными устройствами для сообщения системной плате (процессору) о необходимости обработки определенного запроса.
Каналы прерываний представляют собой проводники на системной плате и соответствующие контакты в разъемах. После получения IRQ компьютер приступает к выполнению специальной процедуры его обработки, первым шагом которой является сохранение в стеке содержимого регистров процессора. Затем происходит обращение к таблице векторов прерываний, в которой содержится список адресов памяти, соответствующих определенным номерам (каналам) прерываний. В зависимости от номера полученного прерывания, запускается программа, относящаяся к данному каналу.
Указатели в таблице векторов определяют адреса памяти, по которым записаны программы-драйверы для обслуживания платы, пославшей запрос. Например, для сетевой платы вектор прерывания содержит адрес сетевых драйверов, предназначенных для ра-боты с ней; для контроллера жесткого диска вектор указывает на программный код BIOS, обслуживающий контроллер.
После выполнения необходимых действий по обслуживанию устройства, пославшего запрос, процедура обработки прерывания восстанавливает содержимое регистров процессора (извлекая его из стека) и возвращает управление компьютером той программе, которая выполнялась до возникновения прерывания.
Благодаря прерываниям компьютер может своевременно реагировать на внешние события. Например, всякий раз, когда с последовательного порта в систему поступает новый байт, вырабатывается IRQ.
Аппаратные прерывания имеют иерархию приоритетов: чем меньше номер прерывания, тем выше приоритет. Прерывания с более высоким приоритетом обладают преимуществом и могут "прерывать прерывания". В результате в компьютере может возникнуть несколько "вложенных" прерываний.
При генерации большого количества прерываний стек может переполниться и компьютер зависнет. Если такая ошибка возникает слишком часто при работе в DOS, попытайтесь исправить ситуацию, увеличив параметр Stacks (размер стека) в файле Config.sys. В операционных системах Windows 9x и Windows NT такая ошибка встречается довольно редко.
По шине ISA запросы на прерывание передаются в виде перепадов логических уровней, причем для каждого из них предназначена отдельная линия, подведенная ко всем разъемам. Каждому номеру аппаратного прерывания соответствует свой проводник. Систем-ная плата не может определить, в каком разъеме находится пославшая прерывание плата, поэтому возможно возникновение неопределенной ситуации в том случае, если несколько плат используют один канал. Чтобы этого не происходило, система настраивается так, что каждое устройство (адаптер) использует свою линию (канал) прерывания. Применение одной линии сразу несколькими разными устройствами в большинстве случаев недопустимо. Совместное использование прерывания допускается только PCI-устройствами. Эта возможность поддерживается системной BIOS и операционной системой.
Внешние аппаратные прерывания часто называются маскируемыми прерываниями, т. е. их можно отключить ("замаскировать") на время, пока процессор выполняет другие критические операции.
Поскольку в шине ISA совместное использование прерываний обычно не допускается, при установке новых плат может обнаружиться недостаток линий прерываний. Если две платы используют одну и ту же линию IRQ, то их нормальную работу нарушит возникший конфликт.

Системные ресурсы.Часть1

Системными ресурсами называются коммуникационные каналы, адреса и сигналы, используемые узлами компьютера для обмена данными с помощью шин. Обычно под системными ресурсами подразумевают:
-адреса памяти;
-каналы запросов прерываний (IRQ); каналы прямого доступа к памяти (DMA);
-адреса портов ввода-вывода.
В приведенном списке системные ресурсы размещены в порядке уменьшения вероятности возникновения из-за них конфликтных ситуаций в компьютере. Наиболее распространенные проблемы связаны с ресурсами памяти, иногда разобраться в них и устранить причины их возникновения довольно сложно.
В данном разделе речь идет о других видах перечисленных выше ресурсов. Так, возникает значительно больше конфликтов, связанных с ресурсами IRQ, чем с ресурсами DMA, поскольку прерывания запрашиваются чаще. Практически во всех платах используются каналы IRQ. Каналы DMA применяются реже, поэтому обычно их более чем достаточно. Порты ввода-вывода используются во всех подключенных к шине устройствах, но 64 Кбайт памяти, отведенной под порты, обычно хватает, чтобы избежать конфликтных ситуаций. Общим для всех видов ресурсов является то, что любая установленная в компьютере плата (или устройство) должна использовать уникальный системный ресурс, иначе отдельные компоненты компьютера не смогут разделить ресурсы между собой и произойдет конфликт.
Все эти ресурсы необходимы для различных компонентов компьютера. Платы адаптеров используют ресурсы для взаимодействия со всей системой и для выполнения своих специфических функций. Каждой плате адаптера нужен свой набор ресурсов. Так, после-довательным портам для работы необходимы каналы IRQ и уникальные адреса портов ввода-вывода, для аудиоустройств требуется еще хотя бы один канал DMA. Большинством сетевых плат используется блок памяти емкостью 16 Кбайт, канал IRQ и адрес порта ввода-вывода.
По мере установки дополнительных плат в компьютере растет вероятность конфликтов, связанных с использованием ресурсов. Конфликт возникает при установке двух или более плат, каждой из которых требуется линия IRQ или адрес порта ввода-вывода. Для предотвращения конфликтов на большинстве плат устанавливаются перемычки или переключатели, с помощью которых можно изменить адрес порта ввода-вывода, номер IRQ и т. д. А в современных операционных системах Windows9x, удовлетворяющих спецификации Plug and Play, установка правильных параметров осуществляется на этапе инсталляции оборудования. К счастью, найти выход из конфликтных ситуаций можно почти всегда, для этого нужно лишь знать правила игры.

Шины ввода-вывода. Часть 4.Ускоренный графический порт (AGP)

Для повышения эффективности работы с видео и графикой Intel разработала новую шину — ускоренный графический порт (Accelerated Graphics Port — AGP). AGP похожа на PCI, но содержит ряд добавлений и расширений. И физически, и электрически, и логически она не зависит от PCI. Например, разъем AGP подобен разъему PCI, но имеет контакты для дополнительных сигналов и другую разводку контактов. В отличие от PCI, которая является настоящей шиной с несколькими разъемами, AGP — высокоэффективное соединение, разработанное специально для видеоадаптера, причем в системе для одного видеоадаптера допускается только один разъем AGP. Спецификация AGP 1.0 была впервые реализована компанией Intel в июле 1996 года. В соответствии с этой спецификацией использовалась тактовая частота 66 МГц и режим 1х или 2х с уровнем напряжения 3,3 В. Версия AGP 2.0 была выпущена в мае 1998 года, в ней был добавлен режим 4х, а также понижено рабочее напряжение до 1,5 В.
В новой спецификации AGP Pro определен довольно длинный разъем с дополнительными контактами на каждом конце для подвода напряжения питания к платам AGP, которые потребляют больше 25 Вт (максимальная мощность — 110 Вт). Платы AGP Pro могут использоваться для высококачественных графических рабочих станций. Разъемы AGP Pro обратно совместимы, т. е. к ним можно подключать стандартные платы AGP. Так как разъем AGP Pro длиннее AGP 1х/2х, существует вероятность неправильной установки платы AGP 1х/2х, что может привести к ее повреждению. Для того чтобы этого избежать, расширение AGP Pro, расположенное в задней части разъема, иногда закрывается специальной крышкой. Перед установкой платы AGP Pro эту крышку следует удалить.

Внимание!
В некоторых AGP 4х-совместимых системных платах могут использоваться только платы AGP 4xс рабочим напряжением 1,5 В. Поэтому перед приобретением платы AGP убедитесь в ее совместимости с существующей системной платой. Кроме того, в отдельных AGP 4x-совмести-мых разъемах используется механизм фиксации платы. В разъемах AGP 1x/2x существует явно выраженный делитель, отсутствующий в более новом разъеме AGP 4х.

Последней редакцией спецификации AGP для персональных компьютеров является версия AGP 8x, получившая название AGP 3.0. В соответствии со спецификацией AGP 8x скорость передачи данных равна 2 133 Мбайт/с, что вдвое превышает параметры интерфейса AGP 4x. Стандарт AGP 8x был предварительно анонсирован в ноябре 2000 года; в настоящее время проходит его публичное рецензирование, а в начале 2003 года начнется, вероятно, официальное внедрение этой шины. AGP 8x будет интегрироваться в наборы микросхем системной логики и видеоадаптеры начиная с первых месяцев 2003 года.
AGP — быстродействующее соединение, работающее на основной частоте 66 МГц (фактически — 66,66 МГц), которая вдвое выше, чем у PCI. В основном режиме AGP, называемом 1х, выполняется одиночная передача за каждый цикл. Поскольку ширина шины AGP равна 32 бит (4 байт), при 66 млн тактов в секунду по ней можно передавать данные со скоростью приблизительно 266 млн байт в секунду! В первоначальной спецификации AGP также определен режим 2х, при котором в каждом цикле осуществляются две передачи, что соответствует скорости 533 Мбайт/с.
Спецификация AGP 2.0 поддерживает 4-кратный режим передачи данных, т. е. передача данных осуществляется четыре раза в течение одного такта. При этом скорость передачи данных достигает 1 066 Мбайт/с. Большинство плат с AGP, поддерживают стандарт 8х.
Поскольку шина AGP независима от PCI, при использовании видеоадаптера AGP можно освободить шину PCI для выполнения традиционных функций ввода-вывода, например для контроллеров IDE/ATA, SCSI или USB, звуковых плат и пр. В настроящее время эта шина уже полностью вытеснена PCI-Express.
Помимо повышения эффективности работы видеоадаптера, AGP позволяет получать быстрый доступ непосредственно к системной оперативной памяти. Благодаря этому видеоадаптер AGP может использовать оперативную память, что уменьшает потребность в видеопамяти. Это особенно важно при работе с трехмерными видеоприложениями, интенсивно использующими большие объемы памяти.

Шины ввода-вывода. Часть 3.PCI Express.Продолжение

В шине PCI Express используется разработанная компанией IBM схема кодирования "8-10", предусматривающая автосинхронизацию сигналов для повышения частоты. Частота шины, равная в настоящее время 2,5 ГГц, в будущем может быть увеличена до 10 ГГц, что фактически является пределом для медных соединений. Сочетание потенциального увеличения частоты и возможности одновременного использования до 32 полос позволяет повысить скорость передачи данных шины PCI Express до 32 Гбит/с.
Шина PCI Express предназначена для расширения и последующей замены шин, используемых в настоящее время в персональных компьютерах. Использование этой шины приведет не только к появлению дополнительных разъемов на системной плате, но и к постепенной замене существующих интерфейсов Intel Hub или AMD Hypertransport, применяемых для соединения компонентов микропроцессорного набора. Кроме этого, шина PCI Express с успехом заменит интерфейсы, применяемые для передачи видеоданных (например, AGP), а также будет использоваться в качестве шины расширения (или шины второго уровня) для подключения к другим интерфейсам, таким, как Serial ATA, USB 2.0, 1394b (FireWire или iLink), Gigabit Ethernet и т. д.
Шина PCI Express, выполняемая в виде кабеля или платы, может быть использована для создания систем из отдельных "блоков", содержащих те или иные компоненты. Представьте себе системную плату, процессор и модули оперативной памяти, расположенные в небольшом блоке, который находится под столом пользователя, и второй блок, содержащий видеосистему, дисководы и порты ввода-вывода, который стоит непосредственно на рабочем столе и обеспечивает свободный доступ к указанным компонентам. Это дает возможность разработать целый ряд различных формфакторов без ухудшения рабочих характеристик ПК. Как вы понимаете, внезапной замены шины PCI и других интерфейсов шиной PCI Express не произойдет. При проектировании систем разработчики будут использовать интерфейсы PCI, AGP и шины других архитектур еще в течение нескольких лет. Точно так же, как это было с шинами PCI и ISA/AT-Bus, пройдет немало времени, прежде чем шины новых конструкций появятся на системных платах. Тем не менее вскоре произойдет постепенное уменьшение количества разъемов PCI и соответствующее увеличение числа соединений PCI Express. Через некоторое время PCI Express станет самым распространенным универсальным межкомпонентным соединением ввода-вывода. Процесс перехода к интерфейсу PCI Express будет подобен переходу от шины ISA/AT-Bus к интерфейсу PCI, происходившему в 1990-х годах.

PCI Special Interest Group (PCI SIG), организация ответственная за продвижение стандарта последовательной шины PCI Express, после 60-дневного пересмотра ревизии 0.9, объявила о выходе базовой спецификации PCI Express версии 2.0. Базовая спецификация увеличивает скорость передачи данных по шине с 2,5 ГТ/с (гигатрансфер в секунду – единица измерения, определяющая количество произведенных операций по пересылке данных в секунду) до 5 ГТ/с, позволяя, таким образом, увеличить пропускную способность слота PCI Express c 16 линиями шины (PCI Express x16) до 16 Гб/с.

Новая спецификация сохраняет совместимость с предыдущей версией стандарта PCI Express 1.1, т.е. старые устройства, поддерживающие более ранние спецификации шины, будут функционировать на системных платах, оснащенных последовательной шиной PCI Express версии 2.0.

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

В новую спецификацию добавлена поддержка устройств с высоким энергопотреблением.
В целом, архитектурные изменения сводятся к следующим основным пунктам:
-Добавлена возможность динамического программного изменения скорости передачи данных;
-Реализован механизм обратной связи – способности соединения информировать операционную систему о текущей скорости соединения;
-Расширены возможности управления устройствами, слотами и соединениями;
-Добавлены службы управления доступом, контролирующие выполнение peer-to-peer транзакций;
-Службы контроля за временем ожидания, позволяют разработчикам определять желаемый механизм управления транзакциями;
-Добавлена возможность сброса отдельных функций многофункциональных устройств;
-Увеличен порог энергопотребления устройств, подключаемых к шине.

Шины ввода-вывода. Часть 3.PCI Express.

PCI Express
В течение 2001 года специалисты группы компаний, получившей название Arapa-hoe Work Group (изначально находившейся под управлением Intel), работали над проектом спецификации новой быстродействующей шины, имеющей кодовое название 3GIO (Third-Generation I/O — шина ввода-вывода третьего поколения). В августе 2001 года специальная группа PCI-SIG (PCI Special Interest Group) приняла решение об использовании, управлении и поддержке спецификации архитектуры 3GIO в качестве шины PCI будущего поколения. Работа над черновой версией 3GIO 1.0 была завершена в апреле 2002 года, после чего была передана в группу PCI-SIG, где и получила новое название PCI Express.
Как следует из первоначального кодового названия (3GIO), новая спецификация шины разрабатывалась в целях расширения и последующей замены существующих шин ISA/AT-Bus (первое поколение) и PCI (второе поколение), используемых в персональных компьютерах. Архитектура шины каждого из предыдущих поколений разрабатывалась с учетом 10- или 15-летнего срока службы. Спецификация PCI Express, принятая и одобренная специальной группой PCI-SIG, станет, как предполагается, доминирующей архитектурой Основными особенностями PCI Express являются:

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

Шина PCI Express — это еще один пример перехода персонального компьютера от параллельного к последовательному интерфейсу. Особенностью архитектуры шин предыдущих поколений является параллельная компоновка, при которой биты данных одновременно передаются по нескольким параллельно расположенным выводам. Чем больше количество одновременно передаваемых битов, тем выше пропускная способность шины. При этом особое значение приобретает синхронизация (согласование по времени) всех параллельных сигналов, которая при использовании более быстрых и протяженных соединений становится довольно сложной. Несмотря на то что шины PCI или AGP позволяют передавать одновременно до 32 бит данных, задержки передачи сигнала и другие факторы приводят к искажению получаемых данных, возникающему из-за разницы во времени между прибытием первого и последнего бита.
Последовательная шина, отличающаяся более простой конструкцией, единовременно передает только 1 бит данных, отправляя сигналы по одному проводу с более высокой, чем у параллельной шины, частотой. При последовательной передаче битов данных синхронизация отдельных битов или длина шины становятся гораздо менее значимым фактором. Объединение нескольких последовательных трактов данных позволяет достичь пропускной способности, значительно превышающей возможности традиционных параллельных шин.
PCI Express представляет собой быструю последовательную шину, архитектура которой обратно совместима с существующими программными драйверами и средствами управления параллельной шины PCI. При использовании шины PCI Express данные пе-редаются в полнодуплексном режиме (т. е. одновременно выполняется прием и передача данных) по двум парным проводам, которые называются полосой или трассой. Скорость передачи данных в одном направлении для каждой полосы достигает 250 Мбит/с, причем каждая шина может включать в себя от 1 до 2, 4, 8, 16 или 32 полос. Например, 8-полосная шина, имеющая высокую пропускную способность, позволяет одновременно передавать в каждом направлении 8 бит данных, благодаря чему скорость передачи данных может достигать 2 000 Мбит/с при использовании в общей сложности всего лишь 40 выводов (32 вывода для передачи пар дифференциальных данных и 8 выводов для управления). Увеличение скорости передачи сигналов позволяет повысить скорость передачи данных в каждом направлении до 8 000 Мбит/с при использовании тех же 40 выводов. Для сравнения можно привести шину PCI, использующую для передачи сигналов более 100 выводов, причем скорость передачи данных этой шины достигает всего 133 Мбит/с (при единовременной передаче данных только в одном направлении). Для подключения адаптеров с помощью шины PCI Express предназначен разъем уменьшенных размеров, который обычно располагается на системной плате рядом с существующими разъемами шины PCI.

пятница, 26 сентября 2008 г.

Шины ввода-вывода. Часть 2.PCI-продолжение

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


PCI добавляет к традиционной конфигурации шин еще один уровень. При этом обычная шина ввода-вывода не используется, а создается фактически еще одна высокоскоростная системная шина с разрядностью, равной разрядности данных процессора. Ком-пьютеры с шиной PCI появились в середине 1993 года, и вскоре она стала неотъемлемой частью компьютеров высокого класса.
Тактовая частота стандартной шины PCI равна 33 МГц, а разрядность соответствует разрядности данных процессора. Для 32-разрядного процессора пропускная способность составляет 132 Мбайт/с:
33 МГц х 32 бит = 1 056 Мбит/с; 1056 Мбит/с : 8 = 132 Мбайт/с.
В настоящее время 64-разрядные шины или шины с рабочей частотой 66 и 133 МГц используются только в системных платах серверов или рабочих станций. Одно из основных преимуществ шины PCI заключается в том, что она может функционировать одновременно с шиной процессора. Это позволяет процессору обрабатывать данные внешней кэш- памяти одновременно с передачей информации по шине PCI между другими компонентами системы.
Для подключения адаптеров шины PCI используется специальный разъем (рисунок). Платы PCI могут быть тех же размеров, что и платы для обычной шины ввода-вывода.


Стандарт PCI предлагает три вида плат для компьютеров разных типов и с различным напряжением питания. Платы с напряжением 5 В предназначены для стационарных компьютеров, а с напряжением 3,3 В — для портативных. Предусмотрены также уни-версальные адаптеры и системные платы, которые могут работать в компьютерах обоих типов.
Сравнить 32- и 64-разрядные варианты стандартного разъема PCI (5 В) с 64-разрядным универсальным разъемом PCI поможет рисунок. На нем показано расположение выводов 64-разрядной универсальной платы PCI по отношению к 64-разрядному разъему
PCI.

Обратите внимание, что универсальная плата PCI может устанавливаться в разъем, предназначенный для любой платы с фиксированным напряжением питания. Если напря жение, подаваемое на те или иные контакты, может быть разным, то оно обозначается +В I/O. На эти контакты подается опорное напряжение, определяющее уровни выходных логических сигналов.
Другим важным свойством платы PCI является то, что она удовлетворяет спецификации Plug and Play компании Intel. Это означает, что PCI не имеет перемычек и переключателей и может настраиваться с помощью специальной программы настройки. Системы с Plug and Play способны самостоятельно настраивать адаптеры, а в тех компьютерах, в которых отсутствует система Plug and Play, но есть разъемы PCI, настройку адаптеров нужно выполнять вручную с помощью программы Setup BIOS. С конца 1995 года в большинстве компьютеров устанавливается BIOS, удовлетворяющая спецификации Plug and Play, которая обеспечивает автоматическую настройку.

Шины ввода-вывода. Часть 2.PCI


В начале 1992 года Intel организовала группу разработчиков, перед которой была поставлена та же задача, что и перед группой VESA, — разработать новую шину, в которой были бы устранены все недостатки шин ISA и EISA.
В июне 1992 года была выпущена спецификация шины PCI версии 1.0, которая с тех пор претерпела несколько изменений.
Небольшое отступление, ниже перечислю версии PCI.
Версии шины PCI PCI 2.0 - первая версия базового стандарта, получившая широкое распространение, использовались как карты, так и слоты с сигнальным напряжением только 5В.
PCI 2.1 - отличалась от 2.0 возможностью одновременной работы нескольких bus-master устройств (т.н. конкурентный режим), а также появлением универсальных карт расширения, способных работать как в 5В, так и в 3.3В слотах. Способность работать с 3.3В картами и наличие соответствующих линий питания в версии 2.1 являлась опциональной.Появились расширения PCI66 и PCI64.
PCI 2.2 - версия базового стандарта шины, допускающая подключение карт расширения с сигнальным напряжением как 5В, так и 3.3В. 32-битные версии этих стандартов являлись наиболее распространённым типом слотов на материнских платах на момент написания FAQ. Используются слоты типа 32-бита, 5В. Cделанные в соответствии с этими стандартами карты расширения имеют универсальный разъём и способны работать практически во всех более поздних разновидностях слотов шины PCI, а также, в некоторых случаях, и в слотах 2.1.

PCI 2.3 - следующая версия общего стандарта на шину PCI, слоты расширения, соответствующие этому стандарту, несовместимы с картами PCI 5В, несмотря на продолжающееся использование 32-битных слотов с 5В-ключом. Карты расширения имеют универсальный разъём, но не способны работать в 5В-слотах ранних версий (до 2.1 включительно). Напоминаем, что напряжение питания (не сигнальное!) 5В сохраняется абсолютно на всех версиях разъёмов шины PCI.
PCI 64 - расширение базового стандарта PCI, появившееся в версии 2.1, удваивающее число линий данных, и, следовательно, пропускную способность. Cлот PCI64 является удлинённой версией обычного PCI-слота. Формально совместимость 32-битных карт с 64-битным слотами (при условии наличия общего поддерживаемого сигнального напряжения) полная, а совместимость 64-битной карты с 32-битным слотами является ограниченной (в любом случае произойдёт потеря производительности), точные данные в каждом конкретном случае можно узнать из спецификаций устройства.
Первые версии PCI64 (производные от PCI 2.1)использовали слот PCI 64-бита 5В и работали на тактовой частоте 33МГц.
PCI 66 - появившееся в версии 2.1 расширение стандарта PCI с поддержкой тактовой частоты 66МГц, также, как и PCI64 позволяет удвоить пропускную способность. Начиная с версии 2.2 использует 3.3В-слоты (32-битый вариант на ПК практически не встречается), карты имеют универсальный либо 3.3В форм-фактор. (Имелись и основанные на версии 2.1 казуистически редкие на рынке ПК 5В 66МГц решения, подобные слоты и платы были совместимы только между собой)
PCI 64/66 - комбинация двух вышеописанных технологий, позволяет учетверить скорость передачи данных по сравнению с базовым стандартом PCI, и использует 64 бита 3.3В слоты, совместимые только с универсальными и 3.3В 32-битными картами расширения. Карты стандарта PCI64/66 имеют универсальный (имеющий ограниченную совместимость с 32-битными слотами) либо 3.3В форм-фактор(последний вариант принципиально не совместим с 32-битными 33МГц слотами популярных стандартов) В настоящее время под термином PCI64 подразумевается именно PCI64/66, поскольку 33МГц 5В 64-битные слоты не применяются уже достаточно давно.

Шины ввода-вывода. Часть 1. Вступление

За время, прошедшее после появления первого PC, особенно за последние годы, было разработано довольно много вариантов шин ввода-вывода. Объясняется это просто: для повышения производительности компьютера нужна быстродействующая шина ввода-вывода. Производительность определяется тремя основными факторами:
-быстродействием процессора;
-качеством программного обеспечения;
-возможностями мультимедиа-компонентов.
Одной из главных причин, препятствующих появлению новых структур шин ввода-вывода, является их несовместимость со старым стандартом PC, который, подобно крепкому морскому узлу, связывает нас с прошлым. В свое время успех компьютеров класса PC предопределила стандартизация — многие компании разработали тысячи плат, соответствующих требованиям этого стандарта. Новая, более быстродействующая шина должна быть совместимой с прежним стандартом, иначе все старые платы придется просто выбросить. Поэтому технология производства шин эволюционирует медленно, без резких скачков.
Шины ввода-вывода различаются архитектурой.
Различия между этими шинами в основном связаны с объемом одновременно передаваемых данных (разрядностью) и скоростью передачи (быстродействием).

Назначение разъемов расширения

Шина ввода-вывода позволяет процессору взаимодействовать с периферийными устройствами. Эта шина и подключенные к ней разъемы расширения предназначены для того, чтобы компьютер мог выполнить все предъявляемые запросы. Шина ввода-вывода позволяет подключать к компьютеру дополнительные устройства для расширения его возможностей. В разъемы расширения устанавливают такие жизненно важные узлы, как контроллеры накопителей на жестких дисках и платы видеоадаптеров; к ним можно подключить и более специализированные устройства, например звуковые платы, сетевые интерфейсные платы, адаптеры SCSI и др.
Замечание
В большинстве современных компьютеров некоторые устройства ввода-вывода установлены непосредственно на системной плате. Это может быть контроллер жесткого диска, порт с интерфейсом SCSI, последовательный порт, порт мыши, параллельные порты и сетевой интерфейс. Если эти устройства поддерживаются компонентами South Bridge или Super I/O, то дополнительные разъемы на шине ввода-вывода им уже не нужны. Тем не менее при взаимо-действии с процессором эти встроенные котроллеры и порты используют ту же самую шину.

Шина памяти. Часть6. Работа процессора с памятью

Первое, что сразу бросается в глаза – без диска (без хранилища вытесненных страниц) эта схема не работает вообще. Где-то нужно иметь этот самый "файл подкачки". Второе – объём реального ОЗУ влияет на быстродействие машины, поскольку чем он больше, тем реже приходится обращаться к загрузке страниц. А вот объём действительно доступной памяти уже не определяется ОЗУ – он определяется именно объёмом "файла подкачки". И может быть сделан хоть на весь доступный диапазон адресов - 4 Гб для 32-хразрядного адреса. Именно это обычно и называется "механизм виртуальной памяти".

Но то, что приведено выше – только принципиальная схема. Действительность ещё сложнее – поскольку современные процессоры изначально ориентированы на "многозадачность" к схеме виртуальной памяти предъявляется и ещё одно требование – разные процессы должны обладать разными "адресными пространствами", т.е. схема адресации физической памяти должна быть такой, чтобы ни при каких обстоятельствах один процесс не мог адресовать память, принадлежащую другому процессу. Хочется подчеркнуть – это требование не вытекает из требований ни к машине, ни к памяти, ни вообще к аппаратной части. Оно вытекает из существующей технологии создания надёжных программ, а машина – должна поддерживать его. Модель такой памяти предполагает, что один и тот же логический адрес со значением X , но порождённый в разных процессах, должен приводить на разные страницы физической памяти. Такой режим адресации процессора носит название "режима защищенного адреса", так что полное название режима в котором процессор может делать всё вышеупомянутое звучит как "режим защищённого виртуального адреса" - именно он и есть основной рабочий режим процессора под управлением современных операционных систем.

Поэтому нарисованная на рисунке схема усложняется. В блоке преобразования адреса (фактически, конечно, это хранится в некоторой статически распределённой области ОЗУ , той, которая никогда не участвует в страничном обмене) имеется не вообще одна таблица преобразования страничного адреса, а – ещё по одной таблице на процесс, в которых отмечается, какие страницы каким процессам принадлежат. И при переключении процессов эти таблицы в блоке преобразования адреса тоже переключаются. Фактически преобразование адреса и поиск нужной страницы происходят в два этапа – сначала выясняется является ли для данного процесса адресуемой запрашиваемая страница, а потом – где именно она расположена. Делается это аппаратно и элементы процессора, которые выполняют это сложное преобразование оптимизированы настолько, что физический адрес байта преобразователь вычисляет чуть ли не за такт до того, как получит себе на вход логический адрес подлежащий преобразованию. Так что вся эта сложность не приводит к уменьшению абстрактного быстродействия машины. Хотя, конечно, машина с виртуальной памятью в среднем работает медленнее, чем аналогичная машина с памятью исключительно реальной – на страничный обмен тратится время, которое недополучает исполняющаяся "программа пользователя".

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

Шина памяти. Часть5. Работа процессора с памятью

Логический адрес делится на две части, простым проведением границы между битами. Старшая часть адреса называется "адрес страницы", а младшая "адрес внутри страницы". Страница и есть та самая порция информации, которую обработчик прерывания "несуществующие данные" (точное название этого прерывания - "страничная ошибка") загружает с диска в ОЗУ . Её размер не должен быть очень маленьким, поскольку иначе "страничная ошибка" будет возникать часто и машина просто будет гонять данные из памяти на диск и обратно. Но, с другой стороны, её размер не должен быть и слишком большим – на загрузку тратится время. А программе на странице может понадобиться всего-то сотня байт, а потом она перейдет по другому адресу, который соответствует уже другой странице – и снова загрузка. В блоке преобразования адреса ведётся специальная таблица, в которой адресу страницы (старшей части логического адреса) соответствует реальный адрес физической памяти, где эта страница расположена. Каждая строка этой таблицы – адрес загруженной в ОЗУ страницы, т.е. страницы физически доступной в данный момент для обращения. Преобразователь адреса "режет" поступивший логический адрес на части "страничный" и "внутри страницы" и пытается найти в этой таблице соответствие – какой же физический адрес соответствует данному страничному. Если такое соответствие находится, то к физическому адресу страницы прибавляются младшие биты "адрес внутри страницы" и получается адрес физического байта, который в данный момент соответствует данному логическому адресу – адресация возможна и проходит, как и в системе с "реальным адресом" - программа и не узнает, что в действительности "срабатывала" ячейка не с тем адресом, который был указан в программе.

Если же соответствие не находится, т.е. обнаруживается, что нужная страница не значится в таблице как "загруженная", блок преобразования адреса возбуждает прерывание "страничная ошибка" и сообщает обработчику какую страницу необходимо загрузить. Обработчик должен: отыскать на диске ту самую страницу, найти ей место в физической памяти, загрузить страницу и исправить в блоке преобразования адреса адрес страницы в таблице. Когда в физической памяти есть не занятые страницы – всё просто. А если всё место уже занято другими страницами? Тогда обработчик должен какую-то страницу вытеснить – записать её на диск с тем, чтобы на её место вписать нужную. Какую? Мнения на сей счёт могут быть различными, но наиболее употребительный алгоритм вытесняет ту страницу, к которой давно не было обращений. С этой целью в "страничной таблице" ведётся и счётчик времени обращения – исключительно аппаратное решение, которое не удлиняет цикла памяти. Когда обработчик вернёт управление процессор вновь исполнит ту же команду, попытка обращения которой к памяти оказалась неуспешной, но в блоке преобразования адреса требуемая страница уже будет числиться "загруженной" - обращение к памяти пройдёт успешно.

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

Шина памяти. Часть4. Работа процессора с памятью

Общий принцип архитектурного решения, удовлетворяющего сформулированным требованиям можно описать так. В процессоре должен быть особый узел – блок преобразования адреса ( БПА ). Программа указывает свой адрес (его теперь естественно назвать "логическим"), он попадает в этот блок, блок что-то с ним делает такое, чтобы из этого адреса сделать "физический" - адрес заведомо существующей в системе физической ячейки памяти, и лишь затем такой преобразованный адрес попадает на шину адреса. Шина данных – не изменяется. А схема "цикла памяти" расширяется на фазу преобразования адреса. Такой режим работы процессора получил название "режим виртуального адреса".

А как можно выполнить такое преобразование? Когда логический адрес соответствует какому-то физическому – всё понятно. Например, всякий логический адрес мы можем складывать с константой (операция быстрая, делается "на лету") – диапазон физических адресов просто сдвинется (будет отличаться от тех адресов, что указаны в командах), но соответствие-то останется. А ведь мы хотим раздвинуть диапазон! Это означает, что когда-то на вход преобразователя адреса придёт такой логический адрес, которому соответствует несуществующая физическая ячейка. Верно. В таком случае процессор должен сделать два дополнительных действия – во-первых, он должен вызвать особое прерывание "запрашиваемой памяти – нет", т.е. вызвать специальную программу-обработчик. Во-вторых, он должен "открутить назад" свой счётчик команд – прерывание вызвано считанной командой, которая попыталась обратиться к несуществующим данным. В "нормальной системе" такое событие – фатально, а здесь процессор должен "сделать вид" что он эту самую команду только собирается исполнить.

Что должен делать обработчик этого прерывания? Он должен... обеспечить ранее не существовавшие, а теперь понадобившиеся данные. Как??? Например, взять и загрузить их откуда-нибудь на то самое место физической памяти, которое действительно есть, сообщить в блок преобразования адреса, что этому самому запрошенному "логическому адресу" теперь соответствует вот такой физический и ... просто вернуть управление. Поскольку процессор перед этим свой счётчик команд "открутил назад", то, после возврата из прерывания, он повторно выбирает ту самую команду, которая прерывание вызвала - теперь эти данные уже существуют – и исполнение программы продолжится как ни в чём ни бывало. Вот и почти всё аппаратное решение! Тем не менее, в нём пока непонятны две вещи – во-первых, сам алгоритм преобразования адреса. Во-вторых – откуда загружать эти "виртуальные данные" и как. Делать это побайтно и пословно – фактически иметь "запасное ОЗУ " (которого мы как раз иметь-то и не хотим), поскольку единственной просматриваемой альтернативой ОЗУ (другим устройством, умеющим хранить данные – чудес на свете не бывает) является диск, а он – устройство блочное, байты адресовать не умеет.

Обе проблемы решаются в комплексе – ведь и преобразование адреса не может быть выполнено "с точностью до байта" - это тоже означает, что для однозначного преобразования нужно иметь "второй комплект байтов". Поэтому преобразование адреса производится по таблице – выборка из таблицы ничуть не более медленная операция, чем сложение. А само преобразование логического адреса делается так, как показано на рисунке

Шина памяти. Часть3. Работа процессора с памятью

"Цикл памяти" в общем виде выглядит так. Процессор, желающий прочитать содержимое ячейки с адресом M устанавливает этот адрес на "шину адреса" и ставит на "шину управления" сигнал "чтение". ОЗУ , получив этот сигнал, выставляет содержимое своей ячейки с таким номером на "шину данных" и ставит на шину управления сигнал "готово". Получив этот сигнал процессор воспринимает состояние шины данных и убирает сигнал "чтение". Запись в ОЗУ происходит аналогично – процессор ставит на шину данных число, подлежащее записи, на шину адреса – номер записываемой ячейки, а на шину управления – сигнал "запись". ОЗУ , получив этот сигнал, воспринимает состояние шины данных и сохраняет его в ячейке с номером M . Здесь мы не будем касаться вопроса, как процессор "считывает байт", когда ширина шины данных фактически – несколько байтов. Не очень грубое для программиста допущение состоит в том, что из ОЗУ всегда считываются столько байтов, сколько составляют ширину шины, а из них процессором выбирается только один...

Естественно, что количество ячеек в одном устройстве памяти – ограничено. Физически это выражается в том, что не всякое возможное на шине адреса число приведёт к "срабатыванию ячейки" - возможно, что ячейки с таким адресом просто физически не существует. Обычно диапазон "вообще возможных адресов" значительно больше того диапазона адресов, на которое в состоянии откликнуться "физическое ОЗУ " - сравните, например 2 32 (4Гб) и 2 27 (128Мб). Причина этого – исключительно экономическая и техническая. Память и стоит каких-то денег и занимает какой-то объём. Возможность же процессора адресовать больше – в данном случае есть не что иное, как нереализованный резерв.

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

И в ранних процессорных системах именно так оно и было – адреса, которые программист указывал в командах были именно теми, которые процессор выставлял на шину адреса. И, хотя программист мог, например, в качестве адреса указать число 2 21 он этого не делал, ибо знал, что последняя "срабатывающая" ячейка располагается по адресу 2 20 -1. Попытка обратиться по адресу большему приносила либо "мусор", либо прерывание – это зависело от конструкции машины. Операционная система MS DOS – как раз и есть пример такой программы, работающей с процессором в т.н. "режиме реального адреса".

Шло время, процессоры становились мощнее, программы – требовали всё большего объёма памяти. Это – совершенно закономерный процесс, поскольку процессор, могущий перерабатывать большой объём информации нет смысла укомплектовывать малым объёмом памяти – чтобы много информации перерабатывать надо прежде всего уметь много информации и хранить. И - мощность процессоров росла гораздо быстрее, чем возможность технологии производить большие и дешёвые ОЗУ . "Узким местом" всей процессорной системы стала физическая память.

В этих обстоятельствах внимание архитекторов обратилось к неиспользуемому резерву – если процессор по ширине своей шины может адресовать 4Г разных ячеек, то нельзя ли каким-нибудь способом сделать так, что они "как бы есть", хотя на самом деле их и нет? Т.е. речь шла о механизме (архитектурном решении), который бы позволил эмулировать больший объём памяти, чем тот объём физических ОЗУ , которым на самом деле располагала машина. Понятно, что такую иллюзию нужно было создать только у самого "источника адресов" - у программы, обращающейся в память. Ведь если она сможет указать в команде (по другому задать адрес программа не может) число 2 30 (1Г) и получить осмысленное значение данных, то она по прежнему может считать, что у неё есть ОЗУ объёмом 1Г, какая ей разница, какое аппаратное устройство на этот адрес "срабатывает" и как именно?

Поэтому речь шла прежде всего об аппаратном решении – в описанной выше архитектуре памяти "что поставил - то и прочитал", а для создания требуемой иллюзии нужно было, чтобы адрес, который задаётся в команде процессора и адрес, который процессор ставит на шину адреса – как-то соотносились друг с другом, но были разными . И это преобразование одного в другое должно было быть однозначным, незаметным для программы и очень быстрым – ведь такое преобразование должно было применяться к каждому адресу, выставляемому процессором!

Шина памяти. Часть2. Работа процессора с памятью

Любая процессорная (микроконтроллерная) система устроена, в общем-то, одинаково. Существует устройство, называемое "процессор", которое умеет в самом общем смысле "перерабатывать информацию" - получая на вход информацию одну, на выходе оно создаёт информацию другую. Естественно, вполне детерминированную – алгоритм этого самого преобразования описывается "программой". Но для нас сейчас это не важно, сейчас нас интересует ответ только на один вопрос – как именно "процессор" обменивается с "внешним миром". И принцип на котором это взаимодействие построено коротко именуется "архитектура общая шина". Он изображён на рисунке, на котором показано три устройства – процессор и два ОЗУ :



Видно, что в составе этой шины выделяется три группы линий (которые есть не что иное, как самые обычные электрические проводники) – "шина управления", по которой процессор подаёт сигналы управления, "шина данных", по которой передаются двоичные числа, которые считаются "данными" и "шина адреса", по которой передаются такие же числа, но они считаются "адресом". Разрядность шины (число линий, по которым одновременно передаются биты) обычно совпадает с разрядностью самого процессора. Так, у 32-хразрядного процессора обычно же и 32-хразрядная шина, хотя можно построить и иную конфигурацию.
Видно, что в составе этой шины выделяется три группы линий (которые есть не что иное, как самые обычные электрические проводники) – "шина управления", по которой процессор подаёт сигналы управления, "шина данных", по которой передаются двоичные числа, которые считаются "данными" и "шина адреса", по которой передаются такие же числа, но они считаются "адресом". Разрядность шины (число линий, по которым одновременно передаются биты) обычно совпадает с разрядностью самого процессора. Так, у 32-хразрядного процессора обычно же и 32-хразрядная шина, хотя можно построить и иную конфигурацию.

Физическое ОЗУ (Random Access Memory, RAM ) представляет собой компонент, "разделёный" на некоторое количество ячеек, которые могут хранить в себе комбинации битов. Ячейки отличаются друг от друга номером, который ОЗУ воспринимает с "шины адреса", а связь содержимого ячейки с внешним миром осуществляется посредством "шины данных". Принципиальная схема организации ОЗУ приведена на рисунке: