Алгоритм решения задачи, представленный в виде некоторого набора машинных команд и набора данных к задаче, записывается в специальное устройство запоминания — оперативное запоминающее устройство (ОЗУ). Объем оперативной памяти и время обращения к ней являются важнейшими характеристиками ЭВМ. Дело в том, что от объема ОЗУ зависит размер программы, т.е. объем задания, который вкладывается априори в ЭВМ. Естественно, чем больше ОЗУ, тем более сложные задачи может решить ЭВМ и тем больший объем исходной информации она может обрабатывать.
Единицей информации является 1 бит (объем информации, содержащейся в одном двоичном разряде). Если Вы звоните по телефону другу и хотите узнать, дома ли он, то, услышав его голос, Вы получите 1 бит информации, так как из двух возможных вариантов (друг дома; друга нет дома) реализовался один.
Однако 1 бит — это малый объем, поэтому современные ЭВМ параллельно обрабатывают целый набор двоичных разрядов, называемый «машинное слово».
В современной вычислительной технике широко используется такое понятие, как байт — 8 двоичных разрядов. Размер машинного слова обычно составляет величину, кратную 2 в степени n: один, два, четыре байта и т.д.
Когда речь идет об объеме памяти, то используется величина К, равная 210, т.е. 1024. Объем ОЗУ современных микроЭВМ составляет от единиц мегабайт до 256 и более Мбайт. Время обращения к ОЗУ — это время, затрачиваемое на выдачу одного слова из памяти (отчасти определяющее быстродействие ЭВМ). Обычно, время обращения микроЭВМ к оперативной памяти составляет от 0,01 до 0,1 мксек.
Каждая ячейка памяти (байт) имеет индивидуальный номер — адрес. Нумерация начинается с 0. Рассматриваемая машина имеет 16-разрядное слово, состоящие из двух байт. Следовательно, объем прямо доступной памяти составит 216= 64 кб, или 32 кслова. Адреса, относящиеся к оперативной памяти, носят название абсолютных адресов, в данном случае объем адресного пространства составляет 64 кб.
Выше упоминалось, что желательно иметь большой объем памяти. Однако здесь возникает техническое противоречие: энергонезависимая быстродействующая память оказывается дорогой и занимает относительно большой физический объем. Минимальным объемом и достаточным быстродействием обладает динамическая память(рисунок 1),но для ее работы требуется постоянное питание.
Входной сигнал (0 или 1) запоминается на емкости, которая разряжается через эммитерный повторитель, имеющий высокое входное сопротивление.
Вход
Выход |
Рисунок 1
Однако при интегральном исполнении величина емкости составляет пикофарады, а время хранения информации — мсек. Поэтому требуется режим регенерации, при котором сигнал с выхода ячейки регулярно записывается на вход. При отключении питания или режима регенерации содержимое ячейки теряется, что является крупным недостатком динамической памяти.
Память, не требующая регенерации, может быть реализована на триггерах, такая память может иметь большее быстродействие, но она дороже.
Существующие различные варианты энергонезависимой памяти можно разбить на два класса:
ПЗУ— постоянное запоминающее устройство
ППЗУ— перепрограммируемое запоминающее устройство.
Принципиальное различие между ними состоит в том, что в ПЗУ информация заносится единственный раз и в дальнейшем ее изменить невозможно. В ППЗУ имеется возможность (различными способами в зависимости от конструкции) записать новую информацию.
Важно запомнить, что в области абсолютных адресов, т.е. тех ячеек, в которых хранятся готовые к исполнению команды и данные (один из принципов машины фон Неймана), могут находиться конструктивно различные банки (разделы) памяти. (Не надо путать функциональное понятие ОЗУ с его технической реализацией!)
Оперативная память компьютера IBM PC с процессором Intel-8086(8088) может иметь размер не более 1 Мбайта, поскольку эти процессоры могут обращаться не более чем к 1 Мбайту памяти. Эта память состоит из двух частей. Первые 640 Кбайт памяти могут использоваться прикладными программами и операционной системой. Остальные адреса памяти («верхняя память») зарезервированы для служебных целей:
Для хранения части операционной системы, которая обеспечивает тестирование компьютера, начальную загрузку операционной системы, а также выполнения низкоуровневых услуг ввода-вывода;
Для передачи изображения на экран;
Для хранения различных расширений операционной системы, которые поставляются вместе с дополнительными устройствами компьютера.
Как правило, когда говорят об объеме оперативной памяти компьютера, то имеют в виду именно первую ее часть, которая может использоваться прикладными программами и операционной системой.
Барьер 640 Кбайт. Как было сказано выше, у IBM PC с процессором Intel-8086(8088) оперативная память, доступная для операционной системы и прикладных программ, составляет не более 640 Кбайт. В начале 80-х годов, когда разрабатывался компьютер IBM PC, возможность работы с 640 Кбайтами была большим шагом вперед: остальные компьютеры тогда могли работать только с 64 Кбайтами памяти. Но очень скоро выяснилось, что для многих программ 640 Кбайт мало (к тому же из этих 640 Кбайт до 100 Кбайт могут занимать DOS и различные системные программы – драйверы устройств и резидентные программы). Эта проблема была разрешена, когда для использования с IBM PC были разработаны расширенная (extended) и дополнительная (expanded) памяти.
Дополнительная память. Для преодоления «барьера 640 Кбайт» в начале 80-х годов некоторые фирмы-производители оборудования для компьютеров стали выпускать платы расширения памяти (memory extension cards), содержащие дополнительные боки памяти. Доступ к этой дополнительной памяти (expanded memory) осуществляется через специальную программу – драйвер управления дополнительной памятью (expanded memory manager, EMM). Для обеспечения совместимости этих программ фирмами Lotus, Intel и Microsoft был разработан стандарт – спецификация дополнительной памяти (expanded memory specification, EMS).
Многие программы могут использовать дополнительную память, установленную на компьютере. При этом они могут обрабатывать большие объемы информации значительно быстрее, так как им не приходится производить операции ввода-вывода с диском для подкачки этой информации.
Расширенная память. Другая возможность увеличения размера доступной программам оперативной памяти появилась в 1982 году, когда фирма Intel стала выпускать процессоры Intel-80286. Эти и последующие процессоры обеспечивают совместимость с Intel-8088, но могут также непосредственно работать с оперативной памятью большего размера, чем 1 Мбайт. В режиме совместимости с Intel-8088, этот режим называется реальным (real mode), программам, как и на IBM PC XT, доступны только 640 Кбайт памяти. Но эти процессоры имеют и другие режимы работы – защищенный (protected mode) и виртуальный 8086 (virtual 8086 mode – только для процессоров 80386 и 80486) . В защищенном режиме процессоры 80286, 80386SX и 80486SX могут непосредственно обращаться к 16 Мбайтам, а 80386 и 80486 – к 4 Гбайтам. Часть оперативной памяти в компьютерах с этими процессорами сверх первого мегабайта в реальном режиме называется расширенной памятью (extended memory).
Долгое время расширенную память компьютера можно было использовать только для размещения «электронного диска» (драйвер VDISK.SYS) или кэш-буфера для диска (программы типа IBMCACHE). Дело в том, что операционная система DOS работает в обычном режиме процессора, поэтому для доступа к расширенной оперативной памяти необходимо переключаться из обычного в защищенный режим работы процессора и обратно, что не так-то просто. Однако в середине 80-х годов были разработаны драйверы расширенной памяти (например, HIMEM.SYS) и стандарт по работе с расширенной памятью (XMS), которые предоставили удобные средства для использования расширенной памяти программам, работающим в обычном режиме процессора. Наиболее современные средства такого типа, например менеджер памяти QEMM / 386, позволяют использовать расширенную память и как расширенную, и как и дополнительную, автоматически обеспечивая тот тип взаимодействия с памятью, который нужен выполняемым прикладным программам.
Системная память
Системная память в рассматриваемой машине предназначена для хранения системных команд, т.е. минимального набора инструкций, необходимых для того, чтобы процессор мог произвести минимальное тестирование оборудования на предмет проверки его исправности и комплектации, выйти на связь с оператором или ввести Абсолютный загрузчик. Абсолютный загрузчик — это программа, предназначенная для загрузки в машину исполняемых программ (загрузочных модулей), в том числе и операционной системы. Адресное пространство системной памяти не входит в область абсолютных адресов, и программисту эта память недоступна.
Виртуальная память
Если мы имеем 16-разрядное слово, то объем прямо адресуемой памяти составляет 216 байт, или 64Кб. Однако со временем такой объем стал недостаточным для сложных программ. Реальный объем стал увеличиваться, и возникла задача организовать доступ к памяти, лежащей за пределом адресного пространства, доступного заданному размеру машинного слова. Для решения этой задачи используется ряд подходов.
Самый простой состоит в том, что память строится банками (конструктивные разделы памяти) или страницами (логические разделы) и с помощью некоторого аппаратного или программного переключателя выбирается нужный 64Кб. раздел (рисунок 2). Физический адрес команды или операнда будет определяться по формуле:
Афиз.= Апрог.+Nстр.?Z,
где Z — размер страницы в байтах.
Для организации расширенной памяти используется дополнительная физическая память, дополнительные разряды в адресной шине и некоторая программная система, управляющая аппаратным переключателем. Общий объем памяти при 16-разрядном переключателе может достигать очень большого размера: 6464К Кб. Этот подход легко реализуется и на аппаратном и на программном уровнях, но он не позволяет отдельной программе выделить объем больше 64Кб без дополнительного аппаратно-программного механизма.
Под виртуальной памятью будем понимать память, построенную аппаратно-программными средствами.
Рисунок 2
При дефиците оперативной памяти виртуальная память может использовать дисковое пространство, динамически считывая с диска необходимый фрагмент выполняемой программы или, наоборот, удаляя не используемую в данный момент часть программы в специальную область на жестком диске, которая называется областью свопинга (swap space).
Этот процесс называется Свопинг (swapping) — временное хранение активной задачи на жестком диске.
Виртуальная организация памяти позволяет существенно увеличить объем доступной программам памяти (реально — до десятков Гбайт).
Важно понимать, что идея виртуальной памяти — в том смысле, который используется сейчас — позволяет расширить адресное пространство или просто заменить оперативную память более медленной и дешевой дисковой, причем это будет происходить «прозрачно» от прикладной программы.
Иерархия памяти
Часто при обсуждении вопросов, связанных с памятью ЭВМ, упоминается выражение «иерархия памяти». О чем при этом идет речь?
Требования, предъявляемые к памяти ЦВМ, весьма разнообразны и противоречивы — мы хотим иметь память:
большого объема хранящейся информации,
с высоким быстродействием,
низкой стоимости,
малого физического объема,
энергонезависимую.
Реально в настоящее время невозможно создать память, одновременно отвечающую всем этим требованиям. Поэтому память строится в виде некоторой иерархической системы, причем главным критерием служит простота и время обращения к ней. На самом верху иерархической лестницы расположена сверхоперативная память — регистры процессора. Обращение к ним самое быстрое, т.к. они входят в состав процессора (рисунок 3). Но количество их невелико — от одного аккумулятора (в простейших процессорах) до 128 (например, в процессоре Terminator-6).
Объем, время обращения
1-128 слов, нсек.
32б — 2Мгб, нсек.
0-512Мгб, ~10нсек.
8Кб — 4Гб, ~ 40нсек.
120Кб- 180Гб
Рисунок 3
Если последнее — дисковые накопители, то скорость чтения max составляет десятки Мб/c. Объем каждый год увеличивается примерно в два раза.
Следующий уровень — внутренний КЭШ. Это память без произвольного доступа, работа с ней происходит на аппаратной уровне. В ней хранятся наиболее часто используемые данные и команды. Время доступа к ней примерно в 5-10 раз меньше, чем к ОЗУ.
Конструктивно в корпусе процессора сложно разместить КЭШ большой емкости, поэтому используется внешний КЭШ. В современных процессорах Кэш-память делится на КЭШ данных и КЭШ команд, связана с процессором двумя отдельными шинами, что позволяет считывать одновременно команду и два операнда.
Оперативная память.
В компьютерах используются три вида памяти: оперативная, постоянная, и память на внешних носителях.
Оперативная память (ОП). Оперативная память предназначена для хранения переменной информации, так как допускает изменения своего содержимого в ходе выполнения микропроцессором вычислительных операций. Она обеспечивает режимы записи, считывания и хранения информации. Так как в любой момент времени доступ может осуществляется к произвольно выбранной ячейки памяти, то этот вид памяти называется также памятью с произвольной выборкой — RAM (Random Access Memory). Для построения запоминающего устройства типа RAM используют микросхемы статической и динамической памяти. Кэш–память также можно отнести к одной из разновидностей оперативной памяти.
Постоянная память. Постоянная память это такая память, содержимое которой не меняется в ходе выполнения процессором операции. Она имеет название ROM — (Read Only Memory) и обеспечивает только режим считывания и хранение информации. Она сохраняет информацию и после отключения питания, т.е. она энергонезависима.Все микросхемы постоянной памяти по способу занесения в них информации (программирования) делятся на однократно программируемые изготовителем масочные (ROM), однократно программируемые пользователем (Programmable ROM — PROM) и многократно программируемые пользователем (Erasable PROM — EPROM). Последние в свою очередь подразделяются на стираемые электрически и с помощью ультрафиолетового облучения. К элементам EPROM с электрически стираемой информации относятся и микросхемы флэш-памяти (Flash). От обычной EPROM они отличаются большей скоростью доступа и быстрым стиранием записанной информации.Память на внешних носителях. Этот вид памяти обычно реализуется на магнитных или оптических носителях.Практически любой IBM PC совместимый компьютер оснащен ОП, выполненной на микросхемах динамического типа с произвольной выборкой (DRAM- Dynamic Random Access Memory). Каждый бит такой памяти представляется в виде наличия (или отсутствия) заряда на конденсаторе, образованным в структуре полупроводникового кристалла.Другой вид ОП статический (SRAM — Static RAM) — в качестве элементов ячейки памяти используется так называемый статический триггер.
Если для реализации одного запоминающего элемента динамической памяти требуется 1-2 транзистора, то для статической их число больше — до 4-6. Статическая память обладает большой производительностью, быстродействием и используется в самых «узких» местах, например для организации кэш-памяти.
Статьи к прочтению:
- Запомните двенадцать путей и
- Запрещается отгрузка таких полутуш клиентам. данные полутуши отгружать строго на чмпз.
Устройство памяти компьютера
Похожие статьи:
-
Запоминающие устройства: классификация, принцип работы, основные характеристики
2.3.1. Параметры и основные характеристики запоминающих устройств Информация в ПК хранится в электронной памяти. Запоминающие устройства (ЗУ) ЭВМ – это…
-
Постоянные запоминающие устройства (пзу)
ПЗУ — это такое функциональное цифровое устройство, которое имеет n входов (обычно называемых адресными или шиной адреса (ША)), m информационных выходов…