Los orígenes del microprocesador: Intel y sus primeros rivales


Antes de que existiera el PC, antes incluso de que el microprocesador fuese un concepto popular, Intel sentó las bases de la computación moderna. En los años 70, el silicio empezó a reemplazar a placas enteras de lógica discreta, dando lugar a una revolución silenciosa.

Intel 4004 (1971): el primer microprocesador comercial

El Intel 4004 es, históricamente, el punto de partida. Fue el primer microprocesador comercial integrado en un solo chip.

  • Arquitectura: 4 bits
  • Transistores: ~2.300
  • Frecuencia: ~740 kHz
  • Uso principal: calculadoras y sistemas embebidos

Diseñado inicialmente para Busicom, el 4004 demostró que una CPU completa podía vivir en un solo encapsulado. El concepto de “ordenador en un chip” acababa de nacer.

Intel 8008 (1972): el salto a los 8 bits

El 8008 fue el primer intento de Intel de crear un procesador de propósito más general.

  • Arquitectura: 8 bits
  • Direccionamiento: hasta 16 KB de memoria
  • Uso: terminales, control industrial

Aunque limitado y complejo de usar, el 8008 abrió el camino hacia microprocesadores más capaces.

Intel 8080 (1974): nace la microinformática

Con el Intel 8080, el microprocesador dejó de ser experimental y se volvió práctico.

  • Arquitectura: 8 bits
  • Direccionamiento: 64 KB
  • Alto rendimiento para la época

El 8080 fue el cerebro de uno de los primeros microordenadores populares: el Altair 8800. Aquí comenzó realmente la microinformática como movimiento.

Los competidores entran en escena

Zilog Z80 (1976): el gran rival

Zilog, fundada por Federico Faggin (ex-Intel), lanzó el Z80, un procesador que se convirtió en leyenda.

  • Compatible a nivel de instrucciones con el 8080
  • Más registros internos
  • Hardware integrado para refresco de DRAM
  • Mayor eficiencia y facilidad de diseño

El Z80 dominó el mercado durante años y fue el corazón de sistemas míticos como:

  • Sinclair ZX Spectrum
  • MSX
  • Amstrad CPC
  • TRS-80

En muchos aspectos, el Z80 era técnicamente superior al 8080.

AMD: el segundo proveedor estratégico

En esta etapa inicial, AMD no competía con diseños propios, sino como second source de Intel.

  • Fabricaba clones legales de los 8080 y 8086
  • Garantizaba suministro a grandes clientes y al sector militar
  • Estableció la base de su futura independencia tecnológica

Esta relación marcaría décadas de competencia… y conflictos.

Intel 8086 y 8088: el nacimiento del PC

Intel 8086 (1978): el inicio de x86

El 8086 introdujo una arquitectura radicalmente nueva:

  • Arquitectura: 16 bits
  • Direccionamiento: 1 MB
  • Segmentación de memoria
  • Conjunto de instrucciones x86

Fue una ruptura total con los 8 bits, pensada para el futuro, aunque compleja.

🔹 Intel 8088 (1979): el chip que cambió la historia

Técnicamente, el 8088 era casi idéntico al 8086, con una diferencia crucial:

  • Bus de datos externo de 8 bits
  • Bus interno de 16 bits

Esto permitió usar hardware más barato y existente. Gracias a ello, IBM eligió el 8088 para el IBM PC (1981).

Una decisión aparentemente menor que definiría el estándar PC durante décadas.

¿Y el Z80 frente al 8088?

En 1981, el Z80 era:

  • Más maduro
  • Más barato
  • Mejor soportado por software existente

Pero IBM apostó por:

  • Arquitectura de futuro (16 bits)
  • Capacidad de expansión
  • Ecosistema abierto

El resultado fue el dominio de x86.

Balance histórico

Entre 1971 y 1981:

  • Intel creó el microprocesador comercial
  • Zilog perfeccionó los 8 bits
  • AMD aprendió fabricando y preparando su salto

El 8088 no fue el mejor procesador de su tiempo, pero sí el más influyente. El PC nació ahí.

Todo lo que vino después —286, 386, Core i9— tiene su origen en estos primeros chips de silicio.

👉 ¿Tuviste contacto con algún Z80, o tu primer PC ya llevaba un 8088?

Deteccion del parpadeo de los ojos mediante OpenCV


OpenCV es una biblioteca libre de visión artificial originalmente desarrollada por Intel. Desde que apareció su primera versión alfa en el mes de enero de 1999, se ha utilizado en infinidad de aplicaciones. Desde sistemas de seguridad con detección de movimiento, hasta aplicativos de control de procesos donde se requiere reconocimiento de objetos. Esto se debe a que su publicación se da bajo licencia BSD, que permite que sea usada libremente para propósitos comerciales y de investigación con las condiciones en ella expresadas.

Open CV es multiplataforma, existiendo versiones para GNU/Linux, Mac OS X y Windows  conteniendo  más de 500 funciones que abarcan una gran gama de áreas en el proceso de visión, como reconocimiento de objetos (reconocimiento facial), calibración de cámaras, visión estérea y visión robótica.

El proyecto pretende proporcionar un entorno de desarrollo fácil de utilizar y altamente eficiente. Esto se ha logrado, realizando su programación en código C y C++ optimizados, aprovechando además las capacidades que proveen los procesadores multi núcleo. OpenCV puede además utilizar el sistema de primitivas de rendimiento integradas de Intel, un conjunto de rutinas de bajo nivel específicas para procesadores Intel.

Veamos algunos ejemplos que usan esta biblioteca:

http://www.youtube.com/watch?v=v0UNbB_vyrM

Esta fantástica  aplicación creada  por  Martin Polak  es capaz de detectar parpadeo de los ojos mediante el cálculo de flujo óptico en la zona de los ojos dentro de la imagen estabilizada de cabeza. Cuando el usuario  ha cerrado los ojos durante más de 5 segundos, la aplicación comienza a sonar para despertarlo . El algoritmo hace uso de OpenCV, una biblioteca de la visión por ordenador de código abierto y el software de aprendizaje automático.

Esta aplicación  se podría  usar   utilizar dentro de los vehículos para evitar permitir dormir  al conductor detrás del volante u otras aplicaciones

bblinking

Por otro lado la aplicación  Eye Location, disponible gratuitamente en Google play aqui  intenta localizar los centros de los ojos de una persona que la cámara está capturando en tiempo real. Se basa en un algoritmo de visión por ordenador que explota la información de crominancia del ojo y la simetría radial del iris con el fin de localizar los centros de los ojos. El algoritmo hace tambien uso de OpenCV, una biblioteca de la visión por ordenador de código abierto y el software de aprendizaje automático. La detección de la cara se realiza utilizando una función de detector de rostro del OpenCV. La aplicación funciona de manera óptima en ambientes bien iluminados, donde se capturan las imágenes con buenos niveles de contraste.

Acceso en Google Play

ÁREAS DE APLICACIÓN DE ESTE TIPO DE APLICACIONES DE RECONOCIMIENTO

•Tipificación de ojos :La función de la tipificación del ojo utiliza la dirección de la mirada y del ojo parpadea para componer mensajes o realizar otras acciones. El objetivo final es ayudar a las personas con ELA, lock-in síndrome, tetraplejia o cualquier otra persona que sólo puede mover los ojos con el uso de su dispositivo de mano para comunicarse, navegar por Internet o facilitar otras tareas cotidianas.
Desplazamiento inteligente : Similar a la característica del Samsung Smart Scroll, que actualmente se basa en el reconocimiento de rostros y de inclinación (http://mashable.com/2013/03/14/smart-scroll/), desplazamiento inteligente puede optimizarse aún más al detectar el cambio de la dirección de la contemplar.
• Spoof prueba cara de desbloqueo:  La característica de la cara de desbloqueo se puede suplantar por lo general usando una foto de el propietario (http://www.geek.com/android/android-face-lock-feature-spoofed-by-photograph-1440953/). Desbloqueo facial puede hacerse más fiable mediante la introducción de un «cheque liveness ‘: una vez a la cara se verifica, el usuario está obligado a seguir un punto en movimiento al azar con sus ojos.
• Estimación de la dirección de la mirada de asistencia al conductor:Al montar el teléfono móvil en el salpicadero de un vehículo, una aplicación de estimación mirada podría supervisar y evaluar la vigilancia del conductor, determinando si el foco del conductor de atención está en el camino.
Evaluaciones de usabilidad:Los movimientos oculares y fijaciones proporcionan una indicación de la cantidad de procesamiento cognitivo requiere una pantalla y por lo tanto lo fácil que es para procesar, lo que conduce a la posible utilización de seguimiento de los ojos de contribuir a la evaluación de la usabilidad de las interfaces de usuario.

 

Para poder crear proyectos haciendo uso de esta librería con Visual Studio , se deben seguir los siguientes pasos:

  1. Bajar OpenCV desde aquí (por ejemplo  la 2.4.0
  2. Hacer doble click al ejecutable. Esto descomprimirá los archivos. Elegir una ubicación para OpenCV y descomprimir (Yo elegí C:\, pero pueden elegir cualquier otra, por lo cual de ahora en  más me referiré a esa ruta elegida como INSTALL_PATH, pero esto debe ser reemplazado SIEMPRE por la ruta que eligió.
  3. Ir a Inicio y escribir en la barra de búsqueda «Variables del sistema». Click en el resultado que aparece como «Editar las variables de entorno del sistema».
  4. Dentro de la pestaña ‘Opciones Avanzadas’ ir a ‘Variables de Entorno’.
  5. En la nueva ventana, buscar dentro del segundo listado (variables del sistema) una variable llamada Path. Seleccionarla y hacer click en editar.
  6. Ir al final del textbox ‘Valor de la variable’, agregar un punto y coma, y agregar las siguientes dos ubicaciones, también separadas por un punto y coma:
    • INSTALL_PATH\opencv\build\x86\vc10\bin
    • INSTALL_PATH\opencv\build\common\tbb\ia32\vc10

    donde
    *ia32 es en caso de tener Windows x32, sino ingresar a intl64.
    *vc10 es en caso de tener Visual C 2010. En caso de tener Visual C 2008, elegir vc9.

Luego, abrir un proyecto existente que utilice OpenCV (éste, por ejemplo), seleccionarlo en el ‘Explorador de soluciones’ y hacer click derecho para seleccionar ‘Propiedades’.

En propiedades dirigirse a:

  • C/C++
    Agregar los siguientes directorios en Additional Include Directories:

    • INSTALL_PATH\opencv\build\include\opencv
    • INSTALL_PATH\opencv\build\include
  • Linker->General
    Agregar el siguiente directorio en Additional Library Directories:

    • INSTALL_PATH\opencv\build\x86\vc10\lib
  • Linker->Input
    Agregar el siguiente listado, tendiendo en cuenta que

    • debe reemplazarse el número por la versión de OpenCV que se utiliza. Por ejemplo, 242 para la versión 2.4.2 o 240 para la 2.4.0.
    • debe quitarse la letra ‘d’ final, si se trata de un Release Project.

opencv_core240d.lib
opencv_imgproc240d.lib
opencv_highgui240d.lib
opencv_ml240d.lib
opencv_video240d.lib
opencv_features2d240d.lib
opencv_calib3d240d.lib
opencv_objdetect240d.lib
opencv_contrib240d.lib
opencv_legacy240d.lib
opencv_flann240d.lib

Si se tratara de una solución, y no de un proyecto simple, repetir esto en cada proyecto.

 

Más información aquí