В какой-то момент возникает вопрос, что даже считается «оперативной памятью». Существует много процессоров и микроконтроллеров, которые имеют достаточно встроенной памяти для работы с небольшими операционными системами без отдельных чипов оперативной памяти. На самом деле, это на самом деле относительно распространено в мире встроенных систем. Итак, если вы просто ссылаетесь на отсутствие отдельных чипов ОЗУ, то да, вы можете сделать это с помощью многих современных чипов, особенно тех, которые предназначены для встраиваемых систем. Я сделал это сам на работе. Однако, поскольку единственная реальная разница между адресуемой внутрикристальной памятью и отдельными микросхемами ОЗУ заключается только в расположении (и, очевидно, в задержке), вполне разумно считать, что внутрипроцессорная память сама по себе является ОЗУ. Если вы считаете это как ОЗУ, то число текущих,
Если вы имеете в виду обычный ПК, нет, вы не можете запустить его без подключенных отдельных флешек, но это только потому, что BIOS не пытается загружаться без установленной RAM (что, в свою очередь, потому что все современные операционные системы ПК требуют ОЗУ для работы, тем более что машины x86 обычно не позволяют напрямую обращаться к памяти на кристалле; она используется исключительно как кеш.)
Наконец, как сказал Zeiss, нет теоретической причины, по которой вы не можете проектировать компьютер для работы вообще без ОЗУ, за исключением пары регистров. Оперативная память существует исключительно потому, что она дешевле встроенной памяти и намного быстрее дисков. Современные компьютеры имеют иерархию памяти, которая варьируется от больших, но медленных до очень быстрых, но маленьких. Нормальная иерархия выглядит примерно так:
- Регистры - очень быстрые (могут управляться инструкциями ЦП напрямую, как правило, без дополнительной задержки), но обычно очень маленькие (например, ядра 64-битных процессоров x86 имеют только 16 регистров общего назначения, причем каждое из них может хранить одно 64-битное число.) Размеры регистров, как правило, невелики, поскольку регистры очень дороги на байт.
- Кэш-память ЦП - все еще очень быстрая (часто с задержкой 1-2 цикла) и значительно больше, чем регистры, но все же намного меньше (и намного быстрее), чем обычный DRAM. Кэш-память процессора также намного дороже за байт, чем DRAM, поэтому обычно она намного меньше. Кроме того, многие процессоры на самом деле имеют иерархии даже внутри кеша. Обычно они имеют меньшие, более быстрые кэши (L1 и L2) в дополнение к большим и более медленным кэшам (L3.)
- DRAM (то, что большинство людей воспринимают как «RAM») - намного медленнее, чем кэш (задержка доступа обычно составляет от десятков до сотен тактов), но намного дешевле на байт и, следовательно, обычно намного больше, чем кэш. DRAM по-прежнему, однако, во много раз быстрее, чем доступ к диску (обычно в сотни-тысячи раз быстрее).
- Диски - они, опять же, намного медленнее, чем DRAM, но, как правило, намного дешевле на байт и, следовательно, намного больше. Кроме того, диски, как правило, являются энергонезависимыми, что означает, что они позволяют сохранять данные даже после завершения процесса (а также после перезагрузки компьютера).
Обратите внимание, что вся причина иерархий памяти - просто экономика. Нет теоретической причины (по крайней мере, в области компьютерных наук), почему мы не могли иметь терабайт энергонезависимых регистров на кристалле ЦП. Проблема в том, что его было бы просто безумно сложно и дорого построить. Наличие иерархий, варьирующихся от небольших объемов очень дорогой памяти до больших объемов дешевой памяти, позволяет нам поддерживать высокую скорость при разумных затратах.