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

0

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

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

Ответы:

1

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

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

Blackbeagle
источник
+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 сейчас? Шаговый двигатель: я уже там. Чтение головы: просто подхожу к данным сейчас.

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

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

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

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

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

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

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

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

LMiller7
источник
Похоже, это просто переформулирует утверждение, о котором спрашивал вопрос, в несколько иных терминах, а не объясняет его.
8bittree