Организация простейших накопителей.
Память ЭВМ. Память компьютера предназначена для кратковременного и долговременного хранения информации — кодов команд и данных. Информация в памяти хранится в двоичных кодах, каждый бит — элементарная ячейка памяти — может принимать значение «О» или «I». Каждая ячейка памяти имеет свой адрес, однозначно ее идентифицирующий в определенной системе координат. Минимальной адресуемой единицей хранения информации в памяти обычно является байт, состоящий, как правило, из 8 бит. Существуют процессоры и компьютеры с разрядностью обрабатываемого слова не кратной 8 (например, 5, 7, 9...), и их байты не восьмибитные, но в мире PC столкновение с ними маловероятно. Также в некоторых системах (обычно коммуникационных) совокупность восьми соседних бит данных называют октетом. Название «октет» обычно подразумевает, что эти 8 бит не имеют явного адреса, а характеризуются только своим местоположением в длинной цепочке бит. Со времени появления больших (по размерам) компьютеров сложилось деление памяти на внутреннюю и внешнюю. Под внутренней подразумевалась память, расположенная внутри процессорного «шкафа» (или плотно к нему примыкающая). Сюда входила и электронная и магнитная память (на магнитных сердечниках). Внешняя память представляла собой отдельные устройства с подвижными носителями — накопители на магнитных дисках (а сначала — на барабанах) и ленте. Со временем все устройства компьютера удалось поселить в один небольшой корпус, и прежнюю классификацию памяти применительно к PC можно переформулировать так: * внутренняя память — электронная (полупроводниковая) память, устанавливаемая на системной плате или на платах расширения; * внешняя память — память, реализованная в виде устройств с различными принципами хранения информации и обычно с подвижными носителями. В настоящее время сюда входят устройства магнитной (дисковой и ленточной) памяти, оптической и магнитооптической памяти. Устройства внешней памяти могут размещаться как в системном блоке компьютера, так и в отдельных корпусах, достигающих иногда и размеров небольшого шкафа. Для процессора непосредственно доступной является внутренняя память, доступ к которой осуществляется по адресу, заданному программой. Для внутренней памяти характерен одномерный (линейный) адрес, который представляет собой одно двоичное число определенной разрядности. Внутренняя память подразделяется на оперативную, информация в которой может изменяться процессором в любой момент времени, и постоянную, информацию которой процессор может только считывать. Обращение к ячейкам оперативной памяти может происходить в любом порядке, причем как по чтению, так и по записи, и оперативную память называют памятью с произвольным доступом — Random Access Memory (RAM) — в отличие от постоянной памяти (Read Only Memory, ROM). Внешняя память адресуется более сложным образом — каждая ее ячейка имеет свой адрес внутри некоторого блока, который, в свою очередь, имеет многомерный адрес. Во время физических операций обмена данными блок может быть считан или записан только целиком. В случае одиночного дискового накопителя адрес блока будет трехмерным: номер поверхности (головки), номер цилиндра и номер сектора. В современных накопителях этот трехмерный адрес часто заменяют линейным номером — логическим адресом блока, а его преобразованием в физический адрес занимается внутренний контроллер накопителя. Поскольку дисковых накопителей в компьютере может быть множество, в адресации дисковой памяти участвует и номер накопителя, а также номер канала интерфейса. С такой сложной системой адресации процессор справляется только с помощью программного драйвера, в задачу которого в общем случае входит копирование некоторого блока данных из оперативной памяти в дисковую и обратно. Дисковая память является внешней памятью с прямым доступом, что подразумевает возможность обращения к блокам (но не ячейкам) в произвольном порядке. Память на ленточных носителях имеет самый неудобный метод доступа — последовательный. В ней информация хранится также в виде блоков фиксированной или переменной длины, и в пределах одного носителя эти блоки имеют последовательные адреса. Для доступа к какому-либо блоку устройство должно найти некоторый маркер начала ленты (тома), после чего последовательным холостым чтением блока за блоком дойти до требуемого места и только тогда производить сами операции обмена данными. С такими неудобствами мирятся только потому, что ленточные носители являются самым дешевым хранилищем для больших объемов информации, к которой не требуется оперативного доступа. Для подсистемы памяти важными параметрами являются следующие: * объем хранимой информации. Нет необходимости объяснять, что чем он больше, тем лучше. Максимальный (в принципе неограниченный) объем хранят ленточные и дисковые устройства со сменными носителями, за ними идут дисковые накопители, и завершает этот ряд оперативная память', * время доступа — усредненная задержка начала обмена полезной информацией относительно появления запроса на данные. Минимальное время доступа имеет оперативная память, за ней идет дисковая и после нее — ленточная; * скорость обмена при передаче потока данных (после задержки на время доступа). Максимальную скорость обмена имеет оперативная память, за ней идет дисковая и после нее — ленточная; * удельная стоимость хранения единицы данных — цена накопителя (с носителями), отнесенная к единице хранения (байту или мегабайту). Минимальную стоимость хранения имеют ленточные устройства со сменными носителями, их догоняют дисковые накопители, а самая дорогая — оперативная память. Кроме этих параметров имеется и ряд других характеристик — энергонезависимость (способность сохранения информации при отключении внешнего питания), устойчивость к внешним воздействиям, время хранения, конструктивные особенности (размер, вес) и т. п. У каждого типа памяти имеются различные реализации со своими достоинствами и недостатками. Внутренняя и внешняя память используются существенно различными способами. Внутренняя (оперативная и постоянная) память является хранилищем программного кода, который непосредственно может быть исполнен процессором. В ней же хранятся и данные, также непосредственно доступные процессору (а следовательно, и исполняемой программе). Внешняя память обычно используется для хранения файлов, содержимое которых может быть произвольным. Процессор (программа) имеет доступ к содержимому файлов только опосредованно через отображение их (полное или частичное) в некоторой области оперативной памяти. Исполнить программный код или обратиться к данным непосредственно на диске процессор не может в принципе. То же относится, естественно, и к ленточной памяти. Однако реальная жизнь многообразнее этой упрощенной схемы, и на практике дисковая и оперативная память переплетаются сложным образом. Главный недостаток дисковой памяти — большое время доступа и низкая скорость обмена — устраняется при использовании виртуального диска, представляющего собой своеобразно используемую область оперативной памяти. В этой области хранятся файлы, и с точки зрения операционной системы (и, тем более, прикладной программы) она выглядит как обычный, но очень быстрый диск. Конечно же, его объем ограничен, и этот объем вычитается из объема физически установленной памяти, доступной процессору в качестве обычной оперативной. Кроме того, виртуальный диск в отличие от реального не является энергонезависимым. Более того, информация на нем не переживет даже перезагрузки операционной системы. Но несмотря на эти ограничения, виртуальный диск во многих случаях может повысить эффективность работы компьютера при интенсивном дисковом обмене. В операционной системе MS-DOS (и Windows 95) виртуальный диск реализуется загрузкой программного драйвера RAMDRIVE.SYS (в некоторых версиях — VDISK.SYS), похожие средства имеются и в других операционных системах. Другим способом решения проблем быстродействия дисковой памяти за счет оперативной: является кэширование дисков — хранение образов последних из использованных блоков дисковой памяти в оперативной в надежде на то, что к ним вскоре будет следующий запрос, который удастся удовлетворить из памяти. В MS-DOS кэшированием дисков занимается загружаемый драйвер SMARTDRV.EXE, в Windows 95 кэширование встроено в операционную систему. Даже и без этого драйвера «неглубокое» кэширование выполняет операционная система, и этим процессом можно управлять с помощью строки «BUFFERS=xxx» файла CONFIG.SYS. Если затребованный блок с диска уже находится в одном из буферов, ОС не будет «беспокоить» диск, а удовлетворит запрос из буфера. Чем больше параметр ххх, тем больше блоков может держать ОС в оперативной памяти, но область памяти для буферов, естественно, уменьшает объем памяти, доступной программам. Основной недостаток оперативной памяти заключается в том, что конструктивно достижимый ее объем во много раз меньше, чем у дисковой (пока что это было справедливо на всех ступенях технического прогресса). Решить проблему увеличения объема оперативной памяти за счет дисковой позволяет виртуальная память, которую можно считать кэшированием оперативной памяти на диске. Суть ее заключается в том, что программам предоставляется виртуальное пространство оперативной памяти, по размерам превышающее объем физически установленной оперативной памяти. Это виртуальное пространство разбито на страницы фиксированного размера, а в физической оперативной памяти в каждый момент времени присутствует только часть из них. Остальные страницы хранятся на диске, откуда операционная система может их «подкачать» в физическую на место предварительно выгруженных на диск страниц. Для прикладной программы этот процесс прозрачен (если только она не критична ко времени обращения к памяти). Для пользователя этот процесс заметен по работе диска даже в тот момент, когда не требуется обращение к файлам. Расплатой за почти безмерное увеличение объема доступной оперативной памяти является снижение средней производительности памяти и некоторый расход дисковой памяти на так называемый файл подкачки (Swap File). Естественно, размер виртуальной памяти не может превышать размера диска (файл подкачки на нескольких дисках обычно не размещают). Виртуальная память реализуется операционными системами (и оболочками) защищенного режима (например, OS/2, MS Windows) на основе аппаратных средств процессоров класса не ниже 286, а наиболее эффективно — 32-разрядных процессоров 386 и старше.
|
|
|
|
|
|
|
|
Память как модель процесса.
Фундаментальным для понятия организации вычислительных машин является понятие процесса. Процесс – это выполнение программы. Он по своей сути активен, т.е. способен производить действия. Процесс от программы отличает то, что последняя по своей сути пассивна, т.е. расположенная на некотором носителе данных она не способна сама по себе производить никаких действий.
В каждый момент времени процесс находится в определенном состоянии. Состояние процесса характеризует его степень выполнения. Оно включает всю информацию необходимую для прекращения процесса и его последующего возобновления. Состояние процесса содержит по меньшей мере следующую информацию: 1) программу; 2) индикацию команды которая должна выполняться следующей; 3) величины всех программных переменных и данных; 4) состояние всех используемых устройств ввода-вывода.
По мере протекания процесса его состояние меняется. Например, изменяется индикация команды, которая должна выполняться следующей, переменные принимают последовательные значения. Хотя вполне возможно, чтобы процесс модифицировал программу во время ее выполнения, это считается плохим приемом программирования. Будем предполагать, что процесс не изменяет программу. Часто оказывается удобным сгруппировать вместе все изменяемые части состояния процесса и рассматривать их как вектор состояния. Тогда процесс можно считать состоящим из двух частей: программы (неизменяемой части) и вектора состояний (изменяемой части). Программы включает в себя команды для изменения вектора состояний.
Процесс проходит упорядоченную во времени последовательность состояний. Для выполнения программы (или для получения процесса)
необходима работа вычислительной машины или процессора. Функция такого процессора состоит в переводе процесса из одного состояния в другое. Другими словами работа процессора заключается в изменении состояния процесса.
Процесс имеет два важных свойства: 1) результат процесса не зависит от скорости его протекания; 2) при повторном выполнении процесса с теми же данными он проходит ту же последовательность состояний и дает тот же результат. Эти свойства отражают последовательную природу процесса.
Процесс – последовательная смена состояний множества.
Состояние – текущее значение множества.
Процессор – совокупность средств реализующих процесс.
Процесс характеризуется состоянием и последовательностью смены состояний.
Самая обобщенная схема процессора:
Процессор должен иметь память состояния и средства изменения состояния.
Организация простейших накопителей.
Как же хранятся данные в памяти. Простейшие – РЗУ.
С точки зрения пользователя – память это некоторое множество ячеек которые нумеруются от 0 до 2n-1.Выбор ячейки определяется дешифратором адреса.
Классическая, самая первая схема.
Такая схема построения ЗУ – схема памяти с линейной выборкой.
Для памяти большого объема такая схема не годится т.к. дешифратор будет очень «страшным».
Решили, что дешифратор нужно делать многоступенчатым, где последняя ступень будет совмещена с ячейками хранения данных. Так пришли к схеме с координатной выборкой.
Чтобы избавиться от «ниточки» памяти сворачиваем в квадрат отдельные разряды и храним вместе все разряды с одинаковым номером. Если в линейной выборке на выходе ДШ 2n, то здесь2n/2.
Память большого объема в микроэлектронном исполнении также построить тяжело.
Память большого объема – это память на конденсаторах, а транзисторы определяют только чтение и запись, но у конденсаторов большие токи утечки, поэтому информацию нужно постоянно перезаписывать. Появляется фаза регенерации данных. – ЗУ динамического типа. ЗУ статического типа на триггерах – нет фазы регенерации, но есть восстановление при чтении. Если время выборки из ЗУ динамического типа 100 нсек, то 1 раз в 100 мксек нужно регенерировать память (по сути регенерация – это либо чтение, либо запись). Сейчас система регенерации встроена в устройство управления и если никто не обращается к памяти, то в это время происходит регенерация. Так как на сегодняшний день редко происходит обращение за одним словом, чтение идет по несколько слов (пакетом), оказывается, что обращение к памяти часто полностью регенерирует память.
Дата добавления: 2018-10-26; просмотров: 313; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!