Основная память вычислительных машин. Проблемы взаимодействия процессора с основной памятью. Принцип организации кэш-памяти.

15.1. Основная память вычислительных машин. Проблемы взаимодействия процессора с основной памятью. Принцип организации кэш-памяти.

Основная память - это устройство для хранения информации. Она состоит из оперативного запоминающего устройства (ОЗУ) и постоянного запоминающего устройства (ПЗУ).

ОЗУ - быстрая, полупроводниковая, энергозависимая память. В ОЗУ хранятся исполняемая в данный момент программа и данные, с которыми она непосредственно работает. Это значит, что когда вы запускаете какую-либо компьютерную программу, находящуюся на диске, она копируется в оперативную память, после чего процессор начинает выполнять команды, изложенные в этой программе. Часть ОЗУ, называемая "видеопамять", содержит данные, соответствующие текущему изображению на экране. При отключении питания содержимое ОЗУ стирается.
Быстродействие (скорость работы) компьютера напрямую зависит от величины его ОЗУ, которое в современных компьютерах может доходить до 128 Мбайт. В первых моделях компьютеров оперативная память составляла не более 1 Мбайт. Современные прикладные программы часто требуют для своего выполнения не менее 4 Мбайт ОЗУ; в противном случае они просто не запускаются.
ОЗУ - это память, используемая как для чтения, так и для записи информации. При отключении электропитания информация в ОЗУ исчезает (энергозависимость).
Постоянное запоминающее устройство (ПЗУ)
ПЗУ - быстрая, энергонезависимая память. ПЗУ - это память, предназначенная только для чтения. Информация заносится в нее один раз (обычно в заводских условиях) и сохраняется постоянно (при включенном и выключенном компьютере). В ПЗУ хранится информация, присутствие которой постоянно необходимо в компьютере. В ПЗУ находятся:

НЕ нашли? Не то? Что вы ищете?
    тестовые программы, проверяющие при каждом включении компьютера правильность работы его блоков; программы для управления основными периферийными устройствами - дисководом, монитором, клавиатурой; информация о том, где на диске расположена операционная система.

Основная память состоит из регистров. Регистр - это устройство для временного запоминания информации в двоичной форме. Запоминающим элементом в регистре является триггер - устройство, которое может находиться в одном из двух состояний, одно из которых соответствует запоминанию двоичного нуля, другое - запоминанию двоичной единицы. Триггер представляет собой крошечный конденсатор-батарейку, которую можно заряжать множество раз. Число триггеров в регистре называется разрядностью компьютера. Производительность компьютера напрямую связана с разрядностью, которая бывает равной 8, 16, 32, 64, 128.

15.2 Структура накопителя на жестком диске. Основные физические и логические параметры накопителя на жестком диске. Представление накопителя в виде счетчика.

Накопитель на жестком магнитном диске(НЖМД),винчестер(носитель)-материальный объект, способный хранить информацию. Запись информации на диск ведется по строго определенным местам - концентрическим дорожкам(трекам), которые делятся на сектора. Обмен данными между ОЗУ и НМД осуществляется последовательно целым числом (кластером). Кластер - цепочки последовательных секторов (1,2,3,4,…)

Специальный двигатель с помощью кронштейна позиционирует головку чтения/записи над заданной дорожкой (перемещает ее в радиальном направлении).
При повороте диска головка располагается над нужным сектором. Очевидно, что все головки перемещаются одновременно и считывают информацию с одинаковых дорожек разных дисков. Дорожки винчестера с одинаковым порядковым номером на разных дисках винчестера называется цилиндром.
Головки чтения записи перемещаются в вдоль поверхности платтера. Чем ближе к поверхности диска находится головка при этом не касаясь ее, тем выше допустимая плотность записи.

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

Диски вращаются постоянно, а скорость вращения носителей довольно высокая (от 4500 до 10000 об/мин), что обеспечивает высокую скорость чтения/записи. В настоящее время для позиционирования головок чтения/записи наиболее часто применяются шаговые и линейные двигатели. В системах с шаговым механизмом и двигателем (которые являются разомкнутыми) головки перемещаются на определенную величину, соответствующую расстоянию между дорожками. Дискретность шагов зависит либо от характеристик шагового двигателя, либо задается сервометками на диске, которые могут иметь магнитную или оптическую природу. Для считывания магнитных меток используется дополнительная сервоголовка, а для считывания оптических - специальные оптические датчики. В системах с линейным приводом (которые являются замкнутыми) головки перемещаются электромагнитом, а для определения необходимого положения служат специальные сервисные сигналы, записанные на носитель при его производстве и считываемые при позиционировании головок. Во многих устройствах для серво-сигналов используется целая поверхность и специальная головка или оптический датчик (рис. 6.1). Линейные приводы перемещают головки значительно быстрее, чем шаговые, кроме того, они позволяют производить небольшие радиальные перемещения "внутри" дорожки, давая возможность отследить центр окружности серводорожки. Этим достигается положение головки, наилучшее для считывания с каждой дорожки, что значительно повышает достоверность считываемых данных и исключает необходимость временных затрат на процедуры коррекции. Как правило, все устройства с линейным приводом имеют автоматический механизм парковки головок чтения/записи при отключении питания устройства. Парковкой головок называют процесс их перемещения в безопасное положение (Landing Zone).

  Основные физические и логические параметры

1. Диаметр дисков (disk diameter)

2. Число поверхностей (sides number) - определяет количество физических дисков, нанизанных на шпиндель.

3. Число цилиндров (cylinders number) - определяет, сколько дорожек (треков) будет располагаться на одной поверхности.

4. Число секторов (sectors count) - общее число секторов на всех дорожках всех поверхностей накопителя. Определяет физический неформатированный объем устройства.

5. Число секторов на дорожке (sectors per track) - общее число секторов на одной дорожке.

6. Частота вращения шпинделя (rotational speed или spindle speed). Измеряется в оборотах в минуту (грт).

7. Время перехода от одной дорожки к другой (track-to-track seek time) Этот показатель является одним из определяющих быстродействие накопителя, т. к. именно переход с дорожки на дорожку является самым длительным процессом в серии процессов произвольного чтения/записи на дисковом устройстве.

8. Время успокоения головок (head latency time) - время, проходящее с момента окончания позиционирования головок на требуемую дорожку до момента начала операции чтения/записи.

9. Время установки или время поиска (seek time)- время, затрачиваемое устройством на перемещение головок чтения/записи к нужному цилиндру из произвольного положения.

10. Среднее время установки или поиска (average seek time) - усредненный результат большого числа операций позиционирования на разные цилиндры, часто называют средним временем позиционирования.

11. Время ожидания (latency) - время, необходимое для прохода нужного сектора к головке, усредненный показатель - среднее время ожидания (average latency), получаемое как среднее от многочисленных тестовых проходов. После успокоения головок на требуемом цилиндре контроллер ищет нужный сектор. При этом последовательно считываются адресные идентификаторы каждого проходящего под головкой сектора на дорожке.

12. Время доступа (access time) -  суммарное время, затрачиваемое на установку головок и ожидание сектора

13. Среднее время доступа к данным (average access time) - время, проходящее с момента получения запроса на операцию чтения/записи от контроллера до физического осуществления операции - результат сложения среднего время поиска и среднего времени ожидания.

14. Скорость передачи данных (data transfer rate), называемая также пропускной способностью (throughput), определяет скорость, с которой данные считываются или записываются на диск после того, как головки займут необходимое положение. Измеряется в мегабайтах в секунду (MBps) или мегабитах в секунду (Mbps) и является характеристикой контроллера и интерфейса. 

15. Размер кэш-буфера контроллера (internal cash size). Встроенный в накопитель буфер выполняет функцию упреждающего кэширования и призван сгладить громадную разницу в быстродействии между дисковой и оперативной памятью компьютера. Чем больше объем буфера, тем потенциально выше производительность при произвольном "длинном" чтении/записи.

16. Средняя потребляемая мощность (capacity).

17. Физический и логический объем накопителей. Носители жестких дисков в отличие от гибких имеют постоянное число дорожек и секторов, изменить которое невозможно. Эти числа определяются типом модели и производителем устройства. Физический объем жестких дисков определен изначально и состоит из объема, занятого служебной информацией (разметка диска на дорожки и сектора) и объема, доступного пользовательским данным. Физический объем жесткого диска также зависит от типа интерфейса, метода кодирования данных, используемого физического формата и др. Логический же объем зависит от того, как операционная система или программа записывает информацию в секторы.

Накопитель можно представить как счётчик с переменным модулем счёта (рис. 6.5). При переходе от разряда к разряду необходимо компенсировать запаздывание, возникающее при переключении головок записи-чтения при  переходе от одной поверхности к другой, при переходе от одной дорожки к другой и т. д.

Величина чередования определяется коэффициентом чередования, представленным в виде двух чисел, разделенных двоеточием. Если, например, коэффициент равен 3:1, то после назначения первому сектору на дорожке адреса 1 два следующих сектора пропускаются, а четвертому сектору на дорожке назначается адрес 2. После этого вновь пропускаются два сектора, а седьмому сектору назначается адрес 3. Этот процесс продолжается до назначения адресов всем секторам (пока такой способ нумерации кажется надуманным и искусственным, но далее показано, что он имеет большое практическое значение). С одной стороны чередование хорошо. Не уменьшая скорости вращения диска, мы можем считывать/записывать данные. С другой стороны - плохо. Искусственно замедляем скорость считывания с диска. Лучше оставить чередование 1:1, но для этого в накопители встраивается буфер дорожки.