Взаимодействие разных видов памяти
Память
Как мы уже знаем, процессор способен выполнять программу, но её команды хранятся в памяти. Таким образом, память — это другое устройство, без которого вычислительный автомат не может быть построен. Кроме того, память одновременно используется (что не менее важно) и для хранения обрабатываемых данных.
Память — это устройство компьютера, которое используется для записи, хранения и выдачи по запросу команд программы и данных.
Существует большое количество видов памяти, которые различаются по устройству, организации, функциям и т. д. Обычно выделяют внутреннюю и внешнюю память. Термины эти имеют историческое происхождение, связанное с конструкцией первых ЭВМ: одна часть памяти находилась внутри главного шкафа (в котором размещался процессор), а другая — вне его.
Современные компьютеры, конечно, выглядят совсем по-другому, из-за чего названия утратили свою прежнюю наглядность. Тем не менее деление памяти на два типа по-прежнему сохраняется. Различие между ними кроется, прежде всего, в назначении. Внутренняя память предназначена для хранения программ и данных, которые используются для задач, решаемых в данный момент. А внешняя память служит для того, чтобы сохранить данные на длительный срок, пока они не потребуются, именно поэтому её ещё часто называют долговременной.
Внутренняя память
Внутренняя память— часть памяти компьютера, которая используется для хранения программ и данных во время решения задачи.
Часто её называют основной памятью. В состав внутренней памяти входят ОЗУ (оперативное запоминающее устройство) и ПЗУ (постоянное запоминающее устройство).
Внутренняя память строится в соответствии с базовыми принципами, описанными ранее в § 32. Основное отличие внутренней памяти от внешней — произвольный доступ к отдельным ячейкам памяти по их адресам (обращение к внешней памяти происходит иначе, см. далее).
Информация, хранящаяся в ОЗУ, считается временной (оперативной), поэтому пользователь должен сам сохранять необходимые данные во внешней памяти.
Часто говорят, что при выключении питания информация в ОЗУ пропадает. Строго говоря, это не совсем правильно, поскольку существуют элементы памяти, способные сохранять свое состояние даже после отключения питания. Однако при повторном включении (или перезагрузке) компьютера программное обеспечение не способно восстановить, где и какая информация находилась «в прошлый раз». Именно поэтому, если при наборе текста перезагрузить компьютер, работу придётся повторять заново.
Внутренняя память может быть построена на основе самых разных технологий.
Существуют два типа оперативной памяти, отличающиеся по технологии изготовления, — статическая и динамическая. Первая строится на триггерах, а вторая — на полупроводниковых конденсаторах. Конденсатор намного проще и меньше триггера, так что на одном и том же кристалле можно сделать гораздо больше запоминающих элементов динамического типа, чем статического. Поэтому динамическая память имеет большую ёмкость и меньшую стоимость, чем статическая. К сожалению, у неё есть очень существенный недостаток: она работает намного медленнее статической. Сейчас в персональных компьютерах используется динамическая оперативная память.
Что касается ПЗУ, то технологии их изготовления также постепенно совершенствовались. Первоначально информация в ПЗУ заносилась только на заводе. Затем появились программируемые ПЗУ, которые потребитель мог заполнить сам, поместив «чистую» («пустую») микросхему в специальное устройство — программатор. В некоторых микросхемах этого типа в качестве запоминающих элементов использовали тонкие токопроводящие перемычки. Наличие перемычки означало единицу. Программатор мощными импульсами тока пережигал нужные перемычки, тем самым устанавливая биты в нулевое состояние1. Очевидно, что процесс записи информации таким способом был необратимым.
Позднее появились перепрограммируемые ПЗУ, в которых очистка информации сначала производилась ультрафиолетовыми лучами, а затем — с помощью электрических импульсов. Современные перепрограммируемые ПЗУ используют флэш-память. Каждый элемент такой памяти изготовлен на основе особой разновидности транзисторов, так что это тоже полупроводниковая память. Изменить содержимое такого ПЗУ можно даже без программатора, запустив специальную программу.
Как правило, компьютер содержит микросхему ПЗУ, в которой записано встроенное программное обеспечение — набор программ, обеспечивающих проверку аппаратуры, начальную загрузку компьютера и обмен данными с некоторыми устройствами (клавиатурой, монитором, дисками). В компьютерах семейства IBM PC такое программное обеспечение называется BIOS (англ. Basic Input/Output System — базовая система ввода/вывода).
В IBM-совместимых компьютерах есть ещё один особый вид памяти — память конфигурации (CMOS-память). В ней хранятся разнообразные настройки аппаратного обеспечения, а также часы и календарь, благодаря которым компьютер всегда «знает» текущую дату и время. Данные сохраняются благодаря питанию от небольшой батарейки. CMOS-память — это особая память, которая не входит в адресное пространство внутренней памяти. Поэтому к ней невозможно обратиться просто по адресу, и в этом смысле она скорее похожа на внешнюю память. Для работы с памятью конфигурации в ПЗУ современного ПК предусмотрена специальная программа (она называется BIOS Setup), причём работать с ней пользователь может только до загрузки операционной системы (при включении компьютера).
Внешняя память
— часть памяти компьютера, которая используется для долговременного хранения программ и данных.
Этот вид памяти позволяет повторно использовать программы и данные. Благодаря этому текст достаточно набрать один раз, а цифровые фотографии можно рассматривать в течение многих лет.
Устройства внешней памяти часто называют накопителями. К ним относятся, например, накопители на магнитных и оптических дисках, а также современные внешние запоминающие устройства на основе полупроводниковой флэш-памяти.
Внешняя память любого типа состоит из некоторого носителя информации (например, диска или полупроводникового кристалла) и электронной схемы управления (контроллера).
Компьютерный носитель информации — это средство длительного хранения данных в компьютерном формате. Носитель может быть съёмным (как в накопителях на оптических дисках), а может быть помещён внутрь неразборного устройства (жёсткий магнитный диск — «винчестер»).
Магнитные и оптические диски для обеспечения доступа к любому блоку данных быстро вращаются, а читающая головка перемещается вдоль радиуса диска. В более современных видах внешней памяти, где носителем информации является полупроводниковый кристалл, никаких движущихся частей нет, а для чтения и записи данных используются только электрические импульсы (аналогично ОЗУ).
В переносных устройствах внешней памяти, например, во внешних жёстких дисках и флэш-накопителях, носитель и схема управления объединены в единый блок. Такие устройства подключаются к компьютеру снаружи через разъём.
Центральный процессор не может непосредственно обращаться к данным на носителе, он работает с ними через контроллер внешней памяти. На рисунке схематично показано, как читаются данные с внешнего носителя информации и записываются в ОЗУ1.
Для связи с контроллером процессор использует порты — регистры контроллера, к которым процессор может обратиться по номеру. Процессор передаёт контроллеру «задание» на передачу данных, и контроллер берёт руководство процессом на себя. В это время центральный процессор может параллельно выполнять программу дальше или решать другую задачу. Таким образом, выполнить чтение (и запись) данных из внешней памяти гораздо сложнее, чем из внутренней памяти.
Для внешней памяти характерны следующие черты:
• обменом данными управляют контроллеры;
• прежде чем процессор сможет непосредственно использовать программу или данные, хранящиеся во внешней памяти, их нужно предварительно загрузить в ОЗУ;
• данные располагаются блоками (на дисках их принято называть секторами); блок данных читается и пишется как единое целое, что существенно ускоряет процедуру обмена; работать с частью блока невозможно.
На магнитных дисках биты данных хранятся в виде небольших намагниченных (или ненамагниченных) областей. Секторы размещаются на концентрических окружностях (имеющих общий центр), которые называются дорожками. Поскольку длина дорожки зависит от положения на диске, количество секторов на дорожках может быть разным. Доступ к секторам диска — произвольный, максимальная скорость достигается тогда, когда читаемые или записываемые секторы располагаются подряд.
Управление такой сложной системой очень трудоёмко — поэтому, как нам уже известно из истории вычислительной техники, появление магнитных дисков вызвало создание специального ПО для работы с ними — операционных систем (ОС). ОС берёт на себя все технические детали, предоставляя пользователю работу с некоторыми наборами данных — файлами. Таким образом, начиная с дисковых накопителей, наличие файловой системы — это характерная черта внешней памяти, которая существенно отличает её от внутренней.
Следующей технологией хранения данных стали оптические компакт-диски, CD (англ. Compact Disk). При записи данных (одним из способов) луч лазера «выжигает» на поверхности диска дорожку, в которой чередуются впадины и возвышения. При считывании также применяется луч лазера, только меньшей интенсивности, чтобы не разрушить данные. Для распознавания нулей и единиц используется различное отражение от перепадов глубины и ровной поверхности диска. В отличие от магнитных дисков, где информация хранится на отдельных замкнутых дорожках, данные на оптическом диске записываются вдоль непрерывной спирали, как на старых грампластинках1.
Сейчас широко используются оптические диски следующих поколений: DVD (англ. Digital Versatile Disk — цифровой многоцелевой диск, ёмкость до 17 Гбайт) и Blu-ray-диски (ёмкостью до 500 Гбайт). Они имеют тот же диаметр, что и CD-диски, но для повышения плотности записи используют лазер с меньшей длиной волны.
Отметим, что на всех видах дисков есть разметка на секторы, благодаря которой контроллер может быстро находить нужную информацию. Сами данные помещаются между «заголовком» сектора и его завершающей записью.
Наконец, последнее достижение в области устройств внешней памяти — запоминающие устройства на базе флэш-памяти. В них нет движущихся частей, а носителем информации служит полупроводниковый кристалл. Данные во флэш-памяти обновляются только блоками, но для устройств внешней памяти это вполне естественно. Максимальное количество перезаписей данных для каждого блока хотя и велико, но всё же ограничено. Поэтому встроенный контроллер при записи использует специальный алгоритм для выбора свободных блоков, стараясь загружать секторы диска как можно более равномерно.
Кроме широко распространённых флэш- дисков (сленговое название — «флэшки») этот вид памяти используется в картах памяти (рис. 5.18) для фотоаппаратов, плееров и мобильных телефонов, а также в твёрдотельных винчестерах SSD (англ. Solid State Disk). Напомним, что ПЗУ также может изготовляться на базе флэш-памяти.
Взаимодействие разных видов памяти
Итак, мы познакомились с разными видами внутренней и внешней памяти. Осталось разобраться, как они взаимодействуют между собой.
Иерархия памяти. Кэширование. Невозможно создать память, которая имела бы одновременно большой объём и высокое быстродействие. Поэтому используют многоуровневую (иерархическую) систему из нескольких типов памяти. Как правило, чем больший объём имеет память, тем медленнее она работает.
Самая быстрая (и очень небольшая) память — это регистры процессора. Гораздо больше по объёму, но заметно медленнее внутренняя память (ОЗУ и ПЗУ). Далее следует огромная, но ещё более медленная внешняя память. Наконец, последний уровень — это данные, которые можно получить из компьютерных сетей.
Для редактирования файла, расположенного на диске (внешняя память), программа обработки загружает его в ОЗУ (внутренняя память), а конкретные символы, с которыми в данные доли секунды работает процессор, «поднимаются» по иерархии выше — в регистры процессора.
Производительность компьютера в первую очередь зависит от «верхних» уровней памяти — процессорной памяти и ОЗУ. Быстродействие процессоров значительно выше, чем скорость работы ОЗУ, поэтому процессору приходится ждать, пока до него дойдут данные из оперативной памяти. Чтобы улучшить ситуацию, между процессором и ОЗУ добавляют ещё один слой памяти, который называют кэш-памятью, или кэшем (от англ, cache — тайник, прятать).
Кэш-память— это память, ускоряющая работу другого (более медленного) типа памяти, за счёт сохранения прочитанных данных на случай повторного обращения к ним.
Кэш-память — это статическая память небольшого объёма, которая работает значительно быстрее динамического ОЗУ. В ней нет собственных адресов, она работает не по фон-неймановскому принципу адресности.
При чтении из ОЗУ процессор обращается к контроллеру кэш-памяти, который хранит список всех ячеек ОЗУ, копии которых находятся в кэше. Если требуемый адрес уже есть в этом списке, то запрашивать ОЗУ не нужно и контроллер передаёт процессору значение, связанное (ассоциированное) с этим адресом (рисунок). Такой принцип организации памяти называется ассоциативным.
Если нужных данных нет в кэш-памяти, они читаются из ОЗУ, но одновременно попадают и в кэш — при следующем обращении их уже не нужно читать из ОЗУ.
Обычно в кэш-память заносится содержимое не только запрошенной ячейки, но и ближайших к ней (эта стрелка на рис. 5.20 показана более толстой). Таким образом, в кэше хранятся копии часто используемых ячеек ОЗУ, и передача этих данных в процессор происходит быстрее.
В работе кэш-памяти есть две основные трудности. Во-первых, объём кэша намного меньше объёма ОЗУ, и он быстро заполняется — приходится заменять наиболее «ненужные» (например, редко используемые) данные. Во-вторых, если считанные из кэш-памяти данные обрабатываются процессором и сохраняются в ОЗУ, нужно обновлять и содержимое кэша. Обе эти задачи решает контроллер кэш-памяти. Несмотря на трудности, кэширование во многих случаях повышает скорость выполнения программы в несколько раз.
Сама кэш-память также строится по многоуровневой схеме: в современных процессорах есть, по крайней мере, 2-3 уровня.
Некоторые из них входят в состав процессора, а остальные выполнены в виде отдельных микросхем (поэтому на схеме многоуровневой памяти на рис. 5.19 кэш только частично расположен внутри процессора). Кэш для программ и для данных изготовляется раздельно. Это удобно потому, что считываемую программу, в отличие от данных, не принято изменять, поэтому кэш команд можно делать проще.
Подчеркнём, что термин «кэширование» в вычислительной технике имеет довольно широкий смысл: речь идёт о сохранении информации в более быстродействующей памяти с целью повторного использования. Например, браузер кэширует файлы, полученные из Интернета, сохраняя их на жёстком диске в специальной папке. В накопителе на жёстком диске также используется кэширование. Таким образом, кэш может быть организован как с помощью аппаратных средств (кэш процессора), так и программно (кэш браузера).
Виртуальная память.
Современные операционные системы используют идею виртуальной памяти. Предполагается, что компьютер обладает максимально допустимым объёмом памяти, с которым может работать процессор, а реально установленное ОЗУ — лишь некоторая часть этого пространства. Оставшаяся часть размещается в специальном системном файле или отдельном разделе жёсткого диска. Если ёмкости ОЗУ не хватает для очередной задачи, система копирует «наименее нужную» (дольше всего не использовавшуюся) часть ОЗУ на диск, освобождая необходимый объём памяти. Когда, наоборот, потребуются данные с диска, они будут возвращены в освобожденное таким же образом место ОЗУ (и это совсем не обязательно будет то самое первоначальное место!).
При использовании виртуальной памяти выполнение программ замедляется, но зато они могут выполняться на компьютере с недостаточным объёмом ОЗУ. В этом случае установка дополнительного ОЗУ может повысить быстродействие во много раз.
Использование виртуальной памяти ещё раз подтверждает, что деление памяти на внутреннюю и внешнюю память — это искусственная мера. Она вызвана тем, что невозможно создать идеальную память, удовлетворяющую всем требованиям сразу.
Основные характеристики памяти
Для пользователя важны, прежде всего, объём памяти, её быстродействие и стоимость.
Информационная ёмкость— это максимально возможный объём данных, который может сохранить данное устройство памяти.
Ёмкость памяти измеряется в тех же самых единицах, что и объём информации, т. е. в битах, байтах и производных единицах (чаще всего — в мегабайтах или гигабайтах).
Для дисков часто говорят о форматированной и неформатированной ёмкости. Первая величина — это объём «полезной» памяти, а вторая включает ещё и ту область диска, которую занимает служебная разметка.
Для оценки быстродействия памяти используют несколько величин. Любая операция обмена данными включает не только саму передачу данных, но и подготовительную часть. Это может быть, например, поиск нужного сектора диска или установка адреса внутри микросхемы ОЗУ. Время подготовки соизмеримо со временем передачи, так что пренебрегать им нельзя. Общее время обмена данными от начала подготовки до окончания передачи называют временем доступа.
Время доступа— интервал времени от момента посылки запроса информации до момента получения результата на шине данных.
При измерении этой величины обычно рассматривают самый сложный случай, когда данные считываются или записываются в случайных местах памяти. На практике байты или секторы часто читаются по порядку, поэтому время ввода или вывода уменьшается.
Для ОЗУ время доступа измеряется в наносекундах (1 нс = 10-9 с), а для жёстких дисков — в миллисекундах (1 мс = 10-3 с). Такая разница связана с тем, что дисковод должен сначала переместить считывающую головку в нужное положение.
Поскольку устройства внешней памяти работают с целыми блоками данных, для их характеристики требуется дополнительный показатель.
Средняя скорость передачи данных— это количество передаваемых за единицу времени данных после непосредственного начала операции чтения (т. е. без учёта подготовительной стадии).
Эта характеристика обычно измеряется в мегабайтах в секунду (Мбайт/с).
Для дисковых накопителей часто указывают частоту вращения (в оборотах в минуту). Чем быстрее вращается диск, тем выше может быть скорость считывания и записи.
Для оценки стоимости памяти используют отношение стоимости модуля памяти к его информационной ёмкости. Часто говорят о стоимости одного бита или стоимости одного гигабайта.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|