Следует заметить, что штрих - пунктирной линией на этом же графике можно отметить то, что будет через какой-либо промежуток времени, например пол года. Те процессоры, которые стоили «бешеных» денег потеряют в цене, зато появятся новые, которые будут стоить столько же, сколько и их предшественники пол года назад. Таким образом, во все времена, современный производительный процессор стоил и будет стоить от 70 до 200 долларов, поскольку цена его связана не с себестоимостью производства (напомню, 5-10 долларов), а с реальным спросом населения.
Выражаясь языком нашего недавнего классического наследия, процессор, память и устройства ввода-вывода — это "три источника и три составные части" компьютера. Практически все компьютеры используют три вида памяти: оперативную, постоянную и внешнюю.
Оперативная память предназначена для хранения переменной информации, так как допускает изменение своего содержимого в ходе выполнения микропроцессором вычислительных операций. Таким образом, этот вид памяти обеспечивает режимы записи, считывания и хранения информации. Поскольку в любой момент времени доступ может осуществляться к произвольно выбранной ячейке, то этот вид памяти называют также памятью с произвольной выборкой — RAM (Random Access Memory). Для построения запоминающих устройств типа RAM используют микросхемы статической и динамической памяти.
Постоянная память, где хранится такая информация, которая не должна меняться в ходе выполнения микропроцессором программы, имеет собственное название — ROM (Read Only Memory), которое указывает на то, что обеспечиваются только режимы считывания и хранения. Постоянная память обладает тем преимуществом, что может сохранять информацию и при отключенном питании. Это свойство получило название энергонезависимости. Все микросхемы постоянной памяти по способу занесения в них информации (программированию) делятся на масочные (ROM), программируемые изготовителем, однократно программируемые пользователем (Programmable ROM) и многократно программируемые пользователем (Erasable PROM). Последние в свою очередь подразделяются на стираемые электрически и с помощью ультрафиолетового облучения. К элементам EPROM с электрическим стиранием информации относятся и микросхемы флэш-памяти (flash). От обычных EPROM они отличаются высокой скоростью доступа и быстрым стиранием записанной информации.
Внешняя память реализована обычно на магнитных или оптических носителях.
1.4.1 Классификация оперативной памяти
Если от типа процессора зависит количество адресуемой памяти, то быстродействие используемой оперативной памяти в свою очередь во многом определяет скорость работы процессора, а в конечном итоге влияет и на производительность всей системы. Практически любой PC-совместимый компьютер оснащен оперативной памятью, выполненной на микросхемах динамического типа с произвольной выборкой (DRAM, Dynamic Random Access Memory). Каждый бит такой памяти представляется в виде наличия (или отсутствия) заряда на конденсаторе, образованном в структуре полупроводникового кристалла. Другой тип памяти — статический (SRAM, Static RAM) — в качестве элементарной ячейки памяти использует так называемый статический триггер. Если для реализации одного запоминающего элемента динамической памяти требуется 1—2 транзистора, то для статической их число возрастает до 4—6. Статический тип памяти обладает высоким быстродействием и, как правило, используется в самых "узких" местах системы, например для организации кэш памяти.
Теперь коротко рассмотрим принцип работы динамической памяти. Единственным способом выяснить, заряжен или разряжен конденсатор, является попытка разрядить его. Если конденсатор был действительно заряжен (то есть хранил единичный бит), то после разряда его, (разумеется, надо снова подзарядить. Ячейки памяти динамического типа конфигурируются обычно в матрицу строк и столбцов, причем процесс считывания организуется таким образом, что содержимое целой строки переносится в некий буфер, выполненный на элементах статической памяти. После считывания соответствующего бита содержимое буфера перезаписывается в ту же строку ячеек динамической памяти, то есть производится перезарядка конденсаторов, которые до считывания были в заряженном состоянии.
Не следует также забывать о том, что время хранения заряда конденсатором ограничено (из-за "паразитных" утечек). Таким образом, чтобы не потерять имеющиеся данные, необходимо периодическое восстановление записанной информации, которое выполняется в циклах регенерации (refresh cycle). Кстати, в первых моделях PC для индикации моментов времени, когда возникала необходимость регенерации динамической памяти, использовался специально выделенный таймер. Для считывания содержимого ячеек (которое, разумеется, сопровождается перезаписью информации) применялся один из каналов контроллера прямого доступа DMA. Стоит, правда, отметить, что микросхемы динамической памяти имели встроенные средства регенерации, что уменьшало загрузку процессора. Тем не менее, операции разрядки-перезарядки занимают определенное время, которое снижает скорость работы динамической памяти. Это является, пожалуй, одним из основных недостатков динамической памяти, так как по критерию, учитывающему информационную емкость, стоимость и энергопотребление, этот тип памяти во многих случаях предпочтительнее статической.
Элементы динамической памяти для персональных компьютеров конструктивно бывают выполнены либо в виде отдельных микросхем, в корпусах типа DIP (Dual In line Package), либо в виде модулей памяти типа SIP/SIPP (Single In line Pin Package), типа SIMM (Single In line Memory Module) или DIMM (Dual In line Memory Module). Модули памяти представляют собой небольшие текстолитовые платы с печатным монтажом и установленными на них микросхемами памяти в DIP-корпусах. В большинстве современных модулей памяти используются микросхемы в корпусах для поверхностного монтажа (например, типа SOP — Small Outline Package). Для подключения к системной плате на SIMM- и DIMM-модулях используется печатный ("ножевой") разъем, а на SIP-модулях — штыревой. У DIMM-модулей в отличие от SIMM контакты на противоположных сторонах платы электрически не связаны между собой. Это дает возможность практически вдвое увеличить количество выводов модуля. Сами микросхемы памяти также устанавливаются на плате с двух сторон. Иначе такие модули называют двусторонними (double sided) SIMM.
Когда-то, наиболее распространенными были 30-контактные SIMM-модули с байтовой организацией и контролем четности (емкостью 256 Кбайт, 1 Мбайт, 4 Мбайта и 16 Мбайт). Здесь стоит, видимо, сказать несколько слов о контроле четности.
Так, при записи байта информации в запоминающее устройство определяется дополнительный контрольный разряд, который вычисляется как сумма по модулю 2 всех информационных битов. Обычно контрольный разряд равен нулю, если число единиц в байте было четным, и наоборот, он равен единице, если число единиц в группе было нечетным. Таким образом, при чтении ранее записанного байта, вновь получив контрольный разряд и сравнив его с уже имеющимся, можно говорить о достоверности получаемой информации. Этот метод нашел широкое распространение для контроля информации в оперативной памяти IBM PC-совместимых компьютеров.
С другой стороны, на каждые 8 информационных разрядов приходится один бит четности, то есть стоимость модуля увеличивается более чем на 10%. Современные технологические успехи производителей микросхем памяти существенно повысили степень их надежности (среднее время безотказной работы составляет теперь несколько десятков лет), что дало возможность исключить бит четности как таковой.
Другая крайность: некоторые изготовители очень мощных персональных компьютеров используют даже коды с коррекцией ошибок (ЕСС), чтобы защитить содержимое RAM так же, как это делается на жестких дисках. Это достигается либо использованием нескольких модулей RAM без четности (но при наличии запасных модулей, где и хранятся данные ЕСС), либо RAM с четностью (при сохранении данных ЕСС в объединенных битах четности).
Надо ли дополнительно платить за память с четностью. Не обязательно. Такую вещь хорошо иметь, но она может и не стоить своих денег. То же можно сказать и про память с ЕСС. Возможно, решающими факторами будут объем памяти PC (чем большей памятью он обладает, тем больше вероятность однажды ошибиться) и серьезность вашего отношения к целостности данных. Чем дороже ваш PC и чем больше у него памяти, тем выгоднее иметь четность или даже ЕСС - защиту. Но даже и не думайте об этом, если вы не защитили данные, установив источник бесперебойного питания (UPS) на вашем PC. Защита с помощью UPS гораздо важнее, и если это для вас слишком дорого, значит, вам не нужна и память с четностью.
Для 32-разрядных процессоров 30-контактные модули должны были устанавливаться на системную плату в количестве, кратном 4 (для получения длины слова в 32 бита). Поскольку на плате обычно присутствует 8 таких разъемов, то максимальный объем памяти в этом случае ограничен 64 Мбайтами.
С появлением Pentium стали применяться 72-контактные 36-битовые модули (32 бита длина слова и по биту контроля четности на каждый байт), (Рис. 4). Они обозначались как 256Кх36, 512Кх36, 1Мх36, 2Мх36, 4Мх36, 8Мх36, 16Мх36, что соответствовало емкости 1, 2, 4, 8, 16, 32 и 64 Мбайта. Понятно, что такие модули для 486-х микропроцессоров могут уже устанавливаться и по одному. Максимально достижимый в этом случае объем памяти может быть разным, что зависит не только от количества разъемов под модули, но и от того, модули с какой максимальной емкостью поддерживаются контроллером памяти. Рис. 4 Модуль памяти
Обычно вся оперативная память персонального компьютера делится на несколько банков, причем вид и тип элементов, используемых в них, зависят от конструкции системной платы и приводятся в ее техническом описании. Банк определяет наименьшее количество памяти, которое может быть адресовано процессором за один раз и соответствует разрядности шины данных этого процессора. Например, микропроцессор 18088 за один раз может адресовать только один байт, i80286 — 16 бит, i80386 — 32, Pentium — 64.