Сайт о телевидении

Сайт о телевидении

» » SuperRAM от AMIC Technology. Оперативные запоминающие устройства

SuperRAM от AMIC Technology. Оперативные запоминающие устройства


Статическая и динамическая оперативная память

Оперативная память - совокупность специальных электронных ячеек, каждая из которых может хранить конкретную 8-значную комбинацию из нулей и единиц - 1 байт (8 бит). Каждая такая ячейка имеет адрес (адрес байта) и содержимое (значение байта). Адрес нужен для обращения к содержимому ячейки, для записи и считывания информации. Оперативное запоминающее устройство (ОЗУ) хранит информацию только во время работы компьютера. Емкость оперативной памяти современного компьютера 32-138 Мбайт.
При выполнении микропроцессором вычислительных операций должен быть в любой момент обеспечен доступ к любой ячейке оперативной памяти. Поэтому ее называют памятью с произвольной выборкой - RAM (Random Access Memory). Оперативная память выполнена обычно на микросхемах динамического типа с произвольной выборкой (Dynamic Random Access Memory, DRAM). Каждый бит такой памяти представляется в виде наличия (или отсутствия) заряда на конденсаторе, образованном в структуре полупроводникового кристалла. Другой, более дорогой тип памяти - статический (Static RAM, SRAM) в качестве элементарной ячейки использует так называемый статический триггер (схема которого состоит из нескольких транзисторов). Статический тип памяти обладает более высоким быстродействием и используется, например, для организации кэш-памяти.

Статическая память
Статическая память (SRAM) в современных ПК обычно применяется в качестве кэш-памяти второго уровня для кэширования основного объема ОЗУ. Статическая память выполняется обычно на основе ТТЛ-, КМОП- или БиКМОП-микросхем и по способу доступа к данным может быть как асинхронной, так и синхронной. Асинхронным называется доступ к данным, который можно осуществлять в произвольный момент времени. Асинхронная SRAM применялась на материнских платах для третьего - пятого поколения процессоров. Время доступа к ячейкам такой памяти составляло от 15 нс (33 МГц) до 8 нс (66 МГц).
Для описания характеристик быстродействия оперативной памяти применяются так называемые циклы чтения/записи. Дело в том, что при обращении к памяти на считывание или запись первого машинного слова расходуется больше тактов, чем на обращение к трем последующим словам. Так, для асинхронной SRAM чтение одного слова выполняется за 3 такта, запись - за 4 такта, чтение нескольких слов определяется последовательностью 3-2-2-2 такта, а запись - 4-3-3-3.
Синхронная память обеспечивает доступ к данным не в произвольные моменты времени, а синхронно с тактовыми импульсами. В промежутках между ними память может готовить для доступа следующую порцию данных. В большинстве материнских плат пятого поколения используется разновидность синхронной памяти - синхронно-конвейерная SRAM (Pipelined Burst SRAM), для которой типичное время одиночной операции чтения/записи составляет 3 такта, а групповая операция занимает 3-1-1-1 такта при первом обращении и 1-1-1-1 при последующих обращениях, что обеспечивает ускорение доступа более, чем на 25%.

Динамическая память
Динамическая память (DRAM) в современных ПК используется обычно в качестве оперативной памяти общего назначения, а также как память для видеоадаптера. Из применяемых в современных и перспективных ПК типов динамической памяти наиболее известны DRAM и FPM DRAM, EDO DRAM и BEDO DRAM, EDRAM и CDRAM, Synchronous DRAM, DDR SDRAM и SLDRAM, видеопамять MDRAM, VRAM, WRAM и SGRAM, RDRAM.
В памяти динамического типа биты представляются в виде отсутствия и наличия заряда на конденсаторе в структуре полупроводникового кристалла. Конструктивно она выполняется в виде модуля SIMM (Single in line memory module). Каждый бит информации записывается в отдельной ячейке памяти, состоящей из конденсатора и транзистора. Наличие заряда на конденсаторе соответствует 1 в двоичном коде, отсутствие - 0. Транзистор при переключении дает возможность считывать бит информации или записывать новый бит в пустую ячейку памяти.
Поиск ячейки по адресу осуществляется специальными дешифрующими схемами, которые образуют матрицу, то есть пересекают кристалл памяти двумя полосами - по горизонтали и вертикали. Когда центральный процессор сообщает адрес ячейки, горизонтальные дешифраторы указывают нужный столбец, а вертикальные - строку. На пересечении находится искомая ячейка. После нахождения ячейки происходит выборка их нее байта данных.

Динамическая память (DRAM) - это тип памяти с произвольным доступом, используемый в вычислительных устройствах, и в первую очередь на ПК. DRAM хранит каждый бит данных в отдельном пассивном электронном компоненте, который находится внутри интегральной платы. Каждый электрический компонент имеет два состояния значения в одном бите, называемом 0 и 1. Он должен часто обновляться, иначе информация исчезает. DRAM имеет один конденсатор и один транзистор на бит, в отличие от статической памяти произвольного доступа (SRAM), которая требует 6 транзисторов. Используемые конденсаторы и транзисторы исключительно малы. Существуют миллионы конденсаторов и транзисторов, которые подходят к одному чипу памяти.

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

Идея технологии DRAM появилась относительно рано на временной шкале полупроводниковых интегральных схем. Ранняя форма была применена в калькуляторе Toshiba, который был выпущен в 1966 году из дискретного компонента, а затем через два года идея была запатентована. Следующий этап разработки технологий произошел в 1969 году, когда Honeywell, который вошел на компьютерный рынок, попросил Intel изготовить динамическую память, используя три идеи транзисторных ячеек. Полученная ИС DRAM была названа Intel 1102 и появилась в начале 1970 года. Однако у устройства было несколько проблем, после чего Intel разработал новую технологию, которая работала более надежно.

Полученное новое устройство появилось в конце 1970 года и получило название Intel 1103. Технология продвинулась еще дальше, когда в 1973 году MOSTEK выпустил свой MK4096. Как показывает номер детали, устройство имело емкость 4 к. Главным его преимуществом было то, что он включал мультиплексированный подход к строкам и столбцам. Этот новый подход позволил вписаться в пакеты с меньшим количеством контактов. В результате преимущество в стоимости выросло по сравнению с предыдущими подходами при каждом увеличении объема памяти.

Это позволило технологии MOSTEK получить более 75 % доли мирового рынка. В конце концов MOSTEK проиграл японским производителям, поскольку они смогли производить более качественные устройства по более низкой цене.

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

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

DRAM — это один из вариантов полупроводниковой памяти, которым разработчик системы может использовать при создании компьютера. Альтернативные варианты памяти включают статическое ОЗУ (SRAM), электрически стираемая программируемая память только для чтения (EEPROM), NOR Flash и NAND Flash. Во многих системах используется более одного типа памяти.

Типы печатных плат и системы считывания

Три основных типа печатных плат, которые содержат микросхемы памяти — это два встроенных модуля памяти (DIMM), однострочные модули памяти (SIMM) и модули памяти Rambus в линейке (RIMM).

Сегодня большинство материнских плат используют модули DIMM. Частота обновления модуля для DRAM составляет каждые несколько миллисекунд (1/1000 секунды). Это обновление выполняется контроллером памяти, расположенным на чипсете материнской платы. Поскольку логика обновления используется для автоматического обновления, плата DRAM является довольно сложной.

Существуют различные системы, используемые для обновления, но для всех методов требуется, чтобы счетчик отслеживал строку, которая должна быть обновлена следующим образом. Ячейки DRAM организованы в виде квадратного набора конденсаторов, обычно 1024 на 1024 ячеек. Когда ячейка находится в состоянии «прочитано», считывается целая строка, и обновление записывается обратно. Когда в состоянии «записи», целая строка «считывается», изменяется одно значение, а затем вся строка переписывается.

В зависимости от системы есть чипы DRAM, которые содержат счетчик в то время, как другие системы полагаются на логику обновления периферийного устройства. Время доступа составляет около 60 наносекунд, в то время как SRAM может достигать 10 наносекунд. Кроме того, время цикла DRAM намного длиннее, чем у SRAM. Время цикла короче, потому что ему не нужно останавливаться между обращениями и обновлениями.

DRAM является преемником SRAM. Дизайнеры памяти уменьшили количество элементов на бит и исключили дифференциальные разрядные линии, чтобы сохранить область чипа для создания DRAM. В результате ее дешевле производить, чем SRAM. Но SRAM сохраняет некоторые преимущества перед DRAM. Сравнение статической и динамической памяти:

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

Существует много типов или интерфейсов для связи с DRAM. Они включают в себя с быстрым режимом страницы (FPM DRAM), расширенные данные из DRAM (EDO RAM) и синхронную DRAM (SDRAM). SDRAM это общее название для типов DRAM, синхронизированных с тактовой частотой от микропроцессора. Они включают SDRAM с одной скоростью передачи данных (SDR), SDRAM с двойной скоростью передачи данных (DDR), DDR2 SDRAM, DDR3 SDRAM и DDR4 SDRAM.

Принцип работы RAM

Устройства динамической памяти имеют технологию MOS, лежащую в основе проектирования, изготовления и эксплуатации. Посмотрев, как работает память DRAM, можно видеть, что в базовой памяти RAM или DRAM используется конденсатор для хранения каждого бита данных и передающее устройство — MOSFET, которое действует как коммутатор.

Уровень заряда на конденсаторе ячейки памяти определяет, является ли этот конкретный бит логическим «1» или «0» — наличие заряда в конденсаторе указывает логику «1», а отсутствие заряда указывает логическое «0». Динамическое распределение памяти RAM имеет определенный формат, в результате чего он может быть плотно упакован на кремниевый чип, и это делает его очень дешевым. Две строки соединены с каждой динамической ячейкой RAM - линия Word (W / L) и линия бит (B / L), так что требуемая ячейка внутри матрицы может считывать или записывать данные.

Базовая ячейка

Показанная базовая ячейка памяти была бы одной из многих тысяч или миллионов таких ячеек в полном чипе памяти. Они могут иметь емкость 256 Мбит и более. Чтобы улучшить возможности записи и чтения и скорость, выполняют динамическое выделение памяти c разделением на подматрицы. Наличие нескольких подмассивов сокращает слова и битовые строки, и это сокращает время доступа к отдельным ячейкам. Например, динамическое ОЗУ 256 Мбит, DRAM может быть разделено на 16 меньших 16 Мбит массивов.

Линейные управляют входом линий передачи, в то время как битовые бины подключены к каналу FET и в итоге подключены к усилителям чувствительности. Существует два способа организации битовых строк:

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

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

Одним из ключевых элементов памяти DRAM является тот факт, что данные периодически обновляются. Обычно производители указывают, что каждая строка должна обновляться каждые 64 мс. Этот временной интервал соответствует стандартам JEDEC для динамических периодов обновления RAM.

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

Независимо от того, какой метод используется, необходимо, чтобы счетчик мог отслеживать следующую строку в памяти DRAM, которая должна быть обновлена. Некоторые чипы включают счетчик, в противном случае для этой цели необходимо добавить дополнительное устройство. Может показаться, что схемы обновления, необходимые для памяти DRAM, усложнят общую схему памяти и делают ее более дорогой. Однако обнаружено, что дополнительная схема не является серьезной проблемой, если ее можно интегрировать в чип памяти. И также обнаружено, что эта память намного дешевле и имеет гораздо большую емкость, чем у другого основного соперника — статического ОЗУ (SRAM).

Отношение сигнал/шум

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

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

Чипы памяти DRAM широко используются, и технология очень хорошо зарекомендовала себя. А чипы памяти и плагины доступны для расширения памяти компьютеров и многих других устройств. Хотя DRAM имеет свои недостатки, она по-прежнему широко используется, поскольку предлагает множество преимуществ с точки зрения размера затрат и удовлетворительной скорости, она не самая быстрая, но все же намного быстрее, чем некоторые другие типы памяти.

В семействе памяти DRAM существует несколько типов, включая асинхронные, синхронные, EDO, BEDO, FPM и другие. Помимо типа технологии памяти, она также может содержаться в нескольких типах пакетов IC. DRAM также доступен в форматах модулей и имеется несколько типов модулей памяти, включая модули DIMM, SIMM, RIMM и т. п. Таким образом, необходимо иметь представление обо всех различных типах DRAM и форматах, в которых память может быть получена, установлена и использована.

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

Выделение памяти

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

Динамическое выделение памяти имеет два основных типа:

  1. Распределение статической памяти, программе выделяется память во время компиляции.
  2. Динамическое распределение памяти, программы распределяются с памятью во время выполнения.

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

Оптимизация использования памяти

Динамическая память arduino выполнена в виде flash.Там где сама программа хранится и не может быть изменена, кроме случаев, когда пользователь загружает новую программу, называемую «эскизом», с компьютера, и сохраняет то, что загрузил, даже если питание отключено. Когда проверяют или загружают эскиз, ПК сообщит в окне, сколько флэш есть и сколько использовано, если включен «подробный режим» в настройках.

Каждый раз, когда загружается новый эскиз, он перезаписывает старый. Arduino одномоментно имеет только одну программу, и когда в Arduino подается питание, программа запускается навсегда. Большинство современных Arduinos имеют около 32 тыс. флэш-памяти, что довольно мало и ограничивает размер программ (эскизов), которые вам можно загрузить. Но SRAM - реальный предел для многих вещей. Пользователю действительно нужно быть осторожным в планировании, чтобы свести к минимуму то, что действительно нужно сохранить. И если пытаются использовать слишком много — Arduino просто не сработает. Пользователь даже не сможете выполнить самые минимальные отладочные действия, пока не будет перезагружен ПК.

SRAM — самый ценный товар памяти на Arduino. Хотя недостатки SRAM, вероятно, являются наиболее распространенными проблемами памяти на Arduino. Их трудно диагностировать. Если программа терпит неудачу необъяснимым образом, есть хорошие шансы, что пользователь разбил стек из-за нехватки SRAM. Есть ряд вещей, которые можно сделать для сокращения использования SRAM:

  1. Удалить неиспользуемые переменные.
  2. Зарезервировать строки.
  3. Переместите постоянные данные в PROGMEM.
  4. Уменьшение размеров буфера.
  5. Уменьшение негабаритных переменных.

Любая переменная, которую пользователь определяете либо в верхней части программы, внутри функции, либо даже «на лету» в чем-то вроде цикла for, скорее всего, будет использовать SRAM, хотя некоторые переменные никогда не хранятся в SRAM. Каждый раз, когда Arduino запускается с помощью включения или сброса, все его переменные повторно инициализируются по умолчанию, и ей необходимо повторно изучить среду, с которой она работает.

Работа с динамической памятью - важный важный аспект, который следует учитывать при разработке системы. На самом деле, есть третий вид памяти - EEPROM, который можно записать, и он будет сохранен в случае прерывания питания. Arduino может записывать 300 EEPROM в секунду, если пользователь будет неосторожен, то теоретически такая скорость может уничтожить ячейку памяти через 5 минут, а весь EEPROM - через два дня.

Статическая и динамическая оперативная память

Глава 7. Запоминающие устройства ПК

После изучения главы вы должны знать:

запоминающие устройства трех уровней внутренней памяти ПК: микропроцессорную, основную и буферную кэш-память, их назначение, основные характеристики;

физическую и логическую структуру основной памяти, ее модули:SIPP,SIMM, DIMM и типы: DRAM, SDRAM, DRDRAM, DDRDRAM;

методы адресации ячеек основной памяти;

принципы организации виртуальной памяти;

назначение кэш-памяти разных уровней.

Персональные компьютеры имеют три основных уровня памяти:

l микропроцессорная память (МПП);

l основная память(ОП);

l внешняя память (ВЗУ).

К этим уровням добавляется промежуточная буферная или кэш-память. Кроме этого многие устройства ПК имеют собственную локальную память.

Две важнейших характеристики (емкость памяти и ее быстродействие) трех основных типов памяти приведены в табл. 9.1.

Таблица 9.1. Сравнительные характеристики запоминающих устройств

Быстродействие первых двух типов запоминающих устройств измеряется временем обращения (t обр) к ним, а быстродействие внешних запоминающих устройств - двумя параметрами: временем доступа (t дост) и скоростью считывания (V счит):

l t обр - сумма времени поиска, считывания и записи информации (в литературе это время часто называют временем доступа, что не совсем строго);

l t дост - время поиска информации на носителе;

l V счит - скорость последовательного считывания смежных байтов информации.

Напомним общепринятые сокращения: с - секунда, мс - миллисекунда, мкс - микросекунда, нс - наносекунда; 1с = 10 6 мс = 10 6 мкс = 10 9 нс.

Статическая и динамическая оперативная память

Оперативная память может формироваться из микросхем динамического (Dynamic Random Access Memory - DRAM) или статического (Static Random Access Memory - SRAM) типа.

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

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

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

Кэш-память

Кэш-память имеет несколько уровней. Уровни l1, L2 и L3 это регистроваякэш-память - высокоскоростная память сравнительно большой емкости, являющаяся буфером между ОП и МП и позволяющая увеличить скорость выполнения операций. Регистры кэш-памяти недоступны для пользователя, отсюда и название кэш (cache), что в переводе с английского означает «тайник».

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

По принципу записи результатов в оперативную память различают два типа кэш-памяти:

l в кэш-памяти «с обратной записью» результаты операций прежде, чем их записать в ОП, фиксируются, а затем контроллер кэш-памяти самостоятельно перезаписывает эти данные в ОП;

l в кэш-памяти «со сквозной записью» результаты операций одновременно, параллельно записываются и в кэш-память, и в ОП.

Микропроцессоры, начиная от МП 80486, обладают встроенной в основное ядро МП кэш-памятью (или кэш-памятью 1-го уровня - L1), чем, в частности, и обусловливается их высокая производительность. Микропроцессоры Pentium имеют кэш-память отдельно для данных и отдельно для команд: у МП Pentium и Pentium Pro емкость этой памяти небольшая - по 8 Кбайт, у следующих версий МП Pentium по 16 Кбайт. У Pentium Pro и выше кроме кэш-памяти 1-го уровня есть и встроенная на микропроцессорную плату кэш-память 2-го уровня (L2) емкостью от 128 Кбайт до 2048 Кбайт. Эта встроенная кэш-память работает либо на полной тактовой частоте МП, либо на его половинной тактовой частоте.



Следует иметь в виду, что для всех МП может использоваться дополнительная кэш-память 2-го (L2) или 3-го (L3) уровня, размещаемая на материнской плате вне МП, емкость которой может достигать нескольких мегабайтов (кэш на MB относится к уровню 3, если МП, установленный на этой плате, имеет кэш 2-го уровня). Время обращения к кэш-памяти зависит от тактовой частоты, на которой кэш работает, и составляет обычно 1–2 такта. Так, для кэш-памяти L1 МП Pentium характерно время обращения 2–5 нс, для кэш-памяти L2 и L3 это время доходит до 10 нс. Пропускная способность кэш-памяти зависит и от времени обращения, и от пропускной способности интерфейса, и лежит в широких пределах от 300 до 3000 Мбайт/с.

Использование кэш-памяти существенно увеличивает производительность системы. Чем больше размер кэш-памяти, тем выше быстродействие, но эта зависимость нелинейная. Имеет место постепенное уменьшение скорости роста общей производительности компьютера с ростом размера кэш-памяти. Для современных ПКрост производительности, как правило, практически прекращается после 1 Мбайт кэш-памяти L2. Создается кэш-память L1, L2, L3 на основе микросхем статической памяти.

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

Основная память

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

Общие сведения. Статическая память (Static Random Access Memory – SRAM) способна сколь угодно долго хранить данные в отсутствие обращений (при наличии питающего напряжения), т.е. в статическом режиме. Ячейки статической памяти строятся на элементах с двумя устойчивыми состояниями (на бистабильных ячейках или триггерах). По сравнению с динамическими емкостными элементами памяти они проще в управлении и не требуют регенерации, однако являются более сложными в схемном отношении и занимают больше места на кристалле. Быстродействие и энергопотребление статической памяти определяются технологией изготовления и схемотехникой запоминающих ячеек. Самая экономичная КМОП-память (CMOS Memory) пригодна для длительного хранения данных при питании от маломощной батареи. Она применяется в памяти конфигурации персональных компьютеров. Время доступа КМОП-памяти составляет более 100 нс. Самая быстродействующая статическая память имеет время доступа в несколько наносекунд (и даже десятых долей наносекунды). Такая память способна функционировать на частоте системной шины совместно с процессором, не требуя от него тактов ожидания.

Типовой объем памяти современных микросхем SRAM достигает 1 Мбит и более. Существуют три разновидности микросхем статической памяти: Async SRAM, Sync Burst SRAM и Pipelined Burst SRAM. Относительно высокая удельная стоимость хранения данных при низкой плотности упаковки не позволяет использовать SRAM в качестве основной памяти компьютеров.

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

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

Таким образом, к основным особенностям статических ОЗУ следует отнести:

  • способность при включенном компьютере сколь угодно долго хранить данные (информацию) в отсутствие обращений. Такая способность обеспечивается бистабильными ячейками памяти с двумя устойчивыми состояниями, которые выполняются на биполярных или КМОП-структурах;
  • сравнительно высокое быстродействие микросхем на биполярных структурах (время доступа составляет единицы наносекунд), позволяющее работать синхронно с процессорами на частотах выше 500 МГц;
  • низкое энергопотребление КМОП-микросхем, обеспечивающее длительное хранение параметров системы ввода-вывода (BIOS);
  • сравнительно большие габариты микросхем и высокая стоимость , что связано с большим числом транзисторов и кластеризованным их размещением (используются кластеры из шести транзисторов);
  • типовой объем памяти микросхем SRAM достигает 1 Мбит и более;
  • основная область применения – кэш-память и память конфигурации компьютера.

□ tдост - время поиска информации на носителе;

□ Vсчит ~~ скорость считывания смежных байтов информации подряд (трансфер). Напомним общепринятые сокращения: с - секунда, мс - миллисекунда, мкс - микросекунда, нc - наносекунда; 1 с = 106мс = 106мкс = 109нс.

Статическая и динамическая оперативная память

Оперативная память может строиться на микросхемах динамического (Dinamic Random Access Memory - DRAM) или статического (Static Random Access Me­mory - SRAM) типа.

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

В динамической памяти ячейки построены на основе полупроводниковых облас­тей с накоплением зарядов (своеобразных конденсаторов), занимающих гораздо меньшую площадь, нежели триггеры, и практически не потребляющих энергии при хранении. Конденсаторы расположены на пересечении вертикальных и горизон­тальных шин матрицы; запись и считывание информации осуществляется подачей электрических импульсов по тем шинам матрицы, которые соединены с элемента­ми, принадлежащими выбранной ячейке памяти. При обращении к микросхеме на ее входы вначале подается адрес строки матрицы, сопровождаемый сигналом RAS (Row Address Strobe - строб адреса строки), затем, через некоторое время - адрес столбца, сопровождаемый сигналом С AS (Column Address Strobe - строб адреса столбца). Поскольку конденсаторы постепенно разряжаются (заряд сохраняется в ячейке в течение нескольких миллисекунд), во избежание потери хранимой ин­формации заряд в них необходимо постоянно регенерировать, отсюда и название памяти - динамическая. На подзаряд тратится и энергия и время, и это снижает производительность системы.

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

DIV_ADBLOCK23">

Микропроцессоры, начиная от МП 80486, имеют свою встроенную в основное ядро МП кэш-память (или кэш-память 1-го уровня - L1), чем, в частности, и обуслов­ливается их высокая производительность. Микропроцессоры Pentium имеют кэш­память отдельно для данных и отдельно для команд: у Pentium емкость этой памя­ти небольшая - по 8 Кбайт, у Pentium MMX - по 16 Кбайт. У Pentium Pro и выше кроме кэш-памяти 1-го уровня есть и встроенная на микропроцессорную плату кэш-память 2-го уровня (L2) емкостью от 128 до 2048 Кбайт. Эта встроенная кэш­память работает либо на полной тактовой частоте МП, либо на его половинной тактовой частоте.

Следует иметь в виду, что для всех МП может использоваться дополнительная кэш-память 2-го (L2) или 3-го (L3) уровня, размещаемая на материнской плате вне МП, емкость которой может достигать нескольких мегабайт (кэш на MB отно­сится к уровню 3, если МП, установленный на этой плате, имеет кэш 2-го уровня). Время обращения к кэш-памяти зависит от тактовой частоты, на которой кэш ра­ботает, и составляет обычно 1-2 такта. Так, для кэш-памяти L1 МП Pentium ха­рактерно время обращения 2-5 не, для кэш-памяти L2 и L3 это время доходит до 10 не. Пропускная способность кэш-памяти зависит и от времени обращения, и от пропускной способности интерфейса и лежит в широких пределах от 300 до 3000 Мбайт/с.

Использование кэш-памяти существенно увеличивает производительность систе­мы. Чем больше размер кэш-памяти, тем выше производительность, но эта зависи­мость нелинейная. Имеет место постепенное уменьшение скорости роста общей

производительности компьютера с ростом размера кэш-памяти. Для современных ПК рост производительности, как правило, практически прекращается после 1 Мбайт кэш-памяти L2. Создается кэш-память на основе микросхем статической памяти.

Примечание------ -

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

DIV_ADBLOCK25">

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

Основная память (ОП) содержит оперативное (RAM - Random Access Memory) и постоянное (ROM - Read Only Memory) запоминающие устройства.

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

элементов - полупроводниковых конденсаторов. Наличие заряда в конденсаторе обычно означает «1», отсутствие заряда- «О». Конструктивно элементы опера­тивной памяти выполняются в виде отдельных модулей памяти - небольших плат с напаянными на них одной или, чаще, несколькими микросхемами. Эти модули вставляются в разъемы - слоты на системной плате. На материнской плате может быть несколько групп разъемов (банков) для установки модулей памяти; в один банк можно ставить только блоки одинаковой емкости; блоки разной емкости можно устанавливать в разных банках.

DIV_ADBLOCK26">

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

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

Модули памяти бывают с контролем четности (parity) и без контроля четности (nоn parity) хранимых бит данных. Контроль по четности позволяет лишь обнару­жить ошибку и прервать исполнение выполняемой программы. Существуют и бо­лее дорогие модули памяти с автоматической коррекцией ошибок - ЕСС-память, использующие специальные корректирующие коды с исправлением ошибок (см. раздел «Обеспечение достоверности информации» главы 20).

ПРИМЕЧАНИЕ

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

https://pandia.ru/text/78/135/images/image006_129.gif" width="491">микросхемами памяти типа DIP. SIMM бывают двух разных типов: короткие на 30 контактов (длина 75 мм) и длинные на 72 контакта (длина 100 мм). Модули SIMM имеют емкость 256 Кбайт, 1,4, 8, 16, 32 и 64 Мбайт. Модули SIMM выпус­каются с контролем и без контроля по четности и с эмуляцией контроля по четно­сти. SIMM отличаются также быстродействием - обычно они имеют время обраще­ния 60 и 70 нc. Сейчас такое время обращения считается нежелательным, поэтому модули SIMM встречаются только в устаревших ПК.

DIMM (Dual In line Memory Module) - более современные модули, имеющие 168-контактные разъемы (длина модуля 130 мм); могут устанавливаться только на те типы системных плат, которые имеют соответствующие разъемы. Появление DIMM стимулировалось использованием процессоров Pentium, имеющих шину данных 64 бит. Необходимое число модулей памяти для заполнения шины называется бан­ком памяти. В случае 64-разрядной шины для этого требуется два 32-битных 72-контактных модуля SIMM или один 64-битный модуль DIMM, имеющий 168 кон­тактов. Модуль DIMM может иметь разрядность 64 бита (без контроля четности), 72 бита (с контролем четности) и 80 бит (память ЕСС). Емкость модулей DIMM: 16, 32, 64,128, 256 и 512 Мбайт. Время обращения, характерное для современных модулей DIMM, работающих на частоте 100 и 133 МГц (модули РС100, РС133), лежит в пределах 6-10 нc.

RIMM (Rambus In line Memory Module) - новейший тип оперативной памяти. Появление памяти Direct Rambus DRAM потребовало нового конструктива для модулей памяти. Микросхемы Direct RDRAM собираются в модули RIMM, внешне подобные стандартным DIMM, что, кстати, и нашло отражение в названии моду­лей нового конструктива. На плате модуля RIMM может быть до 16 микросхем памяти Direct RDRAM, установленных по восемь штук с каждой стороны платы. Модули RIMM могут быть использованы на системных платах с форм-фактором ATX, BIOS и чипсеты которых рассчитаны на использование данного типа памя­ти. Среди микросхем фирмы Intel это чипсеты i820, i840, i850 и их модификации. На системной плате может быть до четырех разъемов под данные модули. Необхо­димо отметить, что модули RIMM требуют интенсивного охлаждения. Это связа­но со значительным энергопотреблением и, соответственно, тепловыделением, что обусловлено высоким быстродействием данных модулей памяти (время обраще­ния 5 не и ниже). Хотя внешне модули RIMM напоминают модули DIMM, они имеют меньшее число контактов и с обеих сторон закрыты специальными металли­ческими экранами, которые защищают модули RIMM, работающие на больших ча­стотах, экранируя их чувствительные электронные схемы от внешних электромаг­нитных наводок. В настоящее время спецификации определяют три типа модулей, отличающихся рабочими частотами и пропускной способностью. Обозначаются они как RIMM PC800, RIMM PC700, RIMM PC600. Наиболее быстродействующими являются модули RIMM PC800, работающие с чипсетом i850, на внешней такто­вой частоте 400 МГц и имеющие пропускную способность 1,6 Гбайт/с. Модули

RIMM PC600 и RIMM PC700 предназначены для работы на повышенных часто­тах шины памяти, например на частоте 133 МГц, поддерживаемой современными чипсетами.

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

Различают следующие типы оперативной памяти:

□ DRDRAM и. д.т.

FPM DRAM

FPM DRAM (Fast Page Mode DRAM) - динамическая память с быстрым стра­ничным доступом, активно используется с микропроцессорами 80386 и 80486. Память со страничным доступом отличается от обычной динамической памяти тем, что после выбора строки матрицы и удержании RAS допускает многократную ус­тановку адреса столбца, стробируемого CAS. Это позволяет ускорить блочные пе­редачи, когда весь блок данных или его часть находятся внутри одной строки мат­рицы, называемой в этой системе страницей. Существует две разновидности FPM DRAM, отличающиеся временем обращения: 60 и 70 нc. Ввиду своей медлитель­ности они не эффективны в системах с процессорами уровня Pentium II. Модули FPM DRAM в основном выпускались в конструктиве SIMM.

RAM EDO

RAM EDO (EDO - Extended Data Out, расширенное время удержания данных на выходе), фактически представляет собой обычные микросхемы FPM, к которым добавлен набор регистров-«защелок», благодаря чему данные на выходе могут удер­живаться в течение следующего запроса к микросхеме. При страничном обмене такие микросхемы работают в режиме простого конвейера: удерживают на выходе содержимое последней выбранной ячейки, в то время как на их входы уже подает­ся адрес следующей выбираемой ячейки. Это позволяет примерно на 15 % по срав­нению с FPM ускорить процесс считывания последовательных массивов данных. При случайной адресации такая память никакого выигрыша в быстродействии не дает. Память типа RAM EDO имеет минимальное время обращения 45 нc и макси­мальную скорость передачи данных по каналу процессор-память 264 Мбайт/с. Модули RAM EDO выпускались в конструктивах SIMM и DIMM.

BEDO DRAM

BEDO DRAM (Burst Extended Data Output, EDO с блочным доступом). Совре­менные процессоры благодаря внутреннему и внешнему кэшированию команд

и данных обмениваются с основной памятью преимущественно блоками слов мак­симальной длины. Этот вид памяти позволяет читать данные пакетно (блоками), так что данные считываются блоками за один такт. В случае памяти ВЕDО отпа­дает необходимость постоянной подачи последовательных адресов на входы мик­росхем с соблюдением необходимых временных задержек - достаточно строби-ровать переход к очередному слову блока. Этот метод позволяет BEDO DRAM работать очень быстро. Память BEDO DRAM поддерживают некоторые чипсеты фирм VIA Apollo (580VP, 590VP, 680VP) и Intel (i480TX и т. д.) на частоте шины не выше 66 МГц. Активную конкуренцию этому виду памяти составляет память SDRAM, которая постепенно ее и вытесняет. BEDO DRAM представлена модуля­ми и SIMM и DIMM.

SDRAM (Synchronous DRAM - синхронная динамическая память), память с син­хронным доступом, увеличивает производительность системы за счет синхрони­зации скорости работы ОЗУ со скоростью работы шины процессора. SDRAM так­же осуществляет конвейерную обработку информации , выполняется внутреннее разделение массива памяти на два независимых банка, что позволяет совмещать выборку из одного банка с установкой адреса в другом банке. SDRAM также под­держивает блочный обмен. Основная выгода от использования SDRAM состоит в поддержке последовательного доступа в синхронном режиме, где удается исклю­чить дополнительные такты ожидания. Память SDRAM может устойчиво рабо­тать на высоких частотах: выпускаются модули, рассчитанные на работу при час­тотах 100 МГц (спецификация РС100) и 133 МГц (РС133). В начале 2000 года фирма Samsung объявила о выпуске новых чипов SDRAM с рабочей частотой 266 МГц. Время обращения к данным в этой памяти зависит от внутренней такто­вой частоты МП и достигает 5-10 нc, максимальная скорость передачи данных процессор-память при частоте шины 100 МГц составляет 800 Мбайт/с (фактиче­ски равна скорости передачи данных по каналу процессор-кэш). Память SDRAM дает общее увеличение производительности ПК примерно на 25 %. Правда, эта циф­ра относится к работе ПК без кэш-памяти - при наличии мощной кэш выигрыш в производительности может составить всего несколько процентов. SDRAM обыч­но выпускается в 168-контактных модулях типа DIMM. Используется не только в качестве оперативной памяти, но и как память видеоадаптеров, где она полезна при просмотре живого видео и при работе с трехмерной графикой.

DDR SDRAM

DDR SDRAM (Double Data Rate SDRAM - SDRAM 2). Вариант памяти SDRAM, осуществляющий передачу информации по обоим фронтам тактового сигнала. Это позволяет удвоить пропускную способность по сравнению с традиционной памя­тью SDRAM (до 1,6 Гбайт/с при частоте шины 100 МГц). Кроме того, DDR SDRAM может работать на более высокой частоте - в начале 2000 года были выпущены 143, 166 и 183 МГц 64-мегабитные модули DDR SDRAM. Модули DDR DRAM конструктивно совместимы с традиционными 168-контактными DIMM. Исполь-

зуется не только в качестве элементов оперативной памяти, но и в высокопроизво­дительных видеоадаптерах. Сейчас они ориентированы в первую очередь на ры­нок видеоадаптеров.

DRDRAM (Direct Rambus DRAM - динамическая память с прямой шиной для RAM). DRDRAM - перспективный тип оперативной памяти, обеспечивающий зна­чительный рост производительности компьютеров. Высокое быстродействие па­мяти Direct RDRAM достигается рядом особенностей, не встречающихся в других типах. В частности, применением собственной двухбайтовой шины RAM Bus с ча­стотой 800 МГц, обеспечивающей пиковую пропускную способность до 1,6 Гбайт/с. Контроллер памяти Direct RDRAM управляет шиной Rambus и обеспечивает пре­образование ее протокола с частотой 800 МГц в стандартный 64-разрядный интер­фейс с частотой шины до 200 МГц. Фирма Intel выпустила чипсеты i820, i840, i850 с поддержкой. DRDRAM Модули Direct RDRAM - RIMM внешне подобны мо­дулям DIMM. Массовый выпуск памяти DRDRAM и ее интенсивное использова­ние в компьютерах ожидается в ближайшем будущем.

Постоянные запоминающие устройства

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

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

□ микросхемы, программируемые только при изготовлении - классические или масочные ПЗУ или ROM;

□ микросхемы, программируемые однократно в лабораторных условиях - про­
граммируемые ПЗУ (ППЗУ) или programmable ROM (PROM);

□ микросхемы, программируемые многократно, - перепрограммируемые ПЗУ
или erasable PROM (EPROM). Среди них следует отметить электрически пе­
репрограммируемые микросхемы EEPROM (Electrical Erasable PROM), в том
числе ФЛЭШ-память (FLASH-память).

Устанавливаемые на системной плате ПК модули и кассеты ПЗУ имеют емкость, как правило, не превышающую 128 Кбайт. Быстродействие у постоянной памяти меньшее, нежели у оперативной, поэтому для повышения производительности содержимое ПЗУ копируется в ОЗУ, и при работе непосредственно используется только эта копия, называемая также теневой памятью ПЗУ (Shadow ROM).

В настоящее время в ПК используются полупостоянные, перепрограммируемые запоминающие устройства - FLASH-память. Модули или карты FLASH-памяти могут устанавливаться прямо в разъемы материнской платы и имеют следующие параметры: емкость от 32 Кбайт до 15 Мбайт (в ПЗУ используется до 128 Кбайт), время обращения по считыванию 0,035-0,2 мкс, время записи одного байта 2-10 мкс; FLASH-память - энергонезависимое запоминающее устройство. Примером такой памяти может служить память NVRAM - Non Volatile RAM со скоростью записи 500 Кбайт/с. Обычно для перезаписи информации необходимо подать на специ­альный вход FLASH-памяти напряжение программирования (12 В), что исклю­чает возможность случайного стирания информации. Перепрограммирование FLASH-памяти может выполняться непосредственно с дискеты или с клавиатуры ПК при наличии специального контроллера либо с внешнего программатора, под­ключаемого к ПК. FLASH-память может быть весьма полезной как для создания весьма быстродействующих, компактных, альтернативных НМД запоминающих устройств - «твердотельных дисков», так и для замены ПЗУ, хранящего програм­мы BIOS, позволяя «прямо с дискеты» обновлять и заменять эти программы на более новые версии при модернизации ПК.

Логическая структура основной памяти

Структурно основная память состоит из миллионов отдельных ячеек памяти, емкостью 1 байт каждая. Общая емкость основной памяти современных ПК обычно лежит в пределах от 16 до 512 Мбайт. Емкость ОЗУ на один-два поряд­ка превышает емкость ПЗУ: ПЗУ занимает 128 Кбайт, остальной объем - это ОЗУ. Каждая ячейка памяти имеет свой уникальный (отличный от всех дру­гих) адрес. Основная память имеет для ОЗУ и ПЗУ - единое адресное про­странство.

Адресное пространство определяет максимально возможное количество непо­средственно адресуемых ячеек основной памяти. Адресное пространство зависит от разрядности адресных шин, ибо максимальное количество разных адресов опре­деляется разнообразием двоичных чисел, которые можно отобразить в п разря­дах, то есть адресное пространство равно 2", где п - разрядность адреса. За осно­ву в ПК взят 16-разрядный адресный код, равный по длине размеру машинного слова. При наличии 16-разрядного кода адреса можно непосредственно адресо­вать всего 4 К (К = 1024) ячеек памяти. Вот это 64-килобайтное поле памяти, так называемый сегмент, также является базовым в логической структу­ре ОП. Следует заметить, что в защищенном режиме размер сегмента может быть иным и значительно превышать 64 Кбайта.

Современные ПК (кроме простейших бытовых компьютеров) имеют основную память, емкостью существенно больше 1 Мбайт: память, емкостью 1 Мбайт явля­ется еще одним важным структурным компонентом ОП - назовем ее непосред­ственно адресуемой памятью (справедливо полностью только для реального ре- жима). Для адресации 1 Мбайт = 220= 1 ячеек непосредственно адресуемой памяти необходим 20-разрядный код, получаемый в ПК путем использования спе­циальных приемов структуризации адресов ячеек ОП.

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

Адрес сегмента (АССгм) - это начальный адрес 64-килобайтного поля, внутри кото­рого находится адресуемая ячейка.

Адрес смещения (Аасм) - это относительный 16-разрядный адрес ячейки внутри сегмента.

Асегм должен быть 20-разрядным, но если принять условие, что АсеГм должен быть обязательно кратным параграфу (в последних четырех разрядах должен содержать нули), то однозначно определять этот адрес можно 16-разрядным кодом, увеличен­ным в 16 раз, что равносильно дополнению его справа четырьмя нулями и превра­щению его, таким образом, в 20-разрядный код. То есть условно можно записать:

Аабс = 16 Х Асегм + Аасм.

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

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

https://pandia.ru/text/78/135/images/image011_103.gif" width="490 height=2" height="2">Здесь СЛ - вспомогательная служебная информация; F - идентификатор, опре­деляющий тип дескрипторной таблицы для формирования АсеГм (дескрипторные таблицы создаются в ОП при виртуальной адресации автоматически):

□ если F = 0, то используется глобальная дескрипторная таблица (GDT), общая
для всех задач, решаемых в ПК при многопрограммном режиме;

□ если F = 1, то используется локальная дескрипторная таблица (LDT), создава­
емая для каждой задачи отдельно;

□ ИНДЕКС - адрес строки в дескрипторной таблице.

В соответствии с индексом и идентификатором из GLT или LDT считывается 64-битовая строка, содержащая, в частности, и адрес сегмента. Разрядность этого ад­реса зависит от размера адресного пространства микропроцессора, точнее равна разрядности его адресной шины. Подобная виртуальная адресация используется при защищенном режиме работы микропроцессора. Для большей плотности раз-

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

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

При динамическом распределении памяти в случае недостаточной емкости ОП по­лезно воспользоваться виртуальной памятью. В режиме виртуальной памяти пользо­ватель имеет дело не с физической ОП, действительно имеющейся в ПК, а с виртуаль­ ной (кажущейся) одноуровневой памятью, емкость которой равна всему адресному пространству микропроцессора. На всех этапах подготовки программы, включая ее загрузку в оперативную память, в программе используются виртуальные адреса и лишь при непосредственном исполнении машинной команды выполняется пре­образование виртуальных адресов в реальные физические адреса ОП. При этом ре­ально программа может размещаться частично в ОП, частично во внешней памяти. Технология организации виртуальной памяти следующая. Физические оператив­ная и дисковая (привлеченная к задаче) память и виртуальная память разбивают­ся на страницы одинакового размера по 4 Кбайта. Страницам виртуальной и фи­зической памяти присваиваются номера, которые сохраняются одними и теми же на весь период решения задачи. Операционная система формирует две таблицы:

□ страниц виртуальной памяти;

□ физического размещения страниц,

и устанавливает логические связи между ними (рис. 6.2).

На рисунке видно, что физические страницы могут находиться в текущий момент времени как в оперативной, так и во внешней памяти. Из внешней памяти вирту­альные страницы автоматически перемещаются в оперативную только тогда, ког­да к ним происходит обращение. При этом они замещают уже отработавшие стра­ницы. Страничные таблицы для каждой программы формируются операционной системой в процессе распределения памяти и изменяются каждый раз, когда фи­зические страницы перемещаются из ВЗУ в ОП. Виртуальная память может иметь

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

Таблица страниц физической памяти

Расположена в памяти

№ физической страницы


Рис. 6.2.Таблица страниц