техническое обеспечение

 

Память

В компьютере имеется несколько видов памяти: кэш-память, оперативная память, видеопамять, внешняя память. Существуют также устройства с встроенной памятью, о которой пользователи часто и не знают. Это память находится в буфере обмена и имеет целью убыстрение операции ввода-вывода (например, для дисков) или хранение ее, пока процессор ее не затребует (например, у клавиатуры). Регистры в центральном процессоре также представляют собой области памяти.

Внешней памятью называется память, которая расположена вне материнской платы и включает в себя дисковую память (на гибких и жестких дисках), память на магнитных лентах, память на звуковой плате, память у принтера и т.д., то есть практически каждое устройство имеет свою память. Эти виды памяти будут рассматриваться в соответствующих разделах. Память в виде регистров, как она устроена и как она работает – это специфическая информация и для понимания работы на компьютере мало что дает, если вы не являетесь системным программистом, и потому здесь не рассмотрена. А теперь приступим к рассмотрению оперативной памяти.

Оперативная память

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

Оперативную память также обозначают RAM (Random Аccess Memory - память произвольного доступа). Понятие произвольного доступа означает, что можно обратиться к произвольной ячейке памяти, в отличие от последовательного метода доступа, когда для доступа к ячейке нужно вначале прочитать другие данные, которые находятся до данной ячейки (примером может служить магнитная лента).

Оперативная память изготовляется в виде микросхем, крепящихся на специальных пластинах, которые устанавливаются на материнской плате в соответствующие разъемы. При включении компьютера операционная система загружается в оперативную память, затем в нее загружаются программы приложения, например, Word, и данные, например, документы. Центральный процессор управляет загрузкой программы, данных в оперативную память, далее происходит работа с данными, находящимися в оперативной памяти, а не на жестком диске. Если требуются данные, которые находятся на жестком диске, то информация вначале загружается в оперативную память, после чего она вызывается для обработки центральным процессором. После обработки она снова помещается в оперативную память и затем заносится на жесткий диск. То есть центральный процессор работает с инструкциями и данными, которые находятся в оперативной памяти, а все другие устройства (диски, магнитная лента, модемная связь и пр.) действуют через нее. Поэтому оперативная память имеет огромное влияние на работу компьютера. Так как оперативная память предназначена для хранения данных и программ только во время работы компьютера, то после выключения электропитания все данные, которые в ней находились, теряются. Поэтому перед выключением компьютера нужно сохранить данные на жестком диске, для чего следует выйти из приложений.

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



Существует несколько видов оперативной памяти, но основными являются виды, типа SDRAM (Synchronous Dynamic Random Access Memory – синхронная динамическая память с произвольным доступом):

DDR (Double Data Rate – двойная скорость передачи данных). Удвоенная скорость достигается за счет считывания данных не только по фронту (нарастание сигнала), но и по спаду сигнала. Таким образом, за один такт передается два бита данных, то есть, если частота системной шины равняется 100 Мгц/сек, то получаем эффективную частоту в 200 Мгц/сек. Ширина шины данных составляет 64 бит, то есть для предыдущего примера получаем пропускную способность в 100 Мгц х 2 х 64 бит = 12,8 Гбит/сек. Микросхемы выполняются по технологии 0.13 и 0.09 мкм процесса.

Существуют следующие типы памяти: DDR200 для работы на частоте 100 Мгц, DDR266 на частоте 133 Мгц, DDR333 – 166 Мгц, DDR400 – 200 Мгц, DDR433 – 217 Мгц, DDR466 – 233 Мгц, DDR500 – 250 Мгц, DDR533 – 267 Мгц. Платы могут иметь и другое название, которое начинается с РС со значением округленной пропускной способности памяти. Так память DDR200 может иметь название РС1600, память DDR266 название РС2100 (пропускная способность – 2133 мегабайт в секунду), DDR300 – РС2400, DDR333 – РС2700 (пропускная способность – 2 667 МБайт/сек), DDR400 – РС3200, DDR433 – РС3500 (3 467 Мб/с), DDR466 – РС3700, DDR500 – РС4000, DDR533 – РС4300 (4 267Мб/с). Пропускная способность указывается в одноканальном режиме, в двухканальном этот показатель увеличивается в два раза. Большинство плат позволяют работать в двухканальном режиме, но существуют и четырехканальные модули.

Указанная выше частота обозначает гарантированную частоту, на которой работает модуль. Модуль можно использовать на более низкой (это называется underclocking или андерклокинг) и более высокой частоте (overclocking или оверклокинг).

Внешний вид платы оперативной памяти

На рисунке выше схематично показана плата памяти DDR. На плате с двух сторон находятся микросхемы с памятью, на рисунке с одной стороны их восемь. Слева и справа находятся по две выемки для установки платы в разъем на материнской плате. Снизу находится ключ (выемка на плате). Так как на месте ключа в разъеме находится перегородка, то она должна войти в ключ. Если ключ будет находиться в другом месте, то перегородка помешает установке платы в разъем. Также снизу имеются контакты, слева от ключа – 52, справа – 40 контактов, всего 92 на одной стороне. Так как контакты расположены на двух сторонах платы, то их общее число - 184.

Разъем на материнской плате для установки оперативной памяти

На рисунке выше показаны два разъема для установки оперативной памяти. Как видно недалеко от середины разъема находится переборка (на рисунке она названа как ключ).

Основной характеристикой платы оперативной памяти является ее емкость. Она измеряется в мегабитах. Если одна микросхема имеет емкость 512 Мбит, то общая емкость на данной плате будет 512 х 8 (8 микросхем на одной стороне) х 2 (2 стороны платы) = 8 194 мегабит = 1024 мегабайт = 1 гигабайт. Таким образом, плата на рисунке имеет емкость в 1 гигабайт.

Как видно на рисунке, на плате с одной стороны находится 8 микросхем, то есть, на 1 байт будет 8 микросхем, каждая из микросхем будет содержать по 1 биту. Такие платы, как правило, имеются на домашних компьютерах.

Однако имеются платы, на которых находится девять микросхем, то есть, по 9 бит на один байт. Девятый бит используется для ECC (Error Checking and Correcting - обнаружение и исправление ошибок). Идея довольно проста. Если суммировать все восемь бит, то получим четное или нечетное число. Если число четное, то девятый бит будет равен 1, если нечетное, то 1. Таким образом, сумма всех девяти бит всегда будет нечетная. Если произойдет ошибка и один бит будет инвертирован, то есть будет равен 0, вместо 1 или 1 вместо 0, то сумма всех битов будет равна четному числу и система сигнализирует ошибку. Из-за каких причин бит может быть изменен? Из-за магнитных полей, из-за космических лучей и излучения. Эти ошибки достаточно редки, но для некоторых систем, например, обеспечивающих банковскую систему, чрезвычайно важны.  Эти изменения отслеживаются на аппаратном уровне. К сожалению данный метод не позволяет определить какой бит был инвертирован, а в случае, когда инвертируется два бита, метод это не обнаружит. Поэтому был разработан метод  Chipkill, который позволяет на аппаратном уровне определить какой бит был инвертирован и исправить его. Причем определить ошибку не одного, а нескольких битов. Также имеются и другие методы по коррекции ошибок – memory scrubbing, Intel SDDC.

Микросхемы могут иметь разрядность в 4 (х4) или 8 (х8), причем разрядность в х8 является более дешевой и не позволяет использовать методы Chipkill, memory scrubbing и Intel SDDC.

DDR2 второе поколение данного вида памяти, появившееся в 2004 году. Отличие от DDR заключается в вдвое большей частоте шины, по которой данные передаются в буфер. Главное отличие состоит в том, что данный вид памяти может работать на более высокой частоте, так как у DDR имелось ограничение. Тесты показывают, что скорость работы DDR2 чуть выше, чем у DDR, приближаясь к заявленной.

Платы также имеют различие. Ключ сдвинут влево, слева от ключа находится 64 контактов, справа – 56, всего на одной стороне – 120, всего на двух сторонах – 240. Таким образом, память DDR нельзя вставить в разъем DDR2 и наоборот, то есть, они не взаимозаменяемы.

Имеются модули DDR2-400 (PC2-3200), DDR2-533 (PC2-4200), DDR2-667 (PC2-5300), DDR2-675 (PC2-5400), DDR2-700 (PC2-5600), DDR2-711 (PC2-5700), DDR2-750 (PC2-6000), DDR2-800 (PC2-6400), DDR2-888 (PC2-7100), DDR2-900 (PC2-7200), DDR2-1000 (PC2-8000), DDR2-1066 (PC2-8500), DDR2-1150 (PC2-9200), DDR2-1200 (PC2-9600).

DDR3 третье поколение данного вида памяти. Отличие от DDR2 заключается в пониженной энергопотреблении (на 40 %), так как произошел переход на технологии 90, 65, 50, 40 нанометров (один нинометр равен одной тысячной микрометра).

Платы также имеют различие. Ключ сдвинут еще левее, слева от ключа находится 48 контактов, справа – 72, всего на одной стороне – 120, всего на двух сторонах – 240. Таким образом, память DDR2 нельзя вставить в разъем DDR3 и наоборот, то есть, они не взаимозаменяемы.

Имеются модули DDR3-800 (PC3-6400), DDR3-1066 (PC3-8500), DDR3-1333 (PC3-10600), DDR3-1600 (PC3-12800), DDR3-1800 (PC3-14400), DDR3-1866 (PC3-14900), DDR3-2000 (PC3-16000), DDR3-2133 (PC3-17000), DDR3-2200 (PC3-17600), DDR3-2400 (PC3-19200).

DDR4 следующее поколение этого вида памяти, которое планируется массово выпускать в 2013 году. Данный вид памяти будет поддерживать частоты от 2133 до 4266 Мгц/сек.



Память организована блоками по 8 бит, которые составляют 1 байт. Чтобы увеличить надежность памяти, иногда добавляется девятый бит, называемый битом четности, который принимает значение таким образом, чтобы сумма всех девяти бит составляла определенную величину по модулю два (0 или 1), и нарушение этого правила означает ошибку в памяти. При ее наличии на экране появится сообщение о том, что произошла ошибка четности. Однако не все микросхемы имеют 9 бит, так как не во всех модулях памяти используется данный метод и такие микросхемы немного дешевле, чем с проверкой на четность. Некоторые изготовители для удешевлении микросхем используют 8 бит, вычисляют значение девятого и посылают значение 9 бита в процессор, и такие микросхемы трудно отличить от 9-битных.

Некоторые изготовители выпускают микросхемы с коррекцией ошибок по тому же принципу, как это сделано в жестких дисках, то есть позволяют в некоторых случаях восстановить испорченную информацию. Эта память использует дополнительно 7 бит (ЕСС) для 32 разрядов и 8 для 64. Такая память дороже и используется для компьютеров, которые требуют особой надежности хранения данных. При частом возникновении ошибок можно при помощи специальных программ определить место сбоев. Обычно для домашних компьютеров используется память без проверки на четность и кодов ЕСС, так как работа памяти и так достаточно надежна. Если возникают ошибки, то можно сделать перезагрузку компьютера, чтобы избавиться от наведенных ошибок и, кроме того, время от времени выполнить тесты памяти.

Оперативная память не вся состоит из перезаписываемых ячеек памяти (RAM или ОЗУ – Оперативное Запоминающее Устройство). Часть оперативной памяти состоит из неперезаписываемых ячеек (ROM или ПЗУ – Пассивное Запоминающее Устройство), она не позволяет записать в нее информацию. Данные и программы, записанные в ней, установлены один раз и в течение долгого времени не меняются. Этот вид памяти используется в BIOS и необходим при включении компьютера, чтобы можно было запустить операционную систему после включения электропитания.

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

При включении компьютера процессор обращается к содержимому памяти, находящейся по адресу 1Мегабайт -16, где находится первая инструкция, которую нужно выполнить. Естественно, что в данной ячейке находится память ROM (только для считывания), иначе бы она не сохранилась. Первый мегабайт оперативной памяти достаточно определен: в самом начале находится таблица векторов прерываний, данные для BIOS или DOS, операционная система. Затем следует область памяти, которая используется для пользовательских программ, размером до 640 килобайт, конец памяти (до первого мегабайта) выделен для видеобуфера BIOS и других целей операционной системы. Одно из отличий оперативной памяти от других устройств заключается в том, что после ее установки компьютер сам ее находит и тестирует, никакой установки драйверов и нового математического обеспечения при этом не требуется. Более подробно первые процедуры после включения компьютера описаны ниже.

После включения компьютера начинает работать специальная программа BIOS POST, при этом первый килобайт памяти зарезервирован под таблицу векторов прерываний (IVT), а верхняя часть первого мегабайта содержит программу загрузки операционной системы (BIOS). Данная программа заполняет адреса программ прерываний в таблице IVT и данные, находящиеся во втором килобайте памяти, после чего загружается загрузочная программа в память по адресу 700h, и ей передается управление для загрузки операционной системы. Затем загружается программа прерываний и ядро операционной системы, заменяется загрузочная программа, далее ядро операционной системы запускает конфигурационные файлы Autoexec.bat и Config.sys (или файлы Windows).

Операционная система DOS имеет специальную таблицу, называемую списком списков, в которой имеется указатель на первую таблицу МСВ, где указано распределение памяти для программ. Причем первый блок МСВ указывает на распределение памяти для самой DOS, а остальные - для прикладных задач. Одной задаче может принадлежать несколько таких таблиц, в то же время одна таблица относится только к одной программе. В этой таблице определяется память первых 640 килобайт, отсюда и проблема для некоторых старых программ в границе 640 Килобайт. По окончании работы прикладной программы используемая память возвращается прикладной программой для операционной системы. Если программа закончила работать, но осталась в памяти, то такая программа является резидентной. Примером такой программы служит программа работы с мышью. Каждый блок МСВ находится перед описываемой областью. Блок имеет 16 байт данных, которые включают в себя тип блока, идентификатор (если 0, то память, описываемая блоком, свободна) и другие данные. Для того, чтобы просмотреть цепочку МСВ, можно воспользоваться программой Debug или Mem с ключом /d.

После включения компьютера он работает в реальном режиме времени. Затем загружается Windows 9х и происходит переход в защищенный режим. При эмуляции режима DOS программе выделяется необходимая ей память и создается таблица векторов прерываний, загружаются программы эмуляции операционной системы, необходимые ей драйверы и программы, после чего загружается сама программа, которая начинает выполняться. Создается впечатление, что она работает в реальном режиме времени, а на самом деле - в защищенном. Если вызвать параллельно ей еще один режим эмуляции DOS, то новой задаче снова будет выделена уже другая область памяти, где программа будет работать с созданием необходимой для нее среды. Работа в системе Windows происходит только в защищенном режиме. Однако ранние системы Windows 9х время от времени переходят в реальный режим, обращаясь к DOS для выполнения системных действий на низком уровне, но после их выполнения сразу переходит в защищенный режим.

Единственным исключением из этого правила является переход в системе Windows 98 при помощи команды ПускЗавершение работыПерезагрузить компьютер в режиме эмуляции MS-DOS, при котором происходит переход в реальный режим работы.

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

Оперативная память делится на пять областей, причем это деление сохранилось от первых персональных компьютеров. В то время память размером в несколько сот килобайт казалась весьма значительной по своему объему и первые ХТ выпускались с памятью не более 640 Кбайт. Эта область памяти называется стандартной, базовой, основной памятью или обычной оперативной памятью (Conventional Memory), в которой начало области отдано для операционной системы, а остальная часть - для работы программ. При этом первый килобайт предназначен для таблицы векторов прерываний, далее расположена область данных BIOS, а затем - программа ядра операционной системы. После расширения памяти компьютеров до 1 мегабайта, к которой можно было обращаться при помощи вида адресации база:смещение, область памяти от 640 килобайт до 1 мегабайта, называемая UMA (Upper Memory Area или иногда Extended Conventional Memory), или верхняя память, или старшая память, стала использоваться для работы операционной системы. Она содержит буферы для графического адаптера, программы BIOS, буферы для страничной памяти. Для того, чтобы полноценней использовать область первых 640 Кбайт, многие программы и драйверы загружаются в верхнюю часть памяти, которая расположена от 640 Килобайт до одного мегабайта. Делается это в системе DOS при помощи команды DOS=UMB в Config.sys и команд Lh и Dh, которые загружают драйверы в эту область. При работе с системой Windows многие из этих проблем решаются автоматически.

В верхней памяти отведено: A000-BFFF видеопамять (используется не полностью), C000-C3FF для видеоадаптера EGA, BIOS ROM, C000-C7FF для видеобуфера VGA, BIOS RAM, C800-CBFF содержит BIOS жесткого диска, F000-FFFFBIOS, F000-F0FFобласть для конфигурирования Plug & Play, С000h-BAAAhдля адаптеров, имеющих свои ROM BIOS.

Память свыше 1 мегабайта называется расширенной или дополнительной (XMS или Extended) памятью. Первые 64 килобайт свыше первого мегабайта называется HMA. К этой области можно обратиться в реальном режиме. В ранних компьютерах при обращении по адресу FFFF:000F происходил переход на нулевой адрес (0000:0000), то есть память представлялась циклически. Со временем адрес выше первого мегабайта стал обращаться к данным, которые находятся свыше одного мегабайта, а не к нулевому адресу, и таким образом эти 64 килобайта стали использоваться в реальном режиме.

Для того, чтобы использовать память свыше 1 мегабайта, требовались специальные системные утилиты Himem.sys и Еmm386.exe в файле Config.sys, где память 64 кбайт свыше 1 мегабайта поддерживается драйвером Himem. Данные драйверы необходимы для систем DOS и Windows 3.11. При их помощи область расширенной памяти отображается на 4 страницы по 4 килобайта в специальном буфере в верхней области первого мегабайта (страничный режим). В настоящее время доступ к памяти свыше одного мегабайта используется в защищенном режиме, который поддерживается в системе Windows 95 и выше.

Особое место занимает видеопамять. В ранних моделях, когда выводилась в основном текстовая информация, видеобуфер находился в верхней области первого мегабайта основной памяти и занимал 16, 32 и более килобайт памяти. Однако с появлением графических режимов большой разрешающей способности для видеобуфера потребовалась значительная по объему память, которую стали располагать на видеоплате. Она занимает уже 64, 128, 256 и более мегабайт памяти.

В оперативной памяти сохранился буфер с максимальным размером 128 килобайт, который отображает часть видеопамяти в видеоплате, находящейся в видеобуфере. С этим буфером работает центральный процессор, и он может в разные моменты времени отображать там фрагменты видеопамяти для обработки.

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

В реальном режиме работы прикладная программа может пользоваться всеми возможностями компьютера, практически не имея ограничений. В защищенном режиме дело обстоит несколько иначе. Физический адрес вычисляется не непосредственно, а используя специальные таблицы. В компьютере имеется четыре уровня приоритетов, при этом нулевой уровень принадлежит самой операционной системе и имеет практически те же возможности, что и в реальном режиме. Уровни 1 и 2 имеют меньше возможностей, и на сегодняшний день практически не используются. Последний, 3-й уровень используется для прикладных программ. Программа данного уровня имеет меньше возможностей вмешиваться в работу операционной системы, однако для своей работы, например, при обращении к диску или другому устройству она может получить от операционной системы требуемые данные. При этом предполагается, что операционная система более надежна, чем прикладная программа, что подтверждается практикой.

Ограничения заложены, прежде всего, в самой процедуре преобразования адреса, так как при этом используются специальные таблицы, где содержатся поля с правами доступа и биты уровней привилегий запроса, которые определяют, что может быть сделано программой в данной области памяти. Система DOS работает в реальном режиме, система Windows 95 и выше работает в защищенном режиме, то есть система Windows выделяет для прикладных программ всю имеющуюся на компьютере память, которую сама и распределяет.

При работе в многозадачном режиме происходит частое переключение между задачами, когда операционная система выделяет какой-то промежуток времени одной задаче, затем другой, потом третьей, снова первой и т.д. Эти промежутки времени чрезвычайно коротки и повторяются многократно за одну секунду, так что пользователю кажется, будто все программы работают одновременно, а именно, звучит музыка, принтер выводит страницу, вводится символ с клавиатуры в текст документа и т.д.

Для передачи управления от одной задачи к другой, текущее состояние задачи (точнее, основных регистров в центральном процессоре) сохраняется в специальной области памяти, называемой стеком и находящейся в оперативной памяти. Затем вызываются сохраненные значения другой задачи в регистры центрального процессора и управление передается им.

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

Во время обращения к подпрограмме или переключения от одной задачи к другой требуется временно разместить текущие значения, например, те, которые находились в регистрах, в некоторую область памяти. То есть необходимо запомнить состояние задачи в текущий момент времени, чтобы потом, восстановив их, продолжить выполнение программы. Для этого организована стековая система. Идея ее проста. В области памяти отводится участок для организации стека. Специальный регистр указывает на текущую позицию в стеке, и когда данное туда помещается или извлекается, он увеличивается или уменьшается на длину данных. В стеке используется принцип «последний пришел, первый вышел», то есть выбираются последние пришедшие данные, затем предпоследние и так далее. Действия с целью выборки данных осуществляет программист при написании программы. Если стек переполнен, то есть не хватило области для данных, возникает ошибочная ситуация и на экране появляется сообщение об этом, а выполнение задачи прекращается. Как правило, это не означает, что компьютер не работает или сломался, лучше всего перезагрузить компьютер и начать работать заново. Если данная ошибка будет продолжаться в одной и той же программе, а другие программы работают нормально, то виновата программа, а не компьютер. Конечно, такая ошибка может возникнуть и по вине компьютера, например, из-за плохой оперативной памяти, но это встречается довольно редко.

Сколько требуется оперативной памяти в компьютере? Чем больше, тем лучше. Все зависит от тех приложений, с которыми работает пользователь. Если их много и работа происходит с графикой или видео, то требуется значительный объем памяти. Желательно иметь для Windows 98 не менее 32 Мегабайт, а для работы нескольких приложений - 64 и выше. Система Windows ХР требует значительно больше оперативной памяти. Для нее желательно иметь 512 Мегабайт, а лучше 1 Гигабайт. Следующие операционные системы (Windows Vista, Windows 7) требуют еще больше памяти. Поэтому для этих систем нужно иметь не менее 1 гигабайта, а лучше 2 или 3 Гигабайт. Речь идет о 32битных системах, которые в основном распространены. Для 64разрядных систем размер памяти нужно умножить на 2, то есть для Windows 7 нужно иметь минимум 2 гигабайта, лучше 3-4. Чем больше установлено памяти, тем выше будет производительность компьютера, тем более, что цены на память неуклонно падают.

Если на экране появилось сообщение Parity Error, то среди причин чаще всего сбой памяти. В этом случае выйдите из Windows и войдите снова. Если это сообщение часто появляется, то проверьте установки BIOS. Можно также переустановить память, то есть вынуть ее и снова вставить. Если ошибки продолжаются вновь, то используйте тестовую программу для проверки памяти.

Основными характеристиками оперативной памяти являются: время доступа (время выполнения операции считывания/записи, то есть время от начала цикла чтения до получения данных на выходе), ее размер, производительность, разрядность и т.д. Производительность измеряется в мегабайт в сек, это количество данных, которые память может считывать и записывать в единицу времени. Разрядность шины памяти определяется количеством бит, с которыми может быть выполнена операция чтения/записи за один момент времени. Эти и другие параметры рассмотрим более подробно.

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

Чтобы ускорить операции, микросхема может иметь несколько таблиц, как правило, 4, 8 или 16. Если микросхема позволяет хранить 1 Мбайт памяти и имеет 8 линий ввода/вывода, то каждая линия обслуживает матрицу размером 128 Кбайт либо 1 Мбайт, что называется глубиной адресного пространства. В данном примере при обращении к этой микросхеме она сможет выдавать значения байта, каждый бит которого находится в разных матрицах. Чем больше линий ввода/вывода, тем больше данных можно получить одновременно.

Одним из основных параметров выступает время доступа к данным, которое чем меньше, тем лучше и может быть от 40 до 80 наносекунд. С этим параметром часто соотносится минимальный период синхронизации, который, будучи равным 10 нс, соответствует времени доступа 50 наносек, 12нс – 60нс и т.д. Если память работает медленнее, чем требует системная шина, то компьютер будет работать медленнее, так как возникнут задержки ожидания процессора. Поэтому необходимо выбрать оптимальную память по цене и производительности.

Оперативная память монтируется в так называемых банках (банк – комплект микросхем, обеспечивающий требуемую разрядность). Если работает 32-разрядная системная шина (486), а микросхема имеет 8 линий ввода/вывода, то необходимо 4 микросхемы (4х8=32 линий), и они, если установлены на одной пластине, составляют банк, у Pentium – 64 линий и потому потребуется 8 микросхем без проверки на четность, 9 - с проверкой. Банк - это минимальный объем памяти, с которым может работать процессор за одно обращение. Банк может быть заполненным и незаполненным, частичное его заполнение не допускается. Если модули памяти находятся на пластине, которая крепится на материнской плате, то комплект разъемов, в которых будут располагаться пластины с микросхемами оперативной памяти, обеспечивающие требуемую разрядность, также называется банком. Банк может содержать как один, так и несколько разъемов на материнской плате. Внутри банка микросхемы должны подбираться одного вида и одного объема, желательно одного производителя. Разные банки по своим характеристикам могут отличаться и желательно различия минимизировать, иначе они не смогут согласованно работать. Современные компьютеры имеют оперативную память, в которой один банк расположен на одной пластине.

Одной из важнейших характеристик памяти является пакетный цикл обмена, который появился в 486 процессорах и моделях Pentium. При обычном цикле обмена указывается адрес и одно данное, при пакетном цикле указывается адрес и несколько соседних (последовательно расположенных) данных. При этом первое данное считывается дольше, а следующие - быстрее. Запись 5-2-2-2 обозначает, что для считывания первого данного требуется 5 единиц времени (системных тактов), а для следующих - по два. Или для чтения первого данного требуется 4 такта ожидания (один такт на операцию чтения), и по одному такту ожидания для последующих тактов (4-1-1-1). Когда написано, что время доступа составляет 40 нсек, то нужно иметь в виду, что ему соответствует первое обращение к памяти, последующие будут быстрее. Другие параметры определяют время рабочего цикла, и если время доступа 50 нс, то рабочий цикл будет составлять 20 нс в записи 5-2-2-2.

Для материнской платы 486 с тактовой частотой 33 Мгц применяются элементы памяти с временем до­ступа 70 нс (наносекунд). Более быстрые платы должны работать с памятью доступа 60 нс и меньше. Платы Pentium используют память с временем доступа 40 нс и меньше. Время доступа измеряется в наносекундах, где 1нс=0, 000 000 001 сек. Если объем выборки из чипа составляет 1 байт, то такой чип называется шириной в байт, если 4 бита, то шириной в нимбл (нимбл - половина байта или 4 бита).

Микросхемы памяти не устанавливаются непосредственно на материнскую плату, они группируются в несколько модулей и устанавливаются на специальной пластине, называемой форм-фактором SIMM (устарела) или DIMM, которые вставляются в специальный разъем. Часто емкость микросхемы измеряется в битах, а пластины - в байтах.

На пласти­нах желательно устанавливать память с одним временем доступа, желательно одного типа и одной компании. Не во все слоты для оперативной памяти необходимо вставлять пластины, то есть можно оставлять слоты свободными. Например, 512 Мб можно вставить в двух вариантах: или 4 слота по 128 Мб, или в один слот 512 Мб. На каждой пластине может быть разное количество памяти. На пластине может быть несколько элементов, каждый из которых может содержать 256 Кб, 1 Мб, 4 Мб, и некоторые другие.

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

Типы оперативной памяти

Оперативная память называется RAM (Random-Access Memory - память с произвольным доступом). В 70–80-х годах у нас в стране использовалась серия машин ЕС (Единая Серия), в которой оперативная память называлась ОЗУ (Оперативное Запоминающее Устройство). Поэтому до сих пор в компьютерной литературе может встретиться и такое наименование.

Другой вид памяти - ROM (Read Only Memory - память только для чтения). Как видно из названия, она может использоваться только для чтения без возможности записи. Подобная память используется для BIOS-памяти, где хранится важная информация, которая не должна быть стерта. Данная память будет рассмотрена далее в других разделах.

Разделение памяти. Оперативная память подразделяется на динамическую и статическую память:

- SRAM (Static RAM - статическая RAM) - имеет быстрый доступ к информации и не требует регенерации, однако несколько дороже, чем DRAM. Используется в основном для кэш-памяти и в регистрах.

- DRAM (Dynamic RAM - динамическая RAM) - требует регенерации, в связи с чем время доступа больше, чем у предыдущего вида. Практически все современные модули оперативной памяти для персональных компьютеров имеют такой стандарт.

Вид микросхемы DRAM

На рисунке выше показан элемент памяти DRAM. Фактически это микросхема, несколько этих микросхем устанавливаются на пластину.

- SDRAM (Synchronous Dynamic RAM – синхронная динамическая RAM) – подкласс памяти DRAM, который имеет особенность в том, что использует синхронный обмен данными. То есть, позволяет получать команды в не зависимости от того, выполнена была предыдущая команда или нет.

В силу того, что динамическая память дешевле, то именно она и используется для оперативной памяти. Она изготовлена из мельчайших конденсаторов и транзисторов для управления процессом заряда. Физически память выполнена из полупроводникового материала с образованием элементарных ячеек, в которых хранится информация строк от 1 до 4 бит. Строки объединены в матрицы, называемые страницей, которые в свою очередь создают массив, называемый банком. При считывании информации конденсаторы разряжаются и определяется, был ли в нем заряд или нет. Если заряд присутствовал, то конденсатор подзаряжается. Со временем заряд стекает, и время устойчивого хранения измеряется в миллисекундах. В статической памяти на один бит памяти задействовано два транзистора, один включен, другой выключен, они соответствуют двум состояниям памяти. В то же время у динамической памяти используется один транзистор на один бит, поэтому на одной и той же площади размещено больше памяти, однако она будет работать несколько медленнее. Поэтому для кэш-памяти используется статическая память.

Для сохранения информации используется операция перезаписи, которая называется регенерацией памяти, при которой конденсаторы подзаряжаются. Однако центральный процессор имеет доступ к данным в цикле, свободном от регенерации. Для согласования между оперативной памятью и тактовой частотой процессора существует параметр - цикл ожидания (Waitstate), указывающий количество тактов, который должен пропустить процессор между двумя операциями доступа к систем­ной шине. Чем больше количество циклов в данном параметре, тем медленнее работает компьютер. Для установки данного параметра используется программа Setup.

DRAM применялась в основном в компьютере 80286 и частично в 386SX. В настоящее время они используются в качестве составных модулей памяти SIMM, DIMM, которые будут рассмотрены далее.

Модули памяти могут отличаться друг от друга по типу архитектуры (Std или FPM, EDO, BEDO и SDRAM), по типу расположения (DIP, SIMM, DIMM и другие), по способу контроля ошибок. Могут иметь и другие отличия, например, разные номиналы напряжения, параметры регенерации и пр.

Методы контроля ошибок. Модули памяти разделяются на следующие типы:

- без паритета, то есть без проверки на ошибки. Этот вид наиболее распространен, так как память работает довольно надежно;

- с паритетом, то есть проверкой на нечетность, при этом при возникновении ошибок посылается сигнал центральному процессору об их наличии;

- ЕСС – контроль с кодом, который позволяет восстановить данные в случае ошибки;

- EOS – контроль с кодом для восстановления информации при возникновении ошибки и проверки на нечетность;

- модули, которые искусственно выдают бит нечетности путем его пересчета, то есть практически без паритета. Позволяют работать на тех платах, которые требуют паритета.

Проверка четности означает следующее. Каждый байт, как известно, содержит восемь битов. Некоторые виды памяти содержат вместо восьми – девять байт, девятый для проверки на четность, то есть берется сумма первых восьми байт по модулю 2 и это значение помещается в девятый бит. При чтении данных, если сумма не совпадает со значением в девятом бите, то выдается ошибка, которая называется ошибкой четности. Аналогично производится проверка по нечетности, когда в девятый бит заносится значение, противоположное сумме первых восьми бит. Например, если имеется значение в первых восьми битах “00100100”, то сумма равна в двоичной системе 10В. Значение по модулю два равно нулю. При проверке на нечетность, в девятый бит будет помещено значение “1” (противоположное нулю). Для проверки по нечетности, значение будет равно “001001001”. Чаще используют проверку по нечетности, так как обнуление участка памяти выявляется именно данной проверкой (при этом сумма нулей будет четна и равна нулю для всех девяти битов). Можно использовать память с проверкой на четность в системах, которые её не требуют, но не наоборот.

Таким образом, если имеется 9 микросхем, то одна плата с микросхемами служит для проверки четности, 8 - без проверки, то есть число микросхем будет кратно 9 или 8 битам памяти. В последнее время, учитывая надежность выпускаемых микросхем, бит четности не используется (например, для схем 16 Мб один отказ на 2-3 года непрерывной работы). Память с проверкой четности (Parity - четность) используется в системах, где надежность очень критична, то есть в серверах, которые, кроме того, постоянно загружены. В некоторых случаях, когда материнская плата требует присутствия бита четности, можно использовать микросхемы оперативной памяти, которые эмулируют бит четности, то есть фактически не имеют девятый бит и не осуществляют проверку четности.

Существует память, называемая EСС, которая редко используется, но позволяет корректировать ошибки при их возникновении, то есть при возникновении ошибок производит анализ и может восстановить испорченный бит.

Надежность повышается при большей степени интегрированности. Она более высокая из-за того, что имеет меньше соединений, поэтому лучше покупать одну микросхему в 512 Мб, чем четыре по 128 Мб. В данном случае можно использовать не все слоты для оперативной памяти, а лишь некоторые, что позволяет в дальнейшем нарастить память.

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

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

Разделяемая память. Память, к которой могут обращаться разные устройства. Например, разделяемая память адаптера позволяет допускать обращения к ней как со стороны системной шины, так и со стороны адаптера.

Теневая память. В силу того, что данные, которые находятся в BIOS, считываются довольно медленно, а могут требоваться часто, они копируются в область оперативной памяти и далее, при работе операционной системы, считываются оттуда, а не из BIOS. Теневая память может быть реализована как программными, так и аппаратными методами.

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

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

Тип архитектуры

Самой первой была архитектура FPM DRAM (Fast Page Mode DRAM - быстрая со страничным способом), имеющая два вида памяти с разным временем доступа: 60 и 70 нсек; микросхемы с доступом 60 нсек работают при частоте системной шины 60, 66 Мгц. FPM называется также стандартной памятью и работает в пакетном режиме чтения цикла 5-3-3-3.

Следующей модификацией памяти является EDO DRAM (Extended Data Output DRAM - расширенный вывод данных DRAM). Быстродействие достигается за счет дополнительных регистров, в которых хранятся данные в течение следующего запроса к микросхеме и которые позволяют начать следующий цикл до того, как закончится предыдущий. Работает на 10-15% быстрее, чем FPM DRAM. Имеет время доступа 50 нсек, 60 нсек (для шины с частотой 66 Мгц) и 70 нсек. Используется на материнских платах с частотой шины до 66 Мгц и процессорами Pentium, реже с 486-процессором. В силу того, что при частоте системной шины более 66 Мгц работает неустойчиво, постепенно ушла с рынка.

EDO обеспечивает конвейеризацию при работе памяти. Она используется в платах SIMM-72 и DIMM, при этом в них не используется проверка на нечетность, но могут запоминаться контрольные суммы ЕСС. Данный тип памяти может использоваться как в оперативной памяти, так и в видеопамяти. Для работы с данным типом нужно, чтобы BIOS мог работать с ними, так что старые материнские платы могут их не поддерживать. Некоторые платы определяют при помощи соответствующего BIOS тип модуля памяти и допускают одновременную установку стандартной и EDO памяти. Достигает при пакетном режиме чтения цикла 5-2-2-2.

BEDO (Burst EDO - пакетный EDO) - позволяет считывать данные блоками или пакетами за один такт. Развилась из SDRAM и работает на частоте системной шины 66 Мгц. В BEDO получили дальнейшее развитие принципы конвейерной обработки. Данная память требует несколько больше времени на выборку первого данного в пакетном режиме, но обеспечивает более быструю выборку следующих данных. Она также используется в платах SIMM-72 и DIMM. Достигает при пакетном режиме чтения цикла 5-1-1-1.

SDRAM (Synchronous DRAM - синхронная DRAM) - обеспечивает конвейерную обработку данных и чередование адресов, что увеличивает ее производительность. Все операции в таких микросхемах синхронизированы с тактовой частотой CPU и работают с тактовыми частотами системной шины до 133 Мгц, причем время рабочего цикла составляет 8-10 нс при частоте системной шины 100 Мгц. Для современных шин существует память РС100, РС133, где цифры указывают частоту системной шины. Работает быстрее, чем EDO DRAM, однако при частоте шины до 66 Мгц разница в производительности не существенна.

Память SDRAM является наиболее перспективной, особенно для больших тактовых частотах системной шины компьютера, которую не может эффективно поддерживать памяти других типов. Данная память устанавливается на платах DIMM или как микросхема на системную или видеоплату. Достигает при пакетном режиме чтения цикла 5-1-1-1.

SDRAM II (DDR SDRAM) позволяет обрабатывать команды доступа параллельно в их независимых банках памяти, что убыстряет время доступа. Данная память ускоряет работу за счет использования переднего фронта и спада импульса в два раза, имеет обозначение РС1600, РС2100, где цифры обозначают количество Мбайт/сек, которые могут быть переданы по шине, соответственно 1 600 Мбайт/сек с использованием системной шины 100 Мгц, а 2100 - для 133 Мгц. Однако они должны поддерживаться чипсетом, об этом можно проконсультироваться в руководстве на материнскую плату. Более подробно о памяти DDR, DDR2, DDR3 рассказано выше.

Память Direct RDRAM является перспективной памятью, на которую перешла компании Intel. Она может работать с тактовой частотой шины 400 Мгц/сек, с пропускной способностью до 1 600 Мгц/сек, позволяя передавать данные на переднем и заднем фронтах импульса, обеспечивает конвейерную выборку данных. Кроме указанных, существует память SLDRAM, которая, как и Direct RDRAM, на частоте 400 Мгц позволяет осуществлять передачу данных до 1 600 байт/сек.

Существуют модификации вышеуказанных типов памяти, например, CDRAM (Cashe RAM), EDRAM (Enhanced RAM) – является памятью DRAM, в которой имеется статическая память, используется как буферная память в модуле. Время доступа к данным в указанных выше видах памяти составляет от 50 до 70 нс.

Кроме того, существуют другие виды памяти, которые устанавливаются на графических (видео) картах (но не для оперативной памяти) – VRAM, SGRAM, GDDR2, GDDR3, GDDR4, GDDR5. Где GDDR2 построен на основе DDR2, GDDR3, GDDR4, GDDR5 построены на основе DDR3.

Современные компьютеры используют DDR, DDR2 и DDR3.

Виды корпусов, пластин. Установка памяти

Размещение модулей. В старых компьютерах могли использоваться дополнительные карты для увеличения оперативной памяти до 32 мегабайт. Такая память устанавливалась не при помощи DIMM и SIMM модулей, а при помощи специальной карты, подобно звуковой видеокарте. Однако в настоящее время эти карты уже не производятся.

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

DIP (Dual In-line Package - корпус с двусторонними выводами) - также старый вид памяти, емкостью до 1 мегабит, находящийся на материнской плате для моделей 8086, 286, 386, а также на графических адаптерах. Сейчас для оперативной памяти они практически не используется. Внешний их вид показан на рисунке ниже. Следующие виды памяти выпускаются в виде пластинок, на которых находятся микросхемы памяти.

Вид микросхемы DIP

Современные микросхемы выпускаются с корпусами: DIP, ZIP с зигзагообразным расположением контактов, иногда выпускаются для видеопамяти, SQJ используется в платах SIMM или для специальных разъемов на видеоплате, TSOP - для установки DIMM на плату.

Модули SIPP (Single Inline Pin Package - корпус с одним рядом проволочных выводов), или SIP (устарел). Чтобы умень­шить место, занимаемое на материнской плате, модули DRAM располагаются на пластине, которая имеет 30 выводов. Внешний вид данной платы показан на рисунке. До применения SIPP использовались модули SIP, но они безнадежно устарели.

модуль оперативной памяти SIPP

На рисунке выше показана плата SIPP, а на рисунке ниже - SIMM.

Вид оперативной памяти SIMM

Модули SIMM (Single Inline Memory Modules - модули памяти в один ряд), в просторечье называемые “симы” с ударением на последнем слоге. Плата SIMM отличается от модуля SIPP тем, что имеет другой вид контактов, расположенных на пластине, что видно на рисунке. Данные модули снабжены микросхемами памяти с 8, 16, 32 и более Мб памяти.

Все микросхемы, которые находятся на платах SIMM, DIMM, припаяны к плате, и заменить их практически невозможно, поэтому при неисправности одного модуля нужно заменять всю плату.

Для 30-контактных модулей SIMM нужно использовать 4 модуля для 486-процессора, так как один модуль имеет разрядность 8 бит (8 х 4 = 32), а для Pentium – 8, чтобы обеспечить 64-разрядность. 72-контактные модули SIMM имеют разрядность 32, поэтому для 486-процессоров нужно установить одну плату, для Pentium – две. Модули DIMM для Pentium устанавливаются по одному на материнскую плату.

Раньше применялись пластины с 30 выводами. В настоящее время модули памяти имеют 72 контакта. Разъем, куда вставляются пластины с памятью, показан на рисунке ниже.

Разъем для установки оперативной памяти

Чтобы ее снять, нужно отогнуть два зажима по краям платы и наклонить плату, после чего вынуть. Стрелками показано, куда необходимо нажимать. Вставка производится в обратном порядке. Плата подносится под углом и переводится в вертикальное поло­жение. Зажимы по краям сами устанавливаются на свое место, как это показано на рисунке ниже.

Вставка модуля оперативной памяти на материнскую плату

Если вы собираетесь купить компьютер и на системной плате находится четыре разъема для памяти, жела­тельно выбирать тот компьютер, где заполнены не все слоты, с тем чтобы в дальнейшем можно было добавить другие модули. Лучшим способом проверить работоспособность памяти является установка ее в компьютер и запуск диагностической программы.

Вначале такие модули использовали стандарт SIMM, затем появились модули DIMM. Модуль SIMM позволяет считывать за один раз один байт. При установке нескольких модулей SIMM часто требовалось, чтобы они имели одинаковые характеристики, подчинялись одним сигналам и совпадала скорость выборки. Часто микросхемы с модулями разных компаний или разных типов одной компании не были совместимы с другими.

Модули могут быть односторонними и двухсторонними, при этом односторонние имеют, как правило, микросхемы на одной стороне платы, у двухсторонних, в которых находится два банка, модули расположены на двух сторонах.

Для материнской платы с процессором Pentium используются банки памяти, которые работают с SIMM и DIMM модулями.

DIMM (Dual In-Line Memory Module - упакованная в два ряда на корпусе память) имеет 168, 184, 200 или 240 контактов и меньшее время доступа, чем на платах SIMM. Кроме того, на платах преодолены ограничения на размер оперативной памяти в 128 мегабайт. Теперь она может достигать значительной величины, которая указана в документации на плату. Платы содержат 2 ряда по 92 или 120 контакта (всего 184 или 240, в старых компьютерах - 168). За счет большего числа контактов увеличивается число банков в модуле. В модуле DIMM уже 32 или 64 линии для считывания данных (соответственно 4 или 8 байт) и появилась возможность устанавливать их в разных компьютерах. Кроме того, модули DIMM имеют больше линий заземлений. На плате может располагаться энергонезависимая память, в которой находятся параметры микросхем. Если нужный тип микросхемы отсутствует, то плата не сможет работать с такой памятью. В отличие от плат SIMM, платы DIMM вставляются вертикально. Установка плат этого вида памяти показана в разделе подключения компьютера.

SO DIMM (Small Outline DIMM – малогабаритный DIMM) – платы, на которых имеется 72, 144, 168 или 200 контактов и которые используются для ноутбуков. Данная память имеет 16 независимых каналов памяти и позволяет работать с разными устройствами и программами, которые обращаются в разные области памяти одновременно.

Существует также вид – DDR2 FB-DIMM, используемый в серверах, RIMM имеет 168, 184 или 242 контакта и металлический экран для защиты контактов от наводок (используется для памяти RIMM, которая почти сошла с производства), MicroDIMM с 60 контактами для субноутбуков и ноутбуков.

Кроме того, существует низкопрофильная (Low profile) память, которая имеет пониженную высоту платы для установки в низкопрофильных корпусах. Отметим также, что некоторые платы, работающие на повышенных частотах могут иметь радиатор в виде пластинок.

Установка памяти. Для установки модулей памяти SIMM нужно вначале снять крышку системного блока, извлечь старые модули (если это необходимо) и установить платы так, как это описано выше. Старые платы могут потребовать установки перемычек при добавлении памяти. Далее нужно закрыть крышкой системный блок. При работе помните об электростатическом электричестве, модули при перевозке из магазина должны находиться в антистатических мешочках, при установке микросхем нельзя касаться пальцами контактов, так как на пальцах имеется жир, который может стать причиной плохого контакта. Устанавливая модули, не нажимайте сильно на них, иначе можно повредить материнскую плату. При неудобствах установки лучше снять материнскую плату. Если модуль не устанавливается, то, может быть, вставляется не той стороной, и в этом случае попробуйте перевернуть модуль. Карты SIMM вставляются наклонно, а платы DIMM - вертикально.

Затем нужно проверить, определила ли система наличие памяти, размер которой можно узнать из программы BIOS. Можно также запустить тестовую программу для проверки установленной памяти, нет ли дефектов в какой-либо микросхеме.

Замечания. Микросхемы памяти существенно меньше, чем корпус, в котором они находятся, однако для того, чтобы было удобно их монтировать, и для соблюдения температурного режима применяется именно такая конструкция.

Карта расширения памяти использовалась для 286 потому, что материнская плата не имела специального слота для памяти. Эта карта подключалась к системной шине и требовала специального драйвера с определенным стандартом, который назывался Lim (Lotus, Intel, Microsoft).

Первые стандартные платы для новых процессоров Pentium имели, как правило, два вида разъемов для оперативной памяти: SIMM и DIMM, каждый из которых называется банком, причем их нумерация начинается с нуля (Банк0, Банк1 и так далее), однако многие платы не позволяют использовать оба эти типа памяти на плате. Банки заполняются последовательно, то есть вначале нужно установить Банк0, затем Банк1. Таким образом, нельзя установить только один Банк1. Можно попробовать определить, какая память находится на пластине: с контролем четности или нет. Если на пластине имеется 8 микросхем, то она без контроля, если девять - то с контролем. Понятно, что это связано с наличием девятого бита в байте, который используется для проверки четности. В настоящее время платы для процессоров Pentium выпускаются только с разъемами DIMM.

Существовала специальная плата-преобразователь, которая вставлялась в разъем SIMM, а в нее модули памяти, то есть, если заняты все разъемы SIMM, то их можно установить на преобразователь и получить свободные разъемы, куда можно добавить дополнительно оперативную память.

Номера банков оперативной памяти иногда маркируют на материнской плате.

При сбоях в работе оперативной памяти следует протереть ластиком контакты и вставить ее снова, затем поменять платы между собой. Если память заработала, то причиной мог быть плохой контакт, так как графическая плата потребляет много энергии и довольно сильно нагревается. Поэтому при установке нужно ее разместить таким образом, чтобы между ней и другими платами было свободное пространство, желательно около вентилятора. При этом нужно проследить, чтобы лопасти вентилятора не касались проводов, иначе он выйдет из строя.

Маркировка. На платах может встретиться маркировка 1/ /9/ /70, которая обозначает 1 - с проверкой четности (9 - число микросхем), 70 - время доступа в наносекундах. Чем оно меньше, тем лучше, но должно поддерживаться всеми устройствами, прежде всего материнской платой.

Последняя цифра часто определяет время доступа в наносекундах, которое может определять как само значение, так и в десять раз меньшее. Например, время доступа в 70 наносекунд может быть маркировано как 70 или просто -7. Значения для SDRAM могут быть –10 (означает 50 нс), –12 (60 нс) и –15 (70 нс).

В новых микросхемах вначале при помощи нескольких символов указывается название компании- производителя, например, M (компания OKI), TMM (Motorola), МТ – Micron, GM – LG и т.д. Каждая из компаний имеет код – вид шифра, о котором можно узнать через систему Интернет, обратившись на страницу компании-изготовителя.

Кэш- память

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

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

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

Принципы организации кэш-памяти. Кэш с прямым отображением (Direct-mapped cache) частичный или наборно-ассоциативный (Set-associative cache). Как он работает? Адрес данного, которое нужно прочитать, делится на три части. Первая называется тэгом, вторая определяет строку, третья столбец. Кэш организован в виде таблицы из строк определенной длины, например, по 1+16=17 байт, где в первой ячейке содержится значение тэга, а далее находится 16 значений данных. Получив адрес (например, 123003Аh), он делится на три части: тэг (123h), номер строки (003h) и номер столбца (Аh). В данном примере приведено условное разбиение, так как размерность чисел может быть другой. По номеру определяется номер строки, в нашем примере он равен 4 (003h, где – 000h-первая строка, 001h-вторая, 002hтретья, 003h - четвертая и т.д.). В начале строки имеется значение тэга, которое сравнивается с тэгом полученного адреса (123h). При их соответствии происходит выборка или запись данного из соответствующей позиции (Аhодиннадцатое значение, также 0hдля первого, 1hдля второго, … Аhдля одиннадцатого); если они не соответствуют, то нужного данного в кэш-памяти нет и оно выбирается из оперативной памяти. Данный тип кэш-памяти используется в 386 процессорах.

Полностью ассоциативная архитектура может хранить строку данных в любом месте кэш-памяти. Адрес, по которому данное считывается, делится на две части: тэг и номер в строке. При необходимости считывания или записи происходит проверка тэгов во всей кэш-памяти и данное выбирается, если имеется совпадение. В этом методе требуется уже больше действий для нахождения данного, так как нужно просматривать значения всех тэгов в памяти, то есть больше аппаратных затрат.

Наборно-ассоциативная архитектура использует комбинацию вышеуказанных методов и является наиболее распространенной. В этом случае несколько строк объединяются в так называемые наборы. Адрес делится на три части, третья, как и раньше, определяет номер данного в строке, средняя – номер набора, а первая часть является тэгом. По средней части адреса определяется набор, где ищется строка, которая имеет в начале номер тэга, совпадающий с первой частью адреса данного. Если она имеется, то данные пересылаются из кэш-памяти в центральный процессор, если нет, то операция производится с оперативной памятью.

Многие процедуры используют кэш-память для данных и кэш отдельно для команд центрального процессора. Этот метод называется Гарвардским. Если такого разделения нет, то метод называется Принстонским.

Кроме вышеуказанных методов, кэш-память может быть организована различными способами.

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

Метод буферизации сквозной записи (Buffered write through) является усовершенствованием предыдущего метода. При нем центральный процессор записывает несколько данных в буфер и может продолжать работу в то время, когда данные записываются в кэш-память, и эти данные затем будут перенесены в оперативную память независимо от центрального процессора методом сквозной записи.

Метод обратной записи (Write Back) позволяет после записи в кэш-память не записывать данные в оперативную память. Запись в нее будет происходить после записи всей строки во время обновления строк. Этот метод более быстрый и требует больше затрат аппаратных средств. В последнее время наблюдается переход на этот метод в современных процессорах.

В компьютерной литературе порой вкладывается разный смысл в названия кэш-памяти L1, L2. Иногда L1 обозначает кэш-память, находящуюся в процессоре, иногда в картридже. Мы же примем следующее обозначение: L1- кэш-память, которая находится в процессоре, L2 - в картридже, L3 - на материнской плате. На практике может быть иное наименование у разных фирм-производителей центральных процессоров, например, Intel и AMD.

Кэш первого уровня. Кэш-память находится внутри процессора и поэтому обращение к ней происходит с большей скоростью, чем по системной шине. Кэш-память в первых моделях содержала данные и команды в одной области. Потом она стала делиться на две части, одна из которых хранит машинные инструкции, другая - непосредственно данные, что увеличило эффективность работы компьютера. В некоторых процессорах появилась третья область – буфер ассоциативных трансляции для перевода виртуальных адресов в физические. Кэш первого уровня работает на частоте процессора. Объем ее небольшой, до 128 Кбайт.

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

Кэш третьего уровня. В 486 компьютерах этот вид памяти стал встраиваться на материнскую плату. Эта память в то время называлась кэш-памятью второго уровня. В силу того, что данный кэш работает уже не на внутренней частоте центрального процессора, а на внешней, то скорость передачи данных к данной кэш-памяти ниже, чем к кэшу первого уровня. Это происходит потому, что внутренняя частота выше, чем внешняя. Так как оперативная память и кэш-память третьего уровня работают на одной частоте, а чтение/запись происходит к кэш-памяти за один такт (в старых компьютерах – за 2 и более), то она также имеет преимущества перед оперативной памятью и увеличивает производительность компьютера. Затем кэш третьего уровня стал называться кэш, находящемся на кристалле процессора (Pentium IV, достигая 4 Мб, в современных до 24 мегабайт).

В некоторых компьютерах может использоваться кэш четвертого уровня (обычно для серверов).

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

Проблемы при работе с кэш-памятью. При работе с кэш-памятью могут возникнуть ошибочные ситуации, когда кэш-память еще не записала данные в оперативную память, а другое устройство (например, через канал DMA) пытается считать данные из памяти по этому же адресу, но получает уже старые данные. Чтобы этого не случилось, контроллер снабжен специальной подсистемой, которая определяет, кто обращается в оперативную память. Кроме того, возможен случай, когда в кэш-памяти находятся значения из ROM-памяти (только для чтения). Это реализовано для того, чтобы данные, хранящиеся в ROM-памяти, можно было считывать быстрее, так как они обычно чаще востребованы. Однако использовать кэш-память для записи в ROM нельзя, так как это может привести к ошибкам.

Второй ошибочный случай при работе с кэш-памятью возможен, когда данные из оперативной памяти считываются, а в это время через канал DMA туда же записываются новые данные. Те же проблемы могут возникать при использовании многопроцессорных систем, в которых каждый процессор применяет свою кэш-память. Чтобы не возникало таких случаев, все эти варианты должен отслеживать контроллер кэш-памяти, которому надлежит определить, что и в какой последовательности должно быть записано в оперативную и кэш-память. Однако он не всегда справляется с этими задачами.

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

Для кэш-памяти используется не динамические, а статические модули памяти. Несколько DIP элементов устанавливаются на материнскую плату. Кэш-память состоит из трех частей: контроллера, памяти для данных и памяти для команд. Первые процессоры с кэш-памятью имели контроллер и одну область памяти как для данных, так и для команд, однако в дальнейшем они стали разделяться. Как правило, кэш-память, располагаемая в процессоре, работает на той же тактовой частоте, что и процессор, на картридже имеет примерно половинную частоту, а на материнской плате - частоту системной шины. В современных компьютерах кэш-память на материнскую плату не устанавливается.

Производительность. Отключение кэш-памяти первого уровня иногда может понизить производительность системы в несколько раз для некоторых видов программ. Как правило, скорость работы данных микросхем бывает 20, 15, 12 нс и меньше, что позволяет выполнять пакетный цикл 2-1-1-1 на частоте 33 Мгц. Использование кэш-памяти 2-го уровня увеличивает производительность системы на 10-20 % (иногда указывается 20-30 %), что зависит от вида программ, которые используются. Практически рост производительности прекращается после 1 Мб, оптимальным является наличие 512 Кб (для кэш-памяти 2-го уровня).

В некоторых книгах рассматривается еще один уровень кэш-памяти, которая определяется фактически как размер буфера, находящегося в оперативной памяти и используемого для улучшения работы с некоторыми периферийными устройствами (жесткий диск, оптические дисководы и другие).

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

Как правило, когда вы приобретаете материнскую плату, на ней уже находится кэш-память второго уровня размером 256, 512, 1 Мб памяти. Однако некоторые платы могут иметь гнезда для установки микросхем. Так, может быть установлен разъем COAST (Cache On A Stick – кэш на пластине), которая в настоящий момент не имеет установленных стандартов, поэтому память разных производителей может не соответствовать друг другу и не вставляться в гнездо. Лучше всего покупать материнскую плату вместе с памятью. Второй вид гнезда называется CELP (Card Edge Low Profile - край платы с низким профилем).

Микросхемы для кэш-памяти, так же, как и оперативная память, разбиваются на банки, которых может быть более одного. В банке должна находиться память, соответствующая разрядности системной шины, а максимальный объем ограничен возможностями системной платы. Установленные микросхемы должны быть однотипными, а многие установки параметров задаются через BIOS.

Sync SRAM (Synchronous Static RAM - синхронная статическая RAM), или Sync Burst SRAM, или SB SRAM – память, оптимизированная под пакетный режим операций, работает с временем доступа 8,5-13,5 нсек. Имеет при частоте системной шины более 75 Мгц диаграмму 3-2-2-2, при меньшей – 2-1-1-1.

PB SRAM (The Pipelined Burst Static RAM - конвейерная пакетная статическая RAM) - наиболее современный вид памяти, является развитием Sync SRAM.

Async SRAM (Asynchronous Static RAM - асинхронная статическая RAM) - самый старый вид памяти со временем доступа от 12 до 20 нсек с диаграммой 3-2-2-2 при частоте шины более 33 Мгц. Так как не поддерживает синхронные обращения, то производительность имеет небольшую.

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

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

  Тип кэш- памяти определяется материнской платой либо устанавливается при помощи джамперов, используя переключатели, можно устанавливать ее размер. Саму кэш-память можно отключить при помощи BIOS.
(переход на следующую страницу)

 

О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О











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

Запрещается использовать материалы для получения личной финансовой выгоды, а также размещать на сайтах в интернете.


 
 
 
Яндекс.Метрика


Каталог@MAIL.RU - каталог ресурсов интернет