Fundamentos de Arquitectura de Computadoras

Domina los fundamentos de arquitectura de computadoras con nuestra guía detallada. Aprende sobre CPU, memoria, periféricos y buses. ¡Optimiza tu estudio ahora!

Los fundamentos de arquitectura de computadoras son esenciales para comprender cómo funcionan estos complejos sistemas. Desde los componentes físicos que procesan la información hasta los diferentes tipos de memoria y cómo se conectan los periféricos, cada elemento juega un papel crucial. Este artículo explora estos conceptos clave, ofreciendo un resumen claro y conciso para estudiantes y entusiastas.

Explorando los Fundamentos de Arquitectura de Computadoras: Componentes Clave

Una computadora es un sistema que integra módulos de hardware y software. El hardware comprende los dispositivos electrónicos y electromecánicos que conforman la estructura física, mientras que el software es el conjunto de programas que permiten procesar datos. El firmware es un término intermedio que se refiere a dispositivos físicos programados, como las memorias ROM, que no pierden su programación al desconectarse.

Las computadoras digitales representan datos e instrucciones mediante bits, la unidad mínima de información, que se combinan para formar bytes (8 bits). Un nibble se refiere a medio byte (4 bits). La unidad de trabajo de la CPU se conoce como palabra de CPU, cuya longitud se relaciona con los registros de la CPU y puede variar.

La Visión de Von Neumann en la Arquitectura de Computadoras

En 1945, John von Neumann propuso conceptos fundamentales que aún rigen el diseño de computadoras:

  • Programa Almacenado: Tanto los datos como los programas con sus secuencias de instrucciones se almacenan en la memoria de la máquina.
  • Ruptura de Secuencia: Las máquinas incluyen instrucciones de salto condicional, permitiendo decisiones lógicas automáticas y la ejecución de diferentes partes del programa según los resultados previos.

En su esquema general, un computador consta de:

  1. Memoria Central: Almacena programas y datos.
  2. Unidad Central de Proceso (CPU): Ejecuta los programas.
  3. Unidades de Entrada/Salida: Permiten la comunicación con el exterior.

Componentes Esenciales de la CPU

La CPU es el módulo físico más importante, y su capacidad define el rendimiento del sistema. Dentro de una CPU, encontramos bloques funcionales como:

  • Unidad de pre-búsqueda: Obtiene instrucciones de la memoria principal y las coloca en una cola.
  • Unidad de pre-decodificación: Interpreta las instrucciones de la cola y las traduce a microcódigos, un lenguaje de menor nivel que el código máquina, que representa micro-operaciones.

Periféricos: Unidades de Entrada, Salida y Mixtas

Los periféricos son unidades o dispositivos que permiten al ordenador comunicarse con el mundo exterior o almacenar información, actuando como memoria auxiliar. Se conectan a la CPU y la memoria principal para realizar operaciones de E/S. La información almacenada en ellos no es directamente comprensible para el usuario, ya que está codificada, comprimida o encriptada.

Los dispositivos de E/S transforman la información externa (como una pulsación de tecla) en señales codificadas que el procesador interpreta, procesa y almacena. Inversamente, transforman valores binarios en formatos comprensibles para el usuario (como texto impreso).

Partes de los Periféricos

Todos los periféricos tienen dos partes diferenciadas:

  • Parte mecánica: Compuesta por dispositivos electromecánicos (conmutadores, relés, motores, electroimanes) controlados por elementos eléctricos.
  • Parte electrónica: Controla las órdenes de la CPU para la recepción o transmisión de datos y genera las señales de control para manejar la parte mecánica. A menudo utiliza elementos optoelectrónicos como detectores o generadores de información.

Clasificación Detallada de los Periféricos

Los periféricos se clasifican en tres tipos principales:

  1. Unidades de Entrada (Input):
  • Teclado
  • Ratón (“mouse”)
  • Dispositivos de captura directa de datos:
  • Lectora de banda magnética.
  • Detectores ópticos (marcas, códigos de barras, escáneres, caracteres impresos, cámaras digitales).
  • Detectores de caracteres impresos (OCR).
  • Unidades de reconocimiento de voz.
  • Lápiz óptico.
  • Pantallas sensibles al tacto.
  • Palanca manual de control (“joy-stick”).
  • Digitalizador o tableta gráfica.
  1. Unidades de Salida (Output):
  • Monitores de visualización (tubo de e- y TFT).
  • Impresoras.
  • Sintetizador de voz.
  • Visualizadores (“displays”).
  • Registrador gráfico (“plotter”).
  1. Unidades Mixtas (Entrada/Salida):
  • Terminal interactivo teclado-pantalla.
  • Terminal teletipo.
  • Pantalla sensible al tacto.
  • Unidades de memoria masiva auxiliar:
  • Discos magnéticos.
  • Cintas magnéticas.
  • Discos ópticos y magnetoópticos.
  • Memoria de silicio (PenDrive).

Conexión de Periféricos al Computador: Buses

La conexión de periféricos es fundamental para el funcionamiento del computador. El bus es el medio de comunicación. Los tipos de buses incluyen:

  • Bus local o bus de la CPU: Conecta la CPU con otros elementos del procesador y las tarjetas de la placa base, siendo muy rápido.
  • Bus del sistema: Conecta los periféricos con los controladores de la placa base, y también algunas ampliaciones de memoria.
  • Bus de entrada/salida o bus de expansión: Buses especializados que se adaptan a las necesidades de velocidad, tensión y señales de control de ciertos periféricos.

Los computadores grandes, con varios tipos de buses, requieren dispositivos adaptadores o de interconexión entre buses. Los procesadores suelen tener ranuras de expansión en la placa base conectadas al bus del sistema para dispositivos como tarjetas digitalizadoras o aceleradores gráficos.

Buses Normalizados y su Evolución

Todos los buses poseen especificaciones normalizadas que definen protocolos, velocidades, temporización, anchos de sub-buses y sistemas de conexión física. Algunos buses normalizados históricos y actuales incluyen:

  • S-100 Bus (IEEE 696): Primer bus normalizado para microcomputadores (Atari 8080).
  • CAMAC (IEEE 583): Para interconectar instrumentos de medida nucleares (1969).
  • GPIB (IEEE 488): Creado por Hewlett Packard (1965-1975), con 24 hilos.
  • Multibus (IEEE 796): Bus de 16 bits de datos, de Intel. Versión mejorada es Multibus-II (IEEE 1296) de 32 bits.
  • ISA Bus: Introducido con el IBM-PC, de 64 hilos (8 para datos).
  • ISA AT Bus: Para arquitecturas de 16 bits (IBM-AT), con compatibilidad con su antecesor.
  • MCA (Micro-Channel Architecture): Introducido por IBM en 1987 (PS/2), bus de 32 bits, 10 veces más rápido que ISA AT.
  • EISA (Extended Industry Standard Architecture): Bus de 32 bits, compatible con ISA, autoconfigurable y controlado por microprocesadores 80386 o superiores.
  • SCSI (Small Computer System Interface): Estándar universal para conexiones paralelas a periféricos (discos magnéticos y ópticos), soporta hasta 7 dispositivos. SCII-3 permite hasta 32 periféricos por fibra óptica.
  • Futurebus+ (IEEE 896.1 e IEEE 896.2): Para equipos de altas prestaciones, evolución de Multibus II y VME, diseñado para 64 bits y sistemas multiprocesador.
  • USB (Universal Serial Bus): Creado en los 90 por un consorcio de empresas para estandarizar la conexión de periféricos. Ha evolucionado del USB 1.0 (1.5 Mbps) al USB 3.1 (10 Gbps) con el nuevo conector Tipo C.

Buses Locales de Conexión Directa a la CPU

Existen otros tipos de buses diseñados para conectarse directamente a la CPU, conocidos como buses locales:

  • VL-bus: Ideado por VESA.
  • PCI (Peripheral Component Interconnected): Creado para Intel.
  • Quick-ring: Propuesto por Apple.
  • VME (IEEE 1014): Sucesor del Versabus, utilizado por Motorola. Simple, con muchas aplicaciones industriales y de investigación, multiproceso.
  • NuBus (IEEE 1196): De 96 hilos, para arquitecturas de 32 bits, usado en Apple Macintosh.
  • M-bus y S-Bus: Utilizados por las estaciones de SUN.

Teclados: Funcionamiento y Tecnologías

Los teclados son periféricos de entrada esenciales, similares a las máquinas de escribir (Cristopher L. Sholes, 1867), con la distribución QWERTY. Esta distribución busca separar las teclas más usadas (en inglés) y favorecer el uso de la mano izquierda (60%).

¿Cómo Funciona un Teclado?

Al pulsar una tecla:

  1. Se cierra un conmutador interno, detectado por el chip 8742.
  2. Los controladores de teclado (8042) generan un scan-code (generalmente un byte) para el carácter seleccionado (ej., ASCII).
  3. Se envía una interrupción a la CPU, avisando de la pulsación.

El teclado genera un make-code al pulsar y el mismo código con el bit 7 activado al soltar. El driver de teclado en la CPU combina estos códigos para generar mayúsculas, minúsculas, funciones, etc. Las teclas expandidas pueden generar múltiples interrupciones.

El controlador 8742 realiza funciones clave:

  • Prevenir rebotes o pulsaciones incorrectas.
  • Traducir la tecla a un código único (scan-code).
  • Repetir un carácter si se mantiene pulsado.
  • Detectar pulsaciones simultáneas.

Tecnologías de Teclados

Existen principalmente dos tecnologías:

  • Teclados mecánicos: Cada tecla tiene un interruptor mecánico y un muelle. Al pulsar, la tecla hace contacto con terminaciones metálicas en el circuito impreso, cerrando el circuito. El muelle retorna la tecla a su posición original.
  • Teclados de membrana: Se componen de cuatro capas: una inferior con pistas conductoras, una capa de separación con agujeros, una capa conductora con pequeñas

Temas relacionados