
Федеральное агентство по образованию
Государственное Образовательное Учреждение
Высшего Профессионального Образования
«Тверской Государственный Технический Университет»
Лабороторная работа №2
Принципы построения и технологии изготовления запоминающих устройств.
Памятью ЭВМ называется совокупность устройств, служащих для запоминания, хранения и выдачи информации. Отдельные устройства, входящие в эту совокупность, называют запоминающими устройствами или памятями того или иного типа.
Оба эти термина в настоящее время стали почти синонимами. Однако термин “запоминающее устройство” (ЗУ) обычно употребляют, когда речь идет о принципе построения некоторого устройства памяти (например, полупроводниковые ЗУ, ЗУ на магнитных дисках и т.д.), а термин “память”—когда хотят подчеркнуть выполняемую устройством памяти логическую функцию или место расположения в составе оборудования ЭВМ (например, оперативная память, внешняя память и т.д.).
Производительность и вычислительные возможности ЭВМ в значительной степени определяются составом и характеристиками ее ЗУ. В составе ЭВМ используется одновременно несколько типов ЗУ (несколько типов памятей), отличающихся принципом действия, характеристиками и назначением.
Устройство электронных запоминающих устройств основано на принципах хранения и использования информации посредством электрических зарядов. К электронным запоминающим устройствам относятся различные виды микросхем памяти. Микросхемы памяти представляют устройства, выполненные, по технологии микросхемных производств и делятся на микросхемы способные хранить информацию: пока имеется в наличии питающее напряжение и без дополнительной поддержки питающим напряжением. Также, различают устройства, дающие возможность считывать и записывать информацию в динамическом режиме
– динамическая память (из них формируется оперативная память компьютера – ОЗУ – Оперативное Запоминающие устройство) и, позволяющее без специальной аппаратуры лишь считывать записанную информацию. ОЗУ также называют оперативной памятью или просто памятью компьютера. Как правило, электронные запоминающие устройства оформляются в виде микроустройств, микросхем и их наборов. Более крупные интегрированные блоки электронных накопителей информации организуются в виде наборов микросхем памяти, расположенных на одной печатной монтажной плате или в виде расширенных устройств, состоящих из наборов плат с микросхемами памяти и схем управления и регенерации. К важным функциональным характеристикам микросхем памяти, также относят объем запоминаемой информации отделенной микросхемой или набором микросхем, скорость чтения/записи и возможность параллельного, сквозного, чтения/записи.
Отдельную группу микросхем памяти составляют микросхемы кеш-памяти, используемые для организации памяти для внешних Кешей центральных процессоров и процессоров. Технологии производства электронных запоминающих устройств постоянно
совершенствуются и развиваются.
Основными операциями в памяти в общем случае являются занесение информации в память — запись и выборка информации из памяти — считывание. Обе эти операции называются обращением к памяти, или, подробнее, обращением при считывании и обращением при записи.
При обращении к памяти производится считывание или запись некоторой единицы данных — различной для устройств разного типа. Такой единицей может быть, например, байт, машинное слово или блок данных.
Важнейшими характеристиками отдельных устройств памяти (запоминающих устройств) являются емкость памяти и быстродействие. Емкость памяти определяется максимальным количеством данных, которые могут в ней храниться. Емкость измеряется в двоичных единицах (битах), машинных словах, но большей частью в байтах (1 байт=8 бит), при этом часто емкость памяти выражают через число К= 1024: Кбит (килобит), Кслов (кило-слов) или Кбайт (килобайт), при этом 1024 Кбайт обозначают как 1 Мбайт (мегабайт). Быстродействие памяти определяется продолжительностью операции обращения, т. е. временем, затрачиваемым на поиск нужной единицы информации в памяти и на ее считывание (время обращения при считывании), или временем на поиск места в памяти, предназначаемого для хранения данной единицы информации, и на ее запись в память (время обращения при записи). В некоторых устройствах памяти считывание информации сопровождается ее разрушением (стиранием). В таком случае цикл обращения должен содержать операцию восстановления (регенерации) считанной информации на прежнем месте в памяти.
В зависимости от реализуемых в памяти операций обращения различают:
а) память с произвольным обращением (возможны считывание и запись данных в память) - RAM; б) память только для считывания информации (“постоянная” или “односторонняя”) - ROM.
Запись информации в постоянную память производится в процессе ее изготовления или настройки.
По способу организации доступа различают устройства памяти:
с непосредственным (произвольным) доступом;
с прямым (циклическим) доступом;
с последовательным доступом.
В памяти с непосредственным (произвольным) доступом время доступа, а поэтому и цикл обращения не зависят от места расположения участка памяти, с которого производится считывание или в который записывается информация. В большинстве случаев непосредственный доступ реализуется при помощи электронных (полупроводниковых) ЗУ. Число разрядов, считываемых или записываемых в памяти с непосредственным доступом параллельно во времени за одну операцию обращения, называется шириной выборки. В двух других типах памяти используются более медленные электромеханические процессы. В устройствах памяти с прямым доступом, к которым относятся дисковые устройства, благодаря непрерывному вращению носителя информации возможность обращения к некоторому участку носителя для считывания или записи циклически повторяется. В памяти с последовательным доступом производится последовательный просмотр участков носителя информации, пока нужный участок носителя не займет некоторое исходное положение. Характерным примером является ЗУ на магнитных лентах. Время доступа может в неблагоприятных случаях расположения информации достигать нескольких минут. Запоминающие устройства различаются также по выполняемым в ЭВМ функциям, зависящим в частности, от места расположения ЗУ в структуре ЭВМ.
Понятие адресного пространства.
Алгоритмы распределения, использования, освобождения ресурсов и предоставления к ним доступа предназначены для наиболее эффективной организации работы всего комплекса устройств ЭВМ. Рассмотрим их на примере управления основной памятью.
Для выполнения программы при ее загрузке в основную память ей выделяется часть машинных ресурсов - они необходимы для размещения команд, данных, управляющих таблиц и областей ввода-вывода, т.е. производится трансляция адресного пространства откомпилированной программы в местоположение в реальной памяти.
Выделение ресурсов может быть осуществлено самим программистом (особенно если он работает на языке, близком машинному), но может производиться и операционной системой.
Если выделение ресурсов производится перед выполнением программы, такой процесс называется статическим перемещением, в результате которого программа “привязывается” к определенному месту в памяти вычислительной машины. Если же ресурсы выделяются в процессе выполнения программы, это называется динамическим перемещением, в этом случае программа не привязана к определенному месту в реальной памяти. Динамический режим можно реализовать только с помощью операционной системы.
При статическом перемещении может встретиться два случая. 1. Реальная память больше требуемого адресного пространства программы. В этом случае загрузка программы в реальную память производится, начиная с 0-го адреса (рис.4.2).
Рис.1. Загрузка программы в реальную память (объем реальной памяти больше адресного пространства программы)
Загружаемая программа А является абсолютной программой, так как никакого изменения адресов в адресном пространстве, подготовленном компилятором, при загрузке в основную память не происходит - программа располагается с 0-го адреса реальной памяти.
2. Реальная память меньше требуемого адресного пространства программы (рис2).
Рис.2. Загрузка программы в реальную память (объем реальной памяти меньше адресного пространства программы)
В этом случае программист (или операционная система) вынужден решать проблему, как организовать выполнение программы. Методов решения проблемы существует несколько: можно создать оверлейную структуру (т.е. разбить программу на части, вызываемые в ОП по мере необходимости), сделать модули программы реентерабельными (т.е. допускающими одновременную работу модуля по нескольким обращениям из разных частей программы или из различных программ) и т.д.
Рис. 3. Фрагментация реальной памяти
В некоторых операционных системах адреса откомпилированной (с 0 адреса) программы могут быть преобразованы в адреса реальной памяти, отличные от 0. При этом создается абсолютный модуль, который требует размещения его в памяти всегда с одного и того же адреса.
При мультипрограммном режиме, если имеем программы А, В и С, для которых известно, что программа А выполняется при размещении в памяти с адреса 60 Кбайт до 90 Кбайт, В - с 60 Кбайт до 90 Кбайт, С - с 50 Кбайт до 120 Кбайт, организовать их совместное выполнение невозможно, так как им необходим один и тот же участок реальной памяти. Эти программы будут ждать друг друга либо их нужно заново редактировать с другого адреса.
При работе в мультипрограммном режиме может сложиться ситуация, когда между программами образуются незанятые участки памяти. На рис.4.4
Рис.4. Размещение программы в свободной части ОП
общий объем незанятой памяти, составляющий 50 Кбайт, достаточен, чтобы загрузить и программу D, находящуюся в ожидании. Но ее не удается загрузить так как свободные участки памяти не являются смежными. Такое состояние называется фрагментацией реальной памяти. Оно характерно для систем со статическим перемещением.
В системах с динамическим перемещением программ перемещающий загрузчик размещает программу в свободной части памяти (рис.4) и допускает использование несмежных ее участков.
В этом случае имеется больше возможностей для организации мультипрограммной работы, а следовательно, и для более эффективного использования временных ресурсов ЭВМ.
К основным способам логической организации памяти относятся адресная, ассоциативная и стековая организации.
В случае адресной организации размещение и поиск информации в ЗМ основаны на использовании адреса хранения слова - номера ячейки ЗМ.
Ассоциативная. Поиск производится не по адресу ячейки, а по ее содержимому (по ассоциативному признаку). Поиск при этом производится параллельно во всех ячейках ЗМ. Менее универсальная(гибкая) организация, но за счет совмещения операций выборки из памяти с логическими операциями можно ускорить обработку данных (например в базах данных).
Стековая. Как и ассоциативная - безадресная стековая память - одномерный массив ячеек. Запись/выборка производится по дисциплине “последний пришел - первым обслужен” (LIFO).
Основная оперативная память вычислительной машины обычно является адресной. Это значит, что каждой хранимой в памяти единице информации (слову, байту) ставится в соответствие специальное число - адрес, определяющий место ее хранения в памяти.Сведения об адресе или его составных частях содержатся в команде в виде адресного кода. Следует, однако, различать адресный код в команде Aк и исполнительный адрес Aи - номер ячейки памяти, к которой производится фактическое обращение. В современных ЭВМ стремление к уменьшению длины кода команды и созданию удобств при программировании приводит к тому, что адресный код, как правило, не совпадает с исполнительным адресом. Далее рассмотрим основные методы адресации, используемые в современных ЭВМ.
Подразумеваемый операнд. В команде не содержится явных указаний об адресе операнда; операнд подразумевается и фактически задается кодом операции команды. Данный метод используется не часто, однако имеется несколько важных случаев его применения. В качестве примера можно привести команды подсчета, в которых к некоторому числу (содержимому счетчика) прибавляется фиксированное приращение, часто единица младшего разряда. Один из операндов — число в счетчике — обычно адресуется явным методом, второй операнд — приращение — не адресуется, в памяти машины не содержится и является подразумеваемым. Подразумеваемый адрес. В команде не содержится явных указаний об адресе участвующего в операции операнда или адреса, по которому помещается результат операции, но этот адрес подразумевается. Например, команда может содержать адреса обоих операндов, участвующих в операции, при этом подразумевается, что результат операции помещается по адресу одного из операндов. Непосредственная адресация. В команде содержится не адрес операнда, а непосредственно сам операнд. При непосредственной адресации не требуется обращения к памяти для выборки операнда и ячейки памяти для его хранения. Это позволяет во многих случаях повысить быстродействие машины и уменьшить объем памяти, необходимый для данной задачи. Прямая адресация. Исполнительный адрес совпадает с адресной частью команды. Этот метод адресации был общепринятым в первых вычислительных машинах и продолжает применяться в настоящее время в комбинации с другими методами. Относительная адресация или базирование. Исполнительный адрес определяется суммой адресного кода команды Ак и некоторого числа Aб, называемого базовым адресом:
Аи = Аб + Ак
Для хранения базовых адресов в машине могут быть предусмотрены регистры или специально выделенные для этой цели ячейки памяти (базовые регистры). Относительная адресация облегчает распределение памяти при составлении несколькими программистами сложных программ. Каждый программист может располагать свою часть программы в памяти, начиная с нулевого адреса.. При компоновке программы достаточно только задать соответствующие значения базовых адресов. Косвенная адресация. Адресный код команды указывает адрес ячейки памяти, в которой находится адрес операнда или команды. Таким образом, косвенная адресация может быть иначе определена как “адресация адреса”. На косвенную адресацию указывает код операции команды, а в некоторых ЭВМ в команде отводится специальный разряд (указатель УК) и цифра 0 или 1 в нем указывает, является ли адресная часть команды прямым или косвенным адресом. Укороченная адресация. Для уменьшения длины кода команды часто применяется так называемая укороченная адресация. Суть её сводится к тому, что в команде задаются только младшие разряды адресов. Старшие разряды при этом подразумеваются нулевыми. Такая адресация позволяет использовать только, небольшую группу фиксированных ячеек с начальными (короткими) адресами и поэтому может использоваться лишь совместно с другими методами адресации.