
Комментарии 27
Без оперативной памяти общий объём рабочей памяти составил бы чуть менее 100 МБ. Тем не менее, PortalRunner пытается запускать программы в ограниченном пространстве кэша ЦП с построчной оптимизацией ассемблерного кода, созданием примитивной графики с использованием ASCII и ограниченной цветовой палитрой.
С таким размером можно особо не экономить. Интересно, может ли BIOS настроить физическую адресацию на эту сотню мегабайт и дальше загрузить операционку?
шестиядерный процессор с тремя уровнями кэша: уровень 1 (самый быстрый) имеет 64 КБ на ядро, уровень 2 — 512 КБ на ядро, а уровень 3 — 16 МБ на ядро.
На этом ПК он смог запустить в кэше процессора. «Змейку».
Которую когда-то запускали на 256 байтах оперативной памяти...
Блоге очень плохо разбирается в Кэше. Потому что кэш 3-го уровня един для всех ядер, поэтому там не 16МБ на ядро а просто 16 МБ. Кроме того кэш второго уровня содержит всю информацию первого уровня, а кэш третьего уровня содержит всю информацию кэша второго уровня. Поэтому нельзя просто так складывать их объемы. Если-бы все было так как он говорит то люди не стали заморачиваться с разными уровнями кэшами, а сделали-бы один большой.
Да, на его Ryzen 5 5500 всего 16Mb L3. Вроде как на последних Zen он, как и у Интела, неинклюзивный - но сомневаюсь, что можно явно раскидать L2 и L3 по разным адресам (хотя для меня этот режим Cache as RAM скорее тёмная магия).
Только вот запустить ему это удалось совсем не на ryzen, а на вполне уже достигшем совершенноления core2duo. Потому что всё что младше - огороженное ME / PSP без документации, и cache-as-ram там уже не используется во время начальной инициализации (хотя теоретически возможно мог бы).
Если бы ПК мог загружать какую-то базовую диагностическую систему чисто на кэше, без памяти вообще, в этом был бы практический смысл. Хотя бы для того, чтобы выдать подробное человекочитаемое сообщение об ошибке на экран в случае проблем с памятью.
Примерно это и делает обычный BIOS.
Не все помнят ожидание счётчика памяти на этапе пост биоса
Этот счетчик был даже на компьютерах вообще без кэша - на PC XT например. Там все-таки использовалась оперативная память, просто BIOS использовал ее по минимуму. А если физически вытащить оперативку - то просто пищал и не грузился.
Читал пару лет назад про запуск и загрузку DOS на 486 ПК на 256Кб памяти L2.
DDR3 так же дёшева. Собирайте ПК на ней.
Жаль что только bios. Все более-менее интересные процессоры с кэшем начинаются с efi. Давно в мозгу сидит идея запуска вин98 на представителях haswell/broadwell с L4 кэшем в 128 МБ без планок ОЗУ, только за счёт кэша.
А кроме лени что-то ещё мешает её реализовать? :)
Отсутствие нужных скиллов и лень матушка
А вот с например BIOS and Kernel Developer's Guide (BKDG) для AMD Family >=17h, то есть начиная с zen1 (почти 10-ти летней давности) можно где-то ознакомится и он выложен в открытый доступ, не под NDA? С интелом тоже не лучше, это видимо от переизбытка открытой и досутпной документации на современные процессоры блогеру из исходной статьи пришлось по помойкам искать core2duo, чтобы на нём это запустить.
Блогер запустил ПК без ОЗУ ради эксперимента