Флэш-память типа Boot Block служит для хранения обновляемых программ и данных в самых разных системах, включая сотовые телефоны, модемы, BIOS, системы управления автомобильными двигателями и многое другое. Используя флэш-память вместо EEPROM для хранения параметрических данных, разработчики добиваются снижения стоимости и повышения надежности своих систем.
Например, в разработках сотовых телефонов параметрические блоки флэш-памяти используются для хранения телефонных номеров, учета времени использования и идентификатора пользователя (SIM-карта). Производители автомобилей используют параметрические блоки флэш-памяти в системах управления двигателями для хранения кодов ошибок и параметров оптимальных режимов работы.
В каждом из подобных примеров изготовители экономят как на ненужной микросхеме EEPROM, так и на расходах, связанных с необходимостью содержания складского запаса «прошитых» разными программами EEPROM, используя флэш-память Boot Block Flash Memory не только для хранения прикладных программ, но и параметров. Загрузка кода в чистую память может производиться в составе готовой системы на финальной стадии изготовления изделия. Кроме того, за счет снижения числа комплектующих и внешних контактов достигается более высокая надежность автомобильных систем в целом. И, наконец, повышается объем хранимых параметров и частота их изменения.
Что такое динамическая память. Утечка памяти. Стек и куча. Статическая память. Обзорный урок #45
В настоящей статье обсуждается структура связных списков для хранения параметров в блочной флэш-памяти с применением схемы, эмулирующей перезапись байтов. Обзор основ флэш-памяти приводится для пояснения того, как используется флэш-память в системе, и описывает ограничения на реализацию схемы программирования. Основное внимание уделено передовой, в настоящий момент, технологии — SmartVoltage.
Основы технологии
Флэш-технология позволяет оснастить системную память уникальными свойствами. Подобно ОЗУ, флэш-память модифицируется электрически внутрисистемно, но подобно ПЗУ, флэш энергонезависима и хранит данные даже после отключения питания. Однако, в отличие от ОЗУ, флэш нельзя переписывать побайтно. Флэш-память читается и записывается байт за байтом и предъявляет новое требование: ее нужно стереть перед тем, как записывать новые данные.
Операции над флэш-памятью
Запись (программирование) флэш-памяти — это процесс замены «1» на «0». Стирание — это процесс замены «0» на «1», где флэш стирается блок за блоком. Блоки — это области с фиксированными адресами, как показано на карте 4Мbit Boot Block микросхемы.
Карта памяти Boot Block
Когда блок стирается, стираются параллельно все ячейки внутри блока, независимо от других блоков этого прибора флэш-памяти.
Микросхемы Flash Memory Boot Block должны выдерживать не менее 100 тысяч циклов стирания при напряжении питания VCC=5V. Цикл считается законченным, если 8КВ одного из параметрических блоков успешно запрограммировано и после этого стерто. Этот параметр очень важный, так как от него зависит то, какой объем данных можно хранить и как часто их можно обновлять.
Основы программирования / Урок #5 – Как работает память компьютера?
Поскольку флэш-память не допускает перезаписи отдельной ячейки без предварительного стирания всего блока памяти, то применяются программные методы эмуляции перезаписи байта с использованием двух 8КВ параметрических блоков, показанных на примере карты памяти.
Функционирование в системе
Кроме хранения параметрических данных, блочную флэш-память часто используют под хранение сменного кода программ. Часто в системах в заблокированном Boot-блоке хранится ядро кода, необходимого для инициализации системы и загрузки подпрограммы восстановления, на случай разрушения программы. В «бутовом» блоке обычно хранится также программа для программирования и стирания флэш-памяти. Так, флэш-память не допускает одновременное чтение ячейки с одним адресом и запись в ячейку с другим адресом в пределах одной микросхемы. Это означает, что любой код программы записи во флэш должен перегружаться в ОЗУ.
Воспользовавшись двумя параметрическими блоками флэш-памяти и программными методами, можно сохранять данные побайтно, а операцию стирания выполнять как фоновую задачу. Тем самым добиваются эмуляции перезаписи содержимого на байтной основе — схема программирования для эмуляции побайтной замены.
Структура параметрических данных
Структура данных в форме связных списков обеспечивает организацию данных, очень удобную для флэш-памяти. Например, предположим, что нужно сохранить 3 параметра, которые будут изменяться при условии, что каждый параметр хранится в виде записи. Каждая запись состоит из двух полей: Parameter_Value и Next_Record. В первом поле хранится значение параметра.
Второе поле — это указатель, содержащий адрес следующей записи для этого параметра. ParameterX — это переменный указатель, содержащий адрес первой записи для этого параметра, поэтому Parameter1 представляет адрес. В ячейке с этим адресом хранится адрес первой записи параметра Parameter1, которая содержит первое значение Parameter1 и адрес второй записи Parameter1.
Вторая запись содержит последнее значение этого параметра и адрес третьей записи, и т.д.. В последней записи в поле Next_Record содержится код FFh, указание на то, что записей больше нет. Код FFh выбран для указания, что записей больше нет, из-за того, что именно этот код представляет собой значение стертого байта флэш-памяти по умолчанию.
При каждом изменении параметров программа ищет первую доступную ячейку в параметрическом блоке, записывает новое значение в поле значения новой записи, а потом обновляет поле Next_Record в предыдущей записи. Итак, каждая запись содержит значение и указатель, или связь со следующей записью. Такие структуры данных хорошо известны программистам, и называются связными списками, пользуясь которыми система может быстро найти последнее значение данного параметра.
Пример структуры связного списка
Для простоты в примере использовано однобайтное поле для Parameter_Value и Next_Record. В действительности, для кодирования поля Next_Record потребуется как минимум два байта указателя на другую ячейку параметрического блока. Количество байтов, необходимых для кодирования поля Parameter_Value, зависит от специфики информации, хранимой в этом параметре.
Альтернативный подход к использованию связного списка состоит в применении поля parameter ID и поля статуса параметра, которое указывает, является ли текущая запись параметра самой поздней. В альтернативной схеме для того, чтобы получить последнее значение параметра, система считывает каждый параметр до тех пор, пока не найдет последнее значение данного параметра.
Запоминание параметров продолжается до тех пор, пока параметрический блок не заполнится или пока в параметрическом блоке хватает места для целой следующей записи. По достижении этой точки последние значения каждого параметра передаются во второй параметрический блок, а связный список продолжает формироваться во втором блоке параметров. Запись заголовка (Block_Header) в начале каждого параметрического блока показывает состояние блока. Состояние — это информация, например, о том, что параметрический блок активен, т.е. либо передает данные, либо стирается. Таким образом и осуществляются блочные передачи.
Стирание параметрического блока
После передачи действительных значений параметров из первого блока во второй, первый блок стирается. Вспомним, что стирание флэш-памяти занимает примерно 0,5s на каждый параметрический блок. Поскольку так много времени во время работы системы может не оказаться, во флэш-памяти используется команда приостановки стирания (Erase Suspend).
По этой команде операцию стирания можно приостановить, чтобы система смогла считать данные из другого блока данного прибора памяти. Когда команда Erase Suspend поступает в микросхему, операция стирания останавливается, а память входит в «подвешенное» состояние, и тогда можно прочесть данные из другого блока.
Когда снова будет можно стирать, команда Erase Resume прикажет прибору продолжить стирание с того места, где оно было прервано, что позволяет реализовать операцию стирания в пределах конечного программного цикла, используя несколько вызовов (Call). После полного стирания первого блока он снова готов к записи параметров, когда заполнится второй блок. Важно то, что никакие новые параметры нельзя записать, пока не закончится операция стирания блока. Текущие версии флэш-памяти Boot Block не допускают запись в моменты, когда стирание приостановлено.
Эмуляция побайтного обновления
Требования к системе
Как отмечено выше, для исполнения программы в моменты программирования и стирания флэш-памяти требуется ОЗУ. Необходимый объем ОЗУ зависит от сложности базы данных параметров. Программа, которая должна быть загружена в ОЗУ, включает подпрограммы чтения, записи и стирания флэш-памяти. Размер ее кода лежит в диапазоне от 512 байт до одного килобайта.
Кроме того, для хранения этой программы потребуется место внутри самой флэш-памяти. Образец программы занимает около 15KB, но только небольшая ее часть (около 1KB) выгружается в ОЗУ.
Другое системное требование — адекватное напряжение программирования (VPP) для записи и стирания. Большинство современных микросхем флэш-памяти требует подачи 12V для внутрисистемной записи и стирания. Например, микросхемы семейства SmartVoltage позволяют использовать напряжение 5 В для операций записи и стирания, если источник 12 В в системе отсутствует.
Кроме 12V и 5V SmartVoltage стандартов существует технология 3.3 В SmartVoltage — микросхемы Flash-памяти емкостью 4 Mбит, имеющие архитектуру Boot Block. Эти микросхемы дополняют существующий ряд и позволяют разработчикам оптимизировать производительность и энергопотребление запоминающих устройств, пользуясь только одним типом памяти. SmartVoltage — технология, соединяющая в себе свойства низкой потребляемой мощности, самого быстрого программирования и единственного напряжения питания в одном приборе. Архитектура Boot Block позволяет совместить функции ROM, Flash или EPROM и EEPROM памяти в одной микросхеме.
Данная память позволяет эффективно удовлетворить противоречивые требования к разработке изделия, используя напряжения программирования VPP уровней 5 В или 12 В, и VCC со значениями 3.3 В или 5 В в любой комбинации. Это позволяет оптимизировать время записи, выбирая напряжение VPP=l2 В, или цену устройства, выбрав единственное напряжение питания VСС=VPP=5 В. Данное семейство имеет самое низкое потребление энергии без потерь производительности. При потреблении 150 мВт на 6 Mгц, 3V-read режим на 40% более эффективен, чем 5V-only. Дополнительно, SmartVoltage Flash в 3V-read режиме обеспечивает доступ за 110 нс, что вдвое быстрее, чем лучшие 3V-EEPROM. Теперь же еще микросхемы имеют реконфигурируемую шину данных, поэтому их можно применять как с 16bit, так и с 8bit микропроцессорами.
Так, если соединить выводы VPP и VCC, то память предлагает самую высокую производительность при единственном напряжении питания. При питании от 5 В SmartVortage обеспечивает чтение данных за 60 нс, и запись за 13 мкс, что превосходит те же параметры у сопоставимых 5V-only изделий другой технологии. Кроме этого, 3.3 В SmartVoltage позволяет переходить от режима с единственным напряжением питания к более гибкому режиму 3V-read/5V-write в портативной аппаратуре без дополнительных затрат на сертификацию Flash-микросхем. Для максимальной скорости программирования в процессе производства, приборы SmartVoltage могу быть запрограммированы при VPP=12 В, что вдвое сокращает время записи и снижает затраты при изготовлении больших партий аппаратуры.
Так, «новые» микросхемы выпускаются в 44-выводных пластиковых корпусах (PSOP — Plastic Small Outline Package) и 48-выводных корпусах с уменьшенной толщиной (TSOP — Thin Small Outline Package), и имеют разводку выводов в соответствии со стандартом JEDEC, что позволяет разрабатывать платы, на которые можно установить микросхемы 2-8 Mбит. В настоящее время доступны микросхемы с типами упаковки, начиная «обычным» пластиковым вариантом двухстороннего расположения выводов (PDIP — Plastic Dual In-line Package) и заканчивая современным «масштабируемым» вариантом (SCP — Chip Scale Package), комбинируя для разных ситуаций степень упаковки, расстояние между выводами, габаритные размеры и, наконец, условия эксплуатации. Эти микросхемы имеют ту же проверенную длительной эксплуатацией технологию запоминающих матриц на транзисторах с плавающим затвором (технология ЕТОХ IV — EPROM Tunnel OXide), и поэтому имеют те же характеристики надежности и времени жизни, как и другие микросхемы Flash-памяти. Они предназначены для широкого круга применений, включая BIOS, сотовые телефоны, приводы жестких дисков, point-of-sale терминалы, а также блоки управления двигателем и другими автомобильными системами.
Интересным моментом является вопрос пропадания питания во время стирания или в процессе обновления значений параметров. С ситуацией исчезновения питания можно надежно справиться, добавив дополнительные поля как к параметрическим, так и к блочным записям.
Например, в дополнение к полям Parameter_Value и Next_Record, которые ввели для параметрической записи, можно установить поле статуса (Parameter_Status). Один бит поля состояния указывает, что обновление параметра началось, а другой бит — что обновление параметра завершилось. Таким образом, если питание исчезнет в процессе модификации параметра, то когда питание восстановится, можно узнать состояние каждого параметра. К примеру, если питание появилось, и видно по битам состояния, что обновление параметра начато, но не закончено, то отсюда следует, что запись испорчена и должна быть исправлена. Эту же концепцию можно применить в отношении записи Block_Status, чтобы обрабатывать ошибки при стирании, вследствие прерывания процесса стирания из-за отказа питания, либо из-за пересылки параметров между блоками.
В процессе инициализации определяется состояние параметрических блоков. Считав запись Block_Status, можно установить, какой блок активен и нужно ли стирать какой-нибудь другой блок. В момент первой инициализации параметрические блоки можно стереть и сформировать для них записи Block_Status.
Ранее обсуждалось, как читать и программировать флэш-память на побайтной основе. Флэш-память, в действительности, допускает программирование на уровне битов (или группы битов) за один раз. Надо помнить, что программирование флэш-памяти — это процесс замены логических «1» на «0». Одиночные биты можно запрограммировать путем маскирования остальных битов в байте или слове «единицами». Пользуясь такой удобной особенностью, можно минимизировать затраты памяти, отводимой под разные поля состояния.
Временная диаграмма работы
Динамический анализ работы системы необходим, чтобы определить длительность времени, необходимого для чтения параметров, выгрузки кода программы Write/Erase в ОЗУ, записи параметров, передачи параметров в новый блок и стирания параметрического блока.
Точные значения временных параметров зависят от особенностей реализации системы. Кроме задержек самого прибора, нужно также учитывать программные задержки.
Время, необходимое для чтения параметров, зависит от длины записи каждого параметра и количества параметров, которые придется считать, прежде чем будет найдена действительная запись этого параметра. Умножив число байтов или слов на длительность цикла чтения системы, можно рассчитать общее время чтения действительного параметра.
При выполнении каждой операции записи или стирания (Write/Erase) флэш-памяти, нужно перегрузить из нее в ОЗУ код программы, содержащий драйверы программирования и стирания. Время, необходимое для этой перегрузки кода в ОЗУ, зависит от объема кода (обычно 1 Kбайт или меньше). Умножив размер кода на длительность цикла записи, определим длительность загрузки кода в ОЗУ.
Для определения максимального времени, требующегося для записи параметра, необходимо воспользоваться временем записи слова или байта для наихудшего случая, приведенным в спецификации на ИС флэш-памяти. Умножив максимальное время записи слова на количество слов в записи параметра, можно узнать наихудшее время записи параметра.
Понятно, что время передачи действительных параметров из одного блока (параметрического) в другой зависит от количества хранимых параметров. Если эта операция выполняется как задача переднего плана, то на нее потребуется блок времени, состоящий из времени чтения действительных параметров и времени записи этих параметров в новый блок.
Эту операцию можно также рассматривать как часто выполняемую фоновую задачу. Для тех применений, где известна длительность выполнения основного программного цикла, операция передачи может выполняться исходя из наличного времени в пределах программного цикла, когда передача параметров начинается, а затем приостанавливается в моменты, когда время основного цикла подходит к концу. Может потребоваться несколько основных циклов для полной передачи всех параметров в новый блок флэш-памяти. Общее время выполнения задачи будет зависеть от ресурса времени, доступного в каждом цикле и от количества вызовов цикла, необходимого для завершения операции.
Как и в случае передачи параметров, стирание блока можно рассматривать как задачу переднего плана или как фоновую. В случае фоновой задачи, общее время стирания зависит от величины временного «окна» в рамках программного цикла. Число необходимых вызовов определяется путем деления общего времени стирания на длительность времени, доступного в пределах каждого цикла. Умножив число вызовов цикла на длительность цикла, получим полное время стирания параметрического блока.
Так, для микросхем флэш-памяти типа Boot Block в спецификации гарантируется не менее 100 тысяч циклов стирания. Как это влияет на хранение параметров (цикличность), легко рассчитать, воспользовавшись выражением:
100000 Cycles=[8KB-(Block_Record size)/Parameter_Record size]*number of Parameter_Record
Это уравнение можно решить как для искомого числа записей параметров, так и для длины поля Parameter_Record, в зависимости от того, что известно. По сравнению с EEPROM устойчивость флэш-памяти к ре-программированию значительно выше.
В настоящей статье были описаны основные моменты программных методов эмуляции побайтовой работы с использованием двух параметрических блоков флэш-памяти. Разработчики систем, используя для хранения параметров вместо EEPROM параметрические блоки микросхем Boot Block, могут снизить стоимость и повысить надежность своих систем. Так, уже давно осознали преимущества перехода от микросхем, стираемых целиком, к приборам, основанным на блочной архитектуре. Флэш-память типа Bulk Erase, изготавливаемая по устаревшей технологии, перестала модернизироваться и уже давно вытеснена более современными семействами.
Источник: www.ixbt.com
2. Внутренняя память, состав, назначение, характеристики.
Она состоит из оперативной и постоянной. Когда запускается программа, она копируется с внешней памяти во внутреннюю, а именно в оперативную. Из оперативной памяти программу и исходные данные берет процессор и в нее же записывает полученные результаты. При выключении компьютера программа и данные стираются.
В оперативной памяти хранятся программы, работающие в данный момент. При выключении содержимое оперативной памяти стирается. От емкости оперативной памяти зависит быстродействие компьютера и разнообразие программ, с которыми можно работать на данном компьютере.
Главной характеристикой ОП является емкость. Емкость может быть 256, 512 Мб.
Для ускорения доступа используется сверхбыстродействующие КЕШ – память, которая располагается между микропроцессором и оперативной памятью, и хранит копии наиболее часто используемых участков оперативной памяти. Время доступа к Кеш — памяти во много раз меньше, чем к оперативной. Объемы – 128, 256, 512 Кб. Начиная с Pentium II Кеш – память входит в основной состав.
В постоянной памяти хранятся данные, занесенные при ее изготовлении. Данные не могут быть изменены, их можно только считать. При выключении не стираются.
В постоянной памяти находятся:
— программы инициирования загрузки компьютера и др.
— программы проверки оборудования компьютера;
— программы управления основными устройствами;
11. Программное обеспечение персонального компьютера. Классификация программного обеспечения.
Под программным обеспечением понимается совокупность программ, выполняемых вычислительной системой.
К программному обеспечению относится также вся область деятельности по проектированию и разработке ПО.
— Технология проектирования программ;
— Методы тестирования программ;
— Методы доказательства правильности программ;
— Анализ качества работы программ;
— Разработка и использование программных средств, облегчающих процесс проектирования программного обеспечения, и многое другое.
Программное обеспечение – неотъемлемая часть компьютерной системы. Оно является логическим продолжением технических средств. Сфера применения конкретного компьютера определяется созданным для него ПО.
Сам по себе компьютер не обладает знаниями ни в одной области применения. Все эти знания сосредоточены в выполняемых на компьютерах программах. Программное обеспечение современных компьютеров включает миллионы программ – от игровых до научных.
Классификация ПО
Программы, работающие на компьютере, можно разделить на три категории:
— прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ: редактирование текстов, рисование картинок, обработка информационных массивов и т. д.;
— системные программы, выполняющие различные вспомогательные функции, например создание копии используемой информации, выдачу справочной информации о компьютера, проверку работоспособности устройств компьютера и т. д.;
— Вспомогательное ПО (инструментальные системы и утилиты)
Понятно, что грани между указанными тремя классами программ весьма условны, например, в состав программы системного характера может входить редактор текстов, т. е. программа прикладного характера.
Прикладное ПО. Для IBM PC разработаны и используются сотни тысяч различных прикладных программ для различных применений. Наиболее широко применяются программы:
1.подготовки текстов (документов) на компьютере – редакторы текстов;
2. подготовки документов типографского качества – издательские системы;
3. обработки табличных данных – табличные процессоры;
4. обработки массивов информации – системы управления базами данных.
Прикладная программа – это любая конкретная программа, способствующая решению какой-либо задачи в пределах данной проблемной области.
Наиболее часто используемые типы прикладных программ.
Графические редакторы
Системы деловой и научной графики позволяют наглядно представлять на экране различные данные и зависимости. Системы деловой графики дают возможность выводить на экран различные виды графиков и диаграмм ( гистограммы, круговые и секторные диаграммы и т.д. )
Системы управления базами данных (СУБД) позволяют управлять большими информационными массивами – базами данных.
Табличные процессоры обеспечивают работу с большими таблицами чисел.
Вспомогательные программы (утилиты)
К системным программам можно также отнести большое количество так называемых утилит, т.е. программ вспомогательного назначения. Ниже мы кратко опишем некоторые разновидности этих программ. Часто утилиты объединяются в комплексы, наиболее популярны комплексы Norton Utilities, PC ToolsDeluxe и Mace Utilities.
Программы — упаковщики позволяют за счет применения специальных методов «упаковки» информации сжимать информацию на дисках, т.е. создавать копии файлов меньшего размера, а также объединять копии нескольких файлов в один архивный файл. Применение программ – упаковщиков очень полезно при создании архива файлов, так как в большинстве случаев значительно удобнее хранить на дискетах, предварительно сжатые программами – упаковщиками . Следует заметить , что различные упаковщики не совместимы друг с другом – архивный файл , созданный одним упаковщиком , чаще всего нельзя прочесть другим.
Программы для создания резервных копий информации на дисках позволяют быстро скопировать информацию, имеющуюся на жестком диске компьютера, на дискеты или кассеты стримера.
Антивирусные программы предназначены для предотвращения заражения компьютерным вирусом и ликвидации последствий заражения вирусом.
Программы для диагностики компьютера позволяют проверить конфигурацию компьютера ( количество памяти, ее использование, типы дисков и так далее ), а также проверить работоспособность устройств компьютера ( прежде всего жестких дисков).
Программы динамического сжатия дисков позволяют увеличить количество информации, хранимой на дисках путем ее динамического сжатия. Эти программы сжимают информацию при записи на диск, а при чтении восстанавливают в ее исходном виде.
Программы для автономной печати позволяют распечатывать файлы на принтере параллельно с выполнением другой работы на компьютере.
Источник: studfile.net
В какой памяти хранятся программы
admin
26-02-2018 15:33
11 мин на чтение
9 901
Рубрики
Свежие записи
- Как найти скрытый майнер на Windows 10 и удалить его
- Как выбрать правильный конструктор для сайта
- Google Pixel 5 — смартфон, который стоит приобрести
- Какие разрешения наиболее популярны в игровых мониторах
- Обзор Apple MacBook Pro 13 дюймов (процессор M1): начало чего-то нового
- Как правильно выбрать активное сетевое оборудование
- Стоит ли собирать компьютер самостоятельно
Виды памяти компьютера – это именно тот вопрос, изучение которого начинающие пользователи часто откладывают “на потом”. А зря. Это очень мешает правильному пониманию функционирования системы в целом, а значит вам сложнее будет найти общий язык с вашим “железным другом”. Я уверена, что изучение программной части вашего компьютера необходимо начинать с хотя бы поверхностного взгляда в металлические дебри. Поэтому сегодня мы пообщаемся о памяти вообще: какая она бывает, как классифицируется и чем она от самой себя отличается.
Начнем с самого понятного. У нас, у людей то есть, тоже есть своя память, и она тоже неодинаковая. Понятно, что она бывает зрительной, тактильной, слуховой и пр., но сейчас мы немного не об этом. С точки зрения механизмов функционирования, память бывает оперативной и долговременной. У компьютера где-то приблизительно также.
Человеческая оперативная память включается, в ситуациях, когда запоминать информацию нужно ненадолго, например, чтобы что-то сделать и сразу забыть. Такая информация хранится в наших головах от 5 часов до трех месяцев. В железе все очень похоже. Компьютерная оперативная память называется RAM (Random Access Memory) и существует для хранения информации, которая может понадобиться процессору и работающим в данный момент программам. Информация может сохраняться в такой памяти до перезагрузки компьютера или до завершения работы конкретной программы.
Постоянная память – это “запомнил на всю жизнь”. Конечно, все случайно можно забыть, но и у компьютера жесткий диск может сломаться. Постоянная память хранит информацию, которая может пригодиться в любой момент на протяжении длинных промежутков времени или всей жизни вообще. Компьютерный аналог такой памяти – жесткий диск.
Он всегда намного большего, чем оперативная память объема, и всегда медленнее последней. Зато на нем можно сохранять огромнейшие объемы информации, практически не занимая полезное пространство в квартире. Как-то даже странно сравнивать, например, книжный шкаф с обычной флешкой.
Кроме распределения на постоянную и оперативную, память компьютера еще можно разделить на внутреннюю и внешнюю. Здесь все просто: все, что находится внутри системного блока – внутренняя память, все остальное, что мы покупаем отдельно, носим с собой и подключаем к разным системам (флешки, CD/ DVD диски, карты памяти и пр) – внешняя память. Об этом пойдет речь немного позже, а сегодня нас интересует, какая бывает внутренняя память компьютера, и все, что с ней может быть связано.
ROM – Read Only Memory
Ее содержимое называют BIOS. Но BIOS — это ближе к софту, сейчас мы немного не о том. Это самая постоянная память вашего компьютера. Она мало заметна внешне, но крайне важна для вашей системы. Именно она тестирует готовность всего вашего оборудования от мышки до процессора перед загрузкой ОС, запускает вашу систему, и затем передает управление Windows.
Там же есть программа управления работой самого процессора и также ряд инструкций, к которым может получать непосредственный доступ его величество ЦП, минуя остальные бюрократические инстанции. Содержимое этой памяти, естественно, сохраняется при выключении питания компьютера и его нельзя стереть или удалить обычным образом. Для этого понадобится перепрошивка, специальное программное обеспечение и немного смелости, если вы решитесь делать это впервые. Точнее, возможность редактирования данных в ПЗУ зависит от его типа.
- ROM – это ПЗУ с масочным программированием. Данные в таких микросхемах зашиваются намертво во время изготовления микросхемы и их никак не получится изменить. Вышедшую из строя микросхему остается только выбросить. Это не самый лучший вариант – решили пользователи и перестали покупать такие микросхемы.
- PROM или ППЗУ (Программируемое ПЗУ) – аналогично предыдущему за исключением методики производства. В этом варианте данные записываются программным способом тоже один раз. Сути это не изменило, поэтому такие микросхемы тоже ушли в небытие.
- EPROM или СПЗУ (Стираемое ПЗУ) – уже лучше. Здесь уже можно стереть или записать данные, но пока только при помощи УФ-излучения. В таком варианте оченно напрягала необходимость наличия специфического оборудования. Эти микросхемы тоже уже не производятся.
- EEPROM или ЭСППЗУ (Электрически стираемое ППЗУ или флэш-микросхема) – данные стираем и записываем без дополнительных устройств и даже без извлечения из компьютера сколько угодно раз.
В порядке дополнительных сведений, может быть интересным то, что в технической литературе можно встретить термин “встроенное ПО” (Программное Обеспечение). Это не совсем так, поскольку встроенное ПО, это не сама микросхема, а скорее, программное обеспечение, которое в ней хранится.
СMOS – полупостоянная память
Она питается от небольшой батарейки и имеет очень низкое энергопотребление. Там хранятся некоторые системные настройки, например, дата и время, которые, как вы заметили, не сбиваются даже после выключения компьютера из сети.
Кэш-память
Это память самого высокого уровня, в какой-то степени его можно считать разновидностью оперативной памяти. Он является дополнительным звеном или неким буфером между более медленными устройствами для считывания данных (например, оперативка или жесткий диск) и процессором, но при этом никак не увеличивает адресное пространство.
Он намного быстрее и дороже оперативной памяти и предназначен для хранения самой частоиспользуемой и нужной для процессора информации. Такая информация выбирается программным методом с помощью особого алгоритма и помещается в кэш, откуда ЦП будет ее брать в ближайшие такты своей работы. В первую очередь процессор обращается к кэшу, а уже потом, если нужная информация там отсутствует, наступает очередь оперативной памяти. Информация в кэше может храниться разного рода, например, там можно найти блоки обычных данных из основной памяти или какую-нибудь служебную информацию вроде, таблички текущего соответствия данных и адресов, по которым их можно найти в основной памяти. Кэш бывает трех уровней.
- L1 обычно живет в том же кристалле, что и ЦП. Он предназначен для хранения команд и данных обрабатываемых процессором в данный момент. Отличается тем, что доступ к ячейкам памяти осуществляется на тактовой частоте самого процессора, то есть почти без задержек. Производители изобретают для кэша разные чудеса — например, ассоциативнуя память, которая позволяет выбирать данные не по их адресам, а по содержимому. Почти индексируемый поиск в нашей ОС. Конечно, это существенно ускоряет работу системы.
- L2 или внешний кэш раньше монтировался в материнку возле ЦП. Теперь встраивается в процессор вместе с кэшем первого уровня. Объем его памяти значительно больше.
- L3 изредка можно найти на высокопроизводительных рабочих станциях, серверах и прочем мудреном оборудовании.
Характеристики кэша (если он есть) тоже обычно указаны рядом с процессором. Объемы кэша очень маленькие и в самом медленном варианте обычно достигают нескольких Мегабайт в лучшем случае. Если немножко подробнее, то процессор иногда вынужден делать пустые такты, чтобы дождаться поступления данных из гораздо более медленной оперативки. Именно в такой ситуации срабатывает кэш. Как-то так.
Регистры
У процессора тоже есть немножко супер-мега-гипер-производительной памяти. Иначе, ему было бы трудно помнить, что он делает в данный момент. Склероз, знаете ли, штука не из приятных. Если серьезно, то чаще всего в регистрах хранятся данные для арифметико-логического устройства ALU.
Управляются они непосредственно компилятором, отправляющим на процессор информацию для последующей обработки. Всем, кто не программист, это помнить вовсе не обязательно.
RAM – Оперативное запоминающее устройство
Та самая оперативка. Она сразу после включения компьютера собирает множество системных файлов с жесткого диска для процессора и программ, которые по мнению системы будут выполняться в данный момент. Чем больше программ у вас в автозагрузке, тем больше процессов запускается вместе с системой, тем больше памяти им нужно, и тем медленнее включается ваш компьютер.
Еще в ОЗУ хранятся данные, которые еще не были сохранены в постоянную память (на жесткий диск). Именно поэтому в момент аварийного выключения компьютера пропадает вся несохраненная информация. Чем больше объем оперативной памяти, тем больше полезной для процессора информации в ней может храниться, и тем шустрее работает вся ваша система в целом.
Информация в ОЗУ постоянно изменяется по мере необходимости – новая запоминается, старая записывается на жесткий диск и выбрасывается при необходимости. Если происходит переполнение ОЗУ, компьютер начинает довольно тормозить.
Частично помогает увеличение размеров файла подкачки, но, как правило, для Windows-систем это не панацея, тем более, что этот файл по умолчанию имеет динамический, то есть расширяемый при необходимости размер. Это значит, что изменение его размера «ручками» абсолютно бессмысленно.
В этот файл, автоматически создаваемый системой на жестком диске или так называемую виртуальную память происходит автоматический сброс из оперативной памяти самых редко используемых в данный момент данных, чтобы немного разгрузить ее. Процессору же намного легче работать с оперативной памятью, чем с жестким диском.
А для постоянного хранения информации оперативная память не подходит в силу своей дороговизны (сравните стоимость модуля оперативной памяти на 1 Гб с ценой жесткого диска емкостью, к примеру, несколько сотен ГБ), но главное – это ее энергозависимость. Информация в оперативной памяти хранится при непосредственном участии электричества и стирается в течении доли секунды после прекращения подачи питания в систему.
Если за эти доли секунды успеть снять дамп (скриншот ее содержимого), то можно довольно легко сломать даже самый сложный алгоритм шифрования. Это слабое место как платных, так и бесплатных программ-шифраторов информации. Ее важная характеристика – объем и скорость доступа. Понятно, что чем больше и то, и другое — тем лучше.
И один важный момент касательно объема: 32-битная система не увидит установленное в ней ОЗУ больше 3 с копейками Гб (если точнее). В 64-битных системах – и небо не предел.
Жесткий диск
Это постоянная энергонезависимая память вашей системы. Именно на жестком диске хранится вся операционная система вместе с пользовательскими данными. Редко, но бывает, что жесткий диск выходит из строя. В таком случае, восстановить систему и всю ту информацию, которая на нем хранилась, удастся только вашими молитвами.
Точнее, восстановление вполне может получиться как частично, так и полностью, но сама его возможность зависит от того, что именно и как сломалось в винчестере. Новичкам, скорее всего, понадобится помощь более опытных пользователей. Здесь станет очень уместным напоминание о регулярном резервном копировании важной для вас информации.
Понятно, что жесткие диски характеризуются своим объемом, но еще одна немаловажная характеристика – это скорость вращения. Жесткий диск – это круглый магнит, который в прямом смысле этого слова приклеивает к себе информацию.
Эту информацию считывают специальные неподвижные головки, которым жесткий диск вращаясь с определенной скоростью подставляет свои ячейки с хранящимися там необходимыми для чтения битами и байтами данных. Конечно, чем быстрее крутится жесткий диск, тем быстрее читается информация, тем быстрее копируются и вставляются файлы и пр. полезности. Одним словом, это полезный бонус для быстродействия вашего компьютера и комфорта работы. Если вы разберете старый хард, то все это хозяйство увидите собственными глазами. Если разберете новый, то тоже увидите, но восстановить сам диск или информацию, которая там хранилась не помогут даже молитвы.
Видеопамять
Это оперативная память, которая используется для мультимедийных нужд, а точнее – хранит изображение, выведенное в данный момент на экране вашего монитора.
Адресация памяти
В принципе – где-то в недалеком времени это станет темой для отдельной статьи, но раз уже зашел разговор о памяти… Вся память, какая бы она не была, состоит из устройства, на котором хранятся биты и байты информации и чего-нибудь, что умеет это читать. Это реализуется разными способами – информация или примагничивается (жесткий диск) к поверхности или хранится в динамической ОЗУ с помощью электричества (нет заряда – нолик, есть – единичка).
Можно взять тонкую пластинку из пластика и прожечь в ней лазером определенный узор (DVD-диск). 100 лет назад были перфокарты с отверстиями в определенных местах… В данном случае способ хранения не важен, а суть в том, что любой носитель делится на множество мельчайших ячеек, в каждой из которых может храниться один бит информации (нолик или единичка).
Это мельчайшая единица измерения информации, из которой в конечном итоге состоит и фильм, который вы смотрите, и музыка которую вы слушаете и все остальное, что есть в вашем компьютере. Те, в свою очередь, группируются в байты (по 8 штук). По этой причине производители “шутят” и продают вам жесткие диски емкостью на несколько десятков Гб меньше заявленной.
Вот вам и 1 Гб, в котором содержится 1024 байта, а не 1000, как думают производители. А теперь немножко математики. Каждая ячейка имеет собственный номер или адрес, по которому к ней может обратиться процессор или программа, которой понадобилось то, что лежит в данной ячейке.
Как раз 32-битная адресация в системах соответствующей архитектуры и делает невозможным наличие оперативной памяти больше 4 Гб (немножко памяти резервируется для жизненно необходимых потребностей). Кроме этого, есть еще разрядность процессора, которая определяет количество данных, которые могут обрабатываться одновременно.
32-битный процессор может одновременно работать с 4 байтами информации (1 байт = 8 бит), а 64-разрядный, соответственно осилит сразу 8 байт. Таким образом, 32-битный процессор с тактовой частотой 800 МГц произведет 800 млн операций в секунду (подсчет о-очень приблизительный), а память должна за ним успевать, чтобы не тратилось полезное время.
Пожалуй на этом можно было бы остановиться, но все-таки напоследок я напомню еще одну классификацию. Память можно разделять на виды еще и с точки зрения реакции на возможные ошибки. Память без контроля четности совсем не будет их проверять. Память с контролем четности на каждых 8 бит данных содержит 1 бит четности, предназначенный как раз для подобных проверок. ECC – сама может найти несколько ошибочных битов, а заодно и исправить одноразрядные ошибки.
Источник: pcradar.ru