Video

Referencias

20 de Mayo del 2009

9.4 Prueba con programas.

Como parte que es de un proceso industrial, la fase de pruebas añade valor al producto que se maneja: todos los programas tienen errores y la fase de pruebas los descubre; ese es el valor que añade. El objetivo específico de la fase de pruebas es encontrar cuantos más errores, mejor.

Es frecuente encontrarse con el error de afirmar que el objetivo de esta fase es convencerse de que el programa funciona bien. En realidad ese es el objetivo propio de las fases anteriores (¿quién va a pasar a la sección de pruebas un producto que sospecha que está mal?). Cumplido ese objetivo, lo mejor posible, se pasa a pruebas. Esto no obsta para reconocer que el objetivo último de todo el proceso de fabricación de programas sea hacer programas que funcionen bien; pero cada fase tiene su objetivo específico, y el de las pruebas es destapar errores.

Probar un programa es ejercitarlo con la peor intención a fin de encontrarle fallos.

Por poner un ejemplo duro, probar un programa es equivalente a la actividad de ciertos profesores para los que examinar a un alumno consiste en poner en evidencia todo lo que no sabe. Esto es penoso cuando se aplica a personas; pero es exactamente lo que hay que hacerle a los programas.

9.3 Prueba de funcionamiento

Las pruebas de funcionamiento de las aplicaciones y nuevos módulos software, se realizan mediante la utilización del software a implementar, así mismos se creado nos de una respuesta satisfactoria, tenga una aceptación en el mercado, sea útil y de fácil manejo para el usuario.

Es recomendable realizar reportes de seguimiento y análisis estadísticos del funcionamiento del software o hardware utilizado.

9.2 Verificación

Verificación de la calidad del software en las fases previas a su arranque.
Para ello, gestionará equipos de trabajo técnicos in y off-shore, definirá los planes de acción correctivos.
Dicho de otro modo:
  • verificando,
  • comprobamos que la implementación del software es correcta,
  • descubriendo defectos; validando, evaluamos el producto desarrollado para ver si cumple las necesidades que originaron su desarrollo.

Durante la verificación se suelen usar técnicas estáticas también conocidas como caja blanca y durante la validación, dinámicas o conocidas como caja negra).

9.1 Interconexión

Cuando se diseña una red de datos se desea sacar el máximo rendimiento de sus capacidades. Para conseguir esto, la red debe estar preparada para efectuar conexiones a través de otras redes, sin importar qué características posean.
El objetivo de la Interconexión de Redes (internetworking) es dar un servicio de comunicación de datos que involucre diversas redes con diferentes tecnologías de forma transparente para el usuario. Este concepto hace que las cuestiones técnicas particulares de cada red puedan ser ignoradas al diseñar las aplicaciones que utilizarán los usuarios de los servicios.Los dispositivos de interconexión de redes sirven para superar las limitaciones físicas de los elementos básicos de una red, extendiendo las topologías de esta.Algunas de las ventajas que plantea la interconexión de redes de datos, son:
  • Compartición de recursos dispersos.
  • Coordinación de tareas de diversos grupos de trabajo.
  • Reducción de costos, al utilizar recursos de otras redes.
  • Aumento de la cobertura geográfica.

Tipos de Interconexión de redesSe pueden distinguir dos tipos de interconexión de redes, dependiendo del ámbito de aplicación:

  • Interconexión de Área Local (RAL con RAL)
    Una interconexión de Área Local conecta redes que están geográficamente cerca, como puede ser la interconexión de redes de un mismo edificio o entre edificios, creando una Red de Área Metropolitana (MAN)
  • Interconexión de Área Extensa (RAL con MAN y RAL con WAN)

La interconexión de Área Extensa conecta redes geográficamente dispersas, por ejemplo, redes situadas en diferentes ciudades o países creando una Red de Área Extensa (WAN)

9. Sistema Mínimo

8.4 Unidades de Cinta

La cinta magnética fue usada en 1951 para almacenar datos en la computadora UNIVAC 1 de Mauckly y Eckert. Esta cinta magnética era una banda delgada de acero sólido. La densidad de grabación era de 128 caracteres por pulgada con una velocidad lineal de 100 ips, lo cual daba una tasa de datos de 12,800 caracteres por segundo.

Históricamente la cinta magnética fue el primer tipo de memoria secundaria. Una unidad de cinta de computadora era idéntica al magnetófono domestico; una cinta de 2,400 pies de longitud que se va desenrollando del carrete de alimentación y se va enrollando en el de la bobina, pasando por una cabeza de grabación. AL hacer variar la corriente en la cabeza de grabación, la computadora puede escribir información en la cinta en forma de pequeños puntos magnetizados.
En la década de los 50’s las computadoras IBM usaban una cinta similar con un recubrimiento de oxido, muy similar al usado en las grabaciones de audio. Esta cinta magnética tenia media pulgada de ancho y la cual se enrollaba en un carrete de 10.5 pulgadas de diámetro. Como se observa en la figura 5.xx. La cinta en ese entonces se manejaba en longitudes de 2,400 y 4,800 pies que eran las más comunes en ese entonces.
La información se organizaba en 9 pistas longitudinales y en número predeterminado de columnas, en las cuales se almacenaba un byte, más un bit extra redundante, llamado bit de paridad, para asegurar la confiabilidad. Una densidad de registro típico era de 1,600 columnas (bytes) por pulgada (lo cual se designaba como 1,600 BPI), lo que significa que la distancia entre columnas era del orden de 1/1000 de pulgada. Otras densidades comunes son 800 y 6,250 BPI. Una vez que la unidad de cinta terminaba de escribir un registro físico (secuencia de columnas), dejaba un espacio al disminuir su velocidad. Si el programa escribía registros físicos cortos, la mayor parte de la cinta se desperdiciaba en estos espacios. Por el contrario, si se grababan registros físicos con una longitud mucho mayor al espacio, se lograba una mejor utilización de la cinta.

Las cintas magnéticas son dispositivos de acceso secuencial. Si la cinta esta situada al principio, para leer el registro físico n primero es necesario leer los registros físicos 1 a n-1, de uno en uno. Si la información se encuentra casi al final de la cinta, el programa tendrá que leerla casi toda, lo que puede llevar varios minutos. Es muy costoso forzar a una CPU, que pueda ejecutar millones de instrucciones por segundo, a esperar 200 segundos mientras que la cinta esta avanzando. Las cintas son más apropiadas cuando se accede a los datos en forma secuencial.

Hoy en día las cintas magnéticas modernas utilizan los carretes, pero dentro de un cartucho con la finalidad de proteger la cinta, así como facilitar su manejo. Los formatos hoy en día para este tipo de cartuchos son: QIC, DAT y Exabyte.

El cartucho de cinta magnética QIC (Quarter Inch Cartidge) es un dispositivo de almacenamiento que se ha usado desde los 70’s hasta la fecha, este tiene un formato de cinta lineal. Las primeras cintas eran cartuchos voluminosos con dos carretes internos y la parte posterior del cartucho era metálico. En 1972 salio al mercado el QIC-40 y el QIC-80 que podían almacenar 40 y 80 megabytes respectivamente. Cabe hacer mención, que este tipo de dispositivo funcionaba con la misma tarjeta controladora de los discos flexibles y con formatos de codificación MFM y RLL.

Con la aparicicion de la computadora personal, la compañía 3M desarrollo una versión denominada Travan.

El acrónimo DAT simplemente hace referencia a una cinta de audio digital, mejor conocida como casete hoy en día y que se encuentra en proceso de extinción debido a los medios ópticos que cada vez tienen más auge, así con la aparición en un futuro muy próximo de los discos holográficos con capacidades iguales o mayores a un terabyte.

El acrónimo Exabyte es el nombre usado por la corporación NCR para designar una marca de cartuchos de cintas digitales. Cabe hacer la mención que hoy en día nadie ha sido capaz de fabricar un cartucho con la capacidad de un exabyte (un millón de millón de millón = 1 x 10^18). Un exabyte es equivalente a 1000 petabytes, donde:

1 petabyte = 1000 terabytes 1 exabyte = 1000 petabytes 1 zettabyte = 1000 exabytes
Otro tipo de cinta magnética es el DLT (Digital Linear Tape), las compañías que lo producen son:
  • HP e Imation Corporation. Una variante para los cartuchos de alta capacidad es la etiqueta
  • Súper DLT (SDLT).

La mayoría de cintas hoy en día, utilizan alguna clase de compresión de datos. Existen algunos algoritmos los cuales proporciona resultados similares: LZ (casi todos), IDRC (Exabyte), ALDC (IBM, QIC) y DLZ1 (DLT). Cabe hacerse la mención que los algoritmos de compresión que se usan no son lo suficientemente eficientes, por lo cual se pueden usar programas de compresión por software para eficientizar la compresión. Cabe mencionar que para implementar este tipo de compresión se requiere que deshabilite el que viene por hardware en el manejador de cintas.

8.3 Unidades de Almacenamiento Óptico

Variante de almacenamiento informático surgida a finales del siglo XX consistente en la lectura a través de haces de luz que interpretan las refracciones provocadas sobre su propia emisión.
Los soportes de almacenamiento más famosos que hacen uso de este tipo de almacenamiento son:
  • CD-ROM y el DVD.
  • Blue-ray
  • HD DVD.

8.2 Unidades de Disco Duro

En 1952 el ingeniero Reynold Johnson de IBM, desarrollo un dispositivo de almacenamiento masivo denominado disco duro y el cual consistía de 50 platos, donde cada uno tenia un diámetro de 2’, que rotaban montados en un eje central a una velocidad de 1,200 rpm y con cabezas de lectura y escritura. Dicho disco fue usado en la computadora Bismark de la RCA para la aplicación de base de datos. En la figura 5.5 se muestra este disco, y su inventor.


El primer disco duro usado como un estándar de almacenamiento fue el IBM 350, que fue introducido en 1955 y que fue usado en la computadora IBM 305. Este disco duro tenia cincuenta platos (discos internos) de 24”, con una capacidad de 5 millones de caracteres.


En 1973, IBM introdujo el Winchester 3340 con una capacidad de 30 MB y un tiempo de acceso de 30 milisegundos, la combinación de ambos valores numéricos propicio el nombre del disco debido a que el rifle 30-30 es de la marca Winchester. Cabe mencionar que este fue el primer disco duro encapsulado en un recipiente metálico. Hoy en día este tipo de dispositivos utilizan este tipo de tecnología de encapsulado. Este tipo de encapsulado protege a los platos, y mecanismos internos del polvo, de la condensación y otras fuentes de contaminación.

Los discos duros no fueron de uso común en las PC’s hasta 1981, cuando Shugart Technologies introdujo el ST-506, el primer disco de 5¼” con una capacidad de 5 MB.


Un disco duro utiliza platos rígidos rotatorios. Este almacena y reenvía información digital de una superficie magnética y plana. La información es escrita en el plato mediante la transmisión de un flujo magnético mediante una cabeza, la cual se encuentra muy próxima al material magnético (oxido de hierro), con lo cual permite que se realicen cambios en la polarización del material magnético en la superficie de los platos. La figura 5.6 nos ilustra la forma en que se maneja este flujo. Las cabezas de escritura/lectura están hipotéticamente hablando sobre un amortiguamiento de aire de solo nanometros entre las cabezas y los platos. Por lo cual la superficie de los platos y su entorno deberán mantenerse inmaculadamente limpios, de huellas dactilares, pelo, polvo, así como partículas de humo, que en ese entorno tendrían la dimensiones equivalentes a montanas cuando son comparados en el mundo microscópico de la distancia entre plato y cabeza mantienen



Actualmente podemos encontrar discos duros desde 160GB a 5 TB, algunos muestras serian:



8.1 Unidades de Disco Flexible

El floppy disk (disco flexible), también conocido como floppies o diskettes (este último seleccionado en función de que mantuviera la concordancia con la palabra “cassette”). Es tipo de medio de almacenamiento inicialmente se desarrollo por IBM en 1967 el primer disco de 8” con el propósito de almacenar microcódigo en sus sistemas 370, cabe hacer la aclaración que este tipo de sistemas fue el precursor en el uso de memoria semiconductora (estado sólido). Este primer disco de 8” denominado “disco de memoria” podía almacenar 80 KB, y el cual era de solo lectura; es conveniente aclarar que este primer tipo de disco flexible se manejaba tal como se manipula un disco óptico y con lo cual estaba expuesto al polvo y su contaminación por el manejo inadecuado.

En 1973, en esa misma dimensión se desarrolla un con capacidad de 256 KB y este fue se de escritura y lectura y además de contar con una envoltura plástica flexible con fieltro en su interior.

En 1976, se introduce el disco de 5¼” con la finalidad de desplazar el de 8” que se volvió un requisito indispensable al aparecer la computadoras personales (PC’s) que requerían que sus accesorios de almacenamiento externo también estuvieran acorde al nuevo concepto acuñado para las computadoras. Este de disco tenía una capacidad de almacenamiento de 110 KB.

En 1978, en el mismo tamaño aparece el disco de doble densidad y con una capacidad de almacenamiento de 360 KB, cabe hacer la aclaración que con este tipo de dispositivo al acunar el termino doble densidad se maneja el grabado y lectura por ambos lados. Cabe recordar que durante las décadas de los 70’s y 80’s las PC’s (microcomputadoras) no contaban con disco duro, razón por la cual el sistema operativo se manejaba en un disco de este tipo y en otrote manejaban las aplicaciones.

A principios de los 80’s, con la aparición de discos de 96 pistas por pulgada, la capacidad de los discos se incremento de 360 a 720 KB lo que no tuvo mucha repercusión, pero en 1984 aparece este mismo disco con alta densidad 96 pistas por pulgada y doble lado lo que permitió tener una capacidad de almacenamiento de 1.2 MB. En esos tiempo ya habían aparecido los discos duros de 10 y 20 MB pero los cuales eran muy caros, por lo que este último disco flexible era una opción muy viable y de acceso a usuarios del rubro de PC’s.

A fines de la década de los 80’s los discos de 5¼” empiezan a ser desplazados (desaparece a mediados de los 90’s) por los discos de 3½” con una capacidad de almacenamiento de 720 KB y posteriormente 1.44 MB, este último ha empezado a desaparecer y será espera que esto suceda a mediados de la primera década de este nuevo milenio. En la figura 5.1 se presentan los discos flexibles antes discutidos. En la figura 5.2 se muestran manejadores para discos flexibles de 5¼” y 3½”.

Figura 5.1 Discos flexibles: a) disco de 8” o 5¼” y b) disco de 3½”.

El disco de 3½” ha empezado a ser remplazado por los nuevos dispositivos de estado sólido (keydrives) los cuales deben su popularidad a la aparición de los puertos USB en sus versiones 1.1 y 2.0



Figura 5.2 Manejadores de discos flexibles: a) 5¼” y b) 3½”.


Un disco flexible es un dispositivo para almacenar información que será comprimida en una superficie circular flexible y recubierta con un material magnetizado (oxido de hierro) y el cual será contenido por una cubierta cuadrada flexible (casos de 8” o 5¼”) o rígida (caso de 3½”), tal como se muestran en la figura 5.1. Este tipo de disco gira a una velocidad mayor o igual a 300 revoluciones por minuto. Los bits se almacenan en la superficie magnética en puntos a lo largo de círculos concéntricos llamados pistas (tracks). Por lo general las pistas se dividen en secciones denominadas sectores. En la mayoría de los sistemas la cantidad mínima que se puede transferir es la contenida en un sector, y el cual puede ser de 512 bytes, el numero de pistas puede ser de 40 a 80 y el ancho de la pista es de 0.3 milésimas de pulgada. Internamente la configuración de pistas y sectores se muestra en la figura 5.3. Toda información concerniente a este tipo de dispositivos de almacenamiento se muestra en la tabla de la figura 5.4. A partir de estos podemos calcular los valores máximos de almacenamiento, por ejemplo, para el de 5¼” de alta densidad, tenemos;

  • Capacidad total = (Pistas o cilindros)(Sectores)(Cabezas)(512 bytes/sector)
  • Capacidad = (80)(15)(2)(0.5) = 1200 KB = 1.2 MB
  • Para el caso del disco de 3½” de baja densidad, tenemos;
  • Capacidad = (80)(9)(2)(.5) = 720 KB

A diferencia de los discos duros, donde las cabezas flotan a unas cuantas micras de la superficie (10 micropulgadas), las cabezas de hecho tocan la superficie del disquete. Como resultado de lo anterior, tanto las cabezas como los disquetes se desgastan más rápido. Para reducir el desgaste, las PC’s a través de los manejadores (drivers) retraen las cabezas y detienen la rotación cuando el dispositivo no lee o escribe. En consecuencia, cuando seda el siguiente comando de lectura o escritura existe un tiempo de espera de alrededor de medio segundo mientras el motor alcanza la velocidad requerida. A la posición radial de las cabezas (distancia del eje) se le llama cilindro.


Figura 5.3 Estructura interna de un disco magnético flexible.











Tamaño (pulgadas) 5¼” 5¼” 3½” 3½”
Capacidad (bytes) 360 K 1.2 M 720 K 1.44 M
Pistas (cilindros) 40 80 80 80
Sectores por pista 9 15 9 18
Cabezas 2 2 2 2
Rotaciones por minuto 300 360 300 300
Velocidad de datos (KB) 250 500 250 500
Tipo de cubierta Flexible Flexible Rígida Rígida


Figura 5.4 Tabla de parámetros principales para los discos magnéticos flexibles.

8. Dispositivos de almacenamiento y su programación

7.4 Periféricos

Los dispositivos que se pueden operar fuera de línea se denominan comúnmente periféricos, debido a que algunos de ellos pueden manejarse independientemente del microprocesador.
Algunos ejemplos de estos tipos de periféricos que tenemos en uso hoy en día son:
Impresoras multifunción.
  • Sensores biométricos.
  • Lectores de código de barras.
  • Cámaras de video.
  • Discos de almacenamiento externos.
  • Duros.
  • Ópticos.

7.3 Otros Dispositivos E/S

Son aquellos que tienen doble función de ingresar y sacar la información del computador:

  • La Lectora de CD/DVD.
  • La Disquetera.
  • Los Puertos USB.
  • FAX/Modem.

7.2 Dispositivo estándar de salida

Estos dispositivos permiten al usuario ver los resultados de los cálculos o de las manipulaciones de datos de la computadora.
El dispositivo de salida más común es la unidad de visualización (VDU, acrónimo de Video Display Unit), que consiste en un monitor que presenta los caracteres y gráficos en una pantalla similar a la del televisor.

7.1 Dispositivos estándar de entrada

Las características de interfase de un dispositivo de E/S, tal como la longitud de palabra usada para transferencia de datos al exterior y la máxima velocidad de transferencia de datos, con frecuencia son significativamente diferentes de las del microprocesador al que es conectado. Cabe recordar que muchas de las variables físicas con las que un microprocesador debe interactuar no son de naturaleza eléctrica, y puede tomar valores analógicos (continuos) en vez de valores digitales (discretos). La velocidad máxima a la que pueden a la que pueden producirse nuevos datos o ser aceptados por el dispositivo de E/S a menudo difieren extraordinariamente de la del microprocesador. En particular, los dispositivos de E/S en los que estén implicados movimientos mecánicos operan a unas velocidades mucho menores. Si se interconectan a un mismo microprocesador varios dispositivos de E/S, deben preverse medios para seleccionar sólo un dispositivo en el momento de efectuarse la operación de E/S, así se previenen conflictos en el uso del bus del sistema.


Las condiciones precedentes implican que los circuitos de interfase E/S deben realizar las siguientes funciones:

  • Conversión de datos.
  • Sincronización.
  • Selección del dispositivo.


La conversión de datos se refiere al acoplamiento de las características físicas y lógicas de las señales de datos empleadas por el dispositivo de E/S a las empleadas por el bus del sistema. Esto incluye una conversión de señales entre las formas analógica y digital y la conversión entre el formato de transmisión de datos serie (bit a bit) utilizado por algunos dispositivos de E/S y los formatos paralelo (palabra a palabra) usados por la mayoría de microprocesadores. La sincronización se necesita para dirimir las diferencias entre las velocidades operativas del CPU, la memoria principal y los dispositivos de E/S. Esto usualmente requiere de la inclusión en el circuito de interfase de una o más palabras de memoria temporal o intermedia.

Los dispositivos de E/S y la CPU funcionan independientemente en el sentido de que sus relojes internos no están sincronizados uno con otro. Por ello deben intercambiarse señales de control de conformidad (listo, petición, reconocimiento, etc.) del tipo para iniciar o terminar las operaciones de E/S. La selección de dispositivo también implica el intercambio de señales de control. La selección de un dispositivo de E/S por el CPU puede realizarse de la misma forma que una operación de lectura o escritura en memoria. La CPU sitúa una palabra de dirección asociada con el dispositivo en cuestión en el bus de direcciones del sistema, y activa las líneas de control adecuadas de disponibles para entrada (leer) o salida (escribir). Verdaderamente algunos microprocesadores, tal como el 6800, utilizan las mismas señales de control e instrucciones para acceder o bien a su memoria principal o bien a sus dispositivos de E/S. Las operaciones de E/S pueden también ser iniciadas por un dispositivo de E/S, por ejemplo, transmitiendo a la CPU una señal de petición de interrupción.

7. Dispositivos de Entrada-Salida y su Programación

6.5 Instrucciones Básicas del procesador

Las instrucciones de la computadora son normalmente almacenadas en localidades consecutivas de memoria y son ejecutadas secuencialmente una a una. Una señal de control permite leer una instrucción de una localidad de memoria específica y la ejecuta. Entonces continuara, con la siguiente instrucción en secuencia y la ejecuta, y así sucesivamente. Este tipo de secuenciación de instrucciones necesita de un contador para calcular la dirección de la siguiente instrucción después de la ejecución de la instrucción actual. Cabe hacer mención que las palabras almacenadas en las localidades de memoria no pueden establecer comunicación con los registros del CPU, solamente a través de un registro separador y de dirección. También, es necesario que se proporcione un registro en la unidad de control para almacenar el código de operación después de que estos han sido leídos de la memoria. Este requisito hace que la configuración de registro sea como se bosqueja a bloques en la figura 1.27. La configuración se este registro será utilizada para describir la organización interna de una computadora básica.

La unidad de memoria tiene una capacidad de 4096 palabras y cada palabra contiene 16 bits. Doce bits de una palabra de instrucción se necesitan para especificar la dirección de un operando. Esto deja cuatro bits para la parte de operación de la instrucción. Sin embargo, solamente tres bits se utilizan para especificar un código de operación.

El cuarto bit se utiliza para especificar un modo de direccionamiento directo o indirecto.


Figura 1.27 Registros básicos de la computadora.

El registro separador de memoria (MBR, Memory Buffer Register) consta de 16 bits, lo mismo que el registro del acumulador (AC). El flip-flop es una extensión del acumulador. Este es utilizado durante las operaciones de desplazamiento y recibe el acarreo final durante la suma y de otra manera será un flip-flop que se utiliza para simplificar las capacidades de procesamiento de datos de la computadora. El registro I tiene una sola celda para almacenar el bit de modo y el registro de operación (OP) almacena el código de operación de tres bits leído en memoria.

El registro de direccionamiento a memoria (MAR) tiene 12 bits puesto que esta es la longitud de la dirección de memoria. El contador de programa (PC) también tiene 12 bits y retiene la dirección de la siguiente instrucción que deberá leerse de la memoria después de que la instrucción actual se esta ejecutando. Este registro lleva una secuencia de instrucciones que han sido previamente almacenadas en memoria. Las palabras de instrucción son leídas y ejecutadas en secuencia a no ser que se encuentre una instrucción de de ramificación (subrutina, ciclo, etc.).

Una instrucción de ramificación tiene una parte de operación que exige una transferencia a una instrucción no consecutiva en memoria. La parte de la dirección de una instrucción de ramificación es transferida a PC para que sea la dirección de la instrucción siguiente. Para leer una instrucción, el contador de PC es transferido al MAR y se inicia un ciclo de lectura de memoria y el PC se incrementara en uno. Este coloca el código de instrucción en el MBR y prepara el PC para la dirección de la instrucción siguiente. El código de operación es transferido al OP, el bit de modo a I y la parte de la dirección en MAR. Una operación de lectura de memoria coloca el operando (si I=0) en MBR. El AC y el MBR son utilizados como registros fuente para las microoperaciones especificadas por el código de operación. El resultado de la operación se almacena en el AC. Sin embargo, una instrucción puede tener un bit Indirecto I igual a 1, o puede que no requiera un operando de la memoria, o puede ser una instrucción de ramificación. En cada uno de estos casos, el control debe emitir un conjunto diferente de funciones de control para ejecutar diferentes tipos de transferencia de registros. Para conocer a detalle el papel que la unidad de control juega en la ejecución de instrucciones es necesario definir las instrucciones que utilizan la computadora y sus formatos de código.

La computadora en forma general tiene tres formatos de códigos de instrucción diferentes, como se muestra en la figura 1.28. La parte correspondiente a la operación contiene tres bits; el significado de los trece bits restantes depende del código de operación que se localice en estos. Una instrucción de referencia de memoria utiliza los 12 bits menos significativos para especificar una dirección y el primer bit para especificar el modo I. Una instrucción de referencia a registro especifica una operación o una prueba de registro AC o E. Un operando de memoria no se necesita; por lo tanto, los últimos 12 bits son utilizados para especificar la operación o verificar lo que se ha realizado. Una instrucción de referencia de registros se reconoce por el código de operación 111 con un código en el primer bit de la instrucción. Similarmente, una instrucción de E/S, no necesita una referencia a memoria y se reconoce por el código de operación 111 con un 1 en el primer bit de la instrucción. Los 12 restantes se utilizan para especificar el tipo de operación E/S o la prueba realizada. Nótese que el primer bit del código de instrucción no se utiliza como un bit de modo cuando los últimos 12 bits no son utilizados para designar una dirección.


Figura 1.28 Formato de instrucción para la computadora básica.


Solamente tres bits de la instrucción son utilizados para código de la operación. Pareciera que la computadora estuviera restringida a un máximo de ocho operaciones distintas. Sin embargo, puesto que las instrucciones de referencia de registro y E/S utilizan los 12 bits restantes como parte del código de operación, el número total de instrucciones puede exceder ocho. En realidad, el número total de instrucciones para la computadora básica es de 25.

6.4 Operaciones Del Bus

En un sistema de computo, los diversos subsistemas deben tener conexión entre si; por ejemplo, la memoria y la CPU necesitan comunicarse, así como la CPU y los dispositivos de E/S. Esto, normalmente, se realiza con un bus. El bus sirve como enlace de comunicación compartido entre los subsistema. Las dos ventajas principales de la organización del bus son su bajo costo y su versatilidad. Al definir un sencillo esquema de interconexión, se pueden añadir fácilmente nuevos dispositivos y los periféricos pueden incluso compartirse entre subsistemas de computadoras que utilicen un bus común. El costo seria bajo, ya que un simple conjunto de cables es una ruta o camino múltiple compartido por todos los que se conectan a este conjunto.

Los dos tipos de conexiones más comunes son; primero, todos los elementos comparten un bus común, como se muestra en la figura 1.20, en este caso solamente dos subsistema pueden comunicarse entre si; segundo, en sistemas mas complejos se pueden tener dos o mas buses, en la figura 1.21, tenemos dos buses que son compartidos, uno es usado para comunicar la CPU y la memoria y el otro para el procesador de E/S y un conjunto de dispositivos de E/S.

Figura 1.20 Método de comunicación con bus compartido.

Figura 1.21 Método de comunicación con buses separados.
Desglosando en mayor detalle, tenemos que el método de comunicación con bus compartido se puede representar más en detalle, como se muestra en la figura 1.22


Figura 1.22 Típico bus estándar en un sistema de computo.
Un bus de comunicación entre los componente de un sistema de computo, consta de tres secciones principales que son: el bus de direcciones, el de datos y el de control, como se observa en la figura 1.23.


Figura 1.23 Secciones dentro del bus de comunicaciones,
a) las tres secciones de un bus, b) representación alternativa para las secciones del inciso a).

La serie de microprocesadores del 8080 al 80486nos muestran un ejemplo de la estructura del bus para memoria y E/S, en la figura 1.24 se muestra en forma esquemática y en la figura 1.25 se presenta con el número de líneas requeridas por cada sección del bus.


Figura 1.24 Estructura de las secciones para memoria y E/S en el bus principal.



Figura 1.25 Buses de las secciones de memoria y E/S para la serie de
microprocesadores de Intel.

La implementación física de la interfase que controla los dispositivos periféricos de E/S, se puede visualizar en la figura 1.26, que muestra como la tarjeta de interfase de dispositivos de E/S se conecta al bus principal del tablero principal.


Figura 1.26 Conexión física de la tarjeta controladora de dispositivos
de E/S en el tablero principal.

6.3 Modos de Direccionamiento

Fueron mencionados en el tema 3.5

6.2 Espacio de memoria y Entrada-Salida

El espacio de memoria es un componente esencial en cualquier computadora digital, debido a que se necesita almacenar los programas que serán ejecutados por el procesador. Cabe hacer mención que el espacio de memoria es limitado por lo cual se necesita, una memoria alterna. Entonces podemos decir que el espacio de memoria en una computadora se compondrá de dos tipos que son: la memoria principal y la secundaria (o auxiliar).
La memoria principal es aquella que se comunica directamente con el procesador, el tamaño de esta dependerá de la capacidad de direccionamiento del procesador, por ejemplo, el 8086, 8088 y el 80286 utilizan una dirección de 20 bits, con lo cual podemos acceder a 2^20 lo cual nos indica que podemos acceder a 1’048,576 localidades de memoria en términos técnicos podemos decir que la capacidad máxima de direccionamiento será de 1 MB.
En la figura 1.16 podemos visualizar claramente como se mapea la memoria de una típica PC.
En la mayoría de la PC’s la ROM es ubicada en la parte superior del rango de direccionamiento y la RAM en la parte inferior del rango. El monto de RAM direccionable varia en el rango de 64 kB a 640 kB. Solamente los programas y los datos que esta utilizando el procesador son los que residen en la memoria principal. Toda la demás información es almacenada en la memoria secundaria y es transferida de esta a la memoria principal conforme sea requerida.

La memoria secundaria se compone en un inicio de dispositivos tales como: tarjetas perforadas (primer tipo de memoria secundaria), cinta magnética, discos magnéticos, discos ópticos y hoy en día los discos de estado sólido. Las características más importantes en este tipo de dispositivos son su modo de acceso, tiempo de acceso, tasa de transferencia, capacidad y por supuesto el costo.

El tiempo promedio requerido para acceder a una localidad de almacenamiento en memoria y así poder obtener su contenido es denominado tiempo de acceso. En dispositivos electromecánicos con partes móviles tales como discos y cintas, el tiempo de acceso consiste de un tiempo de búsqueda requerido para posicionar la cabeza de lectura-escritura en una localidad y un tiempo de búsqueda que es usualmente mucho mayor que el tiempo de transferencia, por tal razón el almacenamiento secundario es organizado en registros o bloques. La tasa de transferencia es el número de caracteres o palabras que el dispositivo puede transferir por segundo, después de que ha sido posicionado al comienzo del registro o bloque.

6.1 Arquitectura del procesador

El procesador es todo un mundo en sí mismo; aunque los primeros eran comparativamente simples, actualmente han alcanzado una notable complejidad. En el presente capítulo dedicaremos algunos comentarios a su estructura lógica, mencionando de pasada que su tecnología física ha avanzado paralelamente con la de construcción de circuitos integrados, IC's, lo que a la postre ha significado unas dimensiones físicas cada vez más pequeñas y un menor consumo.

La evolución de ambos parámetros no solo ha permitido incrementar la densidad de integración, también la velocidad (frecuencia de funcionamiento). Si nos referimos a la familia Intel, de los 2.100 transistores del 4004 en 1970, que con solo 46 instrucciones funcionaba a unos 800 KHz, se pasó a los 29.000 transistores del 8086 en 1979 a 14 MHz; y en 1999 a los 8.200.000 transistores del Pentium III a 2 GHz.

Actualmente se trabaja en el límite de la resolución óptica de los dispositivos utilizados en su construcción (se usan técnicas fotográficas con longitudes de onda cada vez menores para la luz utilizada), y debido a la altísima frecuencia de funcionamiento, los conductores internos funcionan más como guías de onda que como conductores eléctricos convencionales. Además, las dimensiones físicas del propio dispositivo están teóricamente limitadas si se desea que todos sus elementos funcionen según un mismo patrón de tiempo (cosa que es imprescindible). Para dar una idea de las formidables dificultades técnicas que han debido resolver los diseños actuales, considere que a la velocidad del Pentium III, las señales eléctricas solo recorren 15 centímetros en cada ciclo de reloj.

6. Introducción al hardware de una computadora

5.8 Procesador para comunicación de datos

La tecnología ha hecho posible la comunicación de datos entre diferentes equipos y entre usuarios; esta Conectividad es la que permite el uso de bases de datos distribuidas, el intercambio electrónico de datos, la implantación de DSS y DIS, las redes internacionales y los sistemas de punto de venta, entre muchas otras aplicaciones, proporcionando un escenario de intercambio de información con posibilidades ilimitadas.

Para soportar el proceso de comunicaciones existen diversos canales de comunicación:
  • como los cables,
  • la fibra óptica,
  • las ondas de radio,
  • microondas,
  • satélite e infrarrojos; todos estos medios proporcionan comunicación de datos a distancia.

5.7 Organización del Sistema Multiprocesador

El problema clave es determinar los medios de conexión de los procesadores múltiples y los procesadores de Entrada / Salida a las unidades de almacenamiento.

Los multiprocesadores se caracterizan por los siguientes aspectos:
  • Un multiprocesador contiene dos o más procesadores con capacidades aproximadamente comparables.
  • Todos los procesadores comparten el acceso a un almacenamiento común y a canales de Entrada / Salida, unidades de control y dispositivos.
  • Todo está controlado por un Sistema Operativo que proporciona interacción entre procesadores y sus programas en los niveles de trabajo, tarea, paso, archivo y elementos de datos.

Las organizaciones más comunes son las siguientes:

  • Tiempo compartido o bus común (conductor común).
  • Matriz de barras cruzadas e interruptores.
  • Almacenamiento de interconexión múltiple. Tiempo Compartido o Bus Común (o Conductor Común)

5.6 Procesador de Entrada-Salida

En las entradas y salidas que se ejecutan desde el procesador entran tres conceptos que se deben conocer.

  • El DMA
  • Los Canales
  • Y las instrucciones DMA Con un incremento moderado de la lógica asociada con el periférico se puede lograr transferir un bloque de información a o desde la memoria principal sin la intervención directa de la UCP.

Esto requiere que los periféricos o los controladores de E/S sean capaces de generar direcciones de memoria y transferir datos a o desde el bus del sistema.

5.5 Interrupción Prioritaria

Interrupción (también conocida como interrupción hardware o petición de interrupción) es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.

Las interrupciones surgen de las necesidades que tienen los dispositivos periféricos de enviar información al procesador principal de un sistema de computación. La primera técnica que se empleó fue que el propio procesador se encargara de sondear (polling) el dispositivo cada cierto tiempo para averiguar si tenía pendiente alguna comunicación para él. Este método presentaba el inconveniente de ser muy ineficiente, ya que el procesador constantemente consumía tiempo en realizar todas las instrucciones de sondeo.


El mecanismo de interrupciones fue la solución que permitió al procesador desentenderse de esta problemática, y delegar en el dispositivo la responsabilidad de comunicarse con el procesador cuando lo necesitaba. El procesador, en este caso, no sondea a ningún dispositivo, sino que queda a la espera de que estos le avisen (le "interrumpan") cuando tengan algo que comunicarle (ya sea un evento, una transferencia de información, una condición de error, etc.).

Cada dispositivo que desea comunicarse con el procesador por interrupciones debe tener asignada una línea única capaz de avisar a éste de que le requiere para una operación. Esta línea es la llamada IRQ ("Interrupt ReQuest", petición de interrupción).


Las IRQ son líneas que llegan al controlador de interrupciones, un componente hardware dedicado a la gestión de las interrupciones, y que puede estar integrado en el procesador principal o ser un circuito separado conectado al procesador principal. El controlador de interrupciones debe ser capaz de habilitar o inhibir líneas de interrupción (operación llamada comúnmente enmascarar por la utilización de una máscara), y establecer prioridades entre las distintas interrupciones habilitadas. Cuando varias líneas de petición de interrupción se activan a la vez, el controlador de interrupciones utilizará estas prioridades para escoger la interrupción sobre la que informará al procesador principal. Sin embargo hay interrupciones que no se pueden enmascarar o deshabilitar, las conocidas como interrupciones no enmascarables o NMI.

Un procesador principal (sin controlador de interrupciones integrado) suele tener una única línea de interrupción llamada habitualmente INT. Esta línea es activada por el controlador de interrupciones cuando tiene una interrupción que servir. Al activarse esta línea, el procesador consulta los registros del controlador de interrupciones para averiguar qué IRQ es la que ha de atender. A partir del número de IRQ busca en el vector de interrupciones qué rutina debe llamar para atender una petición del dispositivo asociado a dicha IRQ.


Las rutinas de interrupción generalmente toman un pequeño tiempo de ejecución y la mayoría no pueden ser interrumpidas cuando se están atendiendo, porque al entrar en ellas se almacena el estado de los registros en una pila y si se interrumpen muchas veces, la pila se puede desbordar.


Pasos para el procesamiento de una IRQ:

  1. Terminar la ejecución de la instrucción máquina en curso.
  2. Salva el valor de contador de programa, PC, en la pila, de manera que en la CPU, al terminar el proceso, pueda seguir ejecutando el programa a partir de la última instrucción.
  3. La CPU salta a la dirección donde está almacenada la rutina de servicio de interrupción (ISR, Interrupt Service Routine) y ejecuta esa rutina que tiene como objetivo atender al dispositivo que generó la interrupción.
  4. Una vez que la rutina de la interrupción termina, el procesador restaura el estado que había guardado en la pila en el paso 2 y retorna al programa que se estaba usando anteriormente.

Mecanismos de interrupción de un computador

Un ordenador PC típico dispone en su placa base de un controlador de interrupciones 8259 de Intel o de un circuito integrado análogo. Este dispositivo electrónico dispone de hasta 16 líneas IRQ, numeradas desde el 00 hasta el 15. En las nuevas placas base este circuito está integrado junto con el resto del chipset y permite hasta 24 interrupciones.

5.4 Acceso directo a memoria

El acceso directo a memoria (DMA, del inglés Direct Memory Access) permite a cierto tipo de componentes de ordenador acceder a la memoria del sistema para leer o escribir independientemente de la CPU principal. Muchos sistemas hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas gráficas y tarjetas de sonido. DMA es una característica esencial en todos los ordenadores modernos, ya que permite a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de interrupciones.

5.3 Transferencia asíncrona de datos

Durante la transmisión asíncrona de datos podrían surgir inconvenientes relacionados con la ausencia de sincronización por parte de las entidades emisoras y receptoras.

Estos métodos son los de control de habilitación y reconocimiento mutuo, que ofrecen alternativas dentro de la transmisión.

Posteriormente se hará referencia a la transmisión serial de los datos, puntualizando detalles acerca de las formas más comunes bajo la cual ésta se lleva acabo, es decir, de manera síncrona y asíncrona. Sin embargo existe otra perspectiva que es la transmisión serial isócrona, de la cual se da una pequeña definición como fin de conocimiento general.

Pulso de Habilitación

Durante una transmisión asíncrona, las dos unidades que desean comunicarse no comparten una frecuencia de reloj común, por lo que requieren el envío de una señal que avise a la unidad receptora cuando se estás transmitiendo los datos. Esto se puede lograr a través del método del pulso de habilitación, el cual es proveído de una unidad a otra con el fin de anunciar cuando se realiza la transferencia de los datos.

Este método emplea una línea de control (estroboscopio) que permitirá temporizar la transferencia asíncrona de los datos. El pulso puede ser enviado tanto por la unidad fuente como por la unidad destino de manera indiferente.

Cuando el pulso es enviado por la unidad fuente, ésta coloca los datos en el canal de los datos y seguido de un breve retraso procede a activar la habilitación, tanto la señal como la información permanecen en el canal el tiempo necesario para que la unidad destino los reciba y almacene. Luego la fuente retira el contenido para dejar libre el canal de datos y así desactivar el pulso de habilitación.

Cuando la señal es enviada por la unidad destino es para avisarle a la unidad fuente que ya puede transmitir la información, ésta responderá colocando los datos en el canal, los cuales deberán permanecer allí durante un tiempo que se considere suficiente para que la unidad destino los acepte, inmediatamente la unidad destino activa el pulso de habilitación y la unidad fuente retira los datos de la línea de transmisión.

En la mayor parte de las computadoras el pulso de reloj está bajo el control del la Unidad central de procesamiento la cual se encarga de informar a los dispositivos periféricos de entrada como deberán transmitir la información necesaria.

Reconocimiento Mutuo.

A través del método del pulso de habilitación las unidades a comunicarse pueden temporizarse, sin embargo no existe una señal que le indique a la unidad fuente que la unidad destino recibió los datos, ni una que le indique a la unidad destino que la unidad fuente colocó la información en el canal. De allí surge la técnica de reconocimiento mutuo que emplea una doble línea de transmisión con el objetivo de enviar un mensaje de confirmación entre los dos entes que les brinde seguridad e integridad en la transmisión. Una línea (de fuente a destino) le anuncia a la unidad receptora que existen datos válidos en el canal; la otra línea (destino-fuente) avisa a la unidad emisora que los datos serán aceptados.

Cuando la señal es enviada por la unidad fuente las dos líneas de transmisión se separan en: datos válidos (dirección: fuente- destino) y datos aceptados (en dirección destino- fuente). El proceso que se lleva a cabo es el siguiente: la fuente coloca los datos en el canal y activa la señal de datos válidos, una vez que el destino recibe la información devuelve la señal de datos aceptados culminando la transferencia. La fuente retira los datos de las líneas de transmisión y deshabilita su señal dejando así libre el canal. El destino deshabilita su señal de datos aceptados lo que anuncia la disponibilidad de la misma para un próximo envío.

Cuando la transmisión se realiza desde la unidad destino la línea de reconocimiento mutuo datos aceptados cambia su nombre por preparada para datos. La secuencia seguida es la siguiente: la unidad receptora habilita la señal preparada para datos lo que da pie a que la unidad fuente coloque los datos en el canal y active su señal de datos válidos. Una vez que el receptor recibe los bits de carácter deshabilita su señal para finalizar la transferencia; la unidad fuente desactiva la línea datos válidos devolviendo al canal a su estado inicial.

El método de reconocimiento mutuo proporciona confiabilidad en la transmisión ya que hay mayor comunicación entre las unidades, además si se produce un error en alguna de ellas no hay problema ya que cuenta con un mecanismo de tiempo transcurrido que alarma si la transferencia no se realiza en tiempo transcurrido predeterminado, el cual es implantado por un reloj interno que inicializa el conteo cuando alguna de las unidades activa sus señales de habilitación y reconocimiento mutuo.

Transmisión Serial

La transmisión serial es aquella donde la información es enviada bit por bit hacia un determinado destino. Es lenta pero mucho más confiable por lo que tiende a usarse para transmisiones a larga distancia que no requieran de altas velocidades de respuesta.
Esta transmisión serial la podemos dividir en: transmisión serial síncrona y transmisión serial asíncrona.

La transmisión serial síncrona es aquella en la que las unidades de emisión y recepción se sincronizan y después se envía una secuencia de bits de señales de datos.

De tal manera estas unidades cuentan con un reloj común que los temporiza y permite que los bits se envíen a una velocidad constante que es dictada por los pulsos de reloj.

La transmisión serial asíncrona es aquella en la que los bits de datos de una carácter se transfieren de manera independiente en el tiempo con respecto a otro carácter, precedidos de un bit de arranque y un bit de paro.

De tal manera que para esta técnica cada carácter consta de tres partes: un bit de inicio, bits de caracteres y un bit de paro.

El bit de inicio siempre es cero y se utiliza para anunciar que comienza un carácter.
El bit de paro siempre es 1, valor que se mantiene por al menos el tiempo correspondiente a un bit para indicar que ha culminado el carácter enviado.

La unidad receptora puede detectar un carácter a través del conocimiento de las siguientes reglas:
  • Una línea desocupada siempre se encuentra en estado uno.
  • El inicio de la transmisión puede detectarse a partir del bit de inicio que es siempre cero. Los bits que le prosiguen le corresponden a los bits del carácter.
  • Para señalar la culminación de la transmisión se utiliza un bit de alto, el cual consiste en una línea que se mantiene en estado uno por más tiempo de lo predeterminado para un bit.

De tal manera el reloj interno del receptor, que conoce la velocidad de transmisión de los bits examina la línea de tiempos y puede reconocer el inicio y fin de una trama. El tiempo del bit de paro puede ser el concerniente a uno o dos bits, que es el tiempo que necesitarán las unidades para sincronizarse de nuevo.

5.2 Interfase I/0

En computación, entrada/salida, también abreviado E/S o I/O (del original en inglés input/output), es la colección de interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema de procesamiento de información para comunicarse unas con otras, o las señales (información) enviadas a través de esas interfaces.

Las entradas son las señales recibidas por la unidad, mientras que las salidas son las señales enviadas por ésta. El término puede ser usado para describir una acción; "realizar una entrada/salida" se refiere a ejecutar una operación de entrada o de salida. Los dispositivos de E/S los usa una persona u otro sistema para comunicarse con una computadora. De hecho, a los teclados y ratones se los considera dispositivos de entrada de una computadora, mientras que los monitores e impresoras son vistos como dispositivos de salida de una computadora. Los dispositivos típicos para la comunicación entre computadoras realizan las dos operaciones, tanto entrada como salida, y entre otros se encuentran los módems y tarjetas de red.

Es importante notar que la designación de un dispositivo, sea de entrada o de salida, cambia al cambiar la perspectiva desde el que se lo ve. Los teclados y ratones toman como entrada el movimiento físico que el usuario produce como salida y lo convierten a una señal eléctrica que la computadora pueda entender. La salida de estos dispositivos son una entrada para la computadora. De manera análoga, los monitores e impresoras toman como entrada las señales que la computadora produce como salida. Luego, convierten esas señales en representaciones inteligibles que puedan ser interpretadas por el usuario. La interpretación será, por ejemplo, por medio de la vista, que funciona como entrada.

En arquitectura de computadoras, a la combinación de una unidad central de procesamiento (CPU) y memoria principal (aquélla que la CPU puede escribir o leer directamente mediante instrucciones individuales) se la considera el corazón de la computadora y cualquier movimiento de información desde o hacia ese conjunto se lo considera entrada/salida. La CPU y su circuitería complementaria proveen métodos de entrada/salida que se usan en programación de bajo nivel para la implementación de controladores de dispositivos.

Los sistemas operativos y lenguajes de programación de más alto nivel brindan conceptos y primitivas de entrada/salida distintos y más abstractos. Por ejemplo, un sistema operativo brinda aplicativos que manejan el concepto de archivos. El lenguaje de programación C define funciones que les permiten a sus programas realizar E/S a través de streams, es decir, les permiten leer datos desde y escribir datos hacia sus programas.

Una alternativa para las funciones primitivas especiales es la mónada de E/S, que permite que los programas describan su E/S y que las acciones se lleven a cabo fuera del programa. Esto resulta interesante, pues las funciones de E/S introducirían un efecto colateral para cualquier lenguaje de programación, pero ahora una programación puramente funcional resultaría práctica.

5.1 Dispositivos Periféricos

Los periféricos pueden clasificarse en 5 categorías principales:
  • Periféricos de entrada: captan y envían los datos al dispositivo que los procesará, teclado, micrófono, escáner, mouse
  • Periféricos de salida: son dispositivos que muestran o proyectan información hacia el exterior del ordenador. La mayoría son para informar, alertar, comunicar, proyectar o dar al usuario cierta información, de la misma forma se encargan de convertir los impulsos eléctricos en información legible para el usuario. Sin embargo, no todos de este tipo de periféricos es información para el usuario, monitor, impresora, altavoces, diadema, fax
  • Periféricos de entrada/salida (E/S): Disco duro, disco flexible, lectores CD/DVD/BLUE-RAY/HD DVD, memoria flash, cintas magnéticas, tarjetas perforadas, memorias portátiles, diskette.
  • Periféricos de almacenamiento: son los dispositivos que almacenan datos e información por bastante tiempo. La memoria RAM no puede ser considerada un periférico de almacenamiento, ya que su memoria es volátil y temporal. Zip (Iomega): Caben 100 Mb y utiliza tecnología magnética. EZFlyer (SyQuest): Caben 230 Mb y tiene una velocidad de lectura muy alta, SuperDisk LS-120: Caben 200 Mb y utilizan tecnología magneto-óptica.
    Magneto-ópticos de 3,5: Caben de 128 Mb a 640 Mb, Jaz (Iomega): Es como el Zip y caben de 1 GB a 2 GB., Cintas Magnéticas: Caben hasta más de 4 GB.
  • Periféricos de comunicación: son los periféricos que se encargan de comunicarse con otras máquinas o computadoras, ya sea para trabajar en conjunto, o para enviar y recibir información. Fax-Módem , Tarjeta de red, Hub, Switch, Router, Tarjeta Wireless, Tarjeta Bluetooth, Controlador ambos exista un tercer elemento que actúe como traductor de señales. Este traductor es un circuito electrónico denominado interfaz.

5. Organización de Entrada y Salida

Existen distintos tipos de comandos que circulan por el bus:

  • De control: son para activar el periférico y decirle que debe hacer (por ej. rebobinar una cinta); varían según cada tipo de periférico.
  • De verificación: verifican las diversas condiciones de estado en la interfase o en el periférico (por ej., una vez seleccionada la ruta la CPU puede desear verificarla para ver si existe energía (power on) o que el periférico esté en línea (on line).
  • Salida de datos: Hace que la interfase responda tomando un ítem de datos del bus.
  • Entrada de datos: la interfase recibe un ítem de datos del periférico y lo coloca en su propio registro separador, avisa a la CPU, la que emite el comando de entrada de datos el cual transfiere el contenido de ese registro al bus de donde es tomado por la CPU y almacenado en su registro acumulador. Ejemplo: Salida de datos a una unidad de cinta.

El computador arranca la unidad de cinta emitiendo un comando de control. El procesador entonces monitorea el estado de la cinta por medio de comandos de verificación. Cuando la cinta está en posición correcta, el computador emite un comando de salida de datos. La interfase responde a la dirección y a las líneas de comando y transfiere los datos de la línea de datos del bus de E/S a su registro separador. La interfase se comunica entonces para aceptar un nuevo ítem de datos para almacenar en la cinta.

4.6 Ventajas y aplicaciones

Software de Aplicación

Es aquel que nos ayuda a realizar una tarea determinada, existen varias categorías de Software de Aplicación por que hay muchos programas (solo nombramos algunos) los cuales son:
  • Aplicaciones de negocio,
  • Aplicaciones de Utilería,
  • Aplicaciones Personales,
  • aplicaciones de Entretenimiento.

El software de aplicación ha sido escrito con el fin de realizar casi cualquier tarea imaginable. Esté puede ser utilizado en cualquier instalación informática, independiente del empleo que vayamos a hacer de ella. Existen literalmente miles de estos programas para ser aplicados en diferentes tareas, desde procesamiento de palabras hasta cómo seleccionar una universidad.

Como existen muchos programas se dividen en cuatro categorías de software de aplicaciones:

  • Aplicaciones de negocios: Las aplicaciones más comunes son procesadores de palabras, software de hojas de cálculo, sistemas de bases de datos y Graficadores. Procesadores de palabras: Estos permiten hacer cambios y correcciones con facilidad, permiten revisar la ortografía e incluso la gramática de un documento, cambiar la apariencia de la letra, agregar gráficos, fusionar listas de direcciones con cartas con envío de correo en grupo, general tablas de contenido, etc. También se puede usar para crear cualquier tipo de documento (carta de negocio, documentos legales). Hojas de cálculo: son procesadores de números tridimensionales. Se pueden crear hojas de trabajo donde puedes colocar textos, números o formulas en las celdas, obteniendo una hoja contable computarizada. También puede crear gráficas y tablas para mostrar gráficamente relaciones entre números. Graficadores: Se utilizan para crear ilustraciones desde cero (0) los; usuarios pueden pintar con dispositivos electrónicos de señalamiento en vez de lápices o brochas. Otro tipo de software para gráfico son las aplicaciones para presentaciones de gráficos con este se crean gráficas y tabla a color y de calidad profesional basados en datos numéricos de otro programa (hoja de cálculo). Manejador de base de datos: Se utiliza para organizar los datos guardados en la computadora y permite buscar datos específicos de diferentes maneras. También archivan los datos en orden alfabético esto permite obtenerla información que se desean más fácilmente.
  • Aplicaciones de Utilería: Las utilerías, que componen la segunda categoría de aplicaciones de software, te ayudan a administrar a darle mantenimiento a tu computadora.
  • Aplicaciones personales: Estos programas te permiten mantener una agenda de direcciones y calendario de citas, hacer operaciones bancarias sin tener que salir de tu hogar, enviar correo electrónico a cualquier parte del mundo y además conectarte a servicios informáticos que ofrecen grandes bases de datos de información valiosa.
  • Aplicaciones de entretenimiento: Software de entretenimiento: Videojuegos de galería, simuladores de vuelo, juegos interactivos de misterio y rompecabezas difíciles de solucionar. Muchos programas educativos pueden ser considerados como software de entretenimiento. Estos programas pueden ser excelentes herramientas para la educación.

4.5 Ayuda de Software

Software, es la parte lógica del computador que esta compuesta por todos los programas, rutinas y sistemas que permiten al computador ejecutar sus funciones.
Se divide en:
  • Software Utilitario,
  • Software Operativos y
  • Software de Aplicación.

4.4 Formatos de Microinstrucción

La microinstrucción es una palabra binaria con tantos bits como señales de control existan en el microprocesador. Generalmente no son múltiplos de ocho bits porque no existe ninguna necesidad de alineamiento. Un bit a "cero" indica que la señal no debe activarse. Un bit a "uno" indica lo contrario.

Los bits de una microinstrucción se organizan, conceptualmente, en campos. Cada campo representa un conjunto de señales eléctricas relacionadas entre sí.
Una unidad de control microprogramada consiste esencialmente en "microprocesador dentro del microprocesador", y consta de elementos análogos aunque mucho más simplificados:

Una memoria de programa. Suele ser una pequeña memoria ROM que incluye todo el microprograma.
  • Un "micro-contador de programa": un registro que indica cual es la microinstrucción en curso.
  • Un "registro de micro-instrucción": contiene la microinstrucción en curso.
  • Un demultiplexor, en caso de que existan campos multiplexados.
  • Un pequeño sumador, que permite los saltos de una instrucción a otra.
  • Una señal de reloj: que indica la duración de cada microinstrucción.

4.3 Ejemplo de un Microprograma

Un microprograma implementa un conjunto de instrucciones de CPU. Así como una sentencia en un lenguaje de alto nivel es compilada en una serie de instrucciones de máquina, en una CPU usando microcódigo, cada instrucción de máquina es implementada por una serie de microinstrucciones, a veces llamado microprograma o microcódigo.

Los elementos que componen un microprograma existen en un nivel conceptual más bajo aún que las instrucciones de asembler.Los microprogramas son cuidadosamente diseñados y optimizados para una ejecución lo más rápida posible, pues un microprograma lento podría causar una instrucción de máquina lenta, lo que causaría que todos los programas que emplean esa instrucción sean lentos.Los microprogramadores deben tener un extenso conocimiento de bajo nivel del circuiterío de una computadora.

En la mayoría de las computadoras que emplean microprogramas, éstos no residen en la memoria principal del sistema, sino que existen en una memoria de alta velocidad especial, llamada almacenamiento de control (control store), y que pertenece a la unidad de control de la CPU.

Esta memoria puede ser memoria de solo lectura, o puede ser memoria de lectura-escritura. En este caso, el microprograma podría ser cargado al almacenamiento de control desde otro medio de almacenamiento como parte de la inicialización del CPU. Si el microprograma se encuentra en una memoria que permite lectura-escritura, puede ser alterado para corregir errores en el conjunto de instrucciones, o para implementar nuevas instrucciones de máquina.

4.2 Secuenciación de la Dirección

La secuencia de operaciones necesarias para comunicarse con la unidad de memoria par a propósitos de transferir una palabra hacia afuera dirigida al BR es:
  1. Transferir los bits de dirección de la palabra seleccionada al AR.
  2. Activar la entrada de control de lectura.

La secuencia de operaciones necesarias par a almacenar una nueva palabra a la memoria es:
  1. Transferir los bits de dirección de la palabra seleccionada al MAR.
  2. Transferir los bits de datos de la palabra al MBR.
  3. Activar la entrada de control de escritura.

4.1 Memoria de Control

Se trata de una memoria rápida en la que se almacenan las operaciones elementales (microinstrucciones) correspondientes a cada instrucción compleja (macroinstrucción).

Optimización y control de la memoria Las memorias centrales de la computadora pueden sufrir varios tipos de desperfectos.

En este caso existe la ventaja de que el autotest de arranque (POST) las verificara cada vez que usted encienda su computadora. Lamentablemente ciertos desperfectos pueden no ser detectados por el autotest. En efecto pueden diferenciarse dos tipos de desperfectos los desperfectos del hardware que son reproducibles y los desperfectos aleatorios no reproducibles y que en consecuencia generan mayores dificultades. Por ese motivo usted deberá sin duda recurrir a programas de test que permiten análisis mas completos.

4. Organización del Control del Microprograma

3.9 Procesamiento Paralelos

El procesamiento paralelo ofrece una gran ventaja en cuanto a costos. Sin embargo, su principal beneficio, la escalabilidad, puede ser difícil de alcanzar aún.

Esto se debe a que conforme se añaden procesadores, las disputas por los recursos compartidos se intesifican.Algunos diseños diferentes de procesamiento paralelo enfrentan este problema fundamental:

  • Multiprocesamiento simétrico
  • Procesamiento masivamente paralelo
  • Procesamiento paralelo escalable

3.8 Organización del microprocesador

El microprocesador es un circuito integrado que contiene algunos o todos los elementos software, y el de CPU, que es un concepto lógico. Una CPU puede estar soportada por uno o varios microprocesadores, y un microprocesador puede soportar una o varias CPU. Un núcleo suele referirse a una porción del procesador que realiza todas las actividades de una CPU real.

La tendencia de los últimos años ha sido la de integrar más núcleos dentro de un mismo empaque, además de componentes como memorias Cache y controladores de memoria, elementos que antes estaban montados sobre la placa base como dispositivos individuales

3.7 Control de Programas

Es el resultado de la ejecución de una instrucción de control de programa provoca una "ruptura’ en la secuencia de ejecución de instrucciones.
Esta es una característica importante en las computadoras digitales, porque proporciona un control sobre el flujo de ejecución de un programa y la posibilidad de transferir el control a diferentes segmentos del programa.

3.6 Manipulación y trasferencias de datos

Puede extender esta capacidad a las funciones definidas por el usuario, manipular campos, registros y matrices, utilizar clases y objetos, y manipular valores NULL.

Entre los cuales encontramos:
  • Matrices: Transferencia de datos y matrices
  • Clases: Manipulación de clases y objetosCampos
  • Manipulación de campos y registros
  • Valores NULL
  • Tratamiento de valores NULL
  • ObjetosManipulación de clases y objetos
  • RegistrosManipulación de campos y registros
  • Funciones definidas por el usuarioFunciones definidas por el usuario

3.5 Modos de Direccionamiento

Los llamados Modos de direccionamiento son las diferentes maneras de especificar en informática un operando dentro de una instrucción (lenguaje ensamblador).

Cómo se especifican e interpretan las direcciones de memoria según las instrucciones.

  • Inmediato: En la instrucción está incluido directamente el operando.
  • Directo: El campo de operando en la instrucción contiene la dirección en memoria donde se encuentra el operando.
  • Indirecto: El campo de operando contiene una dirección de memoria, en la que se encuentra la dirección efectiva del operando.
  • Absoluto: El campo de operando contiene una dirección en memoria, en la que se encuentra la instrucción.
  • De registro: Sirve para especificar operandos que están en registros.
  • Indirecto mediante registros: El campo de operando de la instrucción contiene un identificador de registro en el que se encuentra la dirección efectiva del operando.
  • De desplazamiento: Combina el modo directo e indirecto mediante registros
  • De pila: Se utiliza cuando el operando está en memoria y en la cabecera de la Pila

3.4 Formatos de Instrucción

Se muestra en una caja rectangular que simboliza los bits de la instrucción conforme aparecen en la palabra de memoria o en un registro de control.
Los bits de la instrucción se dividen en grupos llamados campos, entre los más comunes que se encuentran en los formatos de instrucciones que son:
  1. Un campo de código de operación que especifica la operación que se va a ejecutar.
  2. Un campo de dirección que representa una dirección de memoria o un registro de procesador.
  3. Un campo de modo que especifica la manera en que se determina el operando o la dirección efectiva.

3.3 Organización de la Pila

En las computadoras digitales, la pila es esencialmente una unidad de memoria con un registro de direccionamíento que sólo puede contar (después de que un valor inicial se carga dentro ella).
El registro que contiene la dirección para la pila se llama apuntador de pila (SP) porque su valor siempre apunta la localidad en la parte superior de la pila. Al revés de una pila de charolas en la cual la charola misma puede sacarse o insertarse, los registros físicos de una pila están siempre disponibles para lectura o escritura. Es el contenido de la palabra lo que se inserta o borra.

3.2 Unidad Lógica - Aritmética

Una ALU simple de 2 bits que hace operaciones de AND, OR, XOR y adición (haga click en la imagen para una explicación)
La mayoría de las ALU pueden realizar las siguientes operaciones:
  • Operaciones aritméticas de números enteros (adición, sustracción, y a veces multiplicación y división, aunque esto es más costoso)
  • Operaciones lógicas de bits (AND, NOT, OR, XOR, XNOR)
  • Operaciones de desplazamiento de bits (Desplazan o rotan una palabra en un número específico de bits hacia la izquierda o la derecha, con o sin extensión de signo). Los desplazamientos pueden ser interpretados como multiplicaciones o divisiones por 2.

3.1 Organización del Bus del Procesador

La función del Bus es la de permitir la conexión lógica entre distintos subsistemas de un sistema digital, enviando datos entre dispositivos de distintos ordenes: desde dentro de los mismos circuitos integrados, hasta equipos digitales completos que forman parte de supercomputadoras.

La mayoría buses están basados en conductores metálicos por los cuales se trasmiten señales eléctricas que son enviadas y recibidas con la ayuda de integrados que poseen una interfaz del bus dado y se encargan de manejar las señales y entregarlas como datos útiles. Las señales digitales que se trasmiten son de datos, de direcciones o señales de control.

Los buses definen su capacidad de acuerdo a la frecuencia máxima de envío y al ancho de los datos. Por lo general estos valores son inversamente proporcionales: si se tiene una alta frecuencia, el ancho de datos debe ser pequeño. Esto se debe a que la interferencia entre las señales (crosstalk) y la dificultad de sincronizarlas, crecen con la frecuencia, de manera que un bus con pocas señales es menos susceptible a esos problemas y puede funcionar a alta velocidad.

Todos los buses de computador tiene funciones especiales como las interrupciones y las DMA que permiten que un dispositivo periferico acceda a una CPU o a la memoria usando el minimo de recursos.

Existen dos grandes tipos clasificados por el método de envió de la información: bus paralelo o serial. Hay diferencias en el desempeño y hasta hace unos años se consideraba que el uso apropiado dependía de la longitud física de la conexión: para cortas distancias el bus paralelo,para largas el serial.

Bus paralelo

Es un bus en el cual los datos son enviados por bytes al mismo tiempo, con la ayuda de varias lineas que tienen funciones fijas. La cantidad de datos enviada es bastante grande con una frecuencia moderada y es igual al ancho de los datos por la frecuencia de funcionamiento. En los computadores ha sido usado de manera intensiva, desde el bus del procesador, los buses de discos duros, tarjetas de expansión y de vídeo, hasta las impresoras.
El Front Side Bus de los procesadores Intel es un bus de este tipo y como cualquier bus presenta unas funciones en lineas dedicadas:

·Lineas de Dirección son las encargadas de indicar la posición de memoria o el dispositivo con el que se desea establecer comunicación.
·Lineas de Control son las encargadas de enviar señales de arbitraje entre los dispositivos. Entre las más importantes están las lineas de interrupción, DMA y los indicadores de estado.
·Lineas de Datos trasmiten los bits, de manera que por lo general un bus tiene un ancho que es potencia de 2.
Un bus paralelo tiene conexiones físicas complejas, pero una la lógica es sencilla, que lo hace útil en sistemas con poco poder de computo. En los primeros microcomputadores, el bus era simplemente la extensión del bus del procesador y los demás integrados "escuchan" las linea de direcciones, en espera de recibir instrucciones. En el PC IBM original, el diseño del bus fue determinante a la hora de elegir un procesador con I/O de 8 bits (Intel 8088), sobre uno de 16 (el 8086), porque era posible usar hardware diseñado para otros procesadores, abaratando el producto.

Bus serie

En este los datos son enviados, bit a bit y se reconstruyen por medio de registros o rutinas de software. Está formado por pocos conductores y su ancho de banda depende de la frecuencia. Es usado desde hace menos de 10 años en buses para discos duros, tarjetas de expansión y para el bus del procesador.

3. Organización del Procesador Central

2.6 Diseño de computador

Componentes principales:

·Tarjeta madre
·CPU o microprocesador
·BIOS
·Memoria RAM, memoria ROM
·Bus
·Entrada/salida

Periféricos:

·Teclado
·Ratón, touchpad, lápiz óptico, pantalla táctil, Tableta digitalizadora
·Monitor
·Impresora
·Tarjeta de sonido
·Tarjeta de video
·Disco duro, diskette, CD-ROM, DVD

Otros:
·Carcasa
·Puerto serial
·Puerto paralelo
·PS/2
·USB
·Firewire
·Tarjeta de red
·PCI

2.5 Entrada-Salida e interrupción

Una de las funciones principales de un Sistema Operativo (S.O.) es el control de todos los dispositivos de E/S de la computador.
Las principales funciones relacionadas son:
  • Enviar comandos a los dispositivos.
  • Detectar las interrupciones.
  • Controlar los errores.
  • Proporcionar una interfaz entre los dispositivos y el resto del sistema. Debe ser sencilla y fácil de usar. Debe ser la misma (preferentemente) para todos los dispositivos (independencia del dispositivo).
  • El código de E/S representa una fracción significativa del S.O.
  • El uso inapropiado de los dispositivos de E/S frecuentemente genera ineficiencias del sistema, lo que afecta la performance global.