Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции инф / Modul2_1_2.doc
Скачиваний:
94
Добавлен:
23.02.2015
Размер:
1.17 Mб
Скачать

Основная память

Main memoryRAM–RandomAccessMemory– оперативная память, запоминающее устройство, непосредственно связанное с процессором и хранящее программы, выполняемые в текущий момент и данные, необходимые для их выполнения.

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

В DRAM для хранения одного бита данных используется только один транзистор и один конденсатор, поэтому по технологии DRAM возможно производить достаточно компактные чипы с немалой емкостью. Например, сегодня существуют чипы, базирующиеся на технологии DRAM емкостью 512 Мбит, т.е. они содержат 1/2 миллиарда транзисторов (Вы помните, что количество транзисторов в современных процессорах измеряется десятками миллионов). Но структура чипа DRAM весьма проста, представляя собой двумерную матрицу, в отличие от сложной архитектуры современного процессора. Итак, основное достоинство динамической памяти - немалая емкость при малых физических размерах чипа и небольшая цена. Применяемые в первых компьютерах и применяемые сегодня архитектуры памяти базируются в основном на динамической памяти. Давайте рассмотрим разновидности DRAM, нашедшие применение в PC, их достоинства и недостатки.

Рисунок 4. Внутренняя организация DRAM

Ячейки памяти организованы в матрицу, состоящую из строк и столбцов. Полный адрес ячейки данных включает два компонента — адрес строки (rowАдрес, бит) и адрес столбца (columnАдрес, бит). На рисунке представлена матрица, состоящая из 32 строк и 32 столбцов, то есть из 1024 ячеек.

Когда CPU (или устройство, использующее канал прямого доступа к памяти) обращается к памяти для чтения информации, на входы микросхемы поступает строб вывода данных ОЕ (OutputEnabled), затем подается адрес строки и одновременно с ним (или с задержкой) сигнал RAS (RowАдрес, битStrobe). Это означает, что каждая шина столбца соединяется с ячейкой памяти выбранной строки. Адрес ячейки поступает по адресным линиям (в нашем случае их десять) на дешифратор, который преобразует поступивший набор нулей и единиц в номер строки. Емкость конденсатора очень мала (доли пикофарады) и его заряд тоже мал, поэтому используется усилитель, подключенный к каждой шине столбца динамической памяти. Информация считывается со всей строки запоминающих элементов одновременно и помешается в буфер ввода-вывода.

С незначительной задержкой после сигнала RAS на входы динамической памяти подается адрес столбца и сигнал CAS (ColumnАдрес, битStrobe). При чтении данные выбираются из буфера ввода-вывода и поступают на выход динамической памяти в соответствии с адресом столбца.

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

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

FPM DRAM. Следующей нашедшей применение в PC модификацией DRAM, была память, которая работала в так называемом быстром страничном режиме и ее принято называть FPM DRAM (FastPageModeDRAM) или просто FPM. Чтобы сократить время ожидания на выборку данных (на доступ), стандартная DRAM разбивается на страницы. Обычно для доступа к данным в памяти требуется указать строку и столбец адреса, что занимает некоторое время. Разбиение на страницы обеспечивает более быстрый доступ ко всем данным в пределах данной строки памяти, т.е. если изменяется лишь номер столбца, но не номер строки.

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

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

Принято говорить о схеме синхронизации доступа в пакетном режиме в виде x-y-y-y, гдех- количество тактов ожидания для произведения чтения первого адреса, а затемy- количество тактов ожидания для чтения каждого следующего адреса в пакетном режиме.

Архитектура DRAM такова, что для получения доступа в первый раз необходимо 5 тактов ожидания. Если не разбивать память на страницы и не пользоваться пакетным режимом доступа, то каждая следующая операция получения доступа к следующей ячейке памяти тоже будет занимать 5 тактов ожидания. Однако если пользоваться разбиением на страницы и режимом burst, то, получив доступ первый раз, потратив на это 5 тактов ожидания, содержимое следующих ячеек можно считать, потратив на это лишь по три такта ожидания, т.е. в режиме FPM схема доступа имеет вид не 5-5-5-5, как у обычной DRAM, а 5-3-3-3. В этом и состоит преимущество памяти типа FPM перед обычной DRAM. Т.е. использование памяти типа FPM позволяет при той же частоте работы чипов памяти увеличить производительность обмена за счет сокращения времени на получение доступа к памяти.

EDO DRAM. Начиная с 1995 года, в PC используется новый тип оперативной памяти - EDO (ExtendedDataOut). Это усовершенствованный тип памяти FPM, у него было еще одно название, которое сейчас не используется –HyperPageMode. Микросхемы памяти EDO учитывают перекрытие синхронизации между очередными операциями доступа. За счет этого удается частично совместить по времени следующий цикл чтения с предыдущим, т.е. чипсет при работе с EDO памятью может начать выполнение новой команды выборки столбца, пока данные считываются по текущему адресу, за счет чего еще уменьшаются задержки на получение доступа.

Для оперативной памяти EDO схема синхронизации в пакетном режиме имеет вид 5-2-2-2, т.е. на четырех операциях считывания тратится не 14, а 11 тактов. Т.е. налицо явный прирост производительности, в то время как стоимость чипов типа EDO лишь немного отличалась от чипов FPM.

Пока что все рассмотренные нами архитектуры были лишь вариантами оригинальной DRAM, отличаясь схемой доступа в пакетном режиме, что, конечно, давало соответствующий прирост производительности. Частоты, на которых функционировала память перечисленных типов примерно таковы: DRAM функционировала с частотой от 4,77 МГц (в первых PC) до 10-12 МГц. Затем начала применяться память типа FPM, ее частота функционирования составляла 10-40 МГц в 386 системах, 25-50 МГц в 486 системах и 50-66 МГц в Pentium системах. Память типа EDO применялась наряду с FPM в 486 и Pentium системах на аналогичных частотах.

SDRAM. Уже начиная с 1997 года на смену памяти типа FPM и EDO приходит новый тип оперативной памяти: SDRAM (SynchronousDRAM) - синхронная DRAM. Эффективность SDRAM намного выше, чем у ее предшественников. Во-первых, дело в том, что схема пакетного чтения у SDRAM намного эффективнее, чем у EDO или FPM и описывается формулой 5-1-1-1. Т.е. для считывания четырех значений подряд задержка для памяти типа FPM составит 5+3+3+3=14 тактов, у EDO 5+2+2+2=11 тактов, а у SDRAM 5+1+1+1=8 тактов.

Но это еще не все. Дело в том, что SDRAM более технологична, чем ее предшественники, и ее проще изготовить для работы на более высоких частотах. И если впервые SDRAM применяли в PC на частоте 66 МГц (как и EDO и FPM в то время), то затем были разработаны чипы SDRAM, работающие на частоте 100 МГц, а после и 133 МГц.

DR DRAM (Rambus). Начиная с 1999 года,Intelпродвигает на рынок принципиально новый тип памяти - DR DRAM(DirectRambusDRAM), который был разработан по их заказу небольшой исследовательской фирмойRambus.

Обычные типы памяти (FPM/RDO и SDRAM) иногда называют системами с широким каналом. Ширина канала памяти равна ширине шины данных процессора (в системах Pentium 64-бит). Максимальная производительность памяти DIMM SDRAM PC100 составляет 100x8 (частота х количество передаваемых данных за один такт), или 800 Мбайт/с. Микросхемы RDRAM увеличивают пропускную способность памяти — в них предусмотрена 16-разрядная шина передачи данных, частота увеличена до 800 МГц. а пропускная способность равна 1,6 Гбайт/с. Для увеличения производительности используются двух- и четырехканальные RDRAM. которые позволяют увеличить скорость передачи данных до 3,2 или 6,4 Гбайт/с соответственно.

Один канал памяти Rambusпринципиально может поддерживать до 32 отдельных устройств RDRAM (микросхем RDRAM), которые устанавливаются в модули RIMM (RambusInlineMemoryModules). Вся работа с памятью организуется между контроллером памяти и отдельным (а не всеми) устройством. Каждые 10нс (100МГц) одна микросхема RDRAM может передавать 16 байт. RDRAM работает быстрее SDRAM приблизительно в три раза. Для увеличения производительности было предложено еще одно конструктивное решение: передача управляющей информации отделена от передачи данных по шине. Для этого предусмотрены независимые схемы управления, а на адресной шине выделены две группы контактов: для команд выбора строки и столбца и для передачи данных по фронтам тактового сигнала, т.е. дважды в тактовом импульсе (практически в режиме DDR). Правая граница тактового импульса называется четным циклом, а левая — нечетным. Синхронизация осуществляется с помощью передачи пакетов данных в начале четного цикла. Максимальное время ожидания составляет 2,5 нс.

Рисунок 5. DDR

На рисунке показано отношение между тактовым сигналом и циклами передачи данных. Пять полных циклов тактового сигнала соответствуют десяти циклам данных. Однако в настоящее время применение этого типа памяти в ПК прекращено, он вытеснен следующим:

DDR SDRAM. DDR (DoubleDataRate) SDRAM по многим параметрам и способам изготовления мало чем отличается от обычной SDRAM: та же синхронизация шины памяти с системной шиной, практически то же производственное оборудование, энергопотребление, почти не отличающееся от SDRAM, площадь чипа больше лишь на несколько процентов. Это позволило сразу без значительных материальных и временных издержек создать новую быстродействующую память, причем по цене, мало отличающейся от обычной SDRAM (кстати, DDR SDRAM раньше иногда именовали SDRAM-II). ОтRDRAMэтот тип памяти унаследовал способность передавать данные, пользуясь обоими фронтами тактового сигнала.

Так как DDR SDRAM основывается на обычной SDRAM, то она имеет сопоставимые характеристики задержек, и поэтому зачастую работает быстрее RDRAM, у которой как раз имелись ощутимые проблемы с латентностью.

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

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

Кэш служит для частичной компенсации разницы в скорости процессора и основной памяти - туда попадают наиболее часто используемые данные. Когда процессор первый раз обращается к ячейке памяти, ее содержимое параллельно копируется в кэш, и в случае повторного обращения в скором времени может быть с гораздо большей скоростью выбрано из кэша. При записи в память значение попадает в кэш, и либо одновременно копируется в память (схема WriteThrough- прямая или сквозная запись), либо копируется через некоторое время (схемаWriteBack- отложенная или обратная запись). При обратной записи, называемой также буферизованной сквозной записью, значение копируется в память в первом же свободном такте, а при отложенной (DelayedWrite) - когда для помещения в кэш нового значения не оказывается свободной области. При этом в память вытесняются наименее используемая область кэша. Вторая схема более эффективна, но и более сложна за счет необходимости поддержания соответствия содержимого кэша и основной памяти. Сейчас под терминомWriteBackв основном понимается отложенная запись, однако это может означать и буферизованную сквозную. Память для кэша состоит из собственно области данных, разбитой на блоки (строки), которые являются элементарными единицами информации при работе кэша, и области признаков (tag), описывающей состояние строк (свободна, занята, помечена для дозаписи и т.п.). В основном используются две схемы организации кэша: с прямым отображением (directmapped), когда каждый адрес памяти может кэшироваться только одной строкой (в этом случае номер строки определяется младшими разрядами адреса), и n-связный ассоциативный (n-wayassociative), когда каждый адрес может кэшироваться несколькими строками. Ассоциативный кэш более сложен, однако позволяет более гибко кэшировать данные; наиболее распространены 4-связные системы кэширования. Процессоры 486 и выше имеют также внутренний (Internal) кэш объемом 8-16 Кб. Он также обозначается какPrimary(первичный) или L1 (Level1 - первый уровень) в отличие от внешнего (External), расположенного на плате и обозначаемого Secondary (вторичный) или L2. В большинстве старых процессоров внутренний кэш (если он был) работал по схеме с прямой записью. Начиная сi486 (последние DX4-100, AMD DX4-120, 5x86) он может работать и с отложенной записью (последнее требует специальной поддержки со стороны системной платы, чтобы при обмене по DMA можно было поддерживать согласованность данных в памяти и внутреннем кэше). Начиная с Pentium Pro, процессорыIntelимеют также встроенный кэш второго уровня объемом от 256 Кб.

BIOS

BIOS –BaseInput-OutputSystem– базовая система ввода-вывода – программное обеспечение, хранящееся вROM–ReadOnlyMemory– постоянном запоминающем устройстве.BIOSсодержит программу начальной проверки оборудования компьютера и загрузки операционной системы. Также вROMхранятся подпрограммы обслуживания клавиатуры, дисплея, дисковых накопителей, стандартных портов и остальной базовой периферии. Эти подпрограммы предоставляют программному обеспечению более высокого уровня стандартный интерфейс для перечисленных устройств.

Соседние файлы в папке Лекции инф