Close
    Search Search

    Tutoriales / Computadoras Redstone

    Tutoriales / Computadoras Redstone Este artículo utiliza esquemas de MCRedstoneSim.  Estos deben convertirse para usar {{esquema}} si es posible.

    Este artículo tiene como objetivo examinar el diseño y la implementación de computadoras redstone en Minecraft.

    Ver Capítulo 1, Tutorial sobre cómo construir una computadora, para obtener un tutorial detallado sobre cómo construir una computadora en Minecraft y cómo expandir y mejorar el ejemplo. No requiere ningún conocimiento extenso de informática. SIN TERMINAR.



    Ver Capítulo 2, Planificación de una computadora Redstone, para conocer los conceptos informáticos básicos sobre el diseño y la comprensión de una computadora redstone en Minecraft. No requiere ningún conocimiento extenso de informática.

    Visión General

    Las computadoras facilitan la implementación de ideas que se comunican desde los humanos a través de la programación.



    Este artículo explicará los conceptos básicos para diseñar y construir una computadora en Minecraft, asumiendo que el lector está bastante familiarizado con Redstone y las computadoras a un nivel básico.

     Realmente no hay forma de construir una computadora sin saber cómo funciona una computadora. El tutorial intenta explicar todo lo que necesita saber, pero requiere un poco de comprensión aquí y allá de la informática, que se indica en la sección de requisitos previos de cada pestaña. La parte más profunda que cubrimos depende de IGCSE CS.

    Todos los sistemas informáticos tienen al menos una unidad de procesamiento. Durante el funcionamiento, las unidades de procesamiento ejecutan instrucciones almacenadas en la memoria de la computadora. Para un buen comienzo en las computadoras de Minecraft, debes aprender ciencias de la computación. Hay muchas fuentes y tutoriales para aprender ciencias de la computación, pero para un comienzo básico, se recomienda ver el Curso intensivo sobre ciencias de la computación, especialmente los episodios 1 a 8. Aunque no es completamente completo, puede funcionar como base en su comprensión de las computadoras.

    La mayoría de las computadoras en Minecraft están hechas de polvo de piedra roja, antorchas de piedra roja y repetidores, que conducen a pistones pegajosos o lámparas de piedra roja que se controlan mediante una serie de botones, palancas, placas de presión, etc. Otras ideas propuestas (no cubiertas) son usar tolvas , carros de mina o botes con piedra roja.

    Ver capítulo 1, Tutorial sobre cómo construir una computadora, para obtener un tutorial detallado sobre cómo construir una computadora en Minecraft y cómo expandir y mejorar el ejemplo dado. No requiere ningún conocimiento extenso de Informática como se explicará pero ahondará bastante en ella.


    Ver capítulo 2, Planificación de una computadora Redstone, para conocer los conceptos informáticos básicos sobre el diseño y la comprensión de una computadora redstone en Minecraft. No requiere ningún conocimiento extenso de Informática pero profundizará bastante en ella.


    Implementaciones

    Las computadoras se pueden usar de muchas maneras, desde crear una casa inteligente hasta usarlas para ejecutar un mapa de aventuras. Sin embargo, debido a las limitaciones de las computadoras en Minecraft, que se indican a continuación, siguen siendo un concepto abstracto y sirven como buenas herramientas para comprender conceptos de nivel inferior de arquitectura de CPU y sistemas integrados.

    Lo que distingue a las computadoras y las calculadoras es que las calculadoras no pueden realizar varias instrucciones seguidas sin la intervención del usuario. Una computadora puede comparar y evaluar instrucciones en un flujo para realizar tareas.

    Sin embargo, en Minecraft, son extremadamente lentos y, con su gran tamaño, es difícil encontrar aplicaciones prácticas para las computadoras redstone. Incluso las computadoras redstone más rápidas tardan unos segundos en completar un cálculo y ocupan unos pocos miles de bloques de espacio. Los bloques de comando son muy superiores a las computadoras en Minecraft debido a su velocidad y comandos legibles de alto nivel.

    Los mods pueden cambiar la velocidad de la computadora, como TickrateChanger cambiará la tasa de tic del juego.

    Capítulo 1: Tutorial sobre cómo construir una computadora

    Introducción y requisitos previos

    La lógica de Redstone refleja fielmente la lógica binaria simple, ya que la redstone puede estar activada o desactivada y, por lo tanto, puede interpretarse como unos o ceros. Haremos referencia en este tutorial, lógica binaria básica y varios términos simples de informática. Hay un artículo excelente que explica el binario y la conversión a binario. Por favor, lea la sección Arquitectura de la construcción de la computadora, ya que la seguiremos para planificar nuestra computadora, se encuentra en este artículo, gracias.


    Este capítulo se centrará en la aplicación del conocimiento y la manipulación de redstone para crear una computadora simple de 8 bits.y describirá cómo hacer uno y cómo funciona.


    Todos los temas se dividirán en (TEORÍA) y (PRÁCTICA), la TEORÍA profundizará exactamente en lo que sucederá. PRACTICE cubrirá cómo construirlo en Minecraft, cómo se verá y posiblemente descargas mundiales.

    La computadora que estaremos construyendo (MASIC Computer)

    Paso 1: Decodificadores de memoria y direcciones (TEORÍA) (NO TERMINADO)

    Paso 1: Decodificadores de memoria y dirección (PRÁCTICA)

    Paso 2: Construcción de una unidad lógica aritmética (TEORÍA)

    Paso 2: Construcción de una unidad lógica aritmética (PRÁCTICA) (NO TERMINADO)

    Paso 3: conjunto de instrucciones y arquitectura de la máquina (TEORÍA)

    Paso 3: Conjunto de instrucciones y arquitectura de la máquina (PRÁCTICA) (NO TERMINADO)

    Hay tres objetivos de diseño principales para una computadora en Minecraft, para hacer que su computadora sea la más adecuada para su tarea en cuestión. Hay que considerar algunas compensaciones, como cuanto más grande sea la computadora, más lenta se volverá porque la cantidad de repetidores de redstone aumentará con la distancia. Cuanta más memoria, menor velocidad y mayor tamaño.

    Compacidad

    ¿Qué tan pequeña es la computadora? En Minecraft, el diseño de una computadora de supervivencia probablemente enfatizará este punto. El número de repeticiones necesarias aumentará a medida que aumente el tamaño.

    Memoria

    ¿Cuánta memoria puede contener? ¿Hasta cuántos bits y números puede contar? Esto es importante para las computadoras a gran escala, digamos las que pueden hacer algoritmos más complejos y requieren conjuntos de instrucciones más grandes (por ejemplo, raíces cuadradas o trigonometría). Cuanto mayor sea el tamaño de la memoria o la arquitectura de bits, más compleja se volverá la computadora.

    Velocidad / rendimiento

    ¿Qué tan rápido puede realizar operaciones? ¿Está optimizado para ejecutar sus tareas? El diseño y la construcción personalizados de una computadora aumentarán significativamente su velocidad, ya que más cableado y código redundantes podrían cambiarse a hardware y software especialmente diseñados. Esto es evidente en algunas supercomputadoras del mundo real que están programadas para ejecutar una tarea de manera muy, muy eficiente. La velocidad de las computadoras en Minecraft es muy lenta, por lo tanto, se podría instalar un mod para que el cliente aumente significativamente la velocidad del juego y, por lo tanto, la computadora.

    La computadora MASIC

    La computadora del trabajo en progreso que estaremos realizando en el tutorial. 8 bits, 16 bytes de RAM. I / O es una pantalla de siete segmentos (para hexadecimal y decimal) y un panel de control que haremos.

    Tutoriales / Computadoras Redstone

    La computadora MASIC pretende ser una computadora de talla única y no se especializa en una tarea, por lo que es completamente programable leyendo su propia memoria (explicado en la Sección 2: conjuntos de instrucciones). La E / S simple es ideal para uso multipropósito y la memoria tiene el tamaño suficiente. Funciona a una velocidad bastante rápida (debido a su pequeño tamaño).

    Paso 1: Decodificadores de memoria y direcciones (TEORÍA)

    Los decodificadores convierten cifras binarias en decimales. Por ejemplo, mirando el decodificador de 8 bits 00 enciende la primera lámpara que representa 0. 01 enciende la segunda lámpara que es 1. 10 enciende la tercera que es 2. 11 enciende la última lámpara que es 3.

    Paso 1: Decodificadores de memoria y dirección (PRÁCTICA)

    Decodificador de direcciones

    Tutoriales / Computadoras Redstone

    0000 0000 (observe que la salida 1 está encendida)

    Tutoriales / Computadoras Redstone Tutoriales / Computadoras Redstone

    0000 0001 (observe que la segunda salida está encendida)

    Tutoriales / Computadoras Redstone Tutoriales / Computadoras Redstone

    0000 0010

    Tutoriales / Computadoras Redstone Tutoriales / Computadoras Redstone

    0000 0011

    Este es el diseño del decodificador de direcciones que vamos a construir.

    Tutoriales / Computadoras Redstone Tutoriales / Computadoras Redstone

    Arriba hay un estado simple de 2 bits, por lo que tiene dos entradas (izquierda y derecha) a través de los repetidores. La salida es la línea de piedra roja por encima de la cual se apagará cuando se cumpla el estado. El estado es si la entrada de redstone apagará la línea de redstone de arriba; si es así, el estado son las entradas de redstone. En el caso anterior, la izquierda debe estar APAGADA (0) y la derecha (azul) debe estar ENCENDIDA (1) para producir un APAGADO en la línea superior de redstone. Por lo tanto, espera un estado de APAGADO ENCENDIDO (también conocido como 01 para binario).

    Son de color azul para los bits que deben estar ENCENDIDOS (1) para que deje de alimentar la línea superior de redstone. Una vez que cada bit deja de alimentar la línea redstone, se apaga.

    Básicamente, se trata de una o dos compuertas NO que ingresan a una compuerta OR y luego NO a la salida.


    Tutoriales / Computadoras Redstone Tutoriales / Computadoras Redstone

    Arriba hay un estado de 8 bits, espera 8 entradas en exactamente el orden 0000 1101. Entonces, ese estado que espera es 0000 1101. Entonces, las antorchas de redstone alimentan las entradas, y vemos que la línea de redstone en la parte superior se apaga (solo cuando exactamente tres antorchas de piedra roja se colocan en ese orden exacto de 0000 1101).

    Ahora, si juntamos varios de estos, podemos contar en binario con los bits azules para obtener los 255 estados de 8 bits. El siguiente es de 8 bits y tiene cuatro expectativas de estado. Vea el derecho para verlo en acción. Ahora cada salida verde puede ser una celda de memoria, y si seguimos contando en binario llegará a 255.

    Tutoriales / Computadoras Redstone

    La entrada es 0000 0011 (vea las antorchas de piedra roja para la entrada) y donde los bits azules coinciden con el estado actual, la salida verde está encendida.

    • 0000 0000 - primera señal de salida (a la derecha)
    • 0000 0001 - segunda señal de salida
    • 0000 0010 - tercera señal de salida
    • 0000 0011 - cuarta salida de señal

    Así que ahora seguimos contando en binario hasta llegar a 0000 1111 y nos detenemos allí; ahora deberíamos tener 24 (16) expectores estatales. Ahora hemos terminado con el decodificador de direcciones. No continuamos contando hasta 1111 1111 debido a las limitaciones del conjunto de instrucciones, explicadas en la sección 3: conjuntos de instrucciones

    Paso 2: Construcción de una unidad lógica aritmética (TEORÍA)

    La Unidad Aritmética Lógica a la que se hace referencia como ALU comparará y realizará operaciones matemáticas con números binarios y comunicará los resultados con la Unidad de Control, el componente central de la computadora (y la Unidad Central de Procesamiento, pero que será tan grande como la computadora misma). ). Muchos tutoriales querrán que el lector cree primero una ALU y, por lo tanto, el tema se cubre ampliamente en Internet.

    La ALU que construiremos puede realizar cuatro operaciones importantes en dos entradas y devolver una salida correcta. A, B, siendo ambas entradas de 8 bits

    • A + B (suma A a B)
    • A >> (desplazamiento de bits A a la derecha (lo mismo que dividir binario entre 2))
    • << A (desplazamiento de bits A a la izquierda (lo mismo que multiplicar binario por 2))
    • NO A (Lo contrario de A)

    También puede haber varias ALU dentro de una computadora, ya que algunos programas requieren muchas operaciones para ejecutarse, que no dependen de las operaciones anteriores (por lo que pueden ser enhebradas), por lo que delegarlas en diferentes ALU podría acelerar significativamente el programa.

    Tutoriales / Computadoras Redstone Tutoriales / Computadoras Redstone

    sumador binario

    Sumar dos números

    En una unidad de suma, para cada bit (para nuestra computadora, requerimos cuatro, por lo tanto, 4 bits), hay un sumador completo. El sumador completo tomará tres entradas, cada entrada puede ser 1 o 0. Las dos primeras serán la entrada del usuario y la tercera será la entrada de acarreo. La entrada de acarreo es la salida del sumador completo anterior, esto se explicará más adelante. El sumador generará dos declaraciones: primero, la salida y luego la salida de acarreo, que se envía como entrada al siguiente sumador completo, un valor posicional hacia arriba. Por ejemplo, deseo agregar el número 0101 a 1011. El primer sumador completo considerará el primer valor posicional, 1 y 1 como sus dos entradas (estamos leyendo de derecha a izquierda). No hay entrada de acarreo ya que no hay sumador completo anterior. El sumador completo agregará 1 y 1; que es 0 y lleva un 1 al siguiente valor posicional. El siguiente sumador completo agregaría 0 y 1 y la entrada de acarreo sería 1, que indicó el sumador completo anterior. La salida de 0 y 1 sería 1 pero hay una entrada de acarreo de 1 y por lo tanto agregará 0 y 1 y 1, que es 0 y lleva un 1 al siguiente valor posicional. La revisión de la suma en binario debería resolver cualquier confusión.

    Todas las ALU, para realizar operaciones de suma, requieren la presencia de varios sumadores. Cada dos bits se alimentará en un sumador que, cuando se une con otros sumadores, producirá una salida que es la suma de los dos bytes sumados. Un sumador tiene una entrada, una salida y dos acarrean entrada / salida como lo haría una persona al hacer la suma de 9 + 1 o 01 + 01. Los sumadores están hechos de puertas lógicas que es posible mediante la nomenclatura de binario. Tutoriales / La lógica aritmética ofrece una visión muy detallada de los sumadores completos y los medios sumadores, por ahora, hay un esquema de cómo construir uno. Proporciona cuatro entradas / salidas y debe conectarse con otros sumadores para crear una unidad. Para este ejemplo, conectaremos cuatro sumadores juntos en nuestra computadora de cuatro bits para que podamos tomar los cuatro bits para hacer una salida. Habrá un acarreo de entrada faltante del primer sumador, esto se debe a que no hay nada que llevar del bit anterior, es el primer bit. El acarreo de entrada permanecerá en cero. También faltará un acarreo de salida del cuarto sumador, y la salida de esto se ignorará ya que solo podemos admitir cuatro bits. La cuarta salida de acarreo adicional está conectada al indicador de desbordamiento para indicar que la operación no se pudo realizar. Esto se llama desbordamiento binario.

    Básicamente, vaya a Minecraft y cree un sumador binario completo (muestra la imagen) y conéctelos. Debe haber ocho entradas y salidas. Intente colocar palancas y lámparas de piedra roja en los extremos respectivos para probar su creación. Entonces 0010 + 0011 debería producir 0101 (2 + 3 = 5, estamos leyendo a la derecha, no a la izquierda).

    Números fraccionarios

    Una computadora se encarga de los números menores que uno en forma de aritmética de punto flotante, solo es útil en computadoras de bits más grandes (16-64 bits) y computadoras que necesitan usar números menores que uno. La aritmética de punto flotante o la aritmética de precisión arbitraria son dos formas de lograr esto. Otra forma más simple pero menos eficiente sería asignar a todos los números una potencia de dos para que sean "aumentados" por la potencia de dos elegidos. El jugador debe hacer esto con cada número y asumir que el uno es una vez el poder de los dos que ha elegido. Por ejemplo, 5 = 1012 entonces 5 × 23 = 1010002; cinco se incrementa por tres. Así que ahora, uno en su nuevo sistema sería 1 × 23 = 10002 y eso dejaría espacio para 0.1, 0.01 o 0.001; 0.01 * 23 = 102. Esto conduce a una configuración más complicada para su computadora.

    Restar dos números

    Tutoriales / Computadoras Redstone Tutoriales / Computadoras Redstone

    Un sumador con todas las partes etiquetadas.

    La resta de números es sorprendentemente simple. La ALU primero debe cambiar el segundo número (el valor restando por) y convertirlo de un número positivo a un número negativo. El complemento a dos es cuando inviertes el número binario (de modo que todos los 0 son 1 y los 1 son 0) y le agregas uno.

    Ejemplo: hacer 10 restar 9

    1. 0000 1001 (9 en binario, queremos -9, no 9)
    2. 1111 0110 (Invertir 9, de modo que todos los 0 sean 1 y los 1 sean 0)
    3. 1111 0111 suma uno (este es el complemento a dos de 9)
    4.
    0000 1010 (10 en binario)
    +1111 0111 sumar el complemento a dos de 9 (también conocido como -9)
    Declaración de privacidad
    0000 0001 resultado (10 + (-9) = 1) (hay un desbordamiento, esto solo significa que el resultado no es un número negativo)

    Esto plantea la complejidad de los números con signo. [1] Este es un peso para el número binario para asignarlo como un número positivo o negativo. El indicador de desbordamiento determina si el resultado es un número negativo o positivo. Si hay un desbordamiento, esto significa que el número es positivo y, en caso contrario, negativo.

    Para implementar esto, puede pedirle a la ALU que haga 3 operaciones. Para hacer A restar B, las operaciones son

    Operación: A SUB B

    • NO ES B
    • (establezca B en) B AÑADIR 1
    • (establezca A en) A AÑADIR B
    • VOLVER A

    Multiplicar dos números

    La multiplicación es una suma repetida, por lo que lo más fácil (de manera ineficaz) es sumar A a una variable B una cantidad de veces.

    Aquí está el código de pseudomáquina para ello

    Operación: A * B

    • C = 0
    • (establezca C en) C AÑADIR A
    • (establezca B en) B SUB 1
    • SALTE SI (B> 0) A LA LÍNEA 2
    • VOLVER C

    Sin embargo, existen formas más eficientes de multiplicación. Un buen método es desplazar bits repetidamente el primer número a la ubicación de cada 1 en el segundo número y sumarlo.

    Hay guiones bajos para marcar sangrías, ya que el relleno con ceros es menos intuitivo. subíndice 0 significa en binario, y los números decimales también están en negrita

    __ __11 3 (nota que hay 2 1)
    x_ 1011 11
    Declaración de privacidad
    __ __11 Cambiamos 112 por 010 ya que el 1 bit de 10112 es 12
    + _ _110 Cambiamos 112 por 110 ya que el 2nd poco de 10112 es un 12
    +1 1000 Cambiamos 112 por 310 ya que el 4 poco de 10112 es un 12
    Declaración de privacidad los 3rd el bit de 10112 es 02, por lo que no agregamos un 112 allí
    10 0001 33 (resultado)

    por lo que esto es más eficiente para números más grandes.

    Operación: A * B

    • C = 0
    • D = 0
    • (Establezca A en) << A (desplazamiento de bits A a la izquierda)
    • SALTAR SI (BIT (D) DE B == 0) A LA LÍNEA 6
    • (Establezca C en) C AÑADIR A
    • (Ponga D en) D AÑADIR 1
    • SALTE SI (D <LONGITUD DE B) A LA LÍNEA 3
    • VOLVER C

    No olvides eso

    << A (desplazamiento de bits a la izquierda) es efectivamente, A * 2

    y

    >> A (desplazamiento de bits a la derecha) es efectivamente, A / 2

    Si los números son predecibles o la CPU debe hacer muchos números similares en forma masiva, considere usar una tabla de búsqueda para obtener rápidamente los resultados de las multiplicaciones llamadas con frecuencia. ¿Es esta una forma de codificar sus respuestas y se usa en casos extremos?

    Paso 2: Construcción de una unidad lógica aritmética (PRÁCTICA)

    Tutoriales / Computadoras Redstone Tutoriales / Computadoras Redstone

    Paso 3: conjunto de instrucciones y arquitectura de la máquina (TEORÍA)

    Esto es muy divertido, esta parte.

    Desarrollando el Capítulo 2: Conjunto de instrucciones, crearemos uno para el nuestro.

    Para la computadora MASIC, la computadora que estamos construyendo, tiene un sistema de 8 bits, lo que significa que cada instrucción en cada ranura de la memoria de la pila será de 8 bits. La memoria de pila es la memoria donde se puede almacenar cualquier información y está en la RAM. Habrá un contador, llamado contador de programa, que se incrementa en 1 cada ciclo. Un ciclo es la CPU recuperando la instrucción, decodificando la instrucción (averiguando qué hacer con la instrucción) y ejecutando la instrucción (haciendo lo que le dice que haga). Luego pasa al siguiente incrementando el contador del programa y leyendo la información en esa ubicación en la memoria de la pila.

    Entonces, cada byte en la memoria de la pila tiene 8 bits con los que podemos trabajar.

    0000 0000

    y algunas instrucciones requieren una dirección, digamos cargar memoria en un registro para que podamos realizar operaciones (como sumar) en él. Cada instrucción se dividirá en dos partes, cada una de 4 bits. El primero es el TIPO. el TIPO especificará lo que debe hacer la computadora y la DIRECCIÓN será donde se ubique el valor que realizaremos nuestras operaciones.

    OPCODE OPERAND

    por lo que 4 bits para el TIPO, podemos tener 2 ^ 4 tipos, por lo que 16 diferentes. Nuestra computadora tendrá dos registros, por lo que un bit será para especificar el registro en el que se ejecutará la operación y se indica con un x.

    Las instrucciones se colocan en el mismo lugar que la memoria y como la parte DIRECCIÓN de la instrucción tiene solo cuatro bits, solo podemos hacer referencia a la memoria de 1 a 16 líneas, lo que requiere una programación inteligente para adaptarse a programas más grandes. La memoria también está limitada a 16 bytes por programa. Los valores y las instrucciones son esencialmente lo mismo, por lo que si escribe una instrucción para almacenarla en una línea que almacenó previamente una instrucción, eso sobrescribe efectivamente la instrucción con un valor. La ejecución accidental de valores puede ser un problema, por lo que se debe utilizar un comando STOP para evitar errores. Esto es mucho para entender, así que buenas fuentes son https://www.computerscience.gcse.guru/theory/high-low-level-languages ​​y https://scratch.mit.edu/projects/881462/ <- - realmente útil en realidad. y tampoco olvide tomar CS y ICT para sus IGCSE.

    Requisitos previos

    La sección cubrirá temas y componentes simples que se encuentran comúnmente en una computadora, por lo que se utilizará información del capítulo 2, como la ALU, RAM, registros y manipulación binaria.

    El conjunto de instrucciones MASIC

    Desde la computadora Aquí está el primer borrador del conjunto de instrucciones, con solo lo esencial. Esto se basa en otros lenguajes ensambladores, pero se modificó para adaptarse a nuestra arquitectura. Hay dos registros, por lo que necesitamos instrucciones para realizar operaciones en ambos registros.

    BINARIO OPCODE COMENTARIO
    0000 CARGA R1 Cargue la DIRECCIÓN en el registro 1
    0001 TIENDA R1 Almacene el contenido del registro 1 en ADDRESS
    0010 SALTAR R1 SI Salte a la línea DIRECCIÓN si el registro 1 es igual a 0
    0011 AÑADIR R1 Agregue contenido en ADDRESS para registrar 1
    0100 < Registro Bitshift 1 a la izquierda
    0101 NO R1 Bitwise NOT registro 1
    0110 SALTO Saltar a la línea OPERAND
    0111 STOP Termine el programa.
    1000 CARGA R2 Cargue la DIRECCIÓN en el registro 2
    1001 TIENDA R2 Almacene el contenido del registro 2 en ADDRESS
    1010 SALTAR R2 SI Salte a la línea DIRECCIÓN si el registro 2 es igual a 0
    1011 AÑADIR R2 Agregar DIRECCIÓN para registrar 2
    1100 < Registro Bitshift 2 a la izquierda
    1101 NO R2 Bitwise NOT registro 2
    1110 FUERA R1 Registro de salidas 1
    1111

    Traducir:

    1000 0011 significa LOAD R2 3 porque LOADR2 es 1000 y 0011 es 3.

    Estos pueden estar en un proceso para que se puedan realizar funciones.

    Programas de escritura

    Este hace la secuencia de Fibonacci: (0,1,1,2,3,5,8 ... etc.)

    FIBONACCI
    LÍNEA BINARIO INSTRUCCIÓN COMENTARIO
    1 0000 1110 CARGA R1 14 establecer el registro 1 en 0 (el valor en la línea 14)
    2 0011 1111 AÑADIR R1 16 sume el valor en la línea 16
    3 1110 0000 FUERA R1 salida del registro
    4 0001 1111 TIENDA R1 16 poner eso en la línea 16
    5 0011 1110 AÑADIR R1 15 sume el valor en la línea 15
    6 1110 0000 FUERA R1 sacar el registro de nuevo
    7 0001 1110 TIENDA R1 15 ahora devuelve la salida
    8 0110 0010 SALTO 2 no tenemos que restablecer el registro, así que volvemos a la línea 2.
    ...
    14 0000 0000 0
    15 0000 0001 1
    16 0000 0001 1

    El anterior es un ejemplo de lenguaje ensamblador de bajo nivel. Si estuviera escrito en un lenguaje de alto nivel como C ++, se parecería más a esto:

    #incluir usando el espacio de nombres std; int main () {int n, t1 = 0, t2 = 1, nextTerm = 0; cout << "Ingrese el número de términos:"; cin >> n; cout << "Serie Fibonacci:"; for (int i = 1; i <= n; ++ i) {// Imprime los dos primeros términos. if (i == 1) {cout << "" << t1; Seguir; } if (i == 2) {cout << t2 << ""; Seguir; } nextTerm = t1 + t2; t1 = t2; t2 = nextTerm; cout << nextTerm << ""; } return 0; }

    Ciclo de instrucción

    Tutoriales / Computadoras Redstone Tutoriales / Computadoras Redstone

    Los cuadrados redondeados son componentes, los cuadrados son registros. Las flechas verdes son autobuses

    El conjunto de instrucciones es el lenguaje ensamblador inferior, por lo que queremos integrarlo más con el lado del hardware. Esto gira en torno al ciclo de búsqueda-decodificación-ejecución (explicado anteriormente). En la CPU, habrá 4 registros importantes,

    el contador de programas (PC), realiza un seguimiento del programa en el que se encuentra actualmente la computadora

    el registro de direcciones de memoria (MAR), realiza un seguimiento de dónde estará la próxima ubicación de memoria

    el registro de datos de memoria (MDR), realiza un seguimiento de cuál es la memoria en la ubicación

    el Registro de instrucción actual (CIR), realiza un seguimiento de la instrucción en la que se está trabajando actualmente

    y el acumulador ALU (ACC), realiza un seguimiento de la entrada y salida de la ALU

    También hay cuatro componentes a tener en cuenta, el decodificador de direcciones, la memoria, el decodificador de instrucciones y la ALU.


    HA PODIDO RECUPERAR El programa obtendrá la siguiente instrucción.

    1. PC envía el número de instrucción al MAR
    2. La PC se incrementa en 1, para prepararse para la siguiente instrucción
    3. El decodificador de direcciones decodifica la dirección y solicita información en esa dirección de la memoria
    4. MDR recibe la información solicitada (en el caso de la imagen, si el MAR es 0001, recibe 'LOADR1 1')

    DESCODIFICAR El programa identificará cuál es la instrucción

    1. CIR recibe la información del MDR, a través del flujo de información
    2. Decodificador de instrucciones decodifica las instrucciones y qué hacer

    EJECUTAR El programa ejecutará la instrucción

    1. En el caso de la imagen, el programa recibe 'LOADR1 1' como instrucción, el decodificador de instrucciones divide la instrucción en el código de operación y el operando.

    El código de operación es 'LOADR1' y el operando es '1'.

    1. El operando se envía al MAR, para obtener la información en esa dirección
    2. MDR recibe la información en esa dirección (en el ejemplo, es la misma línea)

    Ahora podrían suceder cuatro cosas dependiendo de cuál sea la instrucción.

    Si la instrucción es una instrucción ADD, se le indicará al ACC que reciba la información del flujo de información y la ALU realizará operaciones en él, enviándola de nuevo al ACC.

    Si la instrucción es una instrucción LOAD, la CU cargará la instrucción en el registro.

    Si la instrucción es una instrucción STORE, la CU, en cambio, FIJARÁ los datos en la ubicación especificada por MAR en la memoria.

    Si la instrucción es una instrucción OUT, la CU enviará la instrucción al periférico de salida.

    REPETIR El ciclo de instrucción se repite hasta que llega a una instrucción STOP o se agota la memoria.

    Paso 3: conjunto de instrucciones y arquitectura de la máquina (PRÁCTICA)

    Capítulo 2: Planificación de una computadora Redstone

    Una computadora redstone se puede planificar de manera muy similar a una computadora real, siguiendo los principios utilizados en el diseño de computadoras y la arquitectura de hardware. Hay varias decisiones clave de diseño que afectarán a la organización; el tamaño y el rendimiento de su futura computadora deben hacerse concretamente antes de la construcción de componentes específicos.

    La construcción de una computadora redstone requerirá comprender estos cinco conceptos y considerar el enfoque más adecuado, que sería más práctico para su computadora.

    • Arquitectura de máquina (componentes de una computadora, qué son y para qué sirven)
    • Modelo de ejecución (La organización de componentes, haciéndolos eficientes)
    • Tamaño de palabra (cuántos bits usa el sistema. Por lo general, potencias de 2, alrededor de 4, 8, 16 bits es normal en Minecraft)
    • Conjunto de instrucciones (las instrucciones que debe realizar la CPU)

    y aplicaremos este conocimiento y planificaremos la arquitectura de nuestra CPU en la última sección. Esta CPU se construirá en el próximo capítulo.

    Fundamentos de una computadora

    Una computadora es una máquina que tiene la capacidad de

    • Leer y escribir desde una memoria que se puede direccionar
    • Realice comparaciones sobre el estado de la memoria y realice una operación como resultado de eso. Estas operaciones incluyen la reescritura de la memoria.
    • Inicie funciones basadas en el contenido escrito en la memoria. A ese contenido lo llamamos "programas + datos", y el acto de escribirlos es programación.

    Un ejemplo muy notable de esto es el concepto más básico de computación, una máquina de Turing, donde la máquina leerá una línea infinita de código y un conjunto de instrucciones para completar una función.

    Es posible diseñar y construir una máquina de Turing en Minecraft. Sin embargo, esto no está cubierto ya que diseñaremos algo más básico.

    Arquitectura de la máquina

    Hay cinco componentes fundamentales en una computadora moderna básica. Estos son esenciales para producir una computadora que funcione y manipular datos realizando cálculos.

    Tutoriales / Computadoras Redstone Tutoriales / Computadoras Redstone

    cinco componentes de una computadora

    Unidad aritmética lógica (ALU) (opcional, pero normalmente está presente)

    • Realizar sumas y restas
    • Comparar booleanos usando puertas lógicas

    Unidad de control (CU)

    • Realizar / ejecutar instrucciones que se le envíen
    • Comunicarse con todos los componentes

    Memoria de datos

    • Almacenar y devolver datos de la memoria

    Memoria de instrucciones

    • Instrucciones de devolución, enviadas a la CU
    • Se puede configurar, pero no es necesario que sea tan frecuente como la memoria de datos

    Dispositivos de entrada / salida (E / S)

    • Permite que la computadora se comunique con el mundo y el jugador.
    • Puede ingresar información en la computadora (pulsación de botón, sensor de luz diurna)
    • Puede generar información desde la computadora (lámpara redstone, bloque de notas)

    Almacenamiento de datos informáticos

    Hay muchos métodos para almacenar datos, en Minecraft o en la vida real. Los estados de la memoria suelen ser binarios, ya sea activados o desactivados, y se pueden calcular con lógica booleana.

    En una computadora, hay tres tipos de almacenamiento. Teniendo en cuenta que aumentar la capacidad del dispositivo aumentaría su tamaño, cada tipo tendría la velocidad y la capacidad adecuadas para él.

    Almacenamiento primario

    Estos son el almacenamiento al que se accede directamente a la CPU, denominado memoria y es el más rápido de acceder, pero por lo general tiene una capacidad más pequeña para que se aborde más rápido.

    Registros y banderas

    La más rápida es la memoria almacenada dentro de la CPU. Estos son registros y banderas, ya que se pueden configurar casi instantáneamente y no requieren que se les envíe ninguna dirección, ya que solo hay un byte almacenado en cada registro. Los bits de Redstone que se pueden alternar son extremadamente grandes, pero se pueden alternar en 2 tics. Esto requiere una gran cantidad de espacio, pero es perfecto para cachés y registros. La piedra roja también es necesaria para que las puertas lógicas (no mostradas) establezcan el bit, como en el, enviar una entrada haría que el bit se voltee. La puerta ocuparía más espacio. Los registros también podrían utilizar el bloqueo de repetidores de redstone y sincronizarlos correctamente. Esto se explica a continuación, en RAM). Con el uso de un reloj de computadora, puede que no sea necesario crear registros. Los registros son útiles cuando los datos pasan por la línea antes de que la CU o la ALU estén listos para procesarlos. Lo guardaría en el registro y esperaría hasta que la CU o ALU pueda realizar su función.

    Tutoriales / Computadoras Redstone Tutoriales / Computadoras Redstone

    Cachés

    En segundo lugar, están los cachés, que alimentan información al procesador. En la vida real, se dividen en niveles, cada uno con velocidades y capacidades distintas. Es útil por la misma razón que los registros.

    Memoria de acceso aleatorio (RAM)

    En tercer lugar, está la memoria de acceso aleatorio (RAM), que es mucho más lenta que las cachés y los registros, ya que tienen sistemas de direcciones. Están conectados a tres buses, bus de datos, bus de control y bus de direcciones. Los datos se envían a través del bus de datos, ya sea configurando la RAM o obteniendo valores de la RAM. El bus de control le dice si se está obteniendo o configurando. El bus de direcciones le dice a la RAM dónde está el byte. Consulte la Arquitectura de la computadora para comprender esto con más profundidad. La RAM es muy útil y podría reemplazar completamente la memoria terciaria (se explica a continuación) debido a su no volatilidad en Minecraft. Volátil significa que cuando se pierde energía, perderá información. La RAM no perderá información a diferencia de lo que ocurre en la vida real y, por lo tanto, es un excelente método de almacenamiento de información.

    La RAM en el primer caso está utilizando los repetidores de redstone de bloqueo con la sincronización correcta. Esto requiere un poco de plan, pero ahorra mucho espacio. La conversión de un bus a las líneas para bloquear los repetidores de redstone también requiere establecer tiempos. Esto lleva mucho tiempo, mucho más que los registros, sin embargo, es muy compacto y eficiente. El bus de direcciones (verde) se convertiría en binario para desbloquear un determinado byte, ya sea para ser leído o configurado por el bus de control (segunda línea, a la izquierda).

    Tutoriales / Computadoras Redstone

    La mayoría de las veces, hacerlo volátil no tiene uso en Minecraft, por lo que la forma más fácil de hacerlo es usar d-flip-flops y agregar una función de lectura y escritura. La imagen inferior muestra que, en lugar de bloquear repetidores, utiliza d-flip-flops, que son mucho más ineficientes en cuanto a espacio pero más fáciles de construir. Los D-flip-flops funcionan más o menos como repetidores bloqueados, una entrada: si está encendida, se desbloquea hasta que la entrada está apagada y la otra la configura una vez desbloqueada. La salida se puede leer como un bit y con una puerta NAND, se puede ignorar o poner en el bus. Esto se analiza en detalle en el segundo capítulo, Tutorial sobre cómo construir una computadora. Disculpe el paquete de texturas.

    Tutoriales / Computadoras Redstone

    Memoria de acceso aleatorio también conocido como RAM es un tipo de memoria que utilizan los programas y es volátil. Volátil significa que cuando se pierde la energía, perderá información. La mayoría de las veces, hacerlo volátil no tiene uso en Minecraft, por lo que la forma más fácil de hacerlo es usar d-flip-flops y agregar una función de lectura y escritura.

    Almacenamiento secundario

    Estos son equivalentes a HDD y SSD. Existe una técnica de almacenamiento muy compacta, que involucra comparadores redstone con la capacidad de almacenar hasta 1KB, siendo prácticamente de tamaño.

    Almacenamiento terciario

    En tercer y último lugar, se encuentra una memoria terciaria, que requiere mucho tiempo para leer / escribir, pero puede contener grandes cantidades de información a expensas de la velocidad. El almacenamiento terciario del mundo real utiliza un mecanismo de montaje de la memoria que tarda aproximadamente un minuto en cada unidad. Se utiliza para fines de archivo y para la memoria, que rara vez se utiliza. En Minecraft, un sistema en el que se utilizan cajas de shulker y el bloqueo en las cajas de shulker debe clasificarse mediante un sistema de clasificación para representar una forma de datos. Esto también se puede utilizar para crear almacenamiento extraíble. La velocidad de lectura / escritura es bastante lenta debido a la gran cantidad de comparadores y se requiere mucho tiempo. Sin embargo, las modificaciones antes mencionadas podrían acelerar la tasa de ticks y eliminar este problema. Se utiliza para almacenar datos a largo plazo que debían cargarse al principio de un programa o raras veces debido a su baja velocidad de lectura / escritura y su gran capacidad. Este es el equivalente al disco duro o unidad de estado sólido de una computadora real.

    Modelo de ejecución

    La técnica de almacenar bloques de instrucciones llamados programas dentro de la memoria es lo que permite a las computadoras realizar una variedad de tareas.

    El aparato empleado por una computadora para almacenar y recuperar estos programas es el modelo de ejecución de la computadora.

    Dos de los modelos de ejecución más exitosos del mundo, Harvard y von Neumann, se ejecutan en casi el 100% de las computadoras disponibles en la actualidad.

     Esto es más avanzado y es para lectores inquisitivos y curiosos.

    La Universidad de Harvard

    La arquitectura de Harvard separa físicamente el aparato de recuperación de las instrucciones que componen un programa activo del aparato de acceso a datos al que accede el programa durante la ejecución.

    Los programas escritos para computadoras que emplean una arquitectura de Harvard pueden funcionar hasta un 100% más rápido para tareas que acceden al bus de memoria principal. Sin embargo, tenga en cuenta que ciertos circuitos de memoria son necesariamente más grandes para aquellos que seleccionan una arquitectura de Harvard. La arquitectura de Harvard es muy importante.

    por Neumann

    La arquitectura de von Neumann utiliza un proceso de dos pasos para ejecutar instrucciones. Primero, se carga la memoria que contiene la siguiente instrucción, luego se permite que la nueva instrucción recién cargada acceda a esta misma memoria mientras se ejecuta; El uso de una única memoria tanto para el programa como para los datos facilita la tecnología de metaprogramación, como los compiladores y el código de modificación automática.

    La arquitectura de von Neumann fue el primer modelo de computación propuesto y casi todas las computadoras del mundo real son de naturaleza von Neumann.

    Tamaños de palabras

    El tamaño de la palabra es un factor principal en el tamaño físico de una computadora.

    En Minecraft, se han construido con éxito máquinas desde 1 bit hasta 32 bits.

    Combinaciones comunes de tamaños de palabras:

    Datos Instrucción
    4 8
    8 8
    8 16
    16 16

    Palabra de datos

    La cantidad de información que una computadora puede manipular en un momento particular es representativa del tamaño de palabra de datos de la computadora.

    En binario digital, el tamaño de la palabra de datos de la computadora (medido en bits) es igual al ancho o número de canales en el bus principal de la computadora.

    Las palabras de datos comúnmente representan números enteros o números enteros codificados como patrones de dígitos binarios.

    El número de tamaño máximo representable por un entero codificado en binario viene dado por 2 ancho de palabra de datos en bits - 1.

    Por ejemplo, una computadora con un tamaño de palabra de datos de 8 bits tendrá ocho canales en su bus (conjunto de cables, componentes de conexión) y, por lo tanto, podemos contar hasta (28 - 1). 255. No es posible contar más de 255 con ocho bits, ya que la operación 255 + 1 lleva un uno, lo que requiere un noveno bit o ocurrirá lo que se llama un desbordamiento binario, devolviendo 0 como respuesta, lo cual es incorrecto.

    Esto simplemente se visualiza;

    1 1 1 1 1 1 1 1 255
    + 0 0 0 0 0 0 0 1 1
    = 0 0 0 0 0 0 0 0 0

    Algunos tamaños de datos enteros comunes son:

    Número máximo representable Número de bits necesarios
    1 = (21 - 1) 1
    7 = (23 - 1) 3
    15 = (24 - 1) 4
    255 = (28 - 1) 8
    65535 = (216 - 1) 16
    4294967295 = (232 - 1) 32

    El tamaño de la palabra de datos también gobierna el tamaño máximo de los números que pueden ser procesados ​​por la ALU (Unidad Aritmética y Lógica) de una computadora.

    Palabra de instrucción

    La cantidad de datos que necesita una computadora para completar una sola instrucción es representativa del tamaño de palabra de instrucción de una computadora.

    El tamaño de la palabra de instrucción de una computadora es generalmente un múltiplo de su tamaño de palabra de datos. Esto ayuda a minimizar la desalineación de la memoria mientras se recuperan las instrucciones durante la ejecución del programa.

    Conjunto de instrucciones

    Ésta es una colección de instrucciones que la unidad de control (CU) puede decodificar y luego ejecutar.

    Las instrucciones son esencialmente funciones ejecutadas por la computadora, los ejemplos de instrucciones incluyen:

    • Sumar, restar, multiplicar y dividir
    • Lectura / escritura desde RAM / ROM / memoria terciaria
    • Cargue y descargue datos en la RAM
    • Bifurcación a otras partes del código
    • Comparando registros
    • Seleccionar una función lógica (NAND, NOR, NOT, etc.)

    Las instrucciones pueden programarse en la RAM, cargarse desde la ROM o activarse directamente usando una palanca o un botón. Cada instrucción tendría su propia cadena binaria específica asignada (por ejemplo, 0000 = Cargar datos del registro 0001 = agregar A y B 1011 = Guardar RAM en la memoria terciaria, etc.) y probablemente requeriría su propio binario a decimal o binario a BCD para codificadores decimales y buses a los registros / ALU.

    Arquitectura de la computadora

    Dentro de la computadora, hay una Unidad Central de Procesamiento (que no debe confundirse con la Unidad de Control (CU), un componente dentro de la CPU), que en la vida real, es un componente muy pequeño y poderoso que actúa como más o menos, el cerebro de la computadora. En Minecraft, es difícil compactarlo a la escala que vemos en la vida real, así que no se preocupe si se ve mal.

    Primero diseñaremos nuestra Unidad Central de Procesamiento de 4 bits en el próximo capítulo, ya que es lo más importante en nuestra computadora con el Modelo de Ejecución (el método de comunicación y organización de la CPU) en mente, (del que hablamos en este página, antes, en la sección Modelo de ejecución) podemos trazar la construcción de la computadora.

    Tutoriales / Computadoras Redstone Tutoriales / Computadoras Redstone

    Mapa de la CPU, basado en el modo de ejecución de Havard

    La CPU sigue un ciclo de cuatro pasos, busca, decodifica, ejecuta y (a veces) almacena para realizar instrucciones. La CPU primero obtiene la instrucción de la RAM, decodifica lo que significa (lo más probable es que la instrucción sea un número y la CPU debe averiguar qué número es), y una vez que comprenda cuál es la instrucción, realizará esa acción. Esto a veces requiere que los datos se vuelvan a colocar en el almacenamiento, por lo tanto, almacenará los datos. A continuación se repite el ciclo.

    Autobuses

    Hay cinco buses en la CPU, cada uno para transportar información de un componente al siguiente. Los buses son canales de redstone que conectan cada componente. Dado que estamos construyendo una computadora de 4 bits, solo necesitamos cuatro canales en nuestro bus. Estas son las líneas roja y azul que conectan los componentes dentro de la CPU. Observe que los buses azules tienen menos de cuatro líneas, esto se debe a que no transportan datos. Dado que los buses solo pueden transportar datos de una manera (en Minecraft, debido a que los repetidores solo funcionan de una manera), hay dos buses que conectan la CPU a la computadora exterior.

    El primer bus es el bus de datos, esto es para transferir información desde el almacenamiento o los dispositivos de E / S a la CU. Las instrucciones también se envían a través de esta línea. La CU también puede utilizar este bus para transferir datos a la ALU. La ALU no puede transferir datos a este bus porque los buses solo funcionan en una dirección y una vez que la ALU toma la información, el bus se interrumpe más allá de la ALU. La información de la ALU se transmite a través del bus 2.

    El segundo bus es el bus de datos, pero devuelve los datos de la ALU a la CU. La CU no puede enviar datos a través de este bus a la ALU porque el bus va de izquierda a derecha y funciona en una sola dirección. Sin embargo, la CU puede enviar información a las unidades de almacenamiento y se utiliza para establecer valores de dispositivos de almacenamiento.

    El tercer bus es el bus de direcciones, que la CU puede enviar la dirección de almacenamiento. Aquí es donde reside la información. Por ejemplo, la CU solicita la dirección del byte que vive en 0001. Envía la dirección (0001) a través del bus de direcciones y la RAM devolverá el valor del byte a través del primer bus. 0001 es la ubicación del byte, no su valor.

    El cuarto bus es el bus de control, con el que la CU se comunicará con la RAM. Por ejemplo, un cable podría decirle a la RAM que establezca el byte en el valor de los datos que le envía la CU. Otro cable podría decirle a la RAM que obtenga el byte de la dirección que le envió la CU.

    El quinto bus es otro bus de control, que enlaza con la ALU, que envía banderas desde la ALU. Las banderas son notas que pueden ser mensajes de error. Por ejemplo, la CU podría pedirle a la ALU que agregue 15 y 1 en un sistema de 4 bits. Agregar 15 y 1 en 4 bits daría como resultado 0 (explicado anteriormente) y esto se llama desbordamiento binario. Esto es un error y la ALU le informará a la CU sobre esto a través del quinto bus como una bandera. La CPU también podría enviar datos a la ALU y pedirle que realice una acción con esos datos.

    Componentes

    Unidad de control (CU) obtendrá instrucciones de la ROM de instrucciones (para otras computadoras, las instrucciones se pueden cambiar y, por lo tanto, es RAM. Para nuestro caso, estamos ejecutando un programa fijo y no es necesario cambiar las instrucciones. Esto simplifica el proceso por completo y la instrucción es de lectura -Sólo memoria (ROM)). Dentro de la CU, decodificará la instrucción, que normalmente es un número, en una acción sensata. Luego realizará esa acción y, si la instrucción lo requiere, almacenará el resultado en la RAM. Se comunica con la RAM a través del bus de control y recibe banderas de la ALU. También puede pedirle a la ALU que realice acciones sobre los datos que envía a la ALU (por ejemplo, adición). Para comunicarse con la RAM, por ejemplo, un cable podría decirle a la RAM que establezca el byte (la ubicación del mismo se especifica a través del tercer bus de direcciones) al valor de los datos que le envía la CU a través del segundo, data autobús.

    Unidad aritmética lógica (ALU) ejecutará las instrucciones que se le envíen desde la CU y comparará números binarios y se comunicará con la Unidad de Control. Puede hacer sumas y restas simples que se pueden repetir para hacer multiplicaciones y divisiones de números enteros, dando como resultado un número entero (luego división). También hay puertas lógicas para booleanos, se requieren las puertas lógicas fundamentales, como la puerta NOT y la puerta NAND.

    Ahora podemos elegir entre una variedad de diseños de autobuses, cada uno de los cuales contribuye a los tres objetivos de diseño clave antes mencionados de una computadora Minecraft.

    Capítulo 3: Diseño de una computadora

    Set de instrucciones arquitectura

    A los estados

    La memoria es un número fijo de bits. En Minecraft, la memoria suele contener 8 o 16 bits, aunque las computadoras con memoria de 32 bits se han construido con éxito antes. Cada bit se encuentra en uno de dos estados posibles: encendido o apagado. La memoria es una serie de estos encendidos y apagados, que se pueden utilizar para realizar determinadas tareas.

    Símbolos

    Las computadoras del mundo real usan binario, que es una serie de unos y ceros. "1" significa "encendido" y "0" significa "apagado". En Minecraft, la mejor representación es el polvo de piedra roja: tener una señal significa "1" y ninguna señal significa "0". Sin embargo, dependiendo de qué tan lejos esté el redstone del almacenamiento de memoria, es posible que "1" sea cualquier valor desde la intensidad de la señal 0 hasta el 0. También puedes diseñar elementos para que "0" sea igual a cualquier valor de la intensidad de la señal. 14 a 1.

    NÚMEROS

    Nuestro sistema decimal normal es un sistema numérico en base 10. El binario, el sistema numérico dentro de las computadoras, está en base 2. Para comparar, observe el número de 2 dígitos. En decimal, el dígito de la izquierda es el dígito de las decenas. En binario, es el dígito de 10. Por ejemplo, en decimal, "2" se lee como "diez". En binario, "10" se lee como "dos". Hay dos métodos de uso común para convertir de decimal a binario:

    El bit más alto primero: este método requiere un poco de intuición. Usemos 42 como ejemplo. Primero comenzamos buscando el mayor exponencial de 2 (por ejemplo, 32 [2 ^ 5] o 65536 [2 ^ 16]). En este caso, es 32. Luego restamos ese número del número en cuestión. 42-32 = 10. Además, el primer bit de la izquierda es un "1". Luego bajamos al siguiente exponencial de 2 y vemos si es menor o igual a nuestro número actual. Para este ejemplo, el siguiente es 16. 16 no es menor que 10, por lo que el siguiente bit es "0". Seguimos haciendo esto hasta que el número llega a 0. Siempre que el 2 exponencial sea menor o igual al número, reste y el siguiente bit es "1". Si no, el siguiente bit es "0". Para continuar con nuestro ejemplo: 8 <10-> 10-8 = 2 -> "1" 4> 2 -> "0" 2 = 2-> 2-2 = 0 -> "1" 1> 0 -> "0 "Así que nuestra representación binaria final de 42 es" 101010 ". Elegante.

    El bit más bajo primero: este método no requiere la memorización de 2 exponenciales. En su lugar, divide repetidamente el número por 2, utilizando el cociente como el siguiente número y el resto como el bit binario. Sin embargo, tenga en cuenta que este método escribe el número binario de derecha a izquierda, a diferencia del método anterior que lo escribió de izquierda a derecha. Reutilicemos nuestro ejemplo, 42. 42/2 = 21 r 0 (el bit más a la derecha es 0) 21/2 = 10 r 1 (el siguiente bit a la izquierda es 1) 10/2 = 5 r 0 (el siguiente bit a la izquierda es 0) 5/2 = 2 r 1 (el siguiente bit a la izquierda es 1) 2/2 = 1 r 0 (el siguiente bit a la izquierda es 0) 1/2 = 0 r 1 (el siguiente bit a la izquierda es 1)

    El cociente es 0, así que nos detenemos. Esto nos da nuestro número binario como "101010". Igual que el método anterior.

    Transiciones

    Palabras
    Instrucciones

    Las instrucciones son esencialmente funciones ejecutadas por la computadora, los ejemplos de instrucciones incluyen:

    • Sumar, restar, multiplicar y dividir
    • Lectura / escritura desde RAM / ROM / memoria terciaria
    • cargar y descargar datos en la RAM
    • Bifurcación a otras partes del código
    • Comparando registros
    • Seleccionar una función lógica (NAND, NOR, NOT, etc.)

    Las instrucciones pueden programarse en la RAM, cargarse desde la ROM o activarse directamente usando una palanca o un botón. Cada instrucción tendría su propia cadena binaria específica asignada (por ejemplo, 0000 = Cargar datos del registro 0001 = agregar A y B 1011 = Guardar RAM en la memoria terciaria, etc.) y probablemente requeriría su propio binario a decimal o binario a BCD para codificadores decimales y buses a los registros / ALU.

    Clasificación

    Abstracción

    Mapeo

    Símbolos
    NÚMEROS
    Las funciones clave

    Formalización

    Computabilidad

    Variables

    Las variables son números, cadenas (conjuntos de caracteres) o valores booleanos (verdadero o falso) almacenados en la RAM con el propósito de ejecutar un programa. Por ejemplo, los valores booleanos se pueden usar para mantener información si el programa ha alcanzado un cierto estado. Se debe mantener la siguiente información sobre una variable: su nombre, tipo (número, cadena o booleano) y valor. El valor de una variable puede, como sugiere su nombre, cambiar. Las operaciones se pueden realizar sobre variables. Las variables se crean mientras se ejecuta el programa y se eliminan de la memoria una vez que se cierra el programa. Cuando se vuelve a abrir un programa, las variables se vuelven a crear. Lo mismo ocurre en Minecraft.

    Jerarquías

    Memoria

    La memoria es donde se guardan los datos de los programas. Es volátil (se elimina cuando se apaga la computadora) y se usa para que el programa almacene datos. Por ejemplo, en un programa que cuenta desde 1, 1 se guarda en la memoria, 1 se carga desde la memoria y 1 se le agrega para obtener 2.

    Ejecución

    Semántica

    Datos

    Los datos son la información que procesa la computadora y se representan mediante binarios.

    Control

    Arquitectura de la máquina

    Rutas de datos

    Procesando
    Unidad de lógica aritmética

    Tutoriales / Computadoras Redstone

    La ALU es uno de los componentes más importantes de una computadora, tanto en la vida real como en Minecraft. Primero, debe elegir las funciones que desea poder lograr. La mayoría de las veces, son sumas, restas y un conjunto de opciones lógicas como AND, OR, NAND y similares. Luego debe construir la unidad con todas las puertas lógicas y funciones matemáticas que desee y una forma de elegir cuál de las salidas mostrar.

    Busing

    El bus es lo que permite que los componentes de su computadora se comuniquen entre sí. Se puede crear un bus utilizando cableado redstone para conectar la ALU, la RAM, la ROM y los registros de su computadora para que puedan enviarse datos entre sí. Por lo general, es importante planificar dónde construir los componentes de su computadora para que no tenga que crear cables de bus por demasiado tiempo, o peor aún, no tenga espacio para crear buses, en cuyo caso puede quitar el componente ofensivo y reconstruir en una ubicación apropiada, o use un mod como WorldEdit para mover el componente a otro lugar.

    Almacenamiento

    Registrarse

    Memoria de acceso aleatorio

    Tutoriales / Computadoras Redstone

    Memoria de acceso aleatorio también conocido como RAM es un tipo de memoria que utilizan los programas y es volátil. La mayoría de las veces, hacerlo volátil no tiene uso en Minecraft, por lo que la forma más fácil de hacerlo es usar d-flip-flops y agregar una función de lectura y escritura. Hacer uno es sencillo. Puede hacer 1 flip-flop y luego simplemente apilarlo durante el tiempo que sea necesario, con un bloque tomado de cada byte. Consulte el siguiente plan para obtener ayuda:

    (Se debe hacer el esquema de Redstone) Consulte la imagen si no está seguro (haga clic en ella para agrandarla) r = cable p = repetidor b = bloque t = antorcha en el costado del bloque 0 = aire

    Capa 1
    00trb00
    rpb0tr0

    Capa 2
    0b0t00b
    tbbbbtb

    Capa 3
    0r0t00r
    0rprr0r

    Memoria terciaria

    La memoria terciaria se utiliza para almacenar de forma compacta grandes cantidades de datos a expensas de la velocidad. Este tipo de memoria consta de la base de datos, donde se almacenan todos los datos, y un mecanismo físico, generalmente un brazo robótico, que debe moverse físicamente por la base de datos para obtener datos. Por esta razón, es extremadamente lento y solo se usa para información a la que rara vez se accede. Este es el equivalente al disco duro o unidad de estado sólido de una computadora real.

    En las últimas versiones de Minecraft, es posible crear una memoria terciaria con pistones pegajosos combinados con bloques de limo, que pueden crear "naves" que se mueven y, presumiblemente, almacenar un componente de Redstone que puede extraer, leer y escribir desde una pared. de bloques conductores y no conductores.

    Estado de la máquina
    Contador de programa

    El contador del programa se utiliza para realizar un seguimiento de la línea de código desde la que debe leer la computadora. Durante cada ciclo de reloj, el decodificador accederá a este contador para buscar la siguiente instrucción a ejecutar. Algunas instrucciones accederán a una cantidad de datos diferente a otra o no accederán a ningún dato, por lo que el decodificador, a su vez, incrementará el contador del programa en la cantidad apropiada a la siguiente instrucción. El contador también es utilizado por instrucciones de salto para controlar el flujo del programa.

    En la vida real, este contador no es un componente en sí mismo y es simplemente un registro junto a todos los demás. En Minecraft, sin embargo, puede resultar menos confuso crear un registro separado de los demás para almacenar los datos del contador del programa.

    Rutas de control

    Procesando
    Unidad de control

    La unidad de control es la sección de la computadora que interpreta las instrucciones y controla las otras partes de la computadora, como decirle a la ALU si debe sumar o restar.

    Tutoriales / Computadoras Redstone

    Busing

    Tutoriales / Computadoras Redstone

    Almacenamiento

    Tutoriales / Computadoras Redstone

    Memoria de programa

    Tutoriales / Computadoras Redstone

    La memoria de programa es, básicamente, ROM (memoria de solo lectura). La ROM se usa con mayor frecuencia para realizar una serie de tareas de forma remota (como un programa, de ahí el nombre). Se puede hacer para ser utilizado en el control del usuario (como en la imagen) o con un reloj y un retraso suficiente entre cada línea para que 2 no estén encendidos al mismo tiempo. Uno de los diseños más simples y eficientes es el de la imagen, que puede estar acoplado o no a un decodificador. Se puede ampliar fácilmente, lo cual es otra ventaja. A continuación se ofrecen algunos consejos:

    Estado de la máquina

    Tutoriales / Computadoras Redstone

    Contador de programa

    Tutoriales / Computadoras Redstone

    Reloj

    Tutoriales / Computadoras Redstone

    Los relojes Redstone se utilizan para sincronizar componentes o cronometrarlos. En la mayoría de los casos (Minecraft), es posible evitar el uso de uno, pero a veces es necesario para el funcionamiento de la computadora. Puede estar hecho de antorchas de piedra roja en básicamente una línea / círculo de NO puertas (se recomienda un número impar o su salida tendrá que ser NOT), o de repetidores, como se muestra en la imagen de arriba.

    Consejos

    • El jugador puede querer usar mods o paquetes de datos como WorldEdit.
    • Codifique con colores su computadora (use lana azul u hormigón para la RAM, amarillo para la ALU, etc.)
    • Empiece con algo pequeño y familiarícese con las computadoras pequeñas antes de probar máquinas más complejas.
    • Los bloques de estructura pueden ser muy útiles para mover componentes y combinar varios componentes juntos. Sin embargo, tenga en cuenta que estos no se pueden obtener sin usar comandos.

    • Redstone
    • Circuito de Redstone
    • Reloj redstone
    • Circuito lógico
    • Circuito de memoria
    • Circuito de pulsos
    • Circuito de transmisión
    • Tutoriales / Circuitos redstone avanzados
    • Tutoriales / Calculadora
    • Tutoriales / Impresión
    • Tutoriales / Telegraph

    1. ↑ Representaciones de números firmados en pedia
    Tutoriales
    Introductorio
    • Pantalla de menú
    • Términos del juego
    Supervivencia del recién llegado
    • El primer día / guía para principiantes
    • El segundo día
    • El tercer día
    • Manejo del hambre
    • Cosas que no hacer
    • Trucos y consejos sencillos
    • Tus primeros diez minutos
    Refugios
    • Los mejores biomas para hogares
    • Los mejores materiales de construcción
    • Construcción y edificación
    • Navegación
    • Refugios
    • Tipos de refugio
    General
    • Guía de logros
    • Guía de avance
    • La mejor guía de encantamientos
    • Rompiendo el lecho de roca
    • Combate
    • Aventura principal completa
    • Creando una aldea
    • Doble empuñadura
    • Finalizar la supervivencia
    • Explorando cavernas
    • Recopilación de recursos en dificultad pacífica
    • Conseguir comida rápidamente
    • Pistones sin cabeza
    • Hitboxes
    • Caballos
    • Mapeo
    • Medición de distancia
    • MINERÍA
      • diamantes
      • Fósiles
      • Escombros antiguos
    • Centro inferior
    • Portales inferiores
    • Supervivencia abisal
    • afiliada
    • Salto de pilar
    • PvP
      • Bases JcJ
    • A prueba de spawn
    • The Void
    • Consejos para ahorrar tiempo
    • Mecánica de la aldea
      • Operar en
    • Minecraft en la educación
    • Cristales finales indestructibles
    • Invocación de jinetes
    • Supervivencia en tormentas
    • Unidades de medida
    • Fallos de rayos X
    Desafíos
    • Adquirir un conducto
    • Curar a un aldeano zombi
    • Derrotando templos
    • Derrotar una incursión en una aldea
    • Derrotar una fortaleza abisal
    • Derrotar a un remanente de bastión
    • Derrotar una mazmorra
    • Derrotar a un puesto de saqueadores
    • Derrotar una mansión en el bosque
    • Derrotando un monumento
    • Derrotar una ciudad del fin
    • Derrotar al dragón Ender
    • Derrotando a Wither
    Supervivencia no estándar
    • Supervivencia de la aventura
    • Modo incondicional
    • Cómo sobrevivir en una sola área indefinidamente
    • Supervivencia infinita en el desierto
    • Caza
    • Experiencia nómada
    • Supervivencia de Skywars
    • Supervivencia superplana
    • Supervivencia ultra hardcore
    • Supervivencia de la isla
    Mapas de desafío
    • Superar un mapa de desafío
    • Crear un mapa de desafíos
    Construcciones
    • Añadiendo belleza a las construcciones
    • Burbuja de aire
    • Términos arquitectónicos
    • Construyendo un crucero
    • Construyendo una metrópolis
    • Construyendo una montaña rusa
    • Construyendo casas seguras
    • Construcción de características de agua
    • Paleta de color
    • Creando formas
    • Defensa
    • Refugio del desierto
    • Elevadores
    • Piscina circular sin fin
    • Muebles
    • Patrones de terracota esmaltada
    • Hacer bonitos suelos
    • Arte de pixel
    • Ranchos
    • Tipos de techo
      • Techos curvos
      • Pautas de construcción de techos
      • Decoraciones de techo
    • Puerta secreta
    • Guía de liquidación
    • Casa submarina
    • Paredes y contrafuertes
    • Puerta de agua
    • Transporte en bote a motor
    Sostenible
    Bloques y artículos
    • Blindaje
    • Comida de hueso
    • Cactus
    • Guijarro
    • Grano de cacao
    • Cultivos (remolacha, zanahoria, papa, trigo)
    • Fruta de coro
    • Huevo
    • Liquen resplandor
    • MIEL
    • Peces
    • Flor
    • Hielo
    • Quelpo
    • Carniceria
    • Hongo
    • Disco de musica
    • Verruga inferior
    • Obsidiana
    • Nieve en polvo
    • Calabaza, Melón
    • Escudo
    • Lana
    • Encurtidos de mar
    • Nieve
    • Caña de azúcar
    • Árbol
    • viene
    • Duplicación
    Turbas
    • Agricultura de la mafia
    • Mob Mob
    • Trampas de desove
    • Animales (vacas, cerdos, ovejas)
    • Blaze
    • Araña de las cuevas
    • enredadera
    • Ahogue
    • Enderman
    • guardián
    • Hoglin
    • Golem de hierro
    • Cubo de magma
    • Granja de trueque
    • Agricultura de incursión
    • Limo
    • Calamar
    • salvar las
    • Aldeano
    • Bruja
    • Wither esqueleto
    • Zombi
    • Piglin zombificado
    Encantador y fundición
    • Mecánica de encantamiento
    • Mecánica del yunque
    • Fundición automática
    • Fundición manual
    Rompiendo bloques
    • Cámara de explosión
    • Jaula marchita
    Mecanismos
    Redstone básica
    • Recargador de ancla de reaparición automático
    • Puertas lógicas básicas
    • Bloque de comandos
    • Máquinas voladoras
    • Tolva
    • Transporte de artículos
    • Mecanismos
    • Estabilizador de observador
    • Cerraduras de combinación
    • Aleatorizadores
    • Música de Redstone
    • Consejos de Redstone
    • Máquina Rube Goldberg
    • Almacenamiento de caja Shulker
    • Sala de comercio de aldeanos
    Detectores
    • Detector de actualización de bloque
    • Detector de actualización del comparador
    • Sensor de luz diurna
    • Detector de día y noche
    Minecarts
    Trampas
    • Golems de nieve
    • Cañones TNT
    • Usos de trampilla
    • Diseño de trampa
    • Trampas
    Pistons
    • Usos del pistón
    • Circuitos de pistón
    • Cuasi conectividad
    • Cero tictac
    • Repetidores instantáneos
    Redstone (avanzado)
    • Circuitos de redstone avanzados
    • Lógica aritmética
    • Calculadora
    • Estadísticas de mando
    • Reloj por horas
    • código Morse
    • Impresora
    • Computadoras Redstone
    • Telégrafo redstone
    Servidores
    • Jugando en servidores
    • Supervivencia multijugador
    • Cárcel de desove
    • Prevención del duelo
    • Unirse a un mundo LAN con cuentas alternativas
    Configuración del servidor
    • Configurar un servidor
    • Script de inicio del servidor
    • Script de inicio de FreeBSD
    • Script de inicio de OpenBSD
    • Script de inicio de Ubuntu
    • Configuración de un servidor de Hamachi
    • Configuración de un servidor de Minecraft Forge
    • Configuración de un servidor Spigot
    • Servidor habilitado para Ramdisk
    Apoyo técnico
    • Mejora de la velocidad de fotogramas
    • Preguntas frecuentes sobre la ayuda de Minecraft (canal IRC)
    • Actualiza Java
    mapas
    • Mapas personalizados
    • Descargas de mapas
    • Etiquetas de comando NBT
    • Caída de bloques
    • Actualización de terreno antiguo usando MCEdit
    Paquetes de recursos
    • Crear un paquete de recursos
    • Cargando un paquete de recursos
    • Directorio de sonido
    Paquetes de datos
    • Creando un paquete de datos
    • Instalación de un paquete de datos
    Add-ons
    • Directrices para creadores de Bedrock Edition
    • Crear paquetes de recursos
      • Avanzado [WIP]
      • Guía de referencia de componentes de entidad
      • Cambiar los modelos de entidad de Minecraft
    • Creando paquetes de comportamiento
    • Crear entidad personalizada
    Creación de medios de Minecraft
    • Creando videos
    • Transmisión en vivo
    Instalación del juego
    • Instalación de instantáneas
    • Unirse y salir del programa beta de Bedrock Edition
    • Cómo obtener un informe de fallas
    • Instalación de mods de Forge
    • Jugar y guardar Minecraft en una memoria USB
    • Jugar y guardar Minecraft en una memoria USB con el antiguo lanzador
    • Recuperar datos mundiales guardados dañados
    • Ejecute Minecraft a través de Google Drive
    • Guardar datos del juego en Dropbox (solo datos mundiales)
    • Guía de Dropbox de datos guardados
    Anticuado
    • Construcción de micro refugios
    • Paquetes de texturas personalizados
    • Cultivo de golem de hierro basado en puertas
    • Tierras lejanas
    • Cómo obtener un informe de fallas
    • Instalando mods
    • Lago artificial
    • Manejo de slimes en modo superflat
    • Refuerzo de minecart
    • Sistema de reinicio del repetidor
    • Supervivencia sin paquetes de datos habilitados
    • Actualizar LWJGL
    • Actualizar Minecraft
    • Encadenamiento de aldea
    • escalera de agua
    • Tranvía de agua


    Añade un comentario de Tutoriales / Computadoras Redstone
    ¡Comentario enviado con éxito! Lo revisaremos en las próximas horas.