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