aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorsejo <sejo@texto-plano.xyz>2021-05-27 19:00:56 -0500
committersejo <sejo@texto-plano.xyz>2021-05-27 19:00:56 -0500
commit5f45e31fe97cc87885216e0a050faa8e7ea33490 (patch)
treee274823ee18e25443f1ec6724f6232afdb289bfe /src
parentb8b0322d215de7414e63d7a69fab84c101bdbe40 (diff)
downloadsitio-5f45e31fe97cc87885216e0a050faa8e7ea33490.tar.gz
página de danza papier
Diffstat (limited to 'src')
-rw-r--r--src/actualizaciones.gmo3
-rw-r--r--src/actualizaciones.xml2
-rw-r--r--src/compudanzas.gmo10
-rw-r--r--src/danza_papier.gmo199
-rw-r--r--src/estilo.css2
-rw-r--r--src/indice.gmo1
-rw-r--r--src/non_e-computers.gmo1
-rw-r--r--src/s-camino.gmo1
-rw-r--r--src/tw.txt1
9 files changed, 212 insertions, 8 deletions
diff --git a/src/actualizaciones.gmo b/src/actualizaciones.gmo
index 9ab863c..e8951cd 100644
--- a/src/actualizaciones.gmo
+++ b/src/actualizaciones.gmo
@@ -11,8 +11,9 @@ si lo prefieres, puedes seguir las (y más) actualizaciones via git:
## sjm-1661d1
-página nueva:
+páginas nuevas:
=> ./postfix.gmi {postfix}
+=> ./danza_papier.gmi {danza papier}
## sjm-1660d7
diff --git a/src/actualizaciones.xml b/src/actualizaciones.xml
index 9bc1dd5..c1968f8 100644
--- a/src/actualizaciones.xml
+++ b/src/actualizaciones.xml
@@ -15,7 +15,7 @@
<updated>2021-05-27T12:00:00Z</updated>
<link href='https://quesomango.neocities.org/actualizaciones.html#sjm-1661d1' rel='alternate'/>
<summary>
- página de postfix
+ páginas de postfix y de danza papier
</summary>
</entry>
diff --git a/src/compudanzas.gmo b/src/compudanzas.gmo
index e63596e..b2e5d99 100644
--- a/src/compudanzas.gmo
+++ b/src/compudanzas.gmo
@@ -4,8 +4,6 @@ materializando ciencias computacionales en cuerpxs humanxs y coreografía
# las danzas
-sección en construcción
-
## ciclo de memoria
un dispositivo-danza que almacena información binaria, con capacidad de ser escrita y leída.
@@ -43,10 +41,11 @@ en donde bailamos con y a partir de una fila / tira / cinta de objetos / símbol
en donde bailamos con y a partir de una fila / tira / cinta de objetos y una tabla específica de estados, en un acomodo tal que nos permite simularnos bailando con y a partir de una fila / tira / cinta de objetos y cualquier tabla específica de estados
-## pequeña persona computadora
+## danza papier
-en donde nuestras acciones toman la forma de las operaciones de una computadora organizada casi como las que conocemos.
+en donde nuestras acciones toman la forma de las operaciones de una computadora con una arquitectura similar a la de las que conocemos.
+=> ./danza_papier.gmi {danza papier}
# el taller
@@ -143,7 +142,8 @@ el taller consiste en 6 sesiones de 2 horas de duración cada una
=> http://www.blikstein.com/paulo/projects/project_water.html programmable water - paulo blikstein 2003
=> https://wiki.xxiivv.com/site/papier.html wdr papier computer
=> https://wiki.xxiivv.com/site/paper_computing.html paper computing
-=> https://yip.pe/analog.html analogue computing.
+=> https://yip.pe/analog.html analogue computing
+=> https://www.turingtumble.com/ turing tumble
### modelos simples de computadora
diff --git a/src/danza_papier.gmo b/src/danza_papier.gmo
new file mode 100644
index 0000000..676e263
--- /dev/null
+++ b/src/danza_papier.gmo
@@ -0,0 +1,199 @@
+# danza papier
+
+baile colaborativo que ejemplifica una arquitectura computacional común, basada en la wdr papiercomputer
+
+=> https://wiki.xxiivv.com/site/papier.html papier computer
+
+parte de las {compudanzas}
+
+
+# componentes
+
+## participantes
+
+la arquitectura base consta de al menos 6 personas:
+
+* PC: apuntadora del programa (program counter)
+* Memoria: quien administra la lista de números correspondiente al programa
+* CU: la directora, unidad de control
+* Rn: al menos dos registros, R0 y R1
+* LU: la que responde preguntas lógicas
+
+
+## materiales
+
+como materiales tangibles solo se requiere la lista de números que administra la Memoria.
+
+como sea, si el grupo cuenta con suficientes personas, cada uno de esos números puede ser cuerpeado por una persona distinta.
+
+opcionalmente, puede existir una tabla en papel que sirva de recordatorio a la CU de las operaciones a seguir: el microcódigo.
+
+
+## movimientos
+
+se necesita contar con, y conocer, el siguiente conjunto de movimientos.
+
+### todas las personas
+
+* dígito-movimiento: un movimiento por cada digito en la base elegida (por ejemplo, del 0 al 9 para trabajar en base 10)
+* posición: una forma de indicar si un dígito es el primero o el segundo
+* finalización: un movimiento que indique que el cómputo ha terminado
+
+será importante conocer cuál es el movimiento siguiente y anterior a cada dígito-movimiento.
+
+### Registros y CU:
+
+* indicación de incremento
+* indicación de decremento
+
+### LU y CU:
+
+* pregunta: ¿el contenido del Registro es 0?
+* respuestas: sí, no
+
+### PC y CU:
+
+* indicación de incremento sencillo
+* indicación de incremento doble
+
+
+## instrucciones
+
+la computadora cuenta con los 5 siguientes códigos de operación (entre paréntesis su mnemónico)
+
+* 0: Fin del programa (FIN)
+* 1: Condicional (CND)
+* 2: Salta a (SLT)
+* 3: Incrementa (INC)
+* 4: Decrementa (DEC)
+
+una instrucción completa consiste de ese código de operación, acompañada de un dígito llamado argumento.
+
+ese argumento tiene un significado distinto según la instrucción:
+
+* FIN: argumento ignorado
+* CND: el argumento es el número de Registro al cual preguntarle si es 0: si la respuesta es sí, hay que saltarse una instrucción, y si la respuesta es no, hay que continuar normalmente
+* SLT: el argumento es el número de línea a la cual saltar a continuación
+* INC: el argumento es el número de Registro que ha de incrementarse
+* DEC: el argumento es el número de Registro que ha de decrementarse
+
+
+# ciclo de instrucción
+
+la máquina estará en el llamado ciclo de instrucción hasta encontrar a una instrucción FIN.
+
+este ciclo consiste de dos partes, fetch (buscar) y execute (ejecutar).
+
+antes de comenzar, hay que realizar una inicialización:
+
+* PC toma el dígito-movimiento correspondiente a 0, y se mueve transmitiéndolo
+* Registros toman el dígito-movimiento inicial que se les indique, y se mueven transmitiéndolo
+
+## fetch (buscar)
+
+* todes les Registros se mueven con una amplitud normal, transmitiendo sus dígitos-movimientos
+* PC se mueve transmitiendo el dígito-movimiento que tiene almacenado
+* Memoria recibe el dígito, y busca en su lista de números al par de dígitos que se encuentran en esa posición.
+* Memoria se mueve transmitiendo esos dos dígitos-movimientos, con cuidad de indicar cuál es el primero y cuál es el segundo
+* CU recibe esos dos dígitos
+* la máquina pasa a la etapa execute
+
+
+## execute (ejecutar)
+
+* CU identifica al primer dígito recibido como código de operación, y al segundo como argumento
+* de acuerdo al código de operación, suceden las siguientes operaciones:
+
+### FIN: Fin del programa (0)
+
+* CU se mueve indicando finalización
+* todes se detienen excepto Registros que continúan con sus dígitos-movimientos
+
+les Registros ahora pueden ser inspeccionados para leer los resultados del cómputo.
+
+### CND: Condicional (1)
+
+* CU se mueve dirigiéndose a les Registros, transmitiendo el dígito-movimiento que recibió como argumento
+* Registros reciben el dígito
+* Registro que tiene a ese dígito en su nombre, hace más evidente el dígito-movimiento que estaba realizando
+* les demás Registros reducen la amplitud de su propio dígito-movimiento.
+* CU se mueve preguntando a LU si el Registro es 0.
+* LU recibe la pregunta, y observa al Registro con movimiento amplio
+* LU se mueve respondiendo sí o no
+* CU recibe la respuesta de LU
+* CU se mueve dirigéndose a PC: si la respuesta que recibió de LU fue sí, entonces se mueve indicando un doble incremento; si la respuesta fue no, entonces se mueve indicando un incremento sencillo
+* PC recibe la indicación, y pasa al siguiente dígito-movimiento, ya sea una o dos veces según lo recibido.
+* la máquina pasa a la etapa fetch
+
+
+### SLT: Salta a (2)
+
+* CU se mueve dirigéndose a PC, transmitiendo el dígito-movimiento que recibió como argumento
+* PC recibe el dígito y lo almacena, reemplazando al dígito-movimiento que estaba realizando antes.
+* la máquina pasa a la etapa fetch
+
+
+### INC: Incrementa (3)
+
+* CU se mueve dirigiéndose a les Registros, transmitiendo el dígito-movimiento que recibió como argumento
+* Registros reciben el dígito
+* Registro que tiene a ese dígito en su nombre, hace más evidente el dígito-movimiento que estaba realizando
+* les demás Registros reducen la amplitud de su propio dígito-movimiento.
+* CU se mueve dirigiéndose a les Registros, transmitiendo la indicación de incremento
+* Registro con el movimiento amplio, pasa al dígito-movimiento siguiente al que estaba realizando (incrementa en 1 al valor que estaba almacenando)
+* les demás Registros hacen caso omiso
+* CU se mueve dirigéndose a PC, indicando un incremento sencillo
+* PC recibe la indicación, y pasa al siguiente dígito-movimiento
+* la máquina pasa a la etapa fetch
+
+
+### DEC: Decrementa (4)
+
+* CU se mueve dirigiéndose a les Registros, transmitiendo el dígito-movimiento que recibió como argumento
+* Registros reciben el dígito
+* Registro que tiene a ese dígito en su nombre, hace más evidente el dígito-movimiento que estaba realizando
+* les demás Registros reducen la amplitud de su propio dígito-movimiento.
+* CU se mueve dirigiéndose a les Registros, transmitiendo la indicación de decremento
+* Registro con el movimiento amplio, pasa al dígito-movimiento anterior al que estaba realizando (decrementa en 1 al valor que estaba almacenando)
+* les demás Registros hacen caso omiso
+* CU se mueve dirigéndose a PC, indicando un incremento sencillo
+* PC recibe la indicación, y pasa al siguiente dígito-movimiento
+* la máquina pasa a la etapa fetch
+
+
+# ejemplo de programa
+
+este programa suma los dígitos en R0 y R1, colocando el resultado en R0
+
+## lista de números
+
+este es el programa en formato de lista de números para que administre Memoria.
+
+* 0: 2 3
+* 1: 4 1
+* 2: 3 0
+* 3: 1 1
+* 4: 2 1
+* 5: 0 0
+
+el primer dígito en la lista es el número de línea.
+
+los dos dígitos siguientes son el primer y segundo dígitos de instrucción
+
+
+## ensamblador
+
+usando las palabras clave (mnemónicos) para indicar los códigos de operación, el programa se vería así:
+
+* 0: SLT 3 (salta a la línea 3)
+* 1: DEC 1 (decrementa R1)
+* 2: INC 0 (incrementa R0)
+* 3: CND 1 (¿R1 es 0? si sí, salta una instrucción, si no, continúa)
+* 4: SLT 1 (salta a la línea 1)
+* 5: FIN 0 (fin del programa)
+
+(esta forma de programar es a la que se refiere la práctica de {s-camino})
+
+
+## llega(n) aquí
+=> ./compudanzas.gmi {compudanzas}
diff --git a/src/estilo.css b/src/estilo.css
index 1ccf886..8331e80 100644
--- a/src/estilo.css
+++ b/src/estilo.css
@@ -56,7 +56,7 @@ main h2{
padding-top: 0.5em;
}
main h3{
- font-size: 20px;
+ font-size: 18px;
}
gallery{
diff --git a/src/indice.gmo b/src/indice.gmo
index 76f2498..a171402 100644
--- a/src/indice.gmo
+++ b/src/indice.gmo
@@ -8,6 +8,7 @@
=> ./coloring_computers.gmi {coloring computers}
=> ./compudanzas.gmi {compudanzas}
=> ./compuertas.gmi {compuertas}
+=> ./danza_papier.gmi {danza papier}
=> ./danzas_compuertas.gmi {danzas compuertas}
=> ./danzasistemas-tag.gmi {danzasistemas-tag}
=> ./darena.gmi {darena}
diff --git a/src/non_e-computers.gmo b/src/non_e-computers.gmo
index 58bfd2a..b9e420a 100644
--- a/src/non_e-computers.gmo
+++ b/src/non_e-computers.gmo
@@ -15,6 +15,7 @@ computación sin semiconductores
=> https://wiki.xxiivv.com/site/papier.html wdr papier computer
=> https://wiki.xxiivv.com/site/paper_computing.html paper computing
=> https://yip.pe/analog.html analogue computing
+=> https://www.turingtumble.com/ turing tumble
## llega(n) aquí
=> ./coloring_computers.gmi {coloring computers}
diff --git a/src/s-camino.gmo b/src/s-camino.gmo
index b165929..94a99e5 100644
--- a/src/s-camino.gmo
+++ b/src/s-camino.gmo
@@ -31,5 +31,6 @@ no cualquiera tiene el tiempo... igual aquí andaremos, con paciencia, y un paso
## llegan aquí
=> ./avr-asm.gmi {avr-asm}
+=> ./danza_papier.gmi {danza papier}
=> ./darena.gmi {darena}
=> ./textos.gmi {textos}
diff --git a/src/tw.txt b/src/tw.txt
index 0696ed0..810a86e 100644
--- a/src/tw.txt
+++ b/src/tw.txt
@@ -2,6 +2,7 @@
# nick = sejo
# url = https://quesomango.neocities.org/tw.txt
#
+2021-05-27T18:00:00-05:00 more fun! writing up the instructions for the danza papier!
2021-05-27T16:00:00-05:00 added postfix notation notes, including some routines for pace to speed conversions
2021-05-26T20:00:00-05:00 moving the gemini capsule to the soviet
2021-05-26T18:00:00-05:00 i find it fun to describe a turing machine for people to perform
Un proyecto texto-plano.xyz