Устройство и принципы функционирования оперативной памяти

Автор работы: Пользователь скрыл имя, 21 Ноября 2011 в 00:01, курсовая работа

Описание

Операти́вная па́мять (англ. Random Access Memory, память с произвольным доступом) — энергозависимая часть системы компьютерной памяти, в которой временно хранятся данные и команды, необходимые процессору для выполнения им операции. Обязательным условием является адресуемость (каждое машинное слово имеет индивидуальный адрес) памяти.

Содержание

Введение 3
Устройство и принципы функционирования оперативной памяти 4
Conventional DRAM 6
FPM DRAM 9
EDO-DRAM 10
BEDO 11
SDRAM 13
DDR SDRAM 14
RDRAM 15
Взаимодействие памяти и процессора. 17
Заключение 20
Список используемой литературы

Работа состоит из  1 файл

озу.docx

— 193.18 Кб (Скачать документ)

Содержание

  1. Введение                                                                                                         3
  2. Устройство и принципы функционирования оперативной памяти         4
  3. Conventional DRAM          6
  4. FPM DRAM           9
  5. EDO-DRAM                  10
  6. BEDO                                                                                    11
  7. SDRAM                  13
  8. DDR SDRAM                 14
  9. RDRAM                          15
  10. Взаимодействие памяти и процессора.             17
  11. Заключение                                                                                                  20
  12. Список используемой литературы                                                            21                                                                                     
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение

Операти́вная  па́мять (англ. Random Access Memory, память с произвольным доступом) — энергозависимая часть системы компьютерной памяти, в которой временно хранятся данные и команды, необходимые процессору для выполнения им операции. Обязательным условием является адресуемость (каждое машинное слово имеет индивидуальный адрес) памяти. Передача данных в оперативную память процессором производится непосредственно, либо через сверхбыструю память. Содержащиеся в оперативной памяти данные доступны только тогда, когда компьютер включен. При выключении компьютера содержимое стирается из оперативной памяти, поэтому перед выключением компьютера все данные нужно сохранить. Так же от объема оперативной памяти зависит количество задач, которые одновременно может выполнять компьютер. 
 
 

Рисунок 1. Простейшая схема взаимодействия оперативной памяти с ЦП 
 
 
 
 

Устройство  и принципы функционирования оперативной памяти

В ядре 

Ядро микросхемы динамической памяти состоит из множества  ячеек, каждая из которых хранит всего  один бит информации. На физическом уровне ячейки объединяются в прямоугольную  матрицу, горизонтальные линейки которой  называются строками (ROW), а вертикальные - столбцами (Column) или страницами (Page).  

Линейки представляют собой обыкновенные проводники, на пересечении которых находится "сердце" ячейки - несложное устройство, состоящее  из одного транзистора и одного конденсатора.  

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

Чувствительный  усилитель (sense amp), подключенный к каждому  из столбцов матрицы, реагируя на слабый поток электронов, устремившихся  через открытые транзисторы с  обкладок конденсаторов, считывает  всю страницу целиком. Это обстоятельство настолько важно, что последняя  фраза вполне заслуживает быть выделенной курсивом. Именно страница является минимальной  порцией обмена с ядром динамической памяти. Чтение/запись отдельно взятой ячейки невозможно! Действительно, открытие одной строки приводит к открытию всех, подключенных к ней транзисторов, а, следовательно, - разряду закрепленных за этими транзисторами конденсаторов.

Чтение ячейки деструктивно по своей природе, поскольку sense amp (чувствительный усилитель) разряжает  конденсатор в процессе считывания его заряда. "Благодаря" этому  динамическая память представляет собой  память разового действия. Разумеется, такое положение дел никого устроить не может, и потому во избежание потери информации считанную строку приходится тут же перезаписывать вновь. В зависимости  от конструктивных особенностей эту  миссию выполняет либо программист, либо контроллер памяти, либо сама микросхема памяти. Практически все современные  микросхемы принадлежат к последней  категории. Редко какая из них  поручает эту обязанность контроллеру, и уж совсем ни когда перезапись не возлагается на программиста.  

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

Conventional DRAM (Page Mode DRAM) - "обычная" DRAM 

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

В первую очередь  выделим среди них линии адреса и линии данных. Линии адреса, как и следует из их названия, служат для выбора адреса ячейки памяти, а линии данных - для чтения и  для записи ее содержимого. Необходимый  режим работы определяется состоянием специального вывода Write Enable (Разрешение Записи).  

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

Такой трюк значительно  сокращает количество выводов микросхемы, что в свою очередь уменьшает  ее габариты. А, чем меньше габариты, тем выше предельно допустимая тактовая частота. Почему? Увы! В двух словах не расскажешь - тут замешен целый  ряд физических явлений и эффектов. Во-первых, в силу ограниченной скорости распространения электричества, длины  проводников, подведенных к различным  ножкам микросхемы, должны не сильно отличаться друг от друга, иначе сигнал от одного вывода будет опережать сигнал от другого. Во-вторых, длины проводников  не должны быть очень велики - в противном  случае задержка распространения сигнала "съест" все быстродействие. В-третьих, любой проводник действует как  приемная и как передающая антенна, причем уровень помех резко усиливается  с ростом тактовой частоты. Паразитному  антенному эффекту можно противостоять  множеством способов (например, путем  перекашивания сигналов в соседних разрядах), но самой радикальной  мерой было и до сих пор остается сокращение количества проводников  и уменьшение их длины. Наконец, в-четвертых, всякий проводник обладает электрической емкостью. А емкость и скорость передачи данных - несовместимы! Вот только один пример: ":первый трансатлантический кабель для телеграфа был успешно проложен в 1858 году,: когда напряжение прикладывалось к одному концу кабеля, оно не появлялось немедленно на другом конце и вместо скачкообразного нарастания достигало стабильного значения после некоторого периода времени. Когда снимали напряжение, напряжение приемного конца не падало резко, а медленно снижалось. Кабель вел себя как губка, накапливая электричество. Это свойство мы теперь называем емкостью"  

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

Столбцы и строки матрицы памяти тем же самым способом совмещаются в единых адресных линиях. В случае квадратной матрицы количество адресных линий сокращается вдвое, но и выбор конкретной ячейки памяти отнимает вдвое больше тактов, ведь номера столбца и строки приходится передавать последовательно. Причем, возникает  неоднозначность, что именно в данный момент находится на адресной линии: номер строки или номер столбца? А, быть может, и вовсе не находится  ничего? Решение этой проблемы потребовало  двух дополнительных выводов, сигнализирующих  о наличии столбца или строки на адресных линиях и окрещенных RAS (от row address strobe - строб адреса строки) и CAS (от column address strobe - строб адреса столбца) соответственно. В спокойном состоянии  на обоих выводах поддерживается высокий уровень сигнала, что  говорит микросхеме: никакой информации на адресных линиях нет и никаких  действий предпринимать не требуется.  
 

Но вот программист  захотел прочесть содержимое некоторой  ячейки памяти. Контроллер преобразует  физический адрес в пару чисел - номер  строки и номер столбца, а затем  посылает первый из них на адресные линии. Дождавшись, когда сигнал стабилизируется, контроллер сбрасывает сигнал RAS в низкий уровень, сообщая микросхеме памяти о наличии информации на линии. Микросхема считывает этот адрес и подает на соответствующую строку матрицы  электрический сигнал. Все транзисторы, подключенные к этой строке, открываются  и бурный поток электронов, срываясь с насиженных обкладок конденсатора, устремляется на входы чувствительного  усилителя. Чувствительный усилитель  декодирует всю строку, преобразуя ее в последовательность нулей и  единиц, и сохраняет полученную информацию в специальном буфере. Все это (в зависимости от конструктивных особенностей и качества изготовления микросхемы) занимает от двадцати до сотни  наносекунд, в течение которых  контроллер памяти выдерживает терпеливую паузу. Наконец, когда микросхема завершает  чтение строки и вновь готова к  приему информации, контроллер подает на адресные линии номер колонки  и, дав сигналу стабилизироваться, сбрасывает CAS в низкое состояние. "Ага!", говорит микросхема и преобразует  номер колонки в смещение ячейки внутри буфера. Остается всего лишь прочесть ее содержимое и выдать его  на линии данных. Это занимает еще  какое-то время, в течение которого контроллер ждет запрошенную информацию. На финальной стадии цикла обмена контроллер считывает состояние  линий данных, дезактивирует сигналы RAS и CAS, устанавливая их в высокое  состояние, а микросхема берет определенный тайм-аут на перезарядку внутренних цепей и восстановительную перезапись строки.  

Задержка между  подачей номера строки и номера столбца  на техническом жаргоне называется "RAS to CAS delay" (на сухом официальном  языке - tRCD). Задержка между подачей  номера столбца и получением содержимого  ячейки на выходе - "CAS delay" (или tCAC), а задержка между чтением последней  ячейки и подачей номера новой  строки - "RAS precharge" (tRP). 

Эволюция  динамической памяти.

 В микросхемах  памяти, выпускаемых вплоть до  середины девяностых, все три  задержки (RAS to CAS Delay, CAS Delay и RAS precharge) в сумме составляли порядка  200 нс., что соответствовало двум  тактам в 10 мегагерцовой системе и, соответственно, двенадцати - в 60 мегагерцовой. С появлением Intel Pentium 60 (1993 год) и Intel 486DX4 100 (1994 год) возникла потребность в совершенствовании динамической памяти - прежнее быстродействие уже никого не устраивало.  

FPM DRAM (Fast Page Mode DRAM) быстрая страничная память 

Первой ласточкой  стала FPM-DRAM - Fast-Page Mode DRAM (Память быстрого страничного режима), разработанная  в 1995 году. Основным отличием от памяти предыдущего поколения стала  поддержка сокращенных адресов. Если очередная запрашиваемая ячейка находится в той же самой строке, что и предыдущая, ее адрес однозначно определяется одним лишь номером  столбца и передача номера строки уже не требуется. За счет чего это  достигается? При работе с обычной DRAM после считывания данных сигнал RAS дезактивируется, подготавливая микросхему к новому циклу обмена, контроллер FPM-DRAM удерживает RAS в низком состоянии, избавляясь от повторной пересылки номера строки.  

При последовательном чтении ячеек памяти, (равно как  и обработке компактных одно-двух килобайтовых структур данных), время  доступа сокращается на 40%, а то и больше, ведь обрабатываемая строка находится во внутреннем буфере микросхемы, и обращаться к матрице памяти нет никакой необходимости!  

Правда, хаотичное  обращение к памяти, равно как  и перекрестные запросы ячеек  из различных страниц, со всей очевидностью не могут воспользоваться преимуществами передачи сокращенных адресов и  работают с FPM-DRAM в режиме обычной DRAM. Если очередная запрашиваемая ячейка лежит вне текущей (так называемой, открытой) строки, контроллер вынужден дезактивировать RAS, выдержать паузу RAS precharge на перезарядку микросхемы, передать номер строки, выдержать  паузу RAS to CAS delay и лишь затем он сможет приступить к передаче номера столбца.  

Ситуация, когда  запрашиваемая ячейка находится  в открытой строке, называется "попаданием на страницу" (Page Hit), в противном  случае говорят, что произошел промах (Page Miss). Поскольку, промах облагается штрафными  задержками, критические к быстродействию модули должны разрабатываться с  учетом особенностей архитектуры FPM-DRAM, так что абстрагироваться от ее устройства уже не получается.  

Информация о работе Устройство и принципы функционирования оперативной памяти