РЕСПУБЛИКА КАЗАХСТАН

УНИВЕРСИТЕТ "ТУРАН"

Кафедра "информационных технологий"

тема:"Статическая память"

Выполнил: Айнакулов Д.А. 3курс, "ИС" 9 гр. Проверила: ЗиятбековаГ.З.

Алматы 2009 г.


1. Введение

2. Статическая память

4. Типы статической памяти

5. Заключение


1. Введение

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

Слово "компьютер" означает "вычислитель". Потребность в автоматизации обработки данных, в том числе вычислений, возникла очень давно. В настоящее время индустрия производства компьютерного железа и программного обеспечения является одной из наиболее важных сфер экономики развитых и развивающихся стран. Причины стремительного роста индустрии персональных компьютеров: невысокая стоимость; сравнительная выгодность для многих деловых применений; простота использования; возможность индивидуального взаимодействия с компьютеров без посредников и ограничений; высокие возможности по переработке, хранению и выдаче информации; высокая надежность, простота ремонта и эксплуатации; компьютерное железо адаптивно к особенностям применения компьютеров; наличие программного обеспечения, охватывающего практически все сферы человеческой деятельности, а также мощных систем для разработки нового программного обеспечения. Мощность компьютеров постоянно увеличивается, а область их применения постоянно расширяется. Компьютеры могут объединяться в сети, что позволяет миллионам людей легко обмениваться информацией с компьютерами, находящимися в любой точке земного шара. Так что же представляет собой это уникальное человеческое изобретение? Первый признак, по которому разделяют компьютеры, - платформа. Можно выделить две основные платформы ПК: Платформа IBM – совместимых компьютеров включает в себя громадный спектр самых различных компьютеров, от простеньких домашних персоналок до сложных серверов. Именно с этим типом платформ обычно сталкивается пользователь. Кстати, совершенно не обязательно, что лучшие IBM – совместимые компьютеры изготовлены фирмой IBM – породивший этот стандарт "голубой гигант" сегодня лишь один из великого множества производителей ПК. Платформа Apple - представлена довольно популярными на Западе компьютерами Macintosh. Они используют своё, особое программное обеспечение, да и "начинка" их существенно отличается от IBM. Обычно IBM-совместимые ПК состоят из трех частей (блоков): системного блока; монитора (дисплея); клавиатуры (устройства, позволяющего вводить символы в компьютер). Развитие электронной промышленности осуществляется такими быстрыми темпами, что буквально через один год, сегодняшнее "чудо техники" становится морально устаревшим вследствие того, что компьютерное железо постоянно модифицируется, появляется новое программное обеспечение. Однако принципы устройства компьютера остаются неизменными еще с того момента, как знаменитый математик Джон фон Нейман в 1945 году подготовил доклад об устройстве и функционировании универсальных вычислительных устройств.


2. Статическая память

Статическая память, или SRAM (Statistic RAM) является наиболее производительным типом памяти. Микросхемы SRAM применяются для кэширования оперативной памяти, в которой используются микросхемы динамической памяти, а также для кэширования данных в механических устройствах хранения информации, в блоках памяти видеоадаптеров и т. д. Фактически, микросхемы SRAM используются там, где необходимый объем памяти не очень велик, но высоки требования к быстродействию, а раз так, то оправдано использование дорогостоящих микросхем. В персональных компьютерах с процессорами, у которых не было интегрированной на кристалле кэш-памяти второго уровня, всегда использовались микросхемы SRAM внешнего кэша. Для удешевления системных плат и возможности их модернизации производители системных плат с процессорами 486 и первых поколений Pentium устанавливали специальные кроватки (разъемы для микросхем с DIP-корпусом), в которые можно было устанавливать различные микросхемы SRAM, отличающиеся как по быстродействию и объему памяти, так и различной разрядностью. Для конфигурирования памяти на системной плате предусматривался набор джамперов. Для справки прямо на системной плате краской наносилась информация об установке джамперов, например, как показано в табл.(в колонках JS1 и JS2 указаны номера контактов, которые надо замкнуть перемычками).

Пример таблицы конфигурирования кэш-памяти на системной плате

Size SRAM JS1 JS2
256 К 32x8 1-2 1-2
512 К 64x8 2-3 1-2
1 М 128x8 2-3 2-3

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

3. Устройство матрицы статической памяти

Подобно ячейкам динамической, триггеры объединяются в единую матрицу, состоящую из строк (row) и столбцов (column), последние из которых так же называются битами (bit).

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

Рис. 1. Устройство 6-транзистроной одно-портовой ячейки SRAM-памяти


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

Этого ограничения лишена многопортовая память. Каждая ячейка многопортовой памяти содержит один-единственный триггер, но имеет несколько комплектов управляющих транзисторов, каждый из которых подключен к "своим" линиям ROW и BIT, благодаря чему различные ячейки матрицы могут обрабатываться независимо. Такой подход намного более прогрессивен, чем деление памяти на банки. Ведь, в последнем случае параллелизм достигается лишь при обращении к ячейкам различных банков, что не всегда выполнимо, а много портовая память допускает одновременную обработку любых ячеек, избавляя программиста от необходимости вникать в особенности ее архитектуры.

Наиболее часто встречается двух - портовая память, устройство ячейки которой изображено на рис. 2. (внимание! это совсем не та память которая, в частности, применяется в кэше первого уровня микропроцессоров Intel Pentium). Нетрудно подсчитать, что для создания одной ячейки двух - портовой памяти расходуется аж восемь транзисторов. Пусть емкость кэш-памяти составляет 32 Кб, тогда только на одно ядро уйдет свыше двух миллионов транзисторов!


Рис. 2. Устройство 8-транзистроной двух портовой ячейки SRAM-памяти

Рис. 3. Ячейка динамической памяти воплощенная в кристалле

4. Типы статической памяти

Существует как минимум три типа статической памяти: асинхронная, синхронная и конвейерная. Все они практически ничем не отличаются от соответствующих им типов динамической памяти.

Асинхронная статическая память

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

Синхронная статическая память

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

Конвейерная статическая память

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

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

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

Конвейерная статическая память используется в частности в кэше второго уровня микропроцессоров Pentium-II и ее формула выглядит так: 2-1-1-1.


5. Заключение

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

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

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


Список использованной литературы

1. Информатика. Учебное пособие /Ломтадзе В.В., Шишкина Л.П. – Иркутск: ИрГТУ, 1999. – 116с.

2. Информатика. Учебное пособие /Под ред. В.Г. Кирия. – Иркутск: ИрГТУ,1998 часть 2. – 382с.

3. Макарова Н.В. Информатика.- Москва: Финансы и статистика, 1997.

4. Горев А., Ахаян Р., Макашарипов С. Эффективная работа с СУБД. СПб.: Питер, 1997.


Статическая и динамическая оперативная память

Оперативная память - совокупность специальных электронных ячеек, каждая из которых может хранить конкретную 8-значную комбинацию из нулей и единиц - 1 байт (8 бит). Каждая такая ячейка имеет адрес (адрес байта) и содержимое (значение байта). Адрес нужен для обращения к содержимому ячейки, для записи и считывания информации. Оперативное запоминающее устройство (ОЗУ) хранит информацию только во время работы компьютера. Емкость оперативной памяти современного компьютера 32-138 Мбайт.
При выполнении микропроцессором вычислительных операций должен быть в любой момент обеспечен доступ к любой ячейке оперативной памяти. Поэтому ее называют памятью с произвольной выборкой - RAM (Random Access Memory). Оперативная память выполнена обычно на микросхемах динамического типа с произвольной выборкой (Dynamic Random Access Memory, DRAM). Каждый бит такой памяти представляется в виде наличия (или отсутствия) заряда на конденсаторе, образованном в структуре полупроводникового кристалла. Другой, более дорогой тип памяти - статический (Static RAM, SRAM) в качестве элементарной ячейки использует так называемый статический триггер (схема которого состоит из нескольких транзисторов). Статический тип памяти обладает более высоким быстродействием и используется, например, для организации кэш-памяти.

Статическая память
Статическая память (SRAM) в современных ПК обычно применяется в качестве кэш-памяти второго уровня для кэширования основного объема ОЗУ. Статическая память выполняется обычно на основе ТТЛ-, КМОП- или БиКМОП-микросхем и по способу доступа к данным может быть как асинхронной, так и синхронной. Асинхронным называется доступ к данным, который можно осуществлять в произвольный момент времени. Асинхронная SRAM применялась на материнских платах для третьего - пятого поколения процессоров. Время доступа к ячейкам такой памяти составляло от 15 нс (33 МГц) до 8 нс (66 МГц).
Для описания характеристик быстродействия оперативной памяти применяются так называемые циклы чтения/записи. Дело в том, что при обращении к памяти на считывание или запись первого машинного слова расходуется больше тактов, чем на обращение к трем последующим словам. Так, для асинхронной SRAM чтение одного слова выполняется за 3 такта, запись - за 4 такта, чтение нескольких слов определяется последовательностью 3-2-2-2 такта, а запись - 4-3-3-3.
Синхронная память обеспечивает доступ к данным не в произвольные моменты времени, а синхронно с тактовыми импульсами. В промежутках между ними память может готовить для доступа следующую порцию данных. В большинстве материнских плат пятого поколения используется разновидность синхронной памяти - синхронно-конвейерная SRAM (Pipelined Burst SRAM), для которой типичное время одиночной операции чтения/записи составляет 3 такта, а групповая операция занимает 3-1-1-1 такта при первом обращении и 1-1-1-1 при последующих обращениях, что обеспечивает ускорение доступа более, чем на 25%.

Динамическая память
Динамическая память (DRAM) в современных ПК используется обычно в качестве оперативной памяти общего назначения, а также как память для видеоадаптера. Из применяемых в современных и перспективных ПК типов динамической памяти наиболее известны DRAM и FPM DRAM, EDO DRAM и BEDO DRAM, EDRAM и CDRAM, Synchronous DRAM, DDR SDRAM и SLDRAM, видеопамять MDRAM, VRAM, WRAM и SGRAM, RDRAM.
В памяти динамического типа биты представляются в виде отсутствия и наличия заряда на конденсаторе в структуре полупроводникового кристалла. Конструктивно она выполняется в виде модуля SIMM (Single in line memory module). Каждый бит информации записывается в отдельной ячейке памяти, состоящей из конденсатора и транзистора. Наличие заряда на конденсаторе соответствует 1 в двоичном коде, отсутствие - 0. Транзистор при переключении дает возможность считывать бит информации или записывать новый бит в пустую ячейку памяти.
Поиск ячейки по адресу осуществляется специальными дешифрующими схемами, которые образуют матрицу, то есть пересекают кристалл памяти двумя полосами - по горизонтали и вертикали. Когда центральный процессор сообщает адрес ячейки, горизонтальные дешифраторы указывают нужный столбец, а вертикальные - строку. На пересечении находится искомая ячейка. После нахождения ячейки происходит выборка их нее байта данных.

Статическая оперативная память

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

1. Устройство триггера.

Для того чтобы понять принцип работы статической памяти, обратимся к истокам схемотехники. И начнем с описания принципа работы триггера, изображенного на рисунке 1.

Триггер – это элемент памяти с двумя стабильными состояниями – «0» и «1». В установленном состоянии триггер сохраняется, пока на него подается питание.

Обычно триггер имеет два входа:

  • R (Reset) – сбросить триггер (установить в состояние «0»),
  • S (Set) – установить триггер в состояние «1»,

и два выхода: Q и инвертированное Q ().

Входы R и S используются для установки состояния триггера. Если на вход S подать напряжение, соответствующее логической единице (далее просто логическую единицу), а на вход R – напряжение, соответствующее логическому нулю (далее просто логический ноль), то триггер перейдет в состояние единицы и сохранит это состояние даже, если на вход S перестать подавать сигнал.

Если на вход S подать логический ноль, а на вход R – логическую единицу, то триггер перейдет в состоянии сохранения нуля.

При подаче на оба входа логического нуля, состояние триггера не измениться.

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

В таблице 1 приводится перечень всех возможных состояний триггера.

S R Q i Q i+1 i i+1
1 0 0 1 1 0
1 0 1 1 0 0
0 1 0 0 1 1
0 1 1 0 0 1
0 0 0 0 1 1
0 0 1 1 0 0
1 1 0 ? 1 ?
1 1 1 ? 0 ?

Таблица 1. Состояния триггера, в зависимости от сигналов на входе.

Рассмотрев логику работы триггера, давайте разберемся, как же он устроен. Структурная схема триггера приведена на рисунке 2.

Как видно из рисунка, состоит он из двух инвертеров (логических элементов «НЕ»), причем выход одного инвертера замкнут на вход другого.

Давайте рассмотрим, как же работают эти инвертеры при подаче различных сигналов на вход.

Первый случай, на вход S подана логическая единица, а на вход R – логический ноль, то есть установка триггера в единичное состояние. И так, если на вход S подать логическую единицу, то, пройдя через инвертер D.D2, она примет значение логического нуля. Таким образом, на выходе будет логический ноль. На вход R был подан логический ноль, в результате, на выходе инвертера D.D1 будет логическая единица, а, соответственно, на выходе Q будет так же логическая единица.

Если сигналы с входов снять (на вход S и R подать логический ноль), то состояние триггера не изменится. Логическая единица с выхода инвертера D.D1 пойдет на вход инвертера D.D2, а логический ноль с выхода D.D2 пойдет на вход инвертера D.D1, в результате чего на выходе инвертера D.D1 будет логическая единица. То есть мы замкнули цикл, который будет продолжаться до тех пор, пока будет на триггер подводиться питание. Зачем нужно питание, рассмотрим чуть позже, когда будем разбирать принцип устройства инвертера.

Рассмотрим второй случай, когда на вход S подан логический ноль, а на вход R –логическая единица, то есть сброс триггера. И так, если на вход S подать логический ноль, то, пройдя через инвертер D.D2, он примет значение логической единицы. Таким образом, на выходе будет логическая единица. На вход R была подана логическая единица, в результате, на выходе инвертера D.D1 будет логический ноль, а, соответственно, на выходе Q будет тот же логический ноль.

Так же, как и в первом случае, при снятии сигналов с входов R и S состояние триггера не изменится.

Давайте теперь более подробно рассмотрим принцип работы инвертера. Существуют различные способы организации инвертера, мы рассмотрим только один из них, самый простой. Этого будет вполне достаточно, чтобы понять принцип его организации. И так на рисунке 4 изображена структурная схема инвертера.

На рисунке представлена простейшая схема реализации инвертера, состоящая из одного транзистора. Давайте рассмотрим, как он работает.

На элемент всегда подается питание Uп. В результате, создаваемый ток может пойти либо по линии AB, в этом случае на выходе инвертера ток будет отсутствовать (будет логический ноль), либо – по линии AC, в этом случае на выходе инвертера ток будет присутствовать (будет логическая единица).

По линии AB ток пойдет, если транзистор VT1 будет открыт, а для этого необходимо подать напряжение на вход инвертера.

По линии AC ток пойдет, если транзистор VT1 будет закрыт, а это произойдет при отсутствии напряжении на входе инвертера.

Таким образом, если на вход инвертера подается логическая единица, то на выходе будет логический ноль. И, соответственно, при подаче на вход инвертера логического нуля, на выходе будет поучена логическая единица.

2. Устройство ячейки статической памяти.

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

На рисунке 4 приведена упрощенная схема одного из способов организации ячейки статической памяти.

Как видите, она состоит из одного триггера и трех транзисторов, выполняющих роль ключей, открывающих и закрывающих доступ к ячейке памяти. Транзисторы VT1 и VT2 используются для разрешения и запрета записи в ячейку, а транзистор VT3 – для разрешения и запрета чтения.

Для записи данных необходимо подать напряжение в линию строки, после чего транзисторы VT1, VT2 и VT3 откроются. Затем для записи единицы необходимо подать напряжение, соответствующее логической единице, на линию D и напряжение, соответствующее логическому нулю, на линию . Для переключения триггера в состояние хранения нуля необходимо подать напряжение, соответствующее логическому нулю, на линию D и напряжение, соответствующее логической единице, на линию .

В установленном состоянии триггер будет оставаться даже после снятия напряжения с линии строки и с линий D и до тех пор, пока на него будет подаваться питание Uп.

Для считывания данных необходимо на выходы D и подать напряжение, соответствующее логическому нулю, так как подача двух логических нулей на входы триггера не изменит его состояния, а затем подать напряжение на строку. В результате, транзистор VT3 откроется, и ток с триггера по линии Q пройдет в устройство считывания. Одновременно с транзистором VT3 откроются транзисторы VT1 и VT2. Но так как напряжение на линиях D и соответствует логическому нулю, то оно не повлияет на состояние транзистора.

Считывание данных с ячейки статической памяти, в отличие от чтения с ячейки динамической памяти, не приводит к потере сохраненного бита данных, поэтому, перезапись данных в ячейку статической памяти не требуется.

3. Устройство микросхемы статической памяти.

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

Начнем с записи данных в статическую память и рассмотрим случай записи единицы в ячейку М 11 .

В контроллер шины памяти от контроллера памяти, встроенного в северный мост материнской платы или в процессор , приходит адрес ячейки памяти и данные для записи. Адрес ячейки преобразуется на две составляющие – номер строки и номер столбца. Номер строки передается в «Дешифратор адреса строки», откуда на нужную строку подается напряжение.

Так как мы рассматриваем запись в ячейку М 11 , то напряжение с дешифратора адреса строки подается на первую строку. В результате, транзисторы VT1, VT2 и VT3 открываются. Аналогичные транзисторы других ячеек памяти, располагающихся в этой строке, также открываются.

Через транзистор VT3 первой ячейки и аналогичные транзисторы других ячеек памяти первой строки пойдет ток, соответствующий состоянию триггеров этих ячеек, в «Буфер данных». Однако «Буфер данных» получаемую информацию будет игнорировать, так как у него нет сигнала от «Блока управления» на сохранение считываемых данных.

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

Блоки записи используются для запрета выдачи тока в линии D и при чтении данных и преобразования из входящих сигналов данных их инвертируемых сигналов для переключения состояния триггеров, в которые необходимо сохранить данные.

В нашем случае, запись проводится в ячейку М 11 , и записывается единица. Соответственно, с «Блока работы с данными» будет выдана логическая единица в «Блок записи 1», и с «Блока дешифровки адреса столбца» будет выдана логическая единица в «Блок записи 1».

Рассмотрим работу «Блока записи 1» при таких входных сигналах. И так, на входе элемента D.D3 будет логическая единица, а на выходе – логический ноль, так как элемент D.D3 – инвертер (логический элемент «НЕ»). Соответственно, на входах элемента D.D4 (логический элемент «И») будут: логический ноль и логическая единица. В результате, на выходе этого элемента будет логический ноль.

На входах элемента D.D5 (логический элемент «И») будут две логические единицы, в результате, на выходе этого элемента будет логический ноль.

Следовательно, на выходе D1 «Блока записи 1» будет напряжение, соответствующее логическому нулю, а на выходе 1 будет напряжение, соответствующее логической единице. Эти напряжения будут поданы на все ячейки памяти первого столбца. Однако у всех ячеек, кроме первой, транзисторы, разрешающие запись, закрыты, а, следовательно, подаваемое напряжение попадет только на триггер первой ячейки и переведет его в состояние хранения единицы.

После изменения состояния триггера первой ячейки напряжение с первой строки снимается, и транзисторы VT1, VT2 и VT3 закрываются, запрещая запись и чтение из ячейки.

При записи нуля в ячейку памяти все происходит по той же схеме, только с «Блока работы с данными» в «Блок записи 1» будет подано напряжение, соответствующее логическому нулю. Это значит, что на выходе D1 «Блока записи 1» будет напряжение, соответствующее логической единице, а на выходе 1 будет напряжение, соответствующее логическому нулю. Эти значения напряжений переведут триггер первой ячейки памяти в состояние хранения нуля.

В установленном состоянии триггер первой ячейки останется, пока на него будет подаваться питание Uп.

Чтение записи происходит еще проще. От контроллера памяти приходит адрес ячеек памяти, с которых требуется считать данные, и команда на чтение.

В результате, адрес преобразуется в номер строки, и на соответствующую строку будет подано напряжение, которое откроет транзисторы разрешения/запрета чтения/записи.

Рассмотрим случай, когда данные считываются из первой ячейки. В этом случае напряжение с «Дешифратора адреса строки» будет подано в первую строку, что приведет к открытию транзисторов VT1, VT2 и VT3 ячейки М 11 и всех остальных ячеек первой строки. Ток с триггера первой ячейки, через транзистор VT1, беспрепятственно пройдет в «Буфер данных». То же самое произойдет с остальными ячейками первой строки. Считанные с ячеек памяти первой строки данные сохранятся в «Буфере данных».

После того, как информация в «Буфере данных» будет сохранена, «Дешифратор адреса столбцов» выдаст номера столбцов, данные с которых необходимо считать, в «Буфер данных». Соответствующие данные будут переданы из микросхемы памяти в контроллер памяти, располагающийся в материнской плате или непосредственно в процессоре.

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

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

4. Достоинства и недостатки статической памяти.

Достоинства:

  • высокая скорость работы;
  • нет необходимости регенерации ячеек.

Недостатки:

  • высокая цена;
  • низкая плотность упаковки;
  • небольшой объем;
  • высокое энергопотребление.

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

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


□ tдост - время поиска информации на носителе;

□ Vсчит ~~ скорость считывания смежных байтов информации подряд (трансфер). Напомним общепринятые сокращения: с - секунда, мс - миллисекунда, мкс - микросекунда, нc - наносекунда; 1 с = 106мс = 106мкс = 109нс.

Статическая и динамическая оперативная память

Оперативная память может строиться на микросхемах динамического (Dinamic Random Access Memory - DRAM) или статического (Static Random Access Me­mory - SRAM) типа.

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

В динамической памяти ячейки построены на основе полупроводниковых облас­тей с накоплением зарядов (своеобразных конденсаторов), занимающих гораздо меньшую площадь, нежели триггеры, и практически не потребляющих энергии при хранении. Конденсаторы расположены на пересечении вертикальных и горизон­тальных шин матрицы; запись и считывание информации осуществляется подачей электрических импульсов по тем шинам матрицы, которые соединены с элемента­ми, принадлежащими выбранной ячейке памяти. При обращении к микросхеме на ее входы вначале подается адрес строки матрицы, сопровождаемый сигналом RAS (Row Address Strobe - строб адреса строки), затем, через некоторое время - адрес столбца, сопровождаемый сигналом С AS (Column Address Strobe - строб адреса столбца). Поскольку конденсаторы постепенно разряжаются (заряд сохраняется в ячейке в течение нескольких миллисекунд), во избежание потери хранимой ин­формации заряд в них необходимо постоянно регенерировать, отсюда и название памяти - динамическая. На подзаряд тратится и энергия и время, и это снижает производительность системы.

Ячейки динамической памяти по сравнению со статической имеют большее время срабатывания (десятки наносекунд), но большую удельную плотность (порядка десятков мегабит на корпус) и меньшее энергопотребление. Динамическая память используется для построения оперативных запоминающих устройств основной памяти ПК.

DIV_ADBLOCK23">

Микропроцессоры, начиная от МП 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-му. Кэш-память для ВЗУ создается либо в поле оперативной памяти, либо непосредственно в модуле само­го ВЗУ.

DIV_ADBLOCK25">

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

Основная память (ОП) содержит оперативное (RAM - Random Access Memory) и постоянное (ROM - Read Only Memory) запоминающие устройства.

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

элементов - полупроводниковых конденсаторов. Наличие заряда в конденсаторе обычно означает «1», отсутствие заряда- «О». Конструктивно элементы опера­тивной памяти выполняются в виде отдельных модулей памяти - небольших плат с напаянными на них одной или, чаще, несколькими микросхемами. Эти модули вставляются в разъемы - слоты на системной плате. На материнской плате может быть несколько групп разъемов (банков) для установки модулей памяти; в один банк можно ставить только блоки одинаковой емкости; блоки разной емкости можно устанавливать в разных банках.

DIV_ADBLOCK26">

Модули памяти характеризуются конструктивом, емкостью, временем обращения и надежностью работы. Важным параметром модуля памяти является его надеж­ность и устойчивость к возможным сбоям. Надежность работы современных мо-

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

Модули памяти бывают с контролем четности (parity) и без контроля четности (nоn parity) хранимых бит данных. Контроль по четности позволяет лишь обнару­жить ошибку и прервать исполнение выполняемой программы. Существуют и бо­лее дорогие модули памяти с автоматической коррекцией ошибок - ЕСС-память, использующие специальные корректирующие коды с исправлением ошибок (см. раздел «Обеспечение достоверности информации» главы 20).

ПРИМЕЧАНИЕ

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

https://pandia.ru/text/78/135/images/image006_129.gif" width="491">микросхемами памяти типа DIP. SIMM бывают двух разных типов: короткие на 30 контактов (длина 75 мм) и длинные на 72 контакта (длина 100 мм). Модули SIMM имеют емкость 256 Кбайт, 1,4, 8, 16, 32 и 64 Мбайт. Модули SIMM выпус­каются с контролем и без контроля по четности и с эмуляцией контроля по четно­сти. SIMM отличаются также быстродействием - обычно они имеют время обраще­ния 60 и 70 нc. Сейчас такое время обращения считается нежелательным, поэтому модули SIMM встречаются только в устаревших ПК.

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 (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 МГц, поддерживаемой современными чипсетами.

Типы оперативной памяти

Различают следующие типы оперативной памяти:

□ 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 (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 (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-разрядного кода адреса можно непосредственно адресо­вать всего 4 К (К = 1024) ячеек памяти. Вот это 64-килобайтное поле памяти, так называемый сегмент, также является базовым в логической структу­ре ОП. Следует заметить, что в защищенном режиме размер сегмента может быть иным и значительно превышать 64 Кбайта.

Современные ПК (кроме простейших бытовых компьютеров) имеют основную память, емкостью существенно больше 1 Мбайт: память, емкостью 1 Мбайт явля­ется еще одним важным структурным компонентом ОП - назовем ее непосред­ственно адресуемой памятью (справедливо полностью только для реального ре- жима). Для адресации 1 Мбайт = 220= 1 ячеек непосредственно адресуемой памяти необходим 20-разрядный код, получаемый в ПК путем использования спе­циальных приемов структуризации адресов ячеек ОП.

Абсолютный (полный, физический) адрес (Аабс) формируется в виде суммы не­скольких составляющих, чаще всего используемыми из которых являются: адрес сегмента и адрес смещения.

Адрес сегмента (АССгм) - это начальный адрес 64-килобайтного поля, внутри кото­рого находится адресуемая ячейка.

Адрес смещения (Аасм) - это относительный 16-разрядный адрес ячейки внутри сегмента.

Асегм должен быть 20-разрядным, но если принять условие, что АсеГм должен быть обязательно кратным параграфу (в последних четырех разрядах должен содержать нули), то однозначно определять этот адрес можно 16-разрядным кодом, увеличен­ным в 16 раз, что равносильно дополнению его справа четырьмя нулями и превра­щению его, таким образом, в 20-разрядный код. То есть условно можно записать:

Аабс = 16 Х Асегм + Аасм.

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

В современных ПК существует режим виртуальной адресации (Virtual - кажу­щийся, воображаемый). Виртуальная адресация используется для увеличения ад­ресного пространства ПК при наличии ОП большой емкости (простая виртуаль­ная адресация) или при организации виртуальной памяти, в которую наряду с ОП включается и часть внешней (обычно дисковой) памяти. При виртуальной адреса­ции вместо начального адреса сегмента Ассгм в формировании абсолютного адреса Аабе принимает участие многоразрядный адресный код, считываемый из специаль­ных таблиц. Принцип простой виртуальной адресации можно пояснить следую­щим образом. В регистре сегмента (обычно регистр DS) содержится не АсеГм, а не­кий селектор, имеющий структуру:

https://pandia.ru/text/78/135/images/image011_103.gif" width="490 height=2" height="2">Здесь СЛ - вспомогательная служебная информация; F - идентификатор, опре­деляющий тип дескрипторной таблицы для формирования АсеГм (дескрипторные таблицы создаются в ОП при виртуальной адресации автоматически):

□ если F = 0, то используется глобальная дескрипторная таблица (GDT), общая
для всех задач, решаемых в ПК при многопрограммном режиме;

□ если F = 1, то используется локальная дескрипторная таблица (LDT), создава­
емая для каждой задачи отдельно;

□ ИНДЕКС - адрес строки в дескрипторной таблице.

В соответствии с индексом и идентификатором из GLT или LDT считывается 64-битовая строка, содержащая, в частности, и адрес сегмента. Разрядность этого ад­реса зависит от размера адресного пространства микропроцессора, точнее равна разрядности его адресной шины. Подобная виртуальная адресация используется при защищенном режиме работы микропроцессора. Для большей плотности раз-

мещения информации в оперативной памяти (уменьшения сегментированности, характерной для многопрограммного режима) часто используется сегментно-стра- ничная адресация, при которой поля памяти выделяются программам внутри сег­ментов страницами, размером от 2 до 4 Кбайт. Формирование сегментно-странич-ной структуры адресов выполняется автоматически операционной системой.

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

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

□ страниц виртуальной памяти;

□ физического размещения страниц,

и устанавливает логические связи между ними (рис. 6.2).

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

и сегментно-страничную организацию. В этом случае виртуальная память делится сначала на сегменты, а внутри них на страницы. Принцип организации такой па­мяти аналогичен рассмотренному выше.

Таблица страниц физической памяти

Расположена в памяти

№ физической страницы


Рис. 6.2.Таблица страниц

Статическая память - SRAM (Static Random Access Memory), как и следует из ее названия, способна хранить информацию в статическом режиме - то есть сколь угодно долго при отсутствии обращений (но при наличии питающего напряжения). Ячейки статической памяти реализуются на триггерах - элементах с двумя устойчивыми состояниями. По сравнению с динамической памятью эти ячейки более сложны и занимают больше места в кристалле, однако они проще в управлении и не требуют регенерации. Быстродействие и энергопотребление статической памяти определяется технологией изготовления и схемотехникой запоминающих ячеек.
Самая экономичная статическая память КМОП (или CMOS Memory) в тоже время и самая медленная память такого типа, имеет время доступа более 100 наносекунд, но зато пригодна для длительного хранения информации при питании от маломощной батареи. Применяется CMOS память в персональных компьютерах для хранения данных о конфигурации и для реализации внутренних часов.
Самая быстродействующая статическая память имеет время доступа в несколько наносекунд, что позволяет ей работать на частоте системной шины процессора, не требуя от него тактов ожидания. Относительно высокая удельная стоимость хранения информации и высокое энергопотребление при низкой плотности упаковки элементов не позволяет использовать SRAM в качестве оперативной памяти компьютеров.
Статические запоминающие устройства (SRAM) имеют перед динамическими то преимущество, что у них время выборки практически равно времени цикла записи или чтения. Выполненная по той же технологии что и процессор, статическая память имеет высокое быстродействие. Главным ограничением в использовании статической памяти является стоимость. При равной емкости с динамической, статическая память примерно в четыре раза дороже. Поэтому данный вид памяти получил распространение в высокопроизводительных системах в качестве внешней (относительно процессора) кэш памяти. Соотношение цена/производительность в этих системах играет не столь существенную роль. Однако, с появлением микросхем статической памяти большой емкости и ее удешевлением произойдет изменение сложившегося стереотипа использования схем памяти и производители компьютеров, возможно, пойдут на замену динамической памяти статической, пока же элементы статической памяти используются в оперативной динамической памяти, как быстрый конвейерный буфер для подготовки данных к выдаче на шину данных каждый такт системной шины.
Структура микросхемы статической памяти
Элементом памяти в статических ОЗУ является триггер, выполненный на транзисторах. Структура микросхемы статической памяти (рис.1.) включает матрицу накопителя содержащую М x N элементов памяти.