Каким образом HDDM (не ОЗУ!) Доступен, изменен и решен на современных компьютерах?

377
Mark Miller

Предупреждение: да, я знаю эту статью в Википедии. Это слишком сложно для меня! Я надеюсь, что есть человек, который мог бы объяснить это проще ...


Предыстория: я разработал 6-битный компьютер. Он имеет 4 КБ ОЗУ и 4 КБ ПЗУ (использует двойной адрес). Оба доступны и читаются так же, как и другие:

  1. 12-битный адрес поступает в декодер.
  2. Декодер декодирует, какая ячейка памяти должна быть доступна.
  3. Доступ к ячейке памяти и ее содержимое идут на регистрацию А.

Оба строго ограничены. Теперь у нас есть современный 32-битный компьютер. Она имеет:

  • 4 ГБ ОЗУ. Ограничено.
  • 1 ТБ HDDM, который можно расширить, просто используя больший жесткий диск или несколько жестких дисков!

С RAM все понятно - она ​​читается и модифицируется так же, как на моем компьютере. Но как нам получить доступ к HDDM?

  • Нужно ли включать ОГРОМНЫЙ декодер в аппаратное обеспечение современного компьютера, чтобы иметь возможность обрабатывать ОГРОМНОЕ количество отдельных ячеек памяти? Но все-таки память HDD все равно должна быть ограничена определенным объемом памяти?
  • Или, может быть, есть крошечные магнитные диски, которые вращаются очень быстро, каждая ячейка памяти излучает свой собственный адрес, и маленькие сканеры ждут, когда диски повернутся в правильное положение для сканирования? Но возможна ли эта скорость?

В общем, так как же мы можем иметь неограниченное количество HDDM? Как получить доступ, прочитать и изменить HDDM?

Дополнительно: доступ к SSDM осуществляется с помощью декодера, поэтому он быстрее, чем HDDM?

-1
Да, современные компьютеры имеют 32-битные и 64-битные декодеры. Нет, они крошечные магнитные диски не используются. Большая часть вашего вопроса не показывает усилий, чтобы понять, как современная операционная система обращается с памятью. Вы также уже получили ответ на этот вопрос http://stackoverflow.com/questions/18033323/how-is-cpu-architecture-defined Ramhound 10 лет назад 0
Я не интересуюсь ОС или любым другим программным обеспечением. Я заинтересован только в оборудовании. Да, я знаю, что современные компьютеры имеют 32-битные и 64-битные декодеры, поэтому они могут использовать этот ограниченный объем оперативной памяти. Но я не говорю об оперативной памяти! Я говорю о HDDM! Ваш комментарий не отвечает мне, как компьютеры могут иметь бесконечное количество HDDM. Mark Miller 10 лет назад 0
@MarkMiler - Конечно, это так. Операционная система управляет управлением памятью. Вам необходимо уточнить, что именно означает «HDDM». Я могу только предположить, что «HDDM» означает «Жесткий диск», что не является техническим термином, присущим компьютерной технике. Современные операционные системы используют различные формы хранения, чтобы позволить программам почти неограниченное пространство памяти в форме кеша памяти. Время доступа к DDR3 в несколько раз быстрее, чем к интерфейсу SATA3. ** Твердотельные диски не доступны через декодер. ** ** Жесткий диск ** не доступны через декодер. Этот вопрос не показывает исследований. Ramhound 10 лет назад 3
Обычно операционная система создает карту памяти в файле кэша. Любая запущенная программа будет лгать, что у нее неограниченная доступная память, она будет просматривать доступные решения для памяти в системе, чтобы решить, где будет расположена память. Он переместит память в системном кеше памяти в самое быстрое место в памяти и переместит неиспользуемые адреса в кеш. Это делается автоматически, и физическое расположение адреса может измениться. Посмотрите отображение памяти ..... Ramhound 10 лет назад 1
@Ramhound - Хорошо, я думаю, у меня есть две вещи. 1. Память, которая в основном используется для хранения программ, носителей и т. Д. (Я назвал это HDDM), ** НЕ доступна через декодер, такой как ОЗУ. ** 2. Мне нужно искать страницы Википедии о «Serial ATA» , "Parallel ATA" и "Mass Storage Device" для получения дополнительной информации. Но есть ли способ объяснить это простым языком? Mark Miller 10 лет назад 0
@MarkMiler - декодер памяти используется только в том случае, если вы имеете дело с инструкцией ЦП, чтобы сообщить данные MOV (MOVE) (целое число 0) `0000 0000 0000 0000` для регистрации 1` 0000 0000 0000 0001`. Операционная система обрабатывает все это невидимым для пользователя системы. Я должен еще раз повторить, что оперативное запоминающее устройство точно такое же, как и кэш-файл, отображаемый в памяти операционной системы (если он реализован по крайней мере) Ramhound 10 лет назад 0
Жесткие диски имеют несколько вращающихся пластин. В конце концов, жесткий диск получает инструкцию, которая гласит: «иди к этому конкретному блюду, переместите головку так далеко на блюде, подождите, пока этот сектор обернется и прочитайте его». Компьютер на жестком диске выполняет эти инструкции и возвращает результат компьютеру, возможно, записав данные сектора непосредственно в ОЗУ, а затем сообщая ЦПУ, что это было сделано, путем вызова прерывания. David Schwartz 6 лет назад 0

1 ответ на вопрос

1
Mokubai

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

  1. 1-й байт: «Я хочу что-то прочитать, следующие 6 байтов, которые вы получите, будут адресом для чтения»
  2. 2-й байт: адресный байт 1
  3. 3-й байт: адресный байт 2
  4. 4-й байт: адресный байт 3
  5. 5-й байт: адресный байт 4
  6. 6-й байт: адресный байт 5
  7. 7-й байт: адресный байт 6

Затем они уйдут и через некоторое время начнут процесс отправки вам байтов данных, найденных по этому адресу.

Вы также можете переопределить базовое количество «одного блока» данных, чтобы оно отличалось от одного байта (в зависимости от использования памяти). Таким образом, по адресу 0 находится 512-байтовый блок, по адресу 1 - следующий 512-байтовый блок и так далее.

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

Это по-прежнему сопряжено с проблемами, аналогичными тем, которые были у нас при переходе с 32-разрядных на 64-разрядные процессоры, старое оборудование пришлось заменить, поскольку оно не могло физически поддерживать новый интерфейс и схему адресации. Предыдущие поколения интерфейса жесткого диска поддерживали только до 137 ГБ хранилища с 28-битным адресом блока, а новые интерфейсы поддерживают 48-битную адресацию, что позволяет адресовать до 128 ПиБ.

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

Похожие вопросы