Реферат: □ tдост время поиска информации на носителе
□ tдост — время поиска информации на носителе;
□ Vсчит ~~ скорость считывания смежных байтов информации подряд (трансфер). Напомним общепринятые сокращения: с — секунда, мс — миллисекунда, мкс — микросекунда, нc — наносекунда; 1 с = 106мс = 106мкс = 109нс.
Статическая и динамическая оперативная память
Оперативная память может строиться на микросхемах динамического (Dinamic Random Access Memory — DRAM) или статического (Static Random Access Memory — SRAM) типа.
Статический тип памяти обладает существенно более высоким быстродействием, но значительно дороже динамического. В статической памяти элементы (ячейки) построены на различных вариантах триггеров — схем с двумя устойчивыми состояниями. После записи бита в такую ячейку она может пребывать в этом состоянии сколь угодно долго — необходимо только наличие питания. При обращении к микросхеме статической памяти на нее подается полный адрес, который при помощи внутреннего дешифратора преобразуется в сигналы выборки конкретных ячеек. Ячейки статической памяти имеют малое время срабатывания (единицы наносекунд), однако микросхемы на их основе имеют низкую удельную емкость (единицы мегабит на корпус) и высокое энергопотребление. Поэтому статическая память используется в основном в качестве микропроцессорной и буферной (кэшпамять).
В динамической памяти ячейки построены на основе полупроводниковых областей с накоплением зарядов (своеобразных конденсаторов), занимающих гораздо меньшую площадь, нежели триггеры, и практически не потребляющих энергии при хранении. Конденсаторы расположены на пересечении вертикальных и горизонтальных шин матрицы; запись и считывание информации осуществляется подачей электрических импульсов по тем шинам матрицы, которые соединены с элементами, принадлежащими выбранной ячейке памяти. При обращении к микросхеме на ее входы вначале подается адрес строки матрицы, сопровождаемый сигналом RAS (Row Address Strobe — строб адреса строки), затем, через некоторое время — адрес столбца, сопровождаемый сигналом С AS (Column Address Strobe — строб адреса столбца). Поскольку конденсаторы постепенно разряжаются (заряд сохраняется в ячейке в течение нескольких миллисекунд), во избежание потери хранимой информации заряд в них необходимо постоянно регенерировать, отсюда и название памяти — динамическая. На подзаряд тратится и энергия и время, и это снижает производительность системы.
Ячейки динамической памяти по сравнению со статической имеют большее время срабатывания (десятки наносекунд), но большую удельную плотность (порядка десятков мегабит на корпус) и меньшее энергопотребление. Динамическая память используется для построения оперативных запоминающих устройств основной памяти ПК.
^ Регистровая кэш-память
Регистровая кэш-память — высокоскоростная память сравнительно большой емкости, являющаяся буфером между ОП и МП и позволяющая увеличить скорость выполнения операций. Регистры кэш-памяти недоступны для пользователя, отсюда и название кэш (Cache), что в переводе с английского означает «тайник». В современных материнских платах используется конвейерный кэш с блочным доступом (Pipelined Burst Cache). В кэш-памяти хранятся копии блоков данных тех областей оперативной памяти, к которым выполнялись последние обращения, и весьма вероятны обращения в ближайшие такты работы — быстрый доступ к этим данным и позволяет сократить время выполнения очередных команд программы. При выполнении программы данные, считанные из ОП с небольшим опережением, записываются в кэш-память. В кэш-память записываются и результаты операций, выполненных в МП.
По принципу записи результатов в оперативную память различают два типа кэшпамяти:
в кэш-памяти «с обратной записью» результаты операций прежде, чем их запи
сать в ОП, фиксируются, а затем контроллер кэш-памяти самостоятельно пере
записывает эти данные в ОП;
в кэш-памяти «со сквозной записью» результаты операций одновременно, па
раллельно записываются и в кэш-память, и в ОП.
Микропроцессоры, начиная от МП 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-му. Кэш-память для ВЗУ создается либо в поле оперативной памяти, либо непосредственно в модуле самого ВЗУ.
^ Основная память
При рассмотрении структуры основной памяти можно говорить как о физической структуре, то есть об основных ее конструктивных компонентах, так и о логической структуре, то есть о ее различных областях, условно выделенных для организации более удобных режимов их использования и обслуживания.
^ Физическая структура основной памяти
Упрощенная структурная схема модуля основной памяти при матричной его организации представлена на рис. 6.1.
При матричной организации адрес ячейки, поступающий в регистр адреса Рег. адр., например, по 20-разрядным кодовым шинам адреса, делится на две 10-разрядные части, поступающие соответственно в Рег. адр. X и Рег. адр. Y. Из этих регистров коды полуадресов поступают в дешифраторы Дешифратор X и Дешифратор У, каждый из которых в соответствии с полученным адресом выбирает одну из 1024 шин. По выбранным шинам подаются сигналы записи/считывания в ячейку памяти, находящуюся на пересечении этих шин. Таким образом, адресуется 106 (точнее, 10242) ячеек.
Считываемая или записываемая информация поступает в регистр данных (Рег.-данных), непосредственно связанный с кодовыми шинами данных. Управляющие сигналы, определяющие, какую операцию следует выполнить, поступают по кодовым шинам инструкций. Куб памяти содержит набор запоминающих элементов — собственно ячеек памяти.
^ Основная память (ОП) содержит оперативное (RAM — Random Access Memory) и постоянное (ROM — Read Only Memory) запоминающие устройства.
Оперативное запоминающее устройство (ОЗУ) предназначено для хранения информации (программ и данных), непосредственно участвующей в вычислительном процессе в текущий интервал времени. ОЗУ — энергозависимая память: при отключении напряжения питания информация, хранящаяся в ней, теряется. Основу ОЗУ составляют микросхемы динамической памяти DRAM. Это большие интегральные схемы, содержащие матрицы полупроводниковых запоминающих
элементов — полупроводниковых конденсаторов. Наличие заряда в конденсаторе обычно означает «1», отсутствие заряда— «О». Конструктивно элементы оперативной памяти выполняются в виде отдельных модулей памяти — небольших плат с напаянными на них одной или, чаще, несколькими микросхемами. Эти модули вставляются в разъемы — слоты на системной плате. На материнской плате может быть несколько групп разъемов (банков) для установки модулей памяти; в один банк можно ставить только блоки одинаковой емкости; блоки разной емкости можно устанавливать в разных банках.
Рис. 6.1. Структурная схема модуля основной памяти
Модули памяти характеризуются конструктивом, емкостью, временем обращения и надежностью работы. Важным параметром модуля памяти является его надежность и устойчивость к возможным сбоям. Надежность работы современных мо-
дулей памяти весьма высокая — среднее время наработки на отказ составляет сотни тысяч часов, но тем не менее предпринимаются и дополнительные меры повышения надежности. Вопросы обеспечения надежности и достоверности ввиду их важности специально рассмотрены в части 6 учебника. Здесь лишь укажем, что одним из направлений, повышающих надежность функционирования подсистемы памяти, является использование специальных схем контроля и избыточного кодирования информации.
Модули памяти бывают с контролем четности (parity) и без контроля четности (nоn parity) хранимых бит данных. Контроль по четности позволяет лишь обнаружить ошибку и прервать исполнение выполняемой программы. Существуют и более дорогие модули памяти с автоматической коррекцией ошибок — ЕСС-память, использующие специальные корректирующие коды с исправлением ошибок (см. раздел «Обеспечение достоверности информации» главы 20).
ПРИМЕЧАНИЕ
Некоторые недобросовестные фирмы (китайские, например) с целью повышения конкурентоспособности своих изделий в глазах неопытных покупателей ставят в модули специальный имитатор четности — микросхему-сумматор, выдающую при считывании ячейки всегда правильный бит четности. В этом случае никакого контроля нет, а лишь имитируется его выполнение. Надо сказать, что эта имитация иногда и полезна, ибо существуют системные платы, требующие для своей корректной работы присутствия бита контроля четности.
Существуют следующие типы модулей оперативной памяти: □ DIP;
SIP;
SIPP;
□ SIMM;
□ DIMM;
RIMM.
Рассмотрим их подробнее.
DIP, SIP и SIPP
DIP (Dual In line Package — корпус с двумя рядами выводов) — одиночная микросхема памяти, сейчас используется только в составе более укрупненных модулей (в составе модулей SIMM, например). SIP (Single In line Package — корпус с одним рядом выводов) — микросхема с одним рядом выводов, устанавливаемая вертикально. SIPP (Single In line Pinned Package — корпус с одним рядом проволочных выводов) — 30-контактный модуль с контактами типа «штырек». Модули SIP и SIPP сейчас практически не применяются.
SIMM
SIMM (Single In line Memory Module) представляют собой печатную плату с односторонним краевым разъемом типа слот и установленными на ней совместимыми
микросхемами памяти типа DIP. SIMM бывают двух разных типов: короткие на 30 контактов (длина 75 мм) и длинные на 72 контакта (длина 100 мм). Модули SIMM имеют емкость 256 Кбайт, 1,4, 8, 16, 32 и 64 Мбайт. Модули SIMM выпускаются с контролем и без контроля по четности и с эмуляцией контроля по четности. SIMM отличаются также быстродействием — обычно они имеют время обращения 60 и 70 нc. Сейчас такое время обращения считается нежелательным, поэтому модули SIMM встречаются только в устаревших ПК.
DIMM
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
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 МГц, поддерживаемой современными чипсетами.
Типы оперативной памяти
Различают следующие типы оперативной памяти:
FPMDRAM;
RAM EDO;
BEDODRAM;
SDRAM;
□ DDR SDRAM;
□ 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
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
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-разрядного кода адреса можно непосредственно адресовать всего 216 - 65 536 - 64 К (К = 1024) ячеек памяти. Вот это 64-килобайтное поле памяти, так называемый сегмент, также является базовым в логической структуре ОП. Следует заметить, что в защищенном режиме размер сегмента может быть иным и значительно превышать 64 Кбайта.
Современные ПК (кроме простейших бытовых компьютеров) имеют основную память, емкостью существенно больше 1 Мбайт: память, емкостью 1 Мбайт является еще одним важным структурным компонентом ОП — назовем ее непосредственно адресуемой памятью (справедливо полностью только для реального ре-жима). Для адресации 1 Мбайт = 220= 1 048 576 ячеек непосредственно адресуемой памяти необходим 20-разрядный код, получаемый в ПК путем использования специальных приемов структуризации адресов ячеек ОП.
Абсолютный (полный, физический) адрес (Аабс) формируется в виде суммы нескольких составляющих, чаще всего используемыми из которых являются: адрес сегмента и адрес смещения.
^ Адрес сегмента (АССгм) — это начальный адрес 64-килобайтного поля, внутри которого находится адресуемая ячейка.
Адрес смещения (Аасм) — это относительный 16-разрядный адрес ячейки внутри сегмента.
Асегм должен быть 20-разрядным, но если принять условие, что АсеГм должен быть обязательно кратным параграфу (в последних четырех разрядах должен содержать нули), то однозначно определять этот адрес можно 16-разрядным кодом, увеличенным в 16 раз, что равносильно дополнению его справа четырьмя нулями и превращению его, таким образом, в 20-разрядный код. То есть условно можно записать:
Аабс = 16 Х Асегм + Аасм.
Программисты иногда используют еще две составляющие адреса смещения: адрес базы и адрес индекса. Следует отметить, что процессор ПК может обращаться к основной памяти, используя только абсолютный адрес, в то время как программист может использовать все составляющие адреса, рассмотренные выше.
В современных ПК существует режим виртуальной адресации (Virtual — кажущийся, воображаемый). Виртуальная адресация используется для увеличения адресного пространства ПК при наличии ОП большой емкости (простая виртуальная адресация) или при организации виртуальной памяти, в которую наряду с ОП включается и часть внешней (обычно дисковой) памяти. При виртуальной адресации вместо начального адреса сегмента Ассгм в формировании абсолютного адреса Аабе принимает участие многоразрядный адресный код, считываемый из специальных таблиц. Принцип простой виртуальной адресации можно пояснить следующим образом. В регистре сегмента (обычно регистр DS) содержится не АсеГм, а некий селектор, имеющий структуру:
И^ НДЕКС F СЛ
Здесь СЛ — вспомогательная служебная информация; F — идентификатор, определяющий тип дескрипторной таблицы для формирования АсеГм (дескрипторные таблицы создаются в ОП при виртуальной адресации автоматически):
если F = 0, то используется глобальная дескрипторная таблица (GDT), общая
для всех задач, решаемых в ПК при многопрограммном режиме;
если F = 1, то используется локальная дескрипторная таблица (LDT), создава
емая для каждой задачи отдельно;
ИНДЕКС — адрес строки в дескрипторной таблице.
В соответствии с индексом и идентификатором из GLT или LDT считывается 64-битовая строка, содержащая, в частности, и адрес сегмента. Разрядность этого адреса зависит от размера адресного пространства микропроцессора, точнее равна разрядности его адресной шины. Подобная виртуальная адресация используется при защищенном режиме работы микропроцессора. Для большей плотности раз-
мещения информации в оперативной памяти (уменьшения сегментированности, характерной для многопрограммного режима) часто используется сегментно-стра-ничная адресация, при которой поля памяти выделяются программам внутри сегментов страницами, размером от 2 до 4 Кбайт. Формирование сегментно-странич-ной структуры адресов выполняется автоматически операционной системой.
Виртуальная память создается при недостаточном объеме оперативной памяти, не позволяющем разместить в ней сразу всю необходимую информацию для выполняемого задания. При загрузке очередной задачи в оперативную память необходимо выполнить распределение машинных ресурсов, в частности оперативной памяти между компонентами одновременно решаемых задач (в принципе, оперативной памяти может не хватить и для решения одной сложной задачи). При подготовке программ используются условные адреса, которые должны быть затем привязаны к конкретному месту в памяти. Распределение памяти может выполняться или в статическом режиме до загрузки программы в ОП, или в динамическом режиме автоматически в момент загрузки программы. Статическое распределение памяти весьма трудоемко, поэтому применяется редко. Если очевидно, что реальная память меньше требуемого программой адресного пространства, программист может вручную разбить программу на части, вызываемые в ОП по мере необходимости, — создать оверлейную структуру программы. Обычно же используется режим динамического распределения памяти.
При динамическом распределении памяти в случае недостаточной емкости ОП полезно воспользоваться виртуальной памятью. В режиме виртуальной памяти пользователь имеет дело не с физической ОП, действительно имеющейся в ПК, а с виртуальной (кажущейся) одноуровневой памятью, емкость которой равна всему адресному пространству микропроцессора. На всех этапах подготовки программы, включая ее загрузку в оперативную память, в программе используются виртуальные адреса и лишь при непосредственном исполнении машинной команды выполняется преобразование виртуальных адресов в реальные физические адреса ОП. При этом реально программа может размещаться частично в ОП, частично во внешней памяти. Технология организации виртуальной памяти следующая. Физические оперативная и дисковая (привлеченная к задаче) память и виртуальная память разбиваются на страницы одинакового размера по 4 Кбайта. Страницам виртуальной и физической памяти присваиваются номера, которые сохраняются одними и теми же на весь период решения задачи. Операционная система формирует две таблицы:
страниц виртуальной памяти;
физического размещения страниц,
и устанавливает логические связи между ними (рис. 6.2).
На рисунке видно, что физические страницы могут находиться в текущий момент времени как в оперативной, так и во внешней памяти. Из внешней памяти виртуальные страницы автоматически перемещаются в оперативную только тогда, когда к ним происходит обращение. При этом они замещают уже отработавшие страницы. Страничные таблицы для каждой программы формируются операционной системой в процессе распределения памяти и изменяются каждый раз, когда физические страницы перемещаются из ВЗУ в ОП. Виртуальная память может иметь
и сегментно-страничную организацию. В этом случае виртуальная память делится сначала на сегменты, а внутри них на страницы. Принцип организации такой памяти аналогичен рассмотренному выше.
►
Таблица страниц физической памяти
Расположена в памяти
№ физической страницы
ОП7
7
—:►
ОПЗ
3
►
ВЗУ5
5
►
ОП6
6
►
ВЗУ1
1
►
ВЗУ2
2
►
ОП8
8
ОП4
4
Рис. 6.2.Таблица страниц
Для ПК характерно стандартное распределение непосредственно адресуемой памяти, то есть 1-мегабайтной области ОП между ОЗУ и ПЗУ и между функционально ориентированной информацией (рис. 6.3).
Стандартная память 640К
Верхняя память 384К
64К Область служебных программ и данных ОС
576К
Область программ и данных операционной системы и пользователя
256К
Область видеопамяти дисплея и служебных программ
128К
Область ПЗУ — программ BIOS
ОЗУ
ПЗУ
Рис. 6.3. Непосредственно адресуемая память
Основная память в соответствии с методами обращения и адресации делится на отдельные, иногда частично или полностью перекрывающие друг друга области, имеющие общепринятые названия. В частности, обобщенно логическая структура основной памяти ПК общей емкостью 64 Мбайт представлена на рис. 6.4.
Непосредственно адресуемая память
Расширенная память
Стандартная память
Верхняя память
Высокая память
0 640К
640К 1024К
1024К 1088К
1088К 64М
Рис. 6.4. Логическая структура основной памяти
Прежде всего, основная память компьютера делится на две логические области: непосредственно адресуемую память, занимающую первые 1024К ячеек с адресами от 0 до 1024К - 1, и расширенную память, доступ к ячейкам которой возможен при использовании специальных программ-драйверов или в защищенном режиме работы микропроцессора.
Драйвер — специальная программа, управляющая работой памяти или внешними устройствами компьютера и организующая обмен информацией между МП, ОП и внешними устройствами компьютера.
^ Стандартной памятью (СМА — Conventional Memory Area) называется непосредственно адресуемая память в диапазоне от 0 до 640 Кбайт.
Непосредственно адресуемая память в диапазоне адресов от 640 до 1024 Кбайт называется верхней памятью (UMA — Upper Memory Area). Верхняя память зарезервирована для памяти дисплея (видеопамяти) и постоянного запоминающего устройства. Однако обычно в верхней памяти остаются свободные участки-«окна», которые могут быть использованы при помощи программ управления памятью (драйверов) в качестве оперативной памяти общего назначения.
^ Расширенная память — это память с адресами 1024 Кбайт и выше. Имеется два основных способа доступа к этой памяти:
□ по спецификации XMS (эту память называют тогда ХМ А — extended Memory
Area);
□ по спецификации EMS (память называют ЕМ — Expanded Memory).
Доступ к расширенной памяти согласно спецификации XMS {Extended Memory
Specification) организуется при использовании специальных драйверов (например,
ХММ — Extended Memory Manager) путем пересылки по мере необходимости от
дельных полей ХМ А в свободные области верхней памяти (UMA). Эту память
иногда называют дополнительной.
Спецификация EMS {Expanded Memory Specification) является более ранней. Согласно этой спецификации доступ реализуется не путем пересылки, а лишь путем отображения по мере необходимости отдельных полей Expanded Memory в свободные области верхней памяти. Отображение организуется путем динамического замещения адресов полей ЕМА в свободных «окнах» UMA; в окне UMA при этом хранится не обрабатываемая информация, а лишь адреса, обеспечивающие доступ к этой информации. Память, организуемая по спецификации EMS, носит название отображаемой, поэтому и сочетание слов Expanded Memory (EM) часто переводят как отображаемая память (хотя термин Expanded почти идентичен термину Extended и более точно переводится как расширенный, увеличенный). Для организации отображаемой памяти необходимо воспользоваться драйвером
ЕММ.ЕХЕ (Expanded Memory Manager). Отображаемая память медленная и поэтому она постепенно уступает место Extended Memory.
Расширенная память может быть использована главным образом для хранения данных и некоторых программ ОС. Часто расширенную память используют для организации виртуальных (электронных) дисков. Исключение составляет небольшая 64-килобайтная область памяти с адресами от 1024 до 1088 Кбайт (так называемая высокая память, иногда ее называют старшая: НМА — High Memory Area), которая может адресоваться и непосредственно при использовании драйвера HIMEM.EXE (High Memory Manager), например. НМА может использоваться для хранения любой информации, в том числе и программ пользователя. Возможность непосредственной адресации высокой памяти обусловлена особенностью сегментной адресации ячеек ОП, ибо в этой концепции максимально возможный адрес ячейки памяти с непосредственной адресацией формируется из максимально возможного адреса сегмента FFFFF, то есть 10242 - 1 — верхняя граница непосредственно адресуемой верхней памяти, плюс максимально возможный адрес смещения в этом сегменте FFFF — получаем верхнюю границу непосредственно адресуемой высокой памяти.
^ Внешние запоминающие устройства
Устройства внешней памяти, или, иначе, внешние запоминающие устройства (ВЗУ), весьма ранообразны. Их можно классифицировать по целому ряду признак
еще рефераты
Еще работы по разное
Реферат по разное
А. компьютер сделан единым неразъемным устройством
17 Сентября 2013
Реферат по разное
I. Элементы архитектуры вычислительных систем
17 Сентября 2013
Реферат по разное
Билет №
17 Сентября 2013
Реферат по разное
Измерение магнитной восприимчивости методом взаимной индукции. Цель работы
17 Сентября 2013