Independientemente del fabricante, la cantidad de núcleos o la frecuencia, existen otros aspectos fundamentales que definen el diseño de un procesador, y uno de ellos es el set de instrucciones. Ahora, lo más probable es que hayas oído hablar de cosas como RISC y CISC, pero también está OSIC o «One Instruction Set Computer». Se trata de un procesador con una sola instrucción, respaldado por un número específico de registros. Uno de esos procesadores es el Periwinkle, diseñado por Ike T. Sanglay Jr. en 2016.
Lo más probable es que tu ordenador de escritorio posea un procesador basado en CISC, o «Complex Instruction Set Computer». Si pasamos a los dispositivos móviles, las arquitecturas ARM son RISC, o «Reduced Instruction Set Computer». Colocar a un set de instrucciones sobre el otro no tiene mucho sentido en estos días, ya que cada uno ha encontrado un espacio que le permite desarrollarse casi por completo. Sin embargo, RISC y CISC no son los únicos.
Veamos el caso de Periwinkle, un proyecto personal de Ike T. Sanglay Jr. que se remonta al año 2016. Periwinkle (de la flor Pervinca, nombre dado por la novia de Ike) es un procesador OISC, o «One Instruction Set Computer». Eso significa que posee una sola instrucción, que es la de mover notaciones literales a un registro, o mover el valor de un registro hacia otro.
La palabra «registro» es la clave aquí, porque vemos varios registros donde podríamos esperar instrucciones. La publicación oficial explica el rol de cada uno de los registros, comenzando por el contador de programa (cuenta hasta 32 bits, y mover un -1 allí lo hace detenerse), un generador de números aleatorios (crea un número de 32 bits por cada llamada), un registro NULL al que usa para purgar ítems de los registros de uso general, y más de una docena y media de registros reservados, en caso de que Periwinkle termine en un microcontrolador o algo parecido.
¿Qué quiere decir eso? Que en estos momentos, Periwinkle es poco más que un procesador educativo, escrito en una máquina virtual. A fines de noviembre, Ike sugirió que podría cargar el ejecutable de la máquina virtual y el ensamblador, pero la gran pregunta es, ¿para qué plataforma? El ensamblador fue desarrollado en F-Sharp, o sea que funcionaría en cualquier parte, con ayuda del .NET Framework, o un poco de Mono.
Sitio oficial: Haz clic aquí
Fuente: Hackaday