18 Организация и устройство оперативной памяти в ПК Оперативная память (ОП) или ОЗУ - спциальная внутренняя память ЭВМ, позволяющая быстро записывать в нее и считывать из нее необходимую информацию. Однако информация в этой памяти хранится лишь до отключения питания компьютера, по этому ее иногда называют энергозависимой, временной памятью, или RAM (Random Access Memory - память произвольного доступа). Обычно в ПК используется DRAM - динамическая память. При этом во время работы компьютера информация может постоянно обновляться. В ОЗУ находятся элементы текстов, числовые данные, программные коды и другая информация, необходимая для выполняющихся в данный моммент программ. В настоящее время достаточно широко используется кеш-память. Она бывает внутренняя (встроенная в процессор) или внешняя. Внешняя - это сверхоперативная память, расположенная как будфер между процессором и ОЗУ и повышающая производительность ОП. Она служит для уменьшения количества тактов ожидания процессора при обращении к более медленной RAM. Для доступа к памяти с целью записи или чтения отдельных элементов информации, будь то слова или байты, необходимы имена или адреса, определяющие их расположение в памяти. В качестве адресов традиционно используются числа из диапазона от 0 до 2(в степ. k)-1 со значением k, достаточным для адрессации всей памяти компьютера. Все 2(в степ. k) адресов составляют адресное пространство компьютера. Следовательно, память состоит из 2(в степ. k) адресуемых элементов. Например 32-разрядным адресам соответствует адресное пространство из 2(в степ. 32) или 4 Гб элементов. Существует 2 способа адрессации байтов в словах: а) в прямом порядке (little-endian) - байты адресуются справа налево, так что наименьший адрес имеет самый младший байт слова (расположеный с правого ряда) б) в обратном порядке (big-endian) - байты адресуются слева направо, так что самый старший байт слова (расположенный с левого края) имеет наименьший адрес. Доступ к числам, символам и символьным строкам Обычно число занимает целое слово. Поэтому для того чтобы ообратиться к нему в памяти, нужно указать адрес слова, по которому это число хранится. Точно так-же доступ к отдельно хранящемуся в памяти символу существляется по адресу его байта. Во многих приложениях необхгодимо обрабатывать строки символов переменной длины. Для доступа к такой строке нужно указать адрес байта, в котором хранится ее первый символ. Существует два способа определения длины строки. Первый из них заключается в использовании специального управляющего симовла, обозначающего конец строки и являющегося пе последним символом. Второй способ состоит в использовании отдельного слова памяти или регистра процессора, содержащего число, которое определяет длину строки в байтах. Операции с памятью И команды программ, и данные, являющиеся операндами этих команд, хранятся в памяти. Для выполнения команды управляющие схемы процессора должны инициировать пересылку содержащего ее слова или слов из памяти в процессор. Операнды и результаты также должны пересылаться между памятью и процессором. Таким образом, для выполнения команды программы необходимо произвести 2 операции с памятью: - Load (или Read или Fetch) - т.е. загрузка (или чтение, или выборка соответственнор) - Store (или Write), т.е. сохранение (или запись) Операция загрузки, пересылает в процессор копию содержимого памяти по заданному адресу. При этом содержимое памяти остается неизменным. Для того чтобы начать операцию загрузки, процессор отсылает в память адрес и запрашивает содержимое памяти по этому адресу. Из памяти считываются соответствующие данные и пересылаются в процессор. Операция сохранения пересылает элемент информации из процессора в память по заданному адресу, уничтожая предыдущие данные, хранившиеся по этому адресу. Для выполнения такой операции процессор отсылает в память данные и адрес, по которому они должны быть записаны. Информацию из одного слова или одного байта можно пересылать между процессором и памятью за одну операцию. Процессор содержит небольшое количество регистров, вмещающих по одному слову. Эти регистры служат либо источниками, либо приемниками данных, пересылаемых в память и из памяти. Пересылаемый байт обычно располагается в младшей (крайний справа) позиции в регистре. Взаимодействие с памятью происходит через: - шину чтения-записи; - адресную шину; - информационную шину; По шине чтения-записи сообщается тип производимой операции (считывание из памяти или запись в нее). Сигналы подаваемые на адресную шину определяют область памяти из которой (в которую) ведется считываение (запись) а по информационной шине передается считаннаая (записанная) информация. Система прямого доступа к памяти Процессор способен считывать данные из негокоторого устройства и записывать их в память. Подобные действия может выполнять и система прямого доступа к памяти (DMA - Direct Memory Access) и таким образом освобождать процессор от этой работы. Запоминающее устрйоство в каждый момент времени обрабатывает только один запрос. Однако система прямого доступа к памяти достаточно "интеллектуальна" и в состоянии задержать запрос процессора, пока сама реализует обращение. Таким образом, процессор и система прямого доступа к памяти поочередно работаютс запоминающим устройством, причем процессор время от времени находится в состоянии ожидания, пока освободиться память. Режимы процессора В зависимости от режима процессора изменяется схема управления памятью системы и задачами Процессоры могут работать в 3х режимах: - реальном - защищенном - виртуальном реальном режиме (реальном внутри защищенного) Реальный режим 16ти-разрядный режим, в котором выполнялись команды процессоров i8086 и i80286 был назван реальным режимом. Все программы выполняющиеся в реальном режиме должны использовать только 16-ти-разрядные команды, 20-разрядные адреса и поддерижваться архитектурой памяти, расчитанной на емкость до 1 Мбайт. (!!!) Для программного обеспечения этого типа обычсно используется однозадачный режим, т.е. одновременно может выполняться только одна программа. Нет никакой встроенной защиты для предотвращения перезаписи ячеек памяти одной программы или даже операционной системы другой программой. Это означает, что при выполнении нескольких программ вполне могут быть испорчены данные или код одной из них, а это может привести всю систему к краху (или останову); Защищенный режим Новый метод адрессации памяти позволяет изолировать адресные пространства отдельных задач друг от друга. При этом прикладная программа работающая в среде ОС, использующей защищенный режим, не может случайно или намеренно разрушить целостность самйо ОС, она может записывать данные только в те области памяти, которые выделены ей ОС. Размер ОП предоставляемой программам, ограничен размером свободного дискового пространства. Виртуальный реальный режим Этот режим реализуется в рамках защищенного режима (процессор может переключиться в виртуальный режим, только из защищенного режима). В виртуальном режиме процессор способен выполнять программы, находять с защищенном режиме и используя аппаратные средства защищенного режима: мультизадачность, изолирование адресных пространств отдельных задач друг от друга, страничная виртуальная память. Устройство и принципы фукнционирования ОП Память состоит из множества ячеек каждая из которых хранит всего один бит информации. на физическом уровне ячейки объединяются в прямоугольную матрицу, горизонтальные линейки которй называются строками, а вертикальные - столбцами или страницами. Динамическая память представляет собой памяить разового действия - т.к. чтение ячейки разряжает конденсатор. По этому во избежание потери информации считанную строку приходится тут-же перезаписывать вновь. Саморазряд конденсатора вызывает малое время хранения информации. Для борьбы с забывчивостью памяти прибегают к ее регенерации - периодическому считыванию ячеек с последющей перезаписью. Модули ОП ОП стрится на базе относительно недорогой динамической памяти. В то же время на мощных компьютерах или серверах устанавливается более дорогая статическая память SRAM. Её основное отличие состоит в том, что в качестве ячейки здесь выступает статический триггер, что исключает стекание заряда, и соответственно необходимость в регенерации такой памяти отпадает. DIMM - модуль памяти с двойным располозением выводов. SDRAM - динамическое озу с синхронным интерфейсовм, - микросхемы памяти работают синхронно с контроллером, что гарантирует завершение цикла в строго заданный срок. номера строк и столбцов подаются одновременно, для того, чтобы к приходу следующего тактового импульса сигналы уже успели стабилизироваться и были готовы к считыванию. SDRAM II - DDR SDRAM - позволяет увеличить частоту за счет работы на обеих границах тактового сигнала, т.е. на подъеме и спаде.