Оперативная память ( RAM ; / ræ m / ) — это форма электронной компьютерной памяти , которую можно читать и изменять в любом порядке, обычно используемую для хранения рабочих данных и машинного кода . [1] [2] Устройство оперативной памяти позволяет считывать или записывать элементы данных практически за одинаковое время независимо от физического расположения данных внутри памяти, в отличие от других носителей данных с прямым доступом (таких как такие как жесткие диски , CD-RW , DVD-RW и более старые магнитные ленты и барабанная память ), где время, необходимое для чтения и записи элементов данных, значительно варьируется в зависимости от их физического расположения на носителе записи из-за механических ограничений, таких как носитель Скорость вращения и движения рук.
ОЗУ содержит схемы мультиплексирования и демультиплексирования для подключения линий данных к адресуемому хранилищу для чтения или записи записи. Обычно по одному и тому же адресу осуществляется доступ к более чем одному биту памяти, а устройства RAM часто имеют несколько линий данных и называются «8-битными» или «16-битными» и т. д. устройствами. [ нужны разъяснения ]
В современных технологиях оперативная память принимает форму микросхем интегральных схем (ИС) с ячейками памяти МОП (металл-оксид-полупроводник) . ОЗУ обычно ассоциируется с энергозависимыми типами памяти, в которых сохраненная информация теряется при отключении питания. Двумя основными типами энергозависимой полупроводниковой памяти с произвольным доступом являются статическая память с произвольным доступом (SRAM) и динамическая память с произвольным доступом (DRAM).
Также было разработано энергонезависимое ОЗУ [3] , и другие типы энергонезависимой памяти допускают произвольный доступ для операций чтения, но либо не допускают операций записи, либо имеют на них другие ограничения. К ним относятся большинство типов ПЗУ и тип флэш-памяти, называемый NOR-Flash .
Использование полупроводниковой оперативной памяти началось в 1965 году, когда IBM представила монолитный (однокристальный) 16-битный чип SP95 SRAM для своего компьютера System/360 Model 95 , а Toshiba использовала дискретные ячейки памяти DRAM для своего 180-битного Toscal BC-1411. электронный калькулятор , оба на основе биполярных транзисторов . Хотя биполярная DRAM предлагала более высокие скорости, чем память с магнитным сердечником , она не могла конкурировать с более низкой ценой доминирующей в то время памяти с магнитным сердечником. [4]
МОП-память, основанная на МОП-транзисторах , была разработана в конце 1960-х годов и послужила основой всей ранней коммерческой полупроводниковой памяти. Первый коммерческий чип DRAM IC, 1K Intel 1103 , был представлен в октябре 1970 года.
Синхронная динамическая память с произвольным доступом (SDRAM) позже дебютировала с чипом Samsung KM48SL2000 в 1992 году.
Ранние компьютеры использовали реле , механические счетчики [5] или линии задержки для основных функций памяти. Ультразвуковые линии задержки представляли собой последовательные устройства , которые могли воспроизводить данные только в том порядке, в котором они были записаны. Память барабана можно было расширить при относительно небольших затратах, но для эффективного извлечения элементов памяти требовалось знание физического расположения барабана для оптимизации скорости. Защелки, построенные из ламповых триодов , а позже и из дискретных транзисторов , использовались для небольших и быстрых запоминающих устройств, таких как регистры. Такие регистры были относительно большими и слишком дорогими для хранения больших объемов данных; обычно можно было предоставить только несколько десятков или несколько сотен бит такой памяти.
Первой практической формой оперативной памяти стала трубка Вильямса, появившаяся в 1947 году. Она хранила данные в виде электрически заряженных пятен на лицевой стороне электронно-лучевой трубки . Поскольку электронный луч ЭЛТ мог считывать и записывать пятна на трубке в любом порядке, память имела произвольный доступ. Емкость трубки Вильямса составляла от нескольких сотен до примерно тысячи бит, но она была намного меньше, быстрее и энергоэффективнее, чем использование отдельных защелок электронных ламп. Разработанная в Манчестерском университете в Англии, трубка Вильямса стала средой, на которой первая программа, хранящаяся в электронном виде, была реализована в компьютере Manchester Baby , который впервые успешно запустил программу 21 июня 1948 года . Ламповая память Уильямса была разработана для Baby, Baby была испытательным стендом для демонстрации надежности памяти. [7] [8]
Память на магнитном сердечнике была изобретена в 1947 году и развивалась до середины 1970-х годов. Это стало широко распространенной формой оперативной памяти, основанной на массиве намагниченных колец. Изменяя направление намагничивания каждого кольца, данные можно было хранить по одному биту на каждое кольцо. Поскольку каждое кольцо имело комбинацию адресных проводов для его выбора, чтения или записи, был возможен доступ к любой ячейке памяти в любой последовательности. Память с магнитным сердечником была стандартной формой компьютерной системы памяти , пока в начале 1970-х годов ее не заменила твердотельная МОП - полупроводниковая память ( металл-оксид-кремний ) в интегральных схемах (ИС). [9]
До разработки схем интегрированного постоянного запоминающего устройства (ПЗУ) постоянная (или только для чтения ) оперативная память часто конструировалась с использованием диодных матриц, управляемых декодерами адреса , или специально намотанных плоскостей памяти с сердечником . [ нужна цитата ]
Полупроводниковая память началась в 1960-х годах с биполярной памяти, в которой использовались биполярные транзисторы . Хотя он был быстрее, он не мог конкурировать с более дешевой памятью на магнитном сердечнике. [10]
Изобретение МОП- транзистора (полевого транзистора металл-оксид-полупроводник), также известного как МОП-транзистор, Мохамедом М. Аталлой и Давоном Кангом в Bell Labs в 1959 году [11] привело к разработке металлооксидного транзистора. полупроводниковая (МОП) память, разработанная Джоном Шмидтом из Fairchild Semiconductor в 1964 году. [9] [12] Помимо более высоких скоростей, полупроводниковая МОП-память была дешевле и потребляла меньше энергии, чем память с магнитным сердечником. [9] Разработка Федерико Фаггином в компании Fairchild в 1968 году технологии МОП-интегральных микросхем с кремниевым затвором (МОП-ИС) позволила начать производство микросхем МОП-памяти . [13] МОП-память обогнала память на магнитных сердечниках и стала доминирующей технологией памяти в начале 1970-х годов. [9]
Интегрированная биполярная статическая память с произвольным доступом (SRAM) была изобретена Робертом Х. Норманом в Fairchild Semiconductor в 1963 году. За ней последовала разработка MOS SRAM Джоном Шмидтом в Fairchild в 1964 году. [ 9 ] SRAM стала Альтернатива памяти на магнитных сердечниках, но для каждого бита данных требуется шесть МОП-транзисторов. [15] Коммерческое использование SRAM началось в 1965 году, когда IBM представила чип памяти SP95 для System/360 Model 95 . [10]
Динамическая память с произвольным доступом (DRAM) позволила заменить схему защелки с 4 или 6 транзисторами одним транзистором для каждого бита памяти, что значительно увеличило плотность памяти за счет нестабильности. Данные хранились в крошечной емкости каждого транзистора, и их приходилось периодически обновлять каждые несколько миллисекунд, прежде чем заряд мог утечь. Электронный калькулятор Toscal BC-1411 компании Toshiba , представленный в 1965 году, [16] [17] [18] использовал форму емкостной биполярной DRAM, хранящей 180-битные данные в дискретных ячейках памяти , состоящих из германиевых биполярных транзисторов и конденсаторов. . [17] [18] Хотя биполярная DRAM предлагала более высокие скорости, чем память с магнитным сердечником, она не могла конкурировать с более низкой ценой доминирующей в то время памяти с магнитным сердечником. [19]
Технология MOS является основой современной DRAM. В 1966 году доктор Роберт Х. Деннард из Исследовательского центра IBM Томаса Дж. Уотсона работал над MOS-памятью. Изучая характеристики МОП-технологии, он обнаружил, что она способна создавать конденсаторы , и что сохранение заряда или отсутствия заряда на МОП-конденсаторе может представлять собой 1 и 0 бита, в то время как МОП-транзистор может контролировать запись заряда в конденсатор. Это привело к разработке однотранзисторной ячейки памяти DRAM. [15] В 1967 году Деннард подал патент IBM на однотранзисторную ячейку памяти DRAM, основанную на технологии MOS. [20] Первым коммерческим чипом DRAM IC был Intel 1103 , который был изготовлен по 8- микронной МОП-технологии с емкостью 1 кбит и был выпущен в 1970 году. [9] [21] [22]
Синхронная динамическая память с произвольным доступом (SDRAM) была разработана компанией Samsung Electronics . Первым коммерческим чипом SDRAM был Samsung KM48SL2000, имевший емкость 16 Мбит . [23] Он был представлен компанией Samsung в 1992 году, [24] и серийно производился в 1993 году. [23] Первым коммерческим чипом памяти DDR SDRAM ( SDRAM с двойной скоростью передачи данных ) был 64- мегабитный чип DDR SDRAM от Samsung, выпущенный в июне 1998 года. [25] GDDR (графическая DDR) — это разновидность DDR SGRAM (синхронная графическая память), которая была впервые выпущена компанией Samsung в виде чипа памяти емкостью 16 Мбит в 1998 году. [26]
Двумя широко используемыми формами современной оперативной памяти являются статическая оперативная память (SRAM) и динамическая оперативная память (DRAM). В SRAM бит данных сохраняется с использованием состояния шеститранзисторной ячейки памяти , обычно с использованием шести МОП-транзисторов. Эта форма оперативной памяти дороже в производстве, но, как правило, быстрее и требует меньше динамической мощности, чем DRAM. В современных компьютерах SRAM часто используется в качестве кэш-памяти ЦП . DRAM хранит бит данных с помощью пары транзисторов и конденсаторов (обычно MOSFET и MOS-конденсатор соответственно), [27] которые вместе составляют ячейку DRAM. Конденсатор удерживает высокий или низкий заряд (1 или 0 соответственно), а транзистор действует как переключатель, который позволяет схеме управления на чипе считывать состояние заряда конденсатора или изменять его. Поскольку производство этой формы памяти дешевле, чем статическая оперативная память, она является преобладающей формой компьютерной памяти, используемой в современных компьютерах.
Как статическая, так и динамическая ОЗУ считаются энергозависимыми , поскольку их состояние теряется или сбрасывается при отключении питания системы. Напротив, постоянное запоминающее устройство (ПЗУ) хранит данные, постоянно включая или отключая выбранные транзисторы, так что память не может быть изменена. Варианты ПЗУ с возможностью записи (такие как EEPROM и флэш-память NOR ) имеют общие свойства как ПЗУ, так и ОЗУ, что позволяет данным сохраняться без питания и обновляться без необходимости специального оборудования. Память ECC (которая может быть SRAM или DRAM) включает в себя специальную схему для обнаружения и/или исправления случайных ошибок (ошибок памяти) в хранимых данных с использованием битов четности или кодов исправления ошибок .
В общем, термин «ОЗУ» относится исключительно к устройствам твердотельной памяти (DRAM или SRAM), а точнее, к основной памяти в большинстве компьютеров. В оптическом запоминающем устройстве термин DVD-RAM используется неправильно, поскольку, в отличие от CD-RW или DVD-RW , его не нужно стирать перед повторным использованием. Тем не менее, DVD-RAM ведет себя так же, как жесткий диск, хотя и несколько медленнее.
Ячейка памяти является фундаментальным строительным блоком компьютерной памяти . Ячейка памяти представляет собой электронную схему , в которой хранится один бит двоичной информации, и ее необходимо настроить на сохранение логической 1 (уровень высокого напряжения) и сбросить на сохранение логического 0 (уровень низкого напряжения). Его значение сохраняется/сохраняется до тех пор, пока оно не будет изменено процессом установки/сброса. Доступ к значению в ячейке памяти можно получить, прочитав его.
В SRAM ячейка памяти представляет собой тип триггерной схемы, обычно реализуемой с использованием полевых транзисторов . Это означает, что SRAM требует очень низкого энергопотребления, когда к нему не осуществляется доступ, но он дорог и имеет низкую плотность хранения.
Второй тип, DRAM, основан на конденсаторе. Зарядка и разрядка этого конденсатора может сохранять в ячейке «1» или «0». Однако заряд этого конденсатора медленно утекает, и его необходимо периодически обновлять. Из-за этого процесса обновления DRAM потребляет больше энергии, но может обеспечить большую плотность хранения и меньшие затраты на единицу продукции по сравнению со SRAM.
Чтобы быть полезными, ячейки памяти должны быть доступны для чтения и записи. В устройстве RAM для выбора ячеек памяти используются схемы мультиплексирования и демультиплексирования. Обычно устройство ОЗУ имеет набор адресных линий , и для каждой комбинации битов, которая может быть применена к этим строкам, активируется набор ячеек памяти. Благодаря такой адресации устройства оперативной памяти практически всегда имеют объем памяти, равный степени двойки.
Обычно несколько ячеек памяти имеют один и тот же адрес. Например, 4-битная микросхема ОЗУ имеет 4 ячейки памяти для каждого адреса. Часто ширина памяти и ширина микропроцессора различаются, для 32-битного микропроцессора потребуется восемь 4-битных микросхем ОЗУ.
Часто требуется больше адресов, чем может предоставить устройство. В этом случае внешние мультиплексоры устройства используются для активации правильного устройства, к которому осуществляется доступ.
Можно читать и перезаписывать данные в оперативной памяти. Многие компьютерные системы имеют иерархию памяти, состоящую из регистров процессора , встроенных кэшей SRAM, внешних кэшей , DRAM , систем подкачки и виртуальной памяти или пространства подкачки на жестком диске. Многие разработчики могут называть весь этот пул памяти «ОЗУ», даже несмотря на то, что различные подсистемы могут иметь очень разное время доступа , что нарушает первоначальную концепцию термина произвольного доступа в ОЗУ. Даже на таком уровне иерархии, как DRAM, конкретная строка, столбец, банк, ранг , канал или чередующаяся организация компонентов делают время доступа переменным, хотя и не в такой степени, как время доступа к вращающимся носителям данных или ленте. . Общая цель использования иерархии памяти состоит в том, чтобы получить как можно более быстрое среднее время доступа при минимизации общей стоимости всей системы памяти (как правило, иерархия памяти соответствует времени доступа с быстрыми регистрами ЦП наверху и медленными регистрами жесткого диска). внизу).
Во многих современных персональных компьютерах оперативная память поставляется в виде легко модернизируемых модулей, называемых модулями памяти или модулями DRAM, размером примерно с несколько палочек жевательной резинки. Их можно быстро заменить в случае повреждения или при изменении потребностей, требующих увеличения емкости хранилища. Как было предложено выше, меньшие объемы оперативной памяти (в основном SRAM) также интегрированы в ЦП и другие микросхемы на материнской плате , а также в жесткие диски, компакт-диски и некоторые другие части компьютерной системы.
Помимо того, что оперативная память служит временным хранилищем и рабочим пространством для операционной системы и приложений, она используется многими другими способами.
В большинстве современных операционных систем используется метод расширения объема оперативной памяти, известный как «виртуальная память». Часть жесткого диска компьютера отведена для файла подкачки или рабочего раздела , а совокупность физической оперативной памяти и файла подкачки образует общую память системы. (Например, если компьютер имеет 2 ГБ (1024 3 Б) ОЗУ и файл подкачки размером 1 ГБ, операционной системе доступно 3 ГБ общей памяти.) Когда в системе заканчивается физическая память, она может « подкачать » » части ОЗУ в файл подкачки, чтобы освободить место для новых данных, а также для чтения ранее замененной информации обратно в ОЗУ. Чрезмерное использование этого механизма приводит к сбоям и, как правило, снижает общую производительность системы, главным образом потому, что жесткие диски намного медленнее, чем ОЗУ.
Программное обеспечение может «разделить» часть оперативной памяти компьютера, позволяя ей работать как гораздо более быстрый жесткий диск, который называется RAM-диском . RAM-диск теряет сохраненные данные при выключении компьютера, если только память не оборудована резервным источником питания или изменения на RAM-диске не записываются на энергонезависимый диск. RAM-диск перезагружается с физического диска при инициализации RAM-диска.
Иногда содержимое относительно медленного ПЗУ копируется в память чтения/записи, чтобы сократить время доступа. Затем микросхема ПЗУ отключается, а инициализированные ячейки памяти включаются в один и тот же блок адресов (часто защищенный от записи). Этот процесс, иногда называемый теневым копированием , довольно распространен как в компьютерах, так и в встроенных системах .
Типичный пример: в BIOS типичных персональных компьютеров часто имеется опция «использовать теневой BIOS» или подобная. Если этот параметр включен, функции, которые полагаются на данные из ПЗУ BIOS, вместо этого используют ячейки DRAM (большинство из них также могут переключать затенение ПЗУ видеокарты или других разделов ПЗУ). В зависимости от системы это может не привести к увеличению производительности и может привести к несовместимости. Например, некоторое оборудование может быть недоступно для операционной системы , если используется теневая ОЗУ. В некоторых системах преимущество может быть гипотетическим, поскольку после загрузки BIOS не используется в пользу прямого доступа к оборудованию. Свободная память уменьшается на размер затененных ПЗУ. [28]
«Стена памяти» — это растущее несоответствие скорости между процессором и временем отклика памяти (известным как задержка памяти ) за пределами чипа ЦП. Важной причиной этого несоответствия является ограниченная полоса пропускания связи за пределами чипа, которую также называют стеной полосы пропускания . С 1986 по 2000 год скорость процессора увеличивалась на 55% в год, тогда как время отклика внешней памяти улучшалось только на 10%. Учитывая эти тенденции, ожидалось, что задержка памяти станет серьёзным узким местом в производительности компьютера. [29]
Другая причина несоответствия — колоссальное увеличение объема памяти с начала революции ПК в 1980-х годах. Первоначально ПК содержали менее 1 мегабайта оперативной памяти, время отклика которой часто составляло 1 такт процессора, а это означало, что для этого требовалось 0 состояний ожидания. Блоки памяти большего размера по своей природе медленнее, чем меньшие блоки того же типа, просто потому, что сигналам требуется больше времени для прохождения большей цепи. Построить блок памяти из многих гибибайтов с временем отклика в один такт сложно или невозможно. Современные процессоры часто все еще имеют мебибайт 0 кэш-памяти состояния ожидания, но он находится на том же кристалле, что и ядра процессора, из-за ограничений пропускной способности связи между чипами. Она также должна быть построена на основе статической оперативной памяти, которая намного дороже динамической оперативной памяти, используемой для памяти большего размера. Статическая оперативная память также потребляет гораздо больше энергии.
Повышение скорости ЦП значительно замедлилось отчасти из-за серьезных физических препятствий, а отчасти потому, что нынешние конструкции ЦП в некотором смысле уже уперлись в стену памяти. Intel суммировала эти причины в документе 2005 года. [30]
Во-первых, по мере уменьшения геометрии чипа и повышения тактовой частоты увеличивается ток утечки транзистора , что приводит к избыточному энергопотреблению и нагреву... Во-вторых, преимущества более высоких тактовых частот частично сводятся на нет задержкой памяти, поскольку время доступа к памяти увеличивается. не смогли угнаться за ростом тактовых частот. В-третьих, для некоторых приложений традиционные последовательные архитектуры становятся менее эффективными по мере того, как процессоры становятся быстрее (из-за так называемого узкого места фон Неймана ), что еще больше снижает любые выгоды, которые в противном случае можно было бы получить за счет увеличения частоты. Кроме того, отчасти из-за ограничений в средствах создания индуктивности в твердотельных устройствах, задержки при передаче сигнала из-за резистивно-емкостного сопротивления (RC) растут по мере уменьшения размеров элементов, создавая дополнительное узкое место, которое не устраняется увеличением частоты.
Задержки RC в передаче сигнала также были отмечены в статье «Тактовая частота по сравнению с IPC: конец пути для обычных микроархитектур» [31] , в которой прогнозировалось максимальное среднегодовое улучшение производительности процессора на 12,5% в период с 2000 по 2014 год.
Другой концепцией является разрыв в производительности процессора и памяти, который можно устранить с помощью 3D-интегральных схем , сокращающих расстояние между аспектами логики и памяти, которые находятся дальше друг от друга в 2D-чипе. [32] Проектирование подсистемы памяти требует внимания к разрыву, который со временем увеличивается. [33] Основным методом преодоления разрыва является использование тайников ; небольшие объемы высокоскоростной памяти, в которой хранятся последние операции и инструкции рядом с процессором, что ускоряет выполнение этих операций или инструкций в тех случаях, когда они выполняются часто. Чтобы справиться с растущим разрывом, были разработаны несколько уровней кэширования, а производительность современных высокоскоростных компьютеров зависит от развития методов кэширования. [34] Разница между ростом скорости процессора и отставанием скорости доступа к основной памяти может достигать 53%. [35]
Скорость твердотельных жестких дисков продолжает увеличиваться: с ~400 Мбит/с через SATA3 в 2012 году до ~3 ГБ/с через NVMe / PCIe в 2018 году, сокращая разрыв между скоростями оперативной памяти и жесткого диска, хотя объем оперативной памяти продолжает расти. быть на порядок быстрее: однополосная память DDR4 3200 обеспечивает скорость 25 ГБ/с, а современная GDDR — еще быстрее. Быстрые, дешевые и энергонезависимые твердотельные накопители заменили некоторые функции, которые раньше выполняла ОЗУ, например хранение определенных данных для немедленной доступности в серверных фермах : 1 терабайт SSD-накопителя можно приобрести за 200 долларов, а 1 ТБ ОЗУ обойдется в тысячи долларов. долларов. [36] [37]
i1103 был изготовлен по 6-масковой технологии P-MOS с кремниевым затвором и минимальной толщиной 8 мкм. Полученный продукт имел размер ячейки памяти 2400 мкм 2 , размер кристалла чуть менее 10 мм 2 и продавался примерно за 21 доллар.
Первая коммерческая синхронная память DRAM, 16-Мбит KM48SL2000 от Samsung, использует однобанковую архитектуру, которая позволяет разработчикам систем легко переходить от асинхронных к синхронным системам.
{{cite web}}
: CS1 maint: archived copy as title (link).{{cite book}}
: |website=
игнорируется ( помощь )Анонс 1M DRAM в 1984 году положил начало эпохе мегабайт.
{{cite news}}
: CS1 maint: unfit URL (link)