Разработка и реализация вычислительного устройства в программе "Minecraft"
Разработка вычислительного комплекса для преобразования параллельного десятичного кода в двоичный; вычисления суммы или разности; преобразования результата обратно в десятичный код и отображения на дисплее. Схемы логических элементов программы Minecraft.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 25.01.2013 |
Размер файла | 2,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Оглавление
- Аннотация
- Введение
- 1. Описание разработанного устройства
- 1.1 Основы физики Minecraft и используемые элементы и схемы
- 1.2 Основные схемы логических элементов
- 1.3 Структура устройства
- Заключение
- Список литературы
- Приложение
- Аннотация
- Наименование работы: разработка вычислительного устройства и реализация его в программе "Minecraft".
- Основные задачи устройства: вычисление суммы или разности двух заданных чисел (от 1 до 9), а также вывод их на дисплей.
- Принцип действия: преобразование параллельного десятичного кода в двоичный, вычисление суммы или разности, преобразование результата обратно в десятичный код и отображение на дисплее.
- Схемное решение: система будет состоять из микросхем суммирования, а также из простейших логических элементов (И, ИЛИ, НЕ).
- Схема была собрана и протестирована в программе "Minecraft".
- Введение
- Вычислительная техника получила широкое распространение в современной жизни, без нее были бы невозможны большинство современных научных открытий, изобретений. Первые электрические устройства были предназначены для математических вычислений. С развитием технического прогресса быстродействие и надежность их увеличивались, а размеры уменьшались. В настоящее время компьютеры стали неотъемлемой частью всех сфер деятельности.
- Игра "Minecraft" жанра "песочница", разработанная шведским программистом Маркусом Перссоном (англ. Markus Persson), известным также как "Notch", неожиданно получила большую популярность еще на стадии бета-тестирования. В данное время вышла полная версия и множество патчей, увеличивающих функционал. В игре, помимо крафта и выживания, существует материал "красный камень", позволяющий создавать разнообразные логические устройства: от простых ловушек до огромных x86 процессоров, а с применением дополнений возможно создать практически любой механизм.
- Было бы логично предположить, что первым достаточно серьезным устройством в майнкрафте был именно калькулятор, как наглядный пример возможностей местной физики.
- 1. Описание разработанного устройства
1.1 Основы физики Minecraft и используемые элементы и схемы
Всего в майнкрафт используются 3 элемента, из комбинаций которых получается любое логическое устройство:
· Красный камень или красная пыль (Red Stone). Используется в качестве провода и для крафта (создания) двух других элементов. При расположении на поверхности (клик правой кнопкой мыши) размещает один блок пыли, при установке на смежных блоках кучки красной пыли соединяются в провод. Имеет два состояния: включена (1) и выключена (0), причем в момент подачи сигнала начинает тускло светиться. Сигнал затухает через 16 блоков, для передачи сигнала на расстояние используют повторители. (о них ниже)
Рис. 1. Возможные способы размещения красного камня на поверхности, а также соединение блоков красного камня.
· Факел красного камня. Создается из палки и красного камня. Источник сигнала. Если на блок, на котором установлен факел, подается сигнал, факел гаснет. На этом основан инвертор сигнала.
Рис. 2. Факел красного камня и возможные варианты его установки.
Рис 3. Сигнал, поданный на блок, гасит прикрепленные к нему факелы.
Повторитель. Красные повторители выполняют три функции:
Ретранслятор. Он может "усиливать" сигнал до изначального уровня, передавая его дальше по цепи на 15 блоков. Таким образом, повторители могут использоваться для передачи сигнала на расстояния больше 15 блоков.
Диод. Повторитель замечателен тем, что имеет строго определенные вход и выход, поэтому его можно использовать в качестве диода - элемента, пропускающего сигнал только в одну сторону.
Элемент задержки. Повторитель передаёт сигнал со входа на выход с определённой задержкой от 0.1 до 0.4 секунды, что упрощает создание таймеров. Для смены задержки щёлкните ПКМ по повторителю. Задержка будет меняться таким образом: 0.1 - 0.2 - 0.3 - 0.4 - 0.1.
Кроме того, благодаря факту, что повторитель активируется только блоком позади него и активирует только блок перед собой, он может считаться "изолированной" версией красного провода, что иногда применяется в компактных схемах.
Помимо этих элементов, применяются устройства ввода-вывода сигнала:
Для управления схемами без добавления/убирания блоков используются "устройства ввода":
Рычаг. Ставится на блок сверху или сбоку, а с патча 1.3.1 может быть закреплён и на нижней стороне. Имеет два положения - включен и выключен, - между которыми переключается щелчком игрока. После установки выключен.
Кнопка. Устанавливается только сбоку блока. При щелчке включается на 1 секунду.
Нажимная пластина. Только напольная. Включается при нажатии. Деревянная включается, если на неё наступить или бросить предмет, каменная - только если наступить.
Нажимные рельсы. Рельсы с нажимной пластиной. Работает как нажимная пластина, но реагирует на проезжающие вагонетки (при большой скорости вагонетки или лагах может и не среагировать).
Натяжной датчик. Нужно установить два датчика друг напротив друга и соединить нитью. Если игрок, моб, предмет, сфера опыта, стрела или сущности падающих блоков (песок, ТНТ...) касается нити, или же нить удаляют без использования ножниц, оба крюка подают сигнал.
Красный камень позволяет управлять различными блоками в игровом мире - это "устройства вывода". По реакции их можно разделить на 2 группы:
Двери, люк, ворота, поршни, электрические рельсы и лампа при подведении активного провода меняют своё состояния и сохраняют его, пока сигнал не будет убран.
Раздатчик, музыкальный блок и динамит однократно включаются, если рядом есть активный провод. Чтобы активировать блок повторно (не относится к динамиту, разумеется), нужно убрать сигнал и подать его снова.
1.2 Основные схемы логических элементов
Логические элементы (в майнкрафте они почему-то называются гейты или вентили) являются основой всех механизмов.
Элемент NOT (инвертор) возвращает сигнал, противоположный полученному. Это реализация логического НЕ.
Рис. 4. Инвертор.
Таблица истинности:
a |
¬a |
|
0 |
1 |
|
1 |
0 |
Рис. 5. Повторитель
Два вентиля NOT, установленные на линию подряд, называются повторителем. Повторитель возвращает такой же сигнал, какой и принял и пропускает сигнал только в одну сторону. До появления красных повторителей, такие повторители были единственным способом передать сигнал более чем на 15 блоков. Элемент OR возвращает 1, если хотя бы на одном из входов 1. Обычно необходимости в отдельном устройстве нет, достаточно просто объединить провода. Однако провод пропускает сигнал в обе стороны - если это мешает, то можно использовать элемент.
Таблица истинности:
a |
b |
c |
a ? b ? c |
|
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
1 |
|
0 |
1 |
1 |
1 |
|
1 |
0 |
0 |
1 |
|
1 |
0 |
1 |
1 |
|
1 |
1 |
0 |
1 |
|
1 |
1 |
1 |
1 |
Рис. 6. Элемент ИЛИ
Элемент AND (логическое И) возвращает 1, если на всех входах 1.
Формула: a ? b = ¬ (¬a ? ¬b)
Таблица истинности:
десятичный код программа minecraft
a |
b |
a ? b |
|
0 |
0 |
0 |
|
1 |
0 |
0 |
|
0 |
1 |
0 |
|
1 |
1 |
1 |
Рис. 7. Элемент И
Простой оператор сложения
Складывает два сигнала на входе и выдает результат (на выходе старший разряд внизу (схема)). В основе лежит XOR/XNOR Gate (в основе которого лежит AND Gate).
Работает это так:
Младший разряд на выходе горит, если на входе имеем два разных сигнала. Старший разряд на выходе горит, если на входе оба сигнала 1 .
На схеме присутствуют два слоя 0 и 1 и находятся они на разных (соседних) плоскостях.
Рис. 8. Оператор сложения.
1.3 Структура устройства
Калькулятор состоит из:
1) Устройства ввода. Оно состоит из девятнадцати рычагов (9 рычагов первое число, 9 - второе и один для выбора операции сложения или вычитания)
2) Шифратора
3) Сумматора.
4) Оператора вычитания.
5) Мультиплексора
6) Дешифратора
7) Дисплея.
Картинки каждого элемента приведены в приложении.
Рис. 9. Принципиальная схема устройства
Как оно все работает.
На устройстве ввода выбирается первое и второе число. Оба числа передаются для отображения на дисплей и параллельно поступают на шифратор. Преобразуются в двоичный код и поступают одновременно на устройства сложения и вычитания.
1) Устройство сложения. Состоит из восьми простых операторов сложения.
2) Устройство вычитания. Расположено выше сумматора. Сначала второе число преобразуется в дополнительный код, то есть инвертируется и к нему прибавляется единица. Потом складываем полученный результат с первым числом. Крайний разряд - знаковый, если он равен единице, то результат отрицательный.
Далее стоит мультиплексор, который состоит из четырех И-элементов. Он выпускает результат если знаковый разряд равен нулю (ответ выражен в прямом коде), и отправляет ответ на обратное преобразование из дополнительного кода в прямой. Знаковый разряд соединен с знаком "-" на дисплее.
Оба сигнала поступают на мультиплексор, который подключен к рычагу выбора операции. В зависимости от его значения дальше, на дешифратор, поступает результат сложения или вычитания.
Дешифратор состоит из восемнадцати пятиконтактных И-элементов. На выходе дешифратора - 10 контактов (десятка и первые 9 цифр). Число 10 в ответе имеет отдельный символ на дисплее. Также к этим проводам подключен "детектор нуля", который подает сигнал если на всех остальных 9 выходах сигнал отсутствует. Он выдает "0" на дисплее. Все выходы подключены в соответствии с их значением в десятичном коде.
Заключение
Был разработан вычислительный комплекс (он огромный!), выполняющий 2 операции: сложение и умножение чисел от 1 до 9. К нему был подключен дисплей. Работает устойчиво, отклик составляет примерно 6 секунд. Это обусловлено колоссальными размерами устройства и необходимостью использовать повторители, каждый из которых дает задержку в 0.1 секунды. Увеличить быстродействие можно за счет оптимизации цепей (меньше повторителей, короче цепи) и использования различных модификаций игры (например RedPower позволяет использовать провода в изоляции, дальность сигнала в которых в 16 раз больше, чем редстоун-цепей, а также связки проводов). Схему можно упростить за счет использования процессоров из модов ComputerCraft и RedPower. Они программируются. На их базе возможно создание программируемых микроконтроллеров.
Возможная причина отказа системы - местонахождение персонажа на большом расстоянии от цепей, что приводит к тому, то сигнал там не проходит (не обновляется территория, это нужно для оптимизации игрового процесса), решается установкой мирового якоря из модификации RailCraft.
Планы на будущее - убрать десятичный ввод и вывод чисел, увеличить разрядность шин и добавить алгоритм умножения по правилу Бута. Возможно, придется подорвать динамитом шифратор, дешифратор и дисплей.
Список литературы
1. Угрюмов Е. П. Цифровая схемотехника: учеб, пособие для вузов / Е. П. Угрюмов. -- 2-е изд. -- СПб.: ВНУ-Санкт-Петербург, 2010. - 816 с.
2. Minecraft Wiki http://ru.minecraftwiki.net/
3. Wikipedia http://ru.wikipedia.org/
4. Электроника. Методическое руководство по выполнению курсового проекта / Ю. В. Новоселов, Л. Н. Воронцова и др. Екатеринбург: УрГУПС, 2001.
5. Стандарт предприятия. СТП УГТУ. 1-96. Екатеринбург, 1969.
6. Басаков, М. И. От реферата до дипломной работы. Рекомендации студентам по оформлению текста: учебное пособие для студентов вузов и колледжей / М. И. Басаков. -- Ростов-на-Дону: "Феникс", 2002. - 64 с.
7. Eloraam's blog http://www.eloraam.com/?page_id=130
Приложение
Рис. 10. Панель ввода. "Активное" число подсвечивается зеленым индикатором. Огромные цифры помогают быстро определять нужный рычаг. Защиты "от дурака" нет, поэтому можно нажать сразу несколько рычагов с непредсказуемым результатом. Сверху задается первое число, снизу - второе. Слева внизу рычаг предназначен для выбора операции (+/-), слева вверху две кнопки подключенные к командным блокам (ввод консольной команды), они предназначены для быстрой смены времени суток.
Рис. 11. Два шифратора, один расположен над другим. Видно, как сигнал передается одновременно вверх и вниз.
Рис 12. Сумматор. Простое устройство, состоящее из семи суммирующих устройств. На выходе имеет 5 контактов. Расположен сразу за шифратором, под оператором вычитания.
Рис. 13. Оператор вычитания. В общем, состоит из пятнадцати простых суммирующих устройств, восьми инверторов и одного мультиплексора.
Рис. 14. Мультиплексор на входе дешифратора. Управляющий сигнал поступает от рычага выбора операции (+/-).
Рис. 15. Дешифратор. Чтобы избежать проблемы дальности прорисовки (описана в заключении), он сделан компактным, в 3 уровня. Содержит 18 И-элементов. На выходе 10 контактов.
Рис. 16. "Детектор нуля". Подключен параллельно к выходам дешифратора, при отсутствии сигнала он подает сигнал на вывод нуля. По сути - большой И-элемент. К нему не подключен контакт вывода единицы следующего разряда.
Рис. 17. Дисплей. Знаки "-" и "=" горят постоянно. К вертикальной черте знака "+/-" подключен рычаг выбора операции.
Рис. 18. Дисплей. Вид с обратной стороны. Видны провода передачи первого и второго чисел. Пирамида из алмазных блоков нужна для воодушевления.
Рис 19. Общий вид.
Размещено на Allbest.ru
Подобные документы
Разработка виртуального вычислительного устройства с кассетной структурой. Массивы и кластеры. Вычисления над элементами массива. Вычислительные функции пакета LabVIEW. Логическая последовательность выполнения отдельных частей программы (подпрограммы).
контрольная работа [252,4 K], добавлен 15.01.2009Тип вычислительного комплекса и данные его централизованного управляющего. Структурная схема централизованного управляющего вычислительного комплекса и топология "Звезда с хабом". Расчёт количества устройств согласования с объектом, заказная спецификация.
контрольная работа [58,9 K], добавлен 04.05.2012Разработка структурной схемы вычислительного устройства, выбор системы команд и определение форматов. Разработка алгоритма командного цикла, выполнения арифметических и логических операций. Проектирование операционного автомата, устройств управления.
курсовая работа [2,8 M], добавлен 15.05.2014Написание программы, моделирующей работу вычислительного центра и возможные пути ее улучшения. Разработка моделирующего алгоритма и машинная реализация. Возможные улучшения в работе системы. Математическое описание системы, листинг и отчет программы.
курсовая работа [99,0 K], добавлен 03.07.2011Разработка вычислительного ядра для программного комплекса ModelBuilder. Общая архитектура взаимодействия с моделью. Подход для работы с двухмерной графикой. Визуализация модели в 3D. Алгоритм вставки цилиндра в модель. Матрица физических параметров.
курсовая работа [2,2 M], добавлен 14.03.2012Функциональное диагностирование вычислительного устройства (ВУ), требования к нему по производительности, диапазону представления чисел, точности вычислений, сложности реализации и достоверности функционирования. Контроль по модулю ВУ с плавающей точкой.
реферат [1,2 M], добавлен 14.12.2012Описание и назначение устройства специализированного вычислительного телеметрического. Главные требования к информационному составу кадра при КРП, ОПС и ОР. Разработка программного обеспечения первого процессора (прием информации и ее передача).
курсовая работа [50,4 K], добавлен 30.11.2011Сопоставление наиболее важных систем счисления. Перевод целых десятичных чисел в недесятичную систему и обратно. Особенности преобразования дробей. Правила выполнения арифметических действий над двоичными, восьмеричными и шестнадцатеричными числами.
контрольная работа [824,4 K], добавлен 17.11.2010Разработка микропроцессорной системы на базе однокристальной микроЭВМ, также программного обеспечения, реализующего заданный набор функций. Структура и схема микроконтроллера PIC16. Разработка программы на языке ассемблер в среде MPLAB IDE v8.84.
курсовая работа [515,3 K], добавлен 11.07.2012Табличный метод вычисления контрольной суммы. Реализация на практике вычисления циклического контрольного кода параллельным и последовательным методами. Аппаратная реализация вычисления CRC в параллельном и последовательном коде, математическое описание.
курсовая работа [573,7 K], добавлен 09.08.2015