Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Виды запоминающих устройств (ЗУ)
В современных микропроцессорных системах реализуется иерархическая структура памяти, которая состоит из несколько видов ЗУ различного объема и быстродействия. Основными видами используемых ЗУ являются: · регистровые ЗУ, · оперативные ЗУ, · постоянные (программируемые и репрограммируемые) ЗУ. · промежуточная кэш-память, · внешние ЗУ. Содержание информации, хранящейся в различных видах ЗУ, определяется ее назначением и частотой использования в процессе работы микропроцессора. Регистровое ЗУ. Для хранения операндов и промежуточных результатов используется блок регистров общего назначения (РОН), который вместе со схемами адресации и выборки образует регистровое запоминающее устройство (РЗУ), входящее в состав микропроцессора. Объем РЗУ для различных типов микропроцессоров составляет от нескольких единиц до сотен байт. В большинстве микропроцессоров РЗУ содержит 8, 16 или 32 регистра, обращение к которым осуществляется с помощью регистровой адресации. Регистры работают с тактовой частотой процессора, запись и считывание операндов производится за один такт. Регистры РЗУ (все или часть) служат также для хранения адреса при выполнении косвенно-регистровой адресации. Оперативное и постоянное ЗУ. Основной массив обрабатываемых данных и выполняемая программа их обработки хранятся в ОЗУ и ПЗУ, подключенных к системной шине (рис. 1.1). Обычно ОЗУ реализуются на базе микросхем памяти с произвольной выборкой RAM (Random Access Memory) статического (SRAM – Static RAM) или динамического (DRAM – Dynamic RAM) типа. При использовании микросхем DRAM в состав микропроцессорной системы включается контроллер динамической памяти, выполняющий периодическую регенерацию (перезапись) содержимого ОЗУ, которое хранится в виде электрического заряда на запоминающих емкостях в элементах памяти. Для восстановления заряда этих емкостей контроллер производит необходимое число тактов перезаписи содержимого ячеек динамического ОЗУ в процессе периодически выполняемых циклов регенерации. В течение цикла регенерации динамическое ОЗУ является недоступным для чтения-записи со стороны процессора и других устройств системы. В ряде современных микропроцессоров контроллер динамического ОЗУ реализуется на одном кристалле с процессором. При одинаковом уровне технологии изготовления микросхемы DRAM имеют в несколько раз больший объем памяти и более низкую стоимость, чем микросхемы SRAM. Поэтому для реализации ОЗУ большой емкости чаще используются микросхемы DRAM, несмотря на необходимость использования контроллеров для регенерации хранящейся информации и связанное с этим снижение производительности системы. Хранение информации в ОЗУ обеспечивается только при включенном источнике питания. Поэтому после включения питания в системе производится процедура инициализации, в процессе которой производится загрузка в ОЗУ информации, необходимой для начала работы системы. Как отмечалось, максимальный объем адресуемой памяти определяется разрядностью шины адреса и составляет для 32-разрядных микропроцессоров 4 Гбайт и более. В современных микропроцессорных системах ОЗУ имеет емкость до нескольких сотен Мбайт, занимая часть адресного пространства. При этом в ряде типов систем (персональных компьютерах, рабочих станциях, серверах) предусмотрена модульная реализация ОЗУ, которая позволяет увеличивать его объем путем подключения дополнительных модулей статической или динамической памяти. Типичными примерами таких модулей являются стандартные модули динамической памяти - SIMM (Single In-line Memory Module) и DIMM (Double In-line Memory Module), используемые во многих системах для реализации ОЗУ необходимой емкости. Для чтения и записи данных процессор реализует циклы обращения к ОЗУ по системной шине. Типичный цикл обращения к ОЗУ содержит следующие фазы: · установка на шине адреса необходимого адреса и выдача на шину управления адресного строба (AS или ALE) - сигнала, инициализирующего обмен, · выдача на шину управления сигналов, определяющих тип цикла обращения: чтение (сигнал RD) или запись (сигнал WR), · получение от ОЗУ по шине управления сигнала готовности к обмену (READY или DTACK), · прием-передача считываемых или записываемых данных (команд) по шине данных. Таким образом, реализация обращения к системной шине требует выдачи и приема нескольких сигналов управления обменом, которые передаются по шине управления. В зависимости от способа организации обмена реализация цикла обращения занимает от 2 до 4 тактов системной шины. Тактовая частота системной шины может существенно отличаться от тактовой частоты микропроцессора. При современном уровне микроэлектронной технологии тактовые частоты микропроцессоров могут превышать 1 ГГц, а возможности технологии изготовления печатных плат обеспечивают возможности передачи данных с частотой до 133 Мгц. Поэтому обращение к ОЗУ требует значительно большего времени, чем выборка данных из РЗУ. Во многих микропроцессорных системах при передаче данных по системной шине выполняется контроль четности. При этом одновременно с передаваемыми данными пересылается контрольный бит, указывающий на четное или нечетное число единиц в этих данных. В ряде случаев контроль осуществляется и для адреса передаваемых данных. Обычно реализуется побайтовый контроль, при котором передается бит четности для каждого байта данных или адреса. Принимающее устройство проверяет четность полученных байтов и сравнивает их со значением принятых контрольных битов. Различие в четности указывает на наличие ошибок в процессе передачи. В этом случае формируется сигнал прерывания, вызывающий остановку выполнения программы и переход к специальной подпрограмме обслуживания, обеспечивающей выдачу информации о возникшей ошибке. Контроль четности выявляет все единичные сбои (ошибки в значении одного из битов), а также те многократные сбои, которые вызывают изменение четности. Как показывает практика, использование контроля четности позволяет выявить до 90% ошибок, возникающих при передаче данных из-за воздействия помех, нарушения контактов в соединениях и других причин. В системах, оперирующих с 8-, 16- и 32-разрядными данными, часто организуются отдельные разделы ОЗУ (банки) для хранения младших, старших или промежуточных байтов. Поэтому в ряде микропроцессоров формируются отдельные сигналы разрешения выдачи данных ВЕ (Byte Enable) для выборки в ОЗУ тех или иных байтов. При адресации 16-разрядных данных используется два сигнала BE1-0 (выборка младшего или старшего байта), при адресации 32-разрядных данных - четыре сигнала ВЕЗ-0, при 64-разрядной системной шине - восемь сигналов BE7-0. Фактически, сигналы ВЕ заменяют младшие 1, 2 или 3 разряда адреса, обеспечивая их дешифрацию в отдельные сигналы разрешения выборки для каждого байтового банка. Сигналы ВЕ выдаются на шину адреса вместе с остальными (старшими) разрядами адреса. Наряду с ОЗУ память микропроцессорных систем обычно включает ПЗУ, которое занимает определенные разделы адресуемого пространства. Содержимое ПЗУ сохраняется при отключении напряжения питания и поэтому может быть использовано сразу при включении системы. В зависимости от назначения системы включенное в нее ПЗУ может выполнять различные функции и, соответственно, иметь разную емкость памяти и варианты реализации. В большинстве систем ПЗУ служит для хранения программы начальной инициализации (загрузки) систем (Bootstrap ROM), программ тестирования и диагностики, а также некоторых других служебных программ. В ряде специализированных систем ПЗУ используется для хранения таблиц постоянных коэффициентов и констант, используемых при обработке данных, или для хранения подпрограмм, обеспечивающих стандартные процедуры обработки. Имеется также большой класс специализированных микропроцессоров – микроконтроллеров, ориентированных на реализацию определенных алгоритмов управления различными объектами. Программа, обеспечивающая реализацию этих алгоритмов, обычно записывается в ПЗУ, и в процессе работы микроконтроллера производится только ее считывание. В зависимости от назначения в микропроцессорных системах используются различные типы ПЗУ. Масочно-программируемые ПЗУ (ROM – Read-Only Memory) содержат информацию, которая записывается в них в процессе изготовления микросхем и в дальнейшем не может изменяться. При производстве этих микросхем используется специально разрабатываемый комплект фотошаблонов (масок), определяющих содержание хранящейся в них информации. Поэтому выпуск микросхем с памятью ROM возможен только по соответствующему заказу, который производитель получает от пользователя. Производство и применение таких микросхем экономически эффективно только при значительном объеме их выпуска. Программируемые пользователем ПЗУ содержат информацию, которую заносит в них пользователь с помощью специального программатора. При использовании однократно-программируемых ПЗУ (OTPROM – One-Time Programmable ROM) запись в них возможна только один раз. Репрограммируемые ПЗУ (EPROM – Electrically Programmable ROM) позволяют производить стирание ранее записанной информации путем облучения микросхемы ультрафиолетовым светом и затем записывать в них новую информацию с помощью программатора. Такие микросхемы помещаются в специальный корпус с окном из кварцевого стекла, пропускающего ультрафиолетовое излучение. В электрически репрограммируемых ПЗУ (EEPROM – Electrically Erased Programmable ROM) стирание и запись новой информации осуществляется с помощью электрических сигналов. Разновидностью ЕЕРКОМ является флэш-память (Flash-memory), в которой электрическое стирание реализуется не в каждой отдельной ячейке памяти последовательно, а одновременно для всех ячеек или их блоков. Современные модификации флэш-памяти обеспечивают возможность ее репрограммирования без удаления из системы, а непосредственно на плате или на кристалле микроконтроллера (ISP – In-System Programming). При использовании программируемого ПЗУ пользователь может самостоятельно ввести в них необходимую информацию (программы или массивы постоянных данных). При включении в систему репрограммируемого ПЗУ можно, в случае необходимости, изменять хранящуюся в них информацию, поместив микросхему памяти в программатор или выполнив перепрограммирование в составе системы (в режиме ISP). Обращение процессора к ПЗУ выполняется так же, как к ОЗУ, с учетом того, что этот вид памяти реализует только цикл чтения. Кэш-память Кэш-память представляет собой быстродействующую буферную память ограниченного объема, которая располагается между процессором и ОЗУ. Обычно кэш-память размещается непосредственно на кристалле микропроцессора или реализуется в виде отдельных микросхем памяти высокого быстродействия, которые размещаются в общем корпусе с кристаллом микропроцессора. При этом цикл обращения к кэш-памяти производится за 1-2 рабочих такта микропроцессора, то есть намного быстрее, чем обращение к ОЗУ по системной шине. В процессе работы микропроцессорной системы отдельные блоки информации копируются из ОЗУ в кэш-память. Процедура загрузки информации из ОЗУ в кэш-память называется кэширование. Когда процессор обращается за командой или данными, то сначала проверяется их наличие в кэш-памяти. Если необходимая информация находится там, то она быстро извлекается, так как обращение к кэш-памяти производится с тактовой частотой процессора. Такой случай обращения называют кэш-попаданием. Если необходимая информация в кэш-памяти отсутствует, то она выбирается из основной памяти и одновременно заносится в кэш-память. Такой случай называют кэш-промахом. Повышение быстродействия вычислительной системы достигается в том случае, когда кэш-попадания реализуются намного чаще, чем кэш-промахи. Высокий процент кэш-попаданий обеспечивается благодаря тому, что в большинстве случаев программы обращаются к ячейкам памяти, расположенным вблизи от ранее использованных. Это свойство, которое называют локальностью программ, обеспечивает эффективность использования кэш-памяти. В системах может использоваться общая кэш-память для команд и данных или две отдельных кэш-памяти для их хранения. В настоящее время на кристалле микропроцессора обычно размещаются две отдельные кэш-памяти для команд и данных, каждая из которых имеет объем до нескольких десятков Кбайт. Кроме этой внутренней кэш-памяти 1-го уровня (L1) часто используется дополнительная кэш-память 2-го уровня (L2) большей емкости (до нескольких Мбайт), в которой хранятся как команды, так и данные. Обычно эта память реализуется в виде отдельных микросхем, которые монтируются в общем корпусе с кристаллом микропроцессора. Однако достижения микроэлектронной технологии обеспечили возможность изготовления кэш-памяти 2-го уровня на общем кристалле с микропроцессором и кэш-памятью 1-го уровня.
Типовая структура кэш-памяти, реализуемой в современных микропроцессорах, показана на рис. 3.1. Эта память ассоциативного типа, состоящая из строк длиной в несколько десятков байт (обычно 16, 32 или 64 байта). Строки объединены в наборы, каждый из которых содержит несколько строк (обычно 2, 4 или 8). Число таких наборов зависит от емкости реализуемой кэш-памяти. Например, кэш-память емкостью 16 Кбайт, представленная на рис. 3.1 содержит 128 наборов S127-0 по четыре строки LЗ-0 длиной 32 байта В31-0 каждая. При обращении к кэш-памяти сформированный микроконтроллером адрес представляется как в виде трех полей (рис. 8.1: поле тега TAG, поле SET. указывающее номер набора, и поле ВУТЕ, задающее номер байта в строке. При обращении к кэш-памяти содержимое поля SET определяет номер выбираемого набора. Значения старших разрядов адреса (поле TAG) сравниваются с содержимым полей тегов (tag0-tag3) в строках выбранного набора. Если значение TAG совпадает с содержимым тега одной из строк, то фиксируется кэш-попадание, и производится выборка из этой строки операнда, адресуемого полем ВУТЕ. Если совпадение не обнаружено, то фиксируется кэш-промах. В этом случае из основной памяти выбирается строка (32 байт), адресуемая разрядами АЗ1-5 адреса, которая размещается в одной из строк выбранного набора. Заполнение кэш-памяти производится построчно, то есть в случае кэш-промаха из основной памяти копируется целая строка, включающая адресованный операнд. При этом обновляется строка в наборе, номер которого определяется полем SET сформированного физического адреса. Старшие разряды адреса (поле TAG) заносятся в поле 1ау соответствующей строки кэш-памяти и становится атрибутом данной строки. Пересылка строк между кэш-памятью и ОЗУ выполняется по системной шине с помощью пакетных циклов, которые позволяют заполнить строку за минимальное количество тактов. Для ускорения обмена в системах с кэш-памятью обычно используется системная шина увеличенной разрядности: 64 или 128 бит. Использование пакетных циклов и системной шины повышенной разрядное™ обеспечивает достаточно быстрое обновление содержимого кэш-памяти. Популярное:
|
Последнее изменение этой страницы: 2016-03-22; Просмотров: 1282; Нарушение авторского права страницы