Adiós al Z80


El Z80, el icónico microprocesador que impulsó los ordenadores y consolas de los 80, finalmente se despide tras casi 50 años en el mercado pues su fabricante (Zilog) tras casi 50 años ha dejado de fabricarlo. Seguramente no a todos nos suene este mítico chip, pero sin duda, si tuvo la oportunidad de disfrutar de un ZX Spectrum, Amstrad CPC, Sega Megadrive o Neo Geo, entonces experimento el poder del Z80 en acción , tanto es así que incluso hubo consolas de videojuegos basados en el z80.

Apple también uso el z80

A la larga lista de dispositivos que usaran este chip, por si fuera poco incluso hubo algunos modelos de computadoras Apple que utilizaron el procesador Z80. Uno de los ejemplos más destacados es el Apple II. Aunque el Apple II originalmente venía con un microprocesador MOS Technology 6502, se desarrollaron expansiones y tarjetas de expansión que permitían agregar un procesador Z80.

La tarjeta Apple II Z80 permitía a los usuarios ejecutar software diseñado para CP/M (un sistema operativo muy popular en ese momento) en sus computadoras Apple II. Esto amplió significativamente la utilidad de los sistemas Apple II, ya que CP/M era ampliamente utilizado en el mundo empresarial y académico.

Además del Apple II, algunos otros modelos de computadoras Apple, como el Apple III y el Apple Lisa, también utilizaron tarjetas de expansión que incluían el Z80 para ejecutar software específico. Sin embargo, es importante tener en cuenta que estos casos de uso del Z80 en computadoras Apple fueron a través de tarjetas de expansión y no como parte del diseño principal del sistema.

Arquitectura de 8 bits que ha perdurado

La arquitectura del Z80 es notable por su diseño simple pero potente, que lo hizo popular entre los desarrolladores de software y hardware. Aquí hay una descripción general de sus características principales:

  1. Registros: El Z80 cuenta con un conjunto de registros que incluye:
    • Registros de propósito general: A, B, C, D, E, H, L.
    • Registro acumulador: A.
    • Registros de índice: IX e IY.
    • Registro de puntero de pila: SP.
    • Registros de paridad y signo: P y S.
    • Registro de banderas: F.
    • Registro de interrupciones: I.
    • Registro de refresco de memoria: R.
  2. Modos de direccionamiento: Soporta varios modos de direccionamiento, incluyendo direccionamiento directo, indirecto, y direccionamiento basado en registros de índice y puntero de pila.
  3. Conjunto de instrucciones: El Z80 tiene un conjunto de instrucciones amplio y variado que incluye operaciones aritméticas, lógicas, de transferencia de datos, de control de flujo y de manejo de interrupciones.
  4. Unidad de control: La unidad de control del Z80 se encarga de decodificar las instrucciones y controlar la ejecución de las mismas, así como de coordinar el acceso a la memoria y a los registros.
  5. Interrupciones: El Z80 soporta varios tipos de interrupciones, incluyendo interrupciones de máscaraable, no máscaraable y de reinicio, lo que permite una gestión flexible de las interrupciones en el sistema.
  6. Velocidad de reloj: El Z80 puede operar a diferentes velocidades de reloj, lo que le permite adaptarse a diferentes requisitos de rendimiento en sistemas embebidos y de propósito general.

Comparación con el 8088

Las comparaciones son odiosas , pero comparémoslo con su homologo 8088 porque si bien el 8088 era más potente en teoría ( y más caro), su potencial no se explotó al máximo en la mayoría de las aplicaciones. Por otro lado, el Z80, con su facilidad de programación, se convirtió en el favorito de aficionados y desarrolladores. Ambas CPU’s dejaron una huella imborrable en la historia de la informática personal, impulsando el desarrollo de ordenadores, consolas y otros dispositivos electrónicos. He aqui unas pinceladas sobre su hardware:

Arquitectura y velocidad:

  • El Intel 8088 tiene una arquitectura de 16 bits internamente, pero un bus de datos externo de 8 bits. Esto significa que puede procesar datos de 16 bits a la vez, pero solo puede transferirlos de 8 bits a la vez con la memoria y otros dispositivos. Su velocidad de reloj es de 5 MHz.
  • El Z80 tiene una arquitectura de 8 bits y puede procesar y transferir datos de 8 bits a la vez. Su velocidad de reloj es variable, desde 2.5 MHz hasta 15 MHz.

Conjunto de instrucciones y compatibilidad:

  • El 8088 tiene un conjunto de instrucciones más grande y complejo que el Z80, con instrucciones para operaciones de 16 bits. Es compatible con el software escrito para el Intel 8086.
  • El Z80 tiene un conjunto de instrucciones más pequeño y simple, pero con instrucciones más eficientes para operaciones de 8 bits. No es compatible con el software escrito para otros procesadores.

Un viaje al pasado

Retrocedamos a 1976, cuando Zilog lanzó al mercado el Z80, un microprocesador de 8 bits que revolucionó la industria por su potencia, bajo costo y facilidad de programación. Fruto del ingenio de Federico Faggin, quien también participó en el desarrollo del Intel 4004, el Z80 se convirtió en el corazón de una multitud de dispositivos electrónicos que marcaron una era.

Sin duda podria considerarse «El rey de los 80s«, pues el Z80 dominó la era de los ordenadores personales, impulsando máquinas legendarias como el Sinclair ZX80, ZX81 y ZX Spectrum, el Amstrad CPC, el Sega Master System, la Game Boy original de Nintendo, la consola Sega Mega Drive (Genesis en América del Norte) y la Neo Geo de SNK, por nombrar solo algunas.

Podríamos decir que es «Más que un procesador» pues la arquitectura eficiente del Z80, sumada a la velocidad de ejecución de instrucciones y un conjunto de instrucciones sencillo de programar, lo convirtieron en la opción predilecta de desarrolladores de software.

Sin duda el z80 ha dejado un legado imborrable pues no todos los chips pueden presumir de haberse fabricado durante tantos años. Ciertamente, aunque la era de los microprocesadores de 8 bits llegó a su fin, el Z80 encontró un nuevo hogar en aplicaciones embebidas y sistemas integrados, gracias a su bajo consumo de energía, robustez y versatilidad.

Hasta siempre Z80

Más allá de la nostalgia, el Z80 no solo representa una época dorada de la informática, sino que también ha inspirado a generaciones de ingenieros y entusiastas. Su impacto en la democratización del acceso a la tecnología y el mundo de los videojuegos es innegable.

Si bien la producción del Z80 ha cesado, su legado perdura. Este microprocesador legendario seguirá presente en multitud de dispositivos y en los recuerdos de quienes lo vimos en acción. Sirva esta viñeta como sincero homenaje a un chip que siempre estará en nuestros corazones.

hasta siempre z80

¡Gracias, Z80, por tantos años de diversión, innovación e inspiración!

Como habilitar el doble factor de autenticación en Github y otras webs


La autenticación bifactorial (2FA) es una capa de seguridad adicional que se utiliza cuando ingresamos en sitios web o en apps. Con la 2FA, tendrá que ingresar con su nombre de usuario y contraseña y proporcionar otra forma de autenticación que solo usted sepa o a la que solo usted tenga acceso. En el caso de Github aunque no todo el mundo se le exige que habilite 2FA, se recomienda encarecidamente que se realice, porque ciertamente tarde o temprano habrá que hacerlo..( pues al fin al cabo es por nuestra seguridad).

Además ,los propietarios de la organización pueden solicitar que los miembros, gerentes de facturación y los colaboradores externos usen la autenticación de dos fases para proteger sus cuentas personales por lo que lo mas normal es que esta medida de seguridad se haga extensiva a toda la organización.

Afortunadamente existen apps que nos facilitan esta tarea, así que veamos la forma menos farragosa de hacerlo extensible para Github y otros sitios.

El 2FA en Github

WebAuthn (Web Authentication) es una especificación web que permite a los usuarios autenticarse en sitios web y aplicaciones utilizando métodos de autenticación fuertes, como la biometría (por ejemplo, huella dactilar, reconocimiento facial) o dispositivos de seguridad física (como llaves de seguridad USB).Desarrollado por el World Wide Web Consortium (W3C) y la FIDO Alliance, WebAuthn proporciona un estándar abierto para la autenticación en la web, lo que significa que los usuarios pueden autenticarse de manera segura en diversos dispositivos y plataformas sin depender únicamente de las tradicionales contraseñas.

WebAuthn está diseñado para mejorar la seguridad en línea al reducir la dependencia de las contraseñas, que son susceptibles a ataques de phishing, robo y reutilización. Además, ofrece una experiencia de usuario más conveniente y sin fricciones al permitir que los usuarios utilicen métodos de autenticación más seguros y modernos.

Para GitHub y otros sitios web, la segunda forma de autenticación es un código que genera una aplicación en su dispositivo móvil o que envía como mensaje de texto (SMS). Una vez que activa 2FA, GitHub genera un código de autenticación cada vez que alguien intenta iniciar sesión en su cuenta de GitHub.com. Una persona solo puede iniciar sesión en su cuenta si conoce la contraseña y tiene acceso al código de autenticación en el teléfono.

Después de que configure la 2FA, utilizando una aplicación móvil de contraseña de un solo uso y duración definida (TOTP) o mediante mensaje de texto, podrá agregar una clave de seguridad, como una huella dactilar de Apple o Windows Hello. Como no podia ser de otra manera, la tecnología que habilita la autenticación con una llave de seguridad es WebAuthn (el sucesor de la autenticación bifactorial y funciona en todos los buscadores modernos).

Opcionalmente, puede agregar una clave de paso a su cuenta. Las claves de paso son similares a las claves de seguridad, pero sin embargo, las claves de paso cumplen los requisitos de contraseña y 2FA, por lo que puede iniciar sesión en su cuenta en un solo paso. Si ya ha configurado una clave de seguridad para 2FA apta para la clave de paso, es posible que se le solicite actualizar la clave de seguridad para convertirla en una clave de paso en el registro de la clave de paso.

También puede utilizar GitHub Mobile para la autenticación en dos fases después de configurar una aplicación móvil TOTP o mensajes de texto. GitHub Mobile utiliza criptografía de clave pública para proteger su cuenta, lo cual le permite utilizar cualquier dispositivo móvil que hayas usado para iniciar sesión en GitHub Mobile como segundo factor. Ciertamente no esta de mas tener instalada la app de Github en otro dispositivo, pero tenerla instalada no es necesariamente garantía de poder usar 2FA, así que para estar seguros lo mejor es instalar un app de gestión de 2FA ( !aunque haya instalado Github Mobile!)

Aplicaciones de gestión 2FA

Existen bastantes aplicaciones que podemos instalar en nuestro móvil para habilitar el 2FA , como por ejemplo Microsoft Autenticator o Google Autenticator, pero para el caso de Github y otros sitios, una forma más fácil de gestionar todas sus cuentas 2FA es utilizar la aplicación Authy que le permite tener una única aplicación móvil para todas sus cuentas 2FA y puede sincronizarlas en varios dispositivos, e incluso acceder a ellas desde el escritorio.

Localizar la configuración 2FA

En primer lugar instalaremos Authy en su dispositivo buscándola en la tienda de aplicaciones de su dispositivo Android o Ios.

Ahora acceda a su cuenta de GitHub abre el menú desde el icono superior derecho que muestra la imagen de tu cuenta. Seleccione «Tu perfil»

Haga clic en el botón «Editar perfil» de la página resultante. Hay dos botones que puede utilizar, elija cualquiera de ellos.

Por último, seleccione la opción «Seguridad» en el menú de la izquierda, dentro de «Configuración personal».

Es posible que tenga que volver a introducir su contraseña.

Haga clic en el botón «Configurar autenticación de doble factor» arriba a la derecha, y seleccione la opción «Configurar usando una app«.

A continuación, escanee el código QR con Authy( !ojo!, !solamente funcionará ese código QR si lo escanea con la app Authy!).

Una vez que el token esté en Authy, escriba el código 2FA resultante de nuevo en GitHub y haga clic en Continuar.

Por último, haga un registro de los códigos de recuperación. Aunque si utiliza la función de copia de seguridad en Authy, este paso no es importante, no está de más hacerlo y guardarlo en un lugar seguro por si lo necesitáramos en un futuro.

Después de hacer clic en el botón «Activar la autenticación de doble factor», ¡ya está todo listo!

Importante: Si algún sitio le pide que utilice Google Authenticator para la autenticación de dos factores, tenga en cuenta que siempre puede sustituirlo por la aplicación Authy 2FA. Aunque todas estas aplicaciones 2FA funcionan de forma similar, Authy tiene más funciones y permite la sincronización con varios dispositivos, copias de seguridad en la nube y una recuperación de la cuenta más sencilla en caso de que cambie o pierda su teléfono o dispositivo.

¿Que pasa si pierde su terminal donde haya instalado la aplicación de doble factor?

Por motivos de seguridad, los soportes técnicos de GitHub o del sitio que exijan 2FA no deberían poder restaurar el acceso a las cuenta que tengan habilitada la autenticación en dos fases si pierde sus credenciales de autenticación en dos fases o el acceso a los métodos de recuperación de su cuenta. .

Cuando configura la autenticación bifactorial, debería descargar y guardará los códigos de recuperación de dos factores de modo que si pierde acceso a su teléfono, puede autenticarse utilizando precisamente esos códigos de recuperación.

También puede configurar métodos de recuperación adicionales en caso de que pierda el acceso a sus credenciales de autenticación de dos factores.  Si no puede usar ningún método de recuperación, habrá perdido permanentemente el acceso a tu cuenta. Sin embargo, puede desvincular una dirección de correo electrónico vinculada a la cuenta bloqueada. La dirección de correo electrónico desvinculada se puede vincular después a una cuenta nueva o existente.

Más información en https://authy.com/guides/github/