Компьютеры с современный мир

Ячейки памяти и их адреса. Устройство и принцип работы оперативной памяти

Яче́йка па́мяти - минимальный адресуемый элемент запоминающего устройства ЭВМ.

Ячейки памяти могут иметь разную ёмкость (число разрядов, длину). Современные запоминающие устройства обычно имеют размер ячейки памяти равным одной из степеней двойки: 8 бит, 16 бит, 32 бита, 64 бита. В ранних ЭВМ использовались и более экзотические размерности, например 39 (БЭСМ-1) или 48 (БЭСМ-6). В общем случае длина ячеек памяти может не совпадать с машинным словом, тогда данные записываются в две или четыре соседние ячейки памяти.

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

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

Оп.Пам. Работу ячейки памяти можно представить таким образом. Конденсатор можно представить в виде ёмкости, в которую наливается вода. Транзистор в виде ключа или крана, который открывает или перекрывает трубу, по которой течёт вода в ёмкость, а устройство регенерации в виде источника воды. В нужный момент кран открывается и это служит признаком того, что необходимо пополнить ёмкость водой. Конечно, рассматривая работу ячейки памяти таким образом, можно представить, что ёмкость с водой немного дырявая. Это утверждение имеет под собой основание, так как конденсатор, в случае хранения «1» и до тех пор, пока она записана, должен постоянно подзаряжаться схемой регенерации.

Ячейка памяти хранит в себе один бит информации, для того чтобы динамическая память хранила бы в себе мегабайты, а сейчас уже и гигабайты данных, необходимо чтобы все эти элементарные по объёму ячейки памяти объединялись между собой в большие массивы, накопители или матрицы памяти.

Конец работы -

Эта тема принадлежит разделу:

Информация и информационные процессы в природе, обществе, технике. Информационная деятельность человека

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

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

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

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

Предмет науки информатики
Информатика – это техническая наука, систематизирующая приемы создания, хранения, воспроизведения, обработки и передачи данных средствами вычислительной техники, а также принципы функционирования э

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

Элементная база современных компьютеров
Современная классификация ЭВМ В настоящее время в мире продолжают работать и производятся миллионы вычислительных машин, относящихся к различным поколениям, типам, классам, отличающихся св


В каждом современном компьютере используется логическая система, основой которой являются два логических значения: 1 - истина, 0 - ложь. Был найден технический способ реа

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

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

Информационная магистраль
Информационный хайвей (информационная магистраль, Information superhighway, infobahn) - термин, популярный в 90-е годы. Обозначал революционное развитие информационных сетей, в частности Интернета.

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

Процессор
Процессор - это «мозг» компьютера. Процессором называется устройство, способное обрабатывать программный код и определяющее основные функции компьютера по обработке информации. Конструктив

Внутренняя память компьютера
Память компьютера (Memory) - устройство для запоминания данных. В зависимости от характера использования различают внутреннюю или внешнюю память. Внутренняя память Оперативная пам

Внешняя память компьютера
Внешняя память компьютера Внешняя память - это память, предназначенная для длительного хранения программ и данных. Целостность содержимого ВЗУ не зависит от того, включен или выключен комп

Устройства ввода-вывода информации
Человек взаимодействует с информационными системами главным образом через устройства ввода-вывода (input-output devices). Прогресс в области информационных технологий достигается не только благодар

Принтеры
Принтер (от англ. print - печать; син. печатающее устройство) - периферийное устройство компьютера, предназначенное для перевода текста или графики на физический носитель из электронного вида малым

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

Что такое абак
Абак (от греч. abax, abakion, лат. abacus - доска, счетная доска) - приспособление для арифметических вычислений, применявшееся с древних времен и затем в Западной Европе до 18 века. В абаке исполь

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

Арифмометр Лейбница
Арифмометр (от греч. αριθμός - «число», «счёт» и греч. μέτρον - «мера», «измеритель») - настольная (или портативная) механическая вы

Идеи Чарльза Бэббиджа
Ра́зностная маши́на Чарльза Бэббиджа - механический аппарат, изобретённый английским математиком Чарльзом Бэббиджем, предназначенный для автоматизации вычислений путём аппроксимации функц

Вклад в программирование Ады Лавлейс
Графиня Лавлейс, дочь Байрона, известна прежде всего созданием описания вычислительной машины, проект которой был разработан Чарльзом Бэббиджем. В комментариях Лавлейс были приведены три первые в м

История создания эниак
Машина Эниак (ENIAC, аббревиатура от Electronic Numerical Integrator and Computer - электронный цифровой интегратор и вычислитель), подобно Марк-1 Говарда Эйкена, также предназначалась для решения

Рождение персонального компьютера
В 1975 году фотография комплекта Altair компании MITS была помещена на обложку январского номера журнала Popular Electronic. Этот комплект, который можно считать первым ПК, состоял из процессора 80

Элементарная логика
В отличие от естественных наук, компьютерные науки получили большой стимул от широкого и непрерывного взаимодействия с логикой. Особую роль в компьютерных науках играют доказательные методы разрабо

Аппаратная реализация логических схем
Современный персональный компьютер может быть реализован в настольном (desktop), портативном (notebook) или карманном (handheld) варианте. Все основные компоненты настольного компьютера на

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

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

Основные характеристики процессора
Процессор. Основные характеристики процессора Микросхема, реализующая функции центрального процессора персонального компьютера, называется микропроцессором. Обязательными компонентами микр

Адресное пространство процессора
Адресное пространство микропроцессора – общее количество адресов, выделяемых для обозначения внутренних регистров и устройств хранения данных, а также регистров внешних устройств, к которым относят

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

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

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

Кеш память
Кэш или кеш (англ. cache, от фр. cacher - «прятать»; произносится - «кэш») - промежуточный буфер с быстрым доступом, содержащий информацию, которая может быть запрошена с наибольше

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

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

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

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

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

Основные функции операционных систем
В pаботе операционная система определяется так:``Я не знаю, что это такое, но всегда узнаю ее, если увижу"".Эта фраза была сказана в первой половине 70-х, когда операционные системыдействительн

Понятие алгоритма, свойства и виды алгоритмов
Алгоритмом называется точное и понятное предписаниe исполнителю совершить последовательность действий, направленных на решение поставленной задачи. Слово «алгоритм» происходит от имени математика А

Функция языка Basic
При описании синтаксиса функций используются следующие обозначения их аргументов: X и Y - произвольные числовые выражения. I и J - целые выражения. X$ и Y$ - строковые вы

База данных Access
СУБД Access- широко распространенное офисное приложение Microsoft Office. Microsoft Access служит удобным инструментом для ввода, анализа и представления данных и обеспечивает высокую скорость разр

Ячейки памяти и их адреса.

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

Основной единицей памяти является двоичный разряд, который называется битом. Бит может содержать 0 или 1. Эта самая маленькая единица памяти. (Устройство, в котором хранятся только нули, вряд ли могло быть основой памяти. Необходимы по крайней мере две величины.) Многие полагают, что в компьютерах используется бинарная арифметика, потому что это «эффективно». Они имеют в виду (хотя сами это редко осознают),

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

Считается, что некоторые компьютеры, например большие IBM, используют и десятичную, и двоичную арифметику. На самом деле здесь применяется так называемый двоично-десятичный код. Для хранения одного десятичного разряда используется 4 бита. Эти 4 бита дают 16 комбинаций для размещения 10 различных значений (от 0 до 9). При этом 6 оставшихся комбинаций не используются. Ниже показано число 1944 в двоично-десятичной и чисто двоичной системах счисления; в обоих случаях используется 16 битов:

десятичное: 0001 10010100 0100 двоичное: 0000011110011000

16 битов в двоично-десятичном формате могут хранить числа от 0 до 9999, то есть всего 10000 различных комбинаций, а 16 битов в двоичном формате - 65536 комбинаций. Именно по этой причине говорят, что двоичная система эффективнее.

Однако представим, что могло бы произойти, если бы какой-нибудь гениаль-

ный молодой инженер придумал очень надежное электронное устройство, которое могло бы хранить разряды от 0 до 9, разделив участок напряжения от 0 до 10 В на 10 интервалов. Четыре таких устройства могли бы хранить десятичное число от 0 до 9999, то есть 10 000 комбинаций. А если бы те же устройства использовались для хранения двоичных чисел, они могли бы содержать всего 16 комбинаций. Естественно, в этом случае десятичная система была бы более эффективной.

1.2.Адреса памяти

Память состоит из ячеек, каждая из которых может хранить некоторую порцию информации. Каждая ячейка имеет номер, который называется адресом, По адресу программы могут ссылаться на определенную ячейку. Если память содержит п ячеек, они будут иметь адреса от 0 до п-1. Все ячейки памяти содержат одинаковое число битов. Если ячейка состоит из к битов, она может содержать любую из 2к комбинаций. На рис. 2.8 показаны 3 различных способа организации 96-битной памяти. Отметим, что соседние ячейки по определению имеют последовательные адреса.

В компьютерах, где используется двоичная система счисления (включая восьмеричное и шестнадцатеричное представление двоичных чисел), адреса памяти также выражаются в двоичных числах. Если адрес состоит из m битов, максимальное число адресованных ячеек будет составлять 2П|. Например, адрес для обращения к памяти, изображенной на рис. 2.8, а, должен состоять, по крайней мере, из 4 битов, чтобы выражать все числа от 0 до 11. При устройстве памяти, показанном на рис. 2.8, 6 и 2.8, в, достаточно 3-битного адреса. Число битов в адресе определяет максимальное количество адресованных ячеек памяти и не зависит от числа битов в ячейке. 12-битные адреса нужны и памяти с 212 ячеек по 8 битов каждая, и памяти с 212 ячеек по 64 бита каждая.

В табл. 2.1 показано число битов в ячейке для некоторых коммерческих компьютеров.

Ячейка - минимальная единица, к которой можно обращаться, В последние

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

1.3.Упорядочение байтов

Байты в слове могут нумероваться слева направо или справа налево. На первый взгляд может показаться, что между этими двумя вариантами нет разницы, но мы скоро увидим, что выбор имеет большое значение. На рис. 2.9, а изображена часть памяти 32-битного компьютера, в котором байты пронумерованы слева направо (как у компьютеров SPARC или больших IBM). Рисунок 2.9,6 показывает аналогичную репрезентацию 32-битного компьютера с нумерацией байтов справа налево (как у компьютеров Intel).

Важно понимать, что в обеих системах 32-битное целое число (например, 6)

представлено битами 110 в трех крайних правых битах слова, а остальные 29 битов представлены нулями. Если байты нумеруются слева направо, биты 110 находятся в байте 3 (или 7, или 11 и т. д.). Если байты нумеруются справа налево, биты 110 находятся в байте 0 (или 4, или 8 и т. д.). В обоих случаях слово, содержащее это целое число, имеет адрес 0.

Если компьютеры содержат только целые числа, никаких сложностей не возникает. Однако многие прикладные задачи требуют использования не только целых чисел, но и цепочек символов и других типов данных. Рассмотрим, например, простую запись данных персонала, состоящую из цепочки символов (имя сотрудника) и двух целых чисел (возраст и номер отдела). Цепочка символов завершается одним или несколькими байтами 0, чтобы заполнить слово. На рис. 2.10, а представлена схема с нумерацией байтов слева направо, а на рис. 2.10, б - с нумерацией байтов

справа налево для записи «Jim Smith, 21 год, отдел 260» (1x256+4=260).

Оба эти представления хороши и внутренне последовательны. Проблемы начинаются тогда, когда один из компьютеров пытается переслать эту запись на Другой компьютер по сети. Предположим, что машина с нумерацией байтов слева направо пересылает запись на компьютер с нумерацией байтов справа налево по одному байту, начиная с байта 0 и заканчивая байтом 19. Для простоты будем считать, что биты, не инвертируются при передаче. Таким образом, байт 0 переносится из первой машины на вторую в байт 0 и т. д., как показано на рис. 2.10, в.

Компьютер, получивший запись, имя печатает правильно, но возраст получа-

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

Очевидное решение этой проблемы - наличие программного обеспечения, которое инвертировало бы байты в слове после того, как сделана копия. Результат такой операции изображен на рис. 2.10, г. Мы видим, что числа стали правильными, но цепочка символов превратилась в «MIJTIMS», при этом «Н» вообще поместилась отдельно. Цепочка переворачивается потому, что компьютер сначала считывает байт 0 (пробел), затем байт 1 (М) и т. д.

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

1.4.Код с исправлением ошибок

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

Пусть общая длина слова будет п (то есть п=т+г). n-битную единицу, содержащую m битов данных и г контрольных разрядов, часто называют кодированным словом. Для любых двух кодированных слов, например 10001001 и 10110001, можно определить, сколько соответствующих битов в них различается. В данном примере таких бита три. Чтобы определить количество различающихся битов, нужно над двумя кодированными словами произвести логическую операцию ИСКЛЮЧАЮЩЕЕ ИЛИ и сосчитать число битов со значением 1 в полученном результате. Число битовых позиций, по которым различаются два слова, называется интервалом Хэмминга. Если интервал Хэмминга для двух слов равен d, это значит, что достаточно d битовых ошибок, чтобы превратить одно слово в другое. Например, интервал Хэмминга кодированных слов 11110001 и 00110000 равен 3, поскольку для превращения первого слова во второе достаточно 3 ошибок в битах.

Память состоит из m-битных слов, и следовательно, существует 2т вариантов

сочетания битов. Кодированные слова состоят из п битов, но из-за способа подсчета контрольных разрядов допустимы только 2Ш из 2" кодированных слов. Если в памяти обнаруживается недопустимое кодированное слово, компьютер знает, что произошла ошибка. При наличии алгоритма для подсчета контрольных разрядов можно составить полный список допустимых кодированных слов и из этого списка найти два слова, для которых интервал Хэмминга будет минимальным. Это интервал Хэмминга полного кода.

Свойства проверки и исправления ошибок определенного кода зависят от его

интервала Хэмминга. Чтобы обнаружить d ошибок в битах, необходим код с интервалом d+1, поскольку d ошибок не могут изменить одно допустимое кодированное слово на другое допустимое кодированное слово Соответственно, чтобы исправить d ошибок в битах, необходим код с интервалом 2d+l, поскольку в этом случае допустимые кодированные слова так сильно отличаются друг от друга, что даже если произойдет d изменений, изначальное кодированное слово будет ближе к ошибочному, чем любое другое кодированное слово, поэтому его без труда можно будет определить.

В качестве простого примера кода с обнаружением ошибок рассмотрим код, в котором к данным присоединяется один бит четности. Бит четности выбирается таким образом, что число битов со значением 1 в кодированном слове четное (или нечетное). Интервал этого кода равен 2, поскольку любая ошибка в битах приводит к кодированному слову с неправильной четностью. Другими словами, достаточно двух ошибок в битах для перехода от одного допустимого кодированного слова к другому допустимому слову. Такой код может использоваться для обнаружения одиночных ошибок. Если из памяти считывается слово, содержащее неверную четность, поступает сигнал об ошибке. Программа не сможет продолжаться, но зато не будет неверных результатов. В качестве простого примера кода с исправлением ошибок рассмотрим код с четырьмя допустимыми кодированными словами:

0000000000,0000011111, ШИОООООи 1111111111

Интервал этого кода равен 5. Это значит, что он может исправлять двойные

ошибки. Если появляется кодированное слово 0000000111, компьютер знает, что изначальное слово должно быть 0000011111 (если произошло не более двух ошибок). При наличии трех ошибок, если, например, слово 0000000000 изменилось на 0000000111, этот метод недопустим.

Представим, что мы хотим разработать код с m битами данных и г контрольных разрядов, который позволил бы исправлять все ошибки в битах. Каждое из 2т допустимых слов имеет п недопустимых кодированных слов, которые отличаются от допустимого одним битом. Они образуются инвертированием каждого из п битов в n-битном кодированном слове. Следовательно, каждое из 2т допустимых слов требует п+1 возможных сочетаний битов, приписываемых этому слову (п возможных ошибочных вариантов и один правильный). Поскольку общее число различных сочетаний битов равно 2П, то (п+1)2га<2п. Так как n-ш+г, следовательно,

(т+г+ 1)<2Г. Эта формула дает нижний предел числа контрольных разрядов, необходимых для исправления одиночных ошибок. В табл 2.2 показано необходимое количество контрольных разрядов для слов разного размера.

Этого теоретического нижнего предела можно достичь, используя метод Ричарда Хэмминга. Но прежде чем обратиться к этому алгоритму, давайте рассмотрим простую графическую схему, которая четко иллюстрирует идею кода с исправлением ошибок для 4-битных слов. Диаграмма Венна на рис. 2.11 содержит 3 круга, А, В и С, которые вместе образуют семь секторов. Давайте закодируем в качестве примера слово из 4 битов 1100 в сектора АВ, ABC, AC и ВС, по одному биту в каждом секторе (в алфавитном порядке). Кодирование показано на рис. 2.11, а.

Далее мы добавим бит четности к каждому из трех пустых секторов, чтобы получилась положительная четность, как показано на рис. 2.11, б. По определению сумма битов в каждом из трех кругов, А, В, и С, должна быть четной. В круге А находится 4 числа: 0, 0, 1 и 1, которые в сумме дают четное число 2. В круге В находятся числа 1, 1, 0 и 0, которые также при сложении дают четное число 2. То же имеет силу и для круга С. В данном примере получилось так, что все суммы одинаковы, но вообще возможны случаи с суммами 0 и 4. Рисунок соответствует кодированному слову, состоящему из 4 битов данных и 3 битов четности. Предположим, что бит в секторе АС изменился с 0 на 1, как показано на рис. 2.11, в. Компьютер видит, что круги А и С имеют отрицательную четность. Единственный способ исправить ошибку, изменив только один бит, -возвраще-

ние биту АС значения 0. Таким способом компьютер может исправлять одиночные ошибки автоматически.

А теперь посмотрим, как может использоваться алгоритм Хэмминга при создании кодов с исправлением ошибок для слов любого размера. В коде Хэмминга к слову, состоящему из m битов, добавляется г битов четности, при этом образуется слово длиной т+г битов. Биты нумеруются с единицы (а не с нуля), причем первым считается крайний левый. Все биты, номера которых - степени двойки, являются битами четности; остальные используются для данных. Например, к 16-битному слову нужно добавить 5 битов четности. Биты с номерами 1, 2, 4, 8 и 16 - биты четности, а все остальные - биты данных. Всего слово содержит 21 бит (16 битов данных и 5 битов четности). В рассматриваемом примере мы будем использовать

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

Бит 1 проверяет биты 1, 3, 5,7, 9,11, 13,15,17,19, 21.

Бит 2 проверяет биты 2, 3, 6, 7,10,11,14,15,18,19.

Бит 4 проверяет биты 4, 5,6, 7,12,13,14,15, 20, 21.

Бит 8 проверяет биты 8,9,10, И, 12,13,14, 15.

Бит 16 проверяет биты 16,17,18,19, 20, 21.

В общем случае бит b проверяется битамиЪи Ь2,..., bJt такими что bi+b2+... +b,=b. Например, бит 5 проверяется битами 1 и 4, поскольку 1+4=5. Бит 6 проверяется битами 2 и 4, поскольку 2+4=6 и т. д.

На рис. 2.12 показано построение кода Хэмминга для 16-битного слова

1111000010101110 Соответствующим 21-битным кодированным словом является 001011100000101101110. Чтобы увидеть, как происходит исправление ошибок, рассмотрим, что произойдет, если бит 5 изменит значение из-за резкого скачка напряжения на линии электропередачи. В результате вместо кодированного слова 001011100000101101110 получится 001001100000101101 ПО. Будут проверены 5 битов четности.

Вот результаты проверки:

Бит четности 1 неправильный (биты 1, 3, 5, 7,9, 11, 13, 15, 17, 19, 21 содержат

пять единиц).

Бит четности 2 правильный (биты 2, 3, 6,7,10,11,14,15,18,19 содержат шесть

Бит четности 4 неправильный (биты 4,5,6,7,12,13,14,15,20,21 содержат пять

Бит четности 8 правильный (биты 8,9,10,11,12,13,14,15 содержат две единицы).

Битчетности 16 правильный (биты 16,17,18,19,20,21 содержат четыре единицы).

Общее число единиц в битах 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 и 21 должно быть

четным, поскольку в данном случае используется положительная четность. Неправильным должен быть один из битов, проверяемых битом четности 1 (а именно 1,3,5,7,9,11,13,15,17,19 и 21). Бит четности 4 тоже неправильный. Это значит, чтоизменил значение один из следующих битов: 4,5,6,7,12,13,14,15,20,21. Ошибка должна быть в бите, который содержится в обоих списках. В данном случае общими являются биты 5,7,13,15 и 21. Поскольку бит четности 2 правильный, биты 7 и 15 исключаются. Правильность бита четности 8 исключает наличие ошибки в бите 13.

Наконец, бит 21 также исключается, поскольку бит четности 16 правильный. В итоге остается бит 5, в котором и содержится ошибка. Поскольку этот бит имеет значение 1, он должен принять значение 0. Именно таким образом исправляются ошибки.

Чтобы найти неправильный бит, сначала нужно подсчитать все биты четности. Если они правильные, ошибки нет (или есть, но больше одной). Если обнаружились неправильные биты четности, то нужно сложить их номера. Сумма, полученная в результате, даст номер позиции неправильного бита. Например, если биты четности 1 и 4 неправильные, а 2,8 и 16 правильные, то ошибка произошла в бите 5 (1+4).

2.Кэш-память

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

которое ему нужно. Чем медленнее работает память, тем дольше процессору приходится ждать, тем больше циклов должно пройти.

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

Другое решение проблемы - сконструировать машину, которая не приостанавливает работу, но следит, чтобы программы-компиляторы не использовали слова до того, как они считаются из памяти. Однако это не так просто осуществить на практике. Часто при выполнении команды загрузки машина не может выполнять другие действия, поэтому компилятор вынужден вставлять пустые команды, которые не производят никаких операций, но при этом занимают место в памяти. В действительности при таком подходе простаивает не аппаратное, а программное обеспечение, но снижение производительности при этом такое же. На самом деле эта проблема не технологическая, а экономическая. Инженеры знают, как построить память, которая будет работать так же быстро, как и процессор, но при этом ее приходится помещать прямо на микросхему процессора (поскольку информация через шину поступает очень медленно). Установка большой памяти на микросхему процессора делает его больше и, следовательно, дороже, и даже если бы стоимость не имела значения, все равно существуют ограничения в размерах процессора, который можно сконструировать. Таким образом, приходится выбирать между быстрой памятью небольшого размера и медленной памятью большого размера. Мы бы предпочли память большого размера с высокой скоростью работы по низкой цене. Интересно отметить, что существуют технологии сочетания маленькой и быстрой памяти с большой и медленной, что позволяет получить и высокую скорость работы, и большую емкость по разумной цене. Маленькая память с высокой скоростью работы называется кэш-памятью (от французского слова cacher «прятать»1;читается «кэш»). Ниже мы кратко опишем, как используется кэш-память и как она работает. Более подробное описание см. в главе 4. Основная идея кэш-памяти проста: в ней находятся слова, которые чаще всего используются. Если процессору нужно какое-нибудь слово, сначала он обращается к кэш-памяти. Только в том случае, если слова там нет, он обращается к основной памяти. Если значительная часть слов находится в кэш-памяти, среднее время доступа значительно сокращается. Таким образом, успех или неудача зависит от того, какая часть слов находится в кэш-памяти. Давно известно, что программы не обращаются к памяти наугад. Если программе нужен доступ к адресу А, то скорее всего после этого ей понадобится доступ к адресу, расположенному поблизости от А. Практически все команды обычной программы (за исключением команд перехода и вызова процедур) вызываются из последовательных участков памяти. Кроме того, большую часть времени программа тратит на циклы, когда ограниченный набор команд выполняется снова и снова. Точно так же при манипулировании матрицами программа, скорее всего, будет обращаться много раз к одной и той же матрице, прежде чем перейдет к чему-либо другому. То, что при последовательных отсылках к памяти в течение некоторого промежутка времени используется только небольшой ее участок, называется принципом локальности. Этот принцип составляет основу всех систем кэш-памяти. Идея состоит в следующем: когда определенное слово вызывается из памяти, оно вместе с соседними словами переносится в кэш-память, что позволяет при очередном запросе быстро обращаться к следующим словам. Общее устройство процессора, кэш-памяти и основной памяти показано на рис. 2.13. Если слово считывается или записывается к раз, компьютеру понадобится сделать 1 обращение к медленной основной памяти и к-1 обращений к быстрой кэш-памяти. Чем больше к, тем выше общая производительность.

Мы можем сделать более строгие вычисления. Пусть с - время доступа к кэш-памяти, m - время доступа к основной памяти и h - коэффициент совпадения, который показывает соотношение числа ссылок к кэш-памяти и общего числа всех ссылок. В нашем примере h=(k~l)/k. Таким образом, мы можем вычислить среднее время доступа:

среднее время доступа =с+(1 -h)m.

Если h-И и все обращения делаются только к кэш-памяти, то время доступа стремится к с. С другой стороны, если h-»0 и каждый раз нужно обращаться к основной памяти, то время доступа стремится к с+ш: сначала требуется время с для проверки кэш-памяти (в данном случае безуспешной), а затем время m для обращения к основной памяти. В некоторых системах обращение к основной памятиможет начинаться параллельно с исследованием кэш-памяти, чтобы в случае неудачного поиска цикл обращения к основной памяти уже начался. Однако эта стратегия требует способности останавливать процесс обращения к основной памяти в случае результативного обращения к кэш-памяти, что делает разработку такого компьютера более сложной. Основная память и кэш-память делятся на блоки фиксированного размера с учетом принципа локальности. Блоки внутри кэш-памяти обычно называют строками кэш-памяти (cache lines). Если обращение к кэш-памяти нерезультативно, из основной памяти в кэш-память загружается вся строка, а не только необходимое слово. Например, если строка состоит из 64 байтов, обращение к адресу 260 повлечет за собой загрузку в кэш-память всей строки, то есть с 256-го по 319-й байт.

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

Разработка кэш-памяти очень важна для процессоров с высокой производительностью.

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

Второй вопрос - размер строки кэш-памяти. Кэш-память объемом 16 Кбайт можно разделить на 1К строк по 16 байтов, 2К строк по 8 байтов и т. д. Третий вопрос - как устроена кэш-память, то есть, как она определяет, какие именно слова содержатся в ней в данный момент. Устройство кэш-памяти мы рассмотрим подробно в главе 4.

Четвертый вопрос - должны ли команды и данные находиться вместе в общей кэш-памяти. Проще разработать смежную кэш-память, в которой хранятся и данные, и команды. При этом вызов команд и данных автоматически уравновешивается. Тем не менее, в настоящее время существует тенденция к использованию разделенной кэш-памяти, когда команды хранятся в одной кэш-памяти, а данные - в другой. Такая структура также называется Гарвардской (Harvard Architecture), поскольку идея использования отдельной памяти для команд и отдельной памяти для данных впервые воплотилась в компьютере Маге III, который был создай Говардом Айкеном в Гарварде. Современные разработчики пошли по этому пути, поскольку сейчас широко используются процессоры с конвейерами, а при такой организации должна быть возможность одновременного доступа и к командам, и к данным (операндам). Разделенная кэш-память позволяет осуществлять параллельный доступ, а общая - нет. К тому же, поскольку команды обычно не меняются во время выполнения, содержание командной кэш-памяти никогда не приходится записывать обратно в основную память.

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

Модульное ОЗУ.

Сборка модулей памяти и их типы

Со времен появления полупроводниковой памяти и до начала 90-х годов все микросхемы памяти производились, продавались и устанавливались на плату компьютера по отдельности. Эти микросхемы вмещали от 1 Кбит до 1 Мбит информации и выше. В первых персональных компьютерах часто оставлялись пустые разъемы, чтобы покупатель в случае необходимости мог вставить дополнительные микросхемы.

В настоящее время распространен другой подход. Группа микросхем (обычно 8 или 16) монтируется на одну крошечную печатную плату и продается как один блок. Он называется SIMM (Single Inline Memory Module - модуль памяти, имеющий выводы с одной стороны) или DIMM (Dual Inline Memory Module - модуль памяти, у которого выводы расположены с двух сторон). У первого из них контакты расположены только на одной стороне печатной платы (выводы на второй стороне дублируют первую), а у второго - на обеих сторонах. Схема SIMM изображена на рис. 2.14.

Обычный модуль SIMM содержит 8 микросхем по 32 Мбит (4 Мбайт) каждая. Таким образом, весь модуль вмещает 32 Мбайт информации. Во многие компьютеры встраивается 4 модуля, следовательно, при использовании модулей SIMM по 32 Мбайт общий объем памяти составляет 128 Мбайт. При необходимости данные модули SIMM можно заменить модулями с большей вместимостью (64 Мбайт и выше).

У первых модулей SIMM было 30 контактов, и они могли передавать 8 битов

информации за один раз. Остальные контакты использовались для адресации и контроля. Более поздние модули содержали уже 72 контакта и передавали 32 бита информации за один раз. Для компьютера Pentium, который требовал одновременной передачи 64 битов, эти модули соединялись по два, и каждый из них доставлял половину требуемых битов. В настоящее время стандартным способом сборки является модуль DIMM. У него на каждой стороне платы находится по 84 позолоченных контакта, то есть всего 168. DIMM способен передавать 64 бита данных за раз. Вместимость DIMM обычно составляет 64 Мбайт и выше. В электронных записных книжках обычно используется модуль DIMM меньшего размера, который называется SO-DIMM (Small Outline DIMM). Модули SIMM и DIMM могут содержать бит четности или код исправления ошибок, однако, поскольку вероятность

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

Лекция 5 . Информационное обеспечение компьютера.

1. Шины информационного обмена.

2. Символьные терминалы.

3. Символьное кодирование информации.

Переключить меню

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

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

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

Теперь, прежде чем начать рассматривать устройство оперативной памяти компьютера, давайте вспомним, что минимальной единицей информации как при хранении, так и при передаче, является один бит. У бита может быть только лишь два состояния: включен или выключен, в цифрах это будет 1 и 0, соответственно. Переходим к устройству: оперативная память компьютера состоит из ячеек, размером в один бит и расположены эти ячейки в виде матрицы (матрица - это двумерный массив). Для того, чтобы память компьютера смогла запомнить информацию в размере 1 байт, ей потребуется 8 бит (т.к. 1 байт = 8 бит), т.е. 8 ячеек памяти. Общее устройство оперативной памяти я попытаюсь вам донести с помощью рисунка

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

#include using namespace std; int main() { int var = 1000; cout << "Size: " << sizeof(var) << endl; cout << "Value: " << var << endl; cout << "Adress: " << &var << endl; return 0; }

В этой программе мы резервируем (выделяем) память для переменной типа int (имеет возможность хранить целые числа в интервале от -2147483648 до 2147483647 ) и присваиваем ей начальное значение - число 1000 . Далее мы сделаем вот что:

  1. Узнаем опытным путем размер памяти, выделяемый для переменных такого типа (int).
  2. Выведем саму переменную.
  3. Выведем адрес в памяти (оперативной памяти компьютера), по которому находится данная переменная.

Вот такие строки кода нам нужны для решения поставленной задачи:

  1. cout << "Size: " << sizeof(var) << endl; (sizeof - оператор языка С++, позволяет получать размер объекта в байтах).
  2. cout << "Value: " << var << endl;
  3. cout << "Adress: " << &var << endl; (& - амперсанд, оператор получения адреса, по которому расположен объект)

Запустим программу и посмотрим результат работы этих строк:

Как мы видим, для переменной типа int было выделено 4 байта в памяти компьютера. Можете поэкспериментировать и с другими типами данных, благодаря чему вы себе "набьете руку" и запомните эти цифры, программист должен их знать. Во второй строке все понятно - мы просто вывели значение переменной. А вот третья строка - это самое интересное, здесь мы действительно убедились в том, что наши переменные располагаются в оперативной памяти во время работы программы.

У вас может последовать логический вопрос: почему переменная, которая занимает в оперативной памяти компьютера 4 байта (это в будет 8 * 4 = 32 бита), т.е. занимает 32 ячейки памяти, а адресом является только одно значение. Смотрим самый первый рисунок, где зарисованы ячейки оперативной памяти компьютера и выделен один байт красным. Для самой первой ячейки указан на рисунке адрес (адреса указываются в шестнадцатеричном формате исчисления). Вот теперь визуально добавьте к этим выделенным красным цветом восьми ячейкам еще столько, чтобы было в итоге 32 (4 байта). Теперь ответ на поставленный выше вопрос: адресом переменной в памяти является адрес первой ячейки памяти, по которому она расположена. Т.е. получается вот как: зная адрес первой ячейки (в обиходе его называют просто адресом, по которому расположена переменная, хотя на самом деле ее расположение только там начинается) и зная размер переменной (в нашем случае для int это 32 бита или 4 байта) процессор знает сколько нужно считать ячеек памяти для того, чтобы определить значение переменной. Для встроенных типов данных - эти размеры заранее известны процессору.

Данные в оперативной памяти хранятся в двоичной системе счисления, т.е. наше число 1000 будет выглядеть как 11 1110 1000 и реально будет занимать только лишь 10 ячеек памяти из доступных 32. В таком случае, если вы заранее знаете, что размер вашей переменной не изменится и не выйдет за пределы -32768 ... 32767, можете использовать тип данных short , который занимает в памяти компьютера ровно 2 байта, что в 2 раза меньше.

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

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

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

Самыми распространенными типами флэш-карт сегодня являются CompactFlash (CF), SmartMedia (SM), Securе Digital (SD), MultiMediaCard (MMC) и Memory Stick (MS), которые отличаются друг от друга интерфейсами, габаритами, скоростью чтения/записи и максимально возможной емкостью.

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

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

Устройство ячейки флэш-памяти

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

Рассмотрим для примера хорошо известную оперативную память с произвольным доступом, именуемую также RAM-памятью (Random Access Memory). По принципам действия RAM-память можно разделить на динамическую и статическую.

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

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

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

Принципиальное отличие флэш-памяти от RAM-памяти заключается в том, что это энергонезависимая память, способная в течение неограниченного времени сохранять информацию при отсутствии внешнего питания.

В принципе, существует несколько типов энергонезависимой памяти, и в этом смысле флэш-память — лишь одна из ее разновидностей.

Архитектура ПЗУ-памяти

Простейшим примером энергонезависимой памяти является ROM (Read-Only Memory), известная также как ПЗУ (постоянное запоминающее устройство). В такой памяти массив ячеек представляет собой набор проводников, некоторое из которых остаются целыми, а остальные разрушаются. Данные проводники, выполняющие роль элементарных переключателей, организуются в матрицу путем подсоединения к линиям столбцов и строк (рис. 1). Замкнутому состоянию проводника можно присвоить значение логического нуля, а разомкнутому — логической единицы. Если теперь измерить напряжение между одной из линий столбцов и строк (то есть получить доступ к определенной ячейке памяти), то его высокое значение (разомкнутое состояние проводника) соответствует логической единице, а нулевое (замкнутое состояние проводника) — логическому нулю.

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

Другой тип энергонезависимой памяти — перезаписываемое ПЗУ (ППЗУ) или EPROM (Erasable Programmable Read-Only Memory). Такая память может быть перезаписана только с помощью специальных программаторов. В настоящее время из-за сложности процесса перезаписи на смену ППЗУ приходит флэш-память (Flash Memory).

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

Структура CMOS-транзистора

Между флэш-памятью и динамической RAM-памятью, равно как и ROM-памятью, есть много общего. Принципиальное различие заключается прежде всего в строении самой элементарной ячейки. Если в динамической памяти элементарной ячейкой является конденсатор, то во флэш-памяти роль ячейки памяти выполняет CMOS-транзистор особой архитектуры. И если в обычном CMOS-транзисторе имеется три электрода (сток, исток и затвор), то во флэш-транзисторе (в простейшем случае) добавляется еще один затвор, называемый плавающим.

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

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

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

Структура транзистора с плавающим затвором

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

Рис. 3. Устройство транзистора с плавающим затвором и чтение содержимого ячейки памяти

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

Помещение заряда на плавающий затвор (процесс записи) реализуется либо методом инжекции горячих электронов (CHE-Channel Hot Electrons), либо методом туннелирования Фаулера-Нордхейма (аналогично тому, как это делается при удалении заряда — см. далее).

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

Рис. 4. Процесс записи и стирания информационного бита в транзистор с плавающим затвором

Для удаления заряда с плавающего затвора (процесс стирания ячейки памяти) на управляющий затвор подается высокое (порядка 9 В) отрицательное напряжение, а на область истока — положительное напряжение (рис. 4). Это приводит к тому, что электроны туннелируют из области плавающего затвора в область истока (квантовое туннелирование Фаулера-Нордхейма — Fowler-Nordheim, FN).

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

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

Двухтранзисторная ячейка памяти

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

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

Ячейка SST

Описанными ячейками памяти не исчерпывается все многообразие возможных конструкций. Широкое распространение получили и другие типы ячеек памяти, например ячейка SST, разработанная компанией Silicon Storage Technology, Inc.

По принципу действия SST-ячейка во многом напоминает уже рассмотренную однотранзисторную ячейку памяти.

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

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

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

В отличие от однотранзисторной ячейки памяти ячейка SST имеет и несколько иную схему организации массива памяти.

MLC-ячейки памяти

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

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

Как уже отмечалось при рассмотрении однотранзисторной ячейки памяти, наличие логической единицы или нуля определяется по значению напряжения на битовой линии и зависит от наличия или отсутствия заряда на плавающем затворе. Если на управляющий затвор подается положительное напряжение, то при отсутствии заряда на плавающем затворе транзистор открыт и напряжение между стоком и истоком мало, что соответствует логическому нулю. Если же на плавающем затворе имеется отрицательный заряд, своим полем экранирующий поле, создаваемое управляющим затвором, то транзистор оказывается в закрытом состоянии, что соответствует высокому напряжению между стоком и истоком (логическая единица). Понятно, что даже при наличии отрицательного заряда на плавающем затворе транзистор можно перевести в открытое состояние, однако для этого придется подать большее напряжение (пороговое напряжение) на управляющий затвор. Следовательно, об отсутствии или наличии заряда на плавающем затворе можно судить по пороговому значению напряжения на управляющем затворе. Поскольку пороговое напряжение зависит от величины заряда на плавающем затворе, то можно не только определить два предельных случая — отсутствие или присутствие заряда, но и по величине порогового напряжения судить о количестве заряда. Таким образом, если имеется возможность размещать на плавающем затворе разное количество уровней заряда, каждому из которых соответствует свое значение порогового напряжения, то в одной ячейке памяти можно сохранять несколько информационных битов. К примеру, для того, чтобы с использованием такого транзистора сохранять в одной ячейке 2 бита, необходимо различать четыре пороговых напряжения, то есть иметь возможность размещать на плавающем затворе четыре различных уровня заряда. Тогда каждому из четырех пороговых напряжений можно поставить в соответствие комбинацию двух битов: 00, 01, 10, 11.

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

Ячейки MLC активно разрабатываются компанией Intel, поэтому технология памяти на основе MLC-ячеек получила название Intel StrataFlash.

Ячейки Saifun NROM и MirrorBit

Intel StrataFlash на базе MLC-ячеек — не единственная технология, позволяющая сохранять несколько информационных битов в одной ячейке. Израильской компанией Saifun разработана еще одна технология — Saifun NROM technology. Аналогичная технология под названием MirrorBit есть и у компании AMD. И хотя сама компания AMD заявляет о технологии MirrorBit как о своей разработке, возникают большие сомнения в ее правоте. Компания Saifun также усомнилась в авторских правах AMD и подала иск в суд, который был удовлетворен. В связи с этим мы будем рассматривать только технологию Saifun NROM technology.

Ячейка NROM (Nitrid ROM) по своей структуре напоминает транзистор с плавающим затвором. Управляющий затвор подключается к линии слов (Word Line), а сток и исток (они, кстати сказать, совершенно одинаковые), подключаются к двум разным линиям бит. Плавающий затвор выполнен из нитрида кремния (Si3N4) (рис. 7).

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

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

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

Архитектура флэш-памяти

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

Существует несколько типов архитектур флэш-памяти, но наибольшее распространение получили архитектуры NOR и NAND.

Архитектура NOR

Самая простая для понимания архитектура флэш-памяти — архитектура NOR (рис. 8).

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

Своим названием архитектура NOR обязана логической операции ИЛИ-НЕ (английская аббревиатура — NOR). Логическая операция NOR над несколькими операндами дает единичное значение, когда все операнды равны нулю, и нулевое значение во всех остальных случаях. Если под операндами понимать значения ячеек памяти, то в рассмотренной архитектуре единичное значение на битовой линии будет наблюдаться только в том случае, когда значение всех ячеек, подключенных к данной битовой линии, равно нулю (все транзисторы закрыты).

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

Архитектура NAND

Другой распространенной архитектурой флэш-памяти является архитектура NAND, соответствующая логической операции И-НЕ. Операция NAND дает нулевое значение только в том случае, когда все операнды равны нулю, и единичное значение во всех остальных случаях. Как мы уже отмечали, нулевое значение соответствует открытому состоянию транзистора, поэтому архитектура NAND подразумевает, что битовая линия имеет нулевое значение в случае, когда все подсоединенные к ней транзисторы открыты, и единичное значение — когда хотя бы один из транзисторов закрыт. Такую архитектуру можно организовать, если подключать транзисторы с битовой линии не по одному (как в архитектуре NOR), а последовательными сериями (рис. 9).

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

Кроме рассмотренных нами архитектур NOR и NAND, во флэш-памяти используются и другие архитектуры, например AND, DiNOR и т.д., но они не получили массового распространения.

Типы флэш-карт

Настоящее время на рынке присутствуют карты флэш-памяти различных форматов, самые новые из которых — это Secure Digital (SD), Memory Stick (MS), MultiMediaCard (MMC) и xD-Picture Card (XD). Не стоит также забывать и о хорошо зарекомендовавших себя форматах CompactFlash (CF) и SmartMedia (SM).

По оценкам некоторых аналитических изданий, в настоящее время 54% рынка занимают карты CF, на втором месте — Memory Stick (25%), на третьем — Secure Digital (10%), далее следуют SmartMedia (8%) и MultiMediaCard (3%).

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

CompactFlash является одним из старейших и самым распространенным в настоящий момент стандартом сменных карт флэш-памяти, а также прямым потомком карт PCMCIA. На карты этого стандарта приходится более 54% мирового рынка карт памяти. Первая серийная карта CompactFlash была изготовлена корпорацией SanDisk в 1994 году.

В октябре 1995 года была создана некоммерческая организация Compact Flash Association (CFA), куда помимо компании SanDisk вошли IBM, Canon, Kodak, HP, Hitachi, Epson и Socket Communications.

Размер карты CompactFlash составляет 43Ѕ36Ѕ3,3 мм, а интерфейсный разъем оснащен 50 контактами.

В настоящее время CompactFlash представляет собой наиболее выгодное решение в плане удельной стоимости хранимых носителем данных на основе флэш-памяти при объеме более 32 Мбайт.

Одним из главных достоинств карты CompactFlash является наличие встроенного ATA-контроллера, благодаря которому она совместима с IDE-интерфейсом, что подразумевает возможность эмуляции жесткого диска. На программном уровне карта ничем не отличается от винчестера: она обладает всеми необходимыми параметрами, такими как количество виртуальных цилиндров и головок. Обращение к карте выполняется с помощью стандартного аппаратного прерывания IRQ 14, и зачастую для работы с CompactFlash не нужны специальные драйверы.

Встроенный преобразователь напряжения питания позволяет подключать карты CompactFlash в слоты с напряжением как 3,3 В, так и 5 В.

Существует два типа карт CompactFlash: Type I и Type II, единственное различие между которыми заключается в толщине корпуса: у карт Type I толщина составляет 3,3 мм, а у Type II — 5,5 мм. Однако карты CompactFlash Type I можно использовать в слотах Type I и Type II, а карты CompactFlash Type II — только в слотах Type II.

Карты CompactFlash являются рекордсменами как по скорости чтения/записи, так и по максимальной емкости, что обусловливает их широкое распространение в среде профессиональных цифровых камер. Что касается скорости, то следует отметить, что многие производители выпускают различные как по скорости, так и по цене серии карт CompactFlash. Сегодня в розничной торговле доступны карты CF объемом 4 Гбайт. Если же говорить о скоростях чтения/записи, то здесь все зависит и от производителя, и от серии, и даже от объема карты.

Рассмотрим, к примеру, карты CompactFlash компании Kingston Technology серий Standard (емкость 256, 512 и 1024 Мбайт) и Elite PRO (емкость 2 и 4 Гбайт). Результаты, отражающие скорости последовательного чтения и записи, были получены с помощью тестового пакета IOmeter (рис. 10 и 11).

Рис. 10. Зависимость скорости последовательного чтения от размера запроса для карт формата CompactFlash

Рис. 11. Зависимость скорости последовательной записи от размера запроса для карт формата CompactFlash

Тестирование показало, что скорость линейного чтения у серии Elite PRO более чем в два раза превосходит скорость линейного чтения у серии Standard, причем у карты емкостью 2 Гбайт эта скорость выше, чем у карты емкостью 4 Гбайт, а у всех карт серии Standard скорость последовательного чтения одинакова.

При последовательной записи наблюдается примерно та же закономерность. Исключение составила карта серии Standart емкостью 512 Мбайт, у которой скорость последовательной записи при размере запроса более 32 Кбайт оказалась даже выше, чем у карты серии Elite PRO емкостью 4 Гбайт.

SmartMedia

Спецификация карт SmartMedia была предложена компанией Toshiba в 1996 году. Впрочем, первоначально эти карты имели менее благозвучное название: Solid-State Floppy Disk Card (SSFDC). Карты SmartMedia имеют наименьшую среди существующих сегодня носителей на основе флэш-памяти толщину — всего 0,76 мм (как у кредитной карточки). Этот показатель был достигнут благодаря максимальной простоте устройства: внутри карты SmartMedia отсутствуют контроллеры и дополнительные схемы, а установлен лишь чип NAND-памяти. Такое решение позволило максимально уменьшить как размер (45Ѕ37Ѕ0,76 мм) и вес (около 2 г) самой карты, так и ее цену.

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

Физический интерфейс карт SmartMedia представляет собой плоский разъем с 22 контактами. Передача данных осуществляется по 8-разрядной шине, а максимальное время доступа при чтении и записи в зависимости от емкости карты составляет от 50 до 80 нс.

Существует два вида карт SmartMedia, один из которых рассчитан на напряжение питания 3,3 В, а другой — на 5 В. Вид карты легко определить по положению так называемого ключа — срезанного угла в той части карты, где расположены контакты. Поскольку ключи у них расположены с разных сторон, эти виды карт несовместимы между собой, то есть невозможно подключить карту SmartMedia, рассчитанную на 3,3 В, в слот с напряжением питания 5 В, и наоборот.

MultiMediaCard

Карты стандарта MultiMediaCard появились в 1997 году как результат сотрудничества компаний SanDisk Corporation и Siemens AG/Infineon Technologies AG.

В 1998 году был сформирован альянс MMCA (MultiMediaCard Association), в состав которого вошли компании HP, SanDisk, Kodak, Hitachi, Infineon Technology, Lexar Media, Micron, Sanyo, Siemens и Nokia.

Стандарт был изначально «свободным», то есть лишенным каких-либо лицензионных ограничений.

На момент появления карты MMC были самыми миниатюрными (24Ѕ32Ѕ1,4 мм) и легкими (менее 2 г).

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

Эти карты ориентированы на применение в новейших цифровых видео- и фотокамерах, мобильных телефонах с интеллектуальными функциями и функциями загрузки/воспроизведения музыкальных записей, цифровых портативных аудиоплеерах, игрушках и игровых приставках, карманных ПК и электронных органайзерах.

Карты MultiMediaCard на 100% совместимы со всеми устройствами, использующими карты памяти типа Secure Digital.

В настоящее время начат выпуск Secure MultiMediaCard, имеющих встроенную схему защиты от несанкционированного доступа и копирования и совместимых со спецификацией SDMI.

11 ноября 2002 года было объявлено об утверждении стандарта на карты ММС уменьшенного размера, получившие название Reduced Size MultiMediaCards (RS-MMC). Размеры карт RS-MMC составляют 24Ѕ18Ѕ1,4 мм (полноформатные ММС имеют размеры 24Ѕ32Ѕ1,4 мм). Предусмотрена обратная совместимость карт RS-MMC с полноформатными носителями: при помощи механических переходников они могут быть использованы в изделиях, оснащенных слотами ММС.

По замыслу разработчиков основной сферой применения RS-MMC станут мобильные телефоны, смартфоны и коммуникаторы.

Другая разновидность карт MMC — это HS-MMC (High Speed MMC), то есть высокоскоростные карты MMC, способные обеспечивать скорость передачи данных до 52 Мбит/с.

Присутствующие сегодня на рынке карты MMC имеют максимальный объем до 1 Гбайт, а средняя скорость чтения и записи составляет у них 2 Мбайт/с.

Карты типа SD были разработаны компаниями Matsushita, San Disk и Toshiba и представляют собой дальнейшее развитие стандарта MultiMediaCard. Эти карты являются представителями третьего поколения флэш-памяти.

Для продвижения нового формата три вышеупомянутые компании основали специальную организацию — SD Association, членами которой в настоящее время являются уже более 200 производителей. Само название Secure Digital ясно указывает на поддержку этим носителем технологии защиты данных от несанкционированного копирования и доступа. В отличие от других типов сменных носителей на флэш-памяти, абсолютно все выпускаемые SD-карты оснащены специальной электронной схемой защиты данных и совместимы со спецификацией SDMI.

На карте может храниться как незащищенная (уровень 1), так и защищенная (уровни 2 и 3) информация. Информация может быть защищена от копирования либо уникальным идентификационным ключом карты (уровень 2), либо активным криптографическим алгоритмом (уровень 3), что дает владельцу карты уверенность в надежности защиты данных.

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

SD-карты относятся к числу наиболее легких и компактных сменных карт: их размер составляет всего 24Ѕ32Ѕ2,1 мм, а вес — 2 г. Внешне SD-карты очень похожи на MMC и соответствуют их размерам, за исключением большей толщины. Карты имеют девять контактов (у MMC их семь) и миниатюрный переключатель для защиты от случайного уничтожения хранимых данных.

В настоящее время на рынке представлены SD-карты с максимальным объемом до 1 Гбайт. Скорость чтения и записи зависит и от размера карты, и от производителя. Если, к примеру, сравнить две SD-карты емкостью по 512 Мбайт (Kingston и Transcend), то выяснится, что в режиме последовательной записи (рис. 12) производительность карты Transcend почти в четыре раза выше производительности карты Kingston. Так, при размере запроса более 64 Кбайт скорость последовательной записи для карты Transcend составляет 7,8 Мбайт/с, а для карты Kingston — всего 1,75 Мбайт/с. Скорость линейной записи (рис. 13) также выше у карты Transcend и составляет 8,13 Мбайт/с (при размере запроса более 64 Кбайт/с), а у карты Kingston эта скорость равна 6,24 Мбайт/с.

Рис. 12. Зависимость скорости последовательной записи от размера запроса для карт формата SD

Для сравнения на рис. 12 и 13 показаны типичные скорости последовательного чтения и записи карты формата MMC, которые и при чтении, и при записи не превышают 1 Мбайт/с.

Стандарт Memory Stick был разработан компанией Sony, а его массовое внедрение началось в 1998 году. В настоящее время карты стандарта Memory Stick используются во всех без исключения цифровых фотоаппаратах Sony, что, впрочем, отнюдь не способствует их успешному продвижению на рынок. Именно поэтому последняя модель цифровой камеры Sony поддерживает карты уже двух стандартов: Memory Stick и куда более популярные CompactFlash.

Своему названию карты Memory Stick (память в пластинках) обязаны сходству с жевательными пластинками, да и габариты карточки памяти Memory Stick составляют 21,5Ѕ50Ѕ2,8 мм, что примерно соответствует размерам пластинки жевательной резинки.

Выпускается также модификация этого носителя со встроенной системой защиты от несанкционированного копирования и доступа к данным (MagicGate Memory Stick).

Сегодня компания Sony занимается внедрением носителя новой модификации, получившего название Memory Stick Duo. Эта карта совместима с обычной Memory Stick, но имеет меньшие размеры (20Ѕ31Ѕ1,6 мм) и меньший вес (всего 2 г), что позволит использовать ее в самых малых портативных устройствах, особо критичных к размеру сменных модулей памяти, например в мобильных телефонах и микрокомпьютерах. С целью облегчения интеграции нового стандарта в существующие системы предусмотрена полная обратная совместимость: при помощи специального картриджа Memory Stick Duo можно подключать к слотам для полноформатных карт Memory Stick.

В начале января 2003 года на проходившей в Лас-Вегасе выставке Consumer Electronics Show (CES) компания Sony объявила о планах по созданию карт флэш-памяти нового поколения — Memory Stick PRO. Линейка новых носителей будет выпускаться в корпусах тех же форм и размеров, что и обычные Memory Stick. От ставших уже привычными синих карточек Memory Stick новые носители будут отличаться жемчужным цветом. Если же сравнивать технические характеристики, то, кроме увеличения емкости, карты Memory Stick PRO обладают гораздо более высокой скоростью обмена данными и усовершенствованными механизмами защиты данных. Что касается перспектив наращивания объема, то технически возможно создание Memory Stick PRO емкостью до 32 Гбайт. Максимальная скорость обмена, обеспечиваемая конструкцией носителей Memory Stick PRO, составляет 160 Мбит/с, а скорость записи — не менее 15 Мбит/с.

Во всех носителях Memory Stick PRO будет использоваться технология защиты данных MagicGate. Помимо этого в них будет встроена и новая система защиты данных, позволяющая ограничивать доступ к хранимым на носителе файлам, предотвращая просмотр и распространение защищенных данных даже в случае утери или кражи карты.

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

В настоящее время на рынке представлены модели карт Memory Stick Pro объемом до 1 Гбайт, а также карты Memory Stick PRO DUO объемом до 128 Мбайт.

xD-Picture (XD)

Формат xD-Picture является самым молодым из всех рассмотренных выше форматов. Этот стандарт разработан компаниями Olympus и FujiFilm, но в силу своей новизны пока еще не получил широкого распространения.

Обозначение xD расшифровывается как eХtreme digital, что, по мнению разработчиков, акцентирует внимание на использовании этого носителя для хранения аудиовизуальных данных. Размеры карт xD-Picture составляют всего 20Ѕ25Ѕ1,7 мм, а вес — 2 г, что на данный момент является абсолютным рекордом миниатюрности.

По замыслам разработчиков карты xD-Picture должны заменить морально устаревшие карты SmartMedia, максимальная емкость которых (в силу технологических причин) не превышает 128 Мбайт. Теоретически емкость карт xD может достигать 8 Гбайт. Кроме того, тенденция миниатюризации цифровых любительских камер требует и адекватной миниатюризации карт памяти.

Карты xD-Picture имеют 22-контактный интерфейс, совместимый с интерфейсом SmartMedia Card.

Максимальная скорость чтения данных с карт xD-Picture составляет 5 Мбайт/с, а скорость записи — 3 Мбайт/с (для карт емкостью 16 и 32 Мбайт — 1,3 Мбайт/с); напряжение питания — 3,3 В; потребляемая при работе мощность — 25 мВт. Как и SmartMedia, карты xD-Picture содержат только флэш-память и не оснащаются встроенным контроллером (в отличие, например, от CompactFlash).

В настоящее время максимальная емкость карт xD-Picture составляет 512 Мбайт.


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

ВНУТРЕННЯЯ ПАМЯТЬ КОМПЬЮТЕРА

Внутренняя память компьютера состоит из двух частей: оперативного запоминающего устройства (ОЗУ ) и постоянного запоминающего устройства (ПЗУ ). Они располагаются на материнской плате.В состав внутренней памяти входят оперативная память , кэш–память и специальная память .

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

Оперативная память (ОЗУ, англ. RAM, Random Aссess Memory – память с произвольным доступом) – это быстрое запоминающее устройство не очень большого объёма, непосредственно связанное с процессором и предназначенное для записи, считывания и хранения выполняемых программ и данных, обрабатываемых этими программами.

Рассмотрим принципиальную схему её организации.

Оперативная память - это массив кристаллических ячеек, способных хранить данные.

Память можно представить наподобие листа из тетради в клеточку. В каждой клетке может храниться в данный момент только одно из двух значений: нуль или единица. В ячейку можно записать только 0 или 1, то есть 1 бит информации. Такая ячейка так и называется - «бит».

éЯчейка(бит)



Ячейка памяти, хранящая один двоичный знак, называется «бит».

Бит – наименьшая частица памяти компьютера.

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

Это наименьшая частица памяти компьютера и в связи с этим память имеет битовую структуру, которая определяет первое свойство оперативной памяти – дискретность .

Дискретные объекты состоят из отдельных частиц. Например, песок дискретен, так как состоит из песчинок. Память состоит из отдельных ячеек – битов.

Бит является слишком маленькой едиицей информации, поэтому биты объединили в группы по 8 – байты. В одном байте памяти можно сохранить 1 байт информации.

. . . . . . . .
. . . . . . . .

é Байт

Каждый байт получает порядковый номер – адрес. Адресуемость – второе свойство оперативной памяти. Нумерация начинается с нуля.

. . . . . . . .
. . . . . . . .

Таким образом, память можно представить себе в виде многоквартирного дома, в котором квартиры – это байты, а номер квартиры – адрес. Чтобы найти нужную информацию, необходимо знать адрес байта, в котором она хранится. Именно так поступает процессор, когда обращается за данными и программами к оперативной памяти.

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

Группа из нескольких байтов, которые процессор может обработать как единое целое, называется машинным словом. Длина машинного слова бывает различной – 8, 16, 32 бита и т.д. Адрес машинного слова равен адресу младшего байта, входящего в это слово.

байт байт байт байт байт
байт байт байт байт байт
байт байт

машинное слово длиной 16 бит

Объём оперативной памяти зависит от количества разрядов, отведённых под адрес. В настоящее время принята 32-разрядная адресация, а это означает, что всего независимых адресов может быть 2 32 . 2 32 =4294967296 байт. Объём оперативной памяти увеличивается из поколения в поколение. В современных компьютерах её объём достигает 2 Гбайт.

Рассмотрим физический принцип действия оперативной памяти. С этой точки зрения различают динамическую память (DRAM ) и статистическую память (SRAM ).

Характеристики
Что является ячейкой Недостатки Преимущества Где используется
Статистическая память Микроконденсатор, способный накапливать заряд на своих обкладках 1. Заряды ячеек рассеиваются в пространстве и их приходится всё время подзаряжать, чтобы не утратить данные. Процесс подзарядки называется регенерацией и осуществляется несколько десятков раз в секунду. При этом происходит непроизвольный расход ресурсов вычислительной системы. 2. Запись данных происходит медленно Это экономически доступный вид памяти и поэтому наиболее распространённый В основной оперативной памяти
Динамическая память Триггер, хранящий состояние включен/ выключен Технологически сложнее и дороже Более быстрая В кэш-памяти

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

Вышерассмотренное физическое устройство оперативной памяти определяет её третье свойство – энергозависимость . Так как и конденсаторы, и триггеры хранят информацию, закодированную с помощью электрического сигнала, следовательно, его отсутствие ведёт к потере информации. Это значит, что ОЗУ используется для временного хранения данных и программ, так как когда машина выключается (пропадает источник электрических сигналов), всё, что находилось в данной памяти, пропадает.

И, наконец, оперативную память конструктивно представляет собой набор микросхем, размещенных на одной небольшой плате (модуль, планка). Модули памяти представляют собой пластины с рядами контактов, на которых размещаются БИС памяти. Модули памяти могут различаться между собой по размеру и количеству контактов(SIMM или DIMM), быстродействию, информационной емкости и так далее. Важнейшей характеристикой модулей оперативной памяти является быстродействие , которое зависит от максимально возможной частоты операций записи или считывания информации их ячеек памяти. Модули вставляются в соответствующие разъёмы на материнской плате. Такая конструкция облегчает процесс замены или наращивания памяти. Количество модулей зависит от нужного вам объёма ОЗУ.

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

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

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

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

Для постоянного хранения информации используется постоянное запоминающее устройство , где хранятся данные, не требующие вмешательства пользователя и необходимые для корректной работы компьютера. Она включает в себя программы: запуска и остановки ЭВМ; тестирования устройств, проверяющие при каждом включении компьютера правильность работы его блоков; управления работой процессора, дисплеем, клавиатурой, принтером, внешней памятью. А также содержит информацию о месторасположении на диске операционной системы.

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

Постоянная память (ПЗУ, англ. ROM, Read Only Memory – память только для чтения) – энергонезависимая память, используется для хранения данных, которые никогда не потребуют изменения пользователем и необходимы для корректной работы компьютера.

К устройствам специальной памяти относятся постоянная память (ROM), перепрограммируемая постоянная память (Flash Memory), память СMOS RAM, питаемая от батарейки, видеопамять и некоторые другие виды памяти.

СMOS RAM – это память с невысоким быстродействием и минимальным энергопотреблением от батарейки, расположенная на материнской плате.

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

Перепрограммируемая постоянная память (Flash Memory) – энергонезависимая память, допускающая многократную перезапись своего содержимого.

Прежде всего в постоянную память записывают программу управления работой самого процессора. В ПЗУ находятся программы управления дисплеем, клавиатурой, принтером, внешней памятью, программы запуска и остановки компьютера, тестирования устройств.

Важнейшая микросхема постоянной памяти – модуль BIOS.

BIOS (Basiс Input/Output System – базовая система ввода–вывода) – совокупность программ, предназначенных для: тестирования устройств, загрузки операционной системы в оперативную память, управление устройствами компьютера.

Для хранения графической информации используется видеопамять.

Видеопамять (VRAM) – разновидность оперативного ЗУ, в котором хранятся закодированные изображения. Это ЗУ организовано так, что его содержимое доступно сразу двум устройствам – процессору и дисплею. Поэтому изображение на экране меняется одновременно с обновлением видеоданных в памяти.

Похожие публикации