Предыстория
У каждого из нас есть мечты. Да они трудновыполнимы, да они потребуют много стараний, но это же все же мечты! Их нельзя забывать. Поэтому я, загоревшись алым пламенем энтузиаста, выкладываю вам одну из них.
Многие в курсе, что есть такая игра- 0x10c, фишка которой является программирование на ассемблере. Написать там можно будет абсолютно что угодно, от программы по циклу выключения питания, до анимации Nyan-Cat (гуглите). Вообщем, вчера ко мне пришла идея сделать подобное но у нас, на MCGL.
MCPU (маленькое центральное обрабатывающее устройство) - это семейство процессоров следующего поколения. В отличии от микросхемы и обычных CPU, эти процессоры могут делать вычислительные процессы с участием игрока, а не по коду игры. Всего имеется 4 представителя процессоров MCPU:
MCPU-01
Первичная версия процессора. Имеет большое энергопотребление, в качестве интерфейса использует код, имеет всего один однопоточный канал, то есть может выполнять только одно действие одновременно.
MCPU-11
Второе поколение процессоров на коде. По мимо увеличившегося энергопотребления, количество одновременно выполняемых команд увеличилось до 2х.
MCPU-4
Новая ветка процессоров следующего уровня, впрочем основанная на архитектуре предыдущих. Работает на собственном коде. Не поддерживает двоичный. большое энергопотребление. Кол-во выполняемых задач одновременно-4.
MCPU-16
Последнее поколение супер-процессоров. Быстродейственен, потребляет очень много энергии. Архитектура восьмиядерная. Сильно нагревается. Работает на собственном коде, доработанным с MCPU-4 и может выполнять 16 задач одновременно.
Теперь, после идеи, давайте перейдем к практике.
Что процессор будет представлять в игре?
Процессор- композитный полублок, с прочностью железного куба. Этот полублок имеет свойство через определенные интервалы времени подавать сигнал по сети редстоун. При клике по нему ПКМ открывается окно программирования, куда будут вписаны алгоритмы действий. Для выполнения одного цикла задач, процессору требуется 1% заряда батареи (MCPU-01), 6% (MCPU-16). Питание подводится через редстоун к генераторам. Процессор имеет шкалу температуры, которая повышается пропорционально количеству выполняемых задач и их сложности. При подведении через редстоун к компрессору, тот начнет работу, тратя заряд из генераторов. О энергорасходах позже.
Что нужно, чтобы процессор заработал?
Вычислительная сеть будет работать по базе БАКа, может быть собрана в разных последовательностях, но в конечном итоге, к процессору должны быть подведены по редстоуну генераторы, если это нужно, компрессор и тогда он начнет работать.
Как будет происходить написание алгоритмов?
Язык написание это очень классная вещь. Вы только представьте! Вы сможете писать процессору абсолютно любые алгоритмы, которые только вздумается. К примеру открывать поршень каждые 2 часа или написать музыку с помощью нотных блоков и так далее. Что до самого языка: их будет два. Двоичный код и профессиональный язык. Чтобы начать программирование CPU, нужно будет нажать по нему ПКМ, выйдет диалоговое окно кода. Там и будет делаться вся работа.
Техническая сторона и программирование на MCPU
Подключенные устройства
Все процессоры умеют распознавать подключенные через редстоун сеть устройства (поршень, дорожка редстоуна, нотный блок, детектор etc). В самом верху будут показаны устройства, которые подключены к MCPU. Пример на MCPU-4:
Что мы видим на этом кадре? Здесь написано, что к MCPU подключено питание. Количество едениц заряда батареи- 5000 единиц. Количество самих блоков генераторов- 64. Здесь мы менять ничего не сможем, однако, когда открываются скобки начинается место изменения параметров. ON- это параметр используемости. Значение 1 равносильно Yes, значение 0- No. Выберем 0, и процессор отключится, так как перестанет использовать как питание подключенные генераторы. Далее. Параметр "Exploitation" это процент использования заряда. Например, если эти-же генераторы используются в адронном коллайдере, можно поставить значение эксплуатации на 50 и тогда потребленние энергии будет пониженным. Параметр Priority это какой по счету идет эта связка генераторов. Так, если у вас стоит две связки, то чтобы CPU не потреблял энергию из обоих генераторов, можно поставить значение с 1 (50-50) на 2 (25-75) и 3 (0-100) и если значение 2 всего лишь понижает значение потребления энергии, то если поставить значение 3, можно создать доп.питание. Так как оно начнет использоваться только если закончится заряд у связок с приоритетом 1 и 2.
Второй пример:
Тут мы видим простейший пример: к CPU подведено через редстоун два поршня. Какой из них-1, а какой-2, придется выявлять экспеременатально, но по умолчанию, более большую цифру получают те предметы, которые находятся дальше от CPU по сети. Теперь открывается значение ON. Пожалуйста, не путайте. Это значение влияет на активность этого поршня при написании алгоритмов. Если поставим ON и потом в коде напишем Piston1 ON, он включится. Если значение выставить на ноль, то при написании анологичного в коде, ничего не произойдет. Это поможет делать просто великолепную вещь: допустим, у вас подключены два поршня, но один из них просто присоединился из другой схемы. Чтобы не переставлять ее, банально отключаем его в параметрах и теперь при подаче на него сигнала от CPU, он не будет менять сигнал.
Окно MCPU
Теперь, когда вы поняли суть работы MCPU, взгянем в самый верх окна. Там стоит информация о самом CPU и все самые важные сведения. Вот пример на MCPU-4:
Это кратко приведенная информация о всех параметрах CPU. Она отображается динамически и обновляется каждые 20 (MCPU-01), 10 (MCPU-11), 5 (MCPU-4) и 2 (MCPU-16) секунд. Параметр MCPU Version- модель вашего процессора из 4 имеющихся. Cores- количество ядер, которые соответствуют количеству одновременно выполняемых процессов. Active Cores- Количество ядер (процессов) выполняемых сейчас. Heat- Это процент нагрева. Если он превысит 70%, то через некоторое время процессор выйдет из строя. При нагревании на 100%, выходит мгновенно. Intake charge это потребление энергии в данный момент. Оно равно проценту от всех подключенных к ней генераторов (генераторы со значением priority=3 не учитываются). Percentage of use это процент работы процессора от максимальной. Можно сказать более точное число, вместо Active Cores. Used PAM это отдельный параметр, о котором мы поговорим позже.
Программирование в MCPU
Окно MCPU будет с двумя вкладышами. Слева будет располагаться вкладыш Info (информация), слева Code (кодировка). Если левая часть описана выше, то что с правой? Сейчас я приведу пример простейшего алгоритма.
Это простейшая функция, которая выполняет вот это действие:
=
То есть мы заменили гейт на использование CPU. Теперь о написанном:
Function1 это название нашего действия. Потом, мы сможем допустим сделать цикл из этой функции, используя это название.
Значение if (если) это условия при которых должна выполниться функция. Сюда можно допустим написать: если отключится питание 1, подключить питание 2 и все в этом роде.
Значение lever1 и lever2 это наши рычаги. То есть в if стоит: если рычаг 1 и рычаг 2 будут нести активный сигнал, то...
"What" (то) это и есть сама функция, которая будет выполняться если будут соблюдены условия под if. Если if и реальность не совпадают, функция не заработает. Под What у нас банально стоит pistol1=1 то есть: "Если рычаг 1 и рычаг 2 будут активны, активируется поршень 1." Так можно прочитать эту функцию.
"But if" (но если) это условия, при которых не будет работать функция. У нас стоит: но если при активных рычагах, поршень уже активен, то..."
"Whatb" (то (но)), это значение What для условий But if. Тут написано, поршень 1 будет отключен.
Таким образом мы получаем функцию: "Если будут активны рычаг 1 и рычаг 2, то активируется поршень 1, но если поршень 1 уже активен, то поршень 1 деактивируется" Все очень просто!
Виды функций
Всего существует три вида функций выполняющих разные задачи. Первый вид, это функция: "if-what" (если-то). Мы ее уже рассмотрели и поняли, что она выполняет. Эта функция, так сказать постоянно активна и работает не так, как задаст человек, а только тогда, когда будут соблюдены условия if.
Одинарная функция (One). Ее задача в том, чтобы при активации сделать одно действие, которое может состоять из нескольких и затем выключиться. Пример:
Все. Мы создали второй вид функции. Если выставить в параметрах: ON, эта функция сработает один раз. Чтобы задать цикл, нам нужно будет обратиться к третьему виду функций.
Цикл
Для задания цикла нам будет необходимо использовать новую функцию. Опять-же начнем с примера. Нам нужно задать мигание красного факела, используя функции, приведенные выше.
use function- параметр для выбора функции. Пожалуйста, не путайте! У любой функции можно назначить любой двузначный индекс и в use function указывается именно индекс.
closed- параметр замкнутости цикла. Если мы поставим значение 1, то функция будет выполняться бесконечно.
Actions- если нам нужно, чтобы функция выполнялась определенное количество раз, то мы ставим значение closed на ноль, а в Actions указываем количество раз, сколько будет выполняться функция.
work time: время работы функции. То есть наш факел будет гореть одну секунду. (все время в MCPU указывается в секундах)
pause: время перерыва между активностью функции.
recoil: откат. Если поставить да, то наш факел во время паузы будет делать обратное функции действие, то есть гаснуть. Если бы мы поставили нет, то на активный факел постоянно бы подавался сигнал.
RAM
Когда я продумывал строение процессоров, я очень долго ломал голову над тем, как заставить игроков, стимулировать их, ставить много процессоров рядом, увеличивать их вычислительные способности. Тогда я придумал, а точнее просто вспомнил о таком важном элементе, как память. Итак, процессоры будут иметь разное количество возможности заполняемых функций. Так, у MCPU-01 это будет 2 функции в памяти, у MCPU-11 4, у MCPU-4 6 функций и у MCPU-16 12 функций. То допустим MCPU-01 может выполнять только одну функцию одновременно, но зато в памяти его сможет храниться их две и помощью подключенного процессора можно будет выбирать между ними.
RAID
Отдельно нужно описать что будет, если подвести по цепи редстроун к процессору второй. Во-первых, все процессоры совместимы (мы-же не Intel и не будем с каждым новым поколением менять соккет) а потому, они будут общаться с друг другом, как MCPU-01 с MCPU-11, так и MCPU-01 с MCPU-16.
Во-вторых, при подключении процессора, они рандомно меняют цвет центральной лампочки на одинаковый (синий, зеленый, пурпурный). Так можно будет понять, какие процессоры синхронизированы, какие- нет.
В-третьих, при синхронизации CPU в каждом из них появляется значения Main на самом верху. Если поставить один у одного процессора, у всех остальных оно изменится на 0 и перестанет меняться. Только тогда, когда мы уберем значение на главном CPU появится возможность менять значение Main.
Главный процессор
Главный вычислительный процессор имеет свойства общаться со всеми процессорами из своего окна. Во-первых, в нем появляется краткая информация о всех подключенных к нему CPU, краткая информация о них (темп; процент загруженности etc) и во вкладке Code появляются все функции, написанные в остальных процессорах. Таким образом, мы можем выделить три примитивных процессора под память, подвести их к главному и использовать как массив памяти. Это открывает удивительные возможности! Также с главного процессора можно регулировать энергопотребление и нагрузку на подпроцессоры. Также, при синхронизации, MCPU-01 взятый за главный процессор сможет выполнять хоть 16, хоть 64 функции одновременно, для этого просто нужно будет написать функцию перенесения вычислений на более мощные процессоры. И активировать ее.
Функция переноса вычислений с главного процессора
Подпроцессоры
При выборе главного CPU, все остальные, которые были подключены по редстоун цепям автоматически становятся под процессорами. У них остаются все те-же функции, как и у обычных, без синхронизаций, но они не имеют доступ к памяти остальных процессоров, как Главный CPU. Также важно отметить, что у подключенных к сети процессоров отсутствует возможность включать/выключать функции. Это делается через главный CPU. Но когда через главный процессор активируется функция подпроцессора, сигнал пойдет не от главного, а от того, где записана эта функция.
Настройка подпроцессоров
Пример 2
Поскольку мы уже знакомы со значением приоритета (1- полностью, 2- частично, 3- если не работают остальные), нам видно, что в первом случае, первых процессор выделен под вычисления, когда второй может использоваться как память. Так можно экономить энергопотребление. Во-втором случае оно разделяется равномерно и потребляют энергию одинаково.
Система охлаждения и нагрузка
На каждый процессор при выполнении функции действует нагрузка. Нагрузка повышает температуру и энергопотребление. Сложность функции определяется количеством переменных (lever, pistol, detector, etc), которые участвуют в функции. Если функция предполагает цикл другой, то нагрузка просчитывается по обеих функциям. Так, основываясь на MCPU-4, функция активации поршня при двух включенных рычагах нагружает ядро на 60% (два рычага и поршень). Каждая переменная прибавляет по 20%. Но не забывайте, что процент высчитывается по MCPU-01. То есть запас процента у MCPU-4=400%, а следовательно, функция нагружает примерно на 15%. А при сети процессоров процент нагрузки можно будет распределять ровно между всеми процессорами. С каждыми 10% повышается температура. Стандартно это 35C. С каждыми 10% прибавляется по 1 градусу. Так, теоретически, температура MCPU-16 при полной нагрузке будет равна 115C (800/10+35). При работе на температуре 80C процессор выйдет из строя через 5 минут работы. Функции автоматического отключения у MCPU нет. Чтобы избежать поломки процессора, к нему необходимо поставить компрессор, который будет охлаждать воздух вокруг. Компрессор активируется функцией:
Функция активации компрессора
Если не задать функцию и просто включить в connected компрессор, то он будет потреблять энергию и работать постоянно. Компрессор расходует энергию от генераторов, расход вычисляется по формуле: 10 секунд, 1% заряда.
Перегрев
Все процессоры умеют распознавать подключенные через редстоун сеть устройства (поршень, дорожка редстоуна, нотный блок, детектор etc). В самом верху будут показаны устройства, которые подключены к MCPU. Пример на MCPU-4:
Connected:
Power 5000 units
64 Blocks
[
ON: 1
Exploitation: 100
Priority: 1
]
Что мы видим на этом кадре? Здесь написано, что к MCPU подключено питание. Количество едениц заряда батареи- 5000 единиц. Количество самих блоков генераторов- 64. Здесь мы менять ничего не сможем, однако, когда открываются скобки начинается место изменения параметров. ON- это параметр используемости. Значение 1 равносильно Yes, значение 0- No. Выберем 0, и процессор отключится, так как перестанет использовать как питание подключенные генераторы. Далее. Параметр "Exploitation" это процент использования заряда. Например, если эти-же генераторы используются в адронном коллайдере, можно поставить значение эксплуатации на 50 и тогда потребленние энергии будет пониженным. Параметр Priority это какой по счету идет эта связка генераторов. Так, если у вас стоит две связки, то чтобы CPU не потреблял энергию из обоих генераторов, можно поставить значение с 1 (50-50) на 2 (25-75) и 3 (0-100) и если значение 2 всего лишь понижает значение потребления энергии, то если поставить значение 3, можно создать доп.питание. Так как оно начнет использоваться только если закончится заряд у связок с приоритетом 1 и 2.
Второй пример:
Connected:
- Pistol 1
[
ON 0
]
Pistol 2
[
ON 1
]
Тут мы видим простейший пример: к CPU подведено через редстоун два поршня. Какой из них-1, а какой-2, придется выявлять экспеременатально, но по умолчанию, более большую цифру получают те предметы, которые находятся дальше от CPU по сети. Теперь открывается значение ON. Пожалуйста, не путайте. Это значение влияет на активность этого поршня при написании алгоритмов. Если поставим ON и потом в коде напишем Piston1 ON, он включится. Если значение выставить на ноль, то при написании анологичного в коде, ничего не произойдет. Это поможет делать просто великолепную вещь: допустим, у вас подключены два поршня, но один из них просто присоединился из другой схемы. Чтобы не переставлять ее, банально отключаем его в параметрах и теперь при подаче на него сигнала от CPU, он не будет менять сигнал.
Окно MCPU
Теперь, когда вы поняли суть работы MCPU, взгянем в самый верх окна. Там стоит информация о самом CPU и все самые важные сведения. Вот пример на MCPU-4:
MCPU Version:
Cores:
Active Cores:
Heat:
Intake charge:
Percentage of use:
Used PAM:
- M-4 (35697.2516.4)
Cores:
- 4
Active Cores:
- 2
Heat:
- 31%
Intake charge:
- 7%
Percentage of use:
- 52%
Used PAM:
- 5%
Это кратко приведенная информация о всех параметрах CPU. Она отображается динамически и обновляется каждые 20 (MCPU-01), 10 (MCPU-11), 5 (MCPU-4) и 2 (MCPU-16) секунд. Параметр MCPU Version- модель вашего процессора из 4 имеющихся. Cores- количество ядер, которые соответствуют количеству одновременно выполняемых процессов. Active Cores- Количество ядер (процессов) выполняемых сейчас. Heat- Это процент нагрева. Если он превысит 70%, то через некоторое время процессор выйдет из строя. При нагревании на 100%, выходит мгновенно. Intake charge это потребление энергии в данный момент. Оно равно проценту от всех подключенных к ней генераторов (генераторы со значением priority=3 не учитываются). Percentage of use это процент работы процессора от максимальной. Можно сказать более точное число, вместо Active Cores. Used PAM это отдельный параметр, о котором мы поговорим позже.
Программирование в MCPU
Окно MCPU будет с двумя вкладышами. Слева будет располагаться вкладыш Info (информация), слева Code (кодировка). Если левая часть описана выше, то что с правой? Сейчас я приведу пример простейшего алгоритма.
function 1
- [
if
lever1: 1
lever2: 1
that
pistol1:1
but if
lever1: 1
lever2: 1
pistol1: 1
whatb
lever1: 1
lever2: 1
pistol1: 0
]
Это простейшая функция, которая выполняет вот это действие:
Function1 это название нашего действия. Потом, мы сможем допустим сделать цикл из этой функции, используя это название.
Значение if (если) это условия при которых должна выполниться функция. Сюда можно допустим написать: если отключится питание 1, подключить питание 2 и все в этом роде.
Значение lever1 и lever2 это наши рычаги. То есть в if стоит: если рычаг 1 и рычаг 2 будут нести активный сигнал, то...
"What" (то) это и есть сама функция, которая будет выполняться если будут соблюдены условия под if. Если if и реальность не совпадают, функция не заработает. Под What у нас банально стоит pistol1=1 то есть: "Если рычаг 1 и рычаг 2 будут активны, активируется поршень 1." Так можно прочитать эту функцию.
"But if" (но если) это условия, при которых не будет работать функция. У нас стоит: но если при активных рычагах, поршень уже активен, то..."
"Whatb" (то (но)), это значение What для условий But if. Тут написано, поршень 1 будет отключен.
Таким образом мы получаем функцию: "Если будут активны рычаг 1 и рычаг 2, то активируется поршень 1, но если поршень 1 уже активен, то поршень 1 деактивируется" Все очень просто!
Виды функций
Всего существует три вида функций выполняющих разные задачи. Первый вид, это функция: "if-what" (если-то). Мы ее уже рассмотрели и поняли, что она выполняет. Эта функция, так сказать постоянно активна и работает не так, как задаст человек, а только тогда, когда будут соблюдены условия if.
Одинарная функция (One). Ее задача в том, чтобы при активации сделать одно действие, которое может состоять из нескольких и затем выключиться. Пример:
Function2 index: 2
- [
torch1: 1
]
Function3 index: 3
- [
torch1: 0
]
Все. Мы создали второй вид функции. Если выставить в параметрах: ON, эта функция сработает один раз. Чтобы задать цикл, нам нужно будет обратиться к третьему виду функций.
Цикл
Для задания цикла нам будет необходимо использовать новую функцию. Опять-же начнем с примера. Нам нужно задать мигание красного факела, используя функции, приведенные выше.
Function 4 index: 4
- [
use function: 2
closed: 1
actions:
work time: 1
pause: 1
recoil: 1
]
use function- параметр для выбора функции. Пожалуйста, не путайте! У любой функции можно назначить любой двузначный индекс и в use function указывается именно индекс.
closed- параметр замкнутости цикла. Если мы поставим значение 1, то функция будет выполняться бесконечно.
Actions- если нам нужно, чтобы функция выполнялась определенное количество раз, то мы ставим значение closed на ноль, а в Actions указываем количество раз, сколько будет выполняться функция.
work time: время работы функции. То есть наш факел будет гореть одну секунду. (все время в MCPU указывается в секундах)
pause: время перерыва между активностью функции.
recoil: откат. Если поставить да, то наш факел во время паузы будет делать обратное функции действие, то есть гаснуть. Если бы мы поставили нет, то на активный факел постоянно бы подавался сигнал.
RAM
Когда я продумывал строение процессоров, я очень долго ломал голову над тем, как заставить игроков, стимулировать их, ставить много процессоров рядом, увеличивать их вычислительные способности. Тогда я придумал, а точнее просто вспомнил о таком важном элементе, как память. Итак, процессоры будут иметь разное количество возможности заполняемых функций. Так, у MCPU-01 это будет 2 функции в памяти, у MCPU-11 4, у MCPU-4 6 функций и у MCPU-16 12 функций. То допустим MCPU-01 может выполнять только одну функцию одновременно, но зато в памяти его сможет храниться их две и помощью подключенного процессора можно будет выбирать между ними.
RAID
Отдельно нужно описать что будет, если подвести по цепи редстроун к процессору второй. Во-первых, все процессоры совместимы (мы-же не Intel и не будем с каждым новым поколением менять соккет) а потому, они будут общаться с друг другом, как MCPU-01 с MCPU-11, так и MCPU-01 с MCPU-16.
Во-вторых, при подключении процессора, они рандомно меняют цвет центральной лампочки на одинаковый (синий, зеленый, пурпурный). Так можно будет понять, какие процессоры синхронизированы, какие- нет.
В-третьих, при синхронизации CPU в каждом из них появляется значения Main на самом верху. Если поставить один у одного процессора, у всех остальных оно изменится на 0 и перестанет меняться. Только тогда, когда мы уберем значение на главном CPU появится возможность менять значение Main.
Главный процессор
Главный вычислительный процессор имеет свойства общаться со всеми процессорами из своего окна. Во-первых, в нем появляется краткая информация о всех подключенных к нему CPU, краткая информация о них (темп; процент загруженности etc) и во вкладке Code появляются все функции, написанные в остальных процессорах. Таким образом, мы можем выделить три примитивных процессора под память, подвести их к главному и использовать как массив памяти. Это открывает удивительные возможности! Также с главного процессора можно регулировать энергопотребление и нагрузку на подпроцессоры. Также, при синхронизации, MCPU-01 взятый за главный процессор сможет выполнять хоть 16, хоть 64 функции одновременно, для этого просто нужно будет написать функцию перенесения вычислений на более мощные процессоры. И активировать ее.
Функция переноса вычислений с главного процессора
Function1 index:1
- if
CPU1 computing percente ›100
what
computing: CPU2 CPU3
But if
CPU 2 CPU3 computing percente ›100
whatb
computing: all
- Загрузка подпроцессоров
Выполняемая функция загружает ядро MCPU-01 на 100%, то MCPU-11 на 200%, MCPU-4 на 400% и MCPU-16 на 800%, если брать загружаемость ядра MCPU-01 за 100%.
Таким образом, один MCPU-16 можно заменить 8 MCPU-01. И при умелом использовании, можно будет тактично делать их совмещение.
Подпроцессоры
При выборе главного CPU, все остальные, которые были подключены по редстоун цепям автоматически становятся под процессорами. У них остаются все те-же функции, как и у обычных, без синхронизаций, но они не имеют доступ к памяти остальных процессоров, как Главный CPU. Также важно отметить, что у подключенных к сети процессоров отсутствует возможность включать/выключать функции. Это делается через главный CPU. Но когда через главный процессор активируется функция подпроцессора, сигнал пойдет не от главного, а от того, где записана эта функция.
Настройка подпроцессоров
- Важнейшим аспектом является настройка подпроцессоров. Для каждого из них имеется индекс. По этому индексу можно настроить следующие параметры:
CPU setting
- CPU1
computing priority: 1
energy change: 80%
CPU2
comuting priority: 3
energy change: 20%
Пример 2
CPU setting
- CPU1
computing priority: 2
energy change: 50%
CPU2
comuting priority: 2
energy change: 50%
Поскольку мы уже знакомы со значением приоритета (1- полностью, 2- частично, 3- если не работают остальные), нам видно, что в первом случае, первых процессор выделен под вычисления, когда второй может использоваться как память. Так можно экономить энергопотребление. Во-втором случае оно разделяется равномерно и потребляют энергию одинаково.
Система охлаждения и нагрузка
На каждый процессор при выполнении функции действует нагрузка. Нагрузка повышает температуру и энергопотребление. Сложность функции определяется количеством переменных (lever, pistol, detector, etc), которые участвуют в функции. Если функция предполагает цикл другой, то нагрузка просчитывается по обеих функциям. Так, основываясь на MCPU-4, функция активации поршня при двух включенных рычагах нагружает ядро на 60% (два рычага и поршень). Каждая переменная прибавляет по 20%. Но не забывайте, что процент высчитывается по MCPU-01. То есть запас процента у MCPU-4=400%, а следовательно, функция нагружает примерно на 15%. А при сети процессоров процент нагрузки можно будет распределять ровно между всеми процессорами. С каждыми 10% повышается температура. Стандартно это 35C. С каждыми 10% прибавляется по 1 градусу. Так, теоретически, температура MCPU-16 при полной нагрузке будет равна 115C (800/10+35). При работе на температуре 80C процессор выйдет из строя через 5 минут работы. Функции автоматического отключения у MCPU нет. Чтобы избежать поломки процессора, к нему необходимо поставить компрессор, который будет охлаждать воздух вокруг. Компрессор активируется функцией:
Функция активации компрессора
Function1 index: 1
- if
temperature ›80
what
compressor1: 1
energy change: 50%
but if
temperature ›90
whatb
energy change: 100%
Перегрев
- Если CPU будет выполнять работу 5 минут (80C) 4м. (90C) 3м. (100C) 2м. (110C) 1м. (120C) 0.30м (120›), то процессор взрывается, а вокруг S=25 разгорается пожар. Процессор поджигаем и если он горит дольше 2 минут, то выходит из строя.
Сравнение процессоров, прочее
Различия процессоров
MCPU-01
Первое достижение ныне успешной компании Minecraft inc. В 2013 году был портирован на современный код с двоичного. Слабые вычислительные возможности позволяют ему выполнять только одну функцию одновременно, но в памяти имеется запасной чип на еще одну функцию.
Количество ядер 1
Одновременное выполняемые команды 1
Объем памяти 2 функции
Нагреваемость низкая
MCPU-11
Старший собрат своего предшественника MCPU-01. Также адаптирован под современный код в 2013 году. Является лучше по качествам, и имеет двухядерную архитектуру.
Количество ядер 2
Одновременное выполняемые команды 2
Объем памяти 4 функции
Нагреваемость средняя
MCPU-4
Прорыв в сфере процессорных архитектур! Разработчики добились увеличения и равномерного распределения нагрузки на 4 ядра, кэш был увеличен. Быстродействие улучшилось!
Количество ядер 4
Одновременное выполняемые команды 4
Объем памяти 6 функции
Нагреваемость высокая
MCPU-16
Самая последняя разработка Minecraft inc. Супер-процессор. Развивает небывалую скорость обработки большого потока данных, а многопоточность увеличена вдовое!
Количество ядер 8
Одновременное выполняемые команды 16
Объем памяти 10 функции
Нагреваемость очень высокая
Процессоры в игре:
Процессоры безусловно очень перспективный предмет. Он поможет делать то, чего раньше нигде не было. Но и его получение должно быть соответственным. Крафт его без вопросов отдается инженеру. Крафт должен быть дорогим и не очень, сложным и не совсем. Так, чтобы из доступной фичи он не перерос в сомнительную дорогую игрушку, непонятно зачем с такими ценами нужную. Тут я пас. Надеюсь администрация рассмотрит этот экономический аспект.
Также процессоры поднимут стимул качаться- делать то, о чем можно не задумываться инженерам выше 22 уровня.
Так, игрокам придется поискать того человека, который смог-бы обеспечить их такими технологиями и хитро выкручиваться, используя старые вещи. (как в жизни вообщем-то).
CPU как игровой блок
CPU- полублок, который может быть установлен только на железный блок. Поджигается. Имеет прочность печки. Снимается гаечным ключом, любой профессией. В остальных случаях не выпадает. Не прибавляет единицы прокачки. Используется в ред-системах.
MCPU-01
Первое достижение ныне успешной компании Minecraft inc. В 2013 году был портирован на современный код с двоичного. Слабые вычислительные возможности позволяют ему выполнять только одну функцию одновременно, но в памяти имеется запасной чип на еще одну функцию.
Количество ядер 1
Одновременное выполняемые команды 1
Объем памяти 2 функции
Нагреваемость низкая
MCPU-11
Старший собрат своего предшественника MCPU-01. Также адаптирован под современный код в 2013 году. Является лучше по качествам, и имеет двухядерную архитектуру.
Количество ядер 2
Одновременное выполняемые команды 2
Объем памяти 4 функции
Нагреваемость средняя
MCPU-4
Прорыв в сфере процессорных архитектур! Разработчики добились увеличения и равномерного распределения нагрузки на 4 ядра, кэш был увеличен. Быстродействие улучшилось!
Количество ядер 4
Одновременное выполняемые команды 4
Объем памяти 6 функции
Нагреваемость высокая
MCPU-16
Самая последняя разработка Minecraft inc. Супер-процессор. Развивает небывалую скорость обработки большого потока данных, а многопоточность увеличена вдовое!
Количество ядер 8
Одновременное выполняемые команды 16
Объем памяти 10 функции
Нагреваемость очень высокая
Процессоры в игре:
Процессоры безусловно очень перспективный предмет. Он поможет делать то, чего раньше нигде не было. Но и его получение должно быть соответственным. Крафт его без вопросов отдается инженеру. Крафт должен быть дорогим и не очень, сложным и не совсем. Так, чтобы из доступной фичи он не перерос в сомнительную дорогую игрушку, непонятно зачем с такими ценами нужную. Тут я пас. Надеюсь администрация рассмотрит этот экономический аспект.
Также процессоры поднимут стимул качаться- делать то, о чем можно не задумываться инженерам выше 22 уровня.
- MCPU-01 Инженер с уровнями 20/20
MCPU-11 Инженер с уровнями 22/22
MCPU-4 Инженер с уровнями 24/24
MCPU-16 Инженер с уровнями 26/26
Так, игрокам придется поискать того человека, который смог-бы обеспечить их такими технологиями и хитро выкручиваться, используя старые вещи. (как в жизни вообщем-то).
CPU как игровой блок
CPU- полублок, который может быть установлен только на железный блок. Поджигается. Имеет прочность печки. Снимается гаечным ключом, любой профессией. В остальных случаях не выпадает. Не прибавляет единицы прокачки. Используется в ред-системах.
Почему Нам это нужно
Плюсы и минусы
Минусы:
•Сомнительная замена ред-схемам?
•Очень сложно реализовать
•Кто захочет возиться с кодами?
•Это не необходимость
•Новые баги
•Очень сложно реализовать
•Кто захочет возиться с кодами?
•Это не необходимость
•Новые баги
Плюсы:
•Новые возможности
•Есть люди, любящие писать коды
•1 CPU заменит сто сетей редстоуна
•Повышение ценности инженера
•Новый стимул для прокачки
•Новые темы для общения
•Форумные сообщества, где будут делиться своими функциями
•Новые автоматизированные фермы
•Этого нет нигде больше
•CPU вписывается в MCGL
•Не нарушает баланс
•Искать новые фичи в коде- это здорово
•Вы обязательно откроете что-то свое!
•Есть люди, любящие писать коды
•1 CPU заменит сто сетей редстоуна
•Повышение ценности инженера
•Новый стимул для прокачки
•Новые темы для общения
•Форумные сообщества, где будут делиться своими функциями
•Новые автоматизированные фермы
•Этого нет нигде больше
•CPU вписывается в MCGL
•Не нарушает баланс
•Искать новые фичи в коде- это здорово
•Вы обязательно откроете что-то свое!
Ответы на вопросы
Открыть ответы
Как это будет работать?
Установил CPU, подключил к питанию, написал функцию- работает!
Как я научусь делать функции?
Для CPU будет создано отдельное сообщество, где будут выкладываться уроки по коду и функции, написанные другими игроками
Я хочу видеть это в игре, чем помочь?
Это должна увидеть администрация, это должно одобрить большинство игроков. Отпишитесь в теме, аргументируйте свою позицию. Этим мы добьемся результата.
Я не хочу видеть это в игре, что сделать?
Если вы аргументированно объясните свою отрицательную позицию по поводу чего-либо/всей идеи, мы рассмотрим ее. Хейтерские порывы будут минуситься или банально игнорироваться.
Я хочу дополнить идею, что мне сделать?
Отписаться в теме и четко и ясно описать ваше дополнение.
Откуда мне научиться кодам?
Чаще посещать форум. Если введут CPU, в моем сообществе вы всегда сможете первым прочитать новый урок.
Когда введут?
Когда посчитают нужным. На этот фактор влияет отношение игроков к идее.
Откуда ты взял этот код?
Поворочал в памяти все популярные: C++, Java, Assembler. Код придуман мной, для легкого внедрения в игру. Если Администрация заинтересуется, я напишу весь код сам. Я готов работать в этом направлении.
Достижения
Биржа 




Поиск
Твинки
Друзья
Администрация