Главная страница » Почему любую программу перед выполнением нужно загрузить в оперативную память

Почему любую программу перед выполнением нужно загрузить в оперативную память

  • автор:

3.5 Оперативная память (ram).

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

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

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

Модули памяти отличаются как по конструктивному исполнению (форм-фактор), так и по функциональному типу.

Форм-фактор — это стандарт, определяющий размеры модуля памяти, а также количество и расположение контактов. Существует несколько физически несовместимых форм-факторов памяти: SIMM (30 или 72 контактов, в настоящее время почти не используются), DIMM(168, 184, 200 или 240 контактов), SODIMM (72, 144, 168 или 200 контактов, уменьшенный размер), MicroDIMM (60 контактов, уменьшенный размер), RIMM (168, 184 или 242 контакта, для памяти типа Rambus).

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

Триггеры. Это ячейки, состоящие из 6-7 транзисторов каждая. Триггер способен удерживать состояние 0 или 1 неограниченно долго, пока на него подано напряжение питания.

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

В соответствии с используемыми типами ячеек, строятся различные функциональные типы памяти.

1) Статическая память SRAM (Static RAM) строится из триггеров это наиболее надежный, но и наиболее дорогой, громоздкий и энергоемкий тип памяти. Статическая память используется для построения кэш-памяти, буфера жесткого диска и для других наиболее ответственных узлов.

2) Динамическая память DRAM (Dynamic RAM) строится из емкостных ячеек. Однако ограничиться только емкостными ячейками нельзя – такая память сможет хранить данные только в течение долей секунды. Поэтому, необходимым элементом динамической памяти является буфер, состоящий из триггеров, а необходимым условием работы такой памяти — процесс регенерации, состоящий в постоянном автоматическом считывании в буфер данных из различных блоков емкостных ячеек и перезаписи этих данных обратно. Таким образом, в динамической памяти реализуется непрерывный процесс перезаписи данных через буфер, что и объясняет ее название.

Объем оперативной памяти, установленной в ПК – это одна из главных характеристик, определяющих производительность компьютера. Быстродействие компьютера зависит от объема оперативной памяти не меньше (а часто и больше!), чем от тактовой частоты процессора. Это объясняется тем, что современное программное обеспечение характеризуется большим объемом кода программ, а для эффективной работы компьютера необходимо, чтобы все выполняющиеся в данный момент программы и все данные к ним находились в оперативной памяти. Если выполняющаяся программа не помещается в оперативную память, сбоя не происходит – вся программа или ее часть выгружается на жесткий диск,- но работа компьютера при этом резко замедляется. Таким образом, объем оперативной памяти должен быть достаточным с точки зрения используемого программного обеспечения. Например, для офисного компьютера при использовании в основном программ пакета Microsoft Office (MS Word, MS Excel, MS Power Point, MS Access) под операционной системой Windows XP необходимо не менее 256 MB оперативной памяти. При использовании же компьютера в качестве графической станции, для видеомонтажа или для трехмерных игр потребуется уже не менее 1 GB памяти.

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

Еще одним важным параметром памяти является ее пиковое быстродействие (пропускная способность), т.е. максимальная скорость, с которой могут происходить операции чтения/записи данных. Эта величина определяется типом памяти, который, в свою очередь, определяется типом материнской платы. Пропускная способность обозначается количеством передаваемых в секунду бит, например, PC-4200 (4200 Mб/с), PC-6000 (6000 Mб/с).

Урок 6
Центральные устройства компьютера
§5. Процессор и память

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

2. Оцените, сколько миллиардов простых операций может выполнить за одну минуту процессор с тактовой частотой 1 ГГц.

3. Сравните оперативную и долговременную память, ответив на вопросы.

— Когда данные хранятся в оперативной памяти, а когда — в долговременной?
— Какой вид памяти имеет больший объём?
— Что происходит с данными при выключении компьютера?

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

5. Почему любую программу перед выполнением нужно загрузить в оперативную память?

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

7. Какие проблемы могут возникнуть, если в компьютере нет ПЗУ?

8. Что такое адрес ячейки памяти?

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

10. В чём заключается принцип открытой архитектуры?

11. Почему обмен данными осложнится, если из схемы на рис. 2.5 удалить контроллеры?

12. Что такое носитель данных? Какие носители вы можете назвать?

13. Какими устройствами внешней памяти вы пользовались? Каков их объём и какую примерно его часть вы использовали?

14. В группах по 3-4 человека предложите и затем обсудите в классе, какие команды вы бы предложили включить в список команд процессора.

15. Выполните по указанию учителя задания в рабочей тетради.

Подготовьте сообщение

а) «История развития микропроцессоров»
б) «Зачем нужно ПЗУ?»
в) «История развития долговременной памяти»
г) «Облачные хранилища данных — «за» и «против»»

Интересные сайты

Следующая страница Процессор

Cкачать материалы урока

Если данные не помещаются в память. Простейшие методы

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

Проблема в нехватке памяти. Если у вас 16 гигабайт ОЗУ, вы не сможете туда загрузить стогигабайтный файл. В какой-то момент у ОС закончится память, она не сможет выделить новую, и программа вылетит.

Что делать?

Ну, можете развернуть кластер Big Data, всего-то:

  • Найти кластер компьютеров.
  • За неделю его настроить.
  • Изучить новый API и переписать свой код.

Нам требуется простое и лёгкое решение: обрабатывать данные на одном компьютере, с минимальной настройкой и максимальным использованием уже подключенных библиотек. Почти всегда это возможно с помощью простейших методов, которые иногда называют «вычислениями вне памяти» (out-of-core computation).

В этой статье обсудим:

  • Зачем нам вообще нужна оперативная память.
  • Самый простой способ обработать данные, которые не помещаются в память — потратить немножко денег.
  • Три основных программных метода обработки чрезмерных объёмов данных: сжатие, разбиение на блоки и индексирование.

Зачем вообще нужна оперативная память?

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

Теоретически это может сработать. Но даже современные быстрые SSD работают намного, намного медленнее, чем RAM:

Самое простое решение: больше оперативной памяти

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

  • Купить Thinkpad M720 Tower с 6 ядрами и 64 ГБ оперативной памяти за $1074
  • Арендовать в облаке виртуальную машину с 64 ядрами и 432 ГБ оперативной памяти за $3,62/час

Потратить немного денег на аппаратное обеспечение, чтобы данные поместились в ОЗУ, — зачастую самое дешёвое решение. В конце концов, наше время дорого. Но иногда этого недостаточно.

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

Если покупка/аренда большого объёма RAM не решает проблему или невозможна, следующий шаг — оптимизировать само приложение, чтобы оно расходовало меньше памяти.

Техника № 1. Сжатие

Сжатие позволяет поместить те же данные в меньший объём памяти. Есть две формы сжатия:

  • Без потерь: после сжатия сохраняется в точности та же информация, что и в исходных данных.
  • С потерями: сохраняемые данные теряют некоторые детали, но в идеале это не сильно влияет на результаты расчёта.

Что нам нужно, так это сжатие представления данных в памяти.

Предположим, в ваших данных хранится только два возможных значения, и больше ничего: «AVAILABLE» и «UNAVAILABLE» . Вместо сохранения строк с 10 байтами или более на запись, вы можете сохранить их как логические значения True или False , которые кодируются просто одни байтом. Можете сжать информацию даже до одного бита, уменьшив расход памяти ещё в восемь раз.

Техника № 2. Разбиение на блоки, загрузка данных по одному блоку за раз

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

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

Но если книга не помещается в память, можно загрузить её постранично:

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

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

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

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

Если вам нужна только часть данных, вместо фрагментации лучше использовать индекс — выжимку данных, которая указывает на их реальное местоположение.

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

Или можете сразу открыть алфавитный индекс в конце книги — и найти слово «трубкозуб». Там указано, что упоминания слова есть на страницах 7, 19 и 120-123. Теперь можно прочитать эти страницы, и только их, что намного быстрее.

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

Самый простой метод индексирования

Самый простой и распространённый способ индексирования — именование файлов в каталоге:

Если вам нужны данные за март 2019 года, вы просто загружаете файл 2019-Mar.csv — нет необходимости загружать данные за февраль, июль или любой другой месяц.

Дальше: применение этих методов

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

Те же методы используются в различных программных пакетах и инструментах. На них построены даже высокопроизводительные системы Big Data: например, параллельная обработка отдельных фрагментов данных.

В следующих статьях рассмотрим, как применять эти методы в конкретных библиотеках и инструментах, в том числе NumPy и Pandas.

Для чего нужна оперативная память и как она работает

Плата оперативной памяти

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

Принцип работы оперативной памяти

Что такое оперативная память? Оперативная память (ОЗУ, RAM) — динамическое хранение временных данных ПК. Важно не путать ее с постоянной памятью — жестким диском или твердотельным накопителем SSD. Оперативная память — временное рабочее пространство, в котором выполняется обработка данных. Она обладает способностью считывать и записывать любой отдельный байт, когда устройства хранения информации (HDD или SSD) считывают и записывают много байтов одновременно.

Наиболее распространенный тип оперативной памяти — динамическая оперативная память (DRAM). Когда в паспорте компьютера указано 8 ГБ, это относится к DRAM. Высокоскоростная SRAM используется в качестве внутренней промежуточной области. Статическая оперативная память (SRAM, S-RAM) задействована в работе высокоскоростных регистров, кэшей и относительно небольших банков памяти, таких как буфер кадров на видеокарте.

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

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

Оперативная память ограничена. Если в ее хранилище информации больше дозволенного, ОЗУ начнет «забывать» все, что посчитает низкоприоритетным. Если недостаточно оперативной памяти, компьютер замедлится.

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

Информация между оперативной памятью и CPU передается посредством кэш-памяти. С ее помощью данные быстрее доставляются от RAM в регистры центрального процессора. Для выполнения процесса на материнской плате есть специальный контроллер, который находится в северном мосту. North Bridge (северный мост) — чипсет материнской платы, который отвечает за подключение CPU к высокопроизводительным шинам (RAM, графический контроллер).

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

Клуб DNS описал важные характеристики оперативной памяти, на которые следует обратить внимание при ее выборе:

  1. Частота (МГц)— величина, которая указывает на количество операций, которые устройство выполняет за промежуток времени (зависит от таймингов).
  2. Тайминги (например, 11–11–11–28) — внутренняя задержка, выраженная в тактах времени, по прошествии которого происходят чтения, записи, обработка, подача напряжения и прочие операции.
  3. Пропускная способность (MB/s или GB/s) — скорость работы памяти с данными.
  4. Емкость (ГБ) — объем хранилища ОЗУ.

Инфографика: что такое оперативная память и для чего она нужна?

Что такое оперативная память и для чего она нужна: NUR.KZ

Задачи оперативной памяти

Для чего нужна оперативная память в компьютере? Клуб DNS пишет, что ОЗУ обеспечивает быструю работу операционной системы, браузера, игр и других приложений за счет высокой скорости чтения данных в сравнении с HDD и SSD. При заполнении всего объема оперативной памяти компьютер начинает подвисать.

Когда не хватает оперативной памяти, во время игр или работы программ он начнет использовать файл подкачки жесткого диска для дополнительной ОЗУ. Это значительно ухудшает производительность, отчего происходят фризы, снижение FPS, подтормаживания. Авторы портала HowStuffWorks Джефф Тайсон и Крис Поллетт пишут, что количество RAM особенно важно, когда выполняете много графической работы или играете в требовательные игры.

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

ОЗУ необходима для операционной системы. Рекомендуемые минимальные требования такие:

  • для 32-разрядной Windows 10 — 1 ГБ;
  • для 64-разрядной Windows 10 — 2 ГБ;
  • для Windows 11 — 4 ГБ;
  • для MacOS 11 (Big Sur) — 4 ГБ.

Оперативная память

Оперативная память: PxHere

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

  1. 3D-рендеринг — одна из самых тяжелых категорий для оперативной памяти и компьютера в целом. Построение сложных трехмерных сцен в реальном времени задействует всю мощность компьютера. Основной удар возьмет на себя видеокарта во время финального рендеринга. Во время создания серьезного проекта оперативная память загружается множеством деталей. Для такой работы 16 ГБ ОЗУ будет слишком мало. Дизайнеры стремятся к 128 ГБ для комфортной работы.
  2. Обработка фотографий. Такие фоторедакторы, как Adobe Photoshop — сложные макеты, которые имеют в своем распоряжении множество инструментов. Всех их необходимо подгрузить для комфортной работы, а за это отвечает оперативная память.
  3. Видеомонтаж. Для монтажа видеороликов используют сложные программы, которые имеют тысячи инструментов, пресетов, плагинов. Рабочая область имеет несколько секторов, в которых находятся эффекты, предосмотровое окно, микшеры для звуковой дорожки и многое другое. Для монтажа видео в FullHD не всегда хватает даже 32 ГБ.
  4. Создание музыки. Для этого используют DAW — программы, в которых одновременно обрабатывают десятки звуковых дорожек. Каждый звуковой элемент пропускают через разные обработки, которые потребляют определенную часть ОЗУ. Есть и требовательные плагины, семплеры, эмуляторы синтезаторов, гитарных кабинетов. Все это потребляет ресурсы оперативной памяти.
  5. Игровые движки. Требуется немалое количество ОЗУ, чтобы создавать игры для ПК. В процессе создание задействуется 3D-моделирование, анимации, работа с текстурами и освещением, построение виртуальных сцен, программирование.
  6. Сервера. Здесь оперативная память играет важную роль.
  7. САПР и CAD — системы автоматизированного проектирования, которые предназначены для инженеров. Крайне требовательны к ОЗУ.

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

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

Узнавайте обо всем первыми

Подпишитесь и узнавайте о свежих новостях Казахстана, фото, видео и других эксклюзивах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *