-3

На самом деле это будет состоять из нескольких вопросов.

  1. После запуска приложения и его загрузки в ОЗУ операции ОЗУ обновляются много раз в секунду (даже без какого-либо ввода, и приложение просто сидит на экране). Это правильно? Если так, то почему данные не хранятся в статическом состоянии, как на жестком диске?

  2. Процессор все еще выполняет операции над приложением, даже если от него нет никаких инструкций?

2 ответа2

3

Msgstr "Процессор все еще выполняет операции над приложением, даже если от него нет никаких инструкций?"

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

«После запуска приложения и его загрузки в ОЗУ операции ОЗУ обновляются много раз в секунду (даже без какого-либо ввода, и приложение просто сидит на экране). Это правильно? Если так, то почему данные не хранятся в статическом состоянии, как на жестком диске?"

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

2

После запуска приложения и его загрузки в ОЗУ операции ОЗУ обновляются много раз в секунду (даже без какого-либо ввода, и приложение просто сидит на экране). Это правильно?

Правильно.

Старые компьютеры, такие как Commodore 64, должны были бы останавливать процессор во время этого процесса (в случае Commodore 64, видеочип фактически обрабатывал обновление оперативной памяти).

Современные компьютеры имеют выделенные контроллеры памяти, которые выдают обновления DRAM.

Если так, то почему данные не хранятся в статическом состоянии, как на жестком диске?

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

На старых 486 материнских платах, когда кэш-память стала превращаться в штуку, у вас были сокеты, где вы должны были заполниться небольшими статическими чипами оперативной памяти. Они не были адресованы как основное ОЗУ, а как кэш внешнего процессора (эпоха 386/486). Затем кэш-память начала включаться в карту с процессором (эпоха Pentium I/II), а затем встроена в процессор.

Процессор все еще выполняет операции над приложением, даже если от него нет никаких инструкций?

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .