Сегментно-страничная организация памяти. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Сегментно-страничная организация памяти.



При страничной организации памяти предполагается, что виртуальная память - непрерывный массив с единой нумерацией слов. Однако при написании программы удобно располагать несколькими независимыми частями (кода, данных, подпрограмм, стека и др.), их размеры, как правило, неизвестны. При программировании удобно, чтобы каждая из частей имела собственную нумерацию слов, отсчитываемых с нуля. Для этого организуют систему сегментированной памяти, выделяя в виртуальном пространстве независимые линейные пространства переменной длины, называемые сегментами. Каждый сегмент представляет собой отдельную логическую единицу информации, содержащую совокупность данных или программный код и расположенную в адресном пространстве пользователя. В каждом сегменте устанавливается собственная нумерация слов, начиная с нуля. Виртуальная память также разбивается на сегменты, с независимой адресацией слов внутри сегмента. Каждой составляющей программы выделяется сегмент памяти. Виртуальный адрес представляется состоящим из трех частей: <номер сегмента> <номер страницы> <номер слова>. В машине к виртуальному адресу может добавиться слева еще <номер задачи>. Таким образом, возникает определенная иерархия полей виртуального адреса, которой соответствует иерархия таблиц, с помощью которых виртуальный адрес переводится в физический. В сегментной таблице программы перечисляются все сегменты данной программы с указанием начальных адресов страничной таблицы, относящихся к каждому сегменту. Количество страничных таблиц равно числу сегментов и любая из них определяет расположение каждой из страниц сегмента в памяти, которые могут располагаться не подряд – часть страниц может находиться в ОП, остальные – во внешней памяти. В конкретных системах может отсутствовать тот или иной элемент иерархии.

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

Внешняя память

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

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

Магнитные диски

Информация в ЗУ на магнитных дисках (МД) хранится на плоских металлических (алюминиевых) или пластиковых пластинах (дисках) с магнитным покрытием. Диаметр дисков колеблется от 12 до 3 см и менее. Данные записываются и считываются с диска с помощью электромагнитной катушки, называемой головкой считывания/записи. Головка диска, поддерживаемая воздушной подушкой, записывает или считывает с соответствующего участка движущегося диска. При записи на головку подаются электрические импульсы, намагничивающие участок поверхности под ней, характер намагниченности поверхности различен в зависимости от направления тока в катушке. При считывании в катушке головки под воздействием перемещающегося относительно головки магнитного поля возникает электрический ток. Полярность наводимого в катушке тока аналогична полярности тока при записи. Для записи информации на носитель и ее считывания используются различные методы частотной или фазовой модуляции, позволяющие кодировать и декодировать двоичную информацию в соответствии с природой носителя информации. Контролер накопителя выполняет сборку и разборку блоков информации (секторов или целых треков), включая формирование и проверку контрольных кодов, осуществляет модуляцию и демодуляцию сигналов головки и управляет всеми механизмами накопителя. Несмотря на разнообразие типов магнитных дисков, принципы их организации обычно однотипны.

Информация на диске располагается на концентрических треках (дорожках), нумерация которых начинается с внешнего трека. На нулевой дорожке (нулевая дорожка самая длинная на диске, а, следовательно, самая надежная) находится управляющая информация о диске. Если нулевая дорожка будет испорчена, то диск работать не будет. Каждый трек разбит на секторы фиксированного размера. В начале каждого сектора находится управляющая информация, которая включает в себя адрес и признак нормального или дефектного сектора, а в конце за этой информацией - два байта с контрольными кодами для проверки правильности считывания информации. Контрольная информация записывается при записи в сектор данных, при считывании проверяется ее корректность с помощью специального алгоритма. Предполагается, что испорченная информация обычно составляет несколько байт на сектор, и эти биты можно восстановить, используя информацию из строки ECC. Структура сектора приведена на рис. 4.14. Общая длина каждого сектора составляет 571 байт, из которых 512 отводятся под данные. В некоторых моделях может быть и другой размер секторов, но они должны быть поддержаны BIOS вычислительной машины.

Контролеры современных накопителей представляют собой сложные устройства, построенные на основе микропроцессоров. В состав контроллера входят узлы, непосредственно связанные с обработкой и формированием сигналов, буферная память. Для контроля параметров работы накопителя некоторые диски используют технология SMART (Self - Monitoring Analysis and Reporting Technology), при которой на основании анализа количества оборотов диска, перемещения головок, периодического повреждения секторов и др. анализируется работа дисковода и в случае необходимости выдается сообщение о возможных неисправностях.

Для повышения надежности хранения данных применяется технология RAID (Redundant Array of Independent Disks – «избыточный массив независимых дисков»). В этом случае используются несколько жестких дисков, где по определенной технологии хранятся копии файлов, в некоторых таких системах предусмотрена горячая замена дисков, то есть замена без выключения компьютера. Такие системы используются в крупных организациях с повышенным требованием к надежности хранения.

Наиболее распространены два варианта этой технологии:

· зеркалирование дисков – информация записывается одновременно на два диска, тем самым создается копия данных, что повышает надежность хранения;

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

Оптическая память

В 1983 году была представлена первая цифровая аудиосистема на базе компакт-дисков – это явилось началом широкого развития технологии дешевых оптических запоминающих устройств для ВМ. В вычислительных машинах наиболее часто используются три различные системы: CD - ROM, WORM и стираемые оптические диски. 

CD - ROM  - это односторонний диск, изготавливаемый из пластмассы, он покрыт окрашенным слоем с высокой отражающей поверхностью (обычно алюминием). Цифровая информация заносится с помощью сильно сфокусированного луча лазера высокой интенсивности, при этом на диске появляются микроскопические углубления в отражающей поверхности. Данные располагаются последовательно по спиралевидной дорожке. Копии печатаются с так называемых мастер-дисков. Углубления на копии защищаются от пыли и повреждений путем покрытия поверхности прозрачным лаком.

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

Данные на попадания CD - ROM  организованы как последовательность блоков. Блок включает в себя поля:

· синхронизация (12 байт) идентифицирует начало блока, состоит из нулевого байта, десяти байтов, содержащих только единицы, нулевого байта;

· идентификатор (4 байта)–заголовок, содержащий адрес блока и байт режима (0-пустое поле, 1 – наличие 2048 байт данных, используется корректирующий ошибки код, 2 – наличие 2336 байт данных, коррекция ошибок отсутствует);

· данные пользователя (2048 байт);

· корректирующий код (288 байт) – в режиме 1 содержит 288 байт кода с исправлением ошибок, в режиме 2 – дополнительные данные.  

WORM – диски с однократной записью и многократным считыванием, используются для мелкосерийного производства оптических дисков, для архивного хранения документов и файлов. Пользователь может однократно записать информацию, а затем считывать ее многократно. Для обеспечения более быстрого доступа в устройстве поддерживается метод постоянной угловой скорости при относительном снижении емкости.

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

EOD – оптические диски со стиранием. Коммерчески выгодными являются только магнитооптические диски. Запись и стирание информации производится в них за счет реверсирования магнитных полюсов маленьких областей диска, покрытых магнитным материалом. Лазерный луч путем нагрева поверхности меняет ориентацию магнитных полюсов на облучаемом участке. При чтении по поляризации лазерного луча определяется направление магнитного поля.

Магнитные ленты

ЗУ на базе магнитных лент используется в основном для архивации информации. Носителем служит тонкая полистироловая лента шириной 0,38 – 2,54 см и толщиной около 0,025 мм, покрытая магнитным слоем. Данные записываются последовательно, байт за байтом, от начала ленты до ее конца.

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

Ленты наматываются на бобины различного диаметра. В универсальных ВМ обычно применяются бобинные устройства с вакуумными системами стабилизации скорости перемещения ленты. В них скорость перемещения ленты составляет около 300 см/с, плотность записи – 4Кбайт/ см, скорость передачи информации – 320Кбайт/с. Типовая бобина содержит 730 м магнитной ленты.


 

Глава 5 Язык Ассемблер

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

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

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



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 40; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.8.247 (0.01 с.)