Почему для получения информации с жесткого диска требуется больше времени, чем из основной памяти?


0

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


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

Теоретически процессор может получать доступ к данным непосредственно с периферийного устройства, такого как жесткий диск. Но это (запрограммированный ввод / вывод или PIO) нецелесообразно и неэффективно, поэтому при всех передачах данных на периферийные устройства (например, на жесткие диски) используются буферы памяти. Таким образом, все данные должны быть перенесены в основную память, чтобы быть доступными. Следовательно, это всего лишь одна из причин, по которой необходимо сделать основную память быстрее, чем любая периферия.
sawdust

Ответы:


1

Чтобы сократить его до простейшего: представьте, что процессору нужны данные. RAM - это человек, который стоит рядом с процессором. Процессор спрашивает, и человек немедленно отвечает. Очень быстрый.

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


+1 Мне нравится аналогия. Следующим уровнем будет объяснение того, как кэш-память быстрее основной оперативной памяти :-) Что-то вроде «CACHE - следующий человек, ближайший к процессору». Он / она просматривает заметки и, если у него есть карта с данными, необходимыми процессору, и передает ее в процессор. Но если данные не находятся в его / ее кошельке, CACHE необходимо найти самый старый использованный слот и сначала обработать его для оперативной памяти, а затем взять новые данные из оперативной памяти перед обработкой их в ЦП. Это займет больше времени. Более того, оперативная память дешева и отказывается иметь дело с одной картой данных, она говорит, что я буду иметь дело только с кучей карт и т. Д. И т. Д ...
Ale..chenski

1

Пойдемте, получите наши данные и посмотрим, что произойдет:

Основная память:

Нам повезло, и мы использовали это совсем недавно? Удар кеша L1, мы получаем ответ через 1 наносекунду.

Нам немного повезло, и мы использовали это недавно, но недостаточно недавно для кеша L1? Попадание в кэш второго уровня, 4 наносекунды

Хорошо, наша удача была плохой, мы должны идти к фишкам 100 наносекунд

Жесткий диск:

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

Хорошо, наши данные находятся в секторе 123456. Жесткий диск, пожалуйста, дайте мне сектор 123456.

123456? Хорошо. Это сектор 456 на дорожке 123. Направляйтесь к дорожке 123.

Серводвигатель: щелкни, щелкни, щелкни ... 3 000 000 наносекунд спустя, хорошо, я наконец-то добрался

Теперь давайте подумаем, что это типичный привод на 7200 об / мин. Блюдо вращается 120 раз в секунду, поэтому наше среднее ожидание составляет 1/240 секунды. Мы ждем и ждем и ждем еще 4 166 666 наносекунд, чтобы данные достигли головы.

Обратите внимание, что именно поэтому чтение больших вещей с диска гораздо лучше, чем чтение маленьких Вы хотите сектор 123457 сейчас? Шаговый двигатель: я уже там. Чтение головы: просто подхожу к данным сейчас.


+1 за ответ, который объясняет, почему жесткие диски такие медленные.
8bittree

0

«Почему для получения информации с жесткого диска требуется больше времени, чем из основной памяти?»

Потому что основная память (обычно называемая RAM) НАМНОГО быстрее.

Существует два основных типа хранилищ на компьютере: оперативная память и жесткий диск. У каждого есть свои преимущества и недостатки, и поэтому компьютеру нужны оба.

Характеристики жесткого диска: 1. Относительно недорого. 2. Это постоянное хранение. После написания он будет поддерживать данные в течение неопределенного времени. 3. Это намного медленнее, чем оперативная память. 4. Данные, идущие на диск или с него, должны сначала пройти через ОЗУ. К нему нельзя получить прямой доступ.

Характеристики ОЗУ: 1. Гораздо дороже, чем жесткий диск. Вот почему на компьютере его гораздо меньше. 2. Хранение летучее. Это означает, что когда компьютер выключен, он теряет все содержащиеся в нем данные. 3. Это намного быстрее, чем жесткий диск. 4. К содержимому оперативной памяти можно получить прямой доступ.

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

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


Похоже, это просто переформулирует утверждение, о котором спрашивал вопрос, в несколько иных терминах, а не объясняет его.
8bittree
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.