88
Introducción: En la actualidad los equipos electrónicos cada bes rayan más en pequeñas inteligencias artificiales, haciéndolas de cierto modo herramientas muy requeridas en nuestra vida diaria. La Información aquí recabada dará orientación en cuanto a la forma en que las computadoras realizan sus diferentes acciones y asociaciones con los diferentes dispositivos que estos las componen. Organización de Entrada y Salida El subsistema de entrada-salida de una computadora, denominado E/S, proporciona un modo de comunicación eficiente entre el sistema central y el ambiente externo. Los programas y datos deben introducirse a la memoria de la computadora para su procesamiento y los resultados que se obtienen de los cálculos deben grabarse o registrarse para el usuario. Una computadora no tiene ningún propósito útil sin la capacidad de recibir información de una fuente externa y de transmitir los resultados de manera comprensible. Para utilizar una computadora de manera eficiente, deben prepararse con anticipación una gran cantidad de programas y

Arquitectura de la programación

Embed Size (px)

DESCRIPTION

Clasificación de periféricosEntrada y salida

Citation preview

Page 1: Arquitectura de la programación

Introducción:

En la actualidad los equipos electrónicos cada bes rayan más en

pequeñas inteligencias artificiales, haciéndolas de cierto modo

herramientas muy requeridas en nuestra vida diaria.

La Información aquí recabada dará orientación en cuanto a la forma en

que las computadoras realizan sus diferentes acciones y asociaciones

con los diferentes dispositivos que estos las componen.

Organización de Entrada y Salida

El subsistema de entrada-salida de una computadora, denominado

E/S, proporciona un modo de comunicación eficiente entre el sistema

central y el ambiente externo. Los programas y datos deben introducirse

a la memoria de la computadora para su procesamiento y los resultados

que se obtienen de los cálculos deben grabarse o registrarse para el

usuario. Una computadora no tiene ningún propósito útil sin la capacidad

de recibir información de una fuente externa y de transmitir los

resultados de manera comprensible.

Para utilizar una computadora de manera eficiente, deben

prepararse con anticipación una gran cantidad de programas y datos, y

deben transmitirse a un medio de almacenamiento como discos o cintas

magnéticas. La información del disco se transfiere después a la memoria

de la computadora a gran velocidad. Los resultados de los programas

también se transfieren a un almacenamiento de alta velocidad, como

discos, desde los cuales se pueden transferir, más tarde, a una

impresora para proporcionar una salida impresa de los resultados.

Page 2: Arquitectura de la programación

Los dispositivos que están bajo el control directo de la

computadora están conectados en línea. Estos dispositivos están

diseñados para leer información hacia adentro o afuera de la unidad de

memoria ante un comando de la CPU y se considera que son parte del

sistema total de la computadora.

Los monitores de video son los periféricos de uso más común.

Consisten en un teclado como dispositivo de entrada y una pantalla

como dispositivo de salida. Hay diferentes tipos de monitores de video,

pero los más populares utilizan un tubo de rayos catódicos (CRT). El CRT

contiene un cañón electrónico que envía un haz de electrones a una

pantalla fosforescente al frente del tubo. El haz puede desviarse en

forma horizontal y vertical. Para producir un patrón en la pantalla, una

rejilla dentro del CRT recibe un voltaje variable que hace que el haz

entre en contacto con la pantalla y la haga brillar en puntos

seleccionados.

El cursor puede moverse a cualquier posición en la pantalla, sobre

un carácter único, una palabra o cualquier línea. Las teclas de edición

agregan o borran información con base en la posición del cursor. El

monitor puede operar en forma de carácter único, de donde todos los

caracteres introducidos en la pantalla a través del teclado se trasmiten a

la computadora en forma simultánea. En el modo de bloque, el texto

editado se almacena primero en una memoria local dentro de la

terminal. El texto se transfiere a la computadora como un bloque de

datos.

Las impresoras proporcionan un registro permanente, sobre el

papel, de los datos o el texto de salida de la computadora. Hay tres tipos

básicos de impresoras de caracteres: de margarita, de matriz de puntos

y láser.

Page 3: Arquitectura de la programación

Cada punto puede imprimirse o no, dependiendo de los caracteres

específicos que están impresos en la línea. La impresora láser utiliza un

tambor fotográfico rotatorio que se emplea para imprimir las imágenes

de caracteres. Después, el patrón se transfiere sobre el papel igual que

en una máquina copiadora.

Las cintas magnéticas se utilizan principalmente para almacenar

archivos de datos: por ejemplo, el registro de la nómina de una

compañía. El acceso es secuencial y consta de registros que pueden

acusarse uno después de otro, conforme la cinta se mueve a lo largo de

un mecanismo estacionario de lectura-escritura. Es uno de los métodos

más baratos y lentos para almacenar y tiene la ventaja de que las cintas

pueden quitarse cuando no se usan. Los discos magnéticos tienen

superficies rotatorias de alta velocidad, con una cubierta de material

magnético.

Otros dispositivos de entrada y salida que se encuentran en

sistemas de computadora son los gratificadores digitales, los lectores de

caracteres ópticos y magnéticos, los convertidores analógicos-digitales y

equipo diverso de adquisición de datos. No todas las entradas provienen

de personas y no todas las salidas están dirigidas a ellas. Las

computadoras se utilizan para controlar varios procesos en tiempo real,

como provisión de partes de máquinas, procedimientos de ensamblado

en línea y procesos químicos e industriales. Para tales aplicaciones, debe

proporcionarse un método para captar las condiciones de estado del

proceso y enviar señales de control al proceso que se controle.

La organización de entrada-salida de una computadora es una

función del tamaño de la computadora y de los dispositivos conectados

a ella. La diferencia entre un sistema grande y pequeño depende en

gran parte de la cantidad de circuitería que tiene disponible la

computadora para comunicarse con unidades periféricas y la cantidad

Page 4: Arquitectura de la programación

de periféricos conectados al sistema. Como cada periférico se comporta

en forma diferente de los demás, sería prohibitivo entrar en detalles de

las interconexiones necesarias entre la computadora y cada periférico.

En este capítulo se presentan ciertas técnicas comunes a la mayoría de

los periféricos.

Clasificación de los dispositivos de E/S

• Dispositivos de Entrada: Son aquellos que se usan para

proporcionar la entrada a la computadora. Ej. Teclado, lector de código

de barra, digitalizador, lector de caracteres ópticos, lector de

marcadores ópticos, lector de reconocimiento de caracteres de tinta

magnética (Micr), dispositivo de entrada de voz, pantalla de contacto.

• Dispositivos de Salida: Se usan para promocionar la salida de los

resultados ejecutados al usuario. Ej. Pantalla (monocromática, a color,

LCD, LED), Impresora (de línea, de matriz de puntos, laser, de burbujas,

de inyección de tinta), graficado, escritor de códigos de barra.

• Dispositivos de Almacenamiento: o dispositivos de

almacenamiento auxiliar. Se dividen principalmente en dos categorías.

Se divide en doa categorías:

- Dispositivos de almacenamiento Magnético. Ej. Unidad (de Disco

duro, de Cinta, de Cinta de Audio Digital, de Cartucho de Cinta, de Dsco

Flexible).

- Dispositivos de almacenamiento óptico. Ej Unidad (lectora de

disco compacto, de escritura de CD, Lectora de Disco de Video Digital).

• Dispositivos indicadores: Se usan para apuntar elementos en la

pantalla. Ej. Raton, Puntero de bola (trackball), lápiz óptico (light pen),

almohadilla de toque (touch pad), Digital puck.

Page 5: Arquitectura de la programación

• Dispositivos de juegos: Diseñados para juegos de computadora.

Ej. Palanca de juego, almohadill para juego, volante de manejo, puntero

de bol, guante digital.

• Dispositivos de propósito especial: Ej. Impresora Braille,

Dispositivos de antalla de contactos, Pedal de pie.

• Dispositivos misceláneos: Se usan en sistemas de computadora

para recibir entradas especiales o proporcionar salidas específicas.

Múltiples perspectivas de los dispositivos de E/S

• De Hardware

• De operaciones

• Del programador

• Del usuario

PERSPECTIVA DE HARDWARE

Bajo este enfoque se estudian la tecnología y requerimientos de

control de los dispositivos de E/S como sigue:

- Dispositivos con un controlador dedicado integrado.

- Dispositivos con un controlador de dispositivos externo

compartido.

Otra forma de ver el hardware de dispositivos es por la forma en q

manejan los datos (capacidad) y se clasifican en:

- Manejar un carácter (o byte a la vez) llamados:

Dispositivos de carácter: son aquella q son capaces de enviar y

recibir un bloque de datos que consisten en un número fijo de bytes. Ej

teclado, monitor

Page 6: Arquitectura de la programación

- Manejar un bloque de varios bytes a la vez, llamados:

Dispositivos de bloque: son capaces de enviar y recibir un bloque

de datos que consisten en un número fijo de bytes. Ej: discos

magnéticos y flexibles. Para leer los datos de un disco se proporcionar la

dirección donde están los datos. La direct está compuesta de: número

de superficie, numero de pista y numero de sector de inicio.

Controladores de dispositivos: Los dispositivos E/S consisten de

componentes mecánicos y electrónicos. La parte electrónica del

dispositivo q realiza las funciones de control se llama controlador o

adaptador. Cada dispositivo de E/S debe tener un controlador y están

conectados al bus de sistema a través del controlador

Controladores de dispositivos dedicados: usualmente están

integrados al dispositivo o pueden estar contenidos en una tarjeta

externa. Son específicos para un tipo de dispositivo y usualmente tienen

una funcionalidad limitada y bien definida. Ej Controlador de electrónica

de control integrado IDE

Controladores de dispositivos compartidos: permite que varios

dispositivos, usualmente de tipos similares estén conectados a él y sean

controlados por él. Ej: controlador de disco

Controlador SCSI: pronunciado es-q-si es un controlador estándar q

q surgió del estándar ANSI; ayuda a conectar una variedad de

dispositivos de E/S a una computadora.

PERSPECTIVA DE OPERACIONES

Involucra algunos de los siguientes temas:

• Instalación

• Configuración

Page 7: Arquitectura de la programación

• Operación de E/S

• Manejo de errores

• Integración con el resto del sistema de computadoras

Métodos para realizar E/S:

• E/S Directa con sondeo:

• E/S con correspondencia de memoria (Memory-Mapped I/O)

• E/S manejada por interrupciones

• E/S Directa con sondeo:

Llamada E/S programada con espera ocupada (busy-waiting); la

CPU controla directamente el dispositivo E/S cuando la E/S se está

realizando. La CPU transfiere datos entre la memoria primaria y el

controlador de dispositivos. Para determinar si el dispositivo completo la

operación la CPU verifica repetidamente el registro de estado del

controlador, esto se conoce como sondeo (polling)

• E/S con correspondencia de memoria (Memory-Mapped I/O):

cada uno de los dispositivos de E/S tiene separado cierto espacio en la

memoria primaria, los registros del controlador de dispositivos se

corresponden allí. Esto significa q el registro de estado del controlador

de dispositivos se corresponde con otra dirección.

• DMA: es un controlador usado en la correspondencia de

memoria. Cuando los datos están listos para ser transferidos hacia

cualquier dirección los registros del controlador DMA son llenados con

valores apropiados de datos.

• E/S manejada por interrupciones: requiere q la CPU inicialice

solamente la actividad de E/S, luego de esto puede continuar con otra

tarea. Cuando la actividad de E/S se ha completado se genera una

Page 8: Arquitectura de la programación

interrupción, enviando una señal a la CPU acerca de eso. Es más

eficiente q estar sondeando. Una interrupción es una condición que

usualmente se asocia a una a actividad de E/S y hace q la CPU altere su

flujo de ejecución. Se clasifican en:

O Interrupciones enmascarables: pueden ser interrumpidas por

otras de prioridad más alta cuando aquellas ocurran.

O Interrupciones no enmascarables: no permiten q ningún otro

pase por encima del manejo de la actual.

PERSPECTIVA DEL PROGRAMADOR

El programador mira los dispositivos de E/S primeramente desde le

Angulo de programar estos dispositivos para realizar acciones

necesarias. Para el surgen algunas preocupaciones:

• Clasificación de un gran número de dispositivos para aplanchar

el poder de similitud de las funciones y operaciones de dispositivos.

• Acceso a la funcionalidad, capacidad y registros de los

dispositivos en varios niveles.

• Programación de los dispositivos para ajustarse a diversos

requerimientos.

• Naturaleza especifica versus naturaleza genérica del dispositivo.

• Software independiente del dispositivo

• La abstracción

• Los controladores (drivers).

• Las funciones de librerías concernientes a los dispositivos de E/S

• Disponibilidad de un generoso y poderoso conjunto de APIs

(interfaz de programa de aplicación)

Page 9: Arquitectura de la programación

PERSPECTIVA DEL USUARIO

Este, solo quiere usar el dispositivo, obtener el beneficio de la

funcionalidad ofrecida y no preocuparse acerca de los detalles complejos

del dispositivo. Temas de interés para el usuario:

• Abstracción: El dispositivo debe estar organizado de forma q el

usuario solo vea los detalles q necesite saber para poder usarlo.

• Uniformidad: ayuda al usuario a hacer uso del dispositivo sin

tener que preocuparse de los detalles de bajo nivel.

• Accesibilidad: debe ser accesible en cualquier lugar, el método

de acceso debe ser simple, seguro y eficiente.

• Utilidad: se refiere a la habilidad del usuario para usar el

dispositivo para el propósito deseado sin ningún impedimento q se

origine de la organización de la E/S.

5.1.- Dispositivos Periféricos

Los dispositivos periféricos son una serie de accesorios y

componentes destinados a aumentar los recursos y posibilidades de un

ordenador o dispositivo informático. Se instalan en base a diversos

procesos dependiendo del tipo de periférico que se trate, pudiendo

introducirse por una conexión USB o colocándolo con una instalación en

el interior del ordenador.

¿Qué son?

Los periféricos son una serie de dispositivos que no se consideran

imprescindibles para el funcionamiento y rendimiento de un ordenador,

pero que aportan una serie de funcionalidades básicas a la hora de usar

los equipos informáticos.

Page 10: Arquitectura de la programación

Tienen la finalidad de aportar usos cotidianos y necesarios, como

la introducción de contenido de texto a través de un teclado, o el

movimiento del cursor del ordenador apoyándose en un ratón. Si bien

por regla general se considera estos dispositivos como herramientas no

necesarias, su utilización se ha convertido en algo imprescindible para

sacar el máximo partido a los equipos informáticos de la actualidad.

En base, este tipo de dispositivos crean una comunicación directa

con el ordenador, ya sea con el objetivo de introducir un dato o factor en

la memoria del mismo, como para sacarlo de él en el mismo sistema,

pero hacia la dirección contraria.

Se clasifican en tres tipos:

Entrada

Salida

Almacenamiento

Ejemplos:

ENTRADA:

TECLADO (Keyboard)

Dispositivo de entrada, que por medio de un conjunto de teclas de

entrada permite al usuario comunicarse con la computadora.

Page 11: Arquitectura de la programación

Ratón (mouse)

Este dispositivo de entrada permite simular el señalamiento de

pequeños dibujos o localidades como si fuera hecho con el dedo índice,

gracias a que los programas que lo aprovechan presentan sobre la

pantalla una flecha que al momento de deslizar el dispositivo sobre una

superficie plana mueve la flecha en la dirección que se haga sobre la

pantalla.

SALIDA:

Monitor (monitor)

Es un dispositivo de salida, es un aparato de los llamados CTR

(Tubo de rayos Catódicos) en los cuales se pueden representar los datos

de tipo texto o gráficos procesados por la computadora que ha venido

evolucionando hasta llegar a lo que ahora tenemos un monitor LCD.

Impresora (printer)

Es un dispositivo de salida y como máquinas de escribir, es decir,

vacían la información contenida en la memoria principal o lo que

visualiza en la pantalla y lo transmite en papel.

Page 12: Arquitectura de la programación

ALMACENAMIENTO:

Disco duro

Es posible utilizar una unidad de disco duro completa (o una

partición) para realizar copias de seguridad; como sucedía con los discos

flexibles, podemos crear un sistema de ficheros sobre la unidad o la

partición correspondiente, montarla, y copiar los ficheros que nos

interese guardar en ella (o recuperarlos).

Universal Serial Bus (USB)

Es un dispositivo de almacenamiento que utiliza una memoria

flash para guardar información. Se lo conoce también con el nombre de

unidad flash USB, lápiz de memoria, lápiz USB, minidisco duro, unidad de

memoria, llave de memoria.

Interface 1/0

En computación, entrada/salida, también abreviado EIS o I/O (del

original en inglés input Joutput), es la colección de interfaces que usan

las distintas unidades funcionales (subsistemas) de un sistema de

Page 13: Arquitectura de la programación

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.

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.

Page 14: Arquitectura de la programación

Una alternativa para las funciones primitivas especiales es la

mónada de E/s, que permite que los programas describan su E/5 y que

las acciones se lleven a cabo fuera del programa. Esto resulta

interesante, pues las funciones de E/5 introducirían un efecto colateral

para cualquier lenguaje de programación, pero ahora una programación

puramente funcional resultaría práctica.

Transferencia Asíncrona de Datos

En la transmisión asíncrona es el emisor el que decide cuando se

envía el mensaje de datos a través de la red. En una red asíncrona el

receptor por lo consiguiente no sabe exactamente cuándo recibirá un

mensaje. Por lo tanto cada mensaje debe contener, aparte del mensaje

en sí, una información sobre cuando empieza el mensaje y cuando

termina, de manera que el receptor conocerá lo que tiene que

decodificar.

En el procedimiento asíncrono, cada carácter a ser transmitido es

delimitado por un bit denominado de cabecera o de arranque, y uno o

dos bits denominados de terminación o de parada.

El bit de arranque tiene dos funciones de sincronización de los

relojes del transmisor y del receptor.

El bit o bits de parada, se usan para separar un carácter del

siguiente.

Normalmente, a continuación de los bits de información se

acostumbra agregar un bit de paridad (par o impar).

Page 15: Arquitectura de la programación

En el procedimiento asíncrono, cada carácter a ser transmitido es

delimitado por un bit denominado de cabecera o de arranque, y uno o

dos bits denominados de terminación o de parada.

El bit de arranque tiene dos funciones de sincronización de los

relojes del transmisor y del receptor.

El bit o bits de parada, se usan para separar un carácter del

siguiente.

Normalmente, a continuación de los bits de información se

acostumbra agregar un bit de paridad (par o impar).

En el procedimiento asíncrono, cada carácter a ser transmitido es

delimitado por un bit denominado de cabecera o de arranque, y uno o

dos bits denominados de terminación o de parada.

El bit de arranque tiene dos funciones de sincronización de los

relojes del transmisor y del receptor.

El bit o bits de parada, se usan para separar un carácter del

siguiente.

Normalmente, a continuación de los bits de información se

acostumbra agregar un bit de paridad (par o impar).

Page 16: Arquitectura de la programación

En este tipo de red el receptor no sabe con precisión cuando recibirá un mensaje. Cada carácter a ser transmitido es delimitado por un bit de información denominado de cabecera o de arranque, y uno o dos bits denominados de terminación o de parada.

● El bit de arranque tiene dos funciones de sincronización de reloj

del transmisor y del receptor.

● El bit o bits de parada, se usan para separar un carácter del

siguiente.

Ventajas y desventajas del modo asíncrono:

En caso de errores se pierde siempre una cantidad pequeña de

caracteres, pues éstos se sincronizan y se transmiten de uno en uno.

Bajo rendimiento de transmisión, dada la proporción de bits útiles

y de bits de sincronismo, que hay que transmitir por cada carácter.

Es un procedimiento que permite el uso de equipamiento más

económico y de tecnología menos sofisticada.

Se adecua más fácilmente en aplicaciones, donde el flujo

transmitido es más irregular.

Son especialmente aptos, cuando no se necesitan lograr altas

velocidades.

Acceso Directo a Memoria (DMA)

El acceso directo a memoria (DMA, del inglés direct memory

access) permite a cierto tipo de componentes de una computadora

acceder a la memoria del sistema para leer o escribir

independientemente de la unidad central de procesamiento (CPU).

Muchos sistemas hardware utilizan DMA, incluyendo controladores de

Page 17: Arquitectura de la programación

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.

Una transferencia DMA consiste principalmente en copiar un

bloque de memoria de un dispositivo a otro. En lugar de que la CPU

inicie la transferencia, la transferencia se lleva a cabo por el controlador

DMA. Un ejemplo típico es mover un bloque de memoria desde una

memoria externa a una interna más rápida. Tal operación no ocupa al

procesador y, por ende, éste puede efectuar otras tareas. Las

transferencias DMA son esenciales para aumentar el rendimiento de

aplicaciones que requieran muchos recursos.

SECUENCIA DE EVENTOS

Una operación de E/S por DMA se establece ejecutando una corta

rutina de inicialización. Consiste en varias instrucciones de salida para

asignar valores iniciales a:

AR: Dirección de memoria de la región de datos de E/S IOBUF

(buffer de entrada/salida).

WC: Número N de palabras de datos a transferir.

Una vez inicializado, el DMA procede a transferir datos entre IOBUF

y el dispositivo de E/S. Se realiza una transferencia cuando el dispositivo

de E/S solicite una operación de DMA a través de la línea de petición del

DMAC.}

Después de cada transferencia, se decremento el valor de WC y se

incrementa el de AR.

Page 18: Arquitectura de la programación

La operación termina cuando WC=0, entonces el DMAC (o el

periférico) indica la conclusión de la operación enviando al procesador

una petición de interrupción.

SECUENCIA DE EVENTOS DETALLADA

El procesador inicializa el DMAC programando AR y WC.

El dispositivo de E/S realiza una petición de DMA al DMAC.

El DMAC le responde con una señal de aceptación.

El DMAC activa la línea de petición de DMA al procesador.

Al final del ciclo del bus en curso, el procesador pone las líneas del

bus del sistema en alta impedancia y activa la cesión de DMA.

El DMAC asume el control del bus.

El dispositivo de E/S transmite una nueva palabra de datos al

registro intermedio de datos del DMAC.

El DMAC ejecuta un ciclo de escritura en memoria para transferir el

contenido del registro intermedio a la posición M [AR].

El DMAC decremento WC e incrementa AR.

El DMAC libera el bus y desactiva la línea de petición de DMA.

El DMAC compara WC con 0:

Si WC > 0, se repite desde el paso 2.

Si WC = 0, el DMAC se detiene y envía una petición de

interrupción al procesador.

MOTOR DE ACCESO DIRECTO A MEMORIA:

Page 19: Arquitectura de la programación

Además de la interacción de hardware, el acceso directo a

memoria puede ser utilizado para descargar costosas operaciones de

memoria, tales como copias de gran tamaño u operaciones de

dispersión-reunión, desde la CPU a un motor de acceso directo a

memoria dedicada. Intel incluye estos motores en los servidores de

gama alta, llamado I/O Acceleration Technology (IOAT).

TRANSFERENCIAS:

Durante las operaciones del DMA, el rendimiento del sistema

puede verse afectado debido a que este dispositivo hace un uso

intensivo del bus y por lo tanto la CPU no puede leer datos de memoria,

por ejemplo para leer la siguiente instrucción a ejecutar. Esto provoca

que mientras el DMA está operando, la CPU deba esperar a que finalice

dicha tarea sin ejecutar ninguna instrucción. Para solventar esto, existe

una memoria cache dentro de la CPU que permite a ésta seguir

trabajando mientras el DMA mantiene ocupado el bus.

En computadores que no disponen de memoria cache, el DMA

debe realizar su tarea evitando ocupar el bus de datos mientras la CPU

realiza la fase de captación de la instrucción. A partir de estas dos

posibilidades, existen dos tipos de transferencias de datos del DMA:

TRANSFERENCIAS MODO RÁFAGA: una vez que la CPU concede el

bus al DMA, este no lo libera hasta que finaliza su tarea completamente.

Este tipo de transferencia se usa en sistemas que disponen de una

memoria cache en la unidad de procesamiento, ya que mientras la CPU

puede seguir trabajando utilizando la cache.

TRANSFERENCIAS MODO ROBO DE CICLO: una vez que la CPU

concede el bus al DMA, este lo vuelve a liberar al finalizar de transferir

cada palabra. Teniendo que solicitar de nuevo el permiso de uso del bus

a la CPU. Esta operación se repite hasta que el DMA finaliza la tarea.

Page 20: Arquitectura de la programación

Este tipo de transferencia se suele usar en sistema que no disponen de

memoria cache en la unidad de procesamiento, ya que de este modo,

aunque la transferencia de datos tarda más en realizarse, la CPU puede

seguir ejecutando instrucciones.

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.).

Page 21: Arquitectura de la programación

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. EI 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

Nr1i.

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

Page 22: Arquitectura de la programación

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 (JSR, 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 de chipset y permite hasta 24 interrupciones.

Procesador de Entrada y Salida

En las entradas y salidas que se ejecutan desde el procesador

entran tres conceptos que se deben conocer.

● El DMA

Page 23: Arquitectura de la programación

● Los Canales

● 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.

La UCP es todavía la responsable de iniciar la transferencia de cada

bloque. A partir de este punto el controlador de E/S realiza toda la

operación sin que la UCP tenga que ejecutar ningún otro programa. La

UCP y el controlador de E/S interaccionan sólo cuando la UCP debe dar el

control del bus del sistema al controlador de E/S, como respuesta a una

petición de este último. Este tipo de capacidad es lo que se conoce como

Acceso Directo a Memoria (DMA).

La mayoría de los computadores de hoy día tienen la posibilidad

de interrupción y de DMA. Un controlador de DMA posee un control

parcial de la operación de E/S.

CANALES

El canal de E/S es una extensión del concepto de DMA. Un canal de

E/S tiene la capacidad de ejecutar instrucciones de E/S, lo que da un

control total sobre las operaciones de E/S.

Page 24: Arquitectura de la programación

Las instrucciones de E/S se almacenan en la memoria principal y

serán ejecutadas por un procesador de propósito específico en el mismo

canal de E/S.

Hay dos tipos comunes de canales de E/S, como se ilustra en la

figura:

Page 25: Arquitectura de la programación

Procesador Para Comunicación de Datos

El Hardware de comunicación de datos se usa para transmitir

datos entre terminales (incluyendo la PC que emulan terminales) y

computadoras, así como entre computadoras. Estos componentes

fundamentales del hardware incluyen el Módem, fax modem, el

procesador terminal y el procesador frontal.

Si dispone de una computadora, está en posibilidad de establecer

un medio de comunicación entre su PC (computadora) y cualquier otro

sistema de cómputo remoto del mundo. Sin embargo, para hacerlo,

debe disponer de acceso a una línea telefónica y tener su computadora

equipada con un módem.

Las líneas telefónicas se diseñaron para la comunicación oral, no

para la comunicación de datos. El Módem (modulator - demodulator;

modulador - desmodulador) convierte las señales eléctricas digitales de

una computadora a otra computadora y de una en señales análogas de

manera que sea posible transmitir datos por medio de líneas telefónicas.

Las señales eléctricas digitales se modulan para crear sonidos

similares a los que se escucha en un teléfono de marcación por tonos.

Cuando las señales análogas llegan a su destino, estas se desmodulan

por medio de otro Módem en señales eléctricas compatibles con la

computadora para su procesamiento. El procedimiento se revierte en el

caso de la comunicación de una computadora a una terminal o de una

computadora a un micro. Siempre se necesita un Módem para conectar

una computadora vía línea telefónica. El proceso de modulación-

desmodulación no es necesario cuando un micro o una terminal están

Page 26: Arquitectura de la programación

conectados directamente a una red a través de un medio de transmisión

como el cable UTP.

El Módem es un dispositivo de hardware esencial para cualquier

aplicación que implique el uso de una línea de teléfono para la

comunicación de datos. Muchos propietarios de PC usan sus Módem

para aprovechar los servicios de las redes de información comercial

(CompuServe, Genie, Prodigy, Internet. Etc.). Estas compañías ofrecen

una amplia gama de servicios, como transmisión de eventos deportivos

o en vivo, sistemas de compras desde el hogar, información financiera,

actividades de entretenimiento, y mucho más.

Procesador frontal

La terminal o PC que envía un mensaje es la fuente y la terminal o

PC que lo recibe es el destino. El procesador frontal establece la

conexión entra la fuente y el destino en el proceso llamado saludo.

Características de este hardware:

Page 27: Arquitectura de la programación

1- Nos ayudan a mantener una conexión estable.

2- Sin estos no podíamos utilizar la red.

3- Son de mucha ayuda en los trabajos y empresas.

6.- Introducción al Hardware de una Computadora.

Hardware corresponde a todas las partes físicas y tangibles de una

computadora, sus componentes eléctricos, electrónicos,

electromecánicos y mecánicos. El término proviene del inglés y es

definido por la RAE como el "Conjunto de los componentes que integran

la parte material de una computadora". Sin embargo, el término, aunque

es lo más común, no necesariamente se aplica a una computadora tal

como se la conoce, así por ejemplo, un robot también posee hardware (y

software).

En informática también se aplica a los periféricos de una

computadora tales como el disco duro, CD-ROM, disquetera, etc. En

dicho conjunto que compone el hardware se incluyen los dispositivos

electrónicos y electromecánicos, circuitos, cables o cajas, periféricos de

todo tipo y cualquier otro elemento físico involucrado.

El hardware se refiere a todos los componentes físicos (que se

pueden tocar), que en el caso de una computadora personal serían:

Unidades de disco, monitor, teclado, placa base, el microprocesador,

gabinete, memorias, etc.

Page 28: Arquitectura de la programación

Arquitectura del Procesador.

Un procesador, en su interior, no es más que un conjunto de

bloques interconectados entre sí. Cada uno de estos realiza una función.

El diseño de esos elementos y como se interconectan es lo que se llama

arquitectura.

Para funcionar, una computadora lee instrucciones y datos. La

velocidad a la que lee datos y realiza cálculos, viene determinada por la

famosa frecuencia de funcionamiento que puedes ver en cualquier

folleto de un micro.

Para entenderlo, hay que revisar un poco la historia. Cuando se

crearon los primeros microprocesadores, estos sólo eran capaces de

realizar una operación en cada ciclo de reloj. Sin embargo, gracias a

cambios arquitectónicos, cualquier procesador actual es capaz de

procesar varias instrucciones al mismo tiempo. Por supuesto, cada

arquitectura, será más eficiente al ejecutar unas u otras operaciones.

Aparte de eso, cuando se cambia la arquitectura, se pueden añadir

más bloques que ejecuten nuevas instrucciones. Es lo que ocurre con los

conjuntos de instrucciones SSE y AVX. Estas, permiten acelerar ciertos

cálculos asociados a programas matemáticos, científicos, financieros y

de seguridad. Al implementar estos bloques, se consigue aumentar la

velocidad de ejecución de forma radical, pero se necesita que los

desarrolladores de software vuelvan a crear los programas de nuevo.

A veces se va más allá de añadir unas cuantas instrucciones. La

capacidad de integración mejora a pasos agigantados. Cada 18 meses,

más o menos, estos avances permiten añadir el doble de transistores en

la misma área. Esto significa que en unos tres años se puede crear un

microprocesador que ocupe la cuarta parte de espacio.

Page 29: Arquitectura de la programación

El problema surge entonces a la hora de rellenar ese espacio. La

primera opción que se tomo fue la más lógica. Se añaden más núcleos,

que no es más que replicar procesadores e interconectarlos entre sí.

Tras esto, se tiende a integrar cada vez más elementos dentro de la

CPU. Digamos que los elementos pasan de la placa base poco a poco al

micro. Se van integrando por ejemplo, el controlador de memoria, o

la tarjeta gráfica.

Los fabricantes, teniendo en cuenta esto, añaden sistemas a los

procesadores para acelerar su funcionamiento siempre y cuando

estemos dentro de unos límites físicos aceptables. Ejemplos de

tecnologías que realizan esto son los famosos Turbo Core de

AMDy Turbo Boost de Intel. El procesador puede funcionar más lento en

caso de que el sistema no necesite tanta velocidad de ejecución.

Por supuesto, la arquitectura también define como se comporta el

procesador en relación a otros elementos de la placa base. Por ejemplo

la conexión con las memorias o los canales de acceso a las tarjetas

gráficas.

En definitiva, la arquitectura es junto a la tecnología de fabricación

lo que define las características y las posibles prestaciones de un

microprocesador. Como ves, todo esto hace que sea cada vez más

complejo la comparación entre los distintos procesadores ya que puede

ser que algunos sean más rápidos que otros en un tipo de aplicaciones y

en otras no.

Espacio de Memoria de y Entrada - Salida.

El espacio de memoria es un componente esencial en

cualquier computadora digital, debido a que es necesita almacenar los

Page 30: Arquitectura de la programación

programas que serán ejecutados por el procesador. Cabe hacer mención

que el espacio de la memoria es limitado por el cual se necesita, una

memoria alterna. Entonces podemos decir que el espacio de la memoria

en una computadora se compondrá de dos tipos que son:

La memoria principal.

La memoria secundaria.

La memoria principal es aquella que comunica directamente con el

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 dirección será de 1

MB.

El tiempo promedio requerido para acceder a una localidad de

almacenamiento en memoria y así poder obtener su contenido es

denominado 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 busque 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.

Modos de Direccionamiento

1. Direccionamientos accesando dato inmediato y registro de datos

(modos inmediato y de registro).

Direccionamiento de registro.

Page 31: Arquitectura de la programación

Especifica el operando fuente y el operando destino. Los registros

deben ser del mismo tamaño. Ej. MOV DX, CX

MOV CL, DL.

Direccionamiento inmediato.

Un dato de 8 o 16 bits se especifica como parte de la instrucción.

p.ej. MOV CL, 03H. Aquí el operando fuente está en modo inmediato y el

destino en modo registro.

2. Direccionamiento accesando datos en memoria (modo memoria)

Direccionamiento directo.

La dirección efectiva (EA) de 16 bits se toma directamente del

campo de desplazamiento de la instrucción. El desplazamiento se coloca

en la localidad siguiente al código de operación. Esta EA o desplazamiento

es la distancia de la localidad de memoria al valor actual en el segmento

de datos (DS) en el cual el dato está colocado. Ej. MOV CX, START. START

puede definirse como una localidad de memoria usando las pseudo

instrucciones DB o DW.

Direccionamiento de registro indirecto.

La dirección efectiva EA está especificada en un registro apuntador

o un registro índice. El apuntador puede ser el registro base BX o el

apuntador base BP; el registro índice puede ser el Índice Fuente (SI) o el

Índice Destino (DI).

Ej. MOV (DI), BX.

Direccionamiento base

EA se obtiene sumando un desplazamiento (8 bits con signo o 16

bits sin signo) a los contenidos de BX o BP. Los segmentos usados son DS

y SS. Cuando la memoria es accesada, la dirección física de 20 bits es

Page 32: Arquitectura de la programación

calculada de BX y DS, por otra parte, cuando la pila es Accesada, la

dirección es calculada de BP y SS.

Ej. MOV AL, START (BX). El operando fuente está en modo base, y la

EA se obtiene sumando los valores de START y BX.

Direccionamiento indexado.

EA se calcula sumando un desplazamiento (8 o 16 bits) a los

contenidos de SI o DI. Ej. MOV BH, START (SI).

Direccionamiento base indexado.

EA se calcula sumando un registro base (BX o BP), un registro índice

(DI o SI), y un desplazamiento (8 o 16 bits).

Ej. MOV ALPHA (SI) (BX), CL.

Este direccionamiento proporciona una forma conveniente para

direccionar un arreglo localizado en la pila.

Direccionamiento cadena.

Este modo usa registros índice. La cadena de instrucciones

automáticamente asume que SI apunta al primer byte o palabra del

operando destino. Los contenidos de SI y DI son incrementados

automáticamente (poniendo a 0 DF mediante la instrucción CLD) o

decrementados (poniendo a 1 DF mediante la instrucción STD) para

apuntar al siguiente byte o palabra. El segmento del operando fuente es

DS y puede ser encimado.

El segmento del operando destino debe ser ES y no puede ser

encimado. Ej. MOVS BYTE.

Page 33: Arquitectura de la programación

3. Direccionamiento accesando puertos E/S. (modo E/S)       

Hay dos tipos de direccionamiento usando puertos: directo e

indirecto.

En el modo directo, el número de puerto es el operando inmediato

de 8 bits, lo cual permite accesar puertos numerados del 0 al 255. Ej. OUT

05H, AL.

En el modo indirecto, el número de puerto se toma de DX,

permitiendo así 64K puertos de 8 bits o 32K puertos de 16 bits.

Las transferencias E/S de 8 y 16 bits deben hacerse vía AX y AL,

respectivamente.

 

4. Direccionamiento relativo

En este modo el operando se especifica como un desplazamiento de

8 bits con signo, relativo al PC.  Ej. JNC START. Si C=0, entonces el PC se

carga con PC+el valor de START.

5. 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. Un modo de direccionamiento especifica la forma de

calcular la dirección de memoria efectiva de un operando mediante el

uso de la información contenida en registros y / o constantes, contenida

dentro de una instrucción de la máquina o en otra parte.

6. Los ordenadores utilizan técnicas de direccionamiento con los

siguientes fines: 1 – Dar versatilidad de programación al usuario,

proporcionando facilidades tales como índices, direccionamientos

indirectos, etc., esta versatilidad sirve para manejar estructuras de

Page 34: Arquitectura de la programación

datos complejas como vectores, matrices, etc.2 – Reducir el número de

bits del campo de operando. Es tal la importancia de los modos de

direccionamiento que la potencia de una maquina se mide tanto por su

repertorio de instrucciones como por la variedad de modos de

direccionamiento que es capaz de admitir.

7. Implícito: En este modo de direccionamiento no es necesario

poner ninguna dirección de forma explícita, ya que en el propio código

de operación reconoce la dirección del (de los) operando(s) al (a los) que

se desea acceder con el (los) que se quiere operar. Un ejemplo de este

tipo de direccionamiento lo podemos encontrar en la arquitectura de

acumulador (AC) donde siempre hay un parámetro implícito y este es el

AC.Finalizando y dejando este modo de direccionamiento generalizado

para las arquitecturas más usuales, se remarca que también se puede

encontraren la arquitectura con registros de propósito general, por

ejemplo con órdenes como set c, que pone a 1 el registro c (acarreo).

8. Inmediato: En la instrucción está incluido directamente el

operando. En este modo el operando es especificado en la instrucción

misma. En otras palabras, una instrucción de modo inmediato tiene un

campo de operando en vez de un campo de dirección. El campo del

operando contiene el operando actual que se debe utilizaren conjunto

con la operación especificada en la instrucción. Las instrucciones de

modo inmediato son útiles para inicializar los registros en un valor

constante. Cuando el campo de dirección especifica un registro del

procesador, la instrucción se dice que está en el modo de registro.

9. Inmediato: Fig. 1. Funcionamiento del Método de

Direccionamiento Inmediato Ejemplo 1: MOV A, #17H

10. Directo: El campo de operando en la instrucción contiene la

dirección en memoria donde se encuentra el operando. En este modo la

dirección efectiva es igual a la parte de dirección de la instrucción. El

operando reside en la memoria y su dirección es dada directamente por

Page 35: Arquitectura de la programación

el campo de dirección de la instrucción. En una instrucción de tipo

ramificación el campo de dirección especifica la dirección de la rama

actual. Con este tipo de direccionamiento, la dirección efectiva es

contenida en la misma instrucción, tal como los valores de datos

inmediatos que son contenidos en la instrucción. Un procesador de 16

bits suma la dirección efectiva al contenido del segmento de datos

previamente desplazado en 4bits para producir la dirección física del

operando.

11. Directo: Fig. 2. Funcionamiento del Método de

Direccionamiento Directo Ejemplo: MOV A, 17H

12. Indirecto: El campo de operando contiene una dirección de

memoria, en la que se encuentra la dirección efectiva del operando.

Page 36: Arquitectura de la programación

6.4 Operaciones del Bus

En un sistema de cómputo, los diversos subsistemas deben tener

conexión entre sí; 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, EI 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 afiliar

fácilmente nuevos dispositivos y los periféricos pueden incluso

compartirse entre subsistemas de computadoras que utilicen un bus

común. EI costo sería 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 sí;

segundo, en sistemas más complejos se pueden tener dos o más 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.

Page 37: Arquitectura de la programación

Método de Comunicación con Bus Compartido

Desglosando en mayor detalle, tenemos que el método de

comunicación con bus compartido se puede representar más a detalle.

Típico bus estándar en un sistema de cómputo. Un bus de

comunicación entre los componentes de un sistema de cómputo, consta

de tres secciones principales que son: el bus de direcciones, el de datos

y el de control.

La serie de microprocesadores del 8080 al 80486 nos muestran un

ejemplo de la estructura del bus para memoria y EIS, se muestra en

forma esquemática presenta con el número de líneas requeridas por

cada sección del bus.

Page 38: Arquitectura de la programación

Estructura de las selecciones de memoria y E/S en el bus principal.

La implementación física de Ia interfase que controla los

dispositivos periféricos de EIS, que muestra como Ia tarjeta de interfase

de dispositivos de EIS se conecta al bus principal dei tablero principal.

6.5.- Instrucciones Básicas del Procesador.

Page 39: Arquitectura de la programación

Cualquier aplicación o programa que tengas en tu PC estará

formada por instrucciones y datos. Como datos se entiende todo aquello

sobre lo que vamos a trabajar o reproducir. Por ejemplo, una foto, un

video musical, una canción. Las instrucciones serán las encargadas de

decirle al procesador que hacer con esos datos, a veces los

transformaran, otras se encargara de enviarlo a la tarjeta gráfica o a la

de sonido.

El conjunto de instrucciones que un procesador soporta definirá

que aplicaciones entiende y por tanto cuales puede llegar a ejecutar. No

es igual por tanto el que te puedes encontrar en tu PC de sobremesa y el

que encuentras en un Smartphone.

Siempre ten en cuenta que cuando un nuevo conjunto de

instrucciones aparece tenemos que esperar a que sea implementado en

los nuevos programas y a veces que el sistema operativo los soporte. Es

decir, la mejora prometida, puede tardar años en verse.

Debido a que se producen continuos cambios en las tecnologías de

fabricación de los micros cada vez es más sencillo para los fabricantes

cambiar la arquitectura de estos para que sean capaces de soportar un

mayor número de ellas. Es una de las razones, la otra es la seguridad,

por la cual debes de tener siempre tu sistema operativo y tus programas

actualizados.

Las que podemos encontrar en la PC.

X86. 

Page 40: Arquitectura de la programación

Es la mínima necesaria para ser capaz de ejecutar el sistema

operativo Windows. En concreto estas instrucciones trabajan con datos

de 32 bits. También es conocido como IA-32.

X64.

Es una extensión de la anterior para permitir trabajar con datos de

64 bits. También conocida por sus variantes AMD64, Intel 64, IA-64.

MMX. 

Las aplicaciones multimedia necesitan instrucciones que sean

capaces de procesar muchos datos al mismo tiempo. Por ejemplo

puedes sumar 8 números enteros de 8 bits con una sola instrucción.

3d Now. 

Es la respuesta de AMD a las MMX de Intel. Esta más avanzada

que la anterior. Su objetivo es acelerar las aplicaciones que trabajan con

sonido, video, etc.

SSE. 

Este conjunto y todos los que vienen después, SSE2, SSE3, SSE4,

SSE4a vienen a añadir más posibilidades de aceleración a las

aplicaciones multimedia. Están basadas en la experiencia dada por los

creadores de esas aplicaciones que conocen aquellas instrucciones que

más se usan.

AVX. 

Los registros son tan grandes que se trabaja con vectores en vez

de con datos individuales. Estamos hablando de 256 bits. La nueva

versión AVX2 la implementan los procesadores Bulldozer y Hasswell.

AES. 

Este conjunto de instrucciones permite trabajar a tu procesador

con aplicaciones criptográficas. Estas son utilizadas para que los datos y

tu equipo estén más seguros que nunca.

Page 41: Arquitectura de la programación

TSX. 

Creadas por Intel permiten gestionar de forma más eficiente los

recursos compartidos entre los distintos procesos que tienes a la vez

funcionando en un PC. Están pensadas para sacar el mayor provecho

posible al incremento en el número de núcleos que encuentras en el

procesador.

Otros tipos de instrucciones

Quizás la más popular en la actualidad es el conjunto de

instrucciones ARM en sus distintas versiones debido a que están

implementadas en gran cantidad de Smartphone.

7.- Dispositivos de entrada y salida y su programación.

La entrada de datos consiste en colocar en la memoria principal

datos provenientes desde algún dispositivo de entrada (teclado, disco,

Page 42: Arquitectura de la programación

etc.) para que la computadora, de acuerdo a un programa, realice una

tarea.

La salida de datos consiste en enviar datos (que, generalmente,

son el resultado de un procesamiento) desde la memoria principal hacia

un dispositivo de salida (pantalla, impresora, disco, etc.).

La siguiente figura muestra un esquema conceptual del equipo de

cómputo.

Esquema conceptual del equipo de cómputo:

La consola

En los albores de la computación, el teclado y la pantalla formaban

la consola.

En la actualidad, a la combinación de teclado y pantalla se les

sigue considerando como a la antigua consola.

En C#, la entrada y la salida de datos se pueden manejar a través

de los métodos de la clase Console.

Entrada de datos desde el teclado

Para la entrada de datos por medio del teclado se pueden utilizar

los métodos Read ( ) y ReadLine ( ) de la clase Console.

Ejemplos:

System.Console.Read ( ); // Lee el siguiente carácter desde el flujo

de la entrada estándar.

Page 43: Arquitectura de la programación

System.Console.ReadLine ( ); // Lee la siguiente línea de caracteres

desde el flujo de la entrada estándar.

Salida de datos hacia la pantalla

La salida de datos hacia la pantalla se puede realizar utilizando los

métodos Write y WriteLine ( ) de la clase Console.

Ejemplos:

System.Console.Write ( ); // Escribe el siguiente carácter en el flujo

de la salida estándar (la pantalla).

System.Console.WriteLine ( ); // Escribe la siguiente línea de

caracteres en el flujo de la salida estándar.

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 tornar 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 EJS en los que estén implicados

movimientos mecánicos operan a unas velocidades muchos menores. Si

se interconectan a un mismo microprocesador varios dispositivos de EIS,

deben preverse medios para seleccionar sólo un dispositivo en el

Page 44: Arquitectura de la programación

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

EIS 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 EIS 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 EIS 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 Es. La selección de dispositivo también implica el

intercambio de señales de control. La selección de un dispositivo de Es

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

Page 45: Arquitectura de la programación

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 EIS. Las operaciones de EIS pueden también

ser iniciadas por un dispositivo de EIS, por ejemplo, transmitiendo a la

CPU una señal de petición de interrupción.

7.2.- Dispositivos Estándar de Salida

DISPOSITIVOS DE SALIDA Son los dispositivos que reciben

información que es procesada por la CPU y la reproducen para que sea

perceptible para la persona.

Tipos de dispositivos de salida

Monitor Altavoz

Auriculares Impresora

Plotter Proyector

Monitor: Es un periférico de salida que muestra la información de

forma gráfica de una computadora. Los monitores se conectan a la

computadora a través de una tarjeta gráfica.

Altavoz: El altavoz es un dispositivo utilizado para reproducir

sonido desde un dispositivo electrónico. También es llamado

altoparlante, bocina, speaker, loudspeaker.Los altavoces convierten las

ondas eléctricas en energía mecánica y esta se convierte en energía

acústica.

Page 46: Arquitectura de la programación

Auriculares: Son transductores que reciben una señal eléctrica de

un tocador de medios de comunicación o el receptor y usan altavoces

colocados en la proximidad cercana los oídos para convertir la señal en

ondas sonoras audibles.

Impresora: Es un dispositivo periférico de ordenador que permite

producir una gama permanente de textos o gráficos de documentos

almacenados en formato electrónico, imprimiéndolos en medios físicos,

normalmente en papel o transparencias, utilizando cartuchos de tinta o

tecnología láser.

Plotter: Un plotter es un dispositivo de impresión para gráficos

vectoriales o dibujos lineales. Suele utilizarse en la ingeniería, el diseño

y la arquitectura. Existen plotters que permiten impresiones de gran

tamaño.

Proyector: Un proyector es un dispositivo que dispara un haz de

luz sobre una pantalla o superficie formando una imagen, este

dispositivo puede conectarse a un televisor, video, computadora, entre

otros.

7.3.- Otros Dispositivos E/S

Son aquellos que tienen doble función de ingresar y sacar la

información del computador:

Page 47: Arquitectura de la programación

. La Lectora de CD/DVD.

. La Disquetera.

. Los Puertos USB.

. FAX/Modem.

Lectora de CD/DVD: Una unidad lectora de CD/DVD permite leer el

contenido del disco óptico insertado en ella. Para leer el contenido

almacenado utiliza un láser especial, o sea, luz, por lo tanto no toca en

ningún momento la superficie del disco de forma física (a diferencia de

los casetes de audio o los discos de vinilo). Esto significa que la lectura

de un disco óptico no alterna de ninguna manera su superficie.

La Disquetera: El disquete es un disco removible magnético

utilizado para almacenar datos.

El primer disquete llegó al mercado en 1971 de la mano de IBM y

tenía un considerable tamaño de 8". Debido a su flexibilidad fueron

conocidos como “Floppy”. A pesar de su tamaño solamente podían

almacenar 100 Kb de datos.

A este le siguió el disco de 5¼. La primera versión de éste llegó en

Diciembre de 1976 aumentando la capacidad de los discos hasta los 110

Kb. Su precio era de unos 300 euros por unidad. Este tipo de discos

evolucionó con el tiempo aumentando su capacidad, desde los 160 Kb

hasta los 1,2 Mb.

Puerto USB: Significa ("Universal Serial Bus") o su traducción al

español es línea serial universal de transporte de datos. Es básicamente

un conector rectangular de 4 terminales que permite la transmisión de

datos entre una gran gama de dispositivos externos (periféricos) con la

computadora; por ello es considerado puerto; mientras que la definición

Page 48: Arquitectura de la programación

de la Real Academia Española de la lengua es "toma de conexión

universal de uso frecuente en las computadoras".

+ La versión USB 1.0 Aparece en el mercado, junto con el

lanzamiento del microprocesador Intel® Pentium II en 1997.

+ Cada puerto, permite conectar hasta 127 dispositivos

externos, pero solo se recomiendan como máximo 8, porque se satura la

línea del puerto y se ralentiza el sistema al tener que administrarse

todos simultáneamente.

+ Cuenta con tecnología "Plug&Play" la cual permite conectar,

desconectar y reconocer dispositivos sin necesidad de reiniciar o apagar

la computadora.

+ Las versiones USB 1.X y USB 2.0 transmiten en un medio

unidireccional los datos, esto es solamente se envía o recibe datos en un

sentido a la vez, mientras que la versión USB 3 cuenta con un medio

Duplex que permite enviar y recibir datos de manera simultánea.

+ A pesar de que el puerto USB 3, está actualmente integrado ya

en algunas placas de nueva generación, aún no hay dispositivos

comerciales/populares para esta tecnología.

FAX/MODEM: Módem proviene de ("MODulator/DE-Motulator") o

modulador/desmodulador. Es una tarjeta para expansión de capacidades

que permite convertir la señal analógica de la red telefónica en digital

de la computadora y viceversa, y así poder acceder a servicios tales

como el acceso a Internet (red mundial de redes) y él envió de fax por

medio de una aplicación especial para ello. La tarjeta fax-módem se

inserta dentro de las ranuras de expansión o "Slots" integradas en la

tarjeta principal ("Motherboard") y se atornilla al gabinete para evitar

Page 49: Arquitectura de la programación

movimientos y por ende fallas. Todas las tarjetas fax-módem integran

dos puertos para conectar el cable telefónico, uno para señal de entrada

y otro para señal de salida. Otras funciones del fax-módem son de la

compresión de datos para evitar el manejo de largas cadenas de datos,

así como la corrección de errores provenientes de la línea telefónica

debido a la variación de voltajes.

Mientras que una tarjeta de interfaz de voz permite concentrar

varias líneas telefónicas para un alto tráfico de llamadas, por medio de

puertos RJ-11 o RJ45 y un enlace proporcionado por un proveedor de

telefonía.

7.4.- Periféricos

Se denominan periféricos a los dispositivos a través de los cuales

el ordenador se comunica con el mundo exterior, en este punto

veremos:

- Cuales son los principales periféricos y como los podemos

clasificar.

- Para qué sirve cada uno de ellos.

- En que nos tenemos que fijar a la hora de comprar un modelo u

otro.

Podremos clasificar los periféricos en grupos:

- PERIFÉRICOS DE ENTRADA: Nos van a servir para introducir

información en el ordenador, por ejemplo, el teclado, el Scanner,....

- PERIFÉRICOS DE SALIDA: Los utilizamos para observar los

resultados obtenidos en el ordenador, pertenecen por lo tanto a este

grupo, el monitor, altavoces,...

Page 50: Arquitectura de la programación

- PERIFÉRICOS DE ENTRADA/SALIDA: Sirven para las dos cosas al

mismo tiempo, por ejemplo, a través de la impresora podemos obtener

resultados obtenidos por el ordenador en papel (periférico de salida),

pero además la impresora puede mandar información al ordenador

cuando por ejemplo, no tiene papel o está atascada (periférico de

salida).

A continuación, vemos algunos de los periféricos más utilizados:

DE

ENTRADA

- Teclado: Gracias a este dispositivo podemos enviar al ordenador instrucciones en forma de texto, símbolos o datos numéricos.

- Ratón: Con él podemos guiar el puntero a través de la pantalla, con el fin de seleccionar objetos, abrir archivos, desplegar menús, elegir opciones,...

- Scanner: Con este dispositivos introducimos imágenes y textos dentro del ordenador, cuando compres un escáner debes tener en cuenta su resolución y la velocidad entre otras cosas.

Para completar la información pincha en

el siguiente enlace:     

- Micrófono: Nos permite introducir sonidos en el ordenador

- WebCam: Permite introducir imágenes en movimiento en el ordenador, con ellas, podemos estableces videoconferencias, o realizar grabaciones que podemos editar en CD o subirlas a algún servidor de internet como por ejemplo YouTube.

Page 51: Arquitectura de la programación

DE

SALIDA 

- Monitor: Vemos en la pantalla tanto lo que nosotros hacemos en cada momento, como los resultados obtenidos por el ordenador. Al comprarlo debemos tener en cuenta:

- El nº de pulgadas: La longitud de la diagonal.- La resolución máxima: Cuanto mayor sea su valor,

mayor nitidez podremos obtener.- El tiempo de respuesta (en los TFT) o frecuencia de

barrido (en los CTR): Si sus valores son bajos podemos ver como la pantalla "parpadea" lo cual cansa a la vista.

Para completar la información pincha en el siguiente

enlace:    

CTR: TFT:

- Altavoz: A través de ellos podemos escuchar sonidos que tengamos guardados en el ordenador.

DE E/S

- Impresora: A través de ella podemos obtener en papel los textos, gráficos,... A la hora de comprarla debemos tener en cuenta:

- De tinta o láser: Dependerá sobre todo del número de copias que hagamos (si son pocas, la impresora de tinta será más económica)

- La resolución máxima: Cuanta más resolución mejor calidad de impresión.

- La velocidad a la que hace las copias.- En el caso de las impresoras de tinta, es importante el

precio de sus cartuchos (en algunos casos te puedes llegar a plantear si no sale más económico comprar una nueva).

Para completar la información pincha en el siguiente

enlace:     

DE TINTA: LÁSER:

Page 52: Arquitectura de la programación

- Dispositivos de conexión de Internet: Los más habituales son:

- El módem: La señal del ordenador, que es digital, se convierte en analógica a través del módem y se transmite por la línea telefónica. Es la red de menor velocidad y calidad (56 kbits por segundo).

 - El

adaptador de red: Se utiliza cuando la compañía que nos suministra Internet, ya nos proporciona la señal digital

 - El

Módem ADSL: Recibe directa-

mente señales digitales, y además por un cable especial que proporciona lo que llamamos "banda ancha",

 Pincha

para saber más del ADSL

 - Tar

jeta Wireless: Se conectan al ordenador o bien a una ranura PCI o por el puerto USB, y permite obtener una red inalámbrica.

8.- Dispositivos de Almacenamiento y su Programación

Page 53: Arquitectura de la programación

Las unidades de almacenamiento son dispositivos o periféricos del

sistema, que actúan como medio de soporte para la grabación de los

programas de usuario y de los datos que son manejados por las

aplicaciones que se ejecutan en estos sistemas; en otras palabras nos

sirven para guardar la información en nuestro computador.

A veces se dice que una computadora tiene dispositivos de

almacenamiento primarios (o principales) y secundarios (o auxiliares).

Cuando se hace esta distinción, el dispositivo de almacenamiento

primario es la memoria de acceso aleatorio (RAM) de la computadora, un

dispositivo de almacenamiento permanente pero cuyo contenido es

temporal. El almacenamiento secundario incluye los dispositivos de

almacenamiento más permanentes, como unidades de disco y de cinta.

MEDIDAS DE ALMACENAMIENTO DE INFORMACION

*Byte:

Unidad de información que consta de 8 bits; en procesamiento

informático y almacenamiento, el equivalente a un único carácter, como

puede ser una letra, un número o un signo de puntuación.

*Kilobyte (Kb):

Equivale a 1.024 bytes.

*Megabyte (Mb):

Un millón de bytes o 1.048.576 bytes.

*Gigabyte (Gb): Equivale a mil millones de bytes.

En informática, cada letra, número o signo de puntuación ocupa un

byte (8 bits). Por ejemplo, cuando se dice que un archivo de texto ocupa

5.000 bytes estamos afirmando que éste equivale a 5.000 letras o

caracteres. Ya que el byte es una unidad de información muy pequeña,

Page 54: Arquitectura de la programación

se suelen utilizar sus múltiplos: kilobyte (Kb), megabyte (MB), gigabyte

(GB)... Como en informática se utilizan potencias de 2 en vez de

potencias de 10, se da la circunstancia de que cada uno de estos

múltiplos no es 1.000 veces mayor que el anterior, sino 1.024 (210 =

1.024). Por lo que 1 GB = 1.024 MB = 1.048.576 Kb = más de 1.073

millones de bytes.

Unidades de Disco Flexible

El floppy disk (disco flexible), también conocido corno 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

desarrolló por 1811 en 1967 el primer disco de 8” con el propósito de

almacenar micro có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.

Page 55: Arquitectura de la programación

En 1973, en esa misma dimensión se desarrolla un con capacidad

de 256 KB y este fue sede 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 5l/” con la finalidad de desplazar

el de 8” que se volvió un requisito indispensable al aparecería

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 otro

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 incrementó 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 tiempos ya

habían aparecido los discos duros de 10 y 20 1’IB 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 51/4” 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

Page 56: Arquitectura de la programación

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 51/4”y 31/a”.

Un disco flexible es un dispositivo para almacenar información que

será comprimida en una superficie circular flexible y recubierta con un

material magnetizado (óxido de hierro) y el cual será contenido por una

cubierta cuadrada flexible (casos de 8 o 51/4) o rígida (caso de 31h”).

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 número de

pistas puede ser de 40 a 80 y el ancho de la pista es de 0.3 milésimas

de pulgada.

A partir de estos podemos calcular los valores máximos de

almacenamiento, por ejemplo, para el de 51/4’ de alta densidad,

tenemos;

. Capacidad total = (Pistas o cilindros X Sectores X Cabezas) (512

bytes/sector)

. Capacidad = (80X15X2X0.5) = 1200 KB = 1.2 MB

Page 57: Arquitectura de la programación

. Para el caso del disco de 3½” de baja densidad, tenemos;

. Capacidad = (80X9X2X.5) = 720 KB

A diferencia de los discos duros, donde las cabezas flotan a unas

cuantas micras de la superficie (10 micro pulgadas), 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.

Page 58: Arquitectura de la programación

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 tenía 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.

EI 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 IBI’1 305. Este disco duro tenia cincuenta platos (discos

internos) de 24”, con una capacidad de 5 millones de caracteres.

En 1973, lBr’1 introdujo el Winchester 3340 con una capacidad de

3D MB y un tiempo de acceso de 3D milisegundos, la combinación de

ambos valores numéricos propicio el nombre del disco debido a que el

rifle 30-3D 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-5D6, el primer disco de

51/4” con una capacidad de 5 MB.

Page 59: Arquitectura de la programación

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 (óxido de hierro), con lo cual permite que se realicen

cambios en la polarización del material magnético en la superficie de los

platos. Las cabezas de escritura/lectura están hipotéticamente hablando

sobre un amortiguamiento de aire de solo nanómetros 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.

8.3.- Unidades de Almacenamiento Óptico

Page 60: Arquitectura de la programación

Los dispositivos de almacenamiento por medio óptico son los más

utilizados para el almacenamiento de información multimedia, siendo

ampliamente utilizados en el almacenamiento de películas, música, etc.

A pesar de eso también son muy utilizados para el almacenamiento de

información y programas, siendo especialmente utilizados para la

instalación de programas en las computadoras.

Ejemplos de dispositivos de almacenamiento por medio óptico son

los drives de CD-ROM (lectoras de CD), CD-RW (grabadoras de CD), DVD-

ROM (lectoras de DVD), DVD-RW (grabadoras de DVD) y los distintos

combos lectoras y grabadoras de CD y DVD.

La lectura de la información en un medio óptico se da por medio

de un rayo láser de alta precisión, que es proyectado en la superficie del

medio. La superficie del medio es grabada con surcos microscópicos

capaces de desviar el láser en diferentes direcciones, representando así

diferente información, en la forma de dígitos binarios (bits).

La grabación de la información en un medio óptico necesita de un

material especial, cuya superficie está realizada de un material que

puede ser "quemado" por el rayo láser del dispositivo de

almacenamiento, creando así los surcos que representan los dígitos

binarios (bits).

Page 61: Arquitectura de la programación

9.- Sistema Mínimo

Un sistema mínimo es la expresión mínima de circuitería necesaria

para "Hechar a andar" un microcontrolador o microprocesador. En lo

general, el sistema mínimo depende de las características del

microcontrolador, familia lógica, marca, etc...

Para el microcontrolador PIC16F877A, por ejemplo, el sistema

mínimo requerido para hacer funcionar el microcontrolador.

En el caso del diseño propuesto el sistema mínimo no solo cuenta

con botones de entrada, sino también con un monitor binario, con lo cual

tenemos la posibilidad de interactuar con el mundo exterior.

Page 62: Arquitectura de la programación

9.1.- Interconexión

La interconexión constituye una técnica que responde a la

necesidad de hacer interactuar las distintas infraestructuras (redes) con

tecnologías y diseños diferentes, con la finalidad que los usuarios

conectados perciban el servicio como si se tratara de una sola red (1).

La Unión Internacional de Telecomunicaciones (UIT) ha definido a

la interconexión como “los arreglos comerciales y técnicos bajo los

cuales los proveedores de servicios conectan sus equipos, redes y

servicios para permitir a los consumidores acceder a servicios y redes de

otros proveedores de servicios” (2).

Por su parte, la Organización para la Cooperación y el Desarrollo

Económico (OCDE) ha definido interconexión como “la forma por la cual

diferentes redes están conectadas para permitir el tráfico pasar entre

ellas, incluyendo el conducir el tráfico sobre la red de un operador por

cuenta de otro operador o proveedor del servicio.”

De las definiciones citadas podemos afirmar que la interconexión

engloba un proceso que puede ser analizado en dos vertientes

estrechamente relacionadas:

a) Material

b) Acuerdo entre proveedores

La primera de ellas, es decir, la material, se refiere a la necesidad

física de que los equipos, redes y servicios estén diseñados de forma tal,

que permitan que los usuarios de servicios y redes de otro proveedor

puedan ser conectados. La segunda de ellas, se refiere a la necesidad de

que diversos proveedores de servicios que empleen también distintas

Page 63: Arquitectura de la programación

redes, adopten acuerdos entre ellos para permitir que los usuarios de

cada una, tengan acceso a los servicios de la otra.

No obstante lo señalado, podemos afirmar que la interconexión

material o física es la premisa básica para poder hablar de un “acuerdo

o arreglo de interconexión”, pero la posibilidad de interconexión física no

necesariamente significa que un proveedor de servicios podrá

conectarse con la red de otro proveedor, por lo que resultan

indispensables los acuerdos de interconexión.

La importancia de la interconexión radica en que, en materia de

telecomunicaciones, el beneficio para el usuario se verá incrementado

en la medida en que pueda comunicarse con más usuarios,

independientemente de que éstos pertenezcan a su propia red o a la red

de otro proveedor, por lo que, de limitarse por medio de barreras físicas

o de otro tipo, el alcance a usuarios que no formen parte de la misma

red del operador, entonces el beneficio para el usuario se ve disminuido

o limitado.

En el contexto actual, la interconexión puede parecer un concepto

que resulta lógico, al pensar en un mercado en el que existen dos o más

proveedores de servicios de telecomunicaciones; sin embargo, el

término interconexión surge como resultado de un proceso que, desde

hace varios años, se ha dado en mayor o menor medida dependiendo de

las condiciones de distintas regiones o países en el sector

telecomunicaciones, conocido como “liberalización de las

telecomunicaciones”, en el que debido a los avances tecnológicos han

surgido empresas con interés de participar en los mercados de

telecomunicaciones que, originalmente, fueron concebidos como

monopolios naturales.

En un principio, la prestación de los servicios de

telecomunicaciones, principalmente telefonía, surgió en la mayoría de

Page 64: Arquitectura de la programación

los países, bajo la figura de monopolio estatal, debido a que se requería

de grandes inversiones para el despliegue de las redes, de forma que

llegaba a considerarse antieconómico e inclusive irracional la

duplicación de redes o infraestructuras(3) por lo que la conexión entre

redes no representaba ningún problema ya que no existían otros

proveedores que quisieran conectarse a la red principal, ésta última, por

su propia naturaleza, concentraba al total de los usuarios, además de

que utilizar la red principal para enlazar a distintos usuarios,

representaba la forma más barata de comunicar y no se habían

desarrollado plenamente tecnologías que pudieran competir con la red

creada originalmente, comunicando de forma distinta a los usuarios.

El proceso descrito, se vio revertido en la década de los años 80,

gracias a los avances tecnológicos que permitieron el empleo de nuevos

sistemas de redes que facilitaban comunicaciones a larga distancia por

medio del espacio, generando que otros operadores se interesaran en

participar en el sector de las telecomunicaciones, desarrollando sus

propias redes.

En ese orden de ideas, la interconexión asegura que cualquier

comunicación pueda llegar a su destino independientemente de la red

que se utilice, proceso que, de no existir, generaría que los usuarios se

vieran limitados a conectarse únicamente con los usuarios de su misma

red (v.g. a un usuario de Telmex, únicamente se le permitiría

comunicarse con el resto de usuarios de la red de Telmex, pero no con

un usuario de la red de otra empresa) y, en consecuencia, que el

operador con mayor número de usuarios cuente con ventajas respecto a

sus competidores, pero sobre todo, que los usuarios vean limitadas sus

capacidades de comunicación salvo que contrataran servicios con todas

las redes de los operadores disponibles, con el costo que ello implica.

Page 65: Arquitectura de la programación

En suma, la interconexión facilita la posibilidad a usuarios de

servicios de telecomunicaciones de comunicarse con otros usuarios o

acceder a servicios y redes de otros operadores. El concepto de

interconexión ha cobrado mayor relevancia en los últimos años, debido a

que actualmente existe la posibilidad de que, mediante distintas

plataformas de red (como pueden ser las de empresas de TV por cable,

satelital, las telefónicas tanto fijas como móviles, las de servicios de

internet, entre otras) se puedan transportar diversos tipos de servicios,

proceso conocido como “Convergencia” (4).

De tal forma, resulta indispensable que las autoridades

reguladoras del sector garanticen la interconexión de todas las

plataformas de red bajo condiciones competitivas, dado que para

permitir la interconexión, el operador de una red tiene derecho de

cobrar una tarifa al operador que, una vez interconectado, utilice su red

para concluir el envío de información y dicha tarifa se vería reflejada

finalmente en el precio al usuario final, por lo que, en caso de que uno

de los operadores posea una red más amplia, podría fijar tarifas más

altas al operador cuya red no tiene la misma dimensión y que se vería

mayormente beneficiado por la interconexión.

En ese orden de ideas, la intervención de la autoridad reguladora

para impulsar tarifas de interconexión que se ajusten al costo real para

los operadores, en beneficio de los usuarios, es de gran importancia.

En relación con lo señalado, la Ley Federal de Telecomunicaciones

establece lo siguiente:

“Artículo 41. Los concesionarios de redes públicas de

telecomunicaciones deberán adoptar diseños de arquitectura abierta de

red para permitir la interconexión e interoperabilidad de sus redes. A tal

efecto, la Secretaría elaborará y administrará los planes técnicos

fundamentales de numeración, conmutación, señalización, transmisión,

Page 66: Arquitectura de la programación

tarifación y sincronización, entre otros, a los que deberán sujetarse los

concesionarios de redes públicas de telecomunicaciones. Dichos planes

deberán considerar los intereses de los usuarios y de los concesionarios

y tendrán los siguientes objetivos:

I. Permitir un amplio desarrollo de nuevos concesionarios y

servicios de telecomunicaciones;

II. Dar un trato no discriminatorio a los concesionarios, y

III. Fomentar una sana competencia entre concesionarios.”

“Artículo 42. Los concesionarios de redes públicas de

telecomunicaciones deberán interconectar sus redes, y a tal efecto

suscribirán un convenio en un plazo no mayor de 60 días naturales

contados a partir de que alguno de ellos lo solicite. Transcurrido dicho

plazo sin que las partes hayan celebrado el convenio, o antes si así lo

solicitan ambas partes, la Secretaría, dentro de los 60 días naturales

siguientes, resolverá sobre las condiciones que no hayan podido

convenirse.”

De los párrafos en cita, podemos concluir que, como se señaló al

inicio, la interconexión se compone de dos elementos fundamentales, el

material o físico y el acuerdo entre operadores a los que se agregaría,

en última instancia, la intervención por parte de la autoridad.

(1) Dromi, Roberto. Telecomunicaciones. Interconexión y

Convergencia Tecnológica. Ed. Ciudad Argentina – Hispania Libros.

Buenos Aires – Madrid - México. 2008. Pág. 141.

(2) Ídem

(3) Ídem, pág. 133.

Page 67: Arquitectura de la programación

(4) Al respecto, ver apartado de Convergencia en:

http://www.observatel.org/telecomunicaciones/

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.

Page 68: Arquitectura de la programación

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.

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 dé 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.

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.

Page 69: Arquitectura de la programación

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 ejercita rio con la peor intención a fin de

encontrarle fallos.

Por poner un ejemplo duro, probar un programa es equivalente a b

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.

Conclusiones:

Los sistemas actuales son dispositivos que están interconectados de

diferentes maneras que nos pueden proporcionar la programación

estructura para el manejo de dispositivos externos he internos de la

computadora.

La estructura es lo más esencial par ale manojo de la información que

normalmente esta constituida por pulsos eléctricos de componentes

Page 70: Arquitectura de la programación

electrónicos los cuales tienen internamente los protocolos y las

estructuras del flujo de su información.

En resumen lo más importante de los diferentes componentes de la

computadora, realmente están de manera lógica ya que sin ella solo

serian componentes energizados sin coherencia.