Статическая память - SRAM (Static Random Access Memory), как и следует из ее названия, способна хранить информацию в статическом режиме - то есть сколь угодно долго при отсутствии обращений (но при наличии питающего напряжения).
Динамическая память чаще всего применяется в виде модулей с разрядностью 1, 2,4 или 8 байт, которые могут устанавливаться пользователем без каких-либо приспособлений. Модули стандартизованы, поэтому обеспечивается взаимная совместимость.
Идея архитектуры памяти с виртуальными каналами (VirtualChannel Memory Architecture, не путать с виртуальной памятью!) заключается в помещении между массивом запоминающих ячеек и внешним интерфейсом микросхемы памяти набора канальных буферов.
Память RDRAM (Rambus DRAM) имеет синхронный интерфейс, существенным образом отличающийся от вышеописанного.
Микросхемы синхронной динамической памяти SDRAM (Synchronous DRAM) представляет собой конвейеризированные устройства.
Режим FPM поддерживает и самая обычная асинхронная память, называемая стандартной (Std).
Динамическая память - D&4M(Dynamic RAM) - получила свое название от принципа действия ее запоминающих ячеек, которые выполнены в виде конденсаторов, образованных элементами полупроводниковых микросхем.
В начале 90-х годов организация PCMCIA
Портативные и блокнотные ПК поначалу строились безо всяких попыток унификации и обеспечения взаимозаменяемости компонентов, но со временем ситуация изменилась. Сейчас существуют несколько основных интерфейсов и конструктивов для устройств расширения, наиболее популярные приведены в табл. 6.17.
Таблица 6.17. Конструктивы и интерфейсы периферии портативных ПК
PC Card Small PC Card
Длина 85,6 45,0
Ширина 54,0 42,8
Высота 3,3/5,0/10,5 3,3/5,0/10,5
Коннектор Штырьковый Штырьковый
Число контактов 68 68
Интерфейсы Память, ввод-вывод, CardBus Память, ввод-вывод
Первый стандарт на карты расширения назывался PCMCIA. Впоследствии он был переименован в PC Card. Кроме слотов шин расширения блокнотные (и карманные) ПК могут иметь и слоты для подключения карт-носителей информации (см. п. 9.3).
Настольный ПК можно снабдить слотами PC Card с помощью специальной карты адаптера-моста, устанавливаемой в слот PCI или ISA. Сами слоты (1-2 штуки) оформляются в корпус 3" и выводятся на лицевую панель ПК; этот корпус соединяется с картой расширения ленточным кабелем-шлейфом.
Интерфейс LPC (Low Pin Count - малое число выводов) предназначен для локального подключения устройств, ранее использовавших шину X-Bus или ISA: контроллеров НГМД, последовательных и параллельных портов, клавиатуры, аудиокодека, BIOS и т. п.
В настоящее время самой быстрой универсальной шиной расширения является PCI, имеющая при тактовой частоте 66 МГц и разрядности 32 бит пиковую пропускную способность 264 Мбайт/с.
При рассмотрении протокола PCI становится ясно, что разработка собственных PCI-устройств на логике малой и средней степени интеграции - занятие неблагодарное. Собственно протокол шины не так уж и сложен, но реализация требований к конфигурационным регистрам проблематична. Серийные устройства PCI, как правило, являются однокристальными - в одной микросхеме размещается и интерфейсная, и функциональная части устройства. Разработка таких микросхем весьма дорогостояща и имеет смысл лишь с перспективами массового выпуска. Для создания отладочных образцов и мелкосерийных изделий ряд фирм выпускают интерфейсные микросхемы PCI различного назначения. Со стороны PCI практически все эти микросхемы поддерживают одиночные целевые транзакции (target transactions), совершенные модели допускают и пакетные циклы. Более сложные микросхемы выполняют и функции ведущего устройства шины, организуя каналы DMA для обмена с системной памятью. Обмены по этим каналам могут инициироваться как программно со стороны хоста (host initiated DMA), так и с периферийной стороны микросхемы (target initiated DMA), в зависимости от возможностей микросхем. С периферийной стороны встречаются интерфейсы для подключения периферийных микросхем, микроконтроллеров и распространенных семейств микропроцессоров, универсальных и сигнальных. Довольно широкий выбор микросхем представлен на сайте www.plxtech.com, этой темой занимаются и иные фирмы.
Интересно решение построения интерфейса PCI на конфигурируемой логике FPGA (Field Programmable Gate Array - программируемый массив вентилей). Здесь PCI-ядро, а также функции целевого и ведущего устройств занимают 10-15 тысяч вентилей в зависимости от требуемых функций (см. www.xilink.com, www. altera.com). Микросхемы FPGA выпускаются на 20, 30 и 40 тысяч вентилей - оставшаяся часть может быть использована для реализации функциональной части устройства, буферов FIFO и т. п.
Быстро перевести разработки с шиной ISA на PCI можно с помощью микросхем-мостов PCI-ISA (см., например, www.iss-us.com).
Для облегчения взаимодействия с устройствами PCI имеются дополнительные функции BIOS, доступные как из реального, так и защищенного режима работы процессора.
Важной частью спецификации PCI является классификация устройств и указание кода класса в его конфигурационном пространстве (3 байта Class Code). Старший байт определяет базовый класс, средний - подкласс, младший - программный интерфейс (если он стандартизован). Код класса позволяет идентифицировать наличие определенных устройств в системе, это может быть сделано с помощью PCI BIOS. Для стандартизованных устройств (например, 01:01:80 - контроллер IDE или 07:00:01 - последовательный порт 16450) «заинтересованная» программа может найти требуемое устройство и выбрать подходящий вариант драйвера. Классификатор определяет организация PCI SIG, он регулярно обновляется на сайте www.pcisig.com. Нулевые значения полей, как правило, дают самые неопределенные описания. Значение подкласса 80h относится к «иным устройствам».
В стандарт заложены возможности автоматического конфигурирования системных ресурсов (пространств памяти и ввода-вывода и линий запроса прерываний).
Поскольку конфигурационное пространство PCI обособлено, в главный мост приходится вводить специальный механизм доступа к нему командами процессора, который «умеет» обращаться только к памяти или вводу-выводу.