СИСТЕМНАЯ ПАМЯТЬ
Руководство для начинающих
Часть 1
Что
такое Память?
Самый маленький физический
модуль памяти — бит, который является электронным компонентом
и находится в одном из двух возможных состояний (обычно представляемых
как 0 и 1).
Восемь
битов составляют один байт. С помощью него можно записать 256 различных
комбинаций (28) и это самый маленький адресуемый модуль памяти.
Каждая из этих комбинаций представляет одиночный символ данных или
команду. Кодировка ASCII использует только 7 из этих битов, с помощью
которых можно представить только 128 символов. Этого количества
достаточно для обозначения символов английских букв (26 заглавных
и 26 строчных), цифр и специальных символов. Для обозначения более
широкого спектра символов используется двойной байт.
Типы
памяти, используемые в PC, представлены постоянным запоминающим
устройством (ПЗУ или ROM) и оперативным запоминающим устройством
(ОЗУ или RAM). Как видно из названия, ROM не может быть модифицирована,
но может читаться в любое время. ROM также сохраняет данные даже
при выключенном электропитании. Постоянные запоминающие устройства
делятся на два типа — записываемые и перезаписываемые. В записываемые
ПЗУ информация заносится единожды и в будующем не может быть модифицирована.
Перезаписываемые ПЗУ, в которых информация может быть изменена,
подразделяются на два типа: с ультрофиолетовым и электрическим стиранием.
RAM используется для временного хранения данных. В нее загружается
операционная система, прикладные программы и данные. Результаты
Вашей работы на компьютере хранятся в оперативной памяти. К сожалению,
RAM не сохраняет данные, когда электропитание отключено, поэтому
они должны быть записаны на жесткий диск. RAM является энергозависимой
памятью.
RAM делится на статическую
оперативную память (SRAM) и динамическую оперативную память (DRAM).
SRAM — более быстродействующая, т.к. она состоит из транзисторов.
У нее замена содержимого ячейки памяти происходит очень быстро.
В DRAM используются конденсаторы, которые хранят данные. Они постоянно
подзаряжаются, т.к. после каждой операции чтения конденсатор теряет
часть заряда. Из–за этого требуется больше времени на обмен данными,
и в период подзаряда может происходить наслоение операций. SRAM
в 10 раз быстрее, чем DRAM, но и более дорогая (фактически в 10
раз).
Использование
Памяти
Память ROM идеальна
для хранения программы BIOS, которая отвечает за правильную работу
всех модулей и является основной программой начальной загрузки.
Эта программа компактна и требует маленький объем памяти (меньше
чем 2МБ). В современных компьютерах BIOS обычно храниться в электрически
стираемых ППЗУ. Это позволяет модифицировать BIOS программу начальной
загрузки в новую, а также устранить различные неполадки в BIOS.
Изначально в микроЭВМ
использовалась дешевая память DRAM. Когда частота работы процессора
достигла 33MHz, DRAM начала тормозить его работу. Чтобы устранить
несоответствие быстродействия между процессором и памятью, проектировщики
начали помещать маленькое количество SRAM памяти на материнскую
плату, работающую на частоте системной шины. Такую память обычно
называют кэш–памятью второго уровня — L2 (ниже она будет описана
подробнее). Кэш–память первого уровня обычно располагается на кристалле
процессора или рядом с ним. Эта “иерархия памяти” продолжает использоваться
с сегодняшними быстродействующими системами.
Вся
DRAM память имеет одно и тоже основное ядро, и, таким образом, одинаковые
внутренние скорости и относительно большое время ожидания. За эти
годы были разработаны различные схемы устранения ограничения скорости.
К сожалению, из–за высокой стоимости SRAM DRAM — все еще единственный,
реально доступный вид памяти для использования в современных компьютерных
системах. SRAM память используется только для кэша или внешне (на
материнской плате), или внутренне (в процессоре или DRAM чипе).
Скорости процессоров
увеличились до невероятных. Обычному процессору требуется больше,
чем один цикл, чтобы выполнять команды, поэтому подсистемы памяти
могут быть в два или три раза медленнее, чем CPU, и все еще поддерживать
темп работы. Однако лучшие процессоры могут выполнять команды за
один цикл или даже быстрее. Скорость работы этих процессоров достигла
600 MHz в то время, как оперативная память ограничена 100MHz
(до 133MHz).
К сожалению, нет “идеальной”
архитектуры памяти, которая решила бы все проблемы, потому что нельзя
значительно улучшить скорость работы DRAM без существенного увеличения
стоимости. Вместе с тем предполагается, что в течение 2000 года
скорости процессоров достигнут 1GHz.
Куда
Мы идем
SRAM и DRAM прошли
ряд эволюционных изменений от одиночного чипа (асинхронный одиночный
банк) к синхронному многобанковому на многокристальных модулях.
В них используется ряд методов типа конвейерной обработки, режимов
разрыва доступа и предпочтения данных. Специализированная DRAM используется
для графики, связи и других устройств.
Процессоры и память
очень быстро морально устаревают. Вероятно, вскоре выпустят процессоры
со встроенной DRAM памятью.
Часть 2
Подсистема Памяти
Архитектура PC включает
нескольких основных частей: центральный процессор, подсистему памяти,
подсистему Ввода — Вывода и графическую подсистему.
Контроллер памяти находится
между CPU и подсистемами Ввода — вывода (включая графику).
Если процессор находится в ожидании подсистемы памяти, эффективность
его работы уменьшается.
Рассмотрим работу системы
с процессором 500MHz и SDRAM 100MHz. Предположим, что процессор
может выполнять команду, каждый цикл, а память может передавать/получать
данные каждый цикл. Мы не будем также рассматривать другие операции,
которые потребуются центральному процессору, чтобы обработать команду.
В этом упрощенном примере центральный процессор может обрабатывать
500 миллионов команд каждую секунду, в то время как память может
поставлять только 100 миллионов данных в секунду. Конечный результат —
4 из каждых 5 циклов центральный процессор тратит на ожидание. Даже
если центральный процессор тратит некоторое время, обрабатывая прерывания,
управляя операциями I/O и т.п., пропадает большое количество времени.
Увеличение производительности
с кэш–памятью
Фактическая операция —
намного больший комплекс действий, чем описанный выше пример. В
начале разработчики добавили небольшой объем кэш–памяти (64–128Кб),
чтобы сократить несоответствие быстродействия процессора и оперативной
памяти.
Сегодня кэш увеличился
до 2Mb, позволяя еще больше сократить разницу производительности
между процессором и памятью, за счет обработки большего объема данных,
загруженных в кэш.
По существу, кэш —
это временная область памяти для хранения данных, которые запрашивает
процессор. Принцип, на котором основана теория кэш–памяти, называется
временным и пространственным местоположением. Временное местоположение
означает, что имеется высокая вероятность того, что процессор скоро
вновь обратиться к определенным данным. Пространственное местоположение
означает высокую вероятность того, что следующая часть данных, к
которым нужно будет обратиться, находится около той, к которой только
что обратились.
Для большинства прикладных
программ исследования показали, что до 98 % всех запросов от центрального
процессора удовлетворяются из кэша. К сожалению, поскольку процессоры
продолжали увеличивать быстродействие, а набор команд новых прикладных
программ становится все больше, работа кэша должна постоянно совершенствоваться
и настраиваться.
Простое увеличение
размера кэша (или большее количество уровней кэш–памяти) может даже
несколько уменьшить эффективность работы. Некоторые прикладные программы
устанавливают размер кэша достаточно большой, чтобы переполнить
даже 2МБ, а с SSE системой команд кэш может быть обойден полностью.
В связи с этим должны использоваться другие методы, чтобы быстрее
получить данные от DRAM или SRAM в центральный процессор.
Быстродействие системной
шины — это скорость, с которой данные перемещаются между разными
модулями системы. Раньше именно этот параметр ограничивал быстродействие
всей системы. Фактически, до использования кэш–памяти быстродействие
шины было в пределах от 4.77MHz до 33MHz. Хотя скорости процессоров
быстро увеличивались, скорости работы DRAM были достаточны для работы
с такой шиной.
С появлением процессора
Pentium архитектура ЭВМ была координально изменена и позволила выполнять
больше, чем одну команду за цикл. Скорость системной шины была увеличена
до 60MHz, а затем до 100MHz. Уже сегодня существуют системные платы,
способные работать на скоростях 133MHz и более.
Пропускная способность
Пропускная способность —
по существу, максимальное количество данных, которые могут быть
поставлены в данное время, и могут быть вычислены умножением быстродействие
шины на ширину шины. Ширина Шины — число битов, которые могут
быть переданы одновременно. Удвоение ширины шины позволит передать
вдвое больше данных без увеличения быстродействие шины.
Первоначально IBM PC
(intel 8086) имел 8–разрядную ширину шины, которая была увеличена
до 16–разрядной в PC AT (intel 80286) и до 32–разрядной с 80386
процессором. С процессором Pentium ширина шины была увеличена до
64 бит.
Развитие от 8–разрядной
до 64–разрядной шины и увеличение скорости повысило ее пропускную
способность. Intel осуществила проект независимой двойной шины для
Pentium Pro (и более поздних процессорах), чтобы повысить пропускную
способность, перемещая кэш L2 на собственную шину.
Пропускная способность
шины памяти, является, наверное, одним из главных параметров, влияющих
на производительность системы. Так, например, 233MHz процессор с
современной 100MHz, 64–разрядной шиной памяти может обработать 1.8GB
данных за секунду, в то время как 66MHz системная шина ограничивает
обработку только 533MB/сек.
Степень детализации
Степень детализации —
минимальное расширение памяти в системе. Оно должно быть достаточно
маленьким, чтобы начальные затраты были низкими, но и достаточно
большим, чтобы учесть возможное разумное расширение.
Степень детализации
становится проблемой, когда ширина шины увеличивается. С той же
самой технологией чипа, при удвоении ширины шины удваивается число
чипов и поэтому удваивается минимальный размер памяти. Модули становятся
больше, чем требуются пользователям, вынуждая их иметь или слишком
небольшую память или больше, чем они хотят. Правда, до настоящего
времени цены на память были достаточно низкими, чтобы установить
64МБ или более на домашний PC.
Время ожидания
Время ожидания —
число циклов, требуемых для получения данных после первого запроса.
Декодирование адресов и передача данных к буферам вывода способствуют
увеличению времени ожидания DRAM. Даже SRAM чип требует времени
для первого доступа, которое может быть два или три цикла. Это очень
критично для прикладных программ, которые требуют много случайного
доступа к памяти.
Многое из усовершенствований
операций DRAM должно сократить время ожидания. Хотя большинство
проектировщиков (и Intel в особенности) сосредоточилось, главным
образом, на проблемах пропускной способности, время ожидания все
более и более заметно, как узкое место производительности системы.
В то время, как пропускная способность увеличилась в сотню раз,
время ожидания DRAM было улучшено только в восемь.
Главная
причина того, что проблемы времени ожидания в значительной степени
игнорировались,—стоимость. Увеличение пропускной способности шины
и добавление кэш — относительно недорогие методы увеличения
производительности. К сожалению, большинство относительно “дешевых”
методов уже исчерпано, и это означает более высокие затраты на повышения
эффективности взаимодействия процессора и памяти или ожидание принципиально
новых решений.
Поскольку скорости
процессора увеличились, подсистема памяти стала наиболее узким местом
эффективности. Память также усовершенствовалась за эти годы, хотя
не столь принципиально, как процессоры. Проектировщики памяти постоянно
работают над различными методами, чтобы не отстать от скорости процессора,
но в то же самое время снизить затраты на хранение данных.
Продолжение следующих
номерах.
По вопросам приобретения
любых видов оперативной памяти обращайтесь в компанию
“ФОРМОЗА – РУСТАВЕЛИ” Телефон: 210-44-00
спонсор
статьи:

|