Может ли процессор (например, Intel i3 / i5 / i7 / Xeon) с встроенной в кэш-памятью кэш-памятью использовать эту единственную функциональную память без каких-либо внешних банков памяти?
Или должно быть внешнее ОЗУ, и кэш не может быть доступен или использоваться отдельно?
Современные ЦП настольных / серверных систем часто имеют больше внутренней кэш-памяти, чем многие компьютеры 1990-х годов, во всей системной памяти, поэтому их должно быть достаточно для выполнения простого кода.
ЦП, существовавшие до кэширования, такие как 6502, не могли ничего делать, поскольку внутренняя память ЦП составляла всего несколько байтов для счетчика адресов и аккумуляторов.
Речь идет не о запуске каких-либо современных операционных систем, а о запуске простого кода, запрограммированного в пользовательское ПЗУ, или вводимого вручную с помощью шестигранной клавиатуры ввода.
источник
Ответы:
Посмотрите этот чрезвычайно подробный отчет о последовательности загрузки ПК: http://www.drdobbs.com/parallel/booting-an-intel-architecture-system-par/232300699?pgno=2
Вы можете наблюдать это, запустив ПК без оперативной памяти: он будет воспроизводить серию звуковых сигналов. Программа, которая их воспроизводит, запускается с BIOS Flash ROM.
Я также видел такое поведение на некоторых процессорах ARM. Внутри SoC будут регистры конфигурации, которые позволят вам использовать кеш в качестве ОЗУ на ранних этапах последовательности загрузки, чтобы запустить программу, которая находит, перечисляет и конфигурирует DRAM.
источник
INVD
(при выходе из режима CAR, аннулировать кэш вместо того, чтобы бесполезные данные записывались в память, потенциально более что-то ценное).Как правило, кеш-память не адресуемая. Программа не может намеренно хранить или извлекать данные из нее.
источник
Хотя это напрямую не относится к семействам процессоров, указанным в вопросе, приведенная ниже схема будет работать на более ранних процессорах x86, поэтому да, возможно работать без ОЗУ или кеша, хотя этот подход требует некоторых творческих навыков программирования.
Еще в 1980-х годах я столкнулся с дизайном радиоприемника, который декодировал сигналы времени MSF, транслируемые в Великобритании. Эта конструкция использовала процессор Z80 и имела только ПЗУ для хранения программ. Вся обработка и хранение данных были выполнены с использованием внутренних регистров в процессоре. Это, очевидно, означало, что не может быть никаких вызовов подпрограмм, так как было достаточно памяти для хранения стека.
В то время стоимость оперативной памяти была высокой, и поскольку это был хобби-проект, важно было сократить расходы, не говоря уже о том, чтобы быть интересным учебным процессом. Это также было до появления широко доступных микроконтроллеров (8751 с ценой eprom более 100 фунтов стерлингов IIRC).
источник
Обычно процессор требует внешних часов. Но с этим, да, это может.
источник