Организация простейших накопителей.



Память ЭВМ. Память компьютера предназначена для кратковременного и долговремен­ного хранения информации — кодов команд и данных. Информация в памяти хранится в двоичных кодах, каждый бит — элементарная ячейка памяти — может принимать значение «О» или «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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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