Пълноценен процесор в Minecraft, как работи, как да програмираме върху него и за какво служи
Вероятно всеки знае, че можете да правите абсолютно всичко в пясъчната кутия на Minecraft. В Minecaft отдавна са създадени различни цифрови схеми и процесори. Но процесора за който пиша всъщност е уникален! Името му е DjCPU8.

Защо е уникален? Поради много причини. Да вървим по ред:
1) Скоростта на работа. Това е най-бързият процесор от това ниво в Minecraft досега. Една инструкция се изпълнява приблизително за 1 секунда. 2) Количество памет. RAM до 256 байта. Не знам за други компютри с такова количество памет. 3) Изчислителна способност. 42 инструкции. Работи с аритметика, логика, стек, I/O, регистри и др. 4) Асемблер. В други процесори трябва да въведете програмата в двоична форма. Но в DjCPU8 можете да го въведете с текст. 5) Простота. Невъзможно е да работите с друг компютър толкова просто и приятно. 6) Широчина на приложение. I/O портовете могат да бъдат създадени навсякъде.

Спецификации на DjCPU8:
1) Битова дълбочина - 8 бита; 2) Архитектура на Фон Нойман; 3) RAM 256 байта; 4) Без тактов генератор. Средно време на работа — 1 сек; 5) Стек от данни - 9 байта; 6) 2 регистъра с общо предназначение (RON); 7) 42 инструкции; 8) Система за грешки; 9) 1 потребителски вход; 10) 16 изходни порта; 11) Асемблер.
Анатомия на процесораКартината показва функционалните блокове в процесора в различни цветове:

— RAM — Контролен блок (CU) — RAM за четене/запис — устройство за изпращане на сигнал за четене на инструкцията, нейното декодиране и нулиране на необходимите регистри. - изход къмизходни портове - физически реализиран асемблер - стек - система за откриване на грешки - различни изчислителни и преобразуващи единици.
Има и няколко по-малки блока.
Как работи
За да не ви отегчавам, това подзаглавие ще бъде много кратко.
Тъй като архитектурата на DjCPU8 е фон Нойман, ясно е, че инструкциите и данните са в една и съща памет. В момента на стартиране на процесора незабавно се извършва пълно нулиране на всички регистри и стека. След това сигнализиращото устройство (маркирано в синьо) изпраща сигнал за четене на данни от RAM. Полученото число се интерпретира като инструкция. Този номер се подава към CU (жълто), където се изпълнява инструкцията.
Има сложни инструкции и има прости. Колкото по-проста е инструкцията, толкова по-бързо се изпълнява. Но средната скорост е приблизително равна на 1 Hz.
Как да програмирам върху него?
Ето малка таблица с описание на всички инструкции:
Относно инструкциите. Има два вида - със и без параметър. Параметърът трябва да е в следващата клетка след инструкцията. Например loadC е инструкция с параметър. Следващото число 123 е само параметър за loadC. Какво прави loadC? Тази инструкция взема число и го поставя в регистър A. Така че процесорът е заредил числото 123. Какво следва? И тогава той може да прави каквото си иска с този номер! Например, покажете номер в чат. Командата say прави точно това.
Научете повече в моето ръководство. И ето още по-удобен знак.
Защо създадох този процесор?Забелязах, че много хора задават този въпрос. И дори добавят – „Можех да печеля пари по-добре“.
Отговорът е лесен – прави ме щастлив. Някой се забавлява да прави PvPshit в Dota, някой рисува, някой програмира, а аз го правяПРОЦЕСОР.
И плюс към това, по време на създаването на моя процесор, разбрах как всъщност работи един истински процесор.