Z80, 6502 y más: un viaje por los microprocesadores

Este artículo explora las relaciones y diferencias entre los microprocesadores Z80, 8080 y 8086, contextualizándolos dentro de su desarrollo histórico. El autor, Michael Martin, lo hace a raíz de su trabajo en la implementación de un compresor LZ4 para diferentes plataformas, lo que le llevó a crear

MCD Binario: Alternativa Eficiente al Algoritmo Clásico

El Algoritmo Binario del MCD (Máximo Común Divisor) es una alternativa al algoritmo de Euclides para calcular el MCD de dos números enteros. Aunque ambos tienen una complejidad logarítmica (el tiempo de ejecución crece lentamente a medida que aumentan los números), el algoritmo binario puede ser sig

Hardware y compiladores: una optimización en conjunto

Este artículo explora la relación entre las optimizaciones de hardware, específicamente la suma de acarreo (Carry-Save Addition), y las optimizaciones de compiladores, como la fusión de bucles (Loop Fusion). La suma de acarreo es una técnica de hardware que acelera la adición de múltiples números bi

Entendiendo los Microprocesadores: Más allá de la Velocidad

Este artículo ofrece una introducción rápida y accesible a la arquitectura de microprocesadores modernos, desmitificando conceptos clave que a menudo se pasan por alto en los cursos de informática. El objetivo principal es explicar por qué la velocidad de reloj (megahertz) no es el único indicador d

Investigación de Lighterra: Referente en Informática

La colección de artículos y papers de Lighterra, liderada por Jason R. C. Patterson, abarca una impresionante variedad de temas en informática, desde el diseño de microprocesadores hasta la optimización de compiladores y la calidad de video en la web. El trabajo de Patterson, a menudo originado como

División rápida: optimización en sistemas de 64 bits

Este artículo de investigación aborda un problema de optimización en la programación de computadoras: la división de números enteros sin signo de 32 bits por constantes en arquitecturas de 64 bits. Aunque la división por constantes es una operación común, su implementación eficiente puede ser un cue

Computación reversible: ¿el futuro de la eficiencia energética?

La computación reversible es un campo fascinante que busca optimizar el consumo energético de los ordenadores. La física nos impone un límite teórico mínimo de energía para borrar un bit de información, conocido como el principio de Landauer. Aunque en la práctica el consumo energético real es mucho

Arm X925: Rendimiento de Escritorio en Móviles

## Arm X925: Rendimiento de Escritorio en Móviles, una Realidad en Proceso Durante años, Arm ha sido sinónimo de eficiencia energética y diseño compacto en el mundo de los procesadores móviles. Sin embargo, la compañía británica ha estado trabajando silenciosamente para desafiar el dominio de Intel

Volver a 1993: ¿Un error la informática moderna?

El artículo, presentado con un tono humorístico pero con una base de reflexión seria, propone una idea radical: que la evolución de la computación debería haberse detenido en 1993. El autor, con una perspectiva retrospectiva y basada en su conocimiento de la historia de la informática, argumenta que

Fallo en OpenBSD: Vulnerabilidad afecta sistemas antiguos

Este artículo explora una vulnerabilidad de seguridad recientemente descubierta en OpenBSD 6.3 para sistemas i386 (32 bits), que permitía a procesos de usuario causar fallos en todo el sistema operativo. La raíz del problema se remonta a una peculiaridad en el diseño de la arquitectura x86, específi

SIMD x86: Evolución tecnológica y estrategias corporativas

Este artículo de bgslabs.org narra la fascinante historia de la evolución de las extensiones SIMD (Single Instruction, Multiple Data) en los procesadores x86, desde MMX hasta AVX-512, revelando que su desarrollo no es solo una cuestión de tecnología, sino también de marketing, política corporativa y

Intel 8087: cómo descifra sus instrucciones

Este artículo profundiza en el complejo proceso de decodificación de instrucciones en el chip de punto flotante Intel 8087, un componente crucial en las primeras computadoras personales. Para entender cómo el 8087 determina si una instrucción es para él o para la CPU principal (8086/8088), y cómo in

ACK: El Kit de Compilación Retro que Vuelve

El Amsterdam Compiler Kit (ACK) es una herramienta de compilación completa, un conjunto de herramientas (toolchain) diseñado originalmente en la Vrije Universiteit de Ámsterdam en la década de 1980 y revitalizado por David Given. Su objetivo principal es permitir la compilación de código fuente en e