Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
20.03.2015
Размер:
1.37 Mб
Скачать

8.4. Производительность

Важнейшими факторами коммерческого успеха компьютера любой марки явля­ются его производительность и стоимость. Цель создателей любой системы, ко­нечно же, состоит в достижении наивысшей производительности при минималь­ной цене. Как правило, усилия конструкторов направлены на то, чтобы увеличить производительность системы, не повышая ее цену. Мерой оценки результата яв­ляется соотношение цены и производительности. В данном разделе речь пойдет о производительности памяти и средствах ее повышения.

Производительность компьютерной системы зависит от того, насколько быст­ро команды программы могут извлекаться из памяти в процессор и насколько бы­стро они могут выполняться. Иерархия памяти, описанная в разделе 8.1, разработана исходя из оптималь­ного соотношения цены и производительности. Суть иерархической организации памяти состоит в том, что процессор должен иметь возможность обращаться к па­мяти большого объема за минимальное время. Каждому уровню иерархии отво­дится очень важная роль. При этом особенно важны скорость и эффективность пересылки данных между различными уровнями. Хорошо, если обмен данными с наиболее быстрыми устройствами выполняется на скорости этих устройств. Если обмен производится между быстрым и медленным устройствами, достичь высо­кой скорости невозможно, но в случае параллельного доступа к более медленным устройствам к ней вполне можно приблизиться. Эффективным способом реали­зации параллельного доступа является чередование операций.

8.4.1. Чередование операций

Если основная память компьютера состоит из набора физически раздельных мо­дулей с собственными буферными регистрами адреса (ABR) и данных (DBR), возможен одновременный доступ к более чем одному модулю. Таким образом можно повысить общую скорость пересылки слов в основную память и из нее.

Для определения среднего количества модулей, которые могут быть заняты в процессе вычисления, важно знать, как между ними распределены адреса. Суще­ствует два метода распределения адресов между модулями. Согласно первому из них, генерируемые процессором адреса декодируются так, как показано на рис. 8.13, а. Старшие k бит определяют один их n модулей, а младшие т бит — конкретное слово этого модуля. При обращении к последовательным адресам, как, скажем, в том случае, когда блок данных пересылается в кэш, в операции уча­ствует только один модуль. В то же самое время устройства, поддерживающие прямой доступ к памяти (ПДП), могут обращаться к информации из других мо­дулей памяти.

Второй и более эффективный способ адресации модулей продемонстрирован на рис. 8.13, б. Он называется чередованием адресов памяти. Согласно этому мето­ду, мдадшие k бит адреса памяти выбирают модуль, а старшие т бит — конкретное слово данного модуля. При таком способе адресации последовательные адреса ука­зывают на разные модули. Любой компонент системы, генерирующий запросы на доступ к последовательным адресам памяти, может поддерживать одновременную активность нескольких модулей. Благодаря этому ускоряется доступ к блоку дан­ных и эффективнее используется вся система памяти. Чередование адресов памяти возможно лишь при условии, что количество модулей равно 2k иначе в адресном пространстве памяти будут пробелы.

а

б

Рис. 8.13. Адресация многомодульной системы памяти: последовательные слова располагаются в одном модуле (а), в последовательных модулях (б)

Пример 8.1 _____________________________________________________________________

Чередование адресов оказывает существенное влияние на быстродействие памя­ти. Проанализируем время, уходящее на пересылку блока данных из основной памяти в кэш в случае промаха чтения. Предположим, что у нас имеется кэш с блоками размером восемь слов, как в примере из раздела 8.3. После неудачной операции чтения блок, содержащий требуемое слово, должен быть скопирован из основной памяти в кэш. Кроме того, сделаем предположение, что аппаратное обеспечение имеет следующие характеристики. На пересылку адреса в основную память уходит один такт. Память состоит из относительно медленных микросхем DRAM, так что на доступ к первому слову уходит 8 тактов, а на доступ к каждому последующему — по 4 такта.

Примечание.

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

В случае использования одного модуля памяти время загрузки блока в Кеш вычисляется так:

1 + 8 + (7 х 4) + 1 = 38 (тактов)

Теперь предположим, что память состоит из четырех модулей с чередующими­ся адресами (рис. 8.13, б). Когда начальный адрес блока достигает памяти, все че­тыре модуля начинают процедуру доступа к нужным данным с использованием старших битов адреса. После 8 тактов в регистре DBR каждого модуля оказывается одно слово данных. Эти слова по очереди пересылаются в кэш в течение последую­щих четырех тактов. В течение этого времени в каждом модуле выполняется обра­щение к следующему слову. Полученные слова, опять-таки, пересылаются в кэш в течение четырех тактов. Таким образом, общее время, необходимое на загрузку блока данных из памяти с чередованием адресов, составляет:

1 + 8 + 4 + 4 = 17 (тактов)

Получается, что чередование более чем вдвое сокращает время пересылки блока.

В микросхемах SDRAM технология чередо­вания используется для ускорения доступа к последовательным словам данных. Память в большинстве микросхем SDRAM разделена на два или четыре банка массивов ячеек с чередованием адресов. Это позволяет ускорить передачу блока данных в основную память и из нее.