Инженер 2.1 (СИ) - Нерский Эд
Шрифт:
Интервал:
Закладка:
С такой высоты горшок падает около десяти секунд, поэтому когда он долетел до цели, то оказалось, что маг, которому он был предназначен, уже отошёл, а его место занял другой. Его не убило, но левое плечо, руку и ногу повредило сильно.
Маги прореагировали на это довольно спокойно. Двое деловито взялись оказывать пострадавшему товарищу помощь, а остальных архимаг практически сразу отпустил.
— Им плевать на потери? — удивилась Кора.
— Скорее они выяснили, что полтергейст никогда не добивает жертву. Сейчас они должны попытаться как-то локализовать его. Я отлетел за пределы внутреннего города и стал ждать.
Архимаг скастовал какое-то плетение и всё пространство внутреннего города наполнилось антиэлементальным маревом с сильным градиентом от центра к периферии. Элементалям, находящимся внутри, должно захотеться покинуть город.
Я подлетел к этому полю и влетел в него. То, что я был в образе элементаля никак не мешало мне сделать это.
— Что ты делаешь?
— Эх жалко, что я больше не управляю полтергейстами, а то я бы научил их преодолевать это. — Ответил я, пролетая через границу города туда-сюда.
— Торговец предлагает мне сто пятьдесят золотых за два телепорта. Продаю?
— Конечно. — ответил я, отправляя ещё один горшок в десятисекундное путешествие вниз.
В этот раз смерть товарища произвела на эльфов большое впечатление. Они все активировали индивидуальные защиты, схватили труп и скрылись в здании ратуши. Антиэлементальное марево над внутренним городом замерцало и несколько раз усиливалось где-то раз в десять.
— Зачем ты его убил?
— Накатило что-то. Пусть считают, что полтергейст преодолел защиту. Побудут в напряжении, им полезно!
— Мы же сегодня собирались его похитить. А ну как он теперь не придёт? — укорила меня Кора.
— Тогда заберём его из постели. Но ты права, зря я это затеял. Я возвращаюсь домой!
…
Мы думали, что из за моей выходки операцию по захвату архимага придётся отложить, однако к утру он всё же пришёл к корням кмэла за синевой. Мы с Эт уже ожидали его там, наблюдая за двориком с крыши здания.
Спустившись по лестнице этот эльф спокойно подошёл к креслу и уселся в него, закрыв глаза.
Как только он это сделал, я активировал нить идущую к плетению Слёз, расположенному под ним. Тело эльфа немедленно расслабилось и плавно съехало на землю.
— Уснул? — спросила Этера.
— Ага, а ты боялась: “Архимаг! Архимаг!”. Ну что, забираем его? Гляди-ка, У него три телепорта! Сплошная польза!
Я начал было конденсироваться у кресла, но был остановлен мыслекриком: “Стой!”. Плавно, не делая резких движений, я переместился обратно в ту же точку с которой мы наблюдали за происходящим. Вокруг архимага открывались один за другим телепорты, а из них выходили эльфы.
— Какую-то сигнализацию мы проглядели. — прокомментировала Эт.
Я отправил в ауру архимагу вампира: он будет забирать себе всю энергию, которая поступает туда, не давая ему прийти в себя.
Четверо магов занимались приведением его в чувство, а ещё десятка два разошлись по дворику, оглядывая окрестности, разбрасывая разнообразные сканирующие плетения.
— Поднимемся повыше и усыпим их всех! — предложил я, отправляя Ледяные Слёзы с таймером, настроенным на несколько секунд.
Увы, моё плетение не осталось незамеченным и почти сразу все эльфы оказались накрыты различными куполами защит.
Поднимаясь вверх, мы вдруг наткнулись на препятствие: вокруг всего внутреннего города мерцал купол энергетического барьера.
— Убежать не получится. — прислала взволнованную мысль Эт.
— Вижу. Придётся ждать и прятаться.
Конденсатор интегратора зарядившись до порога срабатывания запустил Слёзы. Внизу сверкнуло в аурном зрении и я переместил туда своё внимание. Слёзы смогли свалить только трёх из двух десятков эльфов, остальных же моё убер-оружие не затронуло.
Четвёрка эльфов, занимавшаяся реанимационными действиями, решила не испытывать судьбу, а переместиться в более безопасное место. Архимага подняли и потащили внутрь здания. Чтобы не потерять его, я соединил себя и его ауру нитью в Сути.
(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})Крыши зданий, внутренний дворик ратуши, площадь и весь центр города были переполнены эльфами.
— Тащат какую-то штуку. — взволновано прокомментировала Эт. — Это артефакт Слёз Дракона! Нужно срочно бежать отсюда!
— Вот на этой крыше нет никого. — выбрал я, стараясь сохранять спокойствие, хотя получалось не очень. — Она не предназначена чтобы по ней ходили. Давай переждём атаку на ней. Нам нужно объединить сознания, чтобы пережить это молоко. — предложил я.
Два облачка сконденсировались в лужицу на крыше и вода начала стекать вниз.
— Не получается удержаться! Здесь везде наклон!
— Да, это же крыша. Так и должно быть. Что-то я не подумал об этом. Но уже поздно что-то менять!
До боли знакомое, неприятное бело-жёлтое марево молоком затопило всё вокруг. Необъединённые сознания потерялись в жёлтом тумане.
— Я не чувствую себя. Мы попались?
— Не думаю, что они ищут воду и пар. Скорее всего они ловят магов-диверсантов. Так, что просто подождём. Но если и поймают — то надеюсь, что в виде облачка пара можно будет сбежать.
— Кажется будто время остановилось. Движется оно только при произнесении мыслей.
— Да, надо посмотреть по часам сколько времени займёт вся атака. Незадолго до появления архимага я смотрел на часы. Сколько с тех пор прошло? Не более получаса?
— Как ты можешь в такой ситуации думать об измерениях?
— А больше же ничего не остаётся. Мы могли бы сломать этот артефакт, я даже знаю способ. Но, если это сделать, то они будут знать на кого охотиться. Придётся просто ждать. А ждать, ничего не делая, в этом молоке гораздо труднее.
Что мы хотели доделать по Ориону-128? Давай займёмся пока время стоит.
— Стек! Мне непонятно как под него выделять память, если будет запущено множество ядер.
— Просто же! Каждому ядру по какому-нибудь куску памяти для стека на старте его CPU и всё!
— Ну вот представь, — начала рассуждать Эт — захотим мы внести какие-то добавления в сам Орион-128. Чтобы это сделать нужно будет задействовать почти все имеющиеся ядра. Так?
— Так.
— Тогда размер стека станет больше размера всей нашей памяти. Пока получается, что мы никогда не сможем загрузить все ядра в работу.
— И что ты предлагаешь?
— Выделить пространство памяти для стека внутри каждого ядра. Так же как у нас сделана регистровая память.
— Ну что же, идея хорошая. А при переполнении этого пространства будет вызываться ещё одно исключение. Нужно определиться с тем, сколько этой памяти в ядре делать. На практике, в моём мире, большинство программ укладывались в стек размером в одну-две страницы памяти. То есть пятьсот-тысячу слов.
— Компьютер же называется Орион-128? Пусть будет 128К слов.
— А и правда, не нам же его делать, он сам себя сделает. Пусть так и будет. Итого, что нам нужно? Ещё один селектор адреса для внутренней стековой памяти. Он получается простой, поскольку доступ к нему только от одного CPU. И сама память. Команды работы со стековым регистром мы уже сделали. Получается переделываем вот здесь и вот здесь. И в регистре статуса появляется новая причина исключения.
Работа по доработке ядра заняла у нас чуть ли не целую вечность. Мы не могли заставлять наш прототип компьютера плести пробные плетения, поскольку время стояло. Поэтому работа продвигалась очень медленно. В дальнейшем пришлось перепроверять всё что мы наделали будучи окружены молоком. Переделка одного блока тянула за собой переделку другого. Пришлось так же добавить ещё пару команд в ассемблер процессора.
Справившись с изготовлением плетения стековой памяти, мы доделали шины доступа к управляющим регистрам и регистрам статуса каждого CPU.
Субъективно на все эти работы мы потратили что-то около месяца времени, а жёлтый туман не заканчивался и не заканчивался.
— Сколько времени прошло?