Память это один из самих важных элементов персонального компьютера (ПК). Память ПК – это совокупность отдельных устройств которые запоминают, хранят, выдают информацию. Основные характеристики памяти – это емкость (объем) и быстродействие.
Быстродействие памяти – время обращения к ячейкам памяти, определяемое временем считывания и (или) временем записи информации. Измеряется в наносекундах.
Емкость памяти – это максимальное количество адресуемых ячеек, выраженное в байтах. Однако часто байт оказывается слишком малой, поэтому существуют более крупные единицы измерения:
Мегабайт -1024 кб
Терабайт – 1024 мб
Перабайт – 1024 тб
Эксабайт – 1024 пб
Зетабайт – 1024 эб
Иоттабайт – 1024 зб
Кроме устройств ввода/вывода информации компьютер также имеет внутреннюю и внешнюю память.
Внутренняя память — это электронное устройство, которое хранит информацию, пока питается электроэнергией, находится внутри материнской платы. Программа во время выполнения хранится в памяти компьютера.
Как ОЧИСТИТЬ ОПЕРАТИВНУЮ ПАМЯТЬ на Компьютере
Внешняя память — это различные магнитные носители (ленты, диски), оптические диски, флеш-накопители и др вне материнской платы. Сохранённая информация на них не требует постоянного электропитания.
Единицей хранения информации во внешней памяти является файл – последовательность байтов, записанная в устройство внешней памяти и имеющая имя. Обмен информации между оперативной памятью и внешней осуществляется файлами.
Жесткий диск (HDD) – устройство памяти (физический диск) или раздел винчестера (логический диск). Диск имеет имя и таблицу размещения файлов.
Внутренняя память компьютера делится на:
1. Оперативная память (ОП, ОЗУ) – это быстрое запоминающее устройство не очень большого объема, непосредственно связанное с процессором и предназначенное для записи, считывания и хранения выполняемых программ и данных, обрабатываемых этими программами.
2. Постоянная память (ПЗУ). ПЗУ содержат программы и данные, определяющие работу ПК после его включения. Содержимое ПЗУ изменить нельзя. Программы, находящиеся в ПЗУ, называют «зашитыми» — их записывают туда на этапе изготовления микросхемы. Наряду с ПЗУ используются полупостоянная энергонезависимая память, называемая ППЗУ, хранящая параметры конфигурации системы, она может быть изменена.
3. Кэш-память. Обмен данными внутри процессора происходит в несколько раз быстрее, чем обмен с другими устройствами, например с ОП. Для того чтобы уменьшить количество обращений к оперативной памяти, внутри процессора создают буферную область – так называемую кэш-память. Это как бы «сверхоперативная память».
4. Энергозависимая память CMOS.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Разные планки оперативной памяти. Можно ли совмещать в одном ПК?
1.3. Размещение данных и программ в памяти пэвм.
Данные и программы во время работы ПЭВМ размещаются в оперативной памяти, которая представляет собой последовательность пронумерованных ячеек. По указанному номеру процессор находит нужную ячейку, поэтому номер ячейки называется ее адресом. Минимальная адресованная ячейка (согласно стандарту IBM), с точки зрения программиста, состоит из 8 двоичных позиций, т.е. в каждую позицию могут быть записаны либо 0, либо 1. Объем информации, который помещается в одну двоичную позицию, называется бит. Объем информации равный 8 бит называется байтом.
Таким образом, в одной ячейке из 8 двоичных разрядов помещается объем информации в один байт. Поэтому объем памяти принято оценивать количеством байт (1024 Байт = 1 Килобайт, 1024 Килобайт = 1048576 Байт = 1 Мегабайт, 1024 Мегабайт = 1073741824 Байт = 1 Гигабайт,).
Для помещения данных в такие ячейки производится их запись с помощью нулей и единиц (кодирование). При кодировании каждый символ, допускаемый на клавиатуре, заменяется последовательностью из 8 двоичных разрядов в соответствии со стандартной кодовой таблицей. (т.е. один символ размещается в одном байте). Например, в соответствии с таблицей кодов ASCII D=(01000100); F=(00100110); 4=(00110100).
При кодировании чисел они предварительно преобразуются в двоичное представление. Например
2=1-2 1 +0-2°=102; 5=1-2 2 +0-2 1 +1-2°=1012; 256=1 •2 8 =1000000002.
Заметим, что с увеличением числа количество разрядов для его представления в двоичной системе резко возрастает. Поэтому для размещения большого числа выделяется несколько подряд расположенных однобайтных ячеек. В этом случае адресом такой расширенной ячейки является адрес первого байта. Один бит такой ячейки выделяется под знак числа. Числа, размещенные таким естественным образом, называются числами с фиксированной запятой, или просто целыми.
Для хранения дробных чисел, или слишком больших, их предваритель-
но приводят к нормализованному виду. Например, -35,6 = -0.356-10 , где — 356 — мантисса, +2 — порядок. После этого переводят порядок и мантиссу в двоичную систему. Такое число запоминается в комбинированной ячейке, один байт которой содержит порядок, несколько других содержат мантиссу. Числа, размещенные таким образом, называются числами с плавающей запятой или просто действительными.
Программа — это последовательность команд, которые помещаются в памяти и выполняются процессором в указанном порядке.
Команда размещается в комбинированной ячейке следующим образом. Первый байт содержит код операции (КОП), (например + или — или *), которую необходимо выполнить над содержимым ячеек памяти. В одной, двух или трех ячейках (операндах команды) по 2 или 4 байта содержатся адреса ячеек (А1, А2, А3 над которыми нужно выполнить указанную операцию. Номер первого байта команды называется ее адресом. Последовательность из этих команд называется программой в машинных кодах.
Источник: studfile.net
Организация памяти компьютера. Простейшие схемы управления памятью
Аннотация: В настоящей лекции рассматриваются простейшие способы управления памятью в ОС. Физическая память компьютера имеет иерархическую структуру. Программа представляет собой набор сегментов в логическом адресном пространстве. ОС осуществляет связывание логических и физических адресных пространств.
Введение
Главная задача компьютерной системы – выполнять программы. Программы вместе с данными, к которым они имеют доступ , в процессе выполнения должны (по крайней мере частично) находиться в оперативной памяти . Операционной системе приходится решать задачу распределения памяти между пользовательскими процессами и компонентами ОС. Эта деятельность называется управлением памятью. Таким образом, память ( storage , memory ) является важнейшим ресурсом, требующим тщательного управления. В недавнем прошлом память была самым дорогим ресурсом.
Часть ОС, которая отвечает за управление памятью , называется менеджером памяти.
Физическая организация памяти компьютера
Запоминающие устройства компьютера разделяют, как минимум, на два уровня: основную (главную, оперативную , физическую ) и вторичную (внешнюю) память.
Основная память представляет собой упорядоченный массив однобайтовых ячеек, каждая из которых имеет свой уникальный адрес (номер). Процессор извлекает команду из основной памяти , декодирует и выполняет ее. Для выполнения команды могут потребоваться обращения еще к нескольким ячейкам основной памяти . Обычно основная память изготавливается с применением полупроводниковых технологий и теряет свое содержимое при отключении питания.
Вторичную память (это главным образом диски) также можно рассматривать как одномерное линейное адресное пространство , состоящее из последовательности байтов. В отличие от оперативной памяти , она является энергонезависимой, имеет существенно большую емкость и используется в качестве расширения основной памяти .
Эту схему можно дополнить еще несколькими промежуточными уровнями, как показано на рис. 8.1. Разновидности памяти могут быть объединены в иерархию по убыванию времени доступа, возрастанию цены и увеличению емкости.
Рис. 8.1. Иерархия памяти
Многоуровневую схему используют следующим образом. Информация, которая находится в памяти верхнего уровня, обычно хранится также на уровнях с большими номерами. Если процессор не обнаруживает нужную информацию на i-м уровне, он начинает искать ее на следующих уровнях. Когда нужная информация найдена, она переносится в более быстрые уровни.
Локальность
Оказывается, при таком способе организации по мере снижения скорости доступа к уровню памяти снижается также и частота обращений к нему.
Ключевую роль здесь играет свойство реальных программ, в течение ограниченного отрезка времени способных работать с небольшим набором адресов памяти. Это эмпирически наблюдаемое свойство известно как принцип локальности или локализации обращений.
Свойство локальности (соседние в пространстве и времени объекты характеризуются похожими свойствами) присуще не только функционированию ОС, но и природе вообще. В случае ОС свойство локальности объяснимо, если учесть, как пишутся программы и как хранятся данные, то есть обычно в течение какого-то отрезка времени ограниченный фрагмент кода работает с ограниченным набором данных.
Эту часть кода и данных удается разместить в памяти с быстрым доступом. В результате реальное время доступа к памяти определяется временем доступа к верхним уровням, что и обусловливает эффективность использования иерархической схемы. Надо сказать, что описываемая организация вычислительной системы во многом имитирует деятельность человеческого мозга при переработке информации. Действительно, решая конкретную проблему, человек работает с небольшим объемом информации, храня не относящиеся к делу сведения в своей памяти или во внешней памяти (например, в книгах).
Кэш процессора обычно является частью аппаратуры, поэтому менеджер памяти ОС занимается распределением информации главным образом в основной и внешней памяти компьютера. В некоторых схемах потоки между оперативной и внешней памятью регулируются программистом (см. например, далее оверлейные структуры ), однако это связано с затратами времени программиста, так что подобную деятельность стараются возложить на ОС.
Адреса в основной памяти , характеризующие реальное расположение данных в физической памяти , называются физическими адресами. Набор физических адресов, с которым работает программа, называют физическим адресным пространством .
Логическая память
Аппаратная организация памяти в виде линейного набора ячеек не соответствует представлениям программиста о том, как организовано хранение программ и данных. Большинство программ представляет собой набор модулей, созданных независимо друг от друга. Иногда все модули, входящие в состав процесса, располагаются в памяти один за другим, образуя линейное пространство адресов. Однако чаще модули помещаются в разные области памяти и используются по-разному.
Схема управления памятью, поддерживающая этот взгляд пользователя на то, как хранятся программы и данные, называется сегментацией. Сегмент – область памяти определенного назначения, внутри которой поддерживается линейная адресация. Сегменты содержат процедуры, массивы, стек или скалярные величины , но обычно не содержат информацию смешанного типа.
По-видимому, вначале сегменты памяти появились в связи с необходимостью обобществления процессами фрагментов программного кода (текстовый редактор, тригонометрические библиотеки и т. д.), без чего каждый процесс должен был хранить в своем адресном пространстве дублирующую информацию. Эти отдельные участки памяти, хранящие информацию, которую система отображает в память нескольких процессов, получили название сегментов . Память, таким образом, перестала быть линейной и превратилась в двумерную. Адрес состоит из двух компонентов: номер сегмента , смещение внутри сегмента . Далее оказалось удобным размещать в разных сегментах различные компоненты процесса (код программы, данные, стек и т. д.). Попутно выяснилось, что можно контролировать характер работы с конкретным сегментом , приписав ему атрибуты, например права доступа или типы операций, которые разрешается производить с данными, хранящимися в сегменте .
Рис. 8.2. Расположение сегментов процессов в памяти компьютера
Некоторые сегменты , описывающие адресное пространство процесса, показаны на рис. 8.2. Более подробная информация о типах сегментов имеется в лекции 10.
Большинство современных ОС поддерживают сегментную организацию памяти. В некоторых архитектурах (Intel, например) сегментация поддерживается оборудованием.
Адреса, к которым обращается процесс, таким образом, отличаются от адресов, реально существующих в оперативной памяти . В каждом конкретном случае используемые программой адреса могут быть представлены различными способами. Например, адреса в исходных текстах обычно символические. Компилятор связывает эти символические адреса с перемещаемыми адресами (такими, как n байт от начала модуля). Подобный адрес, сгенерированный программой, обычно называют логическим (в системах с виртуальной памятью он часто называется виртуальным) адресом. Совокупность всех логических адресов называется логическим (виртуальным) адресным пространством .
Связывание адресов
Итак логические и физические адресные пространства ни по организации, ни по размеру не соответствуют друг другу. Максимальный размер логического адресного пространства обычно определяется разрядностью процессора (например, 2 32 ) и в современных системах значительно превышает размер физического адресного пространства . Следовательно, процессор и ОС должны быть способны отобразить ссылки в коде программы в реальные физические адреса, соответствующие текущему расположению программы в основной памяти . Такое отображение адресов называют трансляцией (привязкой) адреса или связыванием адресов (см. рис. 8.3).
Связывание логического адреса, порожденного оператором программы, с физическим должно быть осуществлено до начала выполнения оператора или в момент его выполнения. Таким образом, привязка инструкций и данных к памяти в принципе может быть сделана на следующих шагах [Silberschatz, 2002].
- Этап компиляции ( Compile time ). Когда на стадии компиляции известно точное место размещения процесса в памяти, тогда непосредственно генерируются физические адреса. При изменении стартового адреса программы необходимо перекомпилировать ее код. В качестве примера можно привести .com программы MS-DOS, которые связывают ее с физическими адресами на стадии компиляции.
- Этап загрузки ( Load time ). Если информация о размещении программы на стадии компиляции отсутствует, компилятор генерирует перемещаемый код. В этом случае окончательное связывание откладывается до момента загрузки. Если стартовый адрес меняется, нужно всего лишь перезагрузить код с учетом измененной величины.
- Этап выполнения ( Execution time ). Если процесс может быть перемещен во время выполнения из одной области памяти в другую, связывание откладывается до стадии выполнения. Здесь желательно наличие специализированного оборудования, например регистров перемещения. Их значение прибавляется к каждому адресу, сгенерированному процессом. Большинство современных ОС осуществляет трансляцию адресов на этапе выполнения, используя для этого специальный аппаратный механизм (см. лекцию 9).
Источник: intuit.ru