Мегаобучалка Главная | О нас | Обратная связь


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



2020-03-19 171 Обсуждений (0)
Новые типы динамической памяти 0.00 из 5.00 0 оценок




Стоит начать с того, что за последние десять лет скорость работы микропроцессоров возросла во много раз больше, чем быстродействие оперативной памяти. Так, high-end- компьютеры образца 1984 года (PC/AT) работали с тактовой частотой 10 МГц. Сегодня внутренняя тактовая частота процессоров Pentium достигает, например, 1 ГГц. За этот же период время доступа микросхем оперативной памяти снизилось со 150 всего до 10—5 нс. Причем заметим, что стандартная схемотехника, применяемая в производстве оперативной памяти, не обещает особых изменений и в будущем. Что касается внешней кэш-памяти (подробнее о ней чуть позже), то, во-первых, она достаточно дорогая, а во-вторых, ее использование оказывается эффективным только до тех пор, пока программное приложение не начинает работать с данными, находящимися в разных частях оперативной памяти. Ведь, как известно, основной принцип кэш-памяти заключается в том, что 10— 20% команд или данных будут необходимы в 80—90% случаев. Кроме того, считается справедливым предположение, что если считываются инструкции или набор данных из одного места памяти, то соседние с ними также скоро будут востребованы. Стоит напомнить, что, например, в микросхемах, совместимых с архитектурой Intel, начиная с 486-х процессоров, для доступа к памяти реализован так называемый пакетный (burst) режим. Он заключается в том, что при необходимости чтения одного слова процессор вместе с ним считывает еще три, расположенных рядом. Обычно время пересылки измеряют в тактах и записывают, например, так: 6-3-3-3. Это означает, что если на первую пересылку данных из памяти потребовалось 6 тактов работы процессора, то на каждую последующую — только по 3.

Итак, если процессору 8088 требовалось четыре такта для передачи данных, то современным процессорам — всего один. Например, Pentium, работающий на внутренней тактовой частоте 100 МГц, с внешней кэш-памятью (время доступа 15 нс) мог обеспечить пакетный режим 3-2-2-2. Для обмена с динамической памятью параметры будут в два-три раза хуже, например 7-3-3-3. Хотя теоретически микропроцессор 486DX2-66 мог бы реализовать пакетный режим 2-1-1-1, но с обычной динамической памятью (время доступа 70 нс) реальные значения будут на уровне 5-2-2-2.

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

Синхронная DRAM (Synchronous DRAM, SDRAM) и синхронная графическая RAM (Synchronous Graphics RAM, SGRAM) — еще две популярных вариации на ту же тему. Оба эти типа однопортовые, и поэтому несколько дешевле, чем VRAM или WRAM. Преимущество SDRAM и SGRAM перед обычной DRAM в том, что эти микросхемы памяти используют тот же сигнал таймера, что и CPU. Это означает, что данные микросхемы памяти готовы к передаче данных тогда, когда CPU их ожидает. Подобные микросхемы используют трехступенчатую конвейерную архитектуру и, кроме того, внутренний доступ типа "пинг-понг" к двум блокам памяти с чередованием адресов. Тактирование микросхем осуществляется внешней частотой для микропроцессоров. Современные SDRAM могут работать на тактовых частотах 66, 75, 83,100 и 133 МГц. Пионерами в разработке подобных устройств являются фирмы Samsung и NEC. При использовании других типов памяти CPU требуется больше времени, чтобы убедиться, что микросхема передала данные, а это создает непроизводительные задержки. Стоит отметить, что первый доступ в пакетном режиме выполняется медленнее для микросхем SDRAM, нежели, например, EDRAM. Для последующих трех — все наоборот.

Одним из наиболее быстродействующих типов памяти является RDRAM (Rambus DRAM). Это, наверное, наиболее сильно отличающаяся дизайном память, потребовавшая абсолютно новой архитектуры. Кроме того, из всех созданных на сегодняшний день технологий эта обладает наибольшим потенциалом по скорости. Однако этот потенциал стоит недешево. RDRAM должна соединяться с CPU через очень специфическую шину, которая не может быть слишком длинной. Тактируемая частотой 250 МГц 9-разрядная RDRAM достигает пиковой скорости передачи 500 Мбайт/с, а 2 ГГц – 4 Гбайт/с. Вообще говоря, Rambus-архитектура состоит из трех частей: Rambus-интерфейса, Rambus-канала и Rambus-микросхем. Вследствие использования высоких тактовых частот серьезные требования предъявляются к печатным платам и соединениям. Подобная память, впервые разработанная американской компанией Rambus, в настоящее время выпускается такими компаниями, как NEC, Fujitsu иToshiba. Пройдет время, прежде чем мы увидим RDRAM в качестве основной памяти PC. Несмотря на это, Intel обратилась к RDRAM как к решению проблемы нехватки памяти компьютера в недалеком будущем, а так как Intel является основным производителем материнских плат для PC, можно ожидать претворения этой затеи в жизнь.

Стоит отметить, что существуют и другие типы памяти, причем более или менее экзотические. Например, в MDRAM (Multibank DRAM) вся память делится на 10 маленьких банков, время доступа к которым существенно меньше времени доступа к одному большому: 15 не против 50 не. Тем не менее, по оценкам экспертов, в ближайшее время не следует ожидать ухода от массового использования в персональных компьютерах так называемой EDO (Extended Data Out) DRAM или ее разновидности BEDO (Burst EDO) DRAM. Во-первых, она обеспечивает более высокую скорость передачи (особенно в пакетном режиме), а во-вторых, полностью совместима по выводам с современными SIMM-модулями DRAM. В отличие от обычных микросхем DRAM в EDO DRAM добавлен набор регистров-"защелок", благодаря которым данные на выходе могут удерживаться даже в течение следующего запроса к микросхеме. Такого эффекта можно добиться на обыкновенных DRAM только в режиме чередования адресов. Напомним, что в любом обращении к памяти можно выделить три фазы: начало доступа; период, когда данные становятся действительными, и непосредственно передача. Эти фазы повторяются последовательно для каждой ячейки в считываемой строке. В случае с EDO-памятью временные параметры (а следовательно, и быстродействие) улучшаются за счет исключения циклов ожидания в фазе готовности данных. По некоторым данным, EDO DRAM работает быстрее FPM DRAM примерно на 20—25%. Однако при использовании кэш памяти второго уровня (L2) быстродействие возрастает только на 5%. Стоит отметить, что EDO-память дороже обычных DRAM на 7—10%. Именно поэтому в настоящее время EDO-память рекомендуется использовать в недорогих системах без кэш-памяти, что в данном случае достаточно эффективно. Кроме того, оправдано применение EDO-памяти и в многозадачных системах.

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

Видеопамять

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

В современных видеосистемах с высоким разрешением и большой глубиной цветов вполне обычным уже является кадровый видеобуфер размером 8 - 64 Мб. Еще больше памяти используется в высококачественных (high-end) системах.

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

Кэш память

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

Для пользователей IBM PC-совместимых компьютеров использование кэш-памяти началось еще с 386-х микропроцессоров. Для таких устройств, синхронизируемых, например, частотой 33 МГц, тактовый период составляет приблизительно 30 нс. Обычные микросхемы динамической памяти имеют время выборки от 60 до 100 нс. Отсюда, в частности, следует, что центральный процессор вынужден простаивать 2—3 периода тактовой частоты (то есть имеет 2—3 цикла ожидания), пока информация из соответствующих микросхем памяти установится на системной шине данных компьютера. Понятно, что в это время процессор не может выполнять никакую другую работу. Такая ситуация приводит к снижению общей производительности системы, что, разумеется, крайне нежелательно. Таким образом, узким местом системы становится оперативная динамическая память. Из этого положения существует, казалось бы, простой выход — использовать в качестве основной памяти достаточно быструю статическую. Однако если основную оперативную память выполнить на микросхемах статической памяти, то стоимость компьютера возрастет очень существенно. Таким образом, с помощью технологии обработки, использующей кэш-память, найден определенный компромисс между стоимостью и производительностью системы.

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

Архитектура кэш-памяти

Прежде чем говорить об архитектуре кэш-памяти, введем такое понятие, как длина строки-кэша (cache-line). Если при обмене данными между устройствами речь обычно идет о блоке информации, то для кэш-памяти существует некий набор данных, называемых строкой. Итак, архитектура кэш-памяти определяется тем, каким образом достаточно большая по размеру основная память отображается на сравнительно небольшой кэш. Существуют, вообще говоря, три разновидности отображения: кэш-память с прямым отображением (direct-mapped cache), частично, или наборно-ассоциативная (set-associative cache) и полностью ассоциативная (fully associative cache). Все эти архитектуры так или иначе используются для построения кэш-памяти современных микропроцессоров.

Кэш-память с прямым отображением

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

Преимуществом реализации такого типа архитектуры являются довольно низкие затраты, поскольку, по сути, требуется всего лишь одна операция сравнения (для тегов). Недостатки ее, впрочем, также очевидны. Например, если два блока данных основной памяти, используемые одинаково часто, претендуют на одну и ту же строку в кэше. Внешняя кэш-память с прямым отображением использовалась, например, вместе с 386-ми процессорами (кэш-контроллер 182385), а внутренняя — в микропроцессоре DEC Alpha 21064.

Полностью ассоциативная архитектура

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

Наборно-ассоциативная архитектура

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

По количеству линий кэша, входящих в набор, подобная архитектура может называться 2-входовой (2-way set associative), 4-входовой (4-way set associative) и т.д.

Обновление информации

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

BIOS и CMOS RAM

Базовая система ввода-вывода BIOS (Basic Input Output System) называется так потому, что включает в себя обширный набор программ ввода-вывода, благодаря которым операционная система и прикладные программы могут взаимодействовать с различными устройствами как самого компьютера, так и подключенными к нему. Большинство современных видеоадаптеров, а также контроллеры накопителей имеют собственную систему BIOS, которая обычно дополняет системную. Во многих случаях программы, входящие в конкретную BIOS, заменяют соответствующие программные модули основной BIOS. Вызов программ BIOS, как правило, осуществляется через программные или аппаратные прерывания.

Система BIOS, помимо программ взаимодействия с аппаратными средствами на физическом уровне содержит программу тестирования при включении питания компьютера POST (Power-On-Self-Test) и программу начального загрузчика. Последняя программа необходима для загрузки операционной системы с соответствующего накопителя.

Система BIOS в IBM PC-совместимых компьютерах реализована в виде одной или двух микросхем, установленных на системной плате компьютера. Название "ROM BIOS" в настоящее время не совсем справедливо, ибо "ROM" предполагает использование постоянных запоминающих устройств (ROM — Read Only Memory), а для хранения кодов BIOS применяются в основном перепрограммируемые (стираемые электрически или с помощью ультрафиолетового излучения) запоминающие устройства, например ППЗУ ЭС (Electrically Erasable Programmable ROM, EEPROM). Мало того, наиболее перспективной для хранения системы BIOS является сейчас флэш-память.

Поскольку содержимое ROM BIOS фирмы IBM было защищено авторским правом (то есть его нельзя подвергать копированию), то большинство других производителей компьютеров вынуждены были использовать микросхемы BIOS независимых фирм, разумеется, практически полностью совместимые с оригиналом. Наиболее известны из этих фирм три: American Megatrends Inc. (AMI), Award Software и Phoenix Technologies. Заметим, что конкретные версии BIOS неразрывно связаны с набором микросхем (chipset), размещенных на системной плате.

Система BIOS в компьютерах неразрывно связана с аббревиатурой CMOS RAM. Под этим понимается "неизменяемая" память, в которой хранится информация о текущих показаниях часов, значении времени для будильника, конфигурации компьютера: количестве памяти, типах накопителей и т.д. Именно в такой информации нуждаются программные модули системы BIOS. Своим названием CMOS RAM обязана тому, что выполнена на основе КМОП-структур (CMOS — Complementary Metal-Oxide-Semiconductor), которые, как известно, отличаются малым энергопотреблением. Поскольку в данной микросхеме реализованы также часы реального времени RTC (Real Time Clock), то ее обычно называют RTC CMOS RAM. В современных компьютерах функции этой микросхемы включены в одну из вспомогательных (микросхем, например периферийного контроллера. CMOS-память энергонезависима только постольку, поскольку постоянно подпитывается, например, от аккумулятора, расположенного на системной плате, или батареи гальванических элементов, как правило, смонтированной на корпусе системного блока. Заметим, что большинство системных плат допускают питание CMOS RAM как от встроенного, так и от внешнего источников.

В системе BIOS имеется программа, называемая Setup, которая может изменять содержимое CMOS-памяти. Вызывается эта программа определенной комбинацией клавиш, которая обычно высвечивается на экране монитора после включения питания компьютера. Некоторые из данных комбинаций для различных фирм-производителей приведены в таблице 1. Заметим, что войти в программу Setup можно либо после успешной загрузки компьютера (нажав соответствующую комбинацию клавиш), либо после возникновения ошибки (клавиши F1 или F2). Во время загрузки компьютера запустить программу Setup можно, например, для системы BIOS фирмы AMI, нажав клавишу DEL.

 

Таблица 1 Комбинации клавиш для входа в BIOS различных фирм

Фирма-изготовитель Комбинация клавиш Примечание
Phoenix Technologies CTL-ALT-S или F2 после ошибки
American Megatrends DEL в течение загрузки
Award Software CTL-ALT-ESC
Chips&Technologies CTL-ALT-S или F2 после ошибки
Zenith CTL-ALT-INS
Quadtel CTL-ALT-S или F2 после ошибки

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

Расширенные установки Advanced CMOS Setup или Advanced ChipSet Setup включают в себя дополнительные возможности конфигурирования системной платы, которые во многом зависят от используемого набора вспомогательных микросхем. Наиболее общими являются обычно такие возможности, как допустимая скорость ввода символов с клавиатуры (по умолчанию 15 символов в секунду), тестирование памяти выше границы 1 Мбайт, разрешение использования арифметического сопроцессора, приоритет или последовательность загрузки (то есть попытка загрузки компьютера сначала с накопителя со сменным, а затем несменным носителем, или наоборот), установка определенной тактовой частоты микропроцессора при включении, разрешение парольной защиты, запрет контроля четности памяти и т.д. Кроме того, возможна установка тактовой частоты системной шины, а также числа тактов ожидания (или временной задержки) для микропроцессора при обращении к устройствам ввода-вывода, оперативной и/или кэш-памяти.

Заметим, что в случае повреждения микросхемы CMOS RAM (или разряде батареи/аккумулятора) программа Setup имеет возможность воспользоваться некой информацией по умолчанию (BIOS Setup Default Values), которая хранится в таблице соответствующей микросхемы ROM BIOS. Кстати, на некоторых материнских платах питание микросхемы CMOS RAM может осуществляться как от внутреннего, так и от внешнего источников. Выбор определяется установкой соответствующей перемычки.

Обычно программа Setup поддерживает также установки, связанные с шиной PCI и автоматической конфигурацией системы Plug and Play.

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



2020-03-19 171 Обсуждений (0)
Новые типы динамической памяти 0.00 из 5.00 0 оценок









Обсуждение в статье: Новые типы динамической памяти

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (171)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.015 сек.)