Сделай Сам Свою Работу на 5

Взаимодействие разных видов памяти





Память

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

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

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

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



Внутренняя память

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

Часто её называют основной памятью. В состав внутренней памяти входят ОЗУ (оперативное запоминающее устройство) и ПЗУ (постоянное запоминающее устройство).

Внутренняя память строится в соответствии с базовыми прин­ципами, описанными ранее в § 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 Все материалы защищены законодательством РФ.