FAQ по системным платам IBM PC
Страница 4.


- Что такое DIP, SIP, SIPP, SIMM, DIMM, CELP, COAST?

Это обозначения корпусов микросхем и типов модулей памяти. DIP (Dual In line Package - корпус с двумя рядами выводов) - классические микросхемы, применявшиеся в блоках основной памяти XT и ранних AT, а сейчас - в блоках кэш-памяти. SIP (Single In line Package - корпус с одним рядом выводов) - микросхема с одним рядом выводов, устанавливаемая вертикально. SIPP (Single In line Pinned Package - модуль с одним рядом проволочных выводов) - модуль памяти, вставляемый в панель наподобие микросхем DIP/SIP; применялся в ранних AT.

SIMM (Single In line Memory Module - модуль памяти с одним рядом контактов) - модуль памяти, вставляемый в зажимающий разъем; применяется во всех современных платах, а также во многих адаптерах, принтерах и прочих устройствах. SIMM имеет контакты с двух сторон модуля, но все они соединены между собой, образуя как бы один ряд контактов.

DIMM (Dual In line Memory Module - модуль памяти с двумя рядами контактов) - модуль памяти, похожий на SIMM, но с раздельными контактами (обычно 2 x 84), за счет чего увеличивается разрядность или число банков памяти в модуле. Применяется в основном в компьютерах Apple и новых платах P5 и P6.

На SIMM в настоящее время устанавливаются преимущественно микросхемы FPM/EDO/BEDO, а на DIMM - EDO/BEDO/SDRAM.

CELP (Card Egde Low Profile - невысокая карта с ножевым разъемом на краю) - модуль внешней кэш-памяти, собранный на микросхемах SRAM (асинхронный) или PB SRAM (синхронный). По внешнему виду похож на 72-контактный SIMM, имеет емкость 256 или 512 кб. Другое название - COAST (Cache On A STick - буквально "кэш на палочке").

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

Проще всего определить тип модуля по маркировке и количеству микросхем памяти на нем: например, если на 30-контактном SIMM две микросхемы одного типа и одна - другого, то две первых содержат данные (каждая - по четыре разряда), а третья - биты четности (она одноразрядная). В 72-контактном SIMM с двенадцатью микросхемами восемь из них хранят данные, а четыре - биты четности. Модули с количеством микросхем 2, 4 или 8 не имеют памяти под четность.

Иногда на модули ставится так называемый имитатор четности - микросхема-сумматор, выдающая при считывании ячейки всегда правильный бит четности. В основном это предназначено для установки таких модулей в платы, где проверка четности не отключается; однако, существуют модули, где такой сумматор маркирован как "честная" микросхема памяти - чаще всего такие модули производятся в Китае.

72-контактные SIMM имеют четыре специальных линии PD (Presence Detect - обнаружение наличия), на которых при помощи перемычек может быть установлено до 16 комбинаций сигналов. Линии PD используются некоторыми "Brand name"-платами для определения наличия модулей в разъемах и их параметров (объема и быстродействия). Большинство универсальных плат производства "третьих фирм", как их выпускаемые ими SIMM, не используют линий PD.

В модулях DIMM, в соответствии со спецификацией JEDEC, технология PD реализуется при помощи перезаписываемого ПЗУ с последовательным доступом (Serial EEPROM) и носит название Serial Presence Detect (SPD). ПЗУ предствляет собой 8-выводную микросхему, размещенную в углу платы DIMM, а его содержимое описывает конфигурацию и параметры модуля. Системные платы с chiset'ами 440LX/BX могут использовать SPD для настройки системы управления памятью. Некоторые системные платы могут обходиться без SPD, определяя конфигурацию модулей обычным путем - это стимулирует выпуск рядом производителей DIMM без ПЗУ, не удовлетворяющих спецификации JEDEC.

- Что такое кэш и зачем он нужен?

Cache (запас) обозначает быстродействующую буферную память между процессором и основной памятью. Кэш служит для частичной компенсации разницы в скорости процессора и основной памяти - туда попадают наиболее часто используемые данные. Когда процессор первый раз обращается к ячейке памяти, ее содержимое параллельно копируется в кэш, и в случае повторного обращения в скором времени может быть с гораздо большей скоростью выбрано из кэша. При записи в память значение попадает в кэш, и либо одновременно копируется в память (схема Write Through - прямая или сквозная запись), либо копируется через некоторое время (схема Write Back - отложенная или обратная запись). При обратной записи, называемой также буферизованной сквозной записью, значение копируется в память в первом же свободном такте, а при отложенной (Delayed Write) - когда для помещения в кэш нового значения не оказывается свободной области; при этом в память вытесняются наименее используемая область кэша. Вторая схема более эффективна, но и более сложна за счет необходимости поддержания соответствия содержимого кэша и основной памяти.

Сейчас под термином Write Back в основном понимается отложенная запись, однако это может означать и буферизованную сквозную.

Память для кэша состоит из собственно области данных, разбитой на блоки (строки), которые являются элементарными единицами информации при работе кэша, и области признаков (tag), описывающей состояние строк (свободна, занята, помечена для дозаписи и т.п.). В основном используются две схемы организации кэша: с прямым отображением (direct mapped), когда каждый адрес памяти может кэшироваться только одной строкой (в этом случае номер строки определяется младшими разрядами адреса), и n-связный ассоциативный (n-way associative), когда каждый адрес может кэшироваться несколькими строками. Ассоциативный кэш более сложен, однако позволяет более гибко кэшировать данные; наиболее распространены 4-связные системы кэширования.

Процессоры 486 и выше имеют также внутренний (Internal) кэш объемом 8-16 кб. Он также обозначается как Primary (первичный) или L1 (Level 1 - первый уровень) в отличие от внешнего (External), расположенного на плате и обозначаемого Secondary (вторичный) или L2. В большинстве процессоров внутренний кэш работает по схеме с прямой записью, а в Pentium и новых 486 (Intel P24D и последние DX4-100, AMD DX4-120, 5x86) он может работать и с отложенной записью. Последнее требует специальной поддержки со стороны системной платы, чтобы при обмене по DMA можно было поддерживать согласованность данных в памяти и внутреннем кэше. Процессоры Pentium Pro имеют также встроенный кэш второго уровня объемом 256 или 512 кб.

В платах 386 чаще всего использовался внешний кэш объемом 128 кб, для 486 - 128..256 кб, для Pentium - 256..512 кб. На платах 386, 486 и ранних Pentium весь кэш набирался из асинхронных микросхем SRAM. Сейчас в последних используется конвейерный кэш с блочным доступом (PBC - Pipelined Burst Cache) на основе микросхем PB SRAM; другое его название - синхронный кэш. Для хранения признаков по-прежнему используются асинхронные SRAM. Применение синхронного кэша совместно с обычной памятью примерно на 15% ускоряет последовательный обмен, однако использование совместно с EDO RAM часто не приводит к сколько-нибудь заметному выигрышу в скорости - для этого нужны достаточно крупные задачи, в которых постоянно пересылаются большие (сотни килобайт) массивы данных.