Введение

COASt, аббревиатура от "cache on a stick", является стандартом для упаковки модулей, содержащих SRAM, используемых в качестве L2 кэша в компьютере. Модули COASt выглядят как несколько увеличенные SIMM-модули. Эти модули были достаточно популярны на платформах Apple и PC в начале и середине 1990-х годов, но в современных компьютерах кэш обычно встроен либо в процессор, либо в материнскую плату. Модули COASt отделяли кэш от материнской платы, позволяя создавать различные конфигурации. Система с низкой стоимостью могла работать без кэша, а более дорогая система могла быть оснащена 512 КБ или более кэша. Позднее модули COASt оснащались конвейерной burst SRAM. Стандарт был первоначально определён компанией Motorola с шириной от 4,33 до 4,36 дюйма (110 и 111 мм) и высотой от 1,12 до 1,16 дюйма (28 и 29 мм). Он использовался во многих Apple Macintosh в начале и середине 90-х годов, но исчез после перехода Mac на платформу PowerPC. Intel также использовала стандарт COASt для своих систем Pentium, где он встречался вплоть до 1998 года в системах Pentium MMX с использованием чипсетов Intel, таких как 430VX и 430TX. Впоследствии Intel объединила эту архитектуру с процессором и создала картридж Slot 1, который содержал как процессор, так и отдельные чипы кэша. Разъём, в который подключался модуль COASt, назывался "CELP" (card edge low profile), что отражает небольшую плату и контакты на её краю. Он имел 80 контактов с каждой стороны платы (всего 160), расположенных на расстоянии 0,050 дюйма друг от друга, а также идентификационную выемку между контактами 42 и 43.

Операция

Модули COASt обеспечивали 256 или 512 КБ кэша с прямой адресацией, организованного в виде 8192 или 16384 строк по 32 байта. 64-битная шина данных позволяла передавать кэш-линию за 4 цикла. Модули содержали 256 или 512 КБ быстрой конвейерной burst SRAM, а также 8 или 11 бит более быстрой статической оперативной памяти на строку для хранения тегов кэша. (Модуль имеет контакты для 11 строк, но многие материнские платы и модули поддерживали только 8.) В некоторых вариантах (как показано на рисунке справа) память для тегов размещалась на материнской плате, а на модуле находилась только основная кэш-память. Сначала рассмотрим модуль 256 КБ. 8-битный тег позволяет кэшировать память, в 256 раз превышающую размер кэша, то есть 64 МБ. 11-битный тег поддерживает до 512 МБ. Каждая строка кэша также содержит бит валидности и бит загрязнения, которые хранятся в контроллере кэша (общий размер – 16 Кбит, или 2 Кбайт). Модуль 512 КБ содержит вдвое больше строк кэша, поэтому для поддержки того же объема кэшируемой памяти требуется на один бит тега меньше. Освободившийся бит тега используется для хранения бита загрязнения кэша, а все 16 Кбит в контроллере кэша используются для битов валидности.