Светлый фон

— А больше же ничего не остаётся. Мы могли бы сломать этот артефакт, я даже знаю способ. Но, если это сделать, то они будут знать на кого охотиться. Придётся просто ждать. А ждать, ничего не делая, в этом молоке гораздо труднее.

Что мы хотели доделать по Ориону-128? Давай займёмся пока время стоит.

— Стек! Мне непонятно как под него выделять память, если будет запущено множество ядер.

— Просто же! Каждому ядру по какому-нибудь куску памяти для стека на старте его CPU и всё!

— Ну вот представь, — начала рассуждать Эт — захотим мы внести какие-то добавления в сам Орион-128. Чтобы это сделать нужно будет задействовать почти все имеющиеся ядра. Так?

— Так.

— Тогда размер стека станет больше размера всей нашей памяти. Пока получается, что мы никогда не сможем загрузить все ядра в работу.

— И что ты предлагаешь?

— Выделить пространство памяти для стека внутри каждого ядра. Так же как у нас сделана регистровая память.

— Ну что же, идея хорошая. А при переполнении этого пространства будет вызываться ещё одно исключение. Нужно определиться с тем, сколько этой памяти в ядре делать. На практике, в моём мире, большинство программ укладывались в стек размером в одну-две страницы памяти. То есть пятьсот-тысячу слов.

— Компьютер же называется Орион-128? Пусть будет 128К слов.

— А и правда, не нам же его делать, он сам себя сделает. Пусть так и будет. Итого, что нам нужно? Ещё один селектор адреса для внутренней стековой памяти. Он получается простой, поскольку доступ к нему только от одного CPU. И сама память. Команды работы со стековым регистром мы уже сделали. Получается переделываем вот здесь и вот здесь. И в регистре статуса появляется новая причина исключения.

Работа по доработке ядра заняла у нас чуть ли не целую вечность. Мы не могли заставлять наш прототип компьютера плести пробные плетения, поскольку время стояло. Поэтому работа продвигалась очень медленно. В дальнейшем пришлось перепроверять всё что мы наделали будучи окружены молоком. Переделка одного блока тянула за собой переделку другого. Пришлось так же добавить ещё пару команд в ассемблер процессора.

Справившись с изготовлением плетения стековой памяти, мы доделали шины доступа к управляющим регистрам и регистрам статуса каждого CPU.

Субъективно на все эти работы мы потратили что-то около месяца времени, а жёлтый туман не заканчивался и не заканчивался.

— Сколько времени прошло?

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