Arquitectura de una computadora

El término computadora procede del anglosajón computer, que en origen identificaba a las personas que se dedicaban a realizar cálculos matemáticos. En español se usan también frecuentemente los términos computador, computadora y ordenador, éste de origen francés por adaptación de la palabra ordinateur, aunque la propia Real Academia Española señala en su diccionario que ordenador es propio de España. Hasta la década de 1970, estos vocablos tenían una conexión con otro semánticamente próximo como es calculadora.

En la actualidad, el vocablo calculadora se reserva para las máquinas diseñadas exclusivamente para realizar operaciones matemáticas y que constan de un reducido teclado que incluye los dígitos decimales y algunas teclas de función. Por el contrario, una computadora u ordenador es una máquina dotada de memoria y capacidad de procesamiento que permite resolver problemas de naturaleza matemática o lógica mediante la ejecución de algoritmos implementados a través de secuencias de instrucciones que constituyen los programas informáticos.

De nuevo aparece aquí un concepto que se expresa con distintos vocablos a ambos lados del Atlántico. La palabra informática, procedente del francés, es una contracción de los términos información automática y hace referencia a la disciplina científico-técnica que estudia los principios, métodos y tecnologías aplicadas para llevar a cabo el procesamiento de información de forma automática. En los países anglosajones se utiliza la expresión computer science que ha dado lugar en Latinoamérica al término de computación.

Estructura de una computadora

El significado de los términos arquitectura y estructura suele generar cierto debate entre los estudiosos. Para unos se trata realmente de dos términos que denotan un mismo concepto, mientras otros defienden la idea de que, aunque relacionados, presentan diferencias sustanciales. Estos últimos emplean el concepto de familia de computadoras para aclarar la diferencia entre ambos. Un conjunto de computadoras conforma una familia cuando todas comparten la misma arquitectura pero cada una de ellas tiene, o al menos puede tener, una estructura diferente.

La arquitectura representa la conexión entre el software de bajo nivel (próximo a la máquina) y el hardware. En concreto, hace referencia a todo aquello que un programador necesita conocer para que los programas escritos en lenguaje máquina funcionen adecuadamente. Atendiendo a esta definición forman parte de la arquitectura el repertorio de instrucciones, su formato y su código de operación, los modos de direccionamiento, los registros de memoria, el tamaño de cada uno de los tipos de datos y los mecanismos de entrada-salida.

Por otro lado, se llama estructura de una computadora a cada una de las unidades o subsistemas que la componen, así como a la interconexión entre ellas. Forman parte de la estructura aspectos como las señales de control, las interfaces entre la computadora y los dispositivos periféricos, la tecnología utilizada, etc. Estos elementos deben responder a las especificaciones establecidas por la arquitectura.

Incluso una lectura detenida de lo recogido anteriormente puede no dejar aún clara la diferencia propuesta. Por ello se recurre en ocasiones a un ejemplo práctico: determinar si una computadora implementará en sus circuitos la operación división es un aspecto que afecta a la arquitectura, mientras que decidir qué tipo de circuito la realizará afecta a la estructura.

Modelo de von Neumann

Diagrama del modelo de von Neumann.

El esquema básico de computadora con programa almacenado fue enunciado por el matemático de origen húngaro John von Neumann mediado el siglo xx y, desde entonces, ha constituido la base de la estructura de la mayor parte de los sistemas informáticos. En la actualidad coexisten otros modelos como, por ejemplo, el de Harvard, que usa dos memorias independientes: una para almacenar los programas y otra los datos.

El modelo de von Neumann organiza el sistema en un conjunto de módulos interconectados: unidad central de proceso, memoria, unidades de entrada-salida y buses de comunicación. Los programas y los datos se alojan en la memoria, son tratados por la unidad central de proceso que incluye en su interior una unidad de control responsable de ejecutar instrucciones y una unidad aritmético-lógica capaz de llevar a cabo con los datos este tipo de operaciones y se comunican con el exterior gracias a las unidades de entrada-salida.

La memoria principal es la responsable de almacenar instrucciones y datos. Internamente, es una estructura formada por celdas o posiciones de memoria identificadas por una dirección y capaces de almacenar un dato. El tamaño de cada celda se denomina palabra y representa la menor cantidad de información que puede ser manejada por la memoria.

La memoria es un sistema de almacenamiento que permite tanto la lectura como escritura de datos.

La memoria puede interpretarse como un sistema que dispone de múltiples zonas de almacenamiento, cada una de las cuales tiene una dirección. Acepta dos tipos de operaciones denominadas lectura y escritura. La lectura consisten en proporcionarle una dirección, de modo que la memoria devuelve el dato almacenado sin destruirlo. La escritura es el proceso inverso, ya que recibe un dato y una dirección y lo almacena destruyendo el dato que estuviera previamente almacenado en la posición implicada.

La unidad aritmético-lógica se define como un conjunto de circuitos electrónicos diseñados para llevar a cabo operaciones aritméticas elementales, relacionales y lógicas. Trabaja con datos procedentes de la memoria y utiliza un conjunto de registros especiales de almacenamiento temporal.

La unidad de control es la responsable de obtener las instrucciones procedentes de la memoria, interpretar el código de operación y poner en marcha los circuitos necesarios para que se ejecute la instrucción. A grandes rasgos, gobierna las líneas de intercambio de datos, activa y desactiva circuitos y, en general, envía órdenes al resto de los módulos. La unidad de control constituye el cerebro de la máquina.

Junto con la unidad de control y la unidad aritmético-lógica, la unidad central de proceso incorpora un conjunto de unidades de memoria de rápido acceso y reducida capacidad (generalmente sólo pueden almacenar uno o dos bytes) denominadas registros. Los registros se utilizan como almacenamiento temporal de datos que están siendo procesados por la cpu o ucp y algunas instrucciones hacen referencia a ellos como contenedores de direcciones.

Las unidades de entrada-salida tienen como misión llevar a cabo la transferencia de información entre el sistema computador y los periféricos conectados a él. Inicialmente trabajaban de manera dependiente bajo la supervisión de la cpu; sin embargo, en la actualidad disponen de mayor flexibilidad pudiendo incluso hacer transferencias entre la memoria y los periféricos sin necesidad de la intermediación de la cpu. Este último sistema se denomina dma o acceso directo a memoria.

Existen dispositivos entrada y salida que permiten hacer transferencias entre las memorias y los periféricos sin necesidad de que una CPU haga de intermediaria.

La comunicación entre los distintos módulos se realiza a través de un conjunto de circuitos electrónicos conocidos como canales que regulan la circulación de los datos a través de las líneas de interconexión conocidas como buses. Los buses se clasifican tradicionalmente, atendiendo al contenido que transportan, en buses de datos, direcciones y control. Los primeros, como su nombre indica, encaminan datos; por ejemplo, en una operación aritmética conducen cada uno de los operandos desde la memoria hacia la cpu para ser procesados en su interior por la unidad aritmético-lógica y, posteriormente, dirigen el resultado obtenido hacia la memoria.

El bus de direcciones traslada la información concerniente a las posiciones de memoria en las que se encuentran los datos. Por último, el bus de control tiene como misión trasladar las órdenes de la unidad de control hacia cada dispositivo para que se activen los circuitos que permitan llevar a cabo la ejecución de cada instrucción.

Instrucciones

Desde un punto de vista funcional y analizando los procesos internos, una computadora es un dispositivo que interpreta y ejecuta instrucciones en un lenguaje denominado código máquina. Cada instrucción se encuentra almacenada en la memoria principal y está formada por una secuencia de bits (unos y ceros). El conjunto de instrucciones que es capaz de interpretar una computadora se agrupa bajo el concepto denominado repertorio de instrucciones. En él radica una parte muy importante de la arquitectura de la máquina.

Cada instrucción se divide en dos partes: código de operación y operandos. El código de operación es único para cada instrucción, con lo que permite identificarla para que la unidad de control de la cpu, al recibir una de ellas, sea capaz de activar la secuencia adecuada de microórdenes para que cada dispositivo realice la función necesaria para completar su ejecución. Los operandos constituyen los datos de trabajo de cada instrucción y pueden especificarse de múltiples formas conocidas como métodos de direccionamiento.

Con objeto de que un programa escrito en código máquina pueda ser interpretado con cierta facilidad por un programador se emplean códigos mnemónicos cuya correspondencia es biunívoca con las secuencias de bits de los códigos de operación. Esta adaptación se denomina lenguaje ensamblador. Por ejemplo, una instrucción suma de una arquitectura podría tener como código de operación la secuencia 10010010 en código máquina, mientras que sería add en lenguaje ensamblador. Obviamente, los programas en código máquina que van a ser leídos por un ser humano se traducen a ensamblador.

Según su función, las instrucciones se clasifican en varios tipos: de transferencia de datos, aritméticas, relacionales, lógicas, de desplazamiento, de entrada-salida y de bifurcación o salto. Las primeras tienen como cometido llevar a cabo el movimiento interno de datos y afectan a la memoria y a los registros de la cpu. El formato habitual responde a la sintaxis siguiente, en la que se ha utilizado la palabra mover en castellano para facilitar su comprensión. Debe recordarse, sin embargo, que los lenguajes ensambladores suele utilizar términos ingleses, como move, load o incluso algunos más crípticos como mov o ld.

MOVER origen, destino

El operando origen constituye el objeto que se va a mover, como un número, o bien la referencia de la ubicación dónde se encuentra dicho objeto, por ejemplo una dirección de memoria o un registro. El operando destino debe ser siempre un posición de memoria o un registro.

Este tipo de operación es destructivo para el destino, en el sentido de que se pierde el contenido anterior al mover el nuevo, pero no lo es para el origen. En general, las operaciones de escritura sobre la memoria y los registros son destructivas, al contrario que las de lectura. En este caso, el origen se lee mientras que el destino se escribe.

Las operaciones aritméticas que suelen implementar la mayor parte de las arquitecturas son básicas: suma, resta, producto, división, incremento, decremento y complemento. El resto de las operaciones se efectúan mediante algoritmos sustentados en las anteriores. A veces se incluyen capacidades matemáticas para realizar operaciones con números en punto flotante, por lo que todos los algoritmos que utilicen numerosos cálculos de este tipo (por ejemplo, programas de cad o de tratamiento de imágenes) y lo hayan tenido en cuenta durante el proceso de compilación, verán incrementada notablemente su velocidad de ejecución en igualdad de condiciones.

En este tipo de instrucciones es probable encontrar ciertas diferencias a la hora de estudiar los operandos. En algunas arquitecturas pueden aparecer tres (origen1, origen2 y destino), donde ambos orígenes representan los datos que se van a tratar y el destino el lugar donde situar el resultado. En otras surgen dos (origen y destino) teniendo el destino doble propósito, ya que primero aporta su valor para ser procesado junto con el origen y luego recibe el resultado. En unas más basta con un simple operando, porque la instrucción usa un registro especial conocido como acumulador, que actúa como segundo origen y como destino al mismo tiempo.

ADD operando, destino_resultado

Las instrucciones relacionales son las responsables de permitir que la computadora pueda comparar datos y determinar si ambos son iguales, distintos o si mantienen algún tipo de relación de orden. Como puede razonarse, una expresión relacional siempre devolverá un valor verdadero o falso, es decir booleano, regido por la rama de las matemáticas conocida como álgebra de Boole.

Las operaciones lógicas hacen uso de operadores booleanos del tipo Y (and), O (or) y no (not) para agrupar expresiones lógicas simples y formar expresiones compuestas. La operación Y devolverá «verdadero» cuando las expresiones que relacione sean ambas verdaderas; en caso contrario, devolverá el resultado falso. En cambio, la operación O devolverá «verdadero» si al menos una de las expresiones relacionales es verdadera, por lo que sólo se evaluará como falsa cuando todas las expresiones que relacione sean falsas. El operador no niega una expresión, por lo que si es cierta la hace falsa y viceversa.

AND operando, destino_resultado

Tanto las instrucciones aritméticas como las relacionales y lógicas modifican el valor de un registro especial conocido como registro de estado. En este registro se puede consultar en la escala del bit lo que ha sucedido con la última operación. Cada uno de estos bits recibe el nombre de bandera, señalizador o, en inglés, flag. Los sucesos más habituales que pueden detectarse son el desbordamiento, el signo y el cero.

El desbordamiento indica que el resultado de una operación ha sobrepasado la capacidad de representación del destino, por lo que el dato almacenado no es el correcto. Por ejemplo, si se usa un byte (ocho bits) para representar números enteros sin signo, el número mayor que podrá almacenarse es el 255. Cualquier operación que supere este valor provocará desbordamiento. El señalizador de signo indica si el resultado es positivo o negativo y la bandera cero hace referencia a una operación cuyo resultado ha sido cero, aunque algunas instrucciones usan este bit con otros propósitos.

Las instrucciones de desplazamiento y rotación manipulan los bits de un dato, provocando en ellos un desplazamiento a izquierda o derecha. Cuando son de rotación, el bit que se pierde por uno de los extremos pasaría a ocupar la posición del extremo opuesto. En el desplazamiento se suelen introducir ceros, aunque cada arquitectura puede disponer de variantes diferentes. En aritmética binaria, un desplazamiento es como multiplicar (izquierda) o dividir (derecha) por dos.

11001 Desplazamiento a la derecha 01100

11001 Desplazamiento a la izquierda 10010

11001 Rotación a la derecha 11100

11001 Rotación a la izquierda 10011

Las instrucciones de entrada-salida acceden directamente a los dispositivos de conexión externos conocidos como puertos de entrada-salida. Este tipo de instrucciones permite conocer el valor del dato que se encuentra en un puerto de entrada (lectura) o situar un dato cualquiera en el puerto de salida (escritura). Los puertos están constituidos por circuitos electrónicos que administran el tráfico de información y por conectores que permiten unir físicamente el ordenador con un periférico.

OUT puerto, dato

IN puerto, dato

El tratamiento de las operaciones de entrada está sujeto a múltiples estrategias de proceso, entre las que destaca el sondeo o escrutinio, que consiste en comprobar de forma periódica el estado de cada puerto para atender cualquier petición procedente del exterior. Este sistema tiene como principal inconveniente el hecho de que cambios rápidos en los puertos podrían no detectarse. Como alternativa a este método, los sistemas incluyen interrupciones de hardware, que consisten en señales capaces de alertar a la unidad central de proceso la cual, en función de la prioridad de cada interrupción, puede poner en funcionamiento una rutina de tratamiento.

Las instrucciones de salto o bifurcación permiten alterar la ejecución secuencial de las instrucciones proporcionando la ejecución alternativa o condicional de instrucciones, la elaboración de bucles o la llamada a rutinas. Los saltos se clasifican en condicionales cuando su ejecución efectiva dependa del resultado de una expresión relacional, comprobando habitualmente el estado de una bandera del registro de estado, e incondicionales, si la bifurcación se realiza inexorablemente.

JUMP dirección_destino (salto incondicional)

JE dirección_destino (saltar si la última comparación de igualdad ha sido verdadera)

Dentro de este segundo tipo existe un caso particular conocido como salto con retorno o llamada a subrutina. En él, se detiene temporalmente la secuencia normal del programa principal para ejecutar un conjunto de instrucciones que realizan una función concreta y que se conocen como subrutina.

Al finalizar su proceso, la secuencia de ejecución regresa de nuevo al punto desde donde se produjo el salto o llamada y la secuencia del programa continúa con su curso normal. Las subrutinas implementan procesos de uso frecuente, por lo que reducen el tamaño de los programas, ya que el mismo código puede ser invocado múltiples veces desde múltiples puntos.

Para que al finalizar la subrutina el sistema conozca el punto de regreso de cada llamada es necesario almacenar en algún lugar la dirección de retorno. Existen varias formas de hacerlo, si bien la más utilizada por sus ventajas es utilizando una estructura de datos conocida como pila o stack. La pila es un área de la memoria gestionada utilizando un esquema conocido como lifo (Last Input First Output, que significa que el último dato almacenado será el primero en ser extraído). De esta forma, al invocar a una subrutina se almacena en la pila la dirección de retorno.

Si desde la subrutina se llama a otra subrutina o incluso a ella misma (recursividad), se apilará la dirección de retorno y así sucesivamente. Cuando la ejecución alcanza un valor RET se extrae la dirección de retorno de la cima de la pila. Este esquema de trabajo garantiza multitud de llamadas y diferentes niveles de anidamiento con la única limitación del tamaño de la pila.

Arquitectura pc

En 1981 la compañía ibm, presente hasta entonces en el mercado de las grandes computadoras, decidió introducirse en el ámbito doméstico a través del lanzamiento de una computadora personal. En aquel entonces existían algunos equipos personales como Apple II y Commodore que habían seguido la estela marcada por la empresa Micro Instrumentation Telemetry Systems, fabricante en 1975 del Altair 8800, considerado como el primer microcomputador.

El gran acierto de ibm fue concebir su proyecto como un sistema abierto en el que los componentes de hardware y software procedieran de los mejores fabricantes. Sus técnicos y responsables comenzaron por seleccionar el microprocesador Intel 8088 y, cuando llegó el momento de optar por un sistema operativo, se fijaron en el cp/m que era propiedad de Digital Research.

Sin embargo, terminaron por cambiar de opinión y establecieron un acuerdo con un joven programador llamado Bill Gates, que les ofreció la posibilidad de emplear un sistema operativo alternativo. Dicho sistema, adquirido por Gates a Tim Paterson, se llamaba qdos, aunque fue rebautizado como ms/dos (siglas de Microsoft Disk Operating System, sistema operativo en disco de Microsoft).

La segunda clave del éxito del pc se debió a una maniobra comercial de Gates quien, consciente de la repercusión que tendría el software en un futuro, optó por vender derechos de licencia a ibm pero se reservó la propiedad del sistema así como la capacidad para vender licencias a otros fabricantes. De esta forma, al tratarse de una arquitectura abierta, numerosos fabricantes comenzaron a poner en el mercado sus propios equipos compatibles con el pc de ibm. Algunos de ellos venían avalados por marcas de prestigio, como COMPAQ, Dell o HP, pero en su mayoría eran ensamblados con piezas importadas como recambios, en los modelos «clónicos».

Las microcomputadoras surgieron a principios de la década de 1980 gracias a los esfuerzos conjuntos de IBM y Microsoft.

El avance tecnológico que conllevó esta competencia en un marco de arquitectura abierta supuso el desarrollo de microprocesadores de Intel que provocaron la aparición de nuevos modelos (xt, at, ps/2). Paralelamente, aparecieron versiones mejoradas de ms/dos que evolucionaron hacia las llamadas interfaces gráficas y los actuales sistemas operativos Windows, cuyo sistema de ventanas ya había sido utilizado con anterioridad en los equipos Macintosh de Apple.

Junto con el desarrollo y evolución del pc otros fabricantes de microordenadores facilitaron el acercamiento de los usuarios domésticos al mundo de la computación a través de equipos de bajo coste como el zx Spectrum de la compañía Sinclair, el Amstrad, el Commodore o el msx, entre otros. Algunos de estos equipos superaban las capacidades técnicas del pc, con lo que la exigencia de los usuarios revitalizó las investigaciones rentables de cara a la competencia en el mercado. Surgieron así compañías especializadas en elementos como tarjetas gráficas, memorias, discos duros, etc.

Estructura de un pc

Externamente, el usuario identifica un pc como una «caja» dotada de múltiples conectores en su parte trasera junto a algunos indicadores y un número más reducido de conectores en la parte delantera. Además, es frecuente que asocie con el concepto de pc a algunos elementos externos como son la pantalla o monitor, el teclado y el ratón.

En realidad, la computadora personal, rigurosamente hablando, está formada por un conjunto de dispositivos que aparecen en el interior de la mencionada «caja». Los externos y algunos que se encuentran en el interior, como las unidades de disco, son en realidad periféricos, es decir, componentes que se encuentran en las proximidades de la computadora y cuyo objetivo es aumentar las prestaciones.

Los periféricos no son imprescindibles para el funcionamiento del pc. Aunque esta afirmación resulte sorprendente para algunos usuarios, puede ser perfectamente normal que un pc no disponga ni siquiera de monitor, si la aplicación que se encuentra ejecutando no necesita la interacción con el usuario.

Fuente de alimentación

Se llama fuente de alimentación a un conjunto de circuitos electrónicos cuyo objetivo es transformar la señal alterna procedente de la red eléctrica en un abanico de señales de naturaleza continua. Las fuentes de alimentación son conmutadas, para reducir el tamaño de los transformadores y mejorar el rendimiento general. El parámetro más importante de una fuente es la capacidad en términos de potencia que es capaz de suministrar.

Fuente de alimentación de un ordenador. Éstas suelen ser conmutadas para reducir el tamaño de los transformadores.

En una configuración convencional sería suficiente con unos 250 o 300 vatios de potencia, pero a medida que se introducen tarjetas de expansión, sistemas de iluminación y refrigeración es necesario aportar unidades con mayor capacidad energética. En términos de seguridad, la fuente es el elemento peligroso de un sistema, ya que en su interior alberga componentes que pueden provocar descargas eléctricas incluso cuando se encuentran desconectados.

Placa base

Se conoce por el nombre de placa base o placa madre a un conjunto de circuitos, conectores y zócalos que constituyen el elemento de interconexión de todos los componentes que conforman la computadora. El análisis de una placa se inicia atendiendo a su formato que, en general, hace referencia a las especificaciones sobre dimensiones y posición de cada uno de los conectores. Actualmente, los formatos son ATX, Flex-ATX y Mini-ATX pero han existido otros actualmente en desuso conocidos como at, Baby-AT así como los formatos específicos de los pc con marca fabricados por empresas con peso específico en el sector.

El segundo aspecto que se ha tener en cuenta es la gama de microprocesadores que pueden conectarse y su número, pero no sólo atendiendo a cuestiones físicas como el tipo de zócalo sino a otras mucho más importantes como la tecnología electrónica y la velocidad del reloj. El usuario debe tener en cuenta que la aparición de una nueva gama de microprocesadores siempre requiere la sustitución de la placa base, ya que las existentes en el mejor de los casos no pueden aprovechar al máximo la potencia si no se tuvieron en cuenta durante su diseño.

Placa base. Estos elementos funcionan como interconectares para los diferentes componentes de lascomputadoras.

En tercer lugar, las placas madre quedan caracterizadas por el chipset, o conjunto de circuitos integrados que incorpora, dedicados a determinar aspectos relativos a la interconexión entre el microprocesador y el resto de componentes así como para gobernar la especificación de los detalles de comunicación de los buses de expansión. Por último, cabe destacar que en la placa madre aparecen multitud de conectores internos y externos, así como otros circuitos integrados como pueden ser tarjetas de sonido, de red o gráficas. Estos últimos pueden desactivarse si el usuario decide añadir alternativas de mayores prestaciones a través de los buses de expansión.

Entre los conectores externos más habituales de una placa base destacan los de serie rs-232C, paralelo, usb, Firewire, ratón y teclado. Internamente, los zócalos más importantes, junto con el anteriormente señalado para el microprocesador, son los dedicados a los módulos de memoria, los puertos ide para conectar discos duros y unidades ópticas, las ranuras de expansión para tarjetas de tecnología pci, las ranuras para tarjetas gráficas y los conectores para la alimentación procedente de la fuente.

La bios (sistema básico de entrada-salida) es un conjunto de circuitos integrados responsables de gestionar las transferencias entre los dispositivos internos y los periféricos. Es igualmente la encargada de efectuar las operaciones de inicialización y chequeo del equipo. Junto a la bios hay un módulo de memoria cuya tecnología es de tipo cmos, que almacena datos relativos a la configuración del equipo (geometría de discos duros, parámetros de algunas tarjetas de expansión, puertos y contraseñas), así como el reloj interno del sistema.

La cmos se alimenta de una batería tipo botón cuyo primer síntoma de descarga se manifiesta como un retraso horario. Durante la inicialización del sistema se puede acceder a un programa de configuración de la BIOS. Una adecuada sintonización de los parámetros a través de este programa mejora notablemente el rendimiento de un sistema. Sin embargo, sólo los usuarios expertos están en condiciones de aprovechar sus prestaciones.

Microprocesador

El microprocesador es el cerebro de la máquina. Según el modelo de von Neumann, el microprocesador es la unidad central de proceso (cpu) implementada en un solo circuito integrado. Las últimas tecnologías para pc incluyen microprocesadores duales con capacidades de multiproceso real, así como memoria caché que acelera los accesos y la velocidad de procesamiento.

Los microprocesadores se clasifican, en virtud de las características de su juego de instrucciones, en cisc y risc. Las siglas cisc (Complex Instruction Set Computing, traducible por juego complejo de instrucciones) hacen referencia a microprocesadores cuya arquitectura dispone de multitud de instrucciones. Algunas de ellas poseen cierta complejidad, ya que utilizan múltiples operandos y realizan operaciones sofisticadas. En este tipo de microprocesadores son numerosas las instrucciones que requieren varios ciclos de reloj para completar su ejecución.

Por el contrario, la filosofía risc (Reduced Instruction Set Computing) trabaja con un reducido juego de instrucciones muy sencillas. Cada una de estas instrucciones se ejecuta en un solo ciclo de reloj (excepto las bifurcaciones o saltos que suelen requerir dos), se trabaja con un esquema similar todas ellas y no se admiten múltiples operandos, lo que simplifica enormemente el diseño de los decodificadores y secuenciadores de las unidades de control. Se dispone de un elevado número de registros de memoria con los que se realizan todas las operaciones internas, accediendo exclusivamente a la memoria externa para obtener y almacenar datos.

Memoria

La memoria RAM, de acceso aleatorio según sus siglas en inglés, es la responsable de almacenar los datos e instrucciones de los procesos correspondientes a los programas en ejecución. Se caracteriza porque su acceso es directo, lo que significa que para acceder a una celda no es necesario recorrer en secuencia todas las anteriores sino facilitar una dirección y el tipo de operación que se desea: lectura o escritura.

Las memorias RAM almacenan los datos e instrucciones necesarios para mantener los programas en ejecución.

Aunque existen múltiples parámetros que identifican a las memorias, una primera aproximación las clasifica en dinámicas y estáticas. Las primeras requieren que su información se refresque cada cierto tiempo, porque usan tecnología basada en condensadores implementados con transistores que, si no se actualizan frecuentemente, pierden su contenido. Son dispositivos sencillos, rápidos y económicos, usados para albergar la memoria principal de los equipos.

Las memorias estáticas (rom, de sólo lectura según sus siglas en inglés), por el contrario, no necesitan refresco, aunque su estructura es mucho más compleja, tienen menor capacidad de almacenamiento y son más rápidas y caras. Se emplean habitualmente para implementar caché de nivel 2. Los parámetros más habituales de las memorias son el encapsulado o forma de presentar las conexiones de los circuitos integrados, la velocidad, la frecuencia, el tiempo de acceso, la latencia o demora de sus circuitos y, por supuesto, la capacidad.

Tarjeta gráfica

Responsable de enviar al monitor las señales correspondientes a las imágenes que generan los programas que se están ejecutando, la velocidad de trabajo de una tarjeta gráfica determina la cadencia de generación de las imágenes en el monitor. Se trata de un dispositivo cuyas características son muy importantes para trabajar con aplicaciones que hagan un uso exhaustivo de las características gráficas, como programas de diseño gráfico, juegos y manipulación de video.

Las tarjetas gráficas permiten la transmisión de señales, convertidas en imágenes, desde la CPU al monitor.

Los parámetros más sobresalientes de una tarjeta gráfica son los modos de resolución (número de puntos en pantalla, o píxeles), la profundidad de color (bits por punto) que determina la variedad de colores diferentes que pueden representar, la velocidad y la memoria de video. Esta última es una memoria ram especializada y se dedica en exclusiva al procesamiento de imágenes.

Algunas tarjetas incluyen capacidades de captura de video, sintonización de televisión analógica y tdt. Las tarjetas gráficas soportan controladores gráficos que permiten que los programas extraigan al máximo las capacidades gráficas, así como codificadores-decodificadores (codecs) de video con posibilidades de trabajar con distintos formatos.

Periféricos

Como su nombre indica, los periféricos son dispositivos que físicamente se encuentran en las proximidades de las computadoras y permite aumentar las prestaciones de éstas. Sin su presencia el equipo puede funcionar correctamente.

Algunos periféricos son tan frecuentes que se asocian inmediatamente con la computadora, por lo que es habitual utilizar otro concepto más amplio que los engloba: el hardware del sistema informático. Los sistemas de almacenamiento masivo y los periféricos de entrada y salida son los más importantes dentro de esta familia.

Sistemas de almacenamiento masivo

Aunque existen múltiples sistemas de almacenamiento masivo, se pueden agrupar por tecnologías concretas. Por un lado están los sistemas magnéticos (unidades de disco flexible y disco duro, principalmente), cuyo funcionamiento se basa en almacenar información en una superficie recubierta de material magnético que se polariza mediante bobinas durante su grabación. Los discos duros reciben este nombre porque la superficie de soporte del material ferromagnético está fabricada en aluminio.

Los distintos discos apilados sobre el mismo eje con objeto de aumentar la capacidad global giran a gran velocidad en el interior de una carcasa cuya atmósfera es pura para reducir los tiempos de acceso. En su interior, un brazo lector con tantas cabezas como caras y discos tenga la unidad se desplaza radialmente para poder acceder gracias a la rotación a cada uno de los puntos de la superficie del disco. Todo el proceso es dirigido por un microcontrolador, por lo que un disco duro es hoy en día un dispositivo muy avanzado que incorpora alta tecnología en mecatrónica (mecánica, electrónica e informática).

Las características más sobresalientes de los discos duros son la velocidad de giro, la capacidad y el tiempo de acceso. Por su naturaleza, los dispositivos de este tipo son sensibles a los campos magnéticos. Resultan económicos y, aunque presentes desde los primeros tiempos de la computación, no han quedado desfasados ante las innovaciones tecnológicas. Al contrario, están siendo adoptados como sustitutos de los dvd regrabables en las aplicaciones domésticas de reproducción y grabación de imagen porque son capaces de trabajar en tiempo real y permiten editar y borrar los datos tantas veces como sea necesario.

Desde un punto de vista lógico, el disco duro se organiza en cilindros, pistas concéntricas y sectores. La operación de inicialización se denomina formateo y existen diversas maneras de organización interna. Las más conocidas son las que emplean sistemas de archivo de tipo fat, fat32 y ntfs, por su uso en sistemas Windows. Los buses de conexión más habituales son ATA y scsi.

Los sistemas ópticos basan su funcionamiento en las propiedades de la luz. En concreto, aprovechan el fenómeno de la reflexión de un haz láser de baja intensidad que se proyecta sobre la superficie de un disco que gira a cierta velocidad. El resultado obtenido permite detectar, mediante un sensor óptico anclado a un brazo que se desplaza de forma radial, las microscópicas marcas que se traducen en secuencias lógicas de unos y ceros en función de si el haz se refleja o no.

A diferencia de los sistemas magnéticos, en los ópticos la información se almacena en una única pista en forma de espiral que comienza en la zona más cercana al eje y evoluciona hacia los extremos. Esta pista tiene una anchura de 0,6 micras y una capacidad global de 650/700 mb de datos o incluso más, equivalentes al menos a 74 minutos de audio/video en los formatos convencionales.

Inicialmente, los sistemas ópticos eran exclusivamente soportes de lectura. Su fabricación se realizaba mediante estampado con equipos especiales. Para permitir su uso como soporte de almacenamiento se han diseñado discos cuyo sustrato es de un material de propiedades reflexivas que pueden alterarse con la luz de un láser de mayor potencia. Estos sistemas han permitido fabricar unidades grabadoras de cd. Inicialmente trabajaban con discos que permitían una grabación y múltiples lecturas; posteriormente se diseñaron discos cd-rw, cuyo sustrato admite múltiples grabaciones, borrados y, por supuesto, lecturas.

Los DVD y los discos duros son dispositivos de almacenamiento masivo. Los primeros se basan en un sistema óptico; los segundos, en propiedades magnéticas.

Los DVD y los discos duros son dispositivos de almacenamiento masivo. Los primeros se basan en un sistema óptico; los segundos, en propiedades magnéticas.

Con la evolución tecnológica, las dimensiones de las micromarcas, la distancia entre ellas y la separación entre fragmentos adyacentes de la pista se han podido desarrollar sistemas ópticos de alta capacidad denominados dvd. Estos dispositivos han visto aumentada su capacidad a través del uso de doble capa y doble cara.

Los sistemas de estado sólido como las memorias flash han revolucionado el almacenamiento a través de los dispositivos conocidos como lápices de memoria o lápices USB (pen drives o pendrives). Estos elementos se conectan a través de un puerto usb con total flexibilidad proporcionando capacidades importantes (actualmente se duplica varias veces por año) de memoria ram no volátil. No necesitan conexión eléctrica adicional porque se alimentan directamente desde el propio puerto universal usb y su tamaño es especialmente reducido. Los lápices USB se fabrican como soportes de almacenamiento, pero también incorporan capacidades de reproducción de ficheros en formato mp3/mp4, así como sistemas de grabación y sintonizadores de radio y televisión.

Los lápices USB (pendrives) permiten aumentar la memoria RAM no volátil y cuentan con la gran ventaja de su portabilidad.

Periféricos de entrada y salida

Dispositivos diseñados para introducir información desde el exterior hacia la computadora, los periféricos de entrada más utilizados han sido el teclado y el ratón. Entre los teclados, aspectos como el sistema de reconocimiento de la pulsación a través de membranas de plástico o mediante contactos independientes han evolucionado ventajosamente.

También se han incluido nuevas teclas, algunas especiales para propósitos específicos como la revisión del correo electrónico o para manipular el volumen de audio. Asimismo, la tecnología de conexión permite teclados libres de cables y sistemas de proyección mediante luz de un teclado virtual que se proyecta sobre cualquier superficie y es capaz de detectar la secuencia pulsada.

Los ratones comenzaron utilizando sistemas mecánicos que detectaban el movimiento gracias a un sistema de codificadores y una bola de arrastre. En la actualidad emplean sistemas ópticos y tecnología inalámbrica. Otros periféricos de entrada relativamente comunes son las pantallas táctiles, las tabletas gráficas, los micrófonos y los escáneres.

Los periféricos de salida son dispositivos que permiten que el usuario reciba los resultados como consecuencia del procesamiento de una computadora y mediante los cuales se establece la comunicación desde el interior y hacia el exterior. Por excelencia, el periférico de salida es el monitor, cuyas similitudes tecnológicas con un receptor de televisión son tantas que han evolucionado paralelamente en todo lo relacionado con la tecnología de presentación.

Aunque sigue habiendo dispositivos basados en los tubos de rayos catódicos, semejantes a los televisores clásicos, la tendencia actual está encaminada a los dispositivos planos de tecnología de plasma o de transistores (tft). Junto con el monitor, las impresoras y los altavoces forman parte de este grupo de periféricos de salida.