Смекни!
smekni.com

Работа «Оперативка» (стр. 2 из 11)

Производительность памяти, как основной, так и кэша второго уровня, обычно характеризуют длительностью пакетных циклов чтения (Memory Burst Read Cycle). Пакетный режим обращения является основным для процессоров, использующих кэш (486 и выше); циклы чтения выполняются гораздо чаще, чем циклы записи (хотя бы потому, что процессору приходится все время считывать инструкции из памяти). Эта длительность выражается в числе тактов системной шины, требуемых для передачи очередной порции данных в пакете. Обозначение вида 5-3-3-3 для диаграммы пакетного цикла чтения соответствует пяти тактам на считывание первого элемента в цикле и трем тактам на считывание каждого из трех последующих элементов. Первое число характеризует латентность (latency) памяти — время ожидания данных, последующие — скорость передачи. При этом, конечно же, оговаривается и частота системной шины. По нынешним меркам хо­рошим результатом является цикл 5-1-1-1 для частоты шины 100 или 133 МГц. Однако для процессоров Pentium 4, у которых за каждый такт синхронизации си­стемной шины передается по четыре 64-битных слова данных, возможно, будет иной способ выражения производительности памяти.

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

Разрядность шины памяти — это количество байт (или бит), с которыми опе­рация чтения или записи может быть выполнена одновременно. Разрядность ос­новной памяти обычно согласуется с разрядностью внешней шины процессора (1 байт - для 8088; 2 байта - для 8086, 80286, 3865Х; 4 байта - для 386DХ, 486; 8 байт — для Pentium и выше). Вполне очевидно, что при одинаковом быст­родействии микросхем или модулей памяти производительность блока с боль­шей разрядностью будет выше, чем у малоразрядного. Именно с целью повыше­ния производительности у 32-битных (по внутренним регистрам) процессоров Реntium и выше внешняя шина, связывающая процессор с памятью, имеет раз­рядность 64 бита. Желание производителей процессоров и системных плат сэко­номить на разрядности памяти всегда приводит к снижению производительнос­ти: компьютеры на процессорах с полноразрядной шиной (8086, 386DХ) более чем на 50 % обгоняют своих «младших братьев» (8088, 3865Х) при одинаковой тактовой частоте. Одно время выпускались чипсеты, работающие с 32-битной памятью даже для Pentium, но эффективность подобной экономии сомнительна.

Банком памяти называют комплект микросхем или модулей (а также их по­садочных мест — «кроваток» для микросхем, слотов для SIММ или DIMM), обес­печивающий требуемую для данной системы разрядность хранимых данных. Ра­ботоспособным может быть только полностью заполненный банк. Внутри одно­го банка практически всегда должны применяться одинаковые (по типу и объе­му) элементы памяти.

В компьютерах на 486-х процессорах банком является один SIMM-72 или чет­верка SIMM-30. В компьютерах на процессорах 5-6 (а для АМD и 7-го) поколе­ний банком может быть пара SIMM-72 или один модуль DIMM или RIММ (эти модули могут содержать и несколько банков). На платы с чипсетом i850 для процессора Pentium 4 требуется установка пар RIMM (чтобы обеспе­чить производительность памяти, достойную новой микроархитектуры).

Если устанавливаемый объем памяти набирается несколькими банками, по­является резерв повышения производительности за счет чередования банков (bank interleaving). Идея чередования заключается в том, что смежные блоки данных (разрядность такого блока данных соответствует разрядности банка) располага­ются поочередно в разных банках. Тогда при весьма вероятном последователь­ном обращении к данным банки будут работать поочередно, причем активная фаза обращения к одному банку может выполняться во время фазы восстанов­ления другого банка, то есть применительно к обоим банкам не будет простоя во время фазы восстановления. Частота передачи данных в системе с чередованием двух банков может быть удвоенной по отношению к максимальной частоте paботы отдельного банка. Для реализации чередования чипсет должен обеспечивать возможность перекоммутации адресных линий памяти в зависимости от установленного количества банков и иметь для них (банков) раздельные линии управляющих сигналов. Чем больше банков участвуют в чередовании, тем выше (теоретически) предельная производительность. Чаще всего используется чередование двух или трех банков (two way interleaving, three way interleaving). В чередовании может участвовать и большее число банков. Из разбиения на мелкие банки можно извлечь и другую выгоду. Поскольку современные процессоры; способны параллельно выставлять несколько запросов на транзакции с памятью, скрытые фазы обработки запросов, обусловленные необходимым временем доступа, относящихся к разным банкам, могут выполняться одновременно.

Глава 2. Чипы памяти.

2.1 Память типа DRAM

Динамическая оперативная память ( Dynamic RAM – DRAM) используется в большинстве систем оперативной памяти персональных компьютеров. Основное преимущество этого типа памяти состоит в том, что ее ячейки упакованы очень плотно, т.е. в небольшую микросхему можно упаковать много битов, а значит, на их основе можно построить память большей емкости.

Ячейки памяти в микросхеме DRAM – это крошечные конденсаторы, которые удерживают заряды. Проблемы, связанные с памятью этого типа, вызваны тем, что она динамическая, т.е. должна постоянно регенерироваться, так как в противном случае электрические заряды в конденсаторах памяти будут “стекать”, и данные будут потеряны. Регенерация в микросхеме происходит одновременно по всей строке матрицы при обращении к любой из ее ячеек. Максимальный период обращения к каж­дой строке TRF (refresh time) для гарантированного сохранения информации у современной памяти лежит в пределах 8-64 мс. В зависимости от объема и орга­низации матрицы для однократной регенерации всего объема требуется 512, 1024, 2048 или 4096 циклов обращений. При распределенной регенерации (distributed refresh) одиночные циклы регенерации выполняются равномерно с пе­риодом tRF, который для стандартной памяти принимается равным 15,6 мкс. Период этих циклов называют «refresh rate», хотя такое название боль­ше подошло бы к обратной величине — частоте циклов f=l/tRF. Для памяти с расширенной регенерацией (extended refresh) допустим период циклов до 125 мкс. Возможен также и вариант пакетной регенерации (burst refresh), когда все цик­лы регенерации собираются в пакет, во время которого обращение к памяти по чтению и записи блокируется. При количестве циклов 1024 эти паке­ты будут периодически занимать шину памяти примерно на 130 мкс, что далеко не всегда допустимо. По этой причине, как правило, выполняется распределен­ная регенерация, хотя возможен и промежуточный вариант — пакетами по не­сколько циклов.

Некоторые системы позволяют изменить параметры регенерации с помощью программы установки параметров CMOS, но увеличение времени между циклами регенерации может привести к тому, что в некоторых ячейках памяти заряд “стечет”, а это вызовет сбой памяти. В большинстве случаев надежнее придерживаться рекомендуемой или заданной по умолчанию частоты регенерации.

В устройствах DRAM для хранения одного бита используется только транзистор и конденсатор, поэтому они более вместительны, чем микросхемы других типов памяти. Транзистор для каждого однозарядного регистра DRAM использует для чтения состояния смежного конденсатора. Если конденсатор заряжен, в ячейке записана 1; если заряда нет – записан 0. Заряды в крошечных конденсаторах все время стекают, вот почему память должна постоянно регенерироваться. Даже мгновенное прерывание подачи питания или какой-нибудь сбой в циклах регенерации приведет к потере заряда в ячейке DRAM, а следовательно, к потере данных.

Каждая ячейка способна хранить только один бит. Если конденсатор ячейки заряжен, то это означает, что бит включен, если разряжен – выключен. Если необходимо запомнить один байт данных, то понадобится 8 ячеек (1 байт = 8 битам). Ячейки расположены в матрицах и каждая из них имеет свой адрес,

состоящий из номера строки и номера столбца.

Теперь рассмотрим, как происходит чтение. Сначала на все входы подается сигнал RAS (Row Address Strobe) – это адрес строки. После этого, все данные из этой строки записываются в буфер. Затем на регистр подается сигнал CAS (Column Address Strobe) – это сигнал столбца и происходит выбор бита с соответствующим адресом. Этот бит и подается на выход. Но во время считывания данные в ячейках считанной строки разрушаются и их необходимо перезаписать, взяв из буфера.

Теперь запись. Подается сигнал WR (Write) и информация поступает на шину столбца не из регистра, а с информационного входа памяти через коммутатор, определенный адресом столбца. Таким образом, прохождение данных при записи определяется комбинацией сигналов адреса столбца и строки и разрешения записи данных в память. При записи данные из регистра строки на выход не поступают.

Следует учесть то, что матрицы с ячейками расположены вот таким вот образом:

Это означает, что за один раз будет считан не один бит, а несколько. Если параллельно расположено 8 матриц, то сразу считан будет один байт. Это называется разрядностью. Количество линий, по которым будут передаваться данные от (или на) параллельных матриц, определяется разрядностью шины ввода/вывода микросхемы.

Важнейшей характеристикой DRAM является быстродействие, а проще говоря, продолжительность цикла + время задержки + время доступа, где продолжительность цикла – время, затраченное на передачу данных, время задержки – начальная установка адреса строки и столбца, а время доступа – время поиска самой ячейки. Измеряется в наносекундах.