2015-05-31 2 views
1

Может ли кто-нибудь объяснить, в чем разница между кэш-памятью и памятью блокнота? В настоящее время я изучаю компьютерную архитектуру.Память кэша и блокнота

ответ

1

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

Кэш может быть в разных местах, слоях (L1, L2, L3 ...). как блокнот, так и кэш-память просто просты в некоторых чипах, с адресами и шиной данных и сигналами управления чтением/записью/etc. (как и многие другие вещи на компьютере, которые могут использоваться или не использоваться для адресного бара). Во время загрузки перед выводом на дальнюю сторону (медленная сторона плунжера, процессор, находящаяся рядом) инициализируется (в конечном счете, обычно, если у вас есть кэш, иначе у которого есть кеш), может быть возможно получить доступ к кешу в качестве адресного бара. Это зависит в значительной степени от системы/дизайна, хотя может существовать регистр управления, который позволяет ему вести себя как простой баран, или может быть режим, или его нормальный режим может быть таким, что до тех пор, пока вы не адресуете больше, чем размер бара в зависимости от его выравнивания (возможно, 32 КБ между границами 32 КБ), то он не может пытаться выселить что-либо и генерировать циклы шины на драм/медленной/дальней стороне кеша, что позволяет использовать его как таран, как блокнот.

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

Говоря о загрузке снова, подумайте о том, что вам нужно делать при загрузке, а именно о поднятии контроллера драм, что, безусловно, является нетривиальной вещью. Наличие некоторого количества памяти на кристалле позволяет вам, если ничто иное временно не имеет некоторого барана для небольшого стека и для некоторых переменных. Например, вы можете использовать компилятор на компилированном языке, таком как C, который требует как минимум некоторого ram для стека и переменных. В зависимости от места вы можете поместить там какую-то программу, скорее всего, там бегите быстрее, чем со вспышки. Альтернативой отсутствию помех, вероятно, придется написать init init в сборке, используя только общие цели или другие регистры в процессоре, выполняя сложную задачу и делая ее намного сложнее. После того, как основной системный барабан будет поднят, вы можете или не захотите использовать барабан на чипе (блокнот).

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

Смежные вопросы