Robot de dos ruedas: Hardware Beta listo

Este medio día he terminado la plataforma sobre la que voy a realizar mis primeros experimentos sobre robótica. Se trata de un robot de dos ruedas sobre las que se tiene que mantener en equilibrio, de momento sin desplazamiento. Se trata del clásico problema del péndulo invertido. Con el hardware que tiene ahora mismo únicamente podré llegar hasta ahí. Si consigo unos giróscopos se los conectaré en breve plazo (si antes he conseguido que no se caiga, claro). Lo siguiente será añadirle control remoto para poder dirigirlo mientras se mantiene en equilibrio.
Robot de 2 ruedas

Renombrado de Registros y Especulación Dinámica

Register Renaming and Dynamic Speculation: an Alternative Approach

El renombrado de registros es una de las técnicas utilizadas para aumentar el paralelismo de instrucciones. Consiste básicamente en tener un número de registro físicos mayor que el expuesto por la arquitectura, llamados normalmente registros lógicos, de usuario o públicos . De esta forma, y siguiendo determinadas reglas, un mismo registro lógico puede ser renombrado a como distintos registros físicos en distintas instrucciones. Veámoslo con un ejemplo: Continue reading “Renombrado de Registros y Especulación Dinámica”

Nuevo "chismito": Boss GX-700

¡Buf! Mi anterior publicación es de Abril pasado. El tiempo pasa demasiado rápido como para dejarlo pasar sin producir nada. Mi proyecto secreto (Que yo llamo Alan Parson Project)  ha absorbido gran parte de mi tiempo. En fin, al tema que vamos: La semana pasada me llegó el Boss GX-700 que compré en ebay.


Fiel a mi nueva filosofía  de no gastar dinero de casa en mis caprichos, he estado vendiendo todo aquello que ya no uso y almaceno, incluyendo los pedales que no usaba, para pagarme el chisme.
El aparato es un multiefectos en formato rack, lanzado en 1996, que incluye simulaciones de amplificadores y altavoces. La tecnología que Boss llama COSM. Yo la he descubierto hace poco, y me ha sorprendido que ya existiera hace más de 15 años, imagino que menos conseguida que en modelos más modernos de esta empresa. Creo que no  voy a hacer mucho uso de las simulaciones, porque quiero seguir usando mi previo de vávulas Real Tube II. Unas de las razones por la que me decidí por este modelo es porque tiene un “loop” para incorporar efectos externos, y eso me permite insertar el previo de vávulas en el lugar correcto de la cadena de efectos: detrás de los efectos compresor, wah y distorsión, y delante de los efectos de modulación, eco, reverberación, etc. Otros de los motivos por el que lo compré es que tiene entrada para un pedal de expresión, con lo cual ya no tengo que comprarme un wah y puedo controlar otros efectos como el  Humanizer o Pitch Shifter, además del volumen. Encima puedo seguir usando mi ancianita pedalera midi Control Seven, de Digithech.

Con la llegada del GX-700 he jubilado mi multiefecto Yamaha REV100 y el EHX Worm. A ver si con la venta de estos dos chismes vuelvo a recuperar el saldo en mi reserva para aficiones.

Lo he podido usar poco tiempo debido a mi Alan Parson Project, y aún no estoy muy satisfecho con el resultado de meter el previo en la cadena de efectos. No acabo de encontrarle el punto al volumen y saturación que consigo. Seguiremos intentándolo. Os dejo con un vídeo de mi mismo desvariando bastante mientras pruebo el pedal de expresión

Planificación de Instrucciones en Fallo de Caché

MPS: Miss-Path Schedulling for Multiple-Issue Processors

En este artículo los autores proponen trasladar el hardware de planificación de instrucciones desde la ruta del procesador hacia la ruta entre la memoria principal y la caché de instrucciones. La planificación de instrucciones se hace cuando se produce un fallo de caché y es necesario traer desde la memoria principal un nuevo bloque. Este nuevo bloque se planifica y se introduce en la cache organizando las instrucciones en grupos sin dependencias. Estos grupos de instrucciones pueden ser enviados en paralelo a las distintas unidades funcionales del procesador, en cierta forma como si se tratara de una instrucción VLIW (Very Long Instruction Word). El algoritmo utilizado para la construcción dinámica de estas instrucciones tipo VLIW se apoya en dos elementos:
a) Una Tabla de Definición y Uso de Registros: Para cada registro almacena la información del último ciclo (más reciente) en el que fue escrito (definido) y leído (usado). Estos datos reciben respectivamente los nombres de def-time y last-used, y la tabla el de def-table.
b) Una Tabla de Reserva (Reservation Table): Tabla en la que anotamos para cada ciclo que instrucción hace uso de las distintas unidades funcionales del procesador. Continue reading “Planificación de Instrucciones en Fallo de Caché”

La Menagerie – Febrero de 1994 – Fun Club – Sevilla

Ayer terminé de subir el único documento sonoro que existe de La Menagerie, mi segundo grupo. Se trata del concierto que dimos en el Fun Club, en febrero de 1994. El grupo lo formábamos Rocío a la voz, Sergi Glez a la guitarra, David Peral Alcaide a la batería, Mariano Torres Cubillo al bajo y yo, también a la guitarra.

Problema del iMac parcheado

Después de toda una tarde intensa, he conseguido clonar la imagen del monitor principal en el monitor externo en mi iMac. No podía acceder ni por SSH, ni por Apple Remote Desktop ni por VNC, no podía modificar los ficheros de configuración porque no podía acceder como ‘root’ ni por FTP ni por compartición de fichero, …
Al final, estudiando en otro ordenador con Mac OS X las pulsaciones de teclas necesarias, he conseguido logarme, lanzar un terminal gracias a Namely y lanzar desde línea de comandos el servidor de Apple Remote Desktop con la orden:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart  -activate -configure -access -on -restart -agent -privs -all

Todo eso a ciegas. Así ya he podido acceder desde otro ordenador al escritorio de mi iMac, ahí a las propiedades del sistema y cambiar la configuración de pantallas para que mostrasen lo mismo (Pantallas duplicadas).
Y desde mi iMac escribo este post. ¡Uf! Creo que me voy a tomar un copazo y me voy a acostar que son las 2.20 de la madrugada.

Parcheando el iMac
Parcheando el iMac

Activación directa de instrucciones

Direct Instruction Wakeup for Out-Of-Order Processors En los procesadores con ejecución desordenada de instrucciones, la lógica de activación (wake-up en inglés) tiene problemas de escalabilidad y de consumo eléctrico cuando aumentamos el tamaño de la cola de instrucciones. Ocurre esto tanto procesadores basados en colas de instrucciones con memoria direccionable por contenido (CAM, del inglés Content Adress Memory) como en aquellos que utilizan una matriz de dependencias. Otro tipo de solución para la activación de instrucciones es el uso de punteros. Se almacena un puntero (o varios) para cada instrucción, que apunta a la instrucción o instrucciones (varios punteros) que dependen de la primera. De esta forma el procesador puede despertar directamente las instrucciones dependientes de una instrucción cuando finaliza. El problema de esta solución es la limitación de sucesores que podemos almacenar, determinada por el número de punteros, y la cancelación de instrucciones por error en la predicción de saltos, que hace necesaria la existencia de un procedimiento de limpieza de punteros de las instrucciones válidas que apuntaban a las canceladas. Continue reading “Activación directa de instrucciones”

La Tabla de Planificación

La tabla de planificación (TP) es una estructura en la que se va almacenando de forma secuencial las instrucciones que van a ser ejecutadas. Tiene el funcionamiento de una cola (FIFO). Para controlar el funcionamiento de la cola se usan dos punteros: uno indica la posición libre (puntero de cola, denominado aquí newp) donde se insertará la próxima instrucción enviada por la fase IS; el segundo puntero (de cabecera, llamado oldp) indica la próxima instrucción que va ser retirada la TP.

Tabla de planificación Continue reading “La Tabla de Planificación”